Filter TLS support from server
[cascardo/rnetproxy.git] / jabber_server.c
index 9955f09..728aab4 100644 (file)
@@ -50,6 +50,17 @@ static void jabber_server_read (net_hook_t* hook, gchar* buffer, size_t len)
   iks_parse (hook->data, buffer, len, FALSE);
 }
 
+void jabber_server_tls_filter (iks* node)
+{
+  iks* tls;
+  if (g_str_equal (iks_name (node), "stream:features"))
+    {
+      tls = iks_find (node, "starttls");
+      if (tls)
+       iks_hide (tls);
+    }
+}
+
 int jabber_server_parser (gpointer data, int type, iks* node)
 {
   net_hook_t* hook;
@@ -64,6 +75,7 @@ int jabber_server_parser (gpointer data, int type, iks* node)
       iks_delete (node);
       break;
     case IKS_NODE_NORMAL:
+      jabber_server_tls_filter (node);
       buffer = g_string_new (iks_string (iks_stack (node), node));
       gnet_conn_write (hook->peer->conn, buffer->str, buffer->len);
       g_string_free (buffer, TRUE);