From c29ddaa255224a932c438b37899a9203fa41b5f7 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Fri, 20 Oct 2006 15:55:45 +0000 Subject: [PATCH] Filter TLS support from server TLS support from server is not communicated to the client. Then, clients requesting TLS will not try to stablish a chypered connection, which the proxy wouldn't be able to filter. --- jabber_server.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jabber_server.c b/jabber_server.c index 9955f09..728aab4 100644 --- a/jabber_server.c +++ b/jabber_server.c @@ -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); -- 2.20.1