about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-09-21 00:22:03 +0100
committerJames Booth <boothj5@gmail.com>2014-09-21 00:22:03 +0100
commit06856ecea1d4df06549de9a84ea61f800655441b (patch)
tree3f63270b0a7efca870b5f0d7daf20fad27a84718 /src
parentae08e820d9e4c7802211b4a1bfbcc3513949919f (diff)
downloadprofani-tty-06856ecea1d4df06549de9a84ea61f800655441b.tar.gz
Removed _get_caps_key function
Diffstat (limited to 'src')
-rw-r--r--src/muc.h3
-rw-r--r--src/server_events.c9
-rw-r--r--src/server_events.h5
-rw-r--r--src/xmpp/presence.c66
4 files changed, 12 insertions, 71 deletions
diff --git a/src/muc.h b/src/muc.h
index 540740d2..722e4a17 100644
--- a/src/muc.h
+++ b/src/muc.h
@@ -59,8 +59,7 @@ void muc_complete_room_nick_change(const char * const room,
 char * muc_get_old_nick(const char * const room, const char * const new_nick);
 
 gboolean muc_add_to_roster(const char * const room, const char * const nick,
-    const char * const show, const char * const status,
-    const char * const caps_str);
+    const char * const show, const char * const status);
 void muc_remove_from_roster(const char * const room, const char * const nick);
 GList * muc_get_roster(const char * const room);
 Autocomplete muc_get_roster_ac(const char * const room);
diff --git a/src/server_events.c b/src/server_events.c
index 7dc3d850..e79896ca 100644
--- a/src/server_events.c
+++ b/src/server_events.c
@@ -518,9 +518,9 @@ handle_room_roster_complete(const char * const room)
 void
 handle_room_member_presence(const char * const room,
     const char * const nick, const char * const show,
-    const char * const status, const char * const caps_str)
+    const char * const status)
 {
-    gboolean updated = muc_add_to_roster(room, nick, show, status, caps_str);
+    gboolean updated = muc_add_to_roster(room, nick, show, status);
 
     if (updated) {
         char *muc_status_pref = prefs_get_string(PREF_STATUSES_MUC);
@@ -533,10 +533,9 @@ handle_room_member_presence(const char * const room,
 
 void
 handle_room_member_online(const char * const room, const char * const nick,
-    const char * const show, const char * const status,
-    const char * const caps_str)
+    const char * const show, const char * const status)
 {
-    muc_add_to_roster(room, nick, show, status, caps_str);
+    muc_add_to_roster(room, nick, show, status);
 
     char *muc_status_pref = prefs_get_string(PREF_STATUSES_MUC);
     if (g_strcmp0(muc_status_pref, "none") != 0) {
diff --git a/src/server_events.h b/src/server_events.h
index 868f3000..acb8f94c 100644
--- a/src/server_events.h
+++ b/src/server_events.h
@@ -74,10 +74,9 @@ void handle_room_destroy(const char * const room);
 void handle_room_roster_complete(const char * const room);
 void handle_room_member_presence(const char * const room,
     const char * const nick, const char * const show,
-    const char * const status, const char * const caps_str);
+    const char * const status);
 void handle_room_member_online(const char * const room, const char * const nick,
-    const char * const show, const char * const status,
-    const char * const caps_str);
+    const char * const show, const char * const status);
 void handle_room_member_offline(const char * const room, const char * const nick,
     const char * const show, const char * const status);
 void handle_room_member_nick_change(const char * const room,
diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c
index ff5e5982..a4cc549e 100644
--- a/src/xmpp/presence.c
+++ b/src/xmpp/presence.c
@@ -70,9 +70,8 @@ static int _muc_user_handler(xmpp_conn_t * const conn,
 static int _presence_error_handler(xmpp_conn_t * const conn,
     xmpp_stanza_t * const stanza, void * const userdata);
 
-static char* _get_caps_key(xmpp_stanza_t * const stanza);
-static void _send_room_presence(xmpp_conn_t *conn, xmpp_stanza_t *presence);
 void _send_caps_request(char *node, char *caps_key, char *id, char *from);
+static void _send_room_presence(xmpp_conn_t *conn, xmpp_stanza_t *presence);
 
 void
 presence_sub_requests_init(void)
@@ -667,55 +666,6 @@ _send_caps_request(char *node, char *caps_key, char *id, char *from)
         log_debug("No node string, not sending discovery IQ.");
     }
 }
-
-static char *
-_get_caps_key(xmpp_stanza_t * const stanza)
-{
-    char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM);
-    char *hash_type = stanza_caps_get_hash(stanza);
-    char *node = stanza_get_caps_str(stanza);
-    char *caps_key = NULL;
-    char *id = NULL;
-
-    if (node == NULL) {
-        return NULL;
-    }
-
-    // xep-0115
-    if ((hash_type != NULL) && (strcmp(hash_type, "sha-1") == 0)) {
-        log_debug("Hash type %s supported.", hash_type);
-        caps_key = strdup(node);
-        id = create_unique_id("caps");
-
-        _send_caps_request(node, caps_key, id, from);
-        free(id);
-
-    // unsupported hash or legacy capabilities
-    } else {
-        if (hash_type != NULL) {
-            log_debug("Hash type %s unsupported.", hash_type);
-        } else {
-            log_debug("No hash type, using legacy capabilities.");
-        }
-
-        guint from_hash = g_str_hash(from);
-        char from_hash_str[9];
-        g_snprintf(from_hash_str, sizeof(from_hash_str), "%08x", from_hash);
-        caps_key = strdup(from_hash_str);
-        GString *id_str = g_string_new("capsreq_");
-        g_string_append(id_str, from_hash_str);
-        id = id_str->str;
-
-        _send_caps_request(node, caps_key, id, from);
-
-        g_string_free(id_str, TRUE);
-    }
-
-    g_free(node);
-
-    return caps_key;
-}
-
 static int
 _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
     void * const userdata)
@@ -768,11 +718,6 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
         char *type = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_TYPE);
         char *status_str;
 
-        char *caps_key = NULL;
-        if (stanza_contains_caps(stanza)) {
-            caps_key = _get_caps_key(stanza);
-        }
-
         log_debug("Room presence received from %s", from_jid->fulljid);
 
         status_str = stanza_get_status(stanza, NULL);
@@ -792,19 +737,19 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
         } else {
             char *show_str = stanza_get_show(stanza, "online");
             if (!muc_get_roster_received(from_room)) {
-                muc_add_to_roster(from_room, from_nick, show_str, status_str, caps_key);
+                muc_add_to_roster(from_room, from_nick, show_str, status_str);
             } else {
                 char *old_nick = muc_complete_roster_nick_change(from_room, from_nick);
 
                 if (old_nick != NULL) {
-                    muc_add_to_roster(from_room, from_nick, show_str, status_str, caps_key);
+                    muc_add_to_roster(from_room, from_nick, show_str, status_str);
                     handle_room_member_nick_change(from_room, old_nick, from_nick);
                     free(old_nick);
                 } else {
                     if (!muc_nick_in_roster(from_room, from_nick)) {
-                        handle_room_member_online(from_room, from_nick, show_str, status_str, caps_key);
+                        handle_room_member_online(from_room, from_nick, show_str, status_str);
                     } else {
-                        handle_room_member_presence(from_room, from_nick, show_str, status_str, caps_key);
+                        handle_room_member_presence(from_room, from_nick, show_str, status_str);
                     }
                 }
             }
@@ -813,7 +758,6 @@ _muc_user_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
         }
 
         free(status_str);
-        free(caps_key);
     }
 
     jid_destroy(from_jid);