diff options
Diffstat (limited to 'src/xmpp')
39 files changed, 3233 insertions, 3203 deletions
diff --git a/src/xmpp/avatar.c b/src/xmpp/avatar.c index c5b44411..97bd9e67 100644 --- a/src/xmpp/avatar.c +++ b/src/xmpp/avatar.c @@ -50,20 +50,21 @@ #include "config/files.h" #include "config/preferences.h" -typedef struct avatar_metadata { - char *type; - char *id; +typedef struct avatar_metadata +{ + char* type; + char* id; } avatar_metadata; -static GHashTable *looking_for = NULL; // contains nicks/barejids from who we want to get the avatar -static GHashTable *shall_open = NULL; // contains a list of nicks that shall not just downloaded but also opened +static GHashTable* looking_for = NULL; // contains nicks/barejids from who we want to get the avatar +static GHashTable* shall_open = NULL; // contains a list of nicks that shall not just downloaded but also opened -static void _avatar_request_item_by_id(const char *jid, avatar_metadata *data); -static int _avatar_metadata_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const userdata); +static void _avatar_request_item_by_id(const char* jid, avatar_metadata* data); +static int _avatar_metadata_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const userdata); static void -_free_avatar_data(avatar_metadata *data) +_free_avatar_data(avatar_metadata* data) { if (data) { free(data->type); @@ -110,21 +111,21 @@ avatar_get_by_nick(const char* nick, gboolean open) } static int -_avatar_metadata_handler(xmpp_stanza_t *const stanza, void *const userdata) +_avatar_metadata_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); + const char* from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); if (!g_hash_table_contains(looking_for, from)) { return 1; } - xmpp_stanza_t *root = NULL; - xmpp_stanza_t *event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); + xmpp_stanza_t* root = NULL; + xmpp_stanza_t* event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); if (event) { root = event; } - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); if (pubsub) { root = pubsub; } @@ -133,25 +134,25 @@ _avatar_metadata_handler(xmpp_stanza_t *const stanza, void *const userdata) return 1; } - xmpp_stanza_t *items = xmpp_stanza_get_child_by_name(root, "items"); + xmpp_stanza_t* items = xmpp_stanza_get_child_by_name(root, "items"); if (!items) { return 1; } - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(items, "item"); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(items, "item"); if (item) { - xmpp_stanza_t *metadata = xmpp_stanza_get_child_by_name(item, "metadata"); + xmpp_stanza_t* metadata = xmpp_stanza_get_child_by_name(item, "metadata"); if (!metadata) return 1; - xmpp_stanza_t *info = xmpp_stanza_get_child_by_name(metadata, "info"); + xmpp_stanza_t* info = xmpp_stanza_get_child_by_name(metadata, "info"); - const char *id = xmpp_stanza_get_id(info); - const char *type = xmpp_stanza_get_attribute(info, "type"); + const char* id = xmpp_stanza_get_id(info); + const char* type = xmpp_stanza_get_attribute(info, "type"); log_debug("Avatar ID for %s is: %s", from, id); - avatar_metadata *data = malloc(sizeof(avatar_metadata)); + avatar_metadata* data = malloc(sizeof(avatar_metadata)); data->type = strdup(type); data->id = strdup(id); @@ -163,15 +164,15 @@ _avatar_metadata_handler(xmpp_stanza_t *const stanza, void *const userdata) } static void -_avatar_request_item_by_id(const char *jid, avatar_metadata *data) +_avatar_request_item_by_id(const char* jid, avatar_metadata* data) { caps_remove_feature(XMPP_FEATURE_USER_AVATAR_METADATA_NOTIFY); - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *uid = connection_create_stanza_id(); + char* uid = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_avatar_retrieve_data_request(ctx, uid, data->id, jid); + xmpp_stanza_t* iq = stanza_create_avatar_retrieve_data_request(ctx, uid, data->id, jid); iq_id_handler_add(uid, _avatar_request_item_result_handler, (ProfIqFreeCallback)_free_avatar_data, data); free(uid); @@ -181,9 +182,9 @@ _avatar_request_item_by_id(const char *jid, avatar_metadata *data) } static int -_avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const userdata) +_avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from_attr = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); + const char* from_attr = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); if (!from_attr) { return 1; @@ -194,33 +195,33 @@ _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const use } g_hash_table_remove(looking_for, from_attr); - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); if (!pubsub) { return 1; } - xmpp_stanza_t *items = xmpp_stanza_get_child_by_name(pubsub, "items"); + xmpp_stanza_t* items = xmpp_stanza_get_child_by_name(pubsub, "items"); if (!items) { return 1; } - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(items, "item"); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(items, "item"); if (!item) { return 1; } - xmpp_stanza_t *st_data = stanza_get_child_by_name_and_ns(item, "data", STANZA_NS_USER_AVATAR_DATA); + xmpp_stanza_t* st_data = stanza_get_child_by_name_and_ns(item, "data", STANZA_NS_USER_AVATAR_DATA); if (!st_data) { return 1; } - char *buf = xmpp_stanza_get_text(st_data); + char* buf = xmpp_stanza_get_text(st_data); gsize size; - gchar *de = (gchar*)g_base64_decode(buf, &size); + gchar* de = (gchar*)g_base64_decode(buf, &size); free(buf); - char *path = files_get_data_path(""); - GString *filename = g_string_new(path); + char* path = files_get_data_path(""); + GString* filename = g_string_new(path); free(path); g_string_append(filename, "avatars/"); @@ -228,7 +229,7 @@ _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const use errno = 0; int res = g_mkdir_with_parents(filename->str, S_IRWXU); if (res == -1) { - char *errmsg = strerror(errno); + char* errmsg = strerror(errno); if (errmsg) { log_error("Avatar: error creating directory: %s, %s", filename->str, errmsg); } else { @@ -236,10 +237,10 @@ _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const use } } - gchar *from = str_replace(from_attr, "@", "_at_"); + gchar* from = str_replace(from_attr, "@", "_at_"); g_string_append(filename, from); - avatar_metadata *data = (avatar_metadata*)userdata; + avatar_metadata* data = (avatar_metadata*)userdata; // check a few image types ourselves // if none matches we won't add an extension but linux will @@ -255,8 +256,8 @@ _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const use free(from); - GError *err = NULL; - if (g_file_set_contents (filename->str, de, size, &err) == FALSE) { + GError* err = NULL; + if (g_file_set_contents(filename->str, de, size, &err) == FALSE) { log_error("Unable to save picture: %s", err->message); cons_show("Unable to save picture %s", err->message); g_error_free(err); @@ -266,9 +267,9 @@ _avatar_request_item_result_handler(xmpp_stanza_t *const stanza, void *const use // if we shall open it if (g_hash_table_contains(shall_open, from_attr)) { - gchar *argv[] = {prefs_get_string(PREF_AVATAR_CMD), filename->str, NULL}; + gchar* argv[] = { prefs_get_string(PREF_AVATAR_CMD), filename->str, NULL }; if (!call_external(argv, NULL, NULL)) { - cons_show_error("Unable to display avatar: check the logs for more information."); + cons_show_error("Unable to display avatar: check the logs for more information."); } g_hash_table_remove(shall_open, from_attr); } diff --git a/src/xmpp/blocking.c b/src/xmpp/blocking.c index 302471a6..036e2582 100644 --- a/src/xmpp/blocking.c +++ b/src/xmpp/blocking.c @@ -54,11 +54,11 @@ #include "xmpp/stanza.h" #include "xmpp/iq.h" -static int _blocklist_result_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _block_add_result_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _block_remove_result_handler(xmpp_stanza_t *const stanza, void *const userdata); +static int _blocklist_result_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _block_add_result_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _block_remove_result_handler(xmpp_stanza_t* const stanza, void* const userdata); -static GList *blocked; +static GList* blocked; static Autocomplete blocked_ac; void @@ -74,11 +74,11 @@ blocking_request(void) } blocked_ac = autocomplete_new(); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); iq_id_handler_add(id, _blocklist_result_handler, NULL, NULL); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_blocked_list_request(ctx); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_blocked_list_request(ctx); xmpp_stanza_set_id(iq, id); free(id); @@ -93,7 +93,7 @@ blocked_list(void) } char* -blocked_ac_find(const char *const search_str, gboolean previous, void *context) +blocked_ac_find(const char* const search_str, gboolean previous, void* context) { return autocomplete_complete(blocked_ac, search_str, TRUE, previous); } @@ -107,23 +107,23 @@ blocked_ac_reset(void) } gboolean -blocked_add(char *jid) +blocked_add(char* jid) { - GList *found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); + GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (found) { return FALSE; } - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); - xmpp_stanza_t *block = xmpp_stanza_new(ctx); + xmpp_stanza_t* block = xmpp_stanza_new(ctx); xmpp_stanza_set_name(block, STANZA_NAME_BLOCK); xmpp_stanza_set_ns(block, STANZA_NS_BLOCKING); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); @@ -143,23 +143,23 @@ blocked_add(char *jid) } gboolean -blocked_remove(char *jid) +blocked_remove(char* jid) { - GList *found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); + GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (!found) { return FALSE; } - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); - xmpp_stanza_t *block = xmpp_stanza_new(ctx); + xmpp_stanza_t* block = xmpp_stanza_new(ctx); xmpp_stanza_set_name(block, STANZA_NAME_UNBLOCK); xmpp_stanza_set_ns(block, STANZA_NS_BLOCKING); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); @@ -179,28 +179,27 @@ blocked_remove(char *jid) } int -blocked_set_handler(xmpp_stanza_t *stanza) +blocked_set_handler(xmpp_stanza_t* stanza) { - xmpp_stanza_t *block = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCK); + xmpp_stanza_t* block = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCK); if (block) { - xmpp_stanza_t *child = xmpp_stanza_get_children(block); + xmpp_stanza_t* child = xmpp_stanza_get_children(block); while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_ITEM) == 0) { - const char *jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (jid) { blocked = g_list_append(blocked, strdup(jid)); autocomplete_add(blocked_ac, jid); } - } child = xmpp_stanza_get_next(child); } } - xmpp_stanza_t *unblock = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_UNBLOCK); + xmpp_stanza_t* unblock = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_UNBLOCK); if (unblock) { - xmpp_stanza_t *child = xmpp_stanza_get_children(unblock); + xmpp_stanza_t* child = xmpp_stanza_get_children(unblock); if (!child) { g_list_free_full(blocked, free); blocked = NULL; @@ -208,16 +207,15 @@ blocked_set_handler(xmpp_stanza_t *stanza) } else { while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_ITEM) == 0) { - const char *jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (jid) { - GList *found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); + GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (found) { blocked = g_list_remove_link(blocked, found); g_list_free_full(found, free); autocomplete_remove(blocked_ac, jid); } } - } child = xmpp_stanza_get_next(child); @@ -229,11 +227,11 @@ blocked_set_handler(xmpp_stanza_t *stanza) } static int -_block_add_result_handler(xmpp_stanza_t *const stanza, void *const userdata) +_block_add_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { - char *jid = (char*)userdata; + char* jid = (char*)userdata; - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (!type) { log_info("Block response received for %s with no type attribute.", jid); return 0; @@ -250,11 +248,11 @@ _block_add_result_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_block_remove_result_handler(xmpp_stanza_t *const stanza, void *const userdata) +_block_remove_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { - char *jid = (char*)userdata; + char* jid = (char*)userdata; - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (!type) { log_info("Unblock response received for %s with no type attribute.", jid); return 0; @@ -271,17 +269,17 @@ _block_remove_result_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_blocklist_result_handler(xmpp_stanza_t *const stanza, void *const userdata) +_blocklist_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { log_debug("Blocked list result handler fired."); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, "result") != 0) { log_info("Received blocklist without result type"); return 0; } - xmpp_stanza_t *blocklist = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCKLIST); + xmpp_stanza_t* blocklist = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCKLIST); if (!blocklist) { log_info("Received blocklist without blocklist element"); return 0; @@ -292,17 +290,17 @@ _blocklist_result_handler(xmpp_stanza_t *const stanza, void *const userdata) blocked = NULL; } - xmpp_stanza_t *items = xmpp_stanza_get_children(blocklist); + xmpp_stanza_t* items = xmpp_stanza_get_children(blocklist); if (!items) { log_debug("No blocked users."); return 0; } - xmpp_stanza_t *curr = items; + xmpp_stanza_t* curr = items; while (curr) { - const char *name = xmpp_stanza_get_name(curr); + const char* name = xmpp_stanza_get_name(curr); if (g_strcmp0(name, "item") == 0) { - const char *jid = xmpp_stanza_get_attribute(curr, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(curr, STANZA_ATTR_JID); if (jid) { blocked = g_list_append(blocked, strdup(jid)); autocomplete_add(blocked_ac, jid); diff --git a/src/xmpp/blocking.h b/src/xmpp/blocking.h index ee4eecae..ff09f21b 100644 --- a/src/xmpp/blocking.h +++ b/src/xmpp/blocking.h @@ -37,6 +37,6 @@ #define XMPP_BLOCKING_H void blocking_request(void); -int blocked_set_handler(xmpp_stanza_t *stanza); +int blocked_set_handler(xmpp_stanza_t* stanza); #endif diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c index a28b6107..a866354e 100644 --- a/src/xmpp/bookmark.c +++ b/src/xmpp/bookmark.c @@ -64,12 +64,12 @@ #define BOOKMARK_TIMEOUT 5000 static Autocomplete bookmark_ac; -static GHashTable *bookmarks; +static GHashTable* bookmarks; // id handlers -static int _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); +static int _bookmark_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); -static void _bookmark_destroy(Bookmark *bookmark); +static void _bookmark_destroy(Bookmark* bookmark); static void _send_bookmarks(void); void @@ -83,11 +83,11 @@ bookmark_request(void) autocomplete_free(bookmark_ac); bookmark_ac = autocomplete_new(); - char *id = "bookmark_init_request"; + char* id = "bookmark_init_request"; iq_id_handler_add(id, _bookmark_result_id_handler, free, NULL); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_bookmarks_storage_request(ctx); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_bookmarks_storage_request(ctx); xmpp_stanza_set_id(iq, id); iq_send_stanza(iq); @@ -95,11 +95,11 @@ bookmark_request(void) } gboolean -bookmark_add(const char *jid, const char *nick, const char *password, const char *autojoin_str, const char *name) +bookmark_add(const char* jid, const char* nick, const char* password, const char* autojoin_str, const char* name) { assert(jid != NULL); - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); if (jidp->domainpart) { muc_confserver_add(jidp->domainpart); } @@ -109,7 +109,7 @@ bookmark_add(const char *jid, const char *nick, const char *password, const char return FALSE; } - Bookmark *bookmark = malloc(sizeof(Bookmark)); + Bookmark* bookmark = malloc(sizeof(Bookmark)); bookmark->barejid = strdup(jid); if (nick) { bookmark->nick = strdup(nick); @@ -142,11 +142,11 @@ bookmark_add(const char *jid, const char *nick, const char *password, const char } gboolean -bookmark_update(const char *jid, const char *nick, const char *password, const char *autojoin_str, const char *name) +bookmark_update(const char* jid, const char* nick, const char* password, const char* autojoin_str, const char* name) { assert(jid != NULL); - Bookmark *bookmark = g_hash_table_lookup(bookmarks, jid); + Bookmark* bookmark = g_hash_table_lookup(bookmarks, jid); if (!bookmark) { return FALSE; } @@ -176,19 +176,19 @@ bookmark_update(const char *jid, const char *nick, const char *password, const c } gboolean -bookmark_join(const char *jid) +bookmark_join(const char* jid) { assert(jid != NULL); - Bookmark *bookmark = g_hash_table_lookup(bookmarks, jid); + Bookmark* bookmark = g_hash_table_lookup(bookmarks, jid); if (!bookmark) { return FALSE; } - char *account_name = session_get_account_name(); - ProfAccount *account = accounts_get_account(account_name); + char* account_name = session_get_account_name(); + ProfAccount* account = accounts_get_account(account_name); if (!muc_active(bookmark->barejid)) { - char *nick = bookmark->nick; + char* nick = bookmark->nick; if (!nick) { nick = account->muc_nick; } @@ -207,11 +207,11 @@ bookmark_join(const char *jid) } gboolean -bookmark_remove(const char *jid) +bookmark_remove(const char* jid) { assert(jid != NULL); - Bookmark *bookmark = g_hash_table_lookup(bookmarks, jid); + Bookmark* bookmark = g_hash_table_lookup(bookmarks, jid); if (!bookmark) { return FALSE; } @@ -231,7 +231,7 @@ bookmark_get_list(void) } char* -bookmark_find(const char *const search_str, gboolean previous, void *context) +bookmark_find(const char* const search_str, gboolean previous, void* context) { return autocomplete_complete(bookmark_ac, search_str, TRUE, previous); } @@ -245,24 +245,24 @@ bookmark_autocomplete_reset(void) } gboolean -bookmark_exists(const char *const room) +bookmark_exists(const char* const room) { return g_hash_table_contains(bookmarks, room); } static int -_bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_bookmark_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *name = xmpp_stanza_get_name(stanza); + const char* name = xmpp_stanza_get_name(stanza); if (!name || strcmp(name, STANZA_NAME_IQ) != 0) { return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (!query) { return 0; } - xmpp_stanza_t *storage = xmpp_stanza_get_child_by_name(query, STANZA_NAME_STORAGE); + xmpp_stanza_t* storage = xmpp_stanza_get_child_by_name(query, STANZA_NAME_STORAGE); if (!storage) { return 0; } @@ -271,14 +271,14 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) bookmark_ac = autocomplete_new(); } - xmpp_stanza_t *child = xmpp_stanza_get_children(storage); + xmpp_stanza_t* child = xmpp_stanza_get_children(storage); while (child) { name = xmpp_stanza_get_name(child); if (!name || strcmp(name, STANZA_NAME_CONFERENCE) != 0) { child = xmpp_stanza_get_next(child); continue; } - const char *barejid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + const char* barejid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (!barejid) { child = xmpp_stanza_get_next(child); continue; @@ -286,21 +286,21 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Handle bookmark for %s", barejid); - const char *room_name = xmpp_stanza_get_attribute(child, "name"); + const char* room_name = xmpp_stanza_get_attribute(child, "name"); - char *nick = NULL; - xmpp_stanza_t *nick_st = xmpp_stanza_get_child_by_name(child, "nick"); + char* nick = NULL; + xmpp_stanza_t* nick_st = xmpp_stanza_get_child_by_name(child, "nick"); if (nick_st) { nick = stanza_text_strdup(nick_st); } - char *password = NULL; - xmpp_stanza_t *password_st = xmpp_stanza_get_child_by_name(child, "password"); + char* password = NULL; + xmpp_stanza_t* password_st = xmpp_stanza_get_child_by_name(child, "password"); if (password_st) { password = stanza_text_strdup(password_st); } - const char *autojoin = xmpp_stanza_get_attribute(child, "autojoin"); + const char* autojoin = xmpp_stanza_get_attribute(child, "autojoin"); gboolean autojoin_val = FALSE; if (autojoin && (strcmp(autojoin, "1") == 0 || strcmp(autojoin, "true") == 0)) { autojoin_val = TRUE; @@ -308,9 +308,9 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) // we save minimize, which is not standard, so that we don't remove it if it was set by gajim int minimize = 0; - xmpp_stanza_t *minimize_st = stanza_get_child_by_name_and_ns(child, STANZA_NAME_MINIMIZE, STANZA_NS_EXT_GAJIM_BOOKMARKS); + xmpp_stanza_t* minimize_st = stanza_get_child_by_name_and_ns(child, STANZA_NAME_MINIMIZE, STANZA_NS_EXT_GAJIM_BOOKMARKS); if (minimize_st) { - char *min_str = xmpp_stanza_get_text(minimize_st); + char* min_str = xmpp_stanza_get_text(minimize_st); if (strcmp(min_str, "true") == 0) { minimize = 1; } else if (strcmp(min_str, "false") == 0) { @@ -320,7 +320,7 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } autocomplete_add(bookmark_ac, barejid); - Bookmark *bookmark = malloc(sizeof(Bookmark)); + Bookmark* bookmark = malloc(sizeof(Bookmark)); bookmark->barejid = strdup(barejid); bookmark->nick = nick; bookmark->password = password; @@ -333,7 +333,7 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) sv_ev_bookmark_autojoin(bookmark); } - Jid *jidp = jid_create(barejid); + Jid* jidp = jid_create(barejid); if (jidp->domainpart) { muc_confserver_add(jidp->domainpart); } @@ -346,7 +346,7 @@ _bookmark_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static void -_bookmark_destroy(Bookmark *bookmark) +_bookmark_destroy(Bookmark* bookmark) { if (bookmark) { free(bookmark->barejid); @@ -360,25 +360,25 @@ _bookmark_destroy(Bookmark *bookmark) static void _send_bookmarks(void) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, "jabber:iq:private"); - xmpp_stanza_t *storage = xmpp_stanza_new(ctx); + xmpp_stanza_t* storage = xmpp_stanza_new(ctx); xmpp_stanza_set_name(storage, STANZA_NAME_STORAGE); xmpp_stanza_set_ns(storage, "storage:bookmarks"); - GList *bookmark_list = g_hash_table_get_values(bookmarks); - GList *curr = bookmark_list; + GList* bookmark_list = g_hash_table_get_values(bookmarks); + GList* curr = bookmark_list; while (curr) { - Bookmark *bookmark = curr->data; - xmpp_stanza_t *conference = xmpp_stanza_new(ctx); + Bookmark* bookmark = curr->data; + xmpp_stanza_t* conference = xmpp_stanza_new(ctx); xmpp_stanza_set_name(conference, STANZA_NAME_CONFERENCE); xmpp_stanza_set_attribute(conference, STANZA_ATTR_JID, bookmark->barejid); @@ -387,7 +387,7 @@ _send_bookmarks(void) xmpp_stanza_set_attribute(conference, STANZA_ATTR_NAME, bookmark->name); } else { // use localpart of JID by if no name is specified - Jid *jidp = jid_create(bookmark->barejid); + Jid* jidp = jid_create(bookmark->barejid); if (jidp->localpart) { xmpp_stanza_set_attribute(conference, STANZA_ATTR_NAME, jidp->localpart); } @@ -401,9 +401,9 @@ _send_bookmarks(void) } if (bookmark->nick) { - xmpp_stanza_t *nick_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* nick_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(nick_st, STANZA_NAME_NICK); - xmpp_stanza_t *nick_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* nick_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(nick_text, bookmark->nick); xmpp_stanza_add_child(nick_st, nick_text); xmpp_stanza_add_child(conference, nick_st); @@ -413,9 +413,9 @@ _send_bookmarks(void) } if (bookmark->password) { - xmpp_stanza_t *password_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* password_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(password_st, STANZA_NAME_PASSWORD); - xmpp_stanza_t *password_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* password_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(password_text, bookmark->password); xmpp_stanza_add_child(password_st, password_text); xmpp_stanza_add_child(conference, password_st); @@ -424,13 +424,12 @@ _send_bookmarks(void) xmpp_stanza_release(password_st); } - if (bookmark->ext_gajim_minimize == 1 || - bookmark->ext_gajim_minimize == 2) { - xmpp_stanza_t *minimize_st = xmpp_stanza_new(ctx); + if (bookmark->ext_gajim_minimize == 1 || bookmark->ext_gajim_minimize == 2) { + xmpp_stanza_t* minimize_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(minimize_st, STANZA_NAME_MINIMIZE); xmpp_stanza_set_ns(minimize_st, STANZA_NS_EXT_GAJIM_BOOKMARKS); - xmpp_stanza_t *minimize_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* minimize_text = xmpp_stanza_new(ctx); if (bookmark->ext_gajim_minimize == 1) { xmpp_stanza_set_text(minimize_text, "true"); } else { diff --git a/src/xmpp/capabilities.c b/src/xmpp/capabilities.c index a0fcecb0..f3788a41 100644 --- a/src/xmpp/capabilities.c +++ b/src/xmpp/capabilities.c @@ -64,19 +64,19 @@ #include "xmpp/form.h" #include "xmpp/capabilities.h" -static char *cache_loc; -static GKeyFile *cache; +static char* cache_loc; +static GKeyFile* cache; -static GHashTable *jid_to_ver; -static GHashTable *jid_to_caps; +static GHashTable* jid_to_ver; +static GHashTable* jid_to_caps; -static GHashTable *prof_features; -static char *my_sha1; +static GHashTable* prof_features; +static char* my_sha1; static void _save_cache(void); -static EntityCapabilities* _caps_by_ver(const char *const ver); -static EntityCapabilities* _caps_by_jid(const char *const jid); -static EntityCapabilities* _caps_copy(EntityCapabilities *caps); +static EntityCapabilities* _caps_by_ver(const char* const ver); +static EntityCapabilities* _caps_by_jid(const char* const jid); +static EntityCapabilities* _caps_copy(EntityCapabilities* caps); void caps_init(void) @@ -121,7 +121,7 @@ caps_init(void) } void -caps_add_feature(char *feature) +caps_add_feature(char* feature) { if (g_hash_table_contains(prof_features, feature)) { return; @@ -139,7 +139,7 @@ caps_add_feature(char *feature) } void -caps_remove_feature(char *feature) +caps_remove_feature(char* feature) { if (!g_hash_table_contains(prof_features, feature)) { return; @@ -159,17 +159,17 @@ caps_remove_feature(char *feature) GList* caps_get_features(void) { - GList *result = NULL; + GList* result = NULL; - GList *features_as_list = g_hash_table_get_keys(prof_features); - GList *curr = features_as_list; + GList* features_as_list = g_hash_table_get_keys(prof_features); + GList* curr = features_as_list; while (curr) { result = g_list_append(result, strdup(curr->data)); curr = g_list_next(curr); } g_list_free(features_as_list); - GList *plugin_features = plugins_get_disco_features(); + GList* plugin_features = plugins_get_disco_features(); curr = plugin_features; while (curr) { result = g_list_append(result, strdup(curr->data)); @@ -182,15 +182,15 @@ caps_get_features(void) } EntityCapabilities* -caps_create(const char *const category, const char *const type, const char *const name, - const char *const software, const char *const software_version, - const char *const os, const char *const os_version, - GSList *features) +caps_create(const char* const category, const char* const type, const char* const name, + const char* const software, const char* const software_version, + const char* const os, const char* const os_version, + GSList* features) { - EntityCapabilities *result = (EntityCapabilities *)malloc(sizeof(EntityCapabilities)); + EntityCapabilities* result = (EntityCapabilities*)malloc(sizeof(EntityCapabilities)); if (category || type || name) { - DiscoIdentity *identity = (DiscoIdentity*)malloc(sizeof(DiscoIdentity)); + DiscoIdentity* identity = (DiscoIdentity*)malloc(sizeof(DiscoIdentity)); identity->category = category ? strdup(category) : NULL; identity->type = type ? strdup(type) : NULL; identity->name = name ? strdup(name) : NULL; @@ -200,7 +200,7 @@ caps_create(const char *const category, const char *const type, const char *cons } if (software || software_version || os || os_version) { - SoftwareVersion *software_versionp = (SoftwareVersion*)malloc(sizeof(SoftwareVersion)); + SoftwareVersion* software_versionp = (SoftwareVersion*)malloc(sizeof(SoftwareVersion)); software_versionp->software = software ? strdup(software) : NULL; software_versionp->software_version = software_version ? strdup(software_version) : NULL; software_versionp->os = os ? strdup(os) : NULL; @@ -211,7 +211,7 @@ caps_create(const char *const category, const char *const type, const char *cons } result->features = NULL; - GSList *curr = features; + GSList* curr = features; while (curr) { result->features = g_slist_append(result->features, strdup(curr->data)); curr = g_slist_next(curr); @@ -221,7 +221,7 @@ caps_create(const char *const category, const char *const type, const char *cons } void -caps_add_by_ver(const char *const ver, EntityCapabilities *caps) +caps_add_by_ver(const char* const ver, EntityCapabilities* caps) { if (ver == NULL || caps == NULL) { return; @@ -233,7 +233,7 @@ caps_add_by_ver(const char *const ver, EntityCapabilities *caps) } if (caps->identity) { - DiscoIdentity *identity = caps->identity; + DiscoIdentity* identity = caps->identity; if (identity->name) { g_key_file_set_string(cache, ver, "name", identity->name); } @@ -246,7 +246,7 @@ caps_add_by_ver(const char *const ver, EntityCapabilities *caps) } if (caps->software_version) { - SoftwareVersion *software_version = caps->software_version; + SoftwareVersion* software_version = caps->software_version; if (software_version->software) { g_key_file_set_string(cache, ver, "software", software_version->software); } @@ -262,7 +262,7 @@ caps_add_by_ver(const char *const ver, EntityCapabilities *caps) } if (caps->features) { - GSList *curr_feature = caps->features; + GSList* curr_feature = caps->features; int num = g_slist_length(caps->features); const gchar* features_list[num]; int curr = 0; @@ -277,35 +277,35 @@ caps_add_by_ver(const char *const ver, EntityCapabilities *caps) } void -caps_add_by_jid(const char *const jid, EntityCapabilities *caps) +caps_add_by_jid(const char* const jid, EntityCapabilities* caps) { g_hash_table_insert(jid_to_caps, strdup(jid), caps); } void -caps_map_jid_to_ver(const char *const jid, const char *const ver) +caps_map_jid_to_ver(const char* const jid, const char* const ver) { g_hash_table_insert(jid_to_ver, strdup(jid), strdup(ver)); } gboolean -caps_cache_contains(const char *const ver) +caps_cache_contains(const char* const ver) { return (g_key_file_has_group(cache, ver)); } EntityCapabilities* -caps_lookup(const char *const jid) +caps_lookup(const char* const jid) { - char *ver = g_hash_table_lookup(jid_to_ver, jid); + char* ver = g_hash_table_lookup(jid_to_ver, jid); if (ver) { - EntityCapabilities *caps = _caps_by_ver(ver); + EntityCapabilities* caps = _caps_by_ver(ver); if (caps) { log_debug("Capabilities lookup %s, found by verification string %s.", jid, ver); return caps; } } else { - EntityCapabilities *caps = _caps_by_jid(jid); + EntityCapabilities* caps = _caps_by_jid(jid); if (caps) { log_debug("Capabilities lookup %s, found by JID.", jid); return _caps_copy(caps); @@ -317,15 +317,15 @@ caps_lookup(const char *const jid) } gboolean -caps_jid_has_feature(const char *const jid, const char *const feature) +caps_jid_has_feature(const char* const jid, const char* const feature) { - EntityCapabilities *caps = caps_lookup(jid); + EntityCapabilities* caps = caps_lookup(jid); if (caps == NULL) { return FALSE; } - GSList *found = g_slist_find_custom(caps->features, feature, (GCompareFunc)g_strcmp0); + GSList* found = g_slist_find_custom(caps->features, feature, (GCompareFunc)g_strcmp0); gboolean result = found != NULL; caps_destroy(caps); @@ -334,10 +334,10 @@ caps_jid_has_feature(const char *const jid, const char *const feature) } char* -caps_get_my_sha1(xmpp_ctx_t *const ctx) +caps_get_my_sha1(xmpp_ctx_t* const ctx) { if (my_sha1 == NULL) { - xmpp_stanza_t *query = stanza_create_caps_query_element(ctx); + xmpp_stanza_t* query = stanza_create_caps_query_element(ctx); my_sha1 = stanza_create_caps_sha1_from_query(query); xmpp_stanza_release(query); } @@ -368,24 +368,24 @@ caps_close(void) } static EntityCapabilities* -_caps_by_ver(const char *const ver) +_caps_by_ver(const char* const ver) { if (!g_key_file_has_group(cache, ver)) { return NULL; } - char *category = g_key_file_get_string(cache, ver, "category", NULL); - char *type = g_key_file_get_string(cache, ver, "type", NULL); - char *name = g_key_file_get_string(cache, ver, "name", NULL); + char* category = g_key_file_get_string(cache, ver, "category", NULL); + char* type = g_key_file_get_string(cache, ver, "type", NULL); + char* name = g_key_file_get_string(cache, ver, "name", NULL); - char *software = g_key_file_get_string(cache, ver, "software", NULL); - char *software_version = g_key_file_get_string(cache, ver, "software_version", NULL); - char *os = g_key_file_get_string(cache, ver, "os", NULL); - char *os_version = g_key_file_get_string(cache, ver, "os_version", NULL); + char* software = g_key_file_get_string(cache, ver, "software", NULL); + char* software_version = g_key_file_get_string(cache, ver, "software_version", NULL); + char* os = g_key_file_get_string(cache, ver, "os", NULL); + char* os_version = g_key_file_get_string(cache, ver, "os_version", NULL); gsize features_len = 0; - gchar **features_list = g_key_file_get_string_list(cache, ver, "features", &features_len, NULL); - GSList *features = NULL; + gchar** features_list = g_key_file_get_string_list(cache, ver, "features", &features_len, NULL); + GSList* features = NULL; if (features_list && features_len > 0) { int i; for (i = 0; i < features_len; i++) { @@ -393,7 +393,7 @@ _caps_by_ver(const char *const ver) } } - EntityCapabilities *result = caps_create( + EntityCapabilities* result = caps_create( category, type, name, software, software_version, os, os_version, features); @@ -414,32 +414,32 @@ _caps_by_ver(const char *const ver) } static EntityCapabilities* -_caps_by_jid(const char *const jid) +_caps_by_jid(const char* const jid) { return g_hash_table_lookup(jid_to_caps, jid); } static EntityCapabilities* -_caps_copy(EntityCapabilities *caps) +_caps_copy(EntityCapabilities* caps) { if (!caps) { return NULL; } - const char *const categoty = caps->identity ? caps->identity->category : NULL; - const char *const type = caps->identity ? caps->identity->type : NULL; - const char *const name = caps->identity ? caps->identity->name : NULL; + const char* const categoty = caps->identity ? caps->identity->category : NULL; + const char* const type = caps->identity ? caps->identity->type : NULL; + const char* const name = caps->identity ? caps->identity->name : NULL; - const char *const software = caps->software_version ? caps->software_version->software : NULL; - const char *const software_version = caps->software_version ? caps->software_version->software_version : NULL; - const char *const os = caps->software_version ? caps->software_version->os : NULL; - const char *const os_version = caps->software_version ? caps->software_version->os_version : NULL; + const char* const software = caps->software_version ? caps->software_version->software : NULL; + const char* const software_version = caps->software_version ? caps->software_version->software_version : NULL; + const char* const os = caps->software_version ? caps->software_version->os : NULL; + const char* const os_version = caps->software_version ? caps->software_version->os_version : NULL; return caps_create(categoty, type, name, software, software_version, os, os_version, caps->features); } static void -_disco_identity_destroy(DiscoIdentity *disco_identity) +_disco_identity_destroy(DiscoIdentity* disco_identity) { if (disco_identity) { free(disco_identity->category); @@ -450,7 +450,7 @@ _disco_identity_destroy(DiscoIdentity *disco_identity) } static void -_software_version_destroy(SoftwareVersion *software_version) +_software_version_destroy(SoftwareVersion* software_version) { if (software_version) { free(software_version->software); @@ -462,7 +462,7 @@ _software_version_destroy(SoftwareVersion *software_version) } void -caps_destroy(EntityCapabilities *caps) +caps_destroy(EntityCapabilities* caps) { if (caps) { _disco_identity_destroy(caps->identity); @@ -478,7 +478,7 @@ static void _save_cache(void) { gsize g_data_size; - gchar *g_cache_data = g_key_file_to_data(cache, &g_data_size, NULL); + gchar* g_cache_data = g_key_file_to_data(cache, &g_data_size, NULL); g_file_set_contents(cache_loc, g_cache_data, g_data_size, NULL); g_chmod(cache_loc, S_IRUSR | S_IWUSR); g_free(g_cache_data); diff --git a/src/xmpp/capabilities.h b/src/xmpp/capabilities.h index 4cf3dd6c..0760f7d7 100644 --- a/src/xmpp/capabilities.h +++ b/src/xmpp/capabilities.h @@ -50,15 +50,15 @@ void caps_init(void); -EntityCapabilities* caps_create(const char *const category, const char *const type, const char *const name, - const char *const software, const char *const software_version, - const char *const os, const char *const os_version, - GSList *features); -void caps_add_by_ver(const char *const ver, EntityCapabilities *caps); -void caps_add_by_jid(const char *const jid, EntityCapabilities *caps); -void caps_map_jid_to_ver(const char *const jid, const char *const ver); -gboolean caps_cache_contains(const char *const ver); +EntityCapabilities* caps_create(const char* const category, const char* const type, const char* const name, + const char* const software, const char* const software_version, + const char* const os, const char* const os_version, + GSList* features); +void caps_add_by_ver(const char* const ver, EntityCapabilities* caps); +void caps_add_by_jid(const char* const jid, EntityCapabilities* caps); +void caps_map_jid_to_ver(const char* const jid, const char* const ver); +gboolean caps_cache_contains(const char* const ver); GList* caps_get_features(void); -char* caps_get_my_sha1(xmpp_ctx_t *const ctx); +char* caps_get_my_sha1(xmpp_ctx_t* const ctx); #endif diff --git a/src/xmpp/chat_session.c b/src/xmpp/chat_session.c index 3a018be8..56d92862 100644 --- a/src/xmpp/chat_session.c +++ b/src/xmpp/chat_session.c @@ -45,16 +45,16 @@ #include "xmpp/stanza.h" #include "xmpp/chat_session.h" -static GHashTable *sessions; +static GHashTable* sessions; static void -_chat_session_new(const char *const barejid, const char *const resource, gboolean resource_override, - gboolean send_states) +_chat_session_new(const char* const barejid, const char* const resource, gboolean resource_override, + gboolean send_states) { assert(barejid != NULL); assert(resource != NULL); - ChatSession *new_session = malloc(sizeof(struct chat_session_t)); + ChatSession* new_session = malloc(sizeof(struct chat_session_t)); new_session->barejid = strdup(barejid); new_session->resource = strdup(resource); new_session->resource_override = resource_override; @@ -64,7 +64,7 @@ _chat_session_new(const char *const barejid, const char *const resource, gboolea } static void -_chat_session_free(ChatSession *session) +_chat_session_free(ChatSession* session) { if (session) { free(session->barejid); @@ -91,24 +91,24 @@ chat_sessions_clear(void) } void -chat_session_resource_override(const char *const barejid, const char *const resource) +chat_session_resource_override(const char* const barejid, const char* const resource) { _chat_session_new(barejid, resource, TRUE, TRUE); } ChatSession* -chat_session_get(const char *const barejid) +chat_session_get(const char* const barejid) { return g_hash_table_lookup(sessions, barejid); } char* -chat_session_get_jid(const char *const barejid) +chat_session_get_jid(const char* const barejid) { - ChatSession *session = chat_session_get(barejid); - char *jid = NULL; + ChatSession* session = chat_session_get(barejid); + char* jid = NULL; if (session) { - Jid *jidp = jid_create_from_bare_and_resource(session->barejid, session->resource); + Jid* jidp = jid_create_from_bare_and_resource(session->barejid, session->resource); jid = strdup(jidp->fulljid); jid_destroy(jidp); } else { @@ -119,10 +119,10 @@ chat_session_get_jid(const char *const barejid) } char* -chat_session_get_state(const char *const barejid) +chat_session_get_state(const char* const barejid) { - ChatSession *session = chat_session_get(barejid); - char *state = NULL; + ChatSession* session = chat_session_get(barejid); + char* state = NULL; if (session) { if (prefs_get_boolean(PREF_STATES) && session->send_states) { state = STANZA_NAME_ACTIVE; @@ -137,12 +137,12 @@ chat_session_get_state(const char *const barejid) } void -chat_session_recipient_gone(const char *const barejid, const char *const resource) +chat_session_recipient_gone(const char* const barejid, const char* const resource) { assert(barejid != NULL); assert(resource != NULL); - ChatSession *session = g_hash_table_lookup(sessions, barejid); + ChatSession* session = g_hash_table_lookup(sessions, barejid); if (session && g_strcmp0(session->resource, resource) == 0) { if (!session->resource_override) { chat_session_remove(barejid); @@ -151,48 +151,48 @@ chat_session_recipient_gone(const char *const barejid, const char *const resourc } void -chat_session_recipient_typing(const char *const barejid, const char *const resource) +chat_session_recipient_typing(const char* const barejid, const char* const resource) { chat_session_recipient_active(barejid, resource, TRUE); } void -chat_session_recipient_paused(const char *const barejid, const char *const resource) +chat_session_recipient_paused(const char* const barejid, const char* const resource) { chat_session_recipient_active(barejid, resource, TRUE); } void -chat_session_recipient_inactive(const char *const barejid, const char *const resource) +chat_session_recipient_inactive(const char* const barejid, const char* const resource) { chat_session_recipient_active(barejid, resource, TRUE); } void -chat_session_recipient_active(const char *const barejid, const char *const resource, - gboolean send_states) +chat_session_recipient_active(const char* const barejid, const char* const resource, + gboolean send_states) { assert(barejid != NULL); assert(resource != NULL); - ChatSession *session = g_hash_table_lookup(sessions, barejid); + ChatSession* session = g_hash_table_lookup(sessions, barejid); if (session) { // session exists with resource, update chat_states if (g_strcmp0(session->resource, resource) == 0) { session->send_states = send_states; - // session exists with different resource and no override, replace + // session exists with different resource and no override, replace } else if (!session->resource_override) { _chat_session_new(barejid, resource, FALSE, send_states); } - // no session, create one + // no session, create one } else { _chat_session_new(barejid, resource, FALSE, send_states); } } void -chat_session_remove(const char *const barejid) +chat_session_remove(const char* const barejid) { g_hash_table_remove(sessions, barejid); } diff --git a/src/xmpp/chat_session.h b/src/xmpp/chat_session.h index 550858e7..e0144874 100644 --- a/src/xmpp/chat_session.h +++ b/src/xmpp/chat_session.h @@ -38,9 +38,10 @@ #include <glib.h> -typedef struct chat_session_t { - char *barejid; - char *resource; +typedef struct chat_session_t +{ + char* barejid; + char* resource; gboolean resource_override; gboolean send_states; @@ -49,17 +50,17 @@ typedef struct chat_session_t { void chat_sessions_init(void); void chat_sessions_clear(void); -void chat_session_resource_override(const char *const barejid, const char *const resource); -ChatSession* chat_session_get(const char *const barejid); +void chat_session_resource_override(const char* const barejid, const char* const resource); +ChatSession* chat_session_get(const char* const barejid); -void chat_session_recipient_active(const char *const barejid, const char *const resource, gboolean send_states); -void chat_session_recipient_typing(const char *const barejid, const char *const resource); -void chat_session_recipient_paused(const char *const barejid, const char *const resource); -void chat_session_recipient_gone(const char *const barejid, const char *const resource); -void chat_session_recipient_inactive(const char *const barejid, const char *const resource); -char* chat_session_get_jid(const char *const barejid); -char* chat_session_get_state(const char *const barejid); +void chat_session_recipient_active(const char* const barejid, const char* const resource, gboolean send_states); +void chat_session_recipient_typing(const char* const barejid, const char* const resource); +void chat_session_recipient_paused(const char* const barejid, const char* const resource); +void chat_session_recipient_gone(const char* const barejid, const char* const resource); +void chat_session_recipient_inactive(const char* const barejid, const char* const resource); +char* chat_session_get_jid(const char* const barejid); +char* chat_session_get_state(const char* const barejid); -void chat_session_remove(const char *const barejid); +void chat_session_remove(const char* const barejid); #endif diff --git a/src/xmpp/chat_state.c b/src/xmpp/chat_state.c index 77945a50..ad236a43 100644 --- a/src/xmpp/chat_state.c +++ b/src/xmpp/chat_state.c @@ -45,15 +45,15 @@ #include "xmpp/chat_state.h" #include "xmpp/chat_session.h" -#define PAUSED_TIMEOUT 10.0 +#define PAUSED_TIMEOUT 10.0 #define INACTIVE_TIMEOUT 30.0 -static void _send_if_supported(const char *const barejid, void (*send_func)(const char *const)); +static void _send_if_supported(const char* const barejid, void (*send_func)(const char* const)); ChatState* chat_state_new(void) { - ChatState *new_state = malloc(sizeof(struct prof_chat_state_t)); + ChatState* new_state = malloc(sizeof(struct prof_chat_state_t)); new_state->type = CHAT_STATE_GONE; new_state->timer = g_timer_new(); @@ -61,16 +61,16 @@ chat_state_new(void) } void -chat_state_free(ChatState *state) +chat_state_free(ChatState* state) { - if (state && state->timer!= NULL) { + if (state && state->timer != NULL) { g_timer_destroy(state->timer); } free(state); } void -chat_state_handle_idle(const char *const barejid, ChatState *state) +chat_state_handle_idle(const char* const barejid, ChatState* state) { gdouble elapsed = g_timer_elapsed(state->timer, NULL); @@ -92,13 +92,12 @@ chat_state_handle_idle(const char *const barejid, ChatState *state) _send_if_supported(barejid, message_send_inactive); } return; - } // INACTIVE -> GONE if (state->type == CHAT_STATE_INACTIVE) { if (prefs_get_gone() != 0 && (elapsed > (prefs_get_gone() * 60.0))) { - ChatSession *session = chat_session_get(barejid); + ChatSession* session = chat_session_get(barejid); if (session) { // never move to GONE when resource override if (!session->resource_override) { @@ -122,7 +121,7 @@ chat_state_handle_idle(const char *const barejid, ChatState *state) } void -chat_state_handle_typing(const char *const barejid, ChatState *state) +chat_state_handle_typing(const char* const barejid, ChatState* state) { // ACTIVE|INACTIVE|PAUSED|GONE -> COMPOSING if (state->type != CHAT_STATE_COMPOSING) { @@ -135,14 +134,14 @@ chat_state_handle_typing(const char *const barejid, ChatState *state) } void -chat_state_active(ChatState *state) +chat_state_active(ChatState* state) { state->type = CHAT_STATE_ACTIVE; g_timer_start(state->timer); } void -chat_state_gone(const char *const barejid, ChatState *state) +chat_state_gone(const char* const barejid, ChatState* state) { if (state->type != CHAT_STATE_GONE) { if (prefs_get_boolean(PREF_STATES)) { @@ -158,12 +157,12 @@ chat_state_idle(void) { jabber_conn_status_t status = connection_get_status(); if (status == JABBER_CONNECTED) { - GSList *recipients = wins_get_chat_recipients(); - GSList *curr = recipients; + GSList* recipients = wins_get_chat_recipients(); + GSList* curr = recipients; while (curr) { - char *barejid = curr->data; - ProfChatWin *chatwin = wins_get_chat(barejid); + char* barejid = curr->data; + ProfChatWin* chatwin = wins_get_chat(barejid); chat_state_handle_idle(chatwin->barejid, chatwin->state); curr = g_slist_next(curr); } @@ -178,21 +177,21 @@ void chat_state_activity(void) { jabber_conn_status_t status = connection_get_status(); - ProfWin *current = wins_get_current(); + ProfWin* current = wins_get_current(); if ((status == JABBER_CONNECTED) && (current->type == WIN_CHAT)) { - ProfChatWin *chatwin = (ProfChatWin*)current; + ProfChatWin* chatwin = (ProfChatWin*)current; assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK); chat_state_handle_typing(chatwin->barejid, chatwin->state); } } static void -_send_if_supported(const char *const barejid, void (*send_func)(const char *const)) +_send_if_supported(const char* const barejid, void (*send_func)(const char* const)) { gboolean send = TRUE; - GString *jid = g_string_new(barejid); - ChatSession *session = chat_session_get(barejid); + GString* jid = g_string_new(barejid); + ChatSession* session = chat_session_get(barejid); if (session) { if (session->send_states) { g_string_append(jid, "/"); diff --git a/src/xmpp/chat_state.h b/src/xmpp/chat_state.h index e484b284..3b2e5829 100644 --- a/src/xmpp/chat_state.h +++ b/src/xmpp/chat_state.h @@ -46,20 +46,21 @@ typedef enum { CHAT_STATE_GONE } chat_state_type_t; -typedef struct prof_chat_state_t { +typedef struct prof_chat_state_t +{ chat_state_type_t type; - GTimer *timer; + GTimer* timer; } ChatState; ChatState* chat_state_new(void); -void chat_state_free(ChatState *state); +void chat_state_free(ChatState* state); void chat_state_idle(void); void chat_state_activity(void); -void chat_state_handle_idle(const char *const barejid, ChatState *state); -void chat_state_handle_typing(const char *const barejid, ChatState *state); -void chat_state_active(ChatState *state); -void chat_state_gone(const char *const barejid, ChatState *state); +void chat_state_handle_idle(const char* const barejid, ChatState* state); +void chat_state_handle_typing(const char* const barejid, ChatState* state); +void chat_state_active(ChatState* state); +void chat_state_gone(const char* const barejid, ChatState* state); #endif diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c index 8c875e63..ace28255 100644 --- a/src/xmpp/connection.c +++ b/src/xmpp/connection.c @@ -61,39 +61,40 @@ #include "xmpp/iq.h" #include "ui/ui.h" -typedef struct prof_conn_t { - xmpp_log_t *xmpp_log; - xmpp_ctx_t *xmpp_ctx; - xmpp_conn_t *xmpp_conn; +typedef struct prof_conn_t +{ + xmpp_log_t* xmpp_log; + xmpp_ctx_t* xmpp_ctx; + xmpp_conn_t* xmpp_conn; gboolean xmpp_in_event_loop; jabber_conn_status_t conn_status; xmpp_conn_event_t conn_last_event; - char *presence_message; + char* presence_message; int priority; - char *domain; - GHashTable *available_resources; - GHashTable *features_by_jid; - GHashTable *requested_features; + char* domain; + GHashTable* available_resources; + GHashTable* features_by_jid; + GHashTable* requested_features; } ProfConnection; static ProfConnection conn; -static gchar *profanity_instance_id = NULL; -static gchar *prof_identifier = NULL; +static gchar* profanity_instance_id = NULL; +static gchar* prof_identifier = NULL; static xmpp_log_t* _xmpp_get_file_logger(void); -static void _xmpp_file_logger(void *const userdata, const xmpp_log_level_t level, const char *const area, const char *const msg); +static void _xmpp_file_logger(void* const userdata, const xmpp_log_level_t level, const char* const area, const char* const msg); -static void _connection_handler(xmpp_conn_t *const xmpp_conn, const xmpp_conn_event_t status, const int error, - xmpp_stream_error_t *const stream_error, void *const userdata); +static void _connection_handler(xmpp_conn_t* const xmpp_conn, const xmpp_conn_event_t status, const int error, + xmpp_stream_error_t* const stream_error, void* const userdata); #ifdef HAVE_LIBMESODE -TLSCertificate* _xmppcert_to_profcert(xmpp_tlscert_t *xmpptlscert); -static int _connection_certfail_cb(xmpp_tlscert_t *xmpptlscert, const char *const errormsg); +TLSCertificate* _xmppcert_to_profcert(xmpp_tlscert_t* xmpptlscert); +static int _connection_certfail_cb(xmpp_tlscert_t* xmpptlscert, const char* const errormsg); #endif static void _random_bytes_init(void); static void _random_bytes_close(void); -static void _compute_identifier(const char *barejid); +static void _compute_identifier(const char* barejid); void connection_init(void) @@ -110,7 +111,7 @@ connection_init(void) conn.available_resources = g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)resource_destroy); conn.requested_features = g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL); - _random_bytes_init(); + _random_bytes_init(); } void @@ -130,19 +131,19 @@ connection_shutdown(void) free(conn.xmpp_log); conn.xmpp_log = NULL; - _random_bytes_close(); + _random_bytes_close(); } jabber_conn_status_t -connection_connect(const char *const jid, const char *const passwd, const char *const altdomain, int port, - const char *const tls_policy, const char *const auth_policy) +connection_connect(const char* const jid, const char* const passwd, const char* const altdomain, int port, + const char* const tls_policy, const char* const auth_policy) { long flags; assert(jid != NULL); assert(passwd != NULL); - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); if (jidp == NULL) { log_error("Malformed JID not able to connect: %s", jid); conn.conn_status = JABBER_DISCONNECTED; @@ -206,7 +207,10 @@ connection_connect(const char *const jid, const char *const passwd, const char * /* Print debug logs that can help when users share the logs */ if (flags != 0) { log_debug("Connecting with flags (0x%lx):", flags); -#define LOG_FLAG_IF_SET(name) if (flags & name) { log_debug(" " #name); } +#define LOG_FLAG_IF_SET(name) \ + if (flags & name) { \ + log_debug(" " #name); \ + } LOG_FLAG_IF_SET(XMPP_CONN_FLAG_MANDATORY_TLS); LOG_FLAG_IF_SET(XMPP_CONN_FLAG_TRUST_TLS); LOG_FLAG_IF_SET(XMPP_CONN_FLAG_DISABLE_TLS); @@ -218,7 +222,7 @@ connection_connect(const char *const jid, const char *const passwd, const char * } #ifdef HAVE_LIBMESODE - char *cert_path = prefs_get_tls_certpath(); + char* cert_path = prefs_get_tls_certpath(); if (cert_path) { xmpp_conn_tlscert_path(conn.xmpp_conn, cert_path); free(cert_path); @@ -311,8 +315,8 @@ connection_clear_data(void) TLSCertificate* connection_get_tls_peer_cert(void) { - xmpp_tlscert_t *xmpptlscert = xmpp_conn_tls_peer_cert(conn.xmpp_conn); - TLSCertificate *cert = _xmppcert_to_profcert(xmpptlscert); + xmpp_tlscert_t* xmpptlscert = xmpp_conn_tls_peer_cert(conn.xmpp_conn); + TLSCertificate* cert = _xmppcert_to_profcert(xmpptlscert); xmpp_conn_free_tlscert(conn.xmpp_ctx, xmpptlscert); return cert; @@ -330,7 +334,7 @@ connection_is_secured(void) } gboolean -connection_send_stanza(const char *const stanza) +connection_send_stanza(const char* const stanza) { if (conn.conn_status != JABBER_CONNECTED) { return FALSE; @@ -341,15 +345,15 @@ connection_send_stanza(const char *const stanza) } gboolean -connection_supports(const char *const feature) +connection_supports(const char* const feature) { gboolean ret = FALSE; - GList *jids = g_hash_table_get_keys(conn.features_by_jid); + GList* jids = g_hash_table_get_keys(conn.features_by_jid); - GList *curr = jids; + GList* curr = jids; while (curr) { - char *jid = curr->data; - GHashTable *features = g_hash_table_lookup(conn.features_by_jid, jid); + char* jid = curr->data; + GHashTable* features = g_hash_table_lookup(conn.features_by_jid, jid); if (features && g_hash_table_lookup(features, feature)) { ret = TRUE; break; @@ -364,18 +368,18 @@ connection_supports(const char *const feature) } char* -connection_jid_for_feature(const char *const feature) +connection_jid_for_feature(const char* const feature) { if (conn.features_by_jid == NULL) { return NULL; } - GList *jids = g_hash_table_get_keys(conn.features_by_jid); + GList* jids = g_hash_table_get_keys(conn.features_by_jid); - GList *curr = jids; + GList* curr = jids; while (curr) { - char *jid = curr->data; - GHashTable *features = g_hash_table_lookup(conn.features_by_jid, jid); + char* jid = curr->data; + GHashTable* features = g_hash_table_lookup(conn.features_by_jid, jid); if (features && g_hash_table_lookup(features, feature)) { g_list_free(jids); return jid; @@ -398,14 +402,14 @@ connection_request_features(void) } void -connection_set_disco_items(GSList *items) +connection_set_disco_items(GSList* items) { - GSList *curr = items; + GSList* curr = items; while (curr) { - DiscoItem *item = curr->data; + DiscoItem* item = curr->data; g_hash_table_insert(conn.requested_features, strdup(item->jid), NULL); g_hash_table_insert(conn.features_by_jid, strdup(item->jid), - g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL)); + g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL)); iq_disco_info_request_onconnect(item->jid); @@ -434,7 +438,7 @@ connection_get_ctx(void) const char* connection_get_fulljid(void) { - const char *jid = xmpp_conn_get_bound_jid(conn.xmpp_conn); + const char* jid = xmpp_conn_get_bound_jid(conn.xmpp_conn); if (jid) { return jid; } else { @@ -443,11 +447,12 @@ connection_get_fulljid(void) } char* -connection_get_barejid(void) { - const char *jid = connection_get_fulljid(); - char *result; +connection_get_barejid(void) +{ + const char* jid = connection_get_fulljid(); + char* result; - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); result = strdup(jidp->barejid); jid_destroy(jidp); @@ -455,7 +460,7 @@ connection_get_barejid(void) { } void -connection_features_received(const char *const jid) +connection_features_received(const char* const jid) { if (g_hash_table_remove(conn.requested_features, jid) && g_hash_table_size(conn.requested_features) == 0) { sv_ev_connection_features_received(); @@ -463,7 +468,7 @@ connection_features_received(const char *const jid) } GHashTable* -connection_get_features(const char *const jid) +connection_get_features(const char* const jid) { return g_hash_table_lookup(conn.features_by_jid, jid); } @@ -475,13 +480,13 @@ connection_get_available_resources(void) } void -connection_add_available_resource(Resource *resource) +connection_add_available_resource(Resource* resource) { g_hash_table_replace(conn.available_resources, strdup(resource->name), resource); } void -connection_remove_available_resource(const char *const resource) +connection_remove_available_resource(const char* const resource) { g_hash_table_remove(conn.available_resources, resource); } @@ -493,7 +498,7 @@ connection_create_uuid(void) } void -connection_free_uuid(char *uuid) +connection_free_uuid(char* uuid) { if (uuid) { xmpp_free(conn.xmpp_ctx, uuid); @@ -503,21 +508,21 @@ connection_free_uuid(char *uuid) char* connection_create_stanza_id(void) { - char *uuid = connection_create_uuid(); + char* uuid = connection_create_uuid(); assert(uuid != NULL); - gchar *hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, - (guchar*)prof_identifier, strlen(prof_identifier), - uuid, strlen(uuid)); + gchar* hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, + (guchar*)prof_identifier, strlen(prof_identifier), + uuid, strlen(uuid)); - GString *signature = g_string_new(""); + GString* signature = g_string_new(""); g_string_printf(signature, "%s%s", uuid, hmac); free(uuid); g_free(hmac); - char *b64 = g_base64_encode((unsigned char*)signature->str, signature->len); + char* b64 = g_base64_encode((unsigned char*)signature->str, signature->len); g_string_free(signature, TRUE); assert(b64 != NULL); @@ -538,7 +543,7 @@ connection_get_presence_msg(void) } void -connection_set_presence_msg(const char *const message) +connection_set_presence_msg(const char* const message) { FREE_SET_NULL(conn.presence_message); if (message) { @@ -553,8 +558,8 @@ connection_set_priority(const int priority) } static void -_connection_handler(xmpp_conn_t *const xmpp_conn, const xmpp_conn_event_t status, const int error, - xmpp_stream_error_t *const stream_error, void *const userdata) +_connection_handler(xmpp_conn_t* const xmpp_conn, const xmpp_conn_event_t status, const int error, + xmpp_stream_error_t* const stream_error, void* const userdata) { conn.conn_last_event = status; @@ -565,7 +570,7 @@ _connection_handler(xmpp_conn_t *const xmpp_conn, const xmpp_conn_event_t status log_debug("Connection handler: XMPP_CONN_CONNECT"); conn.conn_status = JABBER_CONNECTED; - Jid *my_jid = jid_create(xmpp_conn_get_jid(conn.xmpp_conn)); + Jid* my_jid = jid_create(xmpp_conn_get_jid(conn.xmpp_conn)); conn.domain = strdup(my_jid->domainpart); jid_destroy(my_jid); @@ -585,7 +590,7 @@ _connection_handler(xmpp_conn_t *const xmpp_conn, const xmpp_conn_event_t status log_debug("Connection handler: Lost connection for unknown reason"); session_lost_connection(); - // login attempt failed + // login attempt failed } else if (conn.conn_status != JABBER_DISCONNECTING) { log_debug("Connection handler: Login failed"); session_login_failed(); @@ -610,9 +615,9 @@ _connection_handler(xmpp_conn_t *const xmpp_conn, const xmpp_conn_event_t status #ifdef HAVE_LIBMESODE static int -_connection_certfail_cb(xmpp_tlscert_t *xmpptlscert, const char *const errormsg) +_connection_certfail_cb(xmpp_tlscert_t* xmpptlscert, const char* const errormsg) { - TLSCertificate *cert = _xmppcert_to_profcert(xmpptlscert); + TLSCertificate* cert = _xmppcert_to_profcert(xmpptlscert); int res = sv_ev_certfail(errormsg, cert); tlscerts_free(cert); @@ -621,7 +626,7 @@ _connection_certfail_cb(xmpp_tlscert_t *xmpptlscert, const char *const errormsg) } TLSCertificate* -_xmppcert_to_profcert(xmpp_tlscert_t *xmpptlscert) +_xmppcert_to_profcert(xmpp_tlscert_t* xmpptlscert) { return tlscerts_new( xmpp_conn_tlscert_fingerprint(xmpptlscert), @@ -643,13 +648,21 @@ _xmpp_get_file_logger(void) xmpp_log_level_t xmpp_level = XMPP_LEVEL_ERROR; switch (prof_level) { - case PROF_LEVEL_DEBUG: xmpp_level = XMPP_LEVEL_DEBUG; break; - case PROF_LEVEL_INFO: xmpp_level = XMPP_LEVEL_INFO; break; - case PROF_LEVEL_WARN: xmpp_level = XMPP_LEVEL_WARN; break; - default: xmpp_level = XMPP_LEVEL_ERROR; break; + case PROF_LEVEL_DEBUG: + xmpp_level = XMPP_LEVEL_DEBUG; + break; + case PROF_LEVEL_INFO: + xmpp_level = XMPP_LEVEL_INFO; + break; + case PROF_LEVEL_WARN: + xmpp_level = XMPP_LEVEL_WARN; + break; + default: + xmpp_level = XMPP_LEVEL_ERROR; + break; } - xmpp_log_t *file_log = malloc(sizeof(xmpp_log_t)); + xmpp_log_t* file_log = malloc(sizeof(xmpp_log_t)); file_log->handler = _xmpp_file_logger; file_log->userdata = &xmpp_level; @@ -657,15 +670,23 @@ _xmpp_get_file_logger(void) } static void -_xmpp_file_logger(void *const userdata, const xmpp_log_level_t xmpp_level, const char *const area, const char *const msg) +_xmpp_file_logger(void* const userdata, const xmpp_log_level_t xmpp_level, const char* const area, const char* const msg) { log_level_t prof_level = PROF_LEVEL_ERROR; switch (xmpp_level) { - case XMPP_LEVEL_DEBUG: prof_level = PROF_LEVEL_DEBUG; break; - case XMPP_LEVEL_INFO: prof_level = PROF_LEVEL_INFO; break; - case XMPP_LEVEL_WARN: prof_level = PROF_LEVEL_WARN; break; - default: prof_level = PROF_LEVEL_ERROR; break; + case XMPP_LEVEL_DEBUG: + prof_level = PROF_LEVEL_DEBUG; + break; + case XMPP_LEVEL_INFO: + prof_level = PROF_LEVEL_INFO; + break; + case XMPP_LEVEL_WARN: + prof_level = PROF_LEVEL_WARN; + break; + default: + prof_level = PROF_LEVEL_ERROR; + break; } log_msg(prof_level, area, msg); @@ -675,10 +696,11 @@ _xmpp_file_logger(void *const userdata, const xmpp_log_level_t xmpp_level, const } } -static void _random_bytes_init(void) +static void +_random_bytes_init(void) { - char *rndbytes_loc; - GKeyFile *rndbytes; + char* rndbytes_loc; + GKeyFile* rndbytes; rndbytes_loc = files_get_data_path(FILE_PROFANITY_IDENTIFIER); @@ -696,10 +718,10 @@ static void _random_bytes_init(void) g_key_file_set_string(rndbytes, "identifier", "random_bytes", profanity_instance_id); gsize g_data_size; - gchar *g_accounts_data = g_key_file_to_data(rndbytes, &g_data_size, NULL); + gchar* g_accounts_data = g_key_file_to_data(rndbytes, &g_data_size, NULL); - gchar *base = g_path_get_dirname(rndbytes_loc); - gchar *true_loc = get_file_or_linked(rndbytes_loc, base); + gchar* base = g_path_get_dirname(rndbytes_loc); + gchar* true_loc = get_file_or_linked(rndbytes_loc, base); g_file_set_contents(true_loc, g_accounts_data, g_data_size, NULL); g_free(base); @@ -711,18 +733,20 @@ static void _random_bytes_init(void) g_key_file_free(rndbytes); } -static void _random_bytes_close(void) +static void +_random_bytes_close(void) { g_free(profanity_instance_id); } -static void _compute_identifier(const char *barejid) +static void +_compute_identifier(const char* barejid) { - gchar *hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, - (guchar*)profanity_instance_id, strlen(profanity_instance_id), - barejid, strlen(barejid)); + gchar* hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, + (guchar*)profanity_instance_id, strlen(profanity_instance_id), + barejid, strlen(barejid)); - char *b64 = g_base64_encode((guchar*)hmac, XMPP_SHA1_DIGEST_SIZE); + char* b64 = g_base64_encode((guchar*)hmac, XMPP_SHA1_DIGEST_SIZE); assert(b64 != NULL); g_free(hmac); @@ -732,6 +756,8 @@ static void _compute_identifier(const char *barejid) prof_identifier = b64; } -const char* connection_get_profanity_identifier(void) { +const char* +connection_get_profanity_identifier(void) +{ return prof_identifier; } diff --git a/src/xmpp/connection.h b/src/xmpp/connection.h index 016a9d92..d638d037 100644 --- a/src/xmpp/connection.h +++ b/src/xmpp/connection.h @@ -42,26 +42,26 @@ void connection_init(void); void connection_shutdown(void); void connection_check_events(void); -jabber_conn_status_t connection_connect(const char *const fulljid, const char *const passwd, const char *const altdomain, int port, - const char *const tls_policy, const char *const auth_policy); +jabber_conn_status_t connection_connect(const char* const fulljid, const char* const passwd, const char* const altdomain, int port, + const char* const tls_policy, const char* const auth_policy); void connection_disconnect(void); void connection_set_disconnected(void); void connection_set_priority(const int priority); void connection_set_priority(int priority); -void connection_set_disco_items(GSList *items); +void connection_set_disco_items(GSList* items); xmpp_conn_t* connection_get_conn(void); xmpp_ctx_t* connection_get_ctx(void); -char *connection_get_domain(void); +char* connection_get_domain(void); void connection_request_features(void); -void connection_features_received(const char *const jid); -GHashTable* connection_get_features(const char *const jid); +void connection_features_received(const char* const jid); +GHashTable* connection_get_features(const char* const jid); void connection_clear_data(void); -void connection_add_available_resource(Resource *resource); -void connection_remove_available_resource(const char *const resource); +void connection_add_available_resource(Resource* resource); +void connection_remove_available_resource(const char* const resource); char* connection_create_stanza_id(void); diff --git a/src/xmpp/contact.c b/src/xmpp/contact.c index 31568237..cb1b7f05 100644 --- a/src/xmpp/contact.c +++ b/src/xmpp/contact.c @@ -44,24 +44,25 @@ #include "xmpp/resource.h" #include "xmpp/contact.h" -struct p_contact_t { - char *barejid; - gchar *barejid_collate_key; - char *name; - gchar *name_collate_key; - GSList *groups; - char *subscription; - char *offline_message; +struct p_contact_t +{ + char* barejid; + gchar* barejid_collate_key; + char* name; + gchar* name_collate_key; + GSList* groups; + char* subscription; + char* offline_message; gboolean pending_out; - GDateTime *last_activity; - GHashTable *available_resources; + GDateTime* last_activity; + GHashTable* available_resources; Autocomplete resource_ac; }; PContact -p_contact_new(const char *const barejid, const char *const name, - GSList *groups, const char *const subscription, - const char *const offline_message, gboolean pending_out) +p_contact_new(const char* const barejid, const char* const name, + GSList* groups, const char* const subscription, + const char* const offline_message, gboolean pending_out) { PContact contact = malloc(sizeof(struct p_contact_t)); contact->barejid = strdup(barejid); @@ -91,7 +92,7 @@ p_contact_new(const char *const barejid, const char *const name, contact->last_activity = NULL; contact->available_resources = g_hash_table_new_full(g_str_hash, g_str_equal, free, - (GDestroyNotify)resource_destroy); + (GDestroyNotify)resource_destroy); contact->resource_ac = autocomplete_new(); @@ -99,7 +100,7 @@ p_contact_new(const char *const barejid, const char *const name, } void -p_contact_set_name(const PContact contact, const char *const name) +p_contact_set_name(const PContact contact, const char* const name) { FREE_SET_NULL(contact->name); FREE_SET_NULL(contact->name_collate_key); @@ -110,7 +111,7 @@ p_contact_set_name(const PContact contact, const char *const name) } void -p_contact_set_groups(const PContact contact, GSList *groups) +p_contact_set_groups(const PContact contact, GSList* groups) { if (contact->groups) { g_slist_free_full(contact->groups, g_free); @@ -121,9 +122,9 @@ p_contact_set_groups(const PContact contact, GSList *groups) } gboolean -p_contact_in_group(const PContact contact, const char *const group) +p_contact_in_group(const PContact contact, const char* const group) { - GSList *groups = contact->groups; + GSList* groups = contact->groups; while (groups) { if (strcmp(groups->data, group) == 0) { return TRUE; @@ -141,7 +142,7 @@ p_contact_groups(const PContact contact) } gboolean -p_contact_remove_resource(PContact contact, const char *const resource) +p_contact_remove_resource(PContact contact, const char* const resource) { gboolean result = g_hash_table_remove(contact->available_resources, resource); autocomplete_remove(contact->resource_ac, resource); @@ -209,12 +210,12 @@ p_contact_name_or_jid(const PContact contact) } char* -p_contact_create_display_string(const PContact contact, const char *const resource) +p_contact_create_display_string(const PContact contact, const char* const resource) { - GString *result_str = g_string_new(""); + GString* result_str = g_string_new(""); // use nickname if exists - const char *display_name = p_contact_name_or_jid(contact); + const char* display_name = p_contact_name_or_jid(contact); g_string_append(result_str, display_name); // add resource if not default provided by profanity @@ -224,14 +225,14 @@ p_contact_create_display_string(const PContact contact, const char *const resour g_string_append(result_str, ")"); } - char *result = result_str->str; + char* result = result_str->str; g_string_free(result_str, FALSE); return result; } static Resource* -_highest_presence(Resource *first, Resource *second) +_highest_presence(Resource* first, Resource* second) { if (first->presence == RESOURCE_CHAT) { return first; @@ -264,10 +265,10 @@ _get_most_available_resource(PContact contact) // away // xa // dnd - GList *resources = g_hash_table_get_values(contact->available_resources); - GList *curr = resources; - Resource *current = curr->data; - Resource *highest = current; + GList* resources = g_hash_table_get_values(contact->available_resources); + GList* curr = resources; + Resource* current = curr->data; + Resource* highest = current; curr = g_list_next(curr); while (curr) { current = curr->data; @@ -276,7 +277,7 @@ _get_most_available_resource(PContact contact) if (current->priority == highest->priority) { highest = _highest_presence(highest, current); - // priority higher than current highest, set new presence + // priority higher than current highest, set new presence } else if (current->priority > highest->priority) { highest = current; } @@ -298,7 +299,7 @@ p_contact_presence(const PContact contact) return "offline"; } - Resource *resource = _get_most_available_resource(contact); + Resource* resource = _get_most_available_resource(contact); return string_from_resource_presence(resource->presence); } @@ -313,7 +314,7 @@ p_contact_status(const PContact contact) return contact->offline_message; } - Resource *resource = _get_most_available_resource(contact); + Resource* resource = _get_most_available_resource(contact); return resource->status; } @@ -339,7 +340,7 @@ p_contact_subscribed(const PContact contact) } Resource* -p_contact_get_resource(const PContact contact, const char *const resource) +p_contact_get_resource(const PContact contact, const char* const resource) { return g_hash_table_lookup(contact->available_resources, resource); } @@ -360,12 +361,12 @@ GList* p_contact_get_available_resources(const PContact contact) { assert(contact != NULL); - GList *resources = g_hash_table_get_values(contact->available_resources); - GList *ordered = NULL; + GList* resources = g_hash_table_get_values(contact->available_resources); + GList* ordered = NULL; - GList *curr_resource = resources; + GList* curr_resource = resources; while (curr_resource) { - Resource *resource = curr_resource->data; + Resource* resource = curr_resource->data; ordered = g_list_insert_sorted(ordered, resource, (GCompareFunc)resource_compare_availability); curr_resource = g_list_next(curr_resource); } @@ -384,9 +385,8 @@ p_contact_is_available(const PContact contact) } // if most available resource is CHAT or ONLINE, available - Resource *most_available = _get_most_available_resource(contact); - if ((most_available->presence == RESOURCE_ONLINE) || - (most_available->presence == RESOURCE_CHAT)) { + Resource* most_available = _get_most_available_resource(contact); + if ((most_available->presence == RESOURCE_ONLINE) || (most_available->presence == RESOURCE_CHAT)) { return TRUE; } else { return FALSE; @@ -400,14 +400,14 @@ p_contact_has_available_resource(const PContact contact) } void -p_contact_set_presence(const PContact contact, Resource *resource) +p_contact_set_presence(const PContact contact, Resource* resource) { g_hash_table_replace(contact->available_resources, strdup(resource->name), resource); autocomplete_add(contact->resource_ac, resource->name); } void -p_contact_set_subscription(const PContact contact, const char *const subscription) +p_contact_set_subscription(const PContact contact, const char* const subscription) { FREE_SET_NULL(contact->subscription); if (subscription) { @@ -422,7 +422,7 @@ p_contact_set_pending_out(const PContact contact, gboolean pending_out) } void -p_contact_set_last_activity(const PContact contact, GDateTime *last_activity) +p_contact_set_last_activity(const PContact contact, GDateTime* last_activity) { if (contact->last_activity) { g_date_time_unref(contact->last_activity); diff --git a/src/xmpp/contact.h b/src/xmpp/contact.h index 28b6e60c..26e73c1d 100644 --- a/src/xmpp/contact.h +++ b/src/xmpp/contact.h @@ -39,12 +39,12 @@ #include "tools/autocomplete.h" #include "xmpp/resource.h" -typedef struct p_contact_t *PContact; +typedef struct p_contact_t* PContact; -PContact p_contact_new(const char *const barejid, const char *const name, GSList *groups, - const char *const subscription, const char *const offline_message, gboolean pending_out); -void p_contact_add_resource(PContact contact, Resource *resource); -gboolean p_contact_remove_resource(PContact contact, const char *const resource); +PContact p_contact_new(const char* const barejid, const char* const name, GSList* groups, + const char* const subscription, const char* const offline_message, gboolean pending_out); +void p_contact_add_resource(PContact contact, Resource* resource); +gboolean p_contact_remove_resource(PContact contact, const char* const resource); void p_contact_free(PContact contact); const char* p_contact_barejid(PContact contact); const char* p_contact_barejid_collate_key(PContact contact); @@ -57,20 +57,20 @@ const char* p_contact_subscription(const PContact contact); GList* p_contact_get_available_resources(const PContact contact); GDateTime* p_contact_last_activity(const PContact contact); gboolean p_contact_pending_out(const PContact contact); -void p_contact_set_presence(const PContact contact, Resource *resource); -void p_contact_set_status(const PContact contact, const char *const status); -void p_contact_set_name(const PContact contact, const char *const name); -void p_contact_set_subscription(const PContact contact, const char *const subscription); +void p_contact_set_presence(const PContact contact, Resource* resource); +void p_contact_set_status(const PContact contact, const char* const status); +void p_contact_set_name(const PContact contact, const char* const name); +void p_contact_set_subscription(const PContact contact, const char* const subscription); void p_contact_set_pending_out(const PContact contact, gboolean pending_out); -void p_contact_set_last_activity(const PContact contact, GDateTime *last_activity); +void p_contact_set_last_activity(const PContact contact, GDateTime* last_activity); gboolean p_contact_is_available(const PContact contact); gboolean p_contact_has_available_resource(const PContact contact); -Resource* p_contact_get_resource(const PContact contact, const char *const resource); -void p_contact_set_groups(const PContact contact, GSList *groups); +Resource* p_contact_get_resource(const PContact contact, const char* const resource); +void p_contact_set_groups(const PContact contact, GSList* groups); GSList* p_contact_groups(const PContact contact); -gboolean p_contact_in_group(const PContact contact, const char *const group); +gboolean p_contact_in_group(const PContact contact, const char* const group); gboolean p_contact_subscribed(const PContact contact); -char* p_contact_create_display_string(const PContact contact, const char *const resource); +char* p_contact_create_display_string(const PContact contact, const char* const resource); Autocomplete p_contact_resource_ac(const PContact contact); void p_contact_resource_ac_reset(const PContact contact); diff --git a/src/xmpp/form.c b/src/xmpp/form.c index 0e778ad3..a1fa31d4 100644 --- a/src/xmpp/form.c +++ b/src/xmpp/form.c @@ -54,25 +54,22 @@ #include "xmpp/connection.h" static gboolean -_is_valid_form_element(xmpp_stanza_t *stanza) +_is_valid_form_element(xmpp_stanza_t* stanza) { - const char *name = xmpp_stanza_get_name(stanza); + const char* name = xmpp_stanza_get_name(stanza); if (g_strcmp0(name, STANZA_NAME_X) != 0) { log_error("Error parsing form, root element not <x/>."); return FALSE; } - const char *ns = xmpp_stanza_get_ns(stanza); + const char* ns = xmpp_stanza_get_ns(stanza); if (g_strcmp0(ns, STANZA_NS_DATA) != 0) { log_error("Error parsing form, namespace not %s.", STANZA_NS_DATA); return FALSE; } - const char *type = xmpp_stanza_get_type(stanza); - if ((g_strcmp0(type, "form") != 0) && - (g_strcmp0(type, "submit") != 0) && - (g_strcmp0(type, "cancel") != 0) && - (g_strcmp0(type, "result") != 0)) { + const char* type = xmpp_stanza_get_type(stanza); + if ((g_strcmp0(type, "form") != 0) && (g_strcmp0(type, "submit") != 0) && (g_strcmp0(type, "cancel") != 0) && (g_strcmp0(type, "result") != 0)) { log_error("Error parsing form, unknown type."); return FALSE; } @@ -83,7 +80,7 @@ _is_valid_form_element(xmpp_stanza_t *stanza) static DataForm* _form_new(void) { - DataForm *form = calloc(1, sizeof(DataForm)); + DataForm* form = calloc(1, sizeof(DataForm)); return form; } @@ -91,20 +88,20 @@ _form_new(void) static FormField* _field_new(void) { - FormField *field = calloc(1, sizeof(FormField)); + FormField* field = calloc(1, sizeof(FormField)); return field; } static char* -_get_property(xmpp_stanza_t *const stanza, const char *const property) +_get_property(xmpp_stanza_t* const stanza, const char* const property) { - char *result = NULL; - xmpp_ctx_t *ctx = connection_get_ctx(); + char* result = NULL; + xmpp_ctx_t* ctx = connection_get_ctx(); - xmpp_stanza_t *child = xmpp_stanza_get_child_by_name(stanza, property); + xmpp_stanza_t* child = xmpp_stanza_get_child_by_name(stanza, property); if (child) { - char *child_text = xmpp_stanza_get_text(child); + char* child_text = xmpp_stanza_get_text(child); if (child_text) { result = strdup(child_text); xmpp_free(ctx, child_text); @@ -115,9 +112,9 @@ _get_property(xmpp_stanza_t *const stanza, const char *const property) } static char* -_get_attr(xmpp_stanza_t *const stanza, const char *const attr) +_get_attr(xmpp_stanza_t* const stanza, const char* const attr) { - const char *result = xmpp_stanza_get_attribute(stanza, attr); + const char* result = xmpp_stanza_get_attribute(stanza, attr); if (result) { return strdup(result); } else { @@ -126,9 +123,9 @@ _get_attr(xmpp_stanza_t *const stanza, const char *const attr) } static gboolean -_is_required(xmpp_stanza_t *const stanza) +_is_required(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *child = xmpp_stanza_get_child_by_name(stanza, "required"); + xmpp_stanza_t* child = xmpp_stanza_get_child_by_name(stanza, "required"); if (child) { return TRUE; } else { @@ -137,7 +134,7 @@ _is_required(xmpp_stanza_t *const stanza) } static form_field_type_t -_get_field_type(const char *const type) +_get_field_type(const char* const type) { if (g_strcmp0(type, "hidden") == 0) { return FIELD_HIDDEN; @@ -173,15 +170,15 @@ _get_field_type(const char *const type) } DataForm* -form_create(xmpp_stanza_t *const form_stanza) +form_create(xmpp_stanza_t* const form_stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); if (!_is_valid_form_element(form_stanza)) { return NULL; } - DataForm *form = _form_new(); + DataForm* form = _form_new(); form->type = _get_attr(form_stanza, "type"); form->title = _get_property(form_stanza, "title"); form->instructions = _get_property(form_stanza, "instructions"); @@ -193,13 +190,13 @@ form_create(xmpp_stanza_t *const form_stanza) int tag_num = 1; // get fields - xmpp_stanza_t *form_child = xmpp_stanza_get_children(form_stanza); + xmpp_stanza_t* form_child = xmpp_stanza_get_children(form_stanza); while (form_child) { - const char *child_name = xmpp_stanza_get_name(form_child); + const char* child_name = xmpp_stanza_get_name(form_child); if (g_strcmp0(child_name, "field") == 0) { - xmpp_stanza_t *field_stanza = form_child; + xmpp_stanza_t* field_stanza = form_child; - FormField *field = _field_new(); + FormField* field = _field_new(); field->label = _get_attr(field_stanza, "label"); field->type = _get_attr(field_stanza, "type"); field->type_t = _get_field_type(field->type); @@ -208,7 +205,7 @@ form_create(xmpp_stanza_t *const form_stanza) field->var = _get_attr(field_stanza, "var"); if (field->type_t != FIELD_HIDDEN && field->var) { - GString *tag = g_string_new(""); + GString* tag = g_string_new(""); g_string_printf(tag, "field%d", tag_num++); g_hash_table_insert(form->var_to_tag, strdup(field->var), strdup(tag->str)); g_hash_table_insert(form->tag_to_var, strdup(tag->str), strdup(field->var)); @@ -220,19 +217,19 @@ form_create(xmpp_stanza_t *const form_stanza) field->required = _is_required(field_stanza); // handle repeated field children - xmpp_stanza_t *field_child = xmpp_stanza_get_children(field_stanza); + xmpp_stanza_t* field_child = xmpp_stanza_get_children(field_stanza); int value_index = 1; while (field_child) { child_name = xmpp_stanza_get_name(field_child); // handle values if (g_strcmp0(child_name, "value") == 0) { - char *value = xmpp_stanza_get_text(field_child); + char* value = xmpp_stanza_get_text(field_child); if (value) { field->values = g_slist_append(field->values, strdup(value)); if (field->type_t == FIELD_TEXT_MULTI) { - GString *ac_val = g_string_new(""); + GString* ac_val = g_string_new(""); g_string_printf(ac_val, "val%d", value_index++); autocomplete_add(field->value_ac, ac_val->str); g_string_free(ac_val, TRUE); @@ -244,9 +241,9 @@ form_create(xmpp_stanza_t *const form_stanza) xmpp_free(ctx, value); } - // handle options + // handle options } else if (g_strcmp0(child_name, "option") == 0) { - FormOption *option = malloc(sizeof(FormOption)); + FormOption* option = malloc(sizeof(FormOption)); option->label = _get_attr(field_child, "label"); option->value = _get_property(field_child, "value"); @@ -270,74 +267,74 @@ form_create(xmpp_stanza_t *const form_stanza) } xmpp_stanza_t* -form_create_submission(DataForm *form) +form_create_submission(DataForm* form) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_DATA); xmpp_stanza_set_type(x, "submit"); - GSList *curr_field = form->fields; + GSList* curr_field = form->fields; while (curr_field) { - FormField *field = curr_field->data; + FormField* field = curr_field->data; if (field->type_t != FIELD_FIXED) { - xmpp_stanza_t *field_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* field_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(field_stanza, "field"); xmpp_stanza_set_attribute(field_stanza, "var", field->var); - xmpp_stanza_t *value_stanza = NULL; - GSList *curr_value = NULL; + xmpp_stanza_t* value_stanza = NULL; + GSList* curr_value = NULL; switch (field->type_t) { - case FIELD_HIDDEN: - case FIELD_TEXT_SINGLE: - case FIELD_TEXT_PRIVATE: - case FIELD_BOOLEAN: - case FIELD_LIST_SINGLE: - case FIELD_JID_SINGLE: + case FIELD_HIDDEN: + case FIELD_TEXT_SINGLE: + case FIELD_TEXT_PRIVATE: + case FIELD_BOOLEAN: + case FIELD_LIST_SINGLE: + case FIELD_JID_SINGLE: + value_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(value_stanza, "value"); + if (field->values) { + if (field->values->data) { + xmpp_stanza_t* text_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_text(text_stanza, field->values->data); + xmpp_stanza_add_child(value_stanza, text_stanza); + xmpp_stanza_release(text_stanza); + } + } + xmpp_stanza_add_child(field_stanza, value_stanza); + xmpp_stanza_release(value_stanza); + + break; + + case FIELD_TEXT_MULTI: + case FIELD_LIST_MULTI: + case FIELD_JID_MULTI: + curr_value = field->values; + while (curr_value) { + char* value = curr_value->data; + value_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(value_stanza, "value"); - if (field->values) { - if (field->values->data) { - xmpp_stanza_t *text_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_text(text_stanza, field->values->data); - xmpp_stanza_add_child(value_stanza, text_stanza); - xmpp_stanza_release(text_stanza); - } + if (value) { + xmpp_stanza_t* text_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_text(text_stanza, value); + xmpp_stanza_add_child(value_stanza, text_stanza); + xmpp_stanza_release(text_stanza); } + xmpp_stanza_add_child(field_stanza, value_stanza); xmpp_stanza_release(value_stanza); - break; - - case FIELD_TEXT_MULTI: - case FIELD_LIST_MULTI: - case FIELD_JID_MULTI: - curr_value = field->values; - while (curr_value) { - char *value = curr_value->data; - - value_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(value_stanza, "value"); - if (value) { - xmpp_stanza_t *text_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_text(text_stanza, value); - xmpp_stanza_add_child(value_stanza, text_stanza); - xmpp_stanza_release(text_stanza); - } - - xmpp_stanza_add_child(field_stanza, value_stanza); - xmpp_stanza_release(value_stanza); - - curr_value = g_slist_next(curr_value); - } - break; - case FIELD_FIXED: - default: - break; + curr_value = g_slist_next(curr_value); + } + break; + case FIELD_FIXED: + default: + break; } xmpp_stanza_add_child(x, field_stanza); @@ -351,7 +348,7 @@ form_create_submission(DataForm *form) } static void -_free_option(FormOption *option) +_free_option(FormOption* option) { if (option) { free(option->label); @@ -361,7 +358,7 @@ _free_option(FormOption *option) } static void -_free_field(FormField *field) +_free_field(FormField* field) { if (field) { free(field->label); @@ -376,7 +373,7 @@ _free_field(FormField *field) } void -form_destroy(DataForm *form) +form_destroy(DataForm* form) { if (form) { free(form->type); @@ -391,18 +388,18 @@ form_destroy(DataForm *form) } static int -_field_compare_by_var(FormField *a, FormField *b) +_field_compare_by_var(FormField* a, FormField* b) { return g_strcmp0(a->var, b->var); } GSList* -form_get_non_form_type_fields_sorted(DataForm *form) +form_get_non_form_type_fields_sorted(DataForm* form) { - GSList *sorted = NULL; - GSList *curr = form->fields; + GSList* sorted = NULL; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, "FORM_TYPE") != 0) { sorted = g_slist_insert_sorted(sorted, field, (GCompareFunc)_field_compare_by_var); } @@ -413,12 +410,12 @@ form_get_non_form_type_fields_sorted(DataForm *form) } GSList* -form_get_field_values_sorted(FormField *field) +form_get_field_values_sorted(FormField* field) { - GSList *sorted = NULL; - GSList *curr = field->values; + GSList* sorted = NULL; + GSList* curr = field->values; while (curr) { - char *value = curr->data; + char* value = curr->data; if (value) { sorted = g_slist_insert_sorted(sorted, value, (GCompareFunc)g_strcmp0); } @@ -429,11 +426,11 @@ form_get_field_values_sorted(FormField *field) } char* -form_get_form_type_field(DataForm *form) +form_get_form_type_field(DataForm* form) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, "FORM_TYPE") == 0) { return field->values->data; } @@ -444,10 +441,10 @@ form_get_form_type_field(DataForm *form) } gboolean -form_tag_exists(DataForm *form, const char *const tag) +form_tag_exists(DataForm* form, const char* const tag) { - GList *tags = g_hash_table_get_keys(form->tag_to_var); - GList *curr = tags; + GList* tags = g_hash_table_get_keys(form->tag_to_var); + GList* curr = tags; while (curr) { if (g_strcmp0(curr->data, tag) == 0) { return TRUE; @@ -460,13 +457,13 @@ form_tag_exists(DataForm *form, const char *const tag) } form_field_type_t -form_get_field_type(DataForm *form, const char *const tag) +form_get_field_type(DataForm* form, const char* const tag) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { return field->type_t; } @@ -477,13 +474,13 @@ form_get_field_type(DataForm *form, const char *const tag) } void -form_set_value(DataForm *form, const char *const tag, char *value) +form_set_value(DataForm* form, const char* const tag, char* value) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { if (g_slist_length(field->values) == 0) { field->values = g_slist_append(field->values, strdup(value)); @@ -502,18 +499,18 @@ form_set_value(DataForm *form, const char *const tag, char *value) } void -form_add_value(DataForm *form, const char *const tag, char *value) +form_add_value(DataForm* form, const char* const tag, char* value) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { field->values = g_slist_append(field->values, strdup(value)); if (field->type_t == FIELD_TEXT_MULTI) { int total = g_slist_length(field->values); - GString *value_index = g_string_new(""); + GString* value_index = g_string_new(""); g_string_printf(value_index, "val%d", total); autocomplete_add(field->value_ac, value_index->str); g_string_free(value_index, TRUE); @@ -527,15 +524,15 @@ form_add_value(DataForm *form, const char *const tag, char *value) } gboolean -form_add_unique_value(DataForm *form, const char *const tag, char *value) +form_add_unique_value(DataForm* form, const char* const tag, char* value) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { - GSList *curr_value = field->values; + GSList* curr_value = field->values; while (curr_value) { if (g_strcmp0(curr_value->data, value) == 0) { return FALSE; @@ -558,15 +555,15 @@ form_add_unique_value(DataForm *form, const char *const tag, char *value) } gboolean -form_remove_value(DataForm *form, const char *const tag, char *value) +form_remove_value(DataForm* form, const char* const tag, char* value) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { - GSList *found = g_slist_find_custom(field->values, value, (GCompareFunc)g_strcmp0); + GSList* found = g_slist_find_custom(field->values, value, (GCompareFunc)g_strcmp0); if (found) { free(found->data); found->data = NULL; @@ -588,22 +585,22 @@ form_remove_value(DataForm *form, const char *const tag, char *value) } gboolean -form_remove_text_multi_value(DataForm *form, const char *const tag, int index) +form_remove_text_multi_value(DataForm* form, const char* const tag, int index) { index--; - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { - GSList *item = g_slist_nth(field->values, index); + GSList* item = g_slist_nth(field->values, index); if (item) { free(item->data); item->data = NULL; field->values = g_slist_delete_link(field->values, item); - GString *value_index = g_string_new(""); - g_string_printf(value_index, "val%d", index+1); + GString* value_index = g_string_new(""); + g_string_printf(value_index, "val%d", index + 1); autocomplete_remove(field->value_ac, value_index->str); g_string_free(value_index, TRUE); form->modified = TRUE; @@ -620,13 +617,13 @@ form_remove_text_multi_value(DataForm *form, const char *const tag, int index) } int -form_get_value_count(DataForm *form, const char *const tag) +form_get_value_count(DataForm* form, const char* const tag) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { if ((g_slist_length(field->values) == 1) && (field->values->data == NULL)) { return 0; @@ -642,17 +639,17 @@ form_get_value_count(DataForm *form, const char *const tag) } gboolean -form_field_contains_option(DataForm *form, const char *const tag, char *value) +form_field_contains_option(DataForm* form, const char* const tag, char* value) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { - GSList *curr_option = field->options; + GSList* curr_option = field->options; while (curr_option) { - FormOption *option = curr_option->data; + FormOption* option = curr_option->data; if (g_strcmp0(option->value, value) == 0) { return TRUE; } @@ -667,13 +664,13 @@ form_field_contains_option(DataForm *form, const char *const tag, char *value) } FormField* -form_get_field_by_tag(DataForm *form, const char *const tag) +form_get_field_by_tag(DataForm* form, const char* const tag) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { return field; } @@ -684,13 +681,13 @@ form_get_field_by_tag(DataForm *form, const char *const tag) } Autocomplete -form_get_value_ac(DataForm *form, const char *const tag) +form_get_value_ac(DataForm* form, const char* const tag) { - char *var = g_hash_table_lookup(form->tag_to_var, tag); + char* var = g_hash_table_lookup(form->tag_to_var, tag); if (var) { - GSList *curr = form->fields; + GSList* curr = form->fields; while (curr) { - FormField *field = curr->data; + FormField* field = curr->data; if (g_strcmp0(field->var, var) == 0) { return field->value_ac; } @@ -701,12 +698,12 @@ form_get_value_ac(DataForm *form, const char *const tag) } void -form_reset_autocompleters(DataForm *form) +form_reset_autocompleters(DataForm* form) { autocomplete_reset(form->tag_ac); - GSList *curr_field = form->fields; + GSList* curr_field = form->fields; while (curr_field) { - FormField *field = curr_field->data; + FormField* field = curr_field->data; autocomplete_reset(field->value_ac); curr_field = g_slist_next(curr_field); } diff --git a/src/xmpp/form.h b/src/xmpp/form.h index 4b61b4c2..b305addf 100644 --- a/src/xmpp/form.h +++ b/src/xmpp/form.h @@ -46,10 +46,10 @@ #include "xmpp/xmpp.h" -DataForm* form_create(xmpp_stanza_t *const stanza); -xmpp_stanza_t* form_create_submission(DataForm *form); -char* form_get_form_type_field(DataForm *form); -GSList* form_get_non_form_type_fields_sorted(DataForm *form); -GSList* form_get_field_values_sorted(FormField *field); +DataForm* form_create(xmpp_stanza_t* const stanza); +xmpp_stanza_t* form_create_submission(DataForm* form); +char* form_get_form_type_field(DataForm* form); +GSList* form_get_non_form_type_fields_sorted(DataForm* form); +GSList* form_get_field_values_sorted(FormField* field); #endif diff --git a/src/xmpp/iq.c b/src/xmpp/iq.c index 75bd73a1..d583eda0 100644 --- a/src/xmpp/iq.c +++ b/src/xmpp/iq.c @@ -77,91 +77,96 @@ #include "omemo/omemo.h" #endif -typedef struct p_room_info_data_t { - char *room; +typedef struct p_room_info_data_t +{ + char* room; gboolean display; } ProfRoomInfoData; -typedef struct p_iq_handle_t { +typedef struct p_iq_handle_t +{ ProfIqCallback func; ProfIqFreeCallback free_func; - void *userdata; + void* userdata; } ProfIqHandler; -typedef struct privilege_set_t { - char *item; - char *privilege; +typedef struct privilege_set_t +{ + char* item; + char* privilege; } ProfPrivilegeSet; -typedef struct affiliation_list_t { - char *affiliation; +typedef struct affiliation_list_t +{ + char* affiliation; bool show_ui_message; } ProfAffiliationList; -typedef struct command_config_data_t { - char *sessionid; - char *command; +typedef struct command_config_data_t +{ + char* sessionid; + char* command; } CommandConfigData; -static int _iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata); - -static void _error_handler(xmpp_stanza_t *const stanza); -static void _disco_info_get_handler(xmpp_stanza_t *const stanza); -static void _disco_items_get_handler(xmpp_stanza_t *const stanza); -static void _disco_items_result_handler(xmpp_stanza_t *const stanza); -static void _last_activity_get_handler(xmpp_stanza_t *const stanza); -static void _version_get_handler(xmpp_stanza_t *const stanza); -static void _ping_get_handler(xmpp_stanza_t *const stanza); - -static int _version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _disco_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _disco_info_response_id_handler_onconnect(xmpp_stanza_t *const stanza, void *const userdata); -static int _http_upload_response_id_handler(xmpp_stanza_t *const stanza, void *const upload_ctx); -static int _last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _destroy_room_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_config_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_config_submit_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_affiliation_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_affiliation_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_role_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_role_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_kick_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _enable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _disable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _manual_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata); - -static void _iq_free_room_data(ProfRoomInfoData *roominfo); -static void _iq_free_affiliation_set(ProfPrivilegeSet *affiliation_set); -static void _iq_free_affiliation_list(ProfAffiliationList *affiliation_list); -static void _iq_id_handler_free(ProfIqHandler *handler); +static int _iq_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata); + +static void _error_handler(xmpp_stanza_t* const stanza); +static void _disco_info_get_handler(xmpp_stanza_t* const stanza); +static void _disco_items_get_handler(xmpp_stanza_t* const stanza); +static void _disco_items_result_handler(xmpp_stanza_t* const stanza); +static void _last_activity_get_handler(xmpp_stanza_t* const stanza); +static void _version_get_handler(xmpp_stanza_t* const stanza); +static void _ping_get_handler(xmpp_stanza_t* const stanza); + +static int _version_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _disco_info_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _disco_info_response_id_handler_onconnect(xmpp_stanza_t* const stanza, void* const userdata); +static int _http_upload_response_id_handler(xmpp_stanza_t* const stanza, void* const upload_ctx); +static int _last_activity_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_info_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _destroy_room_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_config_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_config_submit_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_affiliation_list_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_affiliation_set_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_role_set_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_role_list_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_kick_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _enable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _disable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _manual_pong_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _caps_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _caps_response_for_jid_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _caps_response_legacy_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _auto_pong_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _room_list_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _command_list_result_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _command_exec_response_handler(xmpp_stanza_t* const stanza, void* const userdata); + +static void _iq_free_room_data(ProfRoomInfoData* roominfo); +static void _iq_free_affiliation_set(ProfPrivilegeSet* affiliation_set); +static void _iq_free_affiliation_list(ProfAffiliationList* affiliation_list); +static void _iq_id_handler_free(ProfIqHandler* handler); // scheduled -static int _autoping_timed_send(xmpp_conn_t *const conn, void *const userdata); +static int _autoping_timed_send(xmpp_conn_t* const conn, void* const userdata); -static void _identity_destroy(DiscoIdentity *identity); -static void _item_destroy(DiscoItem *item); +static void _identity_destroy(DiscoIdentity* identity); +static void _item_destroy(DiscoItem* item); static gboolean autoping_wait = FALSE; -static GTimer *autoping_time = NULL; -static GHashTable *id_handlers; -static GHashTable *rooms_cache = NULL; +static GTimer* autoping_time = NULL; +static GHashTable* id_handlers; +static GHashTable* rooms_cache = NULL; static int -_iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata) +_iq_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata) { log_debug("iq stanza handler fired"); iq_autoping_timer_cancel(); // reset the autoping timer - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); gboolean cont = plugins_on_iq_stanza_receive(text); @@ -170,18 +175,18 @@ _iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const us return 1; } - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { _error_handler(stanza); } - xmpp_stanza_t *discoinfo = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_INFO); + xmpp_stanza_t* discoinfo = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_INFO); if (discoinfo && (g_strcmp0(type, STANZA_TYPE_GET) == 0)) { _disco_info_get_handler(stanza); } - xmpp_stanza_t *discoitems = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_ITEMS); + xmpp_stanza_t* discoitems = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_ITEMS); if (discoitems && (g_strcmp0(type, STANZA_TYPE_GET) == 0)) { _disco_items_get_handler(stanza); } @@ -189,22 +194,22 @@ _iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const us _disco_items_result_handler(stanza); } - xmpp_stanza_t *lastactivity = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LASTACTIVITY); + xmpp_stanza_t* lastactivity = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LASTACTIVITY); if (lastactivity && (g_strcmp0(type, STANZA_TYPE_GET) == 0)) { _last_activity_get_handler(stanza); } - xmpp_stanza_t *version = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_VERSION); + xmpp_stanza_t* version = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_VERSION); if (version && (g_strcmp0(type, STANZA_TYPE_GET) == 0)) { _version_get_handler(stanza); } - xmpp_stanza_t *ping = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PING); + xmpp_stanza_t* ping = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PING); if (ping && (g_strcmp0(type, STANZA_TYPE_GET) == 0)) { _ping_get_handler(stanza); } - xmpp_stanza_t *roster = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_ROSTER); + xmpp_stanza_t* roster = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_ROSTER); if (roster && (g_strcmp0(type, STANZA_TYPE_SET) == 0)) { roster_set_handler(stanza); } @@ -212,14 +217,14 @@ _iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const us roster_result_handler(stanza); } - xmpp_stanza_t *blocking = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_BLOCKING); + xmpp_stanza_t* blocking = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_BLOCKING); if (blocking && (g_strcmp0(type, STANZA_TYPE_SET) == 0)) { blocked_set_handler(stanza); } - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { - ProfIqHandler *handler = g_hash_table_lookup(id_handlers, id); + ProfIqHandler* handler = g_hash_table_lookup(id_handlers, id); if (handler) { int keep = handler->func(stanza, handler->userdata); if (!keep) { @@ -234,8 +239,8 @@ _iq_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const us void iq_handlers_init(void) { - xmpp_conn_t * const conn = connection_get_conn(); - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_conn_t* const conn = connection_get_conn(); + xmpp_ctx_t* const ctx = connection_get_ctx(); xmpp_handler_add(conn, _iq_handler, NULL, STANZA_NAME_IQ, NULL, ctx); if (prefs_get_autoping() != 0) { @@ -260,7 +265,7 @@ iq_handlers_clear() } static void -_iq_id_handler_free(ProfIqHandler *handler) +_iq_id_handler_free(ProfIqHandler* handler) { if (handler == NULL) { return; @@ -272,9 +277,9 @@ _iq_id_handler_free(ProfIqHandler *handler) } void -iq_id_handler_add(const char *const id, ProfIqCallback func, ProfIqFreeCallback free_func, void *userdata) +iq_id_handler_add(const char* const id, ProfIqCallback func, ProfIqFreeCallback free_func, void* userdata) { - ProfIqHandler *handler = malloc(sizeof(ProfIqHandler)); + ProfIqHandler* handler = malloc(sizeof(ProfIqHandler)); handler->func = func; handler->free_func = free_func; handler->userdata = userdata; @@ -325,7 +330,7 @@ iq_set_autoping(const int seconds) return; } - xmpp_conn_t * const conn = connection_get_conn(); + xmpp_conn_t* const conn = connection_get_conn(); xmpp_timed_handler_delete(conn, _autoping_timed_send); if (seconds == 0) { @@ -333,7 +338,7 @@ iq_set_autoping(const int seconds) } int millis = seconds * 1000; - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); xmpp_timed_handler_add(conn, _autoping_timed_send, millis, ctx); } @@ -348,7 +353,7 @@ iq_rooms_cache_clear(void) } void -iq_room_list_request(gchar *conferencejid, gchar *filter) +iq_room_list_request(gchar* conferencejid, gchar* filter) { if (g_hash_table_contains(rooms_cache, conferencejid)) { log_debug("Rooms request cached for: %s", conferencejid); @@ -358,9 +363,9 @@ iq_room_list_request(gchar *conferencejid, gchar *filter) log_debug("Rooms request not cached for: %s", conferencejid); - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, id, conferencejid, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_disco_items_iq(ctx, id, conferencejid, NULL); iq_id_handler_add(id, _room_list_id_handler, NULL, filter); @@ -371,9 +376,9 @@ iq_room_list_request(gchar *conferencejid, gchar *filter) void iq_enable_carbons(void) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_enable_carbons(ctx); - const char *id = xmpp_stanza_get_id(iq); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_enable_carbons(ctx); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _enable_carbons_id_handler, NULL, NULL); @@ -384,9 +389,9 @@ iq_enable_carbons(void) void iq_disable_carbons(void) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_disable_carbons(ctx); - const char *id = xmpp_stanza_get_id(iq); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_disable_carbons(ctx); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _disable_carbons_id_handler, NULL, NULL); @@ -395,17 +400,17 @@ iq_disable_carbons(void) } void -iq_http_upload_request(HTTPUpload *upload) +iq_http_upload_request(HTTPUpload* upload) { - char *jid = connection_jid_for_feature(STANZA_NS_HTTP_UPLOAD); + char* jid = connection_jid_for_feature(STANZA_NS_HTTP_UPLOAD); if (jid == NULL) { cons_show_error("XEP-0363 HTTP File Upload is not supported by the server"); return; } - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_http_upload_request(ctx, id, jid, upload); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_http_upload_request(ctx, id, jid, upload); iq_id_handler_add(id, _http_upload_response_id_handler, NULL, upload); free(id); @@ -416,11 +421,11 @@ iq_http_upload_request(HTTPUpload *upload) } void -iq_disco_info_request(gchar *jid) +iq_disco_info_request(gchar* jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, jid, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, jid, NULL); iq_id_handler_add(id, _disco_info_response_id_handler, NULL, NULL); @@ -431,11 +436,11 @@ iq_disco_info_request(gchar *jid) } void -iq_disco_info_request_onconnect(gchar *jid) +iq_disco_info_request_onconnect(gchar* jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, jid, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, jid, NULL); iq_id_handler_add(id, _disco_info_response_id_handler_onconnect, NULL, NULL); @@ -446,11 +451,11 @@ iq_disco_info_request_onconnect(gchar *jid) } void -iq_last_activity_request(gchar *jid) +iq_last_activity_request(gchar* jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_last_activity_iq(ctx, id, jid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_last_activity_iq(ctx, id, jid); iq_id_handler_add(id, _last_activity_response_id_handler, NULL, NULL); @@ -461,13 +466,13 @@ iq_last_activity_request(gchar *jid) } void -iq_room_info_request(const char *const room, gboolean display_result) +iq_room_info_request(const char* const room, gboolean display_result) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, room, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, room, NULL); - ProfRoomInfoData *cb_data = malloc(sizeof(ProfRoomInfoData)); + ProfRoomInfoData* cb_data = malloc(sizeof(ProfRoomInfoData)); cb_data->room = strdup(room); cb_data->display = display_result; @@ -480,10 +485,10 @@ iq_room_info_request(const char *const room, gboolean display_result) } void -iq_send_caps_request_for_jid(const char *const to, const char *const id, - const char *const node, const char *const ver) +iq_send_caps_request_for_jid(const char* const to, const char* const id, + const char* const node, const char* const ver) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); if (!node) { log_error("Could not create caps request, no node"); @@ -494,9 +499,9 @@ iq_send_caps_request_for_jid(const char *const to, const char *const id, return; } - GString *node_str = g_string_new(""); + GString* node_str = g_string_new(""); g_string_printf(node_str, "%s#%s", node, ver); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); g_string_free(node_str, TRUE); iq_id_handler_add(id, _caps_response_for_jid_id_handler, free, strdup(to)); @@ -506,10 +511,10 @@ iq_send_caps_request_for_jid(const char *const to, const char *const id, } void -iq_send_caps_request(const char *const to, const char *const id, - const char *const node, const char *const ver) +iq_send_caps_request(const char* const to, const char* const id, + const char* const node, const char* const ver) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); if (!node) { log_error("Could not create caps request, no node"); @@ -520,9 +525,9 @@ iq_send_caps_request(const char *const to, const char *const id, return; } - GString *node_str = g_string_new(""); + GString* node_str = g_string_new(""); g_string_printf(node_str, "%s#%s", node, ver); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); g_string_free(node_str, TRUE); iq_id_handler_add(id, _caps_response_id_handler, NULL, NULL); @@ -532,10 +537,10 @@ iq_send_caps_request(const char *const to, const char *const id, } void -iq_send_caps_request_legacy(const char *const to, const char *const id, - const char *const node, const char *const ver) +iq_send_caps_request_legacy(const char* const to, const char* const id, + const char* const node, const char* const ver) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); if (!node) { log_error("Could not create caps request, no node"); @@ -546,9 +551,9 @@ iq_send_caps_request_legacy(const char *const to, const char *const id, return; } - GString *node_str = g_string_new(""); + GString* node_str = g_string_new(""); g_string_printf(node_str, "%s#%s", node, ver); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str); iq_id_handler_add(id, _caps_response_legacy_id_handler, g_free, node_str->str); g_string_free(node_str, FALSE); @@ -558,30 +563,30 @@ iq_send_caps_request_legacy(const char *const to, const char *const id, } void -iq_disco_items_request(gchar *jid) +iq_disco_items_request(gchar* jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, "discoitemsreq", jid, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_disco_items_iq(ctx, "discoitemsreq", jid, NULL); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -iq_disco_items_request_onconnect(gchar *jid) +iq_disco_items_request_onconnect(gchar* jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, "discoitemsreq_onconnect", jid, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_disco_items_iq(ctx, "discoitemsreq_onconnect", jid, NULL); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -iq_send_software_version(const char *const fulljid) +iq_send_software_version(const char* const fulljid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_software_version_iq(ctx, fulljid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_software_version_iq(ctx, fulljid); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _version_result_id_handler, free, strdup(fulljid)); iq_send_stanza(iq); @@ -589,21 +594,21 @@ iq_send_software_version(const char *const fulljid) } void -iq_confirm_instant_room(const char *const room_jid) +iq_confirm_instant_room(const char* const room_jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_instant_room_request_iq(ctx, room_jid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_instant_room_request_iq(ctx, room_jid); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -iq_destroy_room(const char *const room_jid) +iq_destroy_room(const char* const room_jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_instant_room_destroy_iq(ctx, room_jid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_instant_room_destroy_iq(ctx, room_jid); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _destroy_room_result_id_handler, NULL, NULL); iq_send_stanza(iq); @@ -611,12 +616,12 @@ iq_destroy_room(const char *const room_jid) } void -iq_request_room_config_form(const char *const room_jid) +iq_request_room_config_form(const char* const room_jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_config_request_iq(ctx, room_jid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_config_request_iq(ctx, room_jid); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _room_config_id_handler, NULL, NULL); iq_send_stanza(iq); @@ -624,12 +629,12 @@ iq_request_room_config_form(const char *const room_jid) } void -iq_submit_room_config(ProfConfWin *confwin) +iq_submit_room_config(ProfConfWin* confwin) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_config_submit_iq(ctx, confwin->roomjid, confwin->form); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_config_submit_iq(ctx, confwin->roomjid, confwin->form); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _room_config_submit_id_handler, NULL, NULL); iq_send_stanza(iq); @@ -637,23 +642,23 @@ iq_submit_room_config(ProfConfWin *confwin) } void -iq_room_config_cancel(ProfConfWin *confwin) +iq_room_config_cancel(ProfConfWin* confwin) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_config_cancel_iq(ctx, confwin->roomjid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_config_cancel_iq(ctx, confwin->roomjid); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -iq_room_affiliation_list(const char *const room, char *affiliation, bool show_ui_message) +iq_room_affiliation_list(const char* const room, char* affiliation, bool show_ui_message) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_affiliation_list_iq(ctx, room, affiliation); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_affiliation_list_iq(ctx, room, affiliation); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); - ProfAffiliationList *affiliation_list = malloc(sizeof(ProfAffiliationList)); + ProfAffiliationList* affiliation_list = malloc(sizeof(ProfAffiliationList)); affiliation_list->affiliation = strdup(affiliation); affiliation_list->show_ui_message = show_ui_message; @@ -664,12 +669,12 @@ iq_room_affiliation_list(const char *const room, char *affiliation, bool show_ui } void -iq_room_kick_occupant(const char *const room, const char *const nick, const char *const reason) +iq_room_kick_occupant(const char* const room, const char* const nick, const char* const reason) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_kick_iq(ctx, room, nick, reason); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_kick_iq(ctx, room, nick, reason); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _room_kick_result_id_handler, free, strdup(nick)); iq_send_stanza(iq); @@ -677,15 +682,15 @@ iq_room_kick_occupant(const char *const room, const char *const nick, const char } void -iq_room_affiliation_set(const char *const room, const char *const jid, char *affiliation, - const char *const reason) +iq_room_affiliation_set(const char* const room, const char* const jid, char* affiliation, + const char* const reason) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_affiliation_set_iq(ctx, room, jid, affiliation, reason); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_affiliation_set_iq(ctx, room, jid, affiliation, reason); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); - ProfPrivilegeSet *affiliation_set = malloc(sizeof(struct privilege_set_t)); + ProfPrivilegeSet* affiliation_set = malloc(sizeof(struct privilege_set_t)); affiliation_set->item = strdup(jid); affiliation_set->privilege = strdup(affiliation); @@ -696,15 +701,15 @@ iq_room_affiliation_set(const char *const room, const char *const jid, char *aff } void -iq_room_role_set(const char *const room, const char *const nick, char *role, - const char *const reason) +iq_room_role_set(const char* const room, const char* const nick, char* role, + const char* const reason) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_role_set_iq(ctx, room, nick, role, reason); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_role_set_iq(ctx, room, nick, role, reason); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); - struct privilege_set_t *role_set = malloc(sizeof(ProfPrivilegeSet)); + struct privilege_set_t* role_set = malloc(sizeof(ProfPrivilegeSet)); role_set->item = strdup(nick); role_set->privilege = strdup(role); @@ -715,12 +720,12 @@ iq_room_role_set(const char *const room, const char *const nick, char *role, } void -iq_room_role_list(const char *const room, char *role) +iq_room_role_list(const char* const room, char* role) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_room_role_list_iq(ctx, room, role); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_room_role_list_iq(ctx, room, role); - const char *id = xmpp_stanza_get_id(iq); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _room_role_list_result_id_handler, free, strdup(role)); iq_send_stanza(iq); @@ -728,13 +733,13 @@ iq_room_role_list(const char *const room, char *role) } void -iq_send_ping(const char *const target) +iq_send_ping(const char* const target) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_ping_iq(ctx, target); - const char *id = xmpp_stanza_get_id(iq); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_ping_iq(ctx, target); + const char* id = xmpp_stanza_get_id(iq); - GDateTime *now = g_date_time_new_now_local(); + GDateTime* now = g_date_time_new_now_local(); iq_id_handler_add(id, _manual_pong_id_handler, (ProfIqFreeCallback)g_date_time_unref, now); iq_send_stanza(iq); @@ -742,11 +747,11 @@ iq_send_ping(const char *const target) } void -iq_command_list(const char *const target) +iq_command_list(const char* const target) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - const char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, id, target, STANZA_NS_COMMAND); + xmpp_ctx_t* const ctx = connection_get_ctx(); + const char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_disco_items_iq(ctx, id, target, STANZA_NS_COMMAND); iq_id_handler_add(id, _command_list_result_handler, NULL, NULL); @@ -755,11 +760,11 @@ iq_command_list(const char *const target) } void -iq_command_exec(const char *const target, const char *const command) +iq_command_exec(const char* const target, const char* const command) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_command_exec_iq(ctx, target, command); - const char *id = xmpp_stanza_get_id(iq); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_command_exec_iq(ctx, target, command); + const char* id = xmpp_stanza_get_id(iq); iq_id_handler_add(id, _command_exec_response_handler, free, strdup(command)); @@ -768,14 +773,14 @@ iq_command_exec(const char *const target, const char *const command) } void -iq_submit_command_config(ProfConfWin *confwin) +iq_submit_command_config(ProfConfWin* confwin) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - CommandConfigData *data = (CommandConfigData *)confwin->userdata; - xmpp_stanza_t *iq = stanza_create_command_config_submit_iq(ctx, confwin->roomjid, data->command, data->sessionid, confwin->form); + xmpp_ctx_t* const ctx = connection_get_ctx(); + CommandConfigData* data = (CommandConfigData*)confwin->userdata; + xmpp_stanza_t* iq = stanza_create_command_config_submit_iq(ctx, confwin->roomjid, data->command, data->sessionid, confwin->form); - const char *id = xmpp_stanza_get_id(iq); - iq_id_handler_add(id, _command_exec_response_handler, free, strdup(data->command)); + const char* id = xmpp_stanza_get_id(iq); + iq_id_handler_add(id, _command_exec_response_handler, free, strdup(data->command)); iq_send_stanza(iq); xmpp_stanza_release(iq); @@ -785,11 +790,11 @@ iq_submit_command_config(ProfConfWin *confwin) } void -iq_cancel_command_config(ProfConfWin *confwin) +iq_cancel_command_config(ProfConfWin* confwin) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - CommandConfigData *data = (CommandConfigData *)confwin->userdata; - xmpp_stanza_t *iq = stanza_create_room_config_cancel_iq(ctx, confwin->roomjid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + CommandConfigData* data = (CommandConfigData*)confwin->userdata; + xmpp_stanza_t* iq = stanza_create_room_config_cancel_iq(ctx, confwin->roomjid); iq_send_stanza(iq); xmpp_stanza_release(iq); free(data->sessionid); @@ -798,10 +803,10 @@ iq_cancel_command_config(ProfConfWin *confwin) } static void -_error_handler(xmpp_stanza_t *const stanza) +_error_handler(xmpp_stanza_t* const stanza) { - const char *id = xmpp_stanza_get_id(stanza); - char *error_msg = stanza_get_error_message(stanza); + const char* id = xmpp_stanza_get_id(stanza); + char* error_msg = stanza_get_error_message(stanza); if (id) { log_debug("IQ error handler fired, id: %s, error: %s", id, error_msg); @@ -815,12 +820,12 @@ _error_handler(xmpp_stanza_t *const stanza) } static int -_caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_caps_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + const char* id = xmpp_stanza_get_id(stanza); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); // ignore non result if ((g_strcmp0(type, "get") == 0) || (g_strcmp0(type, "set") == 0)) { return 1; @@ -832,7 +837,7 @@ _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Capabilities response handler fired"); } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_info("_caps_response_id_handler(): No from attribute"); return 0; @@ -840,7 +845,7 @@ _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_warning("Error received for capabilities response from %s: ", from, error_message); free(error_message); return 0; @@ -851,16 +856,16 @@ _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) return 0; } - const char *node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); + const char* node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); if (node == NULL) { log_info("_caps_response_id_handler(): No node attribute found"); return 0; } // validate sha1 - gchar **split = g_strsplit(node, "#", -1); - char *given_sha1 = split[1]; - char *generated_sha1 = stanza_create_caps_sha1_from_query(query); + gchar** split = g_strsplit(node, "#", -1); + char* given_sha1 = split[1]; + char* generated_sha1 = stanza_create_caps_sha1_from_query(query); if (g_strcmp0(given_sha1, generated_sha1) != 0) { log_warning("Generated sha-1 does not match given:"); @@ -873,7 +878,7 @@ _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Capabilties already cached: %s", given_sha1); } else { log_debug("Capabilities not cached: %s, storing", given_sha1); - EntityCapabilities *capabilities = stanza_create_caps_from_query_element(query); + EntityCapabilities* capabilities = stanza_create_caps_from_query_element(query); caps_add_by_ver(given_sha1, capabilities); caps_destroy(capabilities); } @@ -888,13 +893,13 @@ _caps_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_caps_response_for_jid_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - char *jid = (char *)userdata; - const char *id = xmpp_stanza_get_id(stanza); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + char* jid = (char*)userdata; + const char* id = xmpp_stanza_get_id(stanza); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); // ignore non result if ((g_strcmp0(type, "get") == 0) || (g_strcmp0(type, "set") == 0)) { return 1; @@ -906,7 +911,7 @@ _caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userd log_debug("Capabilities response handler fired"); } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { if (jid) { log_info("_caps_response_for_jid_id_handler(): No from attribute for %s", jid); @@ -918,7 +923,7 @@ _caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userd // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_warning("Error received for capabilities response from %s: ", from, error_message); free(error_message); return 0; @@ -933,7 +938,7 @@ _caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userd return 0; } - const char *node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); + const char* node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); if (node == NULL) { if (jid) { log_info("_caps_response_for_jid_id_handler(): No node attribute found for %s", jid); @@ -944,20 +949,20 @@ _caps_response_for_jid_id_handler(xmpp_stanza_t *const stanza, void *const userd } log_debug("Associating capabilities with: %s", jid); - EntityCapabilities *capabilities = stanza_create_caps_from_query_element(query); + EntityCapabilities* capabilities = stanza_create_caps_from_query_element(query); caps_add_by_jid(jid, capabilities); return 0; } static int -_caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_caps_response_legacy_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - char *expected_node = (char *)userdata; + const char* id = xmpp_stanza_get_id(stanza); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + char* expected_node = (char*)userdata; - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); // ignore non result if ((g_strcmp0(type, "get") == 0) || (g_strcmp0(type, "set") == 0)) { return 1; @@ -969,7 +974,7 @@ _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userda log_debug("Capabilities response handler fired"); } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_info("_caps_response_legacy_id_handler(): No from attribute"); return 0; @@ -977,7 +982,7 @@ _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userda // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_warning("Error received for capabilities response from %s: ", from, error_message); free(error_message); return 0; @@ -988,7 +993,7 @@ _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userda return 0; } - const char *node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); + const char* node = xmpp_stanza_get_attribute(query, STANZA_ATTR_NODE); if (node == NULL) { log_info("_caps_response_legacy_id_handler(): No node attribute found"); return 0; @@ -1001,14 +1006,14 @@ _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userda log_debug("Capabilties already cached: %s", node); } else { log_debug("Capabilities not cached: %s, storing", node); - EntityCapabilities *capabilities = stanza_create_caps_from_query_element(query); + EntityCapabilities* capabilities = stanza_create_caps_from_query_element(query); caps_add_by_ver(node, capabilities); caps_destroy(capabilities); } caps_map_jid_to_ver(from, node); - // node match fail + // node match fail } else { log_info("Legacy Capabilities nodes do not match, expeceted %s, given %s.", expected_node, node); } @@ -1017,11 +1022,11 @@ _caps_response_legacy_id_handler(xmpp_stanza_t *const stanza, void *const userda } static int -_room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_list_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - gchar *filter = (gchar*)userdata; - const char *id = xmpp_stanza_get_id(stanza); - const char *from = xmpp_stanza_get_from(stanza); + gchar* filter = (gchar*)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (prefs_get_boolean(PREF_ROOM_LIST_CACHE) && !g_hash_table_contains(rooms_cache, from)) { g_hash_table_insert(rooms_cache, strdup(from), xmpp_stanza_copy(stanza)); @@ -1029,7 +1034,7 @@ _room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Response to query: %s", id); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query == NULL) { return 0; } @@ -1040,16 +1045,16 @@ _room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } else { cons_show("Rooms list response received: %s", from); } - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); if (child == NULL) { cons_show(" No rooms found."); return 0; } - GPatternSpec *glob = NULL; + GPatternSpec* glob = NULL; if (filter != NULL) { - gchar *filter_lower = g_utf8_strdown(filter, -1); - GString *glob_str = g_string_new("*"); + gchar* filter_lower = g_utf8_strdown(filter, -1); + GString* glob_str = g_string_new("*"); g_string_append(glob_str, filter_lower); g_string_append(glob_str, "*"); glob = g_pattern_spec_new(glob_str->str); @@ -1058,30 +1063,28 @@ _room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata) gboolean matched = FALSE; while (child) { - const char *stanza_name = xmpp_stanza_get_name(child); + const char* stanza_name = xmpp_stanza_get_name(child); if (stanza_name && (g_strcmp0(stanza_name, STANZA_NAME_ITEM) == 0)) { - const char *item_jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); - gchar *item_jid_lower = NULL; + const char* item_jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + gchar* item_jid_lower = NULL; if (item_jid) { - Jid *jidp = jid_create(item_jid); + Jid* jidp = jid_create(item_jid); if (jidp && jidp->localpart) { item_jid_lower = g_utf8_strdown(jidp->localpart, -1); } jid_destroy(jidp); } - const char *item_name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); - gchar *item_name_lower = NULL; + const char* item_name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); + gchar* item_name_lower = NULL; if (item_name) { item_name_lower = g_utf8_strdown(item_name, -1); } - if ((item_jid_lower) && ((glob == NULL) || - ((g_pattern_match(glob, strlen(item_jid_lower), item_jid_lower, NULL)) || - (item_name_lower && g_pattern_match(glob, strlen(item_name_lower), item_name_lower, NULL))))) { + if ((item_jid_lower) && ((glob == NULL) || ((g_pattern_match(glob, strlen(item_jid_lower), item_jid_lower, NULL)) || (item_name_lower && g_pattern_match(glob, strlen(item_name_lower), item_name_lower, NULL))))) { if (glob) { matched = TRUE; } - GString *item = g_string_new(item_jid); + GString* item = g_string_new(item_jid); if (item_name) { g_string_append(item, " ("); g_string_append(item, item_name); @@ -1108,11 +1111,11 @@ _room_list_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata) +_command_list_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - char *from = strdup(xmpp_stanza_get_from(stanza)); + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + char* from = strdup(xmpp_stanza_get_from(stanza)); if (id) { log_debug("IQ command list result handler fired, id: %s.", id); @@ -1122,9 +1125,9 @@ _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata) // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error retrieving command list for %s: %s", from, error_message); - ProfWin *win = wins_get_by_string(from); + ProfWin* win = wins_get_by_string(from); if (win) { win_command_list_error(win, error_message); } @@ -1133,15 +1136,15 @@ _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata) return 0; } - GSList *cmds = NULL; + GSList* cmds = NULL; - xmpp_stanza_t *query = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_ITEMS); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_ns(stanza, XMPP_NS_DISCO_ITEMS); if (query) { - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); while (child) { - const char *name = xmpp_stanza_get_name(child); + const char* name = xmpp_stanza_get_name(child); if (g_strcmp0(name, "item") == 0) { - const char *node = xmpp_stanza_get_attribute(child, STANZA_ATTR_NODE); + const char* node = xmpp_stanza_get_attribute(child, STANZA_ATTR_NODE); if (node) { cmds = g_slist_insert_sorted(cmds, (gpointer)node, (GCompareFunc)g_strcmp0); } @@ -1150,9 +1153,9 @@ _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata) } } - ProfWin *win = wins_get_by_string(from); + ProfWin* win = wins_get_by_string(from); if (win == NULL) { - win = wins_get_console(); + win = wins_get_console(); } win_handle_command_list(win, cmds); @@ -1163,12 +1166,12 @@ _command_list_result_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata) +_command_exec_response_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - char *command = userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + char* command = userdata; if (id) { log_debug("IQ command exec response handler fired, id: %s.", id); @@ -1176,7 +1179,7 @@ _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata log_debug("IQ command exec response handler fired."); } - ProfWin *win = wins_get_by_string(from); + ProfWin* win = wins_get_by_string(from); if (win == NULL) { /* No more window associated with this command. * Fallback to console. */ @@ -1185,45 +1188,44 @@ _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error executing command %s for %s: %s", command, from, error_message); win_command_exec_error(win, command, error_message); free(error_message); return 0; } - xmpp_stanza_t *cmd = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_COMMAND); + xmpp_stanza_t* cmd = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_COMMAND); if (!cmd) { log_error("No command element for command response"); win_command_exec_error(win, command, "Malformed command response"); return 0; } - - const char *status = xmpp_stanza_get_attribute(cmd, STANZA_ATTR_STATUS); + const char* status = xmpp_stanza_get_attribute(cmd, STANZA_ATTR_STATUS); if (g_strcmp0(status, "completed") == 0) { win_handle_command_exec_status(win, command, "completed"); - xmpp_stanza_t *note = xmpp_stanza_get_child_by_name(cmd, "note"); + xmpp_stanza_t* note = xmpp_stanza_get_child_by_name(cmd, "note"); if (note) { - const char *type = xmpp_stanza_get_attribute(note, "type"); - const char *value = xmpp_stanza_get_text(note); + const char* type = xmpp_stanza_get_attribute(note, "type"); + const char* value = xmpp_stanza_get_text(note); win_handle_command_exec_result_note(win, type, value); } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(cmd, STANZA_NS_DATA); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(cmd, STANZA_NS_DATA); if (x) { - xmpp_stanza_t *roster = xmpp_stanza_get_child_by_ns(x, XMPP_NS_ROSTER); + xmpp_stanza_t* roster = xmpp_stanza_get_child_by_ns(x, XMPP_NS_ROSTER); if (roster) { /* Special handling of xep-0133 roster in response */ - GSList *list = NULL; - xmpp_stanza_t *child = xmpp_stanza_get_children(roster); + GSList* list = NULL; + xmpp_stanza_t* child = xmpp_stanza_get_children(roster); while (child) { - const char *barejid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); - gchar *barejid_lower = g_utf8_strdown(barejid, -1); - const char *name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); - const char *sub = xmpp_stanza_get_attribute(child, STANZA_ATTR_SUBSCRIPTION); - const char *ask = xmpp_stanza_get_attribute(child, STANZA_ATTR_ASK); + const char* barejid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + gchar* barejid_lower = g_utf8_strdown(barejid, -1); + const char* name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); + const char* sub = xmpp_stanza_get_attribute(child, STANZA_ATTR_SUBSCRIPTION); + const char* ask = xmpp_stanza_get_attribute(child, STANZA_ATTR_ASK); - GSList *groups = NULL; + GSList* groups = NULL; groups = roster_get_groups_from_item(child); gboolean pending_out = FALSE; @@ -1239,8 +1241,8 @@ _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata cons_show_roster(list); g_slist_free(list); } else { - DataForm *form = form_create(x); - ProfConfWin *confwin = (ProfConfWin*)wins_new_config(from, form, NULL, NULL, NULL); + DataForm* form = form_create(x); + ProfConfWin* confwin = (ProfConfWin*)wins_new_config(from, form, NULL, NULL, NULL); confwin_handle_configuration(confwin, form); } } @@ -1248,35 +1250,35 @@ _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata win_handle_command_exec_status(win, command, "executing"); /* Looking for a jabber:x:data type form */ - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(cmd, STANZA_NS_DATA); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(cmd, STANZA_NS_DATA); if (x == NULL) { return 0; } - const char *form_type = xmpp_stanza_get_type(x); + const char* form_type = xmpp_stanza_get_type(x); if (g_strcmp0(form_type, "form") != 0) { log_error("Unsupported payload in command response"); win_command_exec_error(win, command, "Unsupported command response"); return 0; } - const char *sessionid = xmpp_stanza_get_attribute(cmd, "sessionid"); + const char* sessionid = xmpp_stanza_get_attribute(cmd, "sessionid"); - DataForm *form = form_create(x); - CommandConfigData *data = malloc(sizeof(CommandConfigData)); + DataForm* form = form_create(x); + CommandConfigData* data = malloc(sizeof(CommandConfigData)); if (sessionid == NULL) { data->sessionid = NULL; } else { data->sessionid = strdup(sessionid); } data->command = strdup(command); - ProfConfWin *confwin = (ProfConfWin*)wins_new_config(from, form, iq_submit_command_config, iq_cancel_command_config, data); + ProfConfWin* confwin = (ProfConfWin*)wins_new_config(from, form, iq_submit_command_config, iq_cancel_command_config, data); confwin_handle_configuration(confwin, form); } else if (g_strcmp0(status, "canceled") == 0) { win_handle_command_exec_status(win, command, "canceled"); - xmpp_stanza_t *note = xmpp_stanza_get_child_by_name(cmd, "note"); + xmpp_stanza_t* note = xmpp_stanza_get_child_by_name(cmd, "note"); if (note) { - const char *type = xmpp_stanza_get_attribute(note, "type"); - const char *value = xmpp_stanza_get_text(note); + const char* type = xmpp_stanza_get_attribute(note, "type"); + const char* value = xmpp_stanza_get_text(note); win_handle_command_exec_result_note(win, type, value); } } else { @@ -1288,11 +1290,11 @@ _command_exec_response_handler(xmpp_stanza_t *const stanza, void *const userdata } static int -_enable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_enable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, "error") == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); cons_show_error("Server error enabling message carbons: %s", error_message); log_debug("Error enabling carbons: %s", error_message); free(error_message); @@ -1304,11 +1306,11 @@ _enable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_disable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_disable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, "error") == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); cons_show_error("Server error disabling message carbons: %s", error_message); log_debug("Error disabling carbons: %s", error_message); free(error_message); @@ -1320,15 +1322,15 @@ _disable_carbons_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_manual_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_manual_pong_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from = xmpp_stanza_get_from(stanza); - const char *type = xmpp_stanza_get_type(stanza); - GDateTime *sent = (GDateTime *)userdata; + const char* from = xmpp_stanza_get_from(stanza); + const char* type = xmpp_stanza_get_type(stanza); + GDateTime* sent = (GDateTime*)userdata; // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); if (!error_message) { cons_show_error("Error returned from pinging %s.", from); } else { @@ -1339,7 +1341,7 @@ _manual_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) return 0; } - GDateTime *now = g_date_time_new_now_local(); + GDateTime* now = g_date_time_new_now_local(); GTimeSpan elapsed = g_date_time_difference(now, sent); int elapsed_millis = elapsed / 1000; @@ -1356,7 +1358,7 @@ _manual_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_autoping_timed_send(xmpp_conn_t *const conn, void *const userdata) +_autoping_timed_send(xmpp_conn_t* const conn, void* const userdata) { if (connection_get_status() != JABBER_CONNECTED) { return 1; @@ -1366,7 +1368,7 @@ _autoping_timed_send(xmpp_conn_t *const conn, void *const userdata) log_warning("Server doesn't advertise %s feature, disabling autoping.", XMPP_FEATURE_PING); prefs_set_autoping(0); cons_show_error("Server ping not supported, autoping disabled."); - xmpp_conn_t *conn = connection_get_conn(); + xmpp_conn_t* conn = connection_get_conn(); xmpp_timed_handler_delete(conn, _autoping_timed_send); return 1; } @@ -1376,9 +1378,9 @@ _autoping_timed_send(xmpp_conn_t *const conn, void *const userdata) return 1; } - xmpp_ctx_t *ctx = (xmpp_ctx_t *)userdata; - xmpp_stanza_t *iq = stanza_create_ping_iq(ctx, NULL); - const char *id = xmpp_stanza_get_id(iq); + xmpp_ctx_t* ctx = (xmpp_ctx_t*)userdata; + xmpp_stanza_t* iq = stanza_create_ping_iq(ctx, NULL); + const char* id = xmpp_stanza_get_id(iq); log_debug("Autoping: Sending ping request: %s", id); // add pong handler @@ -1396,11 +1398,11 @@ _autoping_timed_send(xmpp_conn_t *const conn, void *const userdata) } static int -_auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_auto_pong_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { iq_autoping_timer_cancel(); - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id == NULL) { log_debug("Autoping: Pong handler fired."); return 0; @@ -1408,7 +1410,7 @@ _auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("Autoping: Pong handler fired: %s.", id); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (type == NULL) { return 0; } @@ -1417,16 +1419,16 @@ _auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } // show warning if error - char *error_msg = stanza_get_error_message(stanza); + char* error_msg = stanza_get_error_message(stanza); log_warning("Server ping (id=%s) responded with error: %s", id, error_msg); free(error_msg); // turn off autoping if error type is 'cancel' - xmpp_stanza_t *error = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); + xmpp_stanza_t* error = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); if (error == NULL) { return 0; } - const char *errtype = xmpp_stanza_get_type(error); + const char* errtype = xmpp_stanza_get_type(error); if (errtype == NULL) { return 0; } @@ -1434,7 +1436,7 @@ _auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_warning("Server ping (id=%s) error type 'cancel', disabling autoping.", id); prefs_set_autoping(0); cons_show_error("Server ping not supported, autoping disabled."); - xmpp_conn_t *conn = connection_get_conn(); + xmpp_conn_t* conn = connection_get_conn(); xmpp_timed_handler_delete(conn, _autoping_timed_send); } @@ -1442,9 +1444,9 @@ _auto_pong_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static int -_version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_version_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { log_debug("IQ version result handler fired, id: %s.", id); @@ -1452,12 +1454,12 @@ _version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_debug("IQ version result handler fired."); } - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (g_strcmp0(type, STANZA_TYPE_RESULT) != 0) { if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); ui_handle_software_version_error(from, error_message); free(error_message); } else { @@ -1468,26 +1470,26 @@ _version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) return 0; } - const char *jid = xmpp_stanza_get_from(stanza); + const char* jid = xmpp_stanza_get_from(stanza); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query == NULL) { log_error("Software version result received with no query element."); return 0; } - const char *ns = xmpp_stanza_get_ns(query); + const char* ns = xmpp_stanza_get_ns(query); if (g_strcmp0(ns, STANZA_NS_VERSION) != 0) { log_error("Software version result received without namespace."); return 0; } - char *name_str = NULL; - char *version_str = NULL; - char *os_str = NULL; - xmpp_stanza_t *name = xmpp_stanza_get_child_by_name(query, "name"); - xmpp_stanza_t *version = xmpp_stanza_get_child_by_name(query, "version"); - xmpp_stanza_t *os = xmpp_stanza_get_child_by_name(query, "os"); + char* name_str = NULL; + char* version_str = NULL; + char* os_str = NULL; + xmpp_stanza_t* name = xmpp_stanza_get_child_by_name(query, "name"); + xmpp_stanza_t* version = xmpp_stanza_get_child_by_name(query, "version"); + xmpp_stanza_t* os = xmpp_stanza_get_child_by_name(query, "os"); if (name) { name_str = xmpp_stanza_get_text(name); @@ -1503,27 +1505,30 @@ _version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) log_warning("From attribute specified different JID, using original JID."); } - xmpp_conn_t *conn = connection_get_conn(); - xmpp_ctx_t *ctx = xmpp_conn_get_context(conn); + xmpp_conn_t* conn = connection_get_conn(); + xmpp_ctx_t* ctx = xmpp_conn_get_context(conn); - Jid *jidp = jid_create((char*)userdata); + Jid* jidp = jid_create((char*)userdata); - const char *presence = NULL; + const char* presence = NULL; // if it has a fulljid it is a regular user (not server or component) if (jidp->fulljid) { if (muc_active(jidp->barejid)) { - Occupant *occupant = muc_roster_item(jidp->barejid, jidp->resourcepart); + Occupant* occupant = muc_roster_item(jidp->barejid, jidp->resourcepart); presence = string_from_resource_presence(occupant->presence); } else { PContact contact = roster_get_contact(jidp->barejid); if (contact) { - Resource *resource = p_contact_get_resource(contact, jidp->resourcepart); + Resource* resource = p_contact_get_resource(contact, jidp->resourcepart); if (!resource) { ui_handle_software_version_error(jidp->fulljid, "Unknown resource"); - if (name_str) xmpp_free(ctx, name_str); - if (version_str) xmpp_free(ctx, version_str); - if (os_str) xmpp_free(ctx, os_str); + if (name_str) + xmpp_free(ctx, name_str); + if (version_str) + xmpp_free(ctx, version_str); + if (os_str) + xmpp_free(ctx, os_str); return 0; } presence = string_from_resource_presence(resource->presence); @@ -1543,20 +1548,23 @@ _version_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) jid_destroy(jidp); - if (name_str) xmpp_free(ctx, name_str); - if (version_str) xmpp_free(ctx, version_str); - if (os_str) xmpp_free(ctx, os_str); + if (name_str) + xmpp_free(ctx, name_str); + if (version_str) + xmpp_free(ctx, version_str); + if (os_str) + xmpp_free(ctx, os_str); return 0; } static void -_ping_get_handler(xmpp_stanza_t *const stanza) +_ping_get_handler(xmpp_stanza_t* const stanza) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - const char *id = xmpp_stanza_get_id(stanza); - const char *to = xmpp_stanza_get_to(stanza); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* const ctx = connection_get_ctx(); + const char* id = xmpp_stanza_get_id(stanza); + const char* to = xmpp_stanza_get_to(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (id) { log_debug("IQ ping get handler fired, id: %s.", id); @@ -1568,7 +1576,7 @@ _ping_get_handler(xmpp_stanza_t *const stanza) return; } - xmpp_stanza_t *pong = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, id); + xmpp_stanza_t* pong = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, id); xmpp_stanza_set_to(pong, from); xmpp_stanza_set_from(pong, to); @@ -1577,11 +1585,11 @@ _ping_get_handler(xmpp_stanza_t *const stanza) } static void -_version_get_handler(xmpp_stanza_t *const stanza) +_version_get_handler(xmpp_stanza_t* const stanza) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - const char *id = xmpp_stanza_get_id(stanza); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* const ctx = connection_get_ctx(); + const char* id = xmpp_stanza_get_id(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (id) { log_debug("IQ version get handler fired, id: %s.", id); @@ -1594,23 +1602,23 @@ _version_get_handler(xmpp_stanza_t *const stanza) cons_show("Received IQ version request (XEP-0092) from %s", from); } - xmpp_stanza_t *response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, id); + xmpp_stanza_t* response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, id); xmpp_stanza_set_to(response, from); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_VERSION); - xmpp_stanza_t *name = xmpp_stanza_new(ctx); + xmpp_stanza_t* name = xmpp_stanza_new(ctx); xmpp_stanza_set_name(name, "name"); - xmpp_stanza_t *name_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* name_txt = xmpp_stanza_new(ctx); xmpp_stanza_set_text(name_txt, "Profanity"); xmpp_stanza_add_child(name, name_txt); - xmpp_stanza_t *version = xmpp_stanza_new(ctx); + xmpp_stanza_t* version = xmpp_stanza_new(ctx); xmpp_stanza_set_name(version, "version"); - xmpp_stanza_t *version_txt = xmpp_stanza_new(ctx); - GString *version_str = g_string_new(PACKAGE_VERSION); + xmpp_stanza_t* version_txt = xmpp_stanza_new(ctx); + GString* version_str = g_string_new(PACKAGE_VERSION); if (strcmp(PACKAGE_STATUS, "development") == 0) { #ifdef HAVE_GIT_VERSION g_string_append(version_str, "dev."); @@ -1624,8 +1632,8 @@ _version_get_handler(xmpp_stanza_t *const stanza) xmpp_stanza_set_text(version_txt, version_str->str); xmpp_stanza_add_child(version, version_txt); - xmpp_stanza_t *os; - xmpp_stanza_t *os_txt; + xmpp_stanza_t* os; + xmpp_stanza_t* os_txt; bool include_os = prefs_get_boolean(PREF_REVEAL_OS); if (include_os) { @@ -1654,7 +1662,9 @@ _version_get_handler(xmpp_stanza_t *const stanza) xmpp_stanza_add_child(query, name); xmpp_stanza_add_child(query, version); - if (include_os) {xmpp_stanza_add_child(query, os);} + if (include_os) { + xmpp_stanza_add_child(query, os); + } xmpp_stanza_add_child(response, query); iq_send_stanza(response); @@ -1662,21 +1672,25 @@ _version_get_handler(xmpp_stanza_t *const stanza) g_string_free(version_str, TRUE); xmpp_stanza_release(name_txt); xmpp_stanza_release(version_txt); - if (include_os) {xmpp_stanza_release(os_txt);} + if (include_os) { + xmpp_stanza_release(os_txt); + } xmpp_stanza_release(name); xmpp_stanza_release(version); - if (include_os) {xmpp_stanza_release(os);} + if (include_os) { + xmpp_stanza_release(os); + } xmpp_stanza_release(query); xmpp_stanza_release(response); } } static void -_disco_items_get_handler(xmpp_stanza_t *const stanza) +_disco_items_get_handler(xmpp_stanza_t* const stanza) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - const char *id = xmpp_stanza_get_id(stanza); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* const ctx = connection_get_ctx(); + const char* id = xmpp_stanza_get_id(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (id) { log_debug("IQ disco items get handler fired, id: %s.", id); @@ -1685,10 +1699,10 @@ _disco_items_get_handler(xmpp_stanza_t *const stanza) } if (from) { - xmpp_stanza_t *response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); + xmpp_stanza_t* response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); xmpp_stanza_set_to(response, from); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_DISCO_ITEMS); xmpp_stanza_add_child(response, query); @@ -1700,10 +1714,10 @@ _disco_items_get_handler(xmpp_stanza_t *const stanza) } static void -_last_activity_get_handler(xmpp_stanza_t *const stanza) +_last_activity_get_handler(xmpp_stanza_t* const stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* ctx = connection_get_ctx(); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { return; @@ -1714,10 +1728,10 @@ _last_activity_get_handler(xmpp_stanza_t *const stanza) char str[50]; sprintf(str, "%d", idls_secs); - xmpp_stanza_t *response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); + xmpp_stanza_t* response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); xmpp_stanza_set_to(response, from); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_attribute(query, STANZA_ATTR_XMLNS, STANZA_NS_LASTACTIVITY); xmpp_stanza_set_attribute(query, "seconds", str); @@ -1729,14 +1743,14 @@ _last_activity_get_handler(xmpp_stanza_t *const stanza) xmpp_stanza_release(response); } else { - xmpp_stanza_t *response = xmpp_iq_new(ctx, STANZA_TYPE_ERROR, xmpp_stanza_get_id(stanza)); + xmpp_stanza_t* response = xmpp_iq_new(ctx, STANZA_TYPE_ERROR, xmpp_stanza_get_id(stanza)); xmpp_stanza_set_to(response, from); - xmpp_stanza_t *error = xmpp_stanza_new(ctx); + xmpp_stanza_t* error = xmpp_stanza_new(ctx); xmpp_stanza_set_name(error, STANZA_NAME_ERROR); xmpp_stanza_set_type(error, "cancel"); - xmpp_stanza_t *service_unavailable = xmpp_stanza_new(ctx); + xmpp_stanza_t* service_unavailable = xmpp_stanza_new(ctx); xmpp_stanza_set_name(service_unavailable, "service-unavailable"); xmpp_stanza_set_ns(service_unavailable, "urn:ietf:params:xml:ns:xmpp-stanzas"); @@ -1753,15 +1767,15 @@ _last_activity_get_handler(xmpp_stanza_t *const stanza) } static void -_disco_info_get_handler(xmpp_stanza_t *const stanza) +_disco_info_get_handler(xmpp_stanza_t* const stanza) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* const ctx = connection_get_ctx(); + const char* from = xmpp_stanza_get_from(stanza); - xmpp_stanza_t *incoming_query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - const char *node_str = xmpp_stanza_get_attribute(incoming_query, STANZA_ATTR_NODE); + xmpp_stanza_t* incoming_query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + const char* node_str = xmpp_stanza_get_attribute(incoming_query, STANZA_ATTR_NODE); - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { log_debug("IQ disco info get handler fired, id: %s.", id); @@ -1774,10 +1788,10 @@ _disco_info_get_handler(xmpp_stanza_t *const stanza) cons_show("Received IQ disco info request (XEP-0232) from %s", from); } - xmpp_stanza_t *response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); + xmpp_stanza_t* response = xmpp_iq_new(ctx, STANZA_TYPE_RESULT, xmpp_stanza_get_id(stanza)); xmpp_stanza_set_to(response, from); - xmpp_stanza_t *query = stanza_create_caps_query_element(ctx); + xmpp_stanza_t* query = stanza_create_caps_query_element(ctx); if (node_str) { xmpp_stanza_set_attribute(query, STANZA_ATTR_NODE, node_str); } @@ -1790,9 +1804,9 @@ _disco_info_get_handler(xmpp_stanza_t *const stanza) } static int -_destroy_room_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_destroy_room_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { log_debug("IQ destroy room result handler fired, id: %s.", id); @@ -1800,7 +1814,7 @@ _destroy_room_result_id_handler(xmpp_stanza_t *const stanza, void *const userdat log_debug("IQ destroy room result handler fired."); } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (from == NULL) { log_error("No from attribute for IQ destroy room result"); } else { @@ -1811,11 +1825,11 @@ _destroy_room_result_id_handler(xmpp_stanza_t *const stanza, void *const userdat } static int -_room_config_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_config_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (id) { log_debug("IQ room config handler fired, id: %s.", id); @@ -1825,7 +1839,7 @@ _room_config_id_handler(xmpp_stanza_t *const stanza, void *const userdata) // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); ui_handle_room_configuration_form_error(from, error_message); free(error_message); return 0; @@ -1837,41 +1851,41 @@ _room_config_id_handler(xmpp_stanza_t *const stanza, void *const userdata) return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query == NULL) { log_warning("No query element found parsing room config response"); ui_handle_room_configuration_form_error(from, "No query element found parsing room config response"); return 0; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(query, STANZA_NS_DATA); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(query, STANZA_NS_DATA); if (x == NULL) { log_warning("No x element found with %s namespace parsing room config response", STANZA_NS_DATA); ui_handle_room_configuration_form_error(from, "No form configuration options available"); return 0; } - const char *form_type = xmpp_stanza_get_type(x); + const char* form_type = xmpp_stanza_get_type(x); if (g_strcmp0(form_type, "form") != 0) { log_warning("x element not of type 'form' parsing room config response"); ui_handle_room_configuration_form_error(from, "Form not of type 'form' parsing room config response."); return 0; } - DataForm *form = form_create(x); - ProfConfWin *confwin = (ProfConfWin*)wins_new_config(from, form, iq_submit_room_config, iq_room_config_cancel, NULL); + DataForm* form = form_create(x); + ProfConfWin* confwin = (ProfConfWin*)wins_new_config(from, form, iq_submit_room_config, iq_room_config_cancel, NULL); confwin_handle_configuration(confwin, form); return 0; } static int -_room_affiliation_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_affiliation_set_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - ProfPrivilegeSet *affiliation_set = (ProfPrivilegeSet*)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + ProfPrivilegeSet* affiliation_set = (ProfPrivilegeSet*)userdata; if (id) { log_debug("IQ affiliation set handler fired, id: %s.", id); @@ -1881,9 +1895,9 @@ _room_affiliation_set_result_id_handler(xmpp_stanza_t *const stanza, void *const // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error setting affiliation %s list for room %s, user %s: %s", affiliation_set->privilege, from, affiliation_set->item, error_message); - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin) { mucwin_affiliation_set_error(mucwin, affiliation_set->item, affiliation_set->privilege, error_message); } @@ -1894,12 +1908,12 @@ _room_affiliation_set_result_id_handler(xmpp_stanza_t *const stanza, void *const } static int -_room_role_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_role_set_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - ProfPrivilegeSet *role_set = (ProfPrivilegeSet*)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + ProfPrivilegeSet* role_set = (ProfPrivilegeSet*)userdata; if (id) { log_debug("IQ role set handler fired, id: %s.", id); @@ -1909,9 +1923,9 @@ _room_role_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userda // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error setting role %s list for room %s, user %s: %s", role_set->privilege, from, role_set->item, error_message); - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin) { mucwin_role_set_error(mucwin, role_set->item, role_set->privilege, error_message); } @@ -1922,12 +1936,12 @@ _room_role_set_result_id_handler(xmpp_stanza_t *const stanza, void *const userda } static int -_room_affiliation_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_affiliation_list_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - ProfAffiliationList *affiliation_list = (ProfAffiliationList *)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + ProfAffiliationList* affiliation_list = (ProfAffiliationList*)userdata; if (id) { log_debug("IQ affiliation list result handler fired, id: %s.", id); @@ -1937,28 +1951,28 @@ _room_affiliation_list_result_id_handler(xmpp_stanza_t *const stanza, void *cons // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error retrieving %s list for room %s: %s", affiliation_list->affiliation, from, error_message); - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin && affiliation_list->show_ui_message) { mucwin_affiliation_list_error(mucwin, affiliation_list->affiliation, error_message); } free(error_message); return 0; } - GSList *jids = NULL; + GSList* jids = NULL; - xmpp_stanza_t *query = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_ADMIN); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_ADMIN); if (query) { - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); while (child) { - const char *name = xmpp_stanza_get_name(child); + const char* name = xmpp_stanza_get_name(child); if (g_strcmp0(name, "item") == 0) { - const char *jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (jid) { if (g_strcmp0(affiliation_list->affiliation, "member") == 0 - || g_strcmp0(affiliation_list->affiliation, "owner") == 0 - || g_strcmp0(affiliation_list->affiliation, "admin") == 0) { + || g_strcmp0(affiliation_list->affiliation, "owner") == 0 + || g_strcmp0(affiliation_list->affiliation, "admin") == 0) { muc_members_add(from, jid); } jids = g_slist_insert_sorted(jids, (gpointer)jid, (GCompareFunc)g_strcmp0); @@ -1969,7 +1983,7 @@ _room_affiliation_list_result_id_handler(xmpp_stanza_t *const stanza, void *cons } muc_jid_autocomplete_add_all(from, jids); - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin && affiliation_list->show_ui_message) { mucwin_handle_affiliation_list(mucwin, affiliation_list->affiliation, jids); } @@ -1979,12 +1993,12 @@ _room_affiliation_list_result_id_handler(xmpp_stanza_t *const stanza, void *cons } static int -_room_role_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_role_list_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - char *role = (char *)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + char* role = (char*)userdata; if (id) { log_debug("IQ role list result handler fired, id: %s.", id); @@ -1994,24 +2008,24 @@ _room_role_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userd // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); log_debug("Error retrieving %s list for room %s: %s", role, from, error_message); - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin) { mucwin_role_list_error(mucwin, role, error_message); } free(error_message); return 0; } - GSList *nicks = NULL; + GSList* nicks = NULL; - xmpp_stanza_t *query = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_ADMIN); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_ADMIN); if (query) { - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); while (child) { - const char *name = xmpp_stanza_get_name(child); + const char* name = xmpp_stanza_get_name(child); if (g_strcmp0(name, "item") == 0) { - const char *nick = xmpp_stanza_get_attribute(child, STANZA_ATTR_NICK); + const char* nick = xmpp_stanza_get_attribute(child, STANZA_ATTR_NICK); if (nick) { nicks = g_slist_insert_sorted(nicks, (gpointer)nick, (GCompareFunc)g_strcmp0); } @@ -2020,7 +2034,7 @@ _room_role_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userd } } - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin) { mucwin_handle_role_list(mucwin, role, nicks); } @@ -2030,11 +2044,11 @@ _room_role_list_result_id_handler(xmpp_stanza_t *const stanza, void *const userd } static int -_room_config_submit_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_config_submit_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (id) { log_debug("IQ room config submit handler fired, id: %s.", id); @@ -2044,7 +2058,7 @@ _room_config_submit_id_handler(xmpp_stanza_t *const stanza, void *const userdata // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); ui_handle_room_config_submit_result_error(from, error_message); free(error_message); return 0; @@ -2056,12 +2070,12 @@ _room_config_submit_id_handler(xmpp_stanza_t *const stanza, void *const userdata } static int -_room_kick_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_kick_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *id = xmpp_stanza_get_id(stanza); - const char *type = xmpp_stanza_get_type(stanza); - const char *from = xmpp_stanza_get_from(stanza); - char *nick = (char *)userdata; + const char* id = xmpp_stanza_get_id(stanza); + const char* type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + char* nick = (char*)userdata; if (id) { log_debug("IQ kick result handler fired, id: %s.", id); @@ -2070,9 +2084,9 @@ _room_kick_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } // handle error responses - ProfMucWin *mucwin = wins_get_muc(from); + ProfMucWin* mucwin = wins_get_muc(from); if (mucwin && (g_strcmp0(type, STANZA_TYPE_ERROR) == 0)) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); mucwin_kick_error(mucwin, nick, error_message); free(error_message); } @@ -2081,7 +2095,7 @@ _room_kick_result_id_handler(xmpp_stanza_t *const stanza, void *const userdata) } static void -_identity_destroy(DiscoIdentity *identity) +_identity_destroy(DiscoIdentity* identity) { if (identity) { free(identity->name); @@ -2092,7 +2106,7 @@ _identity_destroy(DiscoIdentity *identity) } static void -_item_destroy(DiscoItem *item) +_item_destroy(DiscoItem* item) { if (item) { free(item->jid); @@ -2102,47 +2116,47 @@ _item_destroy(DiscoItem *item) } static int -_room_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_room_info_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *type = xmpp_stanza_get_type(stanza); - ProfRoomInfoData *cb_data = (ProfRoomInfoData *)userdata; + const char* type = xmpp_stanza_get_type(stanza); + ProfRoomInfoData* cb_data = (ProfRoomInfoData*)userdata; log_debug("Received disco#info response for room: %s", cb_data->room); // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - ProfMucWin *mucwin = wins_get_muc(cb_data->room); + ProfMucWin* mucwin = wins_get_muc(cb_data->room); if (mucwin && cb_data->display) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); mucwin_room_info_error(mucwin, error_message); free(error_message); } return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query) { - xmpp_stanza_t *child = xmpp_stanza_get_children(query); - GSList *identities = NULL; - GSList *features = NULL; + xmpp_stanza_t* child = xmpp_stanza_get_children(query); + GSList* identities = NULL; + GSList* features = NULL; while (child) { - const char *stanza_name = xmpp_stanza_get_name(child); + const char* stanza_name = xmpp_stanza_get_name(child); if (g_strcmp0(stanza_name, STANZA_NAME_FEATURE) == 0) { - const char *var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); + const char* var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); if (var) { features = g_slist_append(features, strdup(var)); } } else if (g_strcmp0(stanza_name, STANZA_NAME_IDENTITY) == 0) { - const char *name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); - const char *type = xmpp_stanza_get_type(child); - const char *category = xmpp_stanza_get_attribute(child, STANZA_ATTR_CATEGORY); + const char* name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); + const char* type = xmpp_stanza_get_type(child); + const char* category = xmpp_stanza_get_attribute(child, STANZA_ATTR_CATEGORY); if (name || category || type) { - DiscoIdentity *identity = malloc(sizeof(struct disco_identity_t)); + DiscoIdentity* identity = malloc(sizeof(struct disco_identity_t)); if (name) { identity->name = strdup(name); - ProfMucWin *mucwin = wins_get_muc(cb_data->room); + ProfMucWin* mucwin = wins_get_muc(cb_data->room); if (mucwin) { mucwin->room_name = strdup(name); } @@ -2168,7 +2182,7 @@ _room_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata } muc_set_features(cb_data->room, features); - ProfMucWin *mucwin = wins_get_muc(cb_data->room); + ProfMucWin* mucwin = wins_get_muc(cb_data->room); if (mucwin) { #ifdef HAVE_OMEMO if (muc_anonymity_type(mucwin->roomjid) == MUC_ANONYMITY_TYPE_NONANONYMOUS && omemo_automatic_start(cb_data->room)) { @@ -2189,20 +2203,20 @@ _room_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata } static int -_last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_last_activity_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { cons_show_error("Invalid last activity response received."); log_info("Received last activity response with no from attribute."); return 0; } - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); if (from) { cons_show_error("Last activity request failed for %s: %s", from, error_message); } else { @@ -2212,7 +2226,7 @@ _last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const user return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (!query) { cons_show_error("Invalid last activity response received."); @@ -2220,7 +2234,7 @@ _last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const user return 0; } - const char *seconds_str = xmpp_stanza_get_attribute(query, "seconds"); + const char* seconds_str = xmpp_stanza_get_attribute(query, "seconds"); if (!seconds_str) { cons_show_error("Invalid last activity response received."); log_info("Received last activity response with no seconds attribute."); @@ -2234,7 +2248,7 @@ _last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const user return 0; } - char *msg = xmpp_stanza_get_text(query); + char* msg = xmpp_stanza_get_text(query); sv_ev_lastactivity_response(from, seconds, msg); @@ -2243,10 +2257,10 @@ _last_activity_response_id_handler(xmpp_stanza_t *const stanza, void *const user } static int -_disco_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_disco_info_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from = xmpp_stanza_get_from(stanza); - const char *type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (from) { log_debug("Received disco#info response from: %s", from); @@ -2256,7 +2270,7 @@ _disco_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdat // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); if (from) { cons_show_error("Service discovery failed for %s: %s", from, error_message); } else { @@ -2266,26 +2280,26 @@ _disco_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdat return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query) { - xmpp_stanza_t *child = xmpp_stanza_get_children(query); - GSList *identities = NULL; - GSList *features = NULL; + xmpp_stanza_t* child = xmpp_stanza_get_children(query); + GSList* identities = NULL; + GSList* features = NULL; while (child) { - const char *stanza_name = xmpp_stanza_get_name(child); + const char* stanza_name = xmpp_stanza_get_name(child); if (g_strcmp0(stanza_name, STANZA_NAME_FEATURE) == 0) { - const char *var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); + const char* var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); if (var) { features = g_slist_append(features, strdup(var)); } } else if (g_strcmp0(stanza_name, STANZA_NAME_IDENTITY) == 0) { - const char *name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); - const char *type = xmpp_stanza_get_type(child); - const char *category = xmpp_stanza_get_attribute(child, STANZA_ATTR_CATEGORY); + const char* name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); + const char* type = xmpp_stanza_get_type(child); + const char* category = xmpp_stanza_get_attribute(child, STANZA_ATTR_CATEGORY); if (name || category || type) { - DiscoIdentity *identity = malloc(sizeof(struct disco_identity_t)); + DiscoIdentity* identity = malloc(sizeof(struct disco_identity_t)); if (name) { identity->name = strdup(name); @@ -2320,10 +2334,10 @@ _disco_info_response_id_handler(xmpp_stanza_t *const stanza, void *const userdat } static int -_disco_info_response_id_handler_onconnect(xmpp_stanza_t *const stanza, void *const userdata) +_disco_info_response_id_handler_onconnect(xmpp_stanza_t* const stanza, void* const userdata) { - const char *from = xmpp_stanza_get_from(stanza); - const char *type = xmpp_stanza_get_type(stanza); + const char* from = xmpp_stanza_get_from(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (from) { log_debug("Received disco#info response from: %s", from); @@ -2333,7 +2347,7 @@ _disco_info_response_id_handler_onconnect(xmpp_stanza_t *const stanza, void *con // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); if (from) { log_error("Service discovery failed for %s: %s", from, error_message); } else { @@ -2343,20 +2357,20 @@ _disco_info_response_id_handler_onconnect(xmpp_stanza_t *const stanza, void *con return 0; } - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query) { - GHashTable *features = connection_get_features(from); + GHashTable* features = connection_get_features(from); if (features == NULL) { log_error("No matching disco item found for %s", from); return 1; } - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); while (child) { - const char *stanza_name = xmpp_stanza_get_name(child); + const char* stanza_name = xmpp_stanza_get_name(child); if (g_strcmp0(stanza_name, STANZA_NAME_FEATURE) == 0) { - const char *var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); + const char* var = xmpp_stanza_get_attribute(child, STANZA_ATTR_VAR); if (var) { g_hash_table_add(features, strdup(var)); } @@ -2371,11 +2385,11 @@ _disco_info_response_id_handler_onconnect(xmpp_stanza_t *const stanza, void *con } static int -_http_upload_response_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_http_upload_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { - HTTPUpload *upload = (HTTPUpload *)userdata; - const char *from = xmpp_stanza_get_from(stanza); - const char *type = xmpp_stanza_get_type(stanza); + HTTPUpload* upload = (HTTPUpload*)userdata; + const char* from = xmpp_stanza_get_from(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (from) { log_info("Received http_upload response from: %s", from); @@ -2385,7 +2399,7 @@ _http_upload_response_id_handler(xmpp_stanza_t *const stanza, void *const userda // handle error responses if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { - char *error_message = stanza_get_error_message(stanza); + char* error_message = stanza_get_error_message(stanza); if (from) { cons_show_error("Uploading '%s' failed for %s: %s", upload->filename, from, error_message); } else { @@ -2395,23 +2409,25 @@ _http_upload_response_id_handler(xmpp_stanza_t *const stanza, void *const userda return 0; } - xmpp_stanza_t *slot = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SLOT); + xmpp_stanza_t* slot = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SLOT); if (slot && g_strcmp0(xmpp_stanza_get_ns(slot), STANZA_NS_HTTP_UPLOAD) == 0) { - xmpp_stanza_t *put = xmpp_stanza_get_child_by_name(slot, STANZA_NAME_PUT); - xmpp_stanza_t *get = xmpp_stanza_get_child_by_name(slot, STANZA_NAME_GET); + xmpp_stanza_t* put = xmpp_stanza_get_child_by_name(slot, STANZA_NAME_PUT); + xmpp_stanza_t* get = xmpp_stanza_get_child_by_name(slot, STANZA_NAME_GET); if (put && get) { - char *put_url = xmpp_stanza_get_text(put); - char *get_url = xmpp_stanza_get_text(get); + char* put_url = xmpp_stanza_get_text(put); + char* get_url = xmpp_stanza_get_text(get); upload->put_url = strdup(put_url); upload->get_url = strdup(get_url); - xmpp_conn_t *conn = connection_get_conn(); - xmpp_ctx_t *ctx = xmpp_conn_get_context(conn); - if (put_url) xmpp_free(ctx, put_url); - if (get_url) xmpp_free(ctx, get_url); + xmpp_conn_t* conn = connection_get_conn(); + xmpp_ctx_t* ctx = xmpp_conn_get_context(conn); + if (put_url) + xmpp_free(ctx, put_url); + if (get_url) + xmpp_free(ctx, get_url); pthread_create(&(upload->worker), NULL, &http_file_put, upload); http_upload_add_upload(upload); @@ -2425,38 +2441,37 @@ _http_upload_response_id_handler(xmpp_stanza_t *const stanza, void *const userda } static void -_disco_items_result_handler(xmpp_stanza_t *const stanza) +_disco_items_result_handler(xmpp_stanza_t* const stanza) { log_debug("Received disco#items response"); - const char *id = xmpp_stanza_get_id(stanza); - const char *from = xmpp_stanza_get_from(stanza); - GSList *items = NULL; + const char* id = xmpp_stanza_get_id(stanza); + const char* from = xmpp_stanza_get_from(stanza); + GSList* items = NULL; - if ((g_strcmp0(id, "discoitemsreq") != 0) && - (g_strcmp0(id, "discoitemsreq_onconnect") != 0)) { + if ((g_strcmp0(id, "discoitemsreq") != 0) && (g_strcmp0(id, "discoitemsreq_onconnect") != 0)) { return; } log_debug("Response to query: %s", id); - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query == NULL) { return; } - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); if (child == NULL) { return; } while (child) { - const char *stanza_name = xmpp_stanza_get_name(child); + const char* stanza_name = xmpp_stanza_get_name(child); if (stanza_name && (g_strcmp0(stanza_name, STANZA_NAME_ITEM) == 0)) { - const char *item_jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); + const char* item_jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (item_jid) { - DiscoItem *item = malloc(sizeof(struct disco_item_t)); + DiscoItem* item = malloc(sizeof(struct disco_item_t)); item->jid = strdup(item_jid); - const char *item_name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); + const char* item_name = xmpp_stanza_get_attribute(child, STANZA_ATTR_NAME); if (item_name) { item->name = strdup(item_name); } else { @@ -2479,14 +2494,14 @@ _disco_items_result_handler(xmpp_stanza_t *const stanza) } void -iq_send_stanza(xmpp_stanza_t *const stanza) +iq_send_stanza(xmpp_stanza_t* const stanza) { - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); - xmpp_conn_t *conn = connection_get_conn(); - char *plugin_text = plugins_on_iq_stanza_send(text); + xmpp_conn_t* conn = connection_get_conn(); + char* plugin_text = plugins_on_iq_stanza_send(text); if (plugin_text) { xmpp_send_raw_string(conn, "%s", plugin_text); free(plugin_text); @@ -2497,7 +2512,7 @@ iq_send_stanza(xmpp_stanza_t *const stanza) } static void -_iq_free_room_data(ProfRoomInfoData *roominfo) +_iq_free_room_data(ProfRoomInfoData* roominfo) { if (roominfo) { free(roominfo->room); @@ -2506,7 +2521,7 @@ _iq_free_room_data(ProfRoomInfoData *roominfo) } static void -_iq_free_affiliation_set(ProfPrivilegeSet *affiliation_set) +_iq_free_affiliation_set(ProfPrivilegeSet* affiliation_set) { if (affiliation_set) { free(affiliation_set->item); @@ -2516,7 +2531,7 @@ _iq_free_affiliation_set(ProfPrivilegeSet *affiliation_set) } static void -_iq_free_affiliation_list(ProfAffiliationList *affiliation_list) +_iq_free_affiliation_list(ProfAffiliationList* affiliation_list) { if (affiliation_list) { free(affiliation_list->affiliation); @@ -2525,26 +2540,26 @@ _iq_free_affiliation_list(ProfAffiliationList *affiliation_list) } void -iq_mam_request(ProfChatWin *win) +iq_mam_request(ProfChatWin* win) { - if (connection_supports(XMPP_FEATURE_MAM2) == FALSE) { + if (connection_supports(XMPP_FEATURE_MAM2) == FALSE) { log_warning("Server doesn't advertise %s feature.", XMPP_FEATURE_PING); cons_show_error("Server doesn't support MAM."); return; - } + } - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); - GDateTime *now = g_date_time_new_now_local(); - GDateTime *timestamp = g_date_time_add_days(now, -1); + GDateTime* now = g_date_time_new_now_local(); + GDateTime* timestamp = g_date_time_add_days(now, -1); g_date_time_unref(now); - gchar *datestr = g_date_time_format(timestamp,"%FT%T%:::z"); - xmpp_stanza_t *iq = stanza_create_mam_iq(ctx, win->barejid, datestr); + gchar* datestr = g_date_time_format(timestamp, "%FT%T%:::z"); + xmpp_stanza_t* iq = stanza_create_mam_iq(ctx, win->barejid, datestr); g_free(datestr); g_date_time_unref(timestamp); -// iq_id_handler_add(id, _http_upload_response_id_handler, NULL, upload); + // iq_id_handler_add(id, _http_upload_response_id_handler, NULL, upload); free(id); iq_send_stanza(iq); diff --git a/src/xmpp/iq.h b/src/xmpp/iq.h index eba79034..887e832e 100644 --- a/src/xmpp/iq.h +++ b/src/xmpp/iq.h @@ -36,18 +36,18 @@ #ifndef XMPP_IQ_H #define XMPP_IQ_H -typedef int(*ProfIqCallback)(xmpp_stanza_t *const stanza, void *const userdata); -typedef void(*ProfIqFreeCallback)(void *userdata); +typedef int (*ProfIqCallback)(xmpp_stanza_t* const stanza, void* const userdata); +typedef void (*ProfIqFreeCallback)(void* userdata); void iq_handlers_init(void); -void iq_send_stanza(xmpp_stanza_t *const stanza); -void iq_id_handler_add(const char *const id, ProfIqCallback func, ProfIqFreeCallback free_func, void *userdata); -void iq_disco_info_request_onconnect(gchar *jid); -void iq_disco_items_request_onconnect(gchar *jid); -void iq_send_caps_request(const char *const to, const char *const id, const char *const node, const char *const ver); -void iq_send_caps_request_for_jid(const char *const to, const char *const id, const char *const node, - const char *const ver); -void iq_send_caps_request_legacy(const char *const to, const char *const id, const char *const node, - const char *const ver); +void iq_send_stanza(xmpp_stanza_t* const stanza); +void iq_id_handler_add(const char* const id, ProfIqCallback func, ProfIqFreeCallback free_func, void* userdata); +void iq_disco_info_request_onconnect(gchar* jid); +void iq_disco_items_request_onconnect(gchar* jid); +void iq_send_caps_request(const char* const to, const char* const id, const char* const node, const char* const ver); +void iq_send_caps_request_for_jid(const char* const to, const char* const id, const char* const node, + const char* const ver); +void iq_send_caps_request_legacy(const char* const to, const char* const id, const char* const node, + const char* const ver); #endif diff --git a/src/xmpp/jid.c b/src/xmpp/jid.c index a427a318..32743cb4 100644 --- a/src/xmpp/jid.c +++ b/src/xmpp/jid.c @@ -42,12 +42,12 @@ #include "xmpp/jid.h" Jid* -jid_create(const gchar *const str) +jid_create(const gchar* const str) { - Jid *result = NULL; + Jid* result = NULL; /* if str is NULL g_strdup returns NULL */ - gchar *trimmed = g_strdup(str); + gchar* trimmed = g_strdup(str); if (trimmed == NULL) { return NULL; } @@ -75,9 +75,9 @@ jid_create(const gchar *const str) result->barejid = NULL; result->fulljid = NULL; - gchar *atp = g_utf8_strchr(trimmed, -1, '@'); - gchar *slashp = g_utf8_strchr(trimmed, -1, '/'); - gchar *domain_start = trimmed; + gchar* atp = g_utf8_strchr(trimmed, -1, '@'); + gchar* slashp = g_utf8_strchr(trimmed, -1, '/'); + gchar* domain_start = trimmed; if (atp) { result->localpart = g_utf8_substring(trimmed, 0, g_utf8_pointer_to_offset(trimmed, atp)); @@ -87,7 +87,7 @@ jid_create(const gchar *const str) if (slashp) { result->resourcepart = g_strdup(slashp + 1); result->domainpart = g_utf8_substring(domain_start, 0, g_utf8_pointer_to_offset(domain_start, slashp)); - char *barejidraw = g_utf8_substring(trimmed, 0, g_utf8_pointer_to_offset(trimmed, slashp)); + char* barejidraw = g_utf8_substring(trimmed, 0, g_utf8_pointer_to_offset(trimmed, slashp)); result->barejid = g_utf8_strdown(barejidraw, -1); result->fulljid = g_strdup(trimmed); g_free(barejidraw); @@ -107,10 +107,10 @@ jid_create(const gchar *const str) } Jid* -jid_create_from_bare_and_resource(const char *const barejid, const char *const resource) +jid_create_from_bare_and_resource(const char* const barejid, const char* const resource) { - Jid *result; - char *jid = create_fulljid(barejid, resource); + Jid* result; + char* jid = create_fulljid(barejid, resource); result = jid_create(jid); free(jid); @@ -118,7 +118,7 @@ jid_create_from_bare_and_resource(const char *const barejid, const char *const r } void -jid_destroy(Jid *jid) +jid_destroy(Jid* jid) { if (jid == NULL) { return; @@ -134,7 +134,7 @@ jid_destroy(Jid *jid) } gboolean -jid_is_valid_room_form(Jid *jid) +jid_is_valid_room_form(Jid* jid) { return (jid->fulljid != NULL); } @@ -145,15 +145,15 @@ jid_is_valid_room_form(Jid *jid) * Will return a newly created string that must be freed by the caller */ char* -create_fulljid(const char *const barejid, const char *const resource) +create_fulljid(const char* const barejid, const char* const resource) { - gchar *barejidlower = g_utf8_strdown(barejid, -1); - GString *full_jid = g_string_new(barejidlower); + gchar* barejidlower = g_utf8_strdown(barejid, -1); + GString* full_jid = g_string_new(barejidlower); g_free(barejidlower); g_string_append(full_jid, "/"); g_string_append(full_jid, resource); - char *result = strdup(full_jid->str); + char* result = strdup(full_jid->str); g_string_free(full_jid, TRUE); @@ -166,10 +166,10 @@ create_fulljid(const char *const barejid, const char *const resource) * returns "person" */ char* -get_nick_from_full_jid(const char *const full_room_jid) +get_nick_from_full_jid(const char* const full_room_jid) { - char **tokens = g_strsplit(full_room_jid, "/", 0); - char *nick_part = NULL; + char** tokens = g_strsplit(full_room_jid, "/", 0); + char* nick_part = NULL; if (tokens) { if (tokens[0] && tokens[1]) { @@ -182,12 +182,11 @@ get_nick_from_full_jid(const char *const full_room_jid) return nick_part; } - /* * get the fulljid, fall back to the barejid */ char* -jid_fulljid_or_barejid(Jid *jid) +jid_fulljid_or_barejid(Jid* jid) { if (jid->fulljid) { return jid->fulljid; @@ -199,9 +198,9 @@ jid_fulljid_or_barejid(Jid *jid) char* jid_random_resource(void) { - char *rand = get_random_string(4); + char* rand = get_random_string(4); - gchar *result = g_strdup_printf("profanity.%s", rand); + gchar* result = g_strdup_printf("profanity.%s", rand); free(rand); return result; diff --git a/src/xmpp/jid.h b/src/xmpp/jid.h index dd9361a2..dae6cb2d 100644 --- a/src/xmpp/jid.h +++ b/src/xmpp/jid.h @@ -38,26 +38,27 @@ #include <glib.h> -struct jid_t { - char *str; - char *localpart; - char *domainpart; - char *resourcepart; - char *barejid; - char *fulljid; +struct jid_t +{ + char* str; + char* localpart; + char* domainpart; + char* resourcepart; + char* barejid; + char* fulljid; }; typedef struct jid_t Jid; -Jid* jid_create(const gchar *const str); -Jid* jid_create_from_bare_and_resource(const char *const barejid, const char *const resource); -void jid_destroy(Jid *jid); +Jid* jid_create(const gchar* const str); +Jid* jid_create_from_bare_and_resource(const char* const barejid, const char* const resource); +void jid_destroy(Jid* jid); -gboolean jid_is_valid_room_form(Jid *jid); -char* create_fulljid(const char *const barejid, const char *const resource); -char* get_nick_from_full_jid(const char *const full_room_jid); +gboolean jid_is_valid_room_form(Jid* jid); +char* create_fulljid(const char* const barejid, const char* const resource); +char* get_nick_from_full_jid(const char* const full_room_jid); -char* jid_fulljid_or_barejid(Jid *jid); +char* jid_fulljid_or_barejid(Jid* jid); char* jid_random_resource(void); #endif diff --git a/src/xmpp/message.c b/src/xmpp/message.c index a50b5518..f9940204 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -70,37 +70,38 @@ #include "omemo/omemo.h" #endif -typedef struct p_message_handle_t { +typedef struct p_message_handle_t +{ ProfMessageCallback func; ProfMessageFreeCallback free_func; - void *userdata; + void* userdata; } ProfMessageHandler; -static int _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata); -static void _handle_error(xmpp_stanza_t *const stanza); -static void _handle_groupchat(xmpp_stanza_t *const stanza); -static void _handle_muc_user(xmpp_stanza_t *const stanza); -static void _handle_muc_private_message(xmpp_stanza_t *const stanza); -static void _handle_conference(xmpp_stanza_t *const stanza); -static void _handle_captcha(xmpp_stanza_t *const stanza); -static void _handle_receipt_received(xmpp_stanza_t *const stanza); -static void _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon); -static void _handle_ox_chat(xmpp_stanza_t *const stanza, ProfMessage *message, gboolean is_mam); -static xmpp_stanza_t* _handle_carbons(xmpp_stanza_t *const stanza); -static void _send_message_stanza(xmpp_stanza_t *const stanza); -static gboolean _handle_mam(xmpp_stanza_t *const stanza); -static void _handle_pubsub(xmpp_stanza_t *const stanza, xmpp_stanza_t *const event); +static int _message_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata); +static void _handle_error(xmpp_stanza_t* const stanza); +static void _handle_groupchat(xmpp_stanza_t* const stanza); +static void _handle_muc_user(xmpp_stanza_t* const stanza); +static void _handle_muc_private_message(xmpp_stanza_t* const stanza); +static void _handle_conference(xmpp_stanza_t* const stanza); +static void _handle_captcha(xmpp_stanza_t* const stanza); +static void _handle_receipt_received(xmpp_stanza_t* const stanza); +static void _handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon); +static void _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_mam); +static xmpp_stanza_t* _handle_carbons(xmpp_stanza_t* const stanza); +static void _send_message_stanza(xmpp_stanza_t* const stanza); +static gboolean _handle_mam(xmpp_stanza_t* const stanza); +static void _handle_pubsub(xmpp_stanza_t* const stanza, xmpp_stanza_t* const event); #ifdef HAVE_LIBGPGME static xmpp_stanza_t* _openpgp_signcrypt(xmpp_ctx_t* ctx, const char* const to, const char* const text); #endif // HAVE_LIBGPGME -static GHashTable *pubsub_event_handlers; +static GHashTable* pubsub_event_handlers; static gboolean -_handled_by_plugin(xmpp_stanza_t *const stanza) +_handled_by_plugin(xmpp_stanza_t* const stanza) { - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); @@ -111,11 +112,11 @@ _handled_by_plugin(xmpp_stanza_t *const stanza) } static void -_handle_headline(xmpp_stanza_t *const stanza) +_handle_headline(xmpp_stanza_t* const stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); char* text = NULL; - xmpp_stanza_t *body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY); + xmpp_stanza_t* body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY); if (body) { text = xmpp_stanza_get_text(body); if (text) { @@ -126,7 +127,7 @@ _handle_headline(xmpp_stanza_t *const stanza) } static void -_handle_chat_states(xmpp_stanza_t *const stanza, Jid *const jid) +_handle_chat_states(xmpp_stanza_t* const stanza, Jid* const jid) { gboolean gone = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_GONE) != NULL; gboolean typing = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_COMPOSING) != NULL; @@ -148,7 +149,7 @@ _handle_chat_states(xmpp_stanza_t *const stanza, Jid *const jid) } static int -_message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata) +_message_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata) { log_debug("Message stanza handler fired"); @@ -157,7 +158,7 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con } // type according to RFC 6121 - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { _handle_error(stanza); @@ -166,7 +167,7 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con _handle_groupchat(stanza); } else if (g_strcmp0(type, STANZA_TYPE_HEADLINE) == 0) { _handle_headline(stanza); - } else if (type == NULL || g_strcmp0(type, STANZA_TYPE_CHAT) != 0 || g_strcmp0(type, STANZA_TYPE_NORMAL) != 0 ) { + } else if (type == NULL || g_strcmp0(type, STANZA_TYPE_CHAT) != 0 || g_strcmp0(type, STANZA_TYPE_NORMAL) != 0) { // type: chat, normal (==NULL) // XEP-0313: Message Archive Management @@ -175,48 +176,48 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con } // XEP-0045: Multi-User Chat - invites - presence - xmpp_stanza_t *mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (mucuser) { _handle_muc_user(stanza); } // XEP-0249: Direct MUC Invitations - xmpp_stanza_t *conference = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CONFERENCE); + xmpp_stanza_t* conference = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CONFERENCE); if (conference) { _handle_conference(stanza); return 1; } // XEP-0158: CAPTCHA Forms - xmpp_stanza_t *captcha = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CAPTCHA); + xmpp_stanza_t* captcha = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CAPTCHA); if (captcha) { _handle_captcha(stanza); return 1; } // XEP-0184: Message Delivery Receipts - xmpp_stanza_t *receipts = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); + xmpp_stanza_t* receipts = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); if (receipts) { _handle_receipt_received(stanza); } // XEP-0060: Publish-Subscribe - xmpp_stanza_t *event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); + xmpp_stanza_t* event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); if (event) { _handle_pubsub(stanza, event); return 1; } - xmpp_stanza_t *msg_stanza = stanza; + xmpp_stanza_t* msg_stanza = stanza; gboolean is_carbon = FALSE; // XEP-0280: Message Carbons - xmpp_stanza_t *carbons = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CARBONS); + xmpp_stanza_t* carbons = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CARBONS); if (carbons) { // carbon must come from ourselves - char *mybarejid = connection_get_barejid(); - const char *const stanza_from = xmpp_stanza_get_from(stanza); + char* mybarejid = connection_get_barejid(); + const char* const stanza_from = xmpp_stanza_get_from(stanza); if (g_strcmp0(mybarejid, stanza_from) != 0) { log_warning("Invalid carbon received, from: %s", stanza_from); @@ -235,7 +236,7 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con } } else { // none of the allowed types - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); @@ -250,15 +251,15 @@ _message_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *con void message_handlers_init(void) { - xmpp_conn_t * const conn = connection_get_conn(); - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_conn_t* const conn = connection_get_conn(); + xmpp_ctx_t* const ctx = connection_get_ctx(); xmpp_handler_add(conn, _message_handler, NULL, STANZA_NAME_MESSAGE, NULL, ctx); if (pubsub_event_handlers) { - GList *keys = g_hash_table_get_keys(pubsub_event_handlers); - GList *curr = keys; + GList* keys = g_hash_table_get_keys(pubsub_event_handlers); + GList* curr = keys; while (curr) { - ProfMessageHandler *handler = g_hash_table_lookup(pubsub_event_handlers, curr->data); + ProfMessageHandler* handler = g_hash_table_lookup(pubsub_event_handlers, curr->data); if (handler->free_func && handler->userdata) { handler->free_func(handler->userdata); } @@ -271,10 +272,10 @@ message_handlers_init(void) pubsub_event_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, free, free); } -ProfMessage * +ProfMessage* message_init(void) { - ProfMessage *message = malloc(sizeof(ProfMessage)); + ProfMessage* message = malloc(sizeof(ProfMessage)); message->from_jid = NULL; message->to_jid = NULL; @@ -293,9 +294,9 @@ message_init(void) } void -message_free(ProfMessage *message) +message_free(ProfMessage* message) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); if (message->from_jid) { jid_destroy(message->from_jid); } @@ -344,9 +345,9 @@ message_handlers_clear(void) } void -message_pubsub_event_handler_add(const char *const node, ProfMessageCallback func, ProfMessageFreeCallback free_func, void *userdata) +message_pubsub_event_handler_add(const char* const node, ProfMessageCallback func, ProfMessageFreeCallback free_func, void* userdata) { - ProfMessageHandler *handler = malloc(sizeof(ProfMessageHandler)); + ProfMessageHandler* handler = malloc(sizeof(ProfMessageHandler)); handler->func = func; handler->free_func = free_func; handler->userdata = userdata; @@ -355,15 +356,15 @@ message_pubsub_event_handler_add(const char *const node, ProfMessageCallback fun } char* -message_send_chat(const char *const barejid, const char *const msg, const char *const oob_url, gboolean request_receipt, const char *const replace_id) +message_send_chat(const char* const barejid, const char* const msg, const char* const oob_url, gboolean request_receipt, const char* const replace_id) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *state = chat_session_get_state(barejid); - char *jid = chat_session_get_jid(barejid); - char *id = connection_create_stanza_id(); + char* state = chat_session_get_state(barejid); + char* jid = chat_session_get_jid(barejid); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); + xmpp_stanza_t* message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); xmpp_message_set_body(message, msg); free(jid); @@ -390,28 +391,28 @@ message_send_chat(const char *const barejid, const char *const msg, const char * } char* -message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id) +message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *state = chat_session_get_state(barejid); - char *jid = chat_session_get_jid(barejid); - char *id = connection_create_stanza_id(); + char* state = chat_session_get_state(barejid); + char* jid = chat_session_get_jid(barejid); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = NULL; + xmpp_stanza_t* message = NULL; #ifdef HAVE_LIBGPGME - char *account_name = session_get_account_name(); - ProfAccount *account = accounts_get_account(account_name); + char* account_name = session_get_account_name(); + ProfAccount* account = accounts_get_account(account_name); if (account->pgp_keyid) { - Jid *jidp = jid_create(jid); - char *encrypted = p_gpg_encrypt(jidp->barejid, msg, account->pgp_keyid); + Jid* jidp = jid_create(jid); + char* encrypted = p_gpg_encrypt(jidp->barejid, msg, account->pgp_keyid); if (encrypted) { message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); xmpp_message_set_body(message, "This message is encrypted (XEP-0027)."); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_ENCRYPTED); - xmpp_stanza_t *enc_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* enc_st = xmpp_stanza_new(ctx); xmpp_stanza_set_text(enc_st, encrypted); xmpp_stanza_add_child(x, enc_st); xmpp_stanza_release(enc_st); @@ -455,44 +456,44 @@ message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean // XEP-0373: OpenPGP for XMPP char* -message_send_chat_ox(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id) +message_send_chat_ox(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id) { #ifdef HAVE_LIBGPGME - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *state = chat_session_get_state(barejid); - char *jid = chat_session_get_jid(barejid); - char *id = connection_create_stanza_id(); + char* state = chat_session_get_state(barejid); + char* jid = chat_session_get_jid(barejid); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = NULL; - Jid *jidp = jid_create(jid); + xmpp_stanza_t* message = NULL; + Jid* jidp = jid_create(jid); - char *account_name = session_get_account_name(); - ProfAccount *account = accounts_get_account(account_name); + char* account_name = session_get_account_name(); + ProfAccount* account = accounts_get_account(account_name); message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); xmpp_message_set_body(message, "This message is encrypted (XEP-0373: OpenPGP for XMPP)."); - xmpp_stanza_t *openpgp = xmpp_stanza_new(ctx); + xmpp_stanza_t* openpgp = xmpp_stanza_new(ctx); xmpp_stanza_set_name(openpgp, STANZA_NAME_OPENPGP); xmpp_stanza_set_ns(openpgp, STANZA_NS_OPENPGP_0); - xmpp_stanza_t * signcrypt = _openpgp_signcrypt(ctx, barejid, msg); + xmpp_stanza_t* signcrypt = _openpgp_signcrypt(ctx, barejid, msg); char* c; size_t s; - xmpp_stanza_to_text(signcrypt, &c,&s); + xmpp_stanza_to_text(signcrypt, &c, &s); char* signcrypt_e = p_ox_gpg_signcrypt(account->jid, barejid, c); - if( signcrypt_e == NULL ) { - log_error("Message not signcrypted."); - return NULL; + if (signcrypt_e == NULL) { + log_error("Message not signcrypted."); + return NULL; } // BASE64_OPENPGP_MESSAGE xmpp_stanza_t* base64_openpgp_message = xmpp_stanza_new(ctx); - xmpp_stanza_set_text(base64_openpgp_message,signcrypt_e); + xmpp_stanza_set_text(base64_openpgp_message, signcrypt_e); xmpp_stanza_add_child(openpgp, base64_openpgp_message); xmpp_stanza_add_child(message, openpgp); - xmpp_stanza_to_text(message, &c,&s); + xmpp_stanza_to_text(message, &c, &s); account_free(account); jid_destroy(jidp); @@ -519,15 +520,15 @@ message_send_chat_ox(const char *const barejid, const char *const msg, gboolean } char* -message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id) +message_send_chat_otr(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *state = chat_session_get_state(barejid); - char *jid = chat_session_get_jid(barejid); - char *id = connection_create_stanza_id(); + char* state = chat_session_get_state(barejid); + char* jid = chat_session_get_jid(barejid); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, barejid, id); + xmpp_stanza_t* message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, barejid, id); xmpp_message_set_body(message, msg); free(jid); @@ -556,15 +557,15 @@ message_send_chat_otr(const char *const barejid, const char *const msg, gboolean #ifdef HAVE_OMEMO char* -message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, - const unsigned char *const iv, size_t iv_len, - const unsigned char *const ciphertext, size_t ciphertext_len, - gboolean request_receipt, gboolean muc, const char *const replace_id) +message_send_chat_omemo(const char* const jid, uint32_t sid, GList* keys, + const unsigned char* const iv, size_t iv_len, + const unsigned char* const ciphertext, size_t ciphertext_len, + gboolean request_receipt, gboolean muc, const char* const replace_id) { - char *state = chat_session_get_state(jid); - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id; - xmpp_stanza_t *message; + char* state = chat_session_get_state(jid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id; + xmpp_stanza_t* message; if (muc) { id = connection_create_stanza_id(); message = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, jid, id); @@ -574,31 +575,31 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id); } - xmpp_stanza_t *encrypted = xmpp_stanza_new(ctx); + xmpp_stanza_t* encrypted = xmpp_stanza_new(ctx); xmpp_stanza_set_name(encrypted, "encrypted"); xmpp_stanza_set_ns(encrypted, STANZA_NS_OMEMO); - xmpp_stanza_t *header = xmpp_stanza_new(ctx); + xmpp_stanza_t* header = xmpp_stanza_new(ctx); xmpp_stanza_set_name(header, "header"); - char *sid_text = g_strdup_printf("%d", sid); + char* sid_text = g_strdup_printf("%d", sid); xmpp_stanza_set_attribute(header, "sid", sid_text); g_free(sid_text); - GList *key_iter; + GList* key_iter; for (key_iter = keys; key_iter != NULL; key_iter = key_iter->next) { - omemo_key_t *key = (omemo_key_t *)key_iter->data; + omemo_key_t* key = (omemo_key_t*)key_iter->data; - xmpp_stanza_t *key_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* key_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(key_stanza, "key"); - char *rid = g_strdup_printf("%d", key->device_id); + char* rid = g_strdup_printf("%d", key->device_id); xmpp_stanza_set_attribute(key_stanza, "rid", rid); g_free(rid); if (key->prekey) { xmpp_stanza_set_attribute(key_stanza, "prekey", "true"); } - gchar *key_raw = g_base64_encode(key->data, key->length); - xmpp_stanza_t *key_text = xmpp_stanza_new(ctx); + gchar* key_raw = g_base64_encode(key->data, key->length); + xmpp_stanza_t* key_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(key_text, key_raw); g_free(key_raw); @@ -608,11 +609,11 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, xmpp_stanza_release(key_stanza); } - xmpp_stanza_t *iv_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* iv_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(iv_stanza, "iv"); - gchar *iv_raw = g_base64_encode(iv, iv_len); - xmpp_stanza_t *iv_text = xmpp_stanza_new(ctx); + gchar* iv_raw = g_base64_encode(iv, iv_len); + xmpp_stanza_t* iv_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(iv_text, iv_raw); g_free(iv_raw); @@ -624,11 +625,11 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, xmpp_stanza_add_child(encrypted, header); xmpp_stanza_release(header); - xmpp_stanza_t *payload = xmpp_stanza_new(ctx); + xmpp_stanza_t* payload = xmpp_stanza_new(ctx); xmpp_stanza_set_name(payload, "payload"); - gchar *ciphertext_raw = g_base64_encode(ciphertext, ciphertext_len); - xmpp_stanza_t *payload_text = xmpp_stanza_new(ctx); + gchar* ciphertext_raw = g_base64_encode(ciphertext, ciphertext_len); + xmpp_stanza_t* payload_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(payload_text, ciphertext_raw); g_free(ciphertext_raw); @@ -640,9 +641,9 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, xmpp_stanza_add_child(message, encrypted); xmpp_stanza_release(encrypted); - xmpp_stanza_t *body = xmpp_stanza_new(ctx); + xmpp_stanza_t* body = xmpp_stanza_new(ctx); xmpp_stanza_set_name(body, "body"); - xmpp_stanza_t *body_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* body_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(body_text, "You received a message encrypted with OMEMO but your client doesn't support OMEMO."); xmpp_stanza_add_child(body, body_text); xmpp_stanza_release(body_text); @@ -671,12 +672,12 @@ message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, #endif char* -message_send_private(const char *const fulljid, const char *const msg, const char *const oob_url) +message_send_private(const char* const fulljid, const char* const msg, const char* const oob_url) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, fulljid, id); + xmpp_stanza_t* message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, fulljid, id); xmpp_message_set_body(message, msg); if (oob_url) { @@ -690,12 +691,12 @@ message_send_private(const char *const fulljid, const char *const msg, const cha } char* -message_send_groupchat(const char *const roomjid, const char *const msg, const char *const oob_url, const char *const replace_id) +message_send_groupchat(const char* const roomjid, const char* const msg, const char* const oob_url, const char* const replace_id) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, roomjid, id); + xmpp_stanza_t* message = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, roomjid, id); stanza_attach_origin_id(ctx, message, id); xmpp_message_set_body(message, msg); @@ -714,26 +715,26 @@ message_send_groupchat(const char *const roomjid, const char *const msg, const c } void -message_send_groupchat_subject(const char *const roomjid, const char *const subject) +message_send_groupchat_subject(const char* const roomjid, const char* const subject) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *message = stanza_create_room_subject_message(ctx, roomjid, subject); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* message = stanza_create_room_subject_message(ctx, roomjid, subject); _send_message_stanza(message); xmpp_stanza_release(message); } void -message_send_invite(const char *const roomjid, const char *const contact, - const char *const reason) +message_send_invite(const char* const roomjid, const char* const contact, + const char* const reason) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *stanza; + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* stanza; muc_member_type_t member_type = muc_member_type(roomjid); if (member_type == MUC_MEMBER_TYPE_PUBLIC) { log_debug("Sending direct invite to %s, for %s", contact, roomjid); - char *password = muc_password(roomjid); + char* password = muc_password(roomjid); stanza = stanza_create_invite(ctx, roomjid, contact, reason, password); } else { log_debug("Sending mediated invite to %s, for %s", contact, roomjid); @@ -745,59 +746,58 @@ message_send_invite(const char *const roomjid, const char *const contact, } void -message_send_composing(const char *const jid) +message_send_composing(const char* const jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_COMPOSING); + xmpp_stanza_t* stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_COMPOSING); _send_message_stanza(stanza); xmpp_stanza_release(stanza); - } void -message_send_paused(const char *const jid) +message_send_paused(const char* const jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_PAUSED); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_PAUSED); _send_message_stanza(stanza); xmpp_stanza_release(stanza); } void -message_send_inactive(const char *const jid) +message_send_inactive(const char* const jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_INACTIVE); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_INACTIVE); _send_message_stanza(stanza); xmpp_stanza_release(stanza); } void -message_send_gone(const char *const jid) +message_send_gone(const char* const jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_GONE); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* stanza = stanza_create_chat_state(ctx, jid, STANZA_NAME_GONE); _send_message_stanza(stanza); xmpp_stanza_release(stanza); } static void -_handle_error(xmpp_stanza_t *const stanza) +_handle_error(xmpp_stanza_t* const stanza) { - const char *id = xmpp_stanza_get_id(stanza); - const char *jid = xmpp_stanza_get_from(stanza); - xmpp_stanza_t *error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); - const char *type = NULL; + const char* id = xmpp_stanza_get_id(stanza); + const char* jid = xmpp_stanza_get_from(stanza); + xmpp_stanza_t* error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); + const char* type = NULL; if (error_stanza) { type = xmpp_stanza_get_type(error_stanza); } // stanza_get_error never returns NULL - char *err_msg = stanza_get_error_message(stanza); + char* err_msg = stanza_get_error_message(stanza); - GString *log_msg = g_string_new("message stanza error received"); + GString* log_msg = g_string_new("message stanza error received"); if (id) { g_string_append(log_msg, " id="); g_string_append(log_msg, id); @@ -821,7 +821,7 @@ _handle_error(xmpp_stanza_t *const stanza) ui_handle_error(err_msg); } else if (type && (strcmp(type, "cancel") == 0)) { log_info("Recipient %s not found: %s", jid, err_msg); - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); chat_session_remove(jidp->barejid); jid_destroy(jidp); } else { @@ -832,11 +832,11 @@ _handle_error(xmpp_stanza_t *const stanza) } static void -_handle_muc_user(xmpp_stanza_t *const stanza) +_handle_muc_user(xmpp_stanza_t* const stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *xns_muc_user = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); - const char *room = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* xns_muc_user = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + const char* room = xmpp_stanza_get_from(stanza); if (!room) { log_warning("Message received with no from attribute, ignoring"); @@ -844,31 +844,31 @@ _handle_muc_user(xmpp_stanza_t *const stanza) } // XEP-0045 - xmpp_stanza_t *invite = xmpp_stanza_get_child_by_name(xns_muc_user, STANZA_NAME_INVITE); + xmpp_stanza_t* invite = xmpp_stanza_get_child_by_name(xns_muc_user, STANZA_NAME_INVITE); if (!invite) { return; } - const char *invitor_jid = xmpp_stanza_get_from(invite); + const char* invitor_jid = xmpp_stanza_get_from(invite); if (!invitor_jid) { log_warning("Chat room invite received with no from attribute"); return; } - Jid *jidp = jid_create(invitor_jid); + Jid* jidp = jid_create(invitor_jid); if (!jidp) { return; } - char *invitor = jidp->barejid; + char* invitor = jidp->barejid; - char *reason = NULL; - xmpp_stanza_t *reason_st = xmpp_stanza_get_child_by_name(invite, STANZA_NAME_REASON); + char* reason = NULL; + xmpp_stanza_t* reason_st = xmpp_stanza_get_child_by_name(invite, STANZA_NAME_REASON); if (reason_st) { reason = xmpp_stanza_get_text(reason_st); } - char *password = NULL; - xmpp_stanza_t *password_st = xmpp_stanza_get_child_by_name(xns_muc_user, STANZA_NAME_PASSWORD); + char* password = NULL; + xmpp_stanza_t* password_st = xmpp_stanza_get_child_by_name(xns_muc_user, STANZA_NAME_PASSWORD); if (password_st) { password = xmpp_stanza_get_text(password_st); } @@ -884,40 +884,40 @@ _handle_muc_user(xmpp_stanza_t *const stanza) } static void -_handle_conference(xmpp_stanza_t *const stanza) +_handle_conference(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *xns_conference = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CONFERENCE); + xmpp_stanza_t* xns_conference = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_CONFERENCE); - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Message received with no from attribute, ignoring"); return; } - Jid *jidp = jid_create(from); + Jid* jidp = jid_create(from); if (!jidp) { return; } // XEP-0249 - const char *room = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_JID); + const char* room = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_JID); if (!room) { jid_destroy(jidp); return; } - const char *reason = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_REASON); - const char *password = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_PASSWORD); + const char* reason = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_REASON); + const char* password = xmpp_stanza_get_attribute(xns_conference, STANZA_ATTR_PASSWORD); sv_ev_room_invite(INVITE_DIRECT, jidp->barejid, room, reason, password); jid_destroy(jidp); } static void -_handle_captcha(xmpp_stanza_t *const stanza) +_handle_captcha(xmpp_stanza_t* const stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_ctx_t* ctx = connection_get_ctx(); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Message received with no from attribute, ignoring"); @@ -925,7 +925,7 @@ _handle_captcha(xmpp_stanza_t *const stanza) } // XEP-0158 - char *message = xmpp_message_get_body(stanza); + char* message = xmpp_message_get_body(stanza); if (!message) { return; } @@ -935,25 +935,25 @@ _handle_captcha(xmpp_stanza_t *const stanza) } static void -_handle_groupchat(xmpp_stanza_t *const stanza) +_handle_groupchat(xmpp_stanza_t* const stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - const char *id = xmpp_stanza_get_id(stanza); - char *originid = NULL; + const char* id = xmpp_stanza_get_id(stanza); + char* originid = NULL; - xmpp_stanza_t *origin = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_ORIGIN_ID, STANZA_NS_STABLE_ID); + xmpp_stanza_t* origin = stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_ORIGIN_ID, STANZA_NS_STABLE_ID); if (origin) { originid = (char*)xmpp_stanza_get_attribute(origin, STANZA_ATTR_ID); } - const char *room_jid = xmpp_stanza_get_from(stanza); - Jid *from_jid = jid_create(room_jid); + const char* room_jid = xmpp_stanza_get_from(stanza); + Jid* from_jid = jid_create(room_jid); // handle room subject - xmpp_stanza_t *subject = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SUBJECT); + xmpp_stanza_t* subject = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SUBJECT); if (subject) { - char *subject_text; + char* subject_text; subject_text = xmpp_stanza_get_text(subject); sv_ev_room_subject(from_jid->barejid, from_jid->resourcepart, subject_text); xmpp_free(ctx, subject_text); @@ -964,7 +964,7 @@ _handle_groupchat(xmpp_stanza_t *const stanza) // handle room broadcasts if (!from_jid->resourcepart) { - char *broadcast; + char* broadcast; broadcast = xmpp_message_get_body(stanza); if (!broadcast) { jid_destroy(from_jid); @@ -991,7 +991,7 @@ _handle_groupchat(xmpp_stanza_t *const stanza) return; } - ProfMessage *message = message_init(); + ProfMessage* message = message_init(); message->from_jid = from_jid; message->type = PROF_MSG_TYPE_MUC; @@ -1003,9 +1003,9 @@ _handle_groupchat(xmpp_stanza_t *const stanza) message->originid = strdup(originid); } - xmpp_stanza_t *replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION); + xmpp_stanza_t* replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION); if (replace_id_stanza) { - const char *replace_id = xmpp_stanza_get_id(replace_id_stanza); + const char* replace_id = xmpp_stanza_get_id(replace_id_stanza); if (replace_id) { message->replace_id = strdup(replace_id); } @@ -1063,15 +1063,15 @@ out: } static void -_message_send_receipt(const char *const fulljid, const char *const message_id) +_message_send_receipt(const char* const fulljid, const char* const message_id) { - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, NULL, fulljid, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* message = xmpp_message_new(ctx, NULL, fulljid, id); free(id); - xmpp_stanza_t *receipt = xmpp_stanza_new(ctx); + xmpp_stanza_t* receipt = xmpp_stanza_new(ctx); xmpp_stanza_set_name(receipt, "received"); xmpp_stanza_set_ns(receipt, STANZA_NS_RECEIPTS); xmpp_stanza_set_id(receipt, message_id); @@ -1084,69 +1084,69 @@ _message_send_receipt(const char *const fulljid, const char *const message_id) } static void -_handle_receipt_received(xmpp_stanza_t *const stanza) +_handle_receipt_received(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *receipt = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); - const char *name = xmpp_stanza_get_name(receipt); + xmpp_stanza_t* receipt = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); + const char* name = xmpp_stanza_get_name(receipt); if (g_strcmp0(name, "received") != 0) { return; } - const char *id = xmpp_stanza_get_id(receipt); + const char* id = xmpp_stanza_get_id(receipt); if (!id) { return; } - const char *fulljid = xmpp_stanza_get_from(stanza); + const char* fulljid = xmpp_stanza_get_from(stanza); if (!fulljid) { return; } - Jid *jidp = jid_create(fulljid); + Jid* jidp = jid_create(fulljid); sv_ev_message_receipt(jidp->barejid, id); jid_destroy(jidp); } static void -_receipt_request_handler(xmpp_stanza_t *const stanza) +_receipt_request_handler(xmpp_stanza_t* const stanza) { if (!prefs_get_boolean(PREF_RECEIPTS_SEND)) { return; } - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (!id) { return; } - xmpp_stanza_t *receipts = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); + xmpp_stanza_t* receipts = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); if (!receipts) { return; } - const char *receipts_name = xmpp_stanza_get_name(receipts); + const char* receipts_name = xmpp_stanza_get_name(receipts); if (g_strcmp0(receipts_name, "request") != 0) { return; } - const gchar *from = xmpp_stanza_get_from(stanza); - Jid *jid = jid_create(from); + const gchar* from = xmpp_stanza_get_from(stanza); + Jid* jid = jid_create(from); _message_send_receipt(jid->fulljid, id); jid_destroy(jid); } static void -_handle_muc_private_message(xmpp_stanza_t *const stanza) +_handle_muc_private_message(xmpp_stanza_t* const stanza) { // standard chat message, use jid without resource - ProfMessage *message = message_init(); + ProfMessage* message = message_init(); message->type = PROF_MSG_TYPE_MUCPM; - const gchar *from = xmpp_stanza_get_from(stanza); + const gchar* from = xmpp_stanza_get_from(stanza); message->from_jid = jid_create(from); // message stanza id - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { message->id = strdup(id); } @@ -1182,9 +1182,9 @@ out: } static xmpp_stanza_t* -_handle_carbons(xmpp_stanza_t *const stanza) +_handle_carbons(xmpp_stanza_t* const stanza) { - const char *name = xmpp_stanza_get_name(stanza); + const char* name = xmpp_stanza_get_name(stanza); if (!name) { log_error("Unable to retrieve stanza name for Carbon"); return NULL; @@ -1201,13 +1201,13 @@ _handle_carbons(xmpp_stanza_t *const stanza) return NULL; } - xmpp_stanza_t *forwarded = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_FORWARD); + xmpp_stanza_t* forwarded = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_FORWARD); if (!forwarded) { log_warning("Carbon received with no forwarded element"); return NULL; } - xmpp_stanza_t *message_stanza = xmpp_stanza_get_child_by_name(forwarded, STANZA_NAME_MESSAGE); + xmpp_stanza_t* message_stanza = xmpp_stanza_get_child_by_name(forwarded, STANZA_NAME_MESSAGE); if (!message_stanza) { log_warning("Carbon received with no message element"); return NULL; @@ -1217,25 +1217,25 @@ _handle_carbons(xmpp_stanza_t *const stanza) } static void -_handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) +_handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon) { // some clients send the mucuser namespace with private messages // if the namespace exists, and the stanza contains a body element, assume its a private message // otherwise exit the handler - xmpp_stanza_t *mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); - xmpp_stanza_t *body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY); + xmpp_stanza_t* mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* body = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BODY); if (mucuser && body == NULL) { return; } - const gchar *from = xmpp_stanza_get_from(stanza); + const gchar* from = xmpp_stanza_get_from(stanza); if (!from) { return; } - Jid *jid = jid_create(from); + Jid* jid = jid_create(from); - Jid *to_jid = NULL; - const gchar *to = xmpp_stanza_get_to(stanza); + Jid* to_jid = NULL; + const gchar* to = xmpp_stanza_get_to(stanza); if (to) { to_jid = jid_create(to); } @@ -1249,7 +1249,7 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) } // standard chat message, use jid without resource - ProfMessage *message = message_init(); + ProfMessage* message = message_init(); message->is_mam = is_mam; message->from_jid = jid; if (to_jid) { @@ -1258,7 +1258,7 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) if (is_carbon) { // happens when receive a carbon of a self sent message // really? maybe some servers do this, but it's not required. - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); message->to_jid = from_jid; } } @@ -1269,21 +1269,21 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) message->type = PROF_MSG_TYPE_CHAT; } - const gchar *to_text = xmpp_stanza_get_to(stanza); + const gchar* to_text = xmpp_stanza_get_to(stanza); if (to_text) { message->to_jid = jid_create(to_text); } // message stanza id - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (id) { message->id = strdup(id); } // replace id for XEP-0308: Last Message Correction - xmpp_stanza_t *replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION); + xmpp_stanza_t* replace_id_stanza = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_LAST_MESSAGE_CORRECTION); if (replace_id_stanza) { - const char *replace_id = xmpp_stanza_get_id(replace_id_stanza); + const char* replace_id = xmpp_stanza_get_id(replace_id_stanza); if (replace_id) { message->replace_id = strdup(replace_id); } @@ -1307,19 +1307,19 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) } #endif - xmpp_stanza_t *encrypted = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_ENCRYPTED); + xmpp_stanza_t* encrypted = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_ENCRYPTED); if (encrypted) { message->encrypted = xmpp_stanza_get_text(encrypted); } - xmpp_stanza_t *ox = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OPENPGP_0); + xmpp_stanza_t* ox = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OPENPGP_0); if (ox) { - _handle_ox_chat(stanza,message, FALSE); + _handle_ox_chat(stanza, message, FALSE); } if (message->plain || message->body || message->encrypted) { if (is_carbon) { - char *mybarejid = connection_get_barejid(); + char* mybarejid = connection_get_barejid(); // if we are the recipient, treat as standard incoming message if (g_strcmp0(mybarejid, message->to_jid->barejid) == 0) { @@ -1345,18 +1345,17 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam, gboolean is_carbon) message_free(message); } - /*! * @brief Handle incoming XMMP-OX chat message. */ static void -_handle_ox_chat(xmpp_stanza_t *const stanza, ProfMessage *message, gboolean is_mam) +_handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_mam) { - message->enc=PROF_MSG_ENC_OX; + message->enc = PROF_MSG_ENC_OX; #ifdef HAVE_LIBGPGME - xmpp_stanza_t *ox = stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0); - message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox)); + xmpp_stanza_t* ox = stanza_get_child_by_name_and_ns(stanza, "openpgp", STANZA_NS_OPENPGP_0); + message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox)); // Implementation for libstrophe 0.10. /* @@ -1370,40 +1369,41 @@ _handle_ox_chat(xmpp_stanza_t *const stanza, ProfMessage *message, gboolean is_m message->encrypted = xmpp_stanza_get_text(ox); */ - if(message->plain == NULL ) { + if (message->plain == NULL) { message->plain = xmpp_stanza_get_text(stanza); } - message->encrypted = xmpp_stanza_get_text(ox); + message->encrypted = xmpp_stanza_get_text(ox); #endif // HAVE_LIBGPGME } static gboolean -_handle_mam(xmpp_stanza_t *const stanza) +_handle_mam(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *result = stanza_get_child_by_name_and_ns(stanza, "result", STANZA_NS_MAM2); + xmpp_stanza_t* result = stanza_get_child_by_name_and_ns(stanza, "result", STANZA_NS_MAM2); if (!result) { return FALSE; } - xmpp_stanza_t *forwarded = xmpp_stanza_get_child_by_ns(result, STANZA_NS_FORWARD); + xmpp_stanza_t* forwarded = xmpp_stanza_get_child_by_ns(result, STANZA_NS_FORWARD); if (!forwarded) { log_warning("MAM received with no forwarded element"); return FALSE; } - xmpp_stanza_t *message_stanza = xmpp_stanza_get_child_by_ns(forwarded, "jabber:client"); + xmpp_stanza_t* message_stanza = xmpp_stanza_get_child_by_ns(forwarded, "jabber:client"); _handle_chat(message_stanza, TRUE, FALSE); return TRUE; } static void -_handle_pubsub(xmpp_stanza_t *const stanza, xmpp_stanza_t *const event) { - xmpp_stanza_t *child = xmpp_stanza_get_children(event); +_handle_pubsub(xmpp_stanza_t* const stanza, xmpp_stanza_t* const event) +{ + xmpp_stanza_t* child = xmpp_stanza_get_children(event); if (child) { - const char *node = xmpp_stanza_get_attribute(child, STANZA_ATTR_NODE); + const char* node = xmpp_stanza_get_attribute(child, STANZA_ATTR_NODE); if (node) { - ProfMessageHandler *handler = g_hash_table_lookup(pubsub_event_handlers, node); + ProfMessageHandler* handler = g_hash_table_lookup(pubsub_event_handlers, node); if (handler) { int keep = handler->func(stanza, handler->userdata); if (!keep) { @@ -1415,14 +1415,14 @@ _handle_pubsub(xmpp_stanza_t *const stanza, xmpp_stanza_t *const event) { } static void -_send_message_stanza(xmpp_stanza_t *const stanza) +_send_message_stanza(xmpp_stanza_t* const stanza) { - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); - xmpp_conn_t *conn = connection_get_conn(); - char *plugin_text = plugins_on_message_stanza_send(text); + xmpp_conn_t* conn = connection_get_conn(); + char* plugin_text = plugins_on_message_stanza_send(text); if (plugin_text) { xmpp_send_raw_string(conn, "%s", plugin_text); free(plugin_text); @@ -1436,13 +1436,14 @@ _send_message_stanza(xmpp_stanza_t *const stanza) * checkOID = false: check regular id */ bool -message_is_sent_by_us(const ProfMessage *const message, bool checkOID) { +message_is_sent_by_us(const ProfMessage* const message, bool checkOID) +{ bool ret = FALSE; // we check the </origin-id> for this we calculate a hash into it so we can detect // whether this client sent it. See connection_create_stanza_id() if (message) { - char *tmp_id = NULL; + char* tmp_id = NULL; if (checkOID && message->originid != NULL) { tmp_id = message->originid; @@ -1452,16 +1453,16 @@ message_is_sent_by_us(const ProfMessage *const message, bool checkOID) { if (tmp_id != NULL) { gsize tmp_len; - char *tmp = (char*)g_base64_decode(tmp_id, &tmp_len); + char* tmp = (char*)g_base64_decode(tmp_id, &tmp_len); // our client sents at least 36 (uuid) + identifier if (tmp_len > 36) { - char *uuid = g_strndup(tmp, 36); - const char *prof_identifier = connection_get_profanity_identifier(); + char* uuid = g_strndup(tmp, 36); + const char* prof_identifier = connection_get_profanity_identifier(); - gchar *hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, - (guchar*)prof_identifier, strlen(prof_identifier), - uuid, strlen(uuid)); + gchar* hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA256, + (guchar*)prof_identifier, strlen(prof_identifier), + uuid, strlen(uuid)); if (g_strcmp0(&tmp[36], hmac) == 0) { ret = TRUE; @@ -1474,7 +1475,7 @@ message_is_sent_by_us(const ProfMessage *const message, bool checkOID) { } } - return ret; + return ret; } #ifdef HAVE_LIBGPGME @@ -1488,44 +1489,44 @@ _openpgp_signcrypt(xmpp_ctx_t* ctx, const char* const to, const char* const text int randnr = rand() % 5; char rpad_data[randnr]; - for(int i = 0; i < randnr-1; i++) { + for (int i = 0; i < randnr - 1; i++) { rpad_data[i] = 'c'; } - rpad_data[randnr-1] = '\0'; + rpad_data[randnr - 1] = '\0'; // signcrypt - xmpp_stanza_t *signcrypt = xmpp_stanza_new(ctx); + xmpp_stanza_t* signcrypt = xmpp_stanza_new(ctx); xmpp_stanza_set_name(signcrypt, "signcrypt"); xmpp_stanza_set_ns(signcrypt, "urn:xmpp:openpgp:0"); // to - xmpp_stanza_t *s_to = xmpp_stanza_new(ctx); + xmpp_stanza_t* s_to = xmpp_stanza_new(ctx); xmpp_stanza_set_name(s_to, "to"); xmpp_stanza_set_attribute(s_to, "jid", to); // time - xmpp_stanza_t *time = xmpp_stanza_new(ctx); + xmpp_stanza_t* time = xmpp_stanza_new(ctx); xmpp_stanza_set_name(time, "time"); xmpp_stanza_set_attribute(time, "stamp", buf); xmpp_stanza_set_name(time, "time"); // rpad - xmpp_stanza_t *rpad = xmpp_stanza_new(ctx); + xmpp_stanza_t* rpad = xmpp_stanza_new(ctx); xmpp_stanza_set_name(rpad, "rpad"); - xmpp_stanza_t *rpad_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* rpad_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(rpad_text, rpad_data); // payload - xmpp_stanza_t *payload= xmpp_stanza_new(ctx); + xmpp_stanza_t* payload = xmpp_stanza_new(ctx); xmpp_stanza_set_name(payload, "payload"); // body - xmpp_stanza_t *body = xmpp_stanza_new(ctx); + xmpp_stanza_t* body = xmpp_stanza_new(ctx); xmpp_stanza_set_name(body, "body"); xmpp_stanza_set_ns(body, "jabber:client"); // text - xmpp_stanza_t *body_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* body_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(body_text, text); - xmpp_stanza_add_child(signcrypt,s_to); - xmpp_stanza_add_child(signcrypt,time); - xmpp_stanza_add_child(signcrypt,rpad); - xmpp_stanza_add_child(rpad,rpad_text); - xmpp_stanza_add_child(signcrypt,payload); + xmpp_stanza_add_child(signcrypt, s_to); + xmpp_stanza_add_child(signcrypt, time); + xmpp_stanza_add_child(signcrypt, rpad); + xmpp_stanza_add_child(rpad, rpad_text); + xmpp_stanza_add_child(signcrypt, payload); xmpp_stanza_add_child(payload, body); xmpp_stanza_add_child(body, body_text); @@ -1539,4 +1540,3 @@ _openpgp_signcrypt(xmpp_ctx_t* ctx, const char* const to, const char* const text return signcrypt; } #endif // HAVE_LIBGPGME - diff --git a/src/xmpp/message.h b/src/xmpp/message.h index aa82b2cf..fec5662a 100644 --- a/src/xmpp/message.h +++ b/src/xmpp/message.h @@ -38,13 +38,13 @@ #include "xmpp/xmpp.h" -typedef int(*ProfMessageCallback)(xmpp_stanza_t *const stanza, void *const userdata); -typedef void(*ProfMessageFreeCallback)(void *userdata); +typedef int (*ProfMessageCallback)(xmpp_stanza_t* const stanza, void* const userdata); +typedef void (*ProfMessageFreeCallback)(void* userdata); -ProfMessage *message_init(void); -void message_free(ProfMessage *message); +ProfMessage* message_init(void); +void message_free(ProfMessage* message); void message_handlers_init(void); void message_handlers_clear(void); -void message_pubsub_event_handler_add(const char *const node, ProfMessageCallback func, ProfMessageFreeCallback free_func, void *userdata); +void message_pubsub_event_handler_add(const char* const node, ProfMessageCallback func, ProfMessageFreeCallback free_func, void* userdata); #endif diff --git a/src/xmpp/muc.c b/src/xmpp/muc.c index 85f90ae6..0e42bef5 100644 --- a/src/xmpp/muc.c +++ b/src/xmpp/muc.c @@ -51,42 +51,43 @@ #include "omemo/omemo.h" #endif -typedef struct _muc_room_t { - char *room; // e.g. test@conference.server - char *nick; // e.g. Some User +typedef struct _muc_room_t +{ + char* room; // e.g. test@conference.server + char* nick; // e.g. Some User muc_role_t role; muc_affiliation_t affiliation; - char *password; - char *subject; - char *autocomplete_prefix; + char* password; + char* subject; + char* autocomplete_prefix; gboolean pending_config; - GList *pending_broadcasts; + GList* pending_broadcasts; gboolean autojoin; gboolean pending_nick_change; - GHashTable *roster; - GHashTable *members; + GHashTable* roster; + GHashTable* members; Autocomplete nick_ac; Autocomplete jid_ac; - GHashTable *nick_changes; + GHashTable* nick_changes; gboolean roster_received; muc_member_type_t member_type; muc_anonymity_type_t anonymity_type; } ChatRoom; -GHashTable *rooms = NULL; -GHashTable *invite_passwords = NULL; +GHashTable* rooms = NULL; +GHashTable* invite_passwords = NULL; Autocomplete invite_ac = NULL; Autocomplete confservers_ac = NULL; -static void _free_room(ChatRoom *room); -static gint _compare_occupants(Occupant *a, Occupant *b); -static muc_role_t _role_from_string(const char *const role); -static muc_affiliation_t _affiliation_from_string(const char *const affiliation); +static void _free_room(ChatRoom* room); +static gint _compare_occupants(Occupant* a, Occupant* b); +static muc_role_t _role_from_string(const char* const role); +static muc_affiliation_t _affiliation_from_string(const char* const affiliation); static char* _role_to_string(muc_role_t role); static char* _affiliation_to_string(muc_affiliation_t affiliation); -static Occupant* _muc_occupant_new(const char *const nick, const char *const jid, muc_role_t role, - muc_affiliation_t affiliation, resource_presence_t presence, const char *const status); -static void _occupant_free(Occupant *occupant); +static Occupant* _muc_occupant_new(const char* const nick, const char* const jid, muc_role_t role, + muc_affiliation_t affiliation, resource_presence_t presence, const char* const status); +static void _occupant_free(Occupant* occupant); void muc_init(void) @@ -111,13 +112,13 @@ muc_close(void) } void -muc_confserver_add(const char *const server) +muc_confserver_add(const char* const server) { autocomplete_add(confservers_ac, server); } void -muc_invites_add(const char *const room, const char *const password) +muc_invites_add(const char* const room, const char* const password) { autocomplete_add(invite_ac, room); if (password) { @@ -126,7 +127,7 @@ muc_invites_add(const char *const room, const char *const password) } void -muc_invites_remove(const char *const room) +muc_invites_remove(const char* const room) { autocomplete_remove(invite_ac, room); g_hash_table_remove(invite_passwords, room); @@ -145,16 +146,16 @@ muc_invites(void) } char* -muc_invite_password(const char *const room) +muc_invite_password(const char* const room) { return g_hash_table_lookup(invite_passwords, room); } gboolean -muc_invites_contain(const char *const room) +muc_invites_contain(const char* const room) { - GList *invites = autocomplete_create_list(invite_ac); - GList *curr = invites; + GList* invites = autocomplete_create_list(invite_ac); + GList* curr = invites; while (curr) { if (strcmp(curr->data, room) == 0) { g_list_free_full(invites, g_free); @@ -181,13 +182,13 @@ muc_confserver_reset_ac(void) } char* -muc_invites_find(const char *const search_str, gboolean previous, void *context) +muc_invites_find(const char* const search_str, gboolean previous, void* context) { return autocomplete_complete(invite_ac, search_str, TRUE, previous); } char* -muc_confserver_find(const char *const search_str, gboolean previous, void *context) +muc_confserver_find(const char* const search_str, gboolean previous, void* context) { return autocomplete_complete(confservers_ac, search_str, TRUE, previous); } @@ -208,9 +209,9 @@ muc_confserver_clear(void) } void -muc_join(const char *const room, const char *const nick, const char *const password, gboolean autojoin) +muc_join(const char* const room, const char* const nick, const char* const password, gboolean autojoin) { - ChatRoom *new_room = malloc(sizeof(ChatRoom)); + ChatRoom* new_room = malloc(sizeof(ChatRoom)); new_room->room = strdup(room); new_room->nick = strdup(nick); new_room->role = MUC_ROLE_NONE; @@ -239,36 +240,35 @@ muc_join(const char *const room, const char *const nick, const char *const passw } void -muc_leave(const char *const room) +muc_leave(const char* const room) { g_hash_table_remove(rooms, room); } gboolean -muc_requires_config(const char *const room) +muc_requires_config(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->pending_config; } else { return FALSE; } - } void -muc_set_requires_config(const char *const room, gboolean val) +muc_set_requires_config(const char* const room, gboolean val) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->pending_config = val; } } void -muc_set_features(const char *const room, GSList *features) +muc_set_features(const char* const room, GSList* features) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room && features) { if (g_slist_find_custom(features, "muc_membersonly", (GCompareFunc)g_strcmp0)) { chat_room->member_type = MUC_MEMBER_TYPE_MEMBERS_ONLY; @@ -289,16 +289,16 @@ muc_set_features(const char *const room, GSList *features) * Returns TRUE if the user is currently in the room */ gboolean -muc_active(const char *const room) +muc_active(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); return (chat_room != NULL); } gboolean -muc_autojoin(const char *const room) +muc_autojoin(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->autojoin; } else { @@ -307,9 +307,9 @@ muc_autojoin(const char *const room) } void -muc_set_subject(const char *const room, const char *const subject) +muc_set_subject(const char* const room, const char* const subject) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { free(chat_room->subject); if (subject) { @@ -321,9 +321,9 @@ muc_set_subject(const char *const room, const char *const subject) } char* -muc_subject(const char *const room) +muc_subject(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->subject; } else { @@ -332,18 +332,18 @@ muc_subject(const char *const room) } void -muc_pending_broadcasts_add(const char *const room, const char *const message) +muc_pending_broadcasts_add(const char* const room, const char* const message) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->pending_broadcasts = g_list_append(chat_room->pending_broadcasts, strdup(message)); } } GList* -muc_pending_broadcasts(const char *const room) +muc_pending_broadcasts(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->pending_broadcasts; } else { @@ -352,9 +352,9 @@ muc_pending_broadcasts(const char *const room) } char* -muc_old_nick(const char *const room, const char *const new_nick) +muc_old_nick(const char* const room, const char* const new_nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room && chat_room->pending_nick_change) { return g_hash_table_lookup(chat_room->nick_changes, new_nick); } else { @@ -367,9 +367,9 @@ muc_old_nick(const char *const room, const char *const new_nick) * and is awaiting the response */ void -muc_nick_change_start(const char *const room, const char *const new_nick) +muc_nick_change_start(const char* const room, const char* const new_nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->pending_nick_change = TRUE; g_hash_table_insert(chat_room->nick_changes, strdup(new_nick), strdup(chat_room->nick)); @@ -381,9 +381,9 @@ muc_nick_change_start(const char *const room, const char *const new_nick) * nick change */ gboolean -muc_nick_change_pending(const char *const room) +muc_nick_change_pending(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->pending_nick_change; } else { @@ -396,9 +396,9 @@ muc_nick_change_pending(const char *const room) * the service has responded */ void -muc_nick_change_complete(const char *const room, const char *const nick) +muc_nick_change_complete(const char* const room, const char* const nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { g_hash_table_remove(chat_room->roster, chat_room->nick); autocomplete_remove(chat_room->nick_ac, chat_room->nick); @@ -425,9 +425,9 @@ muc_rooms(void) * The nickname is owned by the chat room and should not be modified or freed */ char* -muc_nick(const char *const room) +muc_nick(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->nick; } else { @@ -440,9 +440,9 @@ muc_nick(const char *const room) * The password is owned by the chat room and should not be modified or freed */ char* -muc_password(const char *const room) +muc_password(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->password; } else { @@ -454,11 +454,11 @@ muc_password(const char *const room) * Returns TRUE if the specified nick exists in the room's roster */ gboolean -muc_roster_contains_nick(const char *const room, const char *const nick) +muc_roster_contains_nick(const char* const room, const char* const nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - Occupant *occupant = g_hash_table_lookup(chat_room->roster, nick); + Occupant* occupant = g_hash_table_lookup(chat_room->roster, nick); return (occupant != NULL); } else { return FALSE; @@ -469,32 +469,31 @@ muc_roster_contains_nick(const char *const room, const char *const nick) * Add a new chat room member to the room's roster */ gboolean -muc_roster_add(const char *const room, const char *const nick, const char *const jid, const char *const role, - const char *const affiliation, const char *const show, const char *const status) +muc_roster_add(const char* const room, const char* const nick, const char* const jid, const char* const role, + const char* const affiliation, const char* const show, const char* const status) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); gboolean updated = FALSE; resource_presence_t new_presence = resource_presence_from_string(show); if (chat_room) { - Occupant *old = g_hash_table_lookup(chat_room->roster, nick); + Occupant* old = g_hash_table_lookup(chat_room->roster, nick); if (!old) { updated = TRUE; autocomplete_add(chat_room->nick_ac, nick); - } else if (old->presence != new_presence || - (g_strcmp0(old->status, status) != 0)) { + } else if (old->presence != new_presence || (g_strcmp0(old->status, status) != 0)) { updated = TRUE; } resource_presence_t presence = resource_presence_from_string(show); muc_role_t role_t = _role_from_string(role); muc_affiliation_t affiliation_t = _affiliation_from_string(affiliation); - Occupant *occupant = _muc_occupant_new(nick, jid, role_t, affiliation_t, presence, status); + Occupant* occupant = _muc_occupant_new(nick, jid, role_t, affiliation_t, presence, status); g_hash_table_replace(chat_room->roster, strdup(nick), occupant); if (jid) { - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); if (jidp->barejid) { autocomplete_add(chat_room->jid_ac, jidp->barejid); } @@ -509,9 +508,9 @@ muc_roster_add(const char *const room, const char *const nick, const char *const * Remove a room member from the room's roster */ void -muc_roster_remove(const char *const room, const char *const nick) +muc_roster_remove(const char* const room, const char* const nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { g_hash_table_remove(chat_room->roster, nick); autocomplete_remove(chat_room->nick_ac, nick); @@ -519,11 +518,11 @@ muc_roster_remove(const char *const room, const char *const nick) } Occupant* -muc_roster_item(const char *const room, const char *const nick) +muc_roster_item(const char* const room, const char* const nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - Occupant *occupant = g_hash_table_lookup(chat_room->roster, nick); + Occupant* occupant = g_hash_table_lookup(chat_room->roster, nick); return occupant; } else { return NULL; @@ -534,14 +533,14 @@ muc_roster_item(const char *const room, const char *const nick) * Return a list of PContacts representing the room members in the room's roster */ GList* -muc_roster(const char *const room) +muc_roster(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - GList *result = NULL; - GList *occupants = g_hash_table_get_values(chat_room->roster); + GList* result = NULL; + GList* occupants = g_hash_table_get_values(chat_room->roster); - GList *curr = occupants; + GList* curr = occupants; while (curr) { result = g_list_insert_sorted(result, curr->data, (GCompareFunc)_compare_occupants); curr = g_list_next(curr); @@ -559,9 +558,9 @@ muc_roster(const char *const room) * Return a Autocomplete representing the room member's in the roster */ Autocomplete -muc_roster_ac(const char *const room) +muc_roster_ac(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->nick_ac; } else { @@ -570,9 +569,9 @@ muc_roster_ac(const char *const room) } Autocomplete -muc_roster_jid_ac(const char *const room) +muc_roster_jid_ac(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->jid_ac; } else { @@ -584,9 +583,9 @@ muc_roster_jid_ac(const char *const room) * Set to TRUE when the rooms roster has been fully received */ void -muc_roster_set_complete(const char *const room) +muc_roster_set_complete(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->roster_received = TRUE; } @@ -596,9 +595,9 @@ muc_roster_set_complete(const char *const room) * Returns TRUE id the rooms roster has been fully received */ gboolean -muc_roster_complete(const char *const room) +muc_roster_complete(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->roster_received; } else { @@ -607,36 +606,36 @@ muc_roster_complete(const char *const room) } gboolean -muc_occupant_available(Occupant *occupant) +muc_occupant_available(Occupant* occupant) { return (occupant->presence == RESOURCE_ONLINE || occupant->presence == RESOURCE_CHAT); } const char* -muc_occupant_affiliation_str(Occupant *occupant) +muc_occupant_affiliation_str(Occupant* occupant) { return _affiliation_to_string(occupant->affiliation); } const char* -muc_occupant_role_str(Occupant *occupant) +muc_occupant_role_str(Occupant* occupant) { return _role_to_string(occupant->role); } GSList* -muc_occupants_by_role(const char *const room, muc_role_t role) +muc_occupants_by_role(const char* const room, muc_role_t role) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; g_hash_table_iter_init(&iter, chat_room->roster); while (g_hash_table_iter_next(&iter, &key, &value)) { - Occupant *occupant = (Occupant *)value; + Occupant* occupant = (Occupant*)value; if (occupant->role == role) { result = g_slist_insert_sorted(result, value, (GCompareFunc)_compare_occupants); } @@ -648,18 +647,18 @@ muc_occupants_by_role(const char *const room, muc_role_t role) } GSList* -muc_occupants_by_affiliation(const char *const room, muc_affiliation_t affiliation) +muc_occupants_by_affiliation(const char* const room, muc_affiliation_t affiliation) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; g_hash_table_iter_init(&iter, chat_room->roster); while (g_hash_table_iter_next(&iter, &key, &value)) { - Occupant *occupant = (Occupant *)value; + Occupant* occupant = (Occupant*)value; if (occupant->affiliation == affiliation) { result = g_slist_insert_sorted(result, value, (GCompareFunc)_compare_occupants); } @@ -675,9 +674,9 @@ muc_occupants_by_affiliation(const char *const room, muc_affiliation_t affiliati * is in progress */ void -muc_occupant_nick_change_start(const char *const room, const char *const new_nick, const char *const old_nick) +muc_occupant_nick_change_start(const char* const room, const char* const new_nick, const char* const old_nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { g_hash_table_insert(chat_room->nick_changes, strdup(new_nick), strdup(old_nick)); muc_roster_remove(room, old_nick); @@ -691,13 +690,13 @@ muc_occupant_nick_change_start(const char *const room, const char *const new_nic * the caller */ char* -muc_roster_nick_change_complete(const char *const room, const char *const nick) +muc_roster_nick_change_complete(const char* const room, const char* const nick) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { - char *old_nick = g_hash_table_lookup(chat_room->nick_changes, nick); + char* old_nick = g_hash_table_lookup(chat_room->nick_changes, nick); if (old_nick) { - char *old_nick_cpy = strdup(old_nick); + char* old_nick_cpy = strdup(old_nick); g_hash_table_remove(chat_room->nick_changes, nick); return old_nick_cpy; @@ -708,40 +707,40 @@ muc_roster_nick_change_complete(const char *const room, const char *const nick) } char* -muc_autocomplete(ProfWin *window, const char *const input, gboolean previous) +muc_autocomplete(ProfWin* window, const char* const input, gboolean previous) { if (window->type != WIN_MUC) { return NULL; } - ProfMucWin *mucwin = (ProfMucWin*)window; + ProfMucWin* mucwin = (ProfMucWin*)window; assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK); - ChatRoom *chat_room = g_hash_table_lookup(rooms, mucwin->roomjid); + ChatRoom* chat_room = g_hash_table_lookup(rooms, mucwin->roomjid); if (chat_room == NULL || chat_room->nick_ac == NULL) { return NULL; } - const char * search_str = NULL; + const char* search_str = NULL; - gchar *last_space = g_strrstr(input, " "); + gchar* last_space = g_strrstr(input, " "); if (!last_space) { search_str = input; if (!chat_room->autocomplete_prefix) { chat_room->autocomplete_prefix = strdup(""); } } else { - search_str = last_space+1; + search_str = last_space + 1; if (!chat_room->autocomplete_prefix) { chat_room->autocomplete_prefix = g_strndup(input, search_str - input); } } - char *result = autocomplete_complete(chat_room->nick_ac, search_str, FALSE, previous); + char* result = autocomplete_complete(chat_room->nick_ac, search_str, FALSE, previous); if (result == NULL) { return NULL; } - GString *replace_with = g_string_new(chat_room->autocomplete_prefix); + GString* replace_with = g_string_new(chat_room->autocomplete_prefix); g_string_append(replace_with, result); if (strlen(chat_room->autocomplete_prefix) == 0) { @@ -754,9 +753,9 @@ muc_autocomplete(ProfWin *window, const char *const input, gboolean previous) } void -muc_jid_autocomplete_reset(const char *const room) +muc_jid_autocomplete_reset(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { if (chat_room->jid_ac) { autocomplete_reset(chat_room->jid_ac); @@ -765,15 +764,15 @@ muc_jid_autocomplete_reset(const char *const room) } void -muc_jid_autocomplete_add_all(const char *const room, GSList *jids) +muc_jid_autocomplete_add_all(const char* const room, GSList* jids) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { if (chat_room->jid_ac) { - GSList *curr_jid = jids; + GSList* curr_jid = jids; while (curr_jid) { - const char *jid = curr_jid->data; - Jid *jidp = jid_create(jid); + const char* jid = curr_jid->data; + Jid* jidp = jid_create(jid); if (jidp) { if (jidp->barejid) { autocomplete_add(chat_room->jid_ac, jidp->barejid); @@ -787,9 +786,9 @@ muc_jid_autocomplete_add_all(const char *const room, GSList *jids) } void -muc_autocomplete_reset(const char *const room) +muc_autocomplete_reset(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { if (chat_room->nick_ac) { autocomplete_reset(chat_room->nick_ac); @@ -803,9 +802,9 @@ muc_autocomplete_reset(const char *const room) } char* -muc_role_str(const char *const room) +muc_role_str(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return _role_to_string(chat_room->role); } else { @@ -814,18 +813,18 @@ muc_role_str(const char *const room) } void -muc_set_role(const char *const room, const char *const role) +muc_set_role(const char* const room, const char* const role) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->role = _role_from_string(role); } } char* -muc_affiliation_str(const char *const room) +muc_affiliation_str(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return _affiliation_to_string(chat_room->affiliation); } else { @@ -834,18 +833,18 @@ muc_affiliation_str(const char *const room) } void -muc_set_affiliation(const char *const room, const char *const affiliation) +muc_set_affiliation(const char* const room, const char* const affiliation) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { chat_room->affiliation = _affiliation_from_string(affiliation); } } muc_member_type_t -muc_member_type(const char *const room) +muc_member_type(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->member_type; } else { @@ -854,9 +853,9 @@ muc_member_type(const char *const room) } muc_anonymity_type_t -muc_anonymity_type(const char *const room) +muc_anonymity_type(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return chat_room->anonymity_type; } else { @@ -868,9 +867,9 @@ muc_anonymity_type(const char *const room) * Return the list of jid affiliated as member in the room */ GList* -muc_members(const char *const room) +muc_members(const char* const room) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { return g_hash_table_get_keys(chat_room->members); } else { @@ -879,14 +878,14 @@ muc_members(const char *const room) } void -muc_members_add(const char *const room, const char *const jid) +muc_members_add(const char* const room, const char* const jid) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { if (g_hash_table_insert(chat_room->members, strdup(jid), NULL)) { #ifdef HAVE_OMEMO - if(chat_room->anonymity_type == MUC_ANONYMITY_TYPE_NONANONYMOUS ) { - char *our_barejid = connection_get_barejid(); + if (chat_room->anonymity_type == MUC_ANONYMITY_TYPE_NONANONYMOUS) { + char* our_barejid = connection_get_barejid(); if (strcmp(jid, our_barejid) != 0) { omemo_start_session(jid); } @@ -898,16 +897,16 @@ muc_members_add(const char *const room, const char *const jid) } void -muc_members_remove(const char *const room, const char *const jid) +muc_members_remove(const char* const room, const char* const jid) { - ChatRoom *chat_room = g_hash_table_lookup(rooms, room); + ChatRoom* chat_room = g_hash_table_lookup(rooms, room); if (chat_room) { g_hash_table_remove(chat_room->members, jid); } } void -muc_members_update(const char *const room, const char *const jid, const char *const affiliation) +muc_members_update(const char* const room, const char* const jid, const char* const affiliation) { if (strcmp(affiliation, "outcast") == 0 || strcmp(affiliation, "none") == 0) { muc_members_remove(room, jid); @@ -917,7 +916,7 @@ muc_members_update(const char *const room, const char *const jid, const char *co } static void -_free_room(ChatRoom *room) +_free_room(ChatRoom* room) { if (room) { free(room->room); @@ -944,10 +943,10 @@ _free_room(ChatRoom *room) } static gint -_compare_occupants(Occupant *a, Occupant *b) +_compare_occupants(Occupant* a, Occupant* b) { - const char * utf8_str_a = a->nick_collate_key; - const char * utf8_str_b = b->nick_collate_key; + const char* utf8_str_a = a->nick_collate_key; + const char* utf8_str_b = b->nick_collate_key; gint result = g_strcmp0(utf8_str_a, utf8_str_b); @@ -955,7 +954,7 @@ _compare_occupants(Occupant *a, Occupant *b) } static muc_role_t -_role_from_string(const char *const role) +_role_from_string(const char* const role) { if (role) { if (g_strcmp0(role, "visitor") == 0) { @@ -975,7 +974,7 @@ _role_from_string(const char *const role) static char* _role_to_string(muc_role_t role) { - char *result = NULL; + char* result = NULL; switch (role) { case MUC_ROLE_NONE: @@ -999,7 +998,7 @@ _role_to_string(muc_role_t role) } static muc_affiliation_t -_affiliation_from_string(const char *const affiliation) +_affiliation_from_string(const char* const affiliation) { if (affiliation) { if (g_strcmp0(affiliation, "outcast") == 0) { @@ -1021,7 +1020,7 @@ _affiliation_from_string(const char *const affiliation) static char* _affiliation_to_string(muc_affiliation_t affiliation) { - char *result = NULL; + char* result = NULL; switch (affiliation) { case MUC_AFFILIATION_NONE: @@ -1048,10 +1047,10 @@ _affiliation_to_string(muc_affiliation_t affiliation) } static Occupant* -_muc_occupant_new(const char *const nick, const char *const jid, muc_role_t role, muc_affiliation_t affiliation, - resource_presence_t presence, const char *const status) +_muc_occupant_new(const char* const nick, const char* const jid, muc_role_t role, muc_affiliation_t affiliation, + resource_presence_t presence, const char* const status) { - Occupant *occupant = malloc(sizeof(Occupant)); + Occupant* occupant = malloc(sizeof(Occupant)); if (nick) { occupant->nick = strdup(nick); @@ -1082,7 +1081,7 @@ _muc_occupant_new(const char *const nick, const char *const jid, muc_role_t role } static void -_occupant_free(Occupant *occupant) +_occupant_free(Occupant* occupant) { if (occupant) { free(occupant->nick); diff --git a/src/xmpp/muc.h b/src/xmpp/muc.h index 1c5506ab..27fa0d4f 100644 --- a/src/xmpp/muc.h +++ b/src/xmpp/muc.h @@ -70,98 +70,99 @@ typedef enum { MUC_ANONYMITY_TYPE_SEMIANONYMOUS } muc_anonymity_type_t; -typedef struct _muc_occupant_t { - char *nick; - gchar *nick_collate_key; - char *jid; +typedef struct _muc_occupant_t +{ + char* nick; + gchar* nick_collate_key; + char* jid; muc_role_t role; muc_affiliation_t affiliation; resource_presence_t presence; - char *status; + char* status; } Occupant; void muc_init(void); void muc_close(void); -void muc_join(const char *const room, const char *const nick, const char *const password, gboolean autojoin); -void muc_leave(const char *const room); +void muc_join(const char* const room, const char* const nick, const char* const password, gboolean autojoin); +void muc_leave(const char* const room); -gboolean muc_active(const char *const room); -gboolean muc_autojoin(const char *const room); +gboolean muc_active(const char* const room); +gboolean muc_autojoin(const char* const room); GList* muc_rooms(void); -void muc_set_features(const char *const room, GSList *features); +void muc_set_features(const char* const room, GSList* features); -char* muc_nick(const char *const room); -char* muc_password(const char *const room); +char* muc_nick(const char* const room); +char* muc_password(const char* const room); -void muc_nick_change_start(const char *const room, const char *const new_nick); -void muc_nick_change_complete(const char *const room, const char *const nick); -gboolean muc_nick_change_pending(const char *const room); -char* muc_old_nick(const char *const room, const char *const new_nick); +void muc_nick_change_start(const char* const room, const char* const new_nick); +void muc_nick_change_complete(const char* const room, const char* const nick); +gboolean muc_nick_change_pending(const char* const room); +char* muc_old_nick(const char* const room, const char* const new_nick); -gboolean muc_roster_contains_nick(const char *const room, const char *const nick); -gboolean muc_roster_complete(const char *const room); -gboolean muc_roster_add(const char *const room, const char *const nick, const char *const jid, const char *const role, - const char *const affiliation, const char *const show, const char *const status); -void muc_roster_remove(const char *const room, const char *const nick); -void muc_roster_set_complete(const char *const room); -GList* muc_roster(const char *const room); -Autocomplete muc_roster_ac(const char *const room); -Autocomplete muc_roster_jid_ac(const char *const room); -void muc_jid_autocomplete_reset(const char *const room); -void muc_jid_autocomplete_add_all(const char *const room, GSList *jids); +gboolean muc_roster_contains_nick(const char* const room, const char* const nick); +gboolean muc_roster_complete(const char* const room); +gboolean muc_roster_add(const char* const room, const char* const nick, const char* const jid, const char* const role, + const char* const affiliation, const char* const show, const char* const status); +void muc_roster_remove(const char* const room, const char* const nick); +void muc_roster_set_complete(const char* const room); +GList* muc_roster(const char* const room); +Autocomplete muc_roster_ac(const char* const room); +Autocomplete muc_roster_jid_ac(const char* const room); +void muc_jid_autocomplete_reset(const char* const room); +void muc_jid_autocomplete_add_all(const char* const room, GSList* jids); -Occupant* muc_roster_item(const char *const room, const char *const nick); +Occupant* muc_roster_item(const char* const room, const char* const nick); -gboolean muc_occupant_available(Occupant *occupant); -const char* muc_occupant_affiliation_str(Occupant *occupant); -const char* muc_occupant_role_str(Occupant *occupant); -GSList* muc_occupants_by_role(const char *const room, muc_role_t role); -GSList* muc_occupants_by_affiliation(const char *const room, muc_affiliation_t affiliation); +gboolean muc_occupant_available(Occupant* occupant); +const char* muc_occupant_affiliation_str(Occupant* occupant); +const char* muc_occupant_role_str(Occupant* occupant); +GSList* muc_occupants_by_role(const char* const room, muc_role_t role); +GSList* muc_occupants_by_affiliation(const char* const room, muc_affiliation_t affiliation); -void muc_occupant_nick_change_start(const char *const room, const char *const new_nick, const char *const old_nick); -char* muc_roster_nick_change_complete(const char *const room, const char *const nick); +void muc_occupant_nick_change_start(const char* const room, const char* const new_nick, const char* const old_nick); +char* muc_roster_nick_change_complete(const char* const room, const char* const nick); -void muc_confserver_add(const char *const server); +void muc_confserver_add(const char* const server); void muc_confserver_reset_ac(void); -char* muc_confserver_find(const char *const search_str, gboolean previous, void *context); +char* muc_confserver_find(const char* const search_str, gboolean previous, void* context); void muc_confserver_clear(void); -void muc_invites_add(const char *const room, const char *const password); -void muc_invites_remove(const char *const room); +void muc_invites_add(const char* const room, const char* const password); +void muc_invites_remove(const char* const room); gint muc_invites_count(void); GList* muc_invites(void); -gboolean muc_invites_contain(const char *const room); +gboolean muc_invites_contain(const char* const room); void muc_invites_reset_ac(void); -char* muc_invites_find(const char *const search_str, gboolean previous, void *context); +char* muc_invites_find(const char* const search_str, gboolean previous, void* context); void muc_invites_clear(void); -char* muc_invite_password(const char *const room); +char* muc_invite_password(const char* const room); -void muc_set_subject(const char *const room, const char *const subject); -char* muc_subject(const char *const room); +void muc_set_subject(const char* const room, const char* const subject); +char* muc_subject(const char* const room); -void muc_pending_broadcasts_add(const char *const room, const char *const message); -GList* muc_pending_broadcasts(const char *const room); +void muc_pending_broadcasts_add(const char* const room, const char* const message); +GList* muc_pending_broadcasts(const char* const room); -char* muc_autocomplete(ProfWin *window, const char *const input, gboolean previous); -void muc_autocomplete_reset(const char *const room); +char* muc_autocomplete(ProfWin* window, const char* const input, gboolean previous); +void muc_autocomplete_reset(const char* const room); -gboolean muc_requires_config(const char *const room); -void muc_set_requires_config(const char *const room, gboolean val); +gboolean muc_requires_config(const char* const room); +void muc_set_requires_config(const char* const room, gboolean val); -void muc_set_role(const char *const room, const char *const role); -void muc_set_affiliation(const char *const room, const char *const affiliation); -char* muc_role_str(const char *const room); -char* muc_affiliation_str(const char *const room); +void muc_set_role(const char* const room, const char* const role); +void muc_set_affiliation(const char* const room, const char* const affiliation); +char* muc_role_str(const char* const room); +char* muc_affiliation_str(const char* const room); -muc_member_type_t muc_member_type(const char *const room); -muc_anonymity_type_t muc_anonymity_type(const char *const room); +muc_member_type_t muc_member_type(const char* const room); +muc_anonymity_type_t muc_anonymity_type(const char* const room); -GList* muc_members(const char *const room); -void muc_members_add(const char *const room, const char *const jid); -void muc_members_remove(const char *const room, const char *const jid); -void muc_members_update(const char *const room, const char *const jid, const char *const affiliation); +GList* muc_members(const char* const room); +void muc_members_add(const char* const room, const char* const jid); +void muc_members_remove(const char* const room, const char* const jid); +void muc_members_update(const char* const room, const char* const jid, const char* const affiliation); #endif diff --git a/src/xmpp/omemo.c b/src/xmpp/omemo.c index 2021816a..e527d4c7 100644 --- a/src/xmpp/omemo.c +++ b/src/xmpp/omemo.c @@ -44,10 +44,10 @@ #include "omemo/omemo.h" -static int _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata); -static int _omemo_bundle_publish_result(xmpp_stanza_t *const stanza, void *const userdata); -static int _omemo_bundle_publish_configure(xmpp_stanza_t *const stanza, void *const userdata); -static int _omemo_bundle_publish_configure_result(xmpp_stanza_t *const stanza, void *const userdata); +static int _omemo_receive_devicelist(xmpp_stanza_t* const stanza, void* const userdata); +static int _omemo_bundle_publish_result(xmpp_stanza_t* const stanza, void* const userdata); +static int _omemo_bundle_publish_configure(xmpp_stanza_t* const stanza, void* const userdata); +static int _omemo_bundle_publish_configure_result(xmpp_stanza_t* const stanza, void* const userdata); void omemo_devicelist_subscribe(void) @@ -58,10 +58,10 @@ omemo_devicelist_subscribe(void) } void -omemo_devicelist_publish(GList *device_list) +omemo_devicelist_publish(GList* device_list) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_omemo_devicelist_publish(ctx, device_list); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_omemo_devicelist_publish(ctx, device_list); if (connection_supports(XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS)) { stanza_attach_publish_options(ctx, iq, "pubsub#access_model", "open"); @@ -72,12 +72,12 @@ omemo_devicelist_publish(GList *device_list) } void -omemo_devicelist_request(const char * const jid) +omemo_devicelist_request(const char* const jid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_omemo_devicelist_request(ctx, id, jid); + xmpp_stanza_t* iq = stanza_create_omemo_devicelist_request(ctx, id, jid); iq_id_handler_add(id, _omemo_receive_devicelist, NULL, NULL); iq_send_stanza(iq); @@ -89,12 +89,12 @@ omemo_devicelist_request(const char * const jid) void omemo_bundle_publish(gboolean first) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - unsigned char *identity_key = NULL; + xmpp_ctx_t* const ctx = connection_get_ctx(); + unsigned char* identity_key = NULL; size_t identity_key_length; - unsigned char *signed_prekey = NULL; + unsigned char* signed_prekey = NULL; size_t signed_prekey_length; - unsigned char *signed_prekey_signature = NULL; + unsigned char* signed_prekey_signature = NULL; size_t signed_prekey_signature_length; GList *prekeys = NULL, *ids = NULL, *lengths = NULL; @@ -103,11 +103,11 @@ omemo_bundle_publish(gboolean first) omemo_signed_prekey_signature(&signed_prekey_signature, &signed_prekey_signature_length); omemo_prekeys(&prekeys, &ids, &lengths); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_omemo_bundle_publish(ctx, id, - omemo_device_id(), identity_key, identity_key_length, signed_prekey, - signed_prekey_length, signed_prekey_signature, - signed_prekey_signature_length, prekeys, ids, lengths); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_omemo_bundle_publish(ctx, id, + omemo_device_id(), identity_key, identity_key_length, signed_prekey, + signed_prekey_length, signed_prekey_signature, + signed_prekey_signature_length, prekeys, ids, lengths); g_list_free_full(prekeys, free); g_list_free(lengths); @@ -129,12 +129,12 @@ omemo_bundle_publish(gboolean first) } void -omemo_bundle_request(const char * const jid, uint32_t device_id, ProfIqCallback func, ProfIqFreeCallback free_func, void *userdata) +omemo_bundle_request(const char* const jid, uint32_t device_id, ProfIqCallback func, ProfIqFreeCallback free_func, void* userdata) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_omemo_bundle_request(ctx, id, jid, device_id); + xmpp_stanza_t* iq = stanza_create_omemo_bundle_request(ctx, id, jid, device_id); iq_id_handler_add(id, func, free_func, userdata); iq_send_stanza(iq); @@ -144,17 +144,17 @@ omemo_bundle_request(const char * const jid, uint32_t device_id, ProfIqCallback } int -omemo_start_device_session_handle_bundle(xmpp_stanza_t *const stanza, void *const userdata) +omemo_start_device_session_handle_bundle(xmpp_stanza_t* const stanza, void* const userdata) { - GList *prekeys_list = NULL; - unsigned char *signed_prekey_raw = NULL; - unsigned char *signed_prekey_signature_raw = NULL; - char *from = NULL; + GList* prekeys_list = NULL; + unsigned char* signed_prekey_raw = NULL; + unsigned char* signed_prekey_signature_raw = NULL; + char* from = NULL; - const char *from_attr = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); + const char* from_attr = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); if (!from_attr) { - Jid *jid = jid_create(connection_get_fulljid()); + Jid* jid = jid_create(connection_get_fulljid()); from = strdup(jid->barejid); jid_destroy(jid); } else { @@ -165,62 +165,62 @@ omemo_start_device_session_handle_bundle(xmpp_stanza_t *const stanza, void *cons goto out; } - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); if (!pubsub) { goto out; } - xmpp_stanza_t *items = xmpp_stanza_get_child_by_name(pubsub, "items"); + xmpp_stanza_t* items = xmpp_stanza_get_child_by_name(pubsub, "items"); if (!items) { goto out; } - const char *node = xmpp_stanza_get_attribute(items, "node"); - char *device_id_str = strstr(node, ":"); + const char* node = xmpp_stanza_get_attribute(items, "node"); + char* device_id_str = strstr(node, ":"); if (!device_id_str) { goto out; } uint32_t device_id = strtoul(++device_id_str, NULL, 10); - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(items, "item"); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(items, "item"); if (!item) { goto out; } - xmpp_stanza_t *bundle = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO); + xmpp_stanza_t* bundle = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO); if (!bundle) { goto out; } - xmpp_stanza_t *prekeys = xmpp_stanza_get_child_by_name(bundle, "prekeys"); + xmpp_stanza_t* prekeys = xmpp_stanza_get_child_by_name(bundle, "prekeys"); if (!prekeys) { goto out; } - xmpp_stanza_t *prekey; + xmpp_stanza_t* prekey; for (prekey = xmpp_stanza_get_children(prekeys); prekey != NULL; prekey = xmpp_stanza_get_next(prekey)) { if (g_strcmp0(xmpp_stanza_get_name(prekey), "preKeyPublic") != 0) { continue; } - omemo_key_t *key = malloc(sizeof(omemo_key_t)); + omemo_key_t* key = malloc(sizeof(omemo_key_t)); key->data = NULL; - const char *prekey_id_text = xmpp_stanza_get_attribute(prekey, "preKeyId"); + const char* prekey_id_text = xmpp_stanza_get_attribute(prekey, "preKeyId"); if (!prekey_id_text) { omemo_key_free(key); continue; } key->id = strtoul(prekey_id_text, NULL, 10); - xmpp_stanza_t *prekey_text = xmpp_stanza_get_children(prekey); + xmpp_stanza_t* prekey_text = xmpp_stanza_get_children(prekey); if (!prekey_text) { omemo_key_free(key); continue; } - char *prekey_b64 = xmpp_stanza_get_text(prekey_text); + char* prekey_b64 = xmpp_stanza_get_text(prekey_text); key->data = g_base64_decode(prekey_b64, &key->length); free(prekey_b64); if (!key->data) { @@ -233,64 +233,64 @@ omemo_start_device_session_handle_bundle(xmpp_stanza_t *const stanza, void *cons prekeys_list = g_list_append(prekeys_list, key); } - xmpp_stanza_t *signed_prekey = xmpp_stanza_get_child_by_name(bundle, "signedPreKeyPublic"); + xmpp_stanza_t* signed_prekey = xmpp_stanza_get_child_by_name(bundle, "signedPreKeyPublic"); if (!signed_prekey) { goto out; } - const char *signed_prekey_id_text = xmpp_stanza_get_attribute(signed_prekey, "signedPreKeyId"); + const char* signed_prekey_id_text = xmpp_stanza_get_attribute(signed_prekey, "signedPreKeyId"); if (!signed_prekey_id_text) { goto out; } uint32_t signed_prekey_id = strtoul(signed_prekey_id_text, NULL, 10); - xmpp_stanza_t *signed_prekey_text = xmpp_stanza_get_children(signed_prekey); + xmpp_stanza_t* signed_prekey_text = xmpp_stanza_get_children(signed_prekey); if (!signed_prekey_text) { goto out; } size_t signed_prekey_len; - char *signed_prekey_b64 = xmpp_stanza_get_text(signed_prekey_text); + char* signed_prekey_b64 = xmpp_stanza_get_text(signed_prekey_text); signed_prekey_raw = g_base64_decode(signed_prekey_b64, &signed_prekey_len); free(signed_prekey_b64); if (!signed_prekey_raw) { goto out; } - xmpp_stanza_t *signed_prekey_signature = xmpp_stanza_get_child_by_name(bundle, "signedPreKeySignature"); + xmpp_stanza_t* signed_prekey_signature = xmpp_stanza_get_child_by_name(bundle, "signedPreKeySignature"); if (!signed_prekey_signature) { goto out; } - xmpp_stanza_t *signed_prekey_signature_text = xmpp_stanza_get_children(signed_prekey_signature); + xmpp_stanza_t* signed_prekey_signature_text = xmpp_stanza_get_children(signed_prekey_signature); if (!signed_prekey_signature_text) { goto out; } size_t signed_prekey_signature_len; - char *signed_prekey_signature_b64 = xmpp_stanza_get_text(signed_prekey_signature_text); + char* signed_prekey_signature_b64 = xmpp_stanza_get_text(signed_prekey_signature_text); signed_prekey_signature_raw = g_base64_decode(signed_prekey_signature_b64, &signed_prekey_signature_len); free(signed_prekey_signature_b64); if (!signed_prekey_signature_raw) { goto out; } - xmpp_stanza_t *identity_key = xmpp_stanza_get_child_by_name(bundle, "identityKey"); + xmpp_stanza_t* identity_key = xmpp_stanza_get_child_by_name(bundle, "identityKey"); if (!identity_key) { goto out; } - xmpp_stanza_t *identity_key_text = xmpp_stanza_get_children(identity_key); + xmpp_stanza_t* identity_key_text = xmpp_stanza_get_children(identity_key); if (!identity_key_text) { goto out; } size_t identity_key_len; - char *identity_key_b64 = xmpp_stanza_get_text(identity_key_text); - unsigned char *identity_key_raw = g_base64_decode(identity_key_b64, &identity_key_len); + char* identity_key_b64 = xmpp_stanza_get_text(identity_key_text); + unsigned char* identity_key_raw = g_base64_decode(identity_key_b64, &identity_key_len); free(identity_key_b64); if (!identity_key_raw) { goto out; } omemo_start_device_session(from, device_id, prekeys_list, signed_prekey_id, - signed_prekey_raw, signed_prekey_len, signed_prekey_signature_raw, - signed_prekey_signature_len, identity_key_raw, identity_key_len); + signed_prekey_raw, signed_prekey_len, signed_prekey_signature_raw, + signed_prekey_signature_len, identity_key_raw, identity_key_len); g_free(identity_key_raw); @@ -308,34 +308,34 @@ out: return 1; } -char * -omemo_receive_message(xmpp_stanza_t *const stanza, gboolean *trusted) +char* +omemo_receive_message(xmpp_stanza_t* const stanza, gboolean* trusted) { - char *plaintext = NULL; - const char *type = xmpp_stanza_get_type(stanza); - GList *keys = NULL; - unsigned char *iv_raw = NULL; - unsigned char *payload_raw = NULL; - char *iv_text = NULL; - char *payload_text = NULL; - - xmpp_stanza_t *encrypted = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OMEMO); + char* plaintext = NULL; + const char* type = xmpp_stanza_get_type(stanza); + GList* keys = NULL; + unsigned char* iv_raw = NULL; + unsigned char* payload_raw = NULL; + char* iv_text = NULL; + char* payload_text = NULL; + + xmpp_stanza_t* encrypted = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_OMEMO); if (!encrypted) { return NULL; } - xmpp_stanza_t *header = xmpp_stanza_get_child_by_name(encrypted, "header"); + xmpp_stanza_t* header = xmpp_stanza_get_child_by_name(encrypted, "header"); if (!header) { return NULL; } - const char *sid_text = xmpp_stanza_get_attribute(header, "sid"); + const char* sid_text = xmpp_stanza_get_attribute(header, "sid"); if (!sid_text) { return NULL; } uint32_t sid = strtoul(sid_text, NULL, 10); - xmpp_stanza_t *iv = xmpp_stanza_get_child_by_name(header, "iv"); + xmpp_stanza_t* iv = xmpp_stanza_get_child_by_name(header, "iv"); if (!iv) { return NULL; } @@ -349,7 +349,7 @@ omemo_receive_message(xmpp_stanza_t *const stanza, gboolean *trusted) goto out; } - xmpp_stanza_t *payload = xmpp_stanza_get_child_by_name(encrypted, "payload"); + xmpp_stanza_t* payload = xmpp_stanza_get_child_by_name(encrypted, "payload"); if (!payload) { goto out; } @@ -363,19 +363,19 @@ omemo_receive_message(xmpp_stanza_t *const stanza, gboolean *trusted) goto out; } - xmpp_stanza_t *key_stanza; + xmpp_stanza_t* key_stanza; for (key_stanza = xmpp_stanza_get_children(header); key_stanza != NULL; key_stanza = xmpp_stanza_get_next(key_stanza)) { if (g_strcmp0(xmpp_stanza_get_name(key_stanza), "key") != 0) { continue; } - omemo_key_t *key = malloc(sizeof(omemo_key_t)); - char *key_text = xmpp_stanza_get_text(key_stanza); + omemo_key_t* key = malloc(sizeof(omemo_key_t)); + char* key_text = xmpp_stanza_get_text(key_stanza); if (!key_text) { goto skip; } - const char *rid_text = xmpp_stanza_get_attribute(key_stanza, "rid"); + const char* rid_text = xmpp_stanza_get_attribute(key_stanza, "rid"); key->device_id = strtoul(rid_text, NULL, 10); if (!key->device_id) { goto skip; @@ -386,21 +386,20 @@ omemo_receive_message(xmpp_stanza_t *const stanza, gboolean *trusted) if (!key->data) { goto skip; } - key->prekey = - g_strcmp0(xmpp_stanza_get_attribute(key_stanza, "prekey"), "true") == 0 - || g_strcmp0(xmpp_stanza_get_attribute(key_stanza, "prekey"), "1") == 0; + key->prekey = g_strcmp0(xmpp_stanza_get_attribute(key_stanza, "prekey"), "true") == 0 + || g_strcmp0(xmpp_stanza_get_attribute(key_stanza, "prekey"), "1") == 0; keys = g_list_append(keys, key); continue; -skip: + skip: free(key); } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); plaintext = omemo_on_message_recv(from, sid, iv_raw, iv_len, - keys, payload_raw, payload_len, - g_strcmp0(type, STANZA_TYPE_GROUPCHAT) == 0, trusted); + keys, payload_raw, payload_len, + g_strcmp0(type, STANZA_TYPE_GROUPCHAT) == 0, trusted); out: if (keys) { @@ -416,18 +415,18 @@ out: } static int -_omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) +_omemo_receive_devicelist(xmpp_stanza_t* const stanza, void* const userdata) { - GList *device_list = NULL; - const char *from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); + GList* device_list = NULL; + const char* from = xmpp_stanza_get_attribute(stanza, STANZA_ATTR_FROM); - xmpp_stanza_t *root = NULL; - xmpp_stanza_t *event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); + xmpp_stanza_t* root = NULL; + xmpp_stanza_t* event = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB_EVENT); if (event) { root = event; } - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_PUBSUB); if (pubsub) { root = pubsub; } @@ -436,21 +435,20 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) return 1; } - xmpp_stanza_t *items = xmpp_stanza_get_child_by_name(root, "items"); + xmpp_stanza_t* items = xmpp_stanza_get_child_by_name(root, "items"); if (!items) { return 1; } - // Looking for "current" item - if there is no current, take the first item. xmpp_stanza_t* first = NULL; xmpp_stanza_t* current = NULL; - - xmpp_stanza_t *item = xmpp_stanza_get_children(items); - while ( item ) { + + xmpp_stanza_t* item = xmpp_stanza_get_children(items); + while (item) { if (g_strcmp0(xmpp_stanza_get_name(item), "item") == 0) { first = item; - if (g_strcmp0(xmpp_stanza_get_id(item), "current") == 0 ) { + if (g_strcmp0(xmpp_stanza_get_id(item), "current") == 0) { current = item; break; } @@ -458,27 +456,27 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) item = xmpp_stanza_get_next(item); } - if(current) { + if (current) { item = current; - } else if( first ) { + } else if (first) { log_warning("OMEMO: User %s has a non 'current' device item list: %s.", from, xmpp_stanza_get_id(first)); item = first; } else { return 1; } - xmpp_stanza_t *list = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO); + xmpp_stanza_t* list = xmpp_stanza_get_child_by_ns(item, STANZA_NS_OMEMO); if (!list) { return 1; } - xmpp_stanza_t *device; + xmpp_stanza_t* device; for (device = xmpp_stanza_get_children(list); device != NULL; device = xmpp_stanza_get_next(device)) { if (g_strcmp0(xmpp_stanza_get_name(device), "device") != 0) { continue; } - const char *id = xmpp_stanza_get_id(device); + const char* id = xmpp_stanza_get_id(device); if (id != NULL) { device_list = g_list_append(device_list, GINT_TO_POINTER(strtoul(id, NULL, 10))); } else { @@ -492,9 +490,9 @@ _omemo_receive_devicelist(xmpp_stanza_t *const stanza, void *const userdata) } static int -_omemo_bundle_publish_result(xmpp_stanza_t *const stanza, void *const userdata) +_omemo_bundle_publish_result(xmpp_stanza_t* const stanza, void* const userdata) { - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_ERROR) != 0) { return 0; @@ -506,11 +504,11 @@ _omemo_bundle_publish_result(xmpp_stanza_t *const stanza, void *const userdata) } log_info("OMEMO: cannot publish bundle with open access model, trying to configure node"); - xmpp_ctx_t * const ctx = connection_get_ctx(); - Jid *jid = jid_create(connection_get_fulljid()); - char *id = connection_create_stanza_id(); - char *node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, omemo_device_id()); - xmpp_stanza_t *iq = stanza_create_pubsub_configure_request(ctx, id, jid->barejid, node); + xmpp_ctx_t* const ctx = connection_get_ctx(); + Jid* jid = jid_create(connection_get_fulljid()); + char* id = connection_create_stanza_id(); + char* node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, omemo_device_id()); + xmpp_stanza_t* iq = stanza_create_pubsub_configure_request(ctx, id, jid->barejid, node); g_free(node); iq_id_handler_add(id, _omemo_bundle_publish_configure, NULL, userdata); @@ -524,26 +522,26 @@ _omemo_bundle_publish_result(xmpp_stanza_t *const stanza, void *const userdata) } static int -_omemo_bundle_publish_configure(xmpp_stanza_t *const stanza, void *const userdata) +_omemo_bundle_publish_configure(xmpp_stanza_t* const stanza, void* const userdata) { /* TODO handle error */ - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_name(stanza, "pubsub"); - xmpp_stanza_t *configure = xmpp_stanza_get_child_by_name(pubsub, STANZA_NAME_CONFIGURE); - xmpp_stanza_t *x = xmpp_stanza_get_child_by_name(configure, "x"); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_name(stanza, "pubsub"); + xmpp_stanza_t* configure = xmpp_stanza_get_child_by_name(pubsub, STANZA_NAME_CONFIGURE); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_name(configure, "x"); DataForm* form = form_create(x); - char *tag = g_hash_table_lookup(form->var_to_tag, "pubsub#access_model"); + char* tag = g_hash_table_lookup(form->var_to_tag, "pubsub#access_model"); if (!tag) { log_info("OMEMO: cannot configure bundle to an open access model"); return 0; } form_set_value(form, tag, "open"); - xmpp_ctx_t * const ctx = connection_get_ctx(); - Jid *jid = jid_create(connection_get_fulljid()); - char *id = connection_create_stanza_id(); - char *node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, omemo_device_id()); - xmpp_stanza_t *iq = stanza_create_pubsub_configure_submit(ctx, id, jid->barejid, node, form); + xmpp_ctx_t* const ctx = connection_get_ctx(); + Jid* jid = jid_create(connection_get_fulljid()); + char* id = connection_create_stanza_id(); + char* node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, omemo_device_id()); + xmpp_stanza_t* iq = stanza_create_pubsub_configure_submit(ctx, id, jid->barejid, node, form); g_free(node); iq_id_handler_add(id, _omemo_bundle_publish_configure_result, NULL, userdata); @@ -557,9 +555,9 @@ _omemo_bundle_publish_configure(xmpp_stanza_t *const stanza, void *const userdat } static int -_omemo_bundle_publish_configure_result(xmpp_stanza_t *const stanza, void *const userdata) +_omemo_bundle_publish_configure_result(xmpp_stanza_t* const stanza, void* const userdata) { - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { log_error("OMEMO: cannot configure bundle to an open access model"); diff --git a/src/xmpp/omemo.h b/src/xmpp/omemo.h index bc025519..31021ab4 100644 --- a/src/xmpp/omemo.h +++ b/src/xmpp/omemo.h @@ -38,9 +38,9 @@ #include "xmpp/iq.h" void omemo_devicelist_subscribe(void); -void omemo_devicelist_publish(GList *device_list); -void omemo_devicelist_request(const char * const jid); +void omemo_devicelist_publish(GList* device_list); +void omemo_devicelist_request(const char* const jid); void omemo_bundle_publish(gboolean first); -void omemo_bundle_request(const char * const jid, uint32_t device_id, ProfIqCallback func, ProfIqFreeCallback free_func, void *userdata); -int omemo_start_device_session_handle_bundle(xmpp_stanza_t *const stanza, void *const userdata); -char * omemo_receive_message(xmpp_stanza_t *const stanza, gboolean *trusted); +void omemo_bundle_request(const char* const jid, uint32_t device_id, ProfIqCallback func, ProfIqFreeCallback free_func, void* userdata); +int omemo_start_device_session_handle_bundle(xmpp_stanza_t* const stanza, void* const userdata); +char* omemo_receive_message(xmpp_stanza_t* const stanza, gboolean* trusted); diff --git a/src/xmpp/ox.c b/src/xmpp/ox.c index 1ece9fde..1727bc34 100644 --- a/src/xmpp/ox.c +++ b/src/xmpp/ox.c @@ -77,8 +77,9 @@ static char* _gettimestamp(); * */ -gboolean -ox_announce_public_key(const char* const filename) { +gboolean +ox_announce_public_key(const char* const filename) +{ assert(filename); cons_show("Annonuce OpenPGP Key for OX %s ...", filename); @@ -89,13 +90,13 @@ ox_announce_public_key(const char* const filename) { char* fp = NULL; p_ox_gpg_readkey(filename, &key, &fp); - if( !(key && fp) ) { + if (!(key && fp)) { cons_show("Error during OpenPGP OX announce. See log file for more information"); return FALSE; } else { log_info("Annonuce OpenPGP Key for Fingerprint: %s", fp); - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = xmpp_uuid_gen(ctx); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = xmpp_uuid_gen(ctx); xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); xmpp_stanza_set_from(iq, xmpp_conn_get_jid(connection_get_conn())); @@ -108,22 +109,21 @@ ox_announce_public_key(const char* const filename) { g_string_append(node_name, fp); xmpp_stanza_t* publish = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); - xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, node_name->str) ; + xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); + xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, node_name->str); xmpp_stanza_t* item = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(item, STANZA_NAME_ITEM); - xmpp_stanza_set_attribute(item, STANZA_ATTR_ID, _gettimestamp()) ; - + xmpp_stanza_set_name(item, STANZA_NAME_ITEM); + xmpp_stanza_set_attribute(item, STANZA_ATTR_ID, _gettimestamp()); + xmpp_stanza_t* pubkey = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(pubkey, STANZA_NAME_PUPKEY); + xmpp_stanza_set_name(pubkey, STANZA_NAME_PUPKEY); xmpp_stanza_set_ns(pubkey, STANZA_NS_OPENPGP_0); - + xmpp_stanza_t* data = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(data, STANZA_NAME_DATA); - xmpp_stanza_t* keydata = xmpp_stanza_new(ctx); - xmpp_stanza_set_text(keydata,key); - + xmpp_stanza_set_name(data, STANZA_NAME_DATA); + xmpp_stanza_t* keydata = xmpp_stanza_new(ctx); + xmpp_stanza_set_text(keydata, key); xmpp_stanza_add_child(data, keydata); xmpp_stanza_add_child(pubkey, data); @@ -131,10 +131,9 @@ ox_announce_public_key(const char* const filename) { xmpp_stanza_add_child(publish, item); xmpp_stanza_add_child(pubsub, publish); xmpp_stanza_add_child(iq, pubsub); - xmpp_send (connection_get_conn(), iq); + xmpp_send(connection_get_conn(), iq); _ox_metadata_node__public_key(fp); - } return TRUE; } @@ -166,14 +165,15 @@ ox_announce_public_key(const char* const filename) { * */ -void -_ox_metadata_node__public_key(const char* const fingerprint) { +void +_ox_metadata_node__public_key(const char* const fingerprint) +{ log_info("Annonuce OpenPGP metadata: %s", fingerprint); assert(fingerprint); assert(strlen(fingerprint) == 40); // iq - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = xmpp_uuid_gen(ctx); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = xmpp_uuid_gen(ctx); xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); xmpp_stanza_set_from(iq, xmpp_conn_get_jid(connection_get_conn())); // pubsub @@ -182,31 +182,33 @@ _ox_metadata_node__public_key(const char* const fingerprint) { xmpp_stanza_set_ns(pubsub, XMPP_FEATURE_PUBSUB); // publish xmpp_stanza_t* publish = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); - xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, STANZA_NS_OPENPGP_0_PUBLIC_KEYS) ; + xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); + xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, STANZA_NS_OPENPGP_0_PUBLIC_KEYS); // item xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); - // public-keys-list + // public-keys-list xmpp_stanza_t* publickeyslist = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(publickeyslist, STANZA_NAME_PUBLIC_KEYS_LIST); + xmpp_stanza_set_name(publickeyslist, STANZA_NAME_PUBLIC_KEYS_LIST); xmpp_stanza_set_ns(publickeyslist, STANZA_NS_OPENPGP_0); // pubkey-metadata xmpp_stanza_t* pubkeymetadata = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(pubkeymetadata, STANZA_NAME_PUBKEY_METADATA); + xmpp_stanza_set_name(pubkeymetadata, STANZA_NAME_PUBKEY_METADATA); xmpp_stanza_set_attribute(pubkeymetadata, STANZA_ATTR_V4_FINGERPRINT, fingerprint); xmpp_stanza_set_attribute(pubkeymetadata, STANZA_ATTR_DATE, _gettimestamp()); - xmpp_stanza_add_child(publickeyslist,pubkeymetadata ); - xmpp_stanza_add_child(item, publickeyslist ); - xmpp_stanza_add_child(publish,item ); + xmpp_stanza_add_child(publickeyslist, pubkeymetadata); + xmpp_stanza_add_child(item, publickeyslist); + xmpp_stanza_add_child(publish, item); xmpp_stanza_add_child(pubsub, publish); xmpp_stanza_add_child(iq, pubsub); - xmpp_send (connection_get_conn(), iq); -} + xmpp_send(connection_get_conn(), iq); +} // Date and Time (XEP-0082) -char* _gettimestamp() { +char* +_gettimestamp() +{ time_t now = time(NULL); struct tm* tm = localtime(&now); char buf[255]; diff --git a/src/xmpp/ox.h b/src/xmpp/ox.h index 8d959eb1..51435bb5 100644 --- a/src/xmpp/ox.h +++ b/src/xmpp/ox.h @@ -43,7 +43,6 @@ * https://xmpp.org/extensions/xep-0373.html */ - /*! * \brief Announcing OpenPGP public key from file to PEP. * @@ -57,5 +56,3 @@ */ gboolean ox_announce_public_key(const char* const filename); - - diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c index e6f236cd..2982274d 100644 --- a/src/xmpp/presence.c +++ b/src/xmpp/presence.c @@ -67,19 +67,19 @@ static Autocomplete sub_requests_ac; -static int _presence_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata); +static int _presence_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata); -static void _presence_error_handler(xmpp_stanza_t *const stanza); -static void _unavailable_handler(xmpp_stanza_t *const stanza); -static void _subscribe_handler(xmpp_stanza_t *const stanza); -static void _subscribed_handler(xmpp_stanza_t *const stanza); -static void _unsubscribed_handler(xmpp_stanza_t *const stanza); -static void _muc_user_handler(xmpp_stanza_t *const stanza); -static void _available_handler(xmpp_stanza_t *const stanza); +static void _presence_error_handler(xmpp_stanza_t* const stanza); +static void _unavailable_handler(xmpp_stanza_t* const stanza); +static void _subscribe_handler(xmpp_stanza_t* const stanza); +static void _subscribed_handler(xmpp_stanza_t* const stanza); +static void _unsubscribed_handler(xmpp_stanza_t* const stanza); +static void _muc_user_handler(xmpp_stanza_t* const stanza); +static void _available_handler(xmpp_stanza_t* const stanza); -void _send_caps_request(char *node, char *caps_key, char *id, char *from); -static void _send_room_presence(xmpp_stanza_t *presence); -static void _send_presence_stanza(xmpp_stanza_t *const stanza); +void _send_caps_request(char* node, char* caps_key, char* id, char* from); +static void _send_room_presence(xmpp_stanza_t* presence); +static void _send_presence_stanza(xmpp_stanza_t* const stanza); void presence_sub_requests_init(void) @@ -90,46 +90,45 @@ presence_sub_requests_init(void) void presence_handlers_init(void) { - xmpp_conn_t * const conn = connection_get_conn(); - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_conn_t* const conn = connection_get_conn(); + xmpp_ctx_t* const ctx = connection_get_ctx(); xmpp_handler_add(conn, _presence_handler, NULL, STANZA_NAME_PRESENCE, NULL, ctx); } void -presence_subscription(const char *const jid, const jabber_subscr_t action) +presence_subscription(const char* const jid, const jabber_subscr_t action) { assert(jid != NULL); - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); autocomplete_remove(sub_requests_ac, jidp->barejid); - const char *type = NULL; - switch (action) - { - case PRESENCE_SUBSCRIBE: - log_debug("Sending presence subscribe: %s", jid); - type = STANZA_TYPE_SUBSCRIBE; - break; - case PRESENCE_SUBSCRIBED: - log_debug("Sending presence subscribed: %s", jid); - type = STANZA_TYPE_SUBSCRIBED; - break; - case PRESENCE_UNSUBSCRIBED: - log_debug("Sending presence usubscribed: %s", jid); - type = STANZA_TYPE_UNSUBSCRIBED; - break; - default: - break; + const char* type = NULL; + switch (action) { + case PRESENCE_SUBSCRIBE: + log_debug("Sending presence subscribe: %s", jid); + type = STANZA_TYPE_SUBSCRIBE; + break; + case PRESENCE_SUBSCRIBED: + log_debug("Sending presence subscribed: %s", jid); + type = STANZA_TYPE_SUBSCRIBED; + break; + case PRESENCE_UNSUBSCRIBED: + log_debug("Sending presence usubscribed: %s", jid); + type = STANZA_TYPE_UNSUBSCRIBED; + break; + default: + break; } if (!type) { log_error("Attempt to send unknown subscription action: %s", jid); return; } - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *presence = xmpp_presence_new(ctx); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* presence = xmpp_presence_new(ctx); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); xmpp_stanza_set_id(presence, id); free(id); @@ -161,18 +160,18 @@ presence_clear_sub_requests(void) } char* -presence_sub_request_find(const char *const search_str, gboolean previous, void *context) +presence_sub_request_find(const char* const search_str, gboolean previous, void* context) { return autocomplete_complete(sub_requests_ac, search_str, TRUE, previous); } gboolean -presence_sub_request_exists(const char *const bare_jid) +presence_sub_request_exists(const char* const bare_jid) { gboolean result = FALSE; - GList *requests = autocomplete_create_list(sub_requests_ac); - GList *curr = requests; + GList* requests = autocomplete_create_list(sub_requests_ac); + GList* curr = requests; while (curr) { if (strcmp(curr->data, bare_jid) == 0) { result = TRUE; @@ -192,14 +191,14 @@ presence_reset_sub_request_search(void) } void -presence_send(const resource_presence_t presence_type, const int idle, char *signed_status) +presence_send(const resource_presence_t presence_type, const int idle, char* signed_status) { if (connection_get_status() != JABBER_CONNECTED) { log_warning("Error setting presence, not connected."); return; } - char *msg = connection_get_presence_msg(); + char* msg = connection_get_presence_msg(); if (msg) { log_debug("Updating presence: %s, \"%s\"", string_from_resource_presence(presence_type), msg); } else { @@ -209,24 +208,24 @@ presence_send(const resource_presence_t presence_type, const int idle, char *sig const int pri = accounts_get_priority_for_presence_type(session_get_account_name(), presence_type); connection_set_priority(pri); - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *presence = xmpp_presence_new(ctx); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* presence = xmpp_presence_new(ctx); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); xmpp_stanza_set_id(presence, id); free(id); - const char *show = stanza_get_presence_string_from_type(presence_type); + const char* show = stanza_get_presence_string_from_type(presence_type); stanza_attach_show(ctx, presence, show); stanza_attach_status(ctx, presence, msg); if (signed_status) { - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_SIGNED); - xmpp_stanza_t *signed_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* signed_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(signed_text, signed_status); xmpp_stanza_add_child(x, signed_text); @@ -250,27 +249,27 @@ presence_send(const resource_presence_t presence_type, const int idle, char *sig xmpp_stanza_release(presence); // set last presence for account - const char *last = show; + const char* last = show; if (last == NULL) { last = STANZA_TEXT_ONLINE; } - char *account = session_get_account_name(); + char* account = session_get_account_name(); accounts_set_last_presence(account, last); accounts_set_last_status(account, msg); } static void -_send_room_presence(xmpp_stanza_t *presence) +_send_room_presence(xmpp_stanza_t* presence) { - GList *rooms = muc_rooms(); - GList *curr = rooms; + GList* rooms = muc_rooms(); + GList* curr = rooms; while (curr) { - const char *room = curr->data; - const char *nick = muc_nick(room); + const char* room = curr->data; + const char* nick = muc_nick(room); if (nick) { - char *full_room_jid = create_fulljid(room, nick); + char* full_room_jid = create_fulljid(room, nick); xmpp_stanza_set_to(presence, full_room_jid); log_debug("Sending presence to room: %s", full_room_jid); free(full_room_jid); @@ -284,18 +283,18 @@ _send_room_presence(xmpp_stanza_t *presence) } void -presence_join_room(const char *const room, const char *const nick, const char *const passwd) +presence_join_room(const char* const room, const char* const nick, const char* const passwd) { - Jid *jid = jid_create_from_bare_and_resource(room, nick); + Jid* jid = jid_create_from_bare_and_resource(room, nick); log_debug("Sending room join presence to: %s", jid->fulljid); resource_presence_t presence_type = accounts_get_last_presence(session_get_account_name()); - const char *show = stanza_get_presence_string_from_type(presence_type); - char *status = connection_get_presence_msg(); + const char* show = stanza_get_presence_string_from_type(presence_type); + char* status = connection_get_presence_msg(); int pri = accounts_get_priority_for_presence_type(session_get_account_name(), presence_type); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *presence = stanza_create_room_join_presence(ctx, jid->fulljid, passwd); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* presence = stanza_create_room_join_presence(ctx, jid->fulljid, passwd); stanza_attach_show(ctx, presence, show); stanza_attach_status(ctx, presence, status); stanza_attach_priority(ctx, presence, pri); @@ -308,20 +307,20 @@ presence_join_room(const char *const room, const char *const nick, const char *c } void -presence_change_room_nick(const char *const room, const char *const nick) +presence_change_room_nick(const char* const room, const char* const nick) { assert(room != NULL); assert(nick != NULL); log_debug("Sending room nickname change to: %s, nick: %s", room, nick); resource_presence_t presence_type = accounts_get_last_presence(session_get_account_name()); - const char *show = stanza_get_presence_string_from_type(presence_type); - char *status = connection_get_presence_msg(); + const char* show = stanza_get_presence_string_from_type(presence_type); + char* status = connection_get_presence_msg(); int pri = accounts_get_priority_for_presence_type(session_get_account_name(), presence_type); - char *full_room_jid = create_fulljid(room, nick); + char* full_room_jid = create_fulljid(room, nick); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *presence = stanza_create_room_newnick_presence(ctx, full_room_jid); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* presence = stanza_create_room_newnick_presence(ctx, full_room_jid); stanza_attach_show(ctx, presence, show); stanza_attach_status(ctx, presence, status); stanza_attach_priority(ctx, presence, pri); @@ -334,11 +333,11 @@ presence_change_room_nick(const char *const room, const char *const nick) } void -presence_leave_chat_room(const char *const room_jid) +presence_leave_chat_room(const char* const room_jid) { assert(room_jid != NULL); - char *nick = muc_nick(room_jid); + char* nick = muc_nick(room_jid); if (!nick) { log_error("Could not get nickname for room: %s", room_jid); return; @@ -346,8 +345,8 @@ presence_leave_chat_room(const char *const room_jid) log_debug("Sending room leave presence to: %s", room_jid); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *presence = stanza_create_room_leave_presence(ctx, room_jid, nick); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* presence = stanza_create_room_leave_presence(ctx, room_jid, nick); _send_presence_stanza(presence); @@ -355,11 +354,11 @@ presence_leave_chat_room(const char *const room_jid) } static int -_presence_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *const userdata) +_presence_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* const userdata) { log_debug("Presence stanza handler fired"); - char *text = NULL; + char* text = NULL; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); @@ -369,7 +368,7 @@ _presence_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *co return 1; } - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { _presence_error_handler(stanza); @@ -391,7 +390,7 @@ _presence_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *co _unsubscribed_handler(stanza); } - xmpp_stanza_t *mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* mucuser = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (mucuser) { _muc_user_handler(stanza); } @@ -402,21 +401,21 @@ _presence_handler(xmpp_conn_t *const conn, xmpp_stanza_t *const stanza, void *co } static void -_presence_error_handler(xmpp_stanza_t *const stanza) +_presence_error_handler(xmpp_stanza_t* const stanza) { - const char *xmlns = NULL; - xmpp_stanza_t *x = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_X); + const char* xmlns = NULL; + xmpp_stanza_t* x = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_X); if (x) { xmlns = xmpp_stanza_get_ns(x); } - const char *from = xmpp_stanza_get_from(stanza); - xmpp_stanza_t *error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); + const char* from = xmpp_stanza_get_from(stanza); + xmpp_stanza_t* error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); // handle MUC join errors if (g_strcmp0(xmlns, STANZA_NS_MUC) == 0) { - const char *error_cond = NULL; - xmpp_stanza_t *reason_st = xmpp_stanza_get_child_by_ns(error_stanza, STANZA_NS_STANZAS); + const char* error_cond = NULL; + xmpp_stanza_t* reason_st = xmpp_stanza_get_child_by_ns(error_stanza, STANZA_NS_STANZAS); if (reason_st) { error_cond = xmpp_stanza_get_name(reason_st); } @@ -424,7 +423,7 @@ _presence_error_handler(xmpp_stanza_t *const stanza) error_cond = "unknown"; } - Jid *fulljid = jid_create(from); + Jid* fulljid = jid_create(from); log_info("Error joining room: %s, reason: %s", fulljid->barejid, error_cond); if (muc_active(fulljid->barejid)) { muc_leave(fulljid->barejid); @@ -435,8 +434,8 @@ _presence_error_handler(xmpp_stanza_t *const stanza) return; } - GString *log_msg = g_string_new("presence stanza error received"); - const char *id = xmpp_stanza_get_id(stanza); + GString* log_msg = g_string_new("presence stanza error received"); + const char* id = xmpp_stanza_get_id(stanza); if (id) { g_string_append(log_msg, " id="); g_string_append(log_msg, id); @@ -446,7 +445,7 @@ _presence_error_handler(xmpp_stanza_t *const stanza) g_string_append(log_msg, from); } - const char *type = NULL; + const char* type = NULL; if (error_stanza) { type = xmpp_stanza_get_type(error_stanza); } @@ -456,7 +455,7 @@ _presence_error_handler(xmpp_stanza_t *const stanza) } // stanza_get_error never returns NULL - char *err_msg = stanza_get_error_message(stanza); + char* err_msg = stanza_get_error_message(stanza); g_string_append(log_msg, " error="); g_string_append(log_msg, err_msg); @@ -474,16 +473,16 @@ _presence_error_handler(xmpp_stanza_t *const stanza) } static void -_unsubscribed_handler(xmpp_stanza_t *const stanza) +_unsubscribed_handler(xmpp_stanza_t* const stanza) { - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Unsubscribed presence handler received with no from attribute"); return; } log_debug("Unsubscribed presence handler fired for %s", from); - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); sv_ev_subscription(from_jid->barejid, PRESENCE_UNSUBSCRIBED); autocomplete_remove(sub_requests_ac, from_jid->barejid); @@ -491,16 +490,16 @@ _unsubscribed_handler(xmpp_stanza_t *const stanza) } static void -_subscribed_handler(xmpp_stanza_t *const stanza) +_subscribed_handler(xmpp_stanza_t* const stanza) { - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Subscribed presence handler received with no from attribute"); return; } log_debug("Subscribed presence handler fired for %s", from); - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); sv_ev_subscription(from_jid->barejid, PRESENCE_SUBSCRIBED); autocomplete_remove(sub_requests_ac, from_jid->barejid); @@ -508,15 +507,15 @@ _subscribed_handler(xmpp_stanza_t *const stanza) } static void -_subscribe_handler(xmpp_stanza_t *const stanza) +_subscribe_handler(xmpp_stanza_t* const stanza) { - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Subscribe presence handler received with no from attribute", from); } log_debug("Subscribe presence handler fired for %s", from); - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); if (from_jid == NULL) { return; } @@ -528,32 +527,32 @@ _subscribe_handler(xmpp_stanza_t *const stanza) } static void -_unavailable_handler(xmpp_stanza_t *const stanza) +_unavailable_handler(xmpp_stanza_t* const stanza) { inp_nonblocking(TRUE); - xmpp_conn_t *conn = connection_get_conn(); - const char *jid = xmpp_conn_get_jid(conn); - const char *from = xmpp_stanza_get_from(stanza); + xmpp_conn_t* conn = connection_get_conn(); + const char* jid = xmpp_conn_get_jid(conn); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("Unavailable presence received with no from attribute"); } log_debug("Unavailable presence handler fired for %s", from); - Jid *my_jid = jid_create(jid); - Jid *from_jid = jid_create(from); + Jid* my_jid = jid_create(jid); + Jid* from_jid = jid_create(from); if (my_jid == NULL || from_jid == NULL) { jid_destroy(my_jid); jid_destroy(from_jid); return; } - if (strcmp(my_jid->barejid, from_jid->barejid) !=0) { - char *status_str = stanza_get_status(stanza, NULL); + if (strcmp(my_jid->barejid, from_jid->barejid) != 0) { + char* status_str = stanza_get_status(stanza, NULL); if (from_jid->resourcepart) { sv_ev_contact_offline(from_jid->barejid, from_jid->resourcepart, status_str); - // hack for servers that do not send full jid with unavailable presence + // hack for servers that do not send full jid with unavailable presence } else { sv_ev_contact_offline(from_jid->barejid, "__prof_default", status_str); } @@ -569,7 +568,7 @@ _unavailable_handler(xmpp_stanza_t *const stanza) } static void -_handle_caps(const char *const jid, XMPPCaps *caps) +_handle_caps(const char* const jid, XMPPCaps* caps) { // hash supported, xep-0115, cache against ver if (g_strcmp0(caps->hash, "sha-1") == 0) { @@ -580,23 +579,23 @@ _handle_caps(const char *const jid, XMPPCaps *caps) caps_map_jid_to_ver(jid, caps->ver); } else { log_debug("Capabilities cache miss: %s, for %s, sending service discovery request", caps->ver, jid); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); iq_send_caps_request(jid, id, caps->node, caps->ver); free(id); } } - // unsupported hash, xep-0115, associate with JID, no cache + // unsupported hash, xep-0115, associate with JID, no cache } else if (caps->hash) { log_info("Hash %s not supported: %s, sending service discovery request", caps->hash, jid); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); iq_send_caps_request_for_jid(jid, id, caps->node, caps->ver); free(id); - // no hash, legacy caps, cache against node#ver - } else if (caps->node && caps->ver) { + // no hash, legacy caps, cache against node#ver + } else if (caps->node && caps->ver) { log_info("No hash specified: %s, legacy request made for %s#%s", jid, caps->node, caps->ver); - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); iq_send_caps_request_legacy(jid, id, caps->node, caps->ver); free(id); } else { @@ -605,7 +604,7 @@ _handle_caps(const char *const jid, XMPPCaps *caps) } static void -_available_handler(xmpp_stanza_t *const stanza) +_available_handler(xmpp_stanza_t* const stanza) { inp_nonblocking(TRUE); @@ -615,10 +614,7 @@ _available_handler(xmpp_stanza_t *const stanza) } // handler still fires if other types - if ((g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_UNAVAILABLE) == 0) || - (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_SUBSCRIBE) == 0) || - (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_SUBSCRIBED) == 0) || - (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_UNSUBSCRIBED) == 0)) { + if ((g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_UNAVAILABLE) == 0) || (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_SUBSCRIBE) == 0) || (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_SUBSCRIBED) == 0) || (g_strcmp0(xmpp_stanza_get_type(stanza), STANZA_TYPE_UNSUBSCRIBED) == 0)) { return; } @@ -628,52 +624,52 @@ _available_handler(xmpp_stanza_t *const stanza) } int err = 0; - XMPPPresence *xmpp_presence = stanza_parse_presence(stanza, &err); + XMPPPresence* xmpp_presence = stanza_parse_presence(stanza, &err); if (!xmpp_presence) { - const char *from = NULL; - switch(err) { - case STANZA_PARSE_ERROR_NO_FROM: - log_warning("Available presence handler fired with no from attribute."); - break; - case STANZA_PARSE_ERROR_INVALID_FROM: - from = xmpp_stanza_get_from(stanza); - log_warning("Available presence handler fired with invalid from attribute: %s", from); - break; - default: - log_warning("Available presence handler fired, could not parse stanza."); - break; + const char* from = NULL; + switch (err) { + case STANZA_PARSE_ERROR_NO_FROM: + log_warning("Available presence handler fired with no from attribute."); + break; + case STANZA_PARSE_ERROR_INVALID_FROM: + from = xmpp_stanza_get_from(stanza); + log_warning("Available presence handler fired with invalid from attribute: %s", from); + break; + default: + log_warning("Available presence handler fired, could not parse stanza."); + break; } return; } else { - char *jid = jid_fulljid_or_barejid(xmpp_presence->jid); + char* jid = jid_fulljid_or_barejid(xmpp_presence->jid); log_debug("Presence available handler fired for: %s", jid); } - xmpp_conn_t *conn = connection_get_conn(); - const char *my_jid_str = xmpp_conn_get_jid(conn); - Jid *my_jid = jid_create(my_jid_str); + xmpp_conn_t* conn = connection_get_conn(); + const char* my_jid_str = xmpp_conn_get_jid(conn); + Jid* my_jid = jid_create(my_jid_str); - XMPPCaps *caps = stanza_parse_caps(stanza); + XMPPCaps* caps = stanza_parse_caps(stanza); if ((g_strcmp0(my_jid->fulljid, xmpp_presence->jid->fulljid) != 0) && caps) { log_debug("Presence contains capabilities."); - char *jid = jid_fulljid_or_barejid(xmpp_presence->jid); + char* jid = jid_fulljid_or_barejid(xmpp_presence->jid); _handle_caps(jid, caps); } stanza_free_caps(caps); - Resource *resource = stanza_resource_from_presence(xmpp_presence); + Resource* resource = stanza_resource_from_presence(xmpp_presence); if (g_strcmp0(xmpp_presence->jid->barejid, my_jid->barejid) == 0) { connection_add_available_resource(resource); } else { - char *pgpsig = NULL; - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_SIGNED); + char* pgpsig = NULL; + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_SIGNED); if (x) { pgpsig = xmpp_stanza_get_text(x); } sv_ev_contact_online(xmpp_presence->jid->barejid, resource, xmpp_presence->last_activity, pgpsig); - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); xmpp_free(ctx, pgpsig); } @@ -682,7 +678,7 @@ _available_handler(xmpp_stanza_t *const stanza) } void -_send_caps_request(char *node, char *caps_key, char *id, char *from) +_send_caps_request(char* node, char* caps_key, char* id, char* from) { if (!node) { log_debug("No node string, not sending discovery IQ."); @@ -696,8 +692,8 @@ _send_caps_request(char *node, char *caps_key, char *id, char *from) } log_debug("Capabilities not cached for '%s', sending discovery IQ.", from); - xmpp_ctx_t *ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, from, node); + xmpp_ctx_t* ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, id, from, node); iq_send_stanza(iq); @@ -705,51 +701,51 @@ _send_caps_request(char *node, char *caps_key, char *id, char *from) } static void -_muc_user_self_handler(xmpp_stanza_t *stanza) +_muc_user_self_handler(xmpp_stanza_t* stanza) { - const char *from = xmpp_stanza_get_from(stanza); - Jid *from_jid = jid_create(from); + const char* from = xmpp_stanza_get_from(stanza); + Jid* from_jid = jid_create(from); log_debug("Room self presence received from %s", from_jid->fulljid); - char *room = from_jid->barejid; + char* room = from_jid->barejid; - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_UNAVAILABLE) == 0) { // handle nickname change - const char *new_nick = stanza_get_new_nick(stanza); + const char* new_nick = stanza_get_new_nick(stanza); if (new_nick) { muc_nick_change_start(room, new_nick); - // handle left room + // handle left room } else { - GSList *status_codes = stanza_get_status_codes_by_ns(stanza, STANZA_NS_MUC_USER); + GSList* status_codes = stanza_get_status_codes_by_ns(stanza, STANZA_NS_MUC_USER); // room destroyed if (stanza_room_destroyed(stanza)) { - const char *new_jid = stanza_get_muc_destroy_alternative_room(stanza); - char *password = stanza_get_muc_destroy_alternative_password(stanza); - char *reason = stanza_get_muc_destroy_reason(stanza); + const char* new_jid = stanza_get_muc_destroy_alternative_room(stanza); + char* password = stanza_get_muc_destroy_alternative_password(stanza); + char* reason = stanza_get_muc_destroy_reason(stanza); sv_ev_room_destroyed(room, new_jid, password, reason); free(password); free(reason); - // kicked from room + // kicked from room } else if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0)) { - const char *actor = stanza_get_actor(stanza); - char *reason = stanza_get_reason(stanza); + const char* actor = stanza_get_actor(stanza); + char* reason = stanza_get_reason(stanza); sv_ev_room_kicked(room, actor, reason); free(reason); - // banned from room + // banned from room } else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0)) { - const char *actor = stanza_get_actor(stanza); - char *reason = stanza_get_reason(stanza); + const char* actor = stanza_get_actor(stanza); + char* reason = stanza_get_reason(stanza); sv_ev_room_banned(room, actor, reason); free(reason); - // normal exit + // normal exit } else { sv_ev_leave_room(room); } @@ -758,17 +754,17 @@ _muc_user_self_handler(xmpp_stanza_t *stanza) } } else { gboolean config_required = stanza_muc_requires_config(stanza); - const char *actor = stanza_get_actor(stanza); - char *reason = stanza_get_reason(stanza); - char *nick = from_jid->resourcepart; - char *show_str = stanza_get_show(stanza, "online"); - char *status_str = stanza_get_status(stanza, NULL); - const char *jid = NULL; - const char *role = NULL; - const char *affiliation = NULL; - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + const char* actor = stanza_get_actor(stanza); + char* reason = stanza_get_reason(stanza); + char* nick = from_jid->resourcepart; + char* show_str = stanza_get_show(stanza, "online"); + char* status_str = stanza_get_status(stanza, NULL); + const char* jid = NULL; + const char* role = NULL; + const char* affiliation = NULL; + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x) { - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); if (item) { jid = xmpp_stanza_get_attribute(item, "jid"); role = xmpp_stanza_get_attribute(item, "role"); @@ -785,44 +781,44 @@ _muc_user_self_handler(xmpp_stanza_t *stanza) } static void -_muc_user_occupant_handler(xmpp_stanza_t *stanza) +_muc_user_occupant_handler(xmpp_stanza_t* stanza) { - const char *from = xmpp_stanza_get_from(stanza); - Jid *from_jid = jid_create(from); + const char* from = xmpp_stanza_get_from(stanza); + Jid* from_jid = jid_create(from); log_debug("Room presence received from %s", from_jid->fulljid); - char *room = from_jid->barejid; - char *nick = from_jid->resourcepart; - char *status_str = stanza_get_status(stanza, NULL); + char* room = from_jid->barejid; + char* nick = from_jid->resourcepart; + char* status_str = stanza_get_status(stanza, NULL); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, STANZA_TYPE_UNAVAILABLE) == 0) { // handle nickname change - const char *new_nick = stanza_get_new_nick(stanza); + const char* new_nick = stanza_get_new_nick(stanza); if (new_nick) { muc_occupant_nick_change_start(room, new_nick, nick); - // handle left room + // handle left room } else { - GSList *status_codes = stanza_get_status_codes_by_ns(stanza, STANZA_NS_MUC_USER); + GSList* status_codes = stanza_get_status_codes_by_ns(stanza, STANZA_NS_MUC_USER); // kicked from room if (g_slist_find_custom(status_codes, "307", (GCompareFunc)g_strcmp0)) { - const char *actor = stanza_get_actor(stanza); - char *reason = stanza_get_reason(stanza); + const char* actor = stanza_get_actor(stanza); + char* reason = stanza_get_reason(stanza); sv_ev_room_occupent_kicked(room, nick, actor, reason); free(reason); - // banned from room + // banned from room } else if (g_slist_find_custom(status_codes, "301", (GCompareFunc)g_strcmp0)) { - const char *actor = stanza_get_actor(stanza); - char *reason = stanza_get_reason(stanza); + const char* actor = stanza_get_actor(stanza); + char* reason = stanza_get_reason(stanza); sv_ev_room_occupent_banned(room, nick, actor, reason); free(reason); - // normal exit + // normal exit } else { sv_ev_room_occupant_offline(room, nick, "offline", status_str); } @@ -830,24 +826,24 @@ _muc_user_occupant_handler(xmpp_stanza_t *stanza) g_slist_free_full(status_codes, free); } - // room occupant online + // room occupant online } else { // send disco info for capabilities, if not cached - XMPPCaps *caps = stanza_parse_caps(stanza); + XMPPCaps* caps = stanza_parse_caps(stanza); if (caps) { _handle_caps(from, caps); } stanza_free_caps(caps); - const char *actor = stanza_get_actor(stanza); - char *show_str = stanza_get_show(stanza, "online"); - char *reason = stanza_get_reason(stanza); - const char *jid = NULL; - const char *role = NULL; - const char *affiliation = NULL; - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + const char* actor = stanza_get_actor(stanza); + char* show_str = stanza_get_show(stanza, "online"); + char* reason = stanza_get_reason(stanza); + const char* jid = NULL; + const char* role = NULL; + const char* affiliation = NULL; + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x) { - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); if (item) { jid = xmpp_stanza_get_attribute(item, "jid"); role = xmpp_stanza_get_attribute(item, "role"); @@ -864,23 +860,23 @@ _muc_user_occupant_handler(xmpp_stanza_t *stanza) } static void -_muc_user_handler(xmpp_stanza_t *const stanza) +_muc_user_handler(xmpp_stanza_t* const stanza) { inp_nonblocking(TRUE); - const char *type = xmpp_stanza_get_type(stanza); + const char* type = xmpp_stanza_get_type(stanza); // handler still fires if error if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) { return; } - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { log_warning("MUC User stanza received with no from attribute"); return; } - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); if (from_jid == NULL || from_jid->resourcepart == NULL) { log_warning("MUC User stanza received with invalid from attribute: %s", from); jid_destroy(from_jid); @@ -896,14 +892,14 @@ _muc_user_handler(xmpp_stanza_t *const stanza) } static void -_send_presence_stanza(xmpp_stanza_t *const stanza) +_send_presence_stanza(xmpp_stanza_t* const stanza) { - char *text; + char* text; size_t text_size; xmpp_stanza_to_text(stanza, &text, &text_size); - xmpp_conn_t *conn = connection_get_conn(); - char *plugin_text = plugins_on_presence_stanza_send(text); + xmpp_conn_t* conn = connection_get_conn(); + char* plugin_text = plugins_on_presence_stanza_send(text); if (plugin_text) { xmpp_send_raw_string(conn, "%s", plugin_text); free(plugin_text); diff --git a/src/xmpp/resource.c b/src/xmpp/resource.c index 774c8e23..9e8e1a8b 100644 --- a/src/xmpp/resource.c +++ b/src/xmpp/resource.c @@ -41,10 +41,10 @@ #include "xmpp/resource.h" Resource* -resource_new(const char *const name, resource_presence_t presence, const char *const status, const int priority) +resource_new(const char* const name, resource_presence_t presence, const char* const status, const int priority) { assert(name != NULL); - Resource *new_resource = malloc(sizeof(struct resource_t)); + Resource* new_resource = malloc(sizeof(struct resource_t)); new_resource->name = strdup(name); new_resource->presence = presence; if (status) { @@ -58,7 +58,7 @@ resource_new(const char *const name, resource_presence_t presence, const char *c } int -resource_compare_availability(Resource *first, Resource *second) +resource_compare_availability(Resource* first, Resource* second) { if (first->priority > second->priority) { return -1; @@ -88,7 +88,7 @@ resource_compare_availability(Resource *first, Resource *second) } void -resource_destroy(Resource *resource) +resource_destroy(Resource* resource) { if (resource) { free(resource->name); @@ -98,12 +98,10 @@ resource_destroy(Resource *resource) } gboolean -valid_resource_presence_string(const char *const str) +valid_resource_presence_string(const char* const str) { assert(str != NULL); - if ((strcmp(str, "online") == 0) || (strcmp(str, "chat") == 0) || - (strcmp(str, "away") == 0) || (strcmp(str, "xa") == 0) || - (strcmp(str, "dnd") == 0)) { + if ((strcmp(str, "online") == 0) || (strcmp(str, "chat") == 0) || (strcmp(str, "away") == 0) || (strcmp(str, "xa") == 0) || (strcmp(str, "dnd") == 0)) { return TRUE; } else { return FALSE; @@ -113,23 +111,22 @@ valid_resource_presence_string(const char *const str) const char* string_from_resource_presence(resource_presence_t presence) { - switch(presence) - { - case RESOURCE_CHAT: - return "chat"; - case RESOURCE_AWAY: - return "away"; - case RESOURCE_XA: - return "xa"; - case RESOURCE_DND: - return "dnd"; - default: - return "online"; + switch (presence) { + case RESOURCE_CHAT: + return "chat"; + case RESOURCE_AWAY: + return "away"; + case RESOURCE_XA: + return "xa"; + case RESOURCE_DND: + return "dnd"; + default: + return "online"; } } resource_presence_t -resource_presence_from_string(const char *const str) +resource_presence_from_string(const char* const str) { if (str == NULL) { return RESOURCE_ONLINE; @@ -151,17 +148,16 @@ resource_presence_from_string(const char *const str) contact_presence_t contact_presence_from_resource_presence(resource_presence_t resource_presence) { - switch(resource_presence) - { - case RESOURCE_CHAT: - return CONTACT_CHAT; - case RESOURCE_AWAY: - return CONTACT_AWAY; - case RESOURCE_XA: - return CONTACT_XA; - case RESOURCE_DND: - return CONTACT_DND; - default: - return CONTACT_ONLINE; + switch (resource_presence) { + case RESOURCE_CHAT: + return CONTACT_CHAT; + case RESOURCE_AWAY: + return CONTACT_AWAY; + case RESOURCE_XA: + return CONTACT_XA; + case RESOURCE_DND: + return CONTACT_DND; + default: + return CONTACT_ONLINE; } } diff --git a/src/xmpp/resource.h b/src/xmpp/resource.h index ce01203f..41d20511 100644 --- a/src/xmpp/resource.h +++ b/src/xmpp/resource.h @@ -38,21 +38,22 @@ #include "common.h" -typedef struct resource_t { - char *name; +typedef struct resource_t +{ + char* name; resource_presence_t presence; - char *status; + char* status; int priority; } Resource; -Resource* resource_new(const char *const name, resource_presence_t presence, const char *const status, - const int priority); -void resource_destroy(Resource *resource); -int resource_compare_availability(Resource *first, Resource *second); +Resource* resource_new(const char* const name, resource_presence_t presence, const char* const status, + const int priority); +void resource_destroy(Resource* resource); +int resource_compare_availability(Resource* first, Resource* second); -gboolean valid_resource_presence_string(const char *const str); +gboolean valid_resource_presence_string(const char* const str); const char* string_from_resource_presence(resource_presence_t presence); -resource_presence_t resource_presence_from_string(const char *const str); +resource_presence_t resource_presence_from_string(const char* const str); contact_presence_t contact_presence_from_resource_presence(resource_presence_t resource_presence); #endif diff --git a/src/xmpp/roster.c b/src/xmpp/roster.c index 64099335..2b5a1696 100644 --- a/src/xmpp/roster.c +++ b/src/xmpp/roster.c @@ -66,61 +66,62 @@ #include "xmpp/xmpp.h" // callback data for group commands -typedef struct _group_data { - char *name; - char *group; +typedef struct _group_data +{ + char* name; + char* group; } GroupData; // id handlers -static int _group_add_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static int _group_remove_id_handler(xmpp_stanza_t *const stanza, void *const userdata); -static void _free_group_data(GroupData *data); +static int _group_add_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static int _group_remove_id_handler(xmpp_stanza_t* const stanza, void* const userdata); +static void _free_group_data(GroupData* data); void roster_request(void) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_roster_iq(ctx); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_roster_iq(ctx); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -roster_send_add_new(const char *const barejid, const char *const name) +roster_send_add_new(const char* const barejid, const char* const name) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_roster_set(ctx, id, barejid, name, NULL); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_roster_set(ctx, id, barejid, name, NULL); free(id); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -roster_send_remove(const char *const barejid) +roster_send_remove(const char* const barejid) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - xmpp_stanza_t *iq = stanza_create_roster_remove_set(ctx, barejid); + xmpp_ctx_t* const ctx = connection_get_ctx(); + xmpp_stanza_t* iq = stanza_create_roster_remove_set(ctx, barejid); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -roster_send_name_change(const char *const barejid, const char *const new_name, GSList *groups) +roster_send_name_change(const char* const barejid, const char* const new_name, GSList* groups) { - xmpp_ctx_t * const ctx = connection_get_ctx(); - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = stanza_create_roster_set(ctx, id, barejid, new_name, groups); + xmpp_ctx_t* const ctx = connection_get_ctx(); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = stanza_create_roster_set(ctx, id, barejid, new_name, groups); free(id); iq_send_stanza(iq); xmpp_stanza_release(iq); } void -roster_send_add_to_group(const char *const group, PContact contact) +roster_send_add_to_group(const char* const group, PContact contact) { - GSList *groups = p_contact_groups(contact); - GSList *new_groups = NULL; + GSList* groups = p_contact_groups(contact); + GSList* new_groups = NULL; while (groups) { new_groups = g_slist_append(new_groups, strdup(groups->data)); groups = g_slist_next(groups); @@ -128,8 +129,8 @@ roster_send_add_to_group(const char *const group, PContact contact) new_groups = g_slist_append(new_groups, strdup(group)); // add an id handler to handle the response - char *unique_id = connection_create_stanza_id(); - GroupData *data = malloc(sizeof(GroupData)); + char* unique_id = connection_create_stanza_id(); + GroupData* data = malloc(sizeof(GroupData)); data->group = strdup(group); if (p_contact_name(contact)) { data->name = strdup(p_contact_name(contact)); @@ -137,30 +138,30 @@ roster_send_add_to_group(const char *const group, PContact contact) data->name = strdup(p_contact_barejid(contact)); } - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); iq_id_handler_add(unique_id, _group_add_id_handler, (ProfIqFreeCallback)_free_group_data, data); - xmpp_stanza_t *iq = stanza_create_roster_set(ctx, unique_id, p_contact_barejid(contact), - p_contact_name(contact), new_groups); + xmpp_stanza_t* iq = stanza_create_roster_set(ctx, unique_id, p_contact_barejid(contact), + p_contact_name(contact), new_groups); iq_send_stanza(iq); xmpp_stanza_release(iq); free(unique_id); } static int -_group_add_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_group_add_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { if (userdata) { - GroupData *data = userdata; + GroupData* data = userdata; ui_group_added(data->name, data->group); } return 0; } void -roster_send_remove_from_group(const char *const group, PContact contact) +roster_send_remove_from_group(const char* const group, PContact contact) { - GSList *groups = p_contact_groups(contact); - GSList *new_groups = NULL; + GSList* groups = p_contact_groups(contact); + GSList* new_groups = NULL; while (groups) { if (strcmp(groups->data, group) != 0) { new_groups = g_slist_append(new_groups, strdup(groups->data)); @@ -168,11 +169,11 @@ roster_send_remove_from_group(const char *const group, PContact contact) groups = g_slist_next(groups); } - xmpp_ctx_t * const ctx = connection_get_ctx(); + xmpp_ctx_t* const ctx = connection_get_ctx(); // add an id handler to handle the response - char *unique_id = connection_create_stanza_id(); - GroupData *data = malloc(sizeof(GroupData)); + char* unique_id = connection_create_stanza_id(); + GroupData* data = malloc(sizeof(GroupData)); data->group = strdup(group); if (p_contact_name(contact)) { data->name = strdup(p_contact_name(contact)); @@ -181,38 +182,36 @@ roster_send_remove_from_group(const char *const group, PContact contact) } iq_id_handler_add(unique_id, _group_remove_id_handler, (ProfIqFreeCallback)_free_group_data, data); - xmpp_stanza_t *iq = stanza_create_roster_set(ctx, unique_id, p_contact_barejid(contact), - p_contact_name(contact), new_groups); + xmpp_stanza_t* iq = stanza_create_roster_set(ctx, unique_id, p_contact_barejid(contact), + p_contact_name(contact), new_groups); iq_send_stanza(iq); xmpp_stanza_release(iq); free(unique_id); } static int -_group_remove_id_handler(xmpp_stanza_t *const stanza, void *const userdata) +_group_remove_id_handler(xmpp_stanza_t* const stanza, void* const userdata) { if (userdata) { - GroupData *data = userdata; + GroupData* data = userdata; ui_group_removed(data->name, data->group); } return 0; } void -roster_set_handler(xmpp_stanza_t *const stanza) +roster_set_handler(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *query = - xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - xmpp_stanza_t *item = - xmpp_stanza_get_child_by_name(query, STANZA_NAME_ITEM); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(query, STANZA_NAME_ITEM); if (item == NULL) { return; } // if from attribute exists and it is not current users barejid, ignore push - char *mybarejid = connection_get_barejid(); - const char *from = xmpp_stanza_get_from(stanza); + char* mybarejid = connection_get_barejid(); + const char* from = xmpp_stanza_get_from(stanza); if (from && (strcmp(from, mybarejid) != 0)) { log_warning("Received alleged roster push from: %s", from); free(mybarejid); @@ -220,11 +219,11 @@ roster_set_handler(xmpp_stanza_t *const stanza) } free(mybarejid); - const char *barejid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); - gchar *barejid_lower = g_utf8_strdown(barejid, -1); - const char *name = xmpp_stanza_get_attribute(item, STANZA_ATTR_NAME); - const char *sub = xmpp_stanza_get_attribute(item, STANZA_ATTR_SUBSCRIPTION); - const char *ask = xmpp_stanza_get_attribute(item, STANZA_ATTR_ASK); + const char* barejid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); + gchar* barejid_lower = g_utf8_strdown(barejid, -1); + const char* name = xmpp_stanza_get_attribute(item, STANZA_ATTR_NAME); + const char* sub = xmpp_stanza_get_attribute(item, STANZA_ATTR_SUBSCRIPTION); + const char* ask = xmpp_stanza_get_attribute(item, STANZA_ATTR_ASK); // do not set nickname to empty string, set to NULL instead if (name && (strlen(name) == 0)) { @@ -240,7 +239,7 @@ roster_set_handler(xmpp_stanza_t *const stanza) roster_remove(name, barejid_lower); ui_roster_remove(barejid_lower); - // otherwise update local roster + // otherwise update local roster } else { // check for pending out subscriptions @@ -249,7 +248,7 @@ roster_set_handler(xmpp_stanza_t *const stanza) pending_out = TRUE; } - GSList *groups = roster_get_groups_from_item(item); + GSList* groups = roster_get_groups_from_item(item); // update the local roster PContact contact = roster_get_contact(barejid_lower); @@ -269,34 +268,35 @@ roster_set_handler(xmpp_stanza_t *const stanza) } void -roster_result_handler(xmpp_stanza_t *const stanza) +roster_result_handler(xmpp_stanza_t* const stanza) { - const char *id = xmpp_stanza_get_id(stanza); + const char* id = xmpp_stanza_get_id(stanza); if (g_strcmp0(id, "roster") != 0) { return; } // handle initial roster response - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); - xmpp_stanza_t *item = xmpp_stanza_get_children(query); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* item = xmpp_stanza_get_children(query); while (item) { - const char *barejid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); - gchar *barejid_lower = g_utf8_strdown(barejid, -1); - const char *name = xmpp_stanza_get_attribute(item, STANZA_ATTR_NAME); - const char *sub = xmpp_stanza_get_attribute(item, STANZA_ATTR_SUBSCRIPTION); + const char* barejid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); + gchar* barejid_lower = g_utf8_strdown(barejid, -1); + const char* name = xmpp_stanza_get_attribute(item, STANZA_ATTR_NAME); + const char* sub = xmpp_stanza_get_attribute(item, STANZA_ATTR_SUBSCRIPTION); // do not set nickname to empty string, set to NULL instead - if (name && (strlen(name) == 0)) name = NULL; + if (name && (strlen(name) == 0)) + name = NULL; gboolean pending_out = FALSE; - const char *ask = xmpp_stanza_get_attribute(item, STANZA_ATTR_ASK); + const char* ask = xmpp_stanza_get_attribute(item, STANZA_ATTR_ASK); if (g_strcmp0(ask, "subscribe") == 0) { pending_out = TRUE; } - GSList *groups = roster_get_groups_from_item(item); + GSList* groups = roster_get_groups_from_item(item); gboolean added = roster_add(barejid_lower, name, groups, sub, pending_out); if (!added) { @@ -313,14 +313,14 @@ roster_result_handler(xmpp_stanza_t *const stanza) } GSList* -roster_get_groups_from_item(xmpp_stanza_t *item) +roster_get_groups_from_item(xmpp_stanza_t* item) { - GSList *groups = NULL; - xmpp_stanza_t *group_element = xmpp_stanza_get_children(item); + GSList* groups = NULL; + xmpp_stanza_t* group_element = xmpp_stanza_get_children(item); while (group_element) { if (strcmp(xmpp_stanza_get_name(group_element), STANZA_NAME_GROUP) == 0) { - char *groupname = xmpp_stanza_get_text(group_element); + char* groupname = xmpp_stanza_get_text(group_element); if (groupname) { groups = g_slist_append(groups, groupname); } @@ -332,7 +332,7 @@ roster_get_groups_from_item(xmpp_stanza_t *item) } static void -_free_group_data(GroupData *data) +_free_group_data(GroupData* data) { if (data) { free(data->group); diff --git a/src/xmpp/roster.h b/src/xmpp/roster.h index d516fa97..253e088d 100644 --- a/src/xmpp/roster.h +++ b/src/xmpp/roster.h @@ -37,8 +37,8 @@ #define XMPP_ROSTER_H void roster_request(void); -void roster_set_handler(xmpp_stanza_t *const stanza); -void roster_result_handler(xmpp_stanza_t *const stanza); -GSList* roster_get_groups_from_item(xmpp_stanza_t *const item); +void roster_set_handler(xmpp_stanza_t* const stanza); +void roster_result_handler(xmpp_stanza_t* const stanza); +GSList* roster_get_groups_from_item(xmpp_stanza_t* const item); #endif diff --git a/src/xmpp/roster_list.c b/src/xmpp/roster_list.c index 49f067d6..f0d4ba86 100644 --- a/src/xmpp/roster_list.c +++ b/src/xmpp/roster_list.c @@ -33,7 +33,6 @@ * */ - #include <string.h> #include <stdlib.h> #include <assert.h> @@ -47,9 +46,10 @@ #include "xmpp/contact.h" #include "xmpp/jid.h" -typedef struct prof_roster_t { +typedef struct prof_roster_t +{ // contacts, indexed on barejid - GHashTable *contacts; + GHashTable* contacts; // nicknames Autocomplete name_ac; @@ -61,27 +61,28 @@ typedef struct prof_roster_t { Autocomplete fulljid_ac; // nickname to barejid map - GHashTable *name_to_barejid; + GHashTable* name_to_barejid; // groups Autocomplete groups_ac; - GHashTable *group_count; + GHashTable* group_count; } ProfRoster; -typedef struct pending_presence { - char *barejid; - Resource *resource; - GDateTime *last_activity; +typedef struct pending_presence +{ + char* barejid; + Resource* resource; + GDateTime* last_activity; } ProfPendingPresence; -static ProfRoster *roster = NULL; +static ProfRoster* roster = NULL; static gboolean roster_received = FALSE; -static GSList *roster_pending_presence = NULL; +static GSList* roster_pending_presence = NULL; -static gboolean _key_equals(void *key1, void *key2); -static gboolean _datetimes_equal(GDateTime *dt1, GDateTime *dt2); -static void _replace_name(const char *const current_name, const char *const new_name, const char *const barejid); -static void _add_name_and_barejid(const char *const name, const char *const barejid); +static gboolean _key_equals(void* key1, void* key2); +static gboolean _datetimes_equal(GDateTime* dt1, GDateTime* dt2); +static void _replace_name(const char* const current_name, const char* const new_name, const char* const barejid); +static void _add_name_and_barejid(const char* const name, const char* const barejid); void roster_create(void) @@ -119,7 +120,7 @@ roster_destroy(void) } gboolean -roster_update_presence(const char *const barejid, Resource *resource, GDateTime *last_activity) +roster_update_presence(const char* const barejid, Resource* resource, GDateTime* last_activity) { assert(roster != NULL); @@ -127,7 +128,7 @@ roster_update_presence(const char *const barejid, Resource *resource, GDateTime assert(resource != NULL); if (!roster_received) { - ProfPendingPresence *presence = malloc(sizeof(ProfPendingPresence)); + ProfPendingPresence* presence = malloc(sizeof(ProfPendingPresence)); presence->barejid = strdup(barejid); presence->resource = resource; presence->last_activity = last_activity; @@ -148,7 +149,7 @@ roster_update_presence(const char *const barejid, Resource *resource, GDateTime p_contact_set_last_activity(contact, last_activity); } p_contact_set_presence(contact, resource); - Jid *jid = jid_create_from_bare_and_resource(barejid, resource->name); + Jid* jid = jid_create_from_bare_and_resource(barejid, resource->name); autocomplete_add(roster->fulljid_ac, jid->fulljid); jid_destroy(jid); @@ -156,11 +157,11 @@ roster_update_presence(const char *const barejid, Resource *resource, GDateTime } PContact -roster_get_contact(const char *const barejid) +roster_get_contact(const char* const barejid) { assert(roster != NULL); - gchar *barejidlower = g_utf8_strdown(barejid, -1); + gchar* barejidlower = g_utf8_strdown(barejid, -1); PContact contact = g_hash_table_lookup(roster->contacts, barejidlower); g_free(barejidlower); @@ -168,11 +169,11 @@ roster_get_contact(const char *const barejid) } char* -roster_get_msg_display_name(const char *const barejid, const char *const resource) +roster_get_msg_display_name(const char* const barejid, const char* const resource) { assert(roster != NULL); - GString *result = g_string_new(""); + GString* result = g_string_new(""); PContact contact = roster_get_contact(barejid); if (contact) { @@ -190,14 +191,14 @@ roster_get_msg_display_name(const char *const barejid, const char *const resourc g_string_append(result, resource); } - char *result_str = result->str; + char* result_str = result->str; g_string_free(result, FALSE); return result_str; } gboolean -roster_contact_offline(const char *const barejid, const char *const resource, const char *const status) +roster_contact_offline(const char* const barejid, const char* const resource, const char* const status) { assert(roster != NULL); @@ -211,7 +212,7 @@ roster_contact_offline(const char *const barejid, const char *const resource, co } else { gboolean result = p_contact_remove_resource(contact, resource); if (result == TRUE) { - Jid *jid = jid_create_from_bare_and_resource(barejid, resource); + Jid* jid = jid_create_from_bare_and_resource(barejid, resource); autocomplete_remove(roster->fulljid_ac, jid->fulljid); jid_destroy(jid); } @@ -232,13 +233,13 @@ roster_reset_search_attempts(void) } void -roster_change_name(PContact contact, const char *const new_name) +roster_change_name(PContact contact, const char* const new_name) { assert(roster != NULL); assert(contact != NULL); - char *current_name = NULL; - const char *barejid = p_contact_barejid(contact); + char* current_name = NULL; + const char* barejid = p_contact_barejid(contact); if (p_contact_name(contact)) { current_name = strdup(p_contact_name(contact)); @@ -250,7 +251,7 @@ roster_change_name(PContact contact, const char *const new_name) } void -roster_remove(const char *const name, const char *const barejid) +roster_remove(const char* const name, const char* const barejid) { assert(roster != NULL); @@ -261,9 +262,9 @@ roster_remove(const char *const name, const char *const barejid) // remove each fulljid PContact contact = roster_get_contact(barejid); if (contact) { - GList *resources = p_contact_get_available_resources(contact); + GList* resources = p_contact_get_available_resources(contact); while (resources) { - GString *fulljid = g_string_new(barejid); + GString* fulljid = g_string_new(barejid); g_string_append(fulljid, "/"); g_string_append(fulljid, resources->data); autocomplete_remove(roster->fulljid_ac, fulljid->str); @@ -272,10 +273,10 @@ roster_remove(const char *const name, const char *const barejid) } g_list_free(resources); - GSList *groups = p_contact_groups(contact); - GSList *curr = groups; + GSList* groups = p_contact_groups(contact); + GSList* curr = groups; while (curr) { - gchar *group = curr->data; + gchar* group = curr->data; if (g_hash_table_contains(roster->group_count, group)) { int count = GPOINTER_TO_INT(g_hash_table_lookup(roster->group_count, group)); count--; @@ -295,8 +296,8 @@ roster_remove(const char *const name, const char *const barejid) } void -roster_update(const char *const barejid, const char *const name, GSList *groups, const char *const subscription, - gboolean pending_out) +roster_update(const char* const barejid, const char* const name, GSList* groups, const char* const subscription, + gboolean pending_out) { assert(roster != NULL); @@ -308,9 +309,9 @@ roster_update(const char *const barejid, const char *const name, GSList *groups, roster_change_name(contact, name); - GSList *curr_new_group = groups; + GSList* curr_new_group = groups; while (curr_new_group) { - char *new_group = curr_new_group->data; + char* new_group = curr_new_group->data; // contact added to group if (!p_contact_in_group(contact, new_group)) { @@ -320,7 +321,7 @@ roster_update(const char *const barejid, const char *const name, GSList *groups, g_hash_table_insert(roster->group_count, strdup(new_group), GINT_TO_POINTER(1)); autocomplete_add(roster->groups_ac, curr_new_group->data); - // increment count + // increment count } else { int count = GPOINTER_TO_INT(g_hash_table_lookup(roster->group_count, new_group)); g_hash_table_insert(roster->group_count, strdup(new_group), GINT_TO_POINTER(count + 1)); @@ -329,10 +330,10 @@ roster_update(const char *const barejid, const char *const name, GSList *groups, curr_new_group = g_slist_next(curr_new_group); } - GSList *old_groups = p_contact_groups(contact); - GSList *curr_old_group = old_groups; + GSList* old_groups = p_contact_groups(contact); + GSList* curr_old_group = old_groups; while (curr_old_group) { - char *old_group = curr_old_group->data; + char* old_group = curr_old_group->data; // removed from group if (!g_slist_find_custom(groups, old_group, (GCompareFunc)g_strcmp0)) { if (g_hash_table_contains(roster->group_count, old_group)) { @@ -354,8 +355,8 @@ roster_update(const char *const barejid, const char *const name, GSList *groups, } gboolean -roster_add(const char *const barejid, const char *const name, GSList *groups, const char *const subscription, - gboolean pending_out) +roster_add(const char* const barejid, const char* const name, GSList* groups, const char* const subscription, + gboolean pending_out) { assert(roster != NULL); @@ -367,9 +368,9 @@ roster_add(const char *const barejid, const char *const name, GSList *groups, co contact = p_contact_new(barejid, name, groups, subscription, NULL, pending_out); // add groups - GSList *curr_new_group = groups; + GSList* curr_new_group = groups; while (curr_new_group) { - char *new_group = curr_new_group->data; + char* new_group = curr_new_group->data; if (g_hash_table_contains(roster->group_count, new_group)) { int count = GPOINTER_TO_INT(g_hash_table_lookup(roster->group_count, new_group)); g_hash_table_insert(roster->group_count, strdup(new_group), GINT_TO_POINTER(count + 1)); @@ -389,7 +390,7 @@ roster_add(const char *const barejid, const char *const name, GSList *groups, co } char* -roster_barejid_from_name(const char *const name) +roster_barejid_from_name(const char* const name) { assert(roster != NULL); @@ -401,11 +402,11 @@ roster_barejid_from_name(const char *const name) } GSList* -roster_get_contacts_by_presence(const char *const presence) +roster_get_contacts_by_presence(const char* const presence) { assert(roster != NULL); - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; @@ -427,16 +428,16 @@ roster_get_contacts(roster_ord_t order) { assert(roster != NULL); - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; GCompareFunc cmp_func; if (order == ROSTER_ORD_PRESENCE) { - cmp_func = (GCompareFunc) roster_compare_presence; + cmp_func = (GCompareFunc)roster_compare_presence; } else { - cmp_func = (GCompareFunc) roster_compare_name; + cmp_func = (GCompareFunc)roster_compare_name; } g_hash_table_iter_init(&iter, roster->contacts); @@ -453,14 +454,14 @@ roster_get_contacts_online(void) { assert(roster != NULL); - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; g_hash_table_iter_init(&iter, roster->contacts); while (g_hash_table_iter_next(&iter, &key, &value)) { - if(strcmp(p_contact_presence(value), "offline")) + if (strcmp(p_contact_presence(value), "offline")) result = g_slist_insert_sorted(result, value, (GCompareFunc)roster_compare_name); } @@ -479,7 +480,7 @@ roster_has_pending_subscriptions(void) g_hash_table_iter_init(&iter, roster->contacts); while (g_hash_table_iter_next(&iter, &key, &value)) { - PContact contact = (PContact) value; + PContact contact = (PContact)value; if (p_contact_pending_out(contact)) { return TRUE; } @@ -489,7 +490,7 @@ roster_has_pending_subscriptions(void) } char* -roster_contact_autocomplete(const char *const search_str, gboolean previous, void *context) +roster_contact_autocomplete(const char* const search_str, gboolean previous, void* context) { assert(roster != NULL); @@ -497,7 +498,7 @@ roster_contact_autocomplete(const char *const search_str, gboolean previous, voi } char* -roster_fulljid_autocomplete(const char *const search_str, gboolean previous, void *context) +roster_fulljid_autocomplete(const char* const search_str, gboolean previous, void* context) { assert(roster != NULL); @@ -505,25 +506,25 @@ roster_fulljid_autocomplete(const char *const search_str, gboolean previous, voi } GSList* -roster_get_group(const char *const group, roster_ord_t order) +roster_get_group(const char* const group, roster_ord_t order) { assert(roster != NULL); - GSList *result = NULL; + GSList* result = NULL; GHashTableIter iter; gpointer key; gpointer value; GCompareFunc cmp_func; if (order == ROSTER_ORD_PRESENCE) { - cmp_func = (GCompareFunc) roster_compare_presence; + cmp_func = (GCompareFunc)roster_compare_presence; } else { - cmp_func = (GCompareFunc) roster_compare_name; + cmp_func = (GCompareFunc)roster_compare_name; } g_hash_table_iter_init(&iter, roster->contacts); while (g_hash_table_iter_next(&iter, &key, &value)) { - GSList *groups = p_contact_groups(value); + GSList* groups = p_contact_groups(value); if (group == NULL) { if (groups == NULL) { result = g_slist_insert_sorted(result, value, cmp_func); @@ -552,7 +553,7 @@ roster_get_groups(void) } char* -roster_group_autocomplete(const char *const search_str, gboolean previous, void *context) +roster_group_autocomplete(const char* const search_str, gboolean previous, void* context) { assert(roster != NULL); @@ -560,7 +561,7 @@ roster_group_autocomplete(const char *const search_str, gboolean previous, void } char* -roster_barejid_autocomplete(const char *const search_str, gboolean previous, void *context) +roster_barejid_autocomplete(const char* const search_str, gboolean previous, void* context) { assert(roster != NULL); @@ -568,16 +569,16 @@ roster_barejid_autocomplete(const char *const search_str, gboolean previous, voi } static gboolean -_key_equals(void *key1, void *key2) +_key_equals(void* key1, void* key2) { - gchar *str1 = (gchar *) key1; - gchar *str2 = (gchar *) key2; + gchar* str1 = (gchar*)key1; + gchar* str2 = (gchar*)key2; return (g_strcmp0(str1, str2) == 0); } static gboolean -_datetimes_equal(GDateTime *dt1, GDateTime *dt2) +_datetimes_equal(GDateTime* dt1, GDateTime* dt2) { if ((dt1 == NULL) && (dt2 == NULL)) { return TRUE; @@ -591,7 +592,7 @@ _datetimes_equal(GDateTime *dt1, GDateTime *dt2) } static void -_replace_name(const char *const current_name, const char *const new_name, const char *const barejid) +_replace_name(const char* const current_name, const char* const new_name, const char* const barejid) { assert(roster != NULL); @@ -600,7 +601,7 @@ _replace_name(const char *const current_name, const char *const new_name, const autocomplete_remove(roster->name_ac, current_name); g_hash_table_remove(roster->name_to_barejid, current_name); _add_name_and_barejid(new_name, barejid); - // no current handle + // no current handle } else if (new_name) { autocomplete_remove(roster->name_ac, barejid); g_hash_table_remove(roster->name_to_barejid, barejid); @@ -609,7 +610,7 @@ _replace_name(const char *const current_name, const char *const new_name, const } static void -_add_name_and_barejid(const char *const name, const char *const barejid) +_add_name_and_barejid(const char* const name, const char* const barejid) { assert(roster != NULL); @@ -625,8 +626,8 @@ _add_name_and_barejid(const char *const name, const char *const barejid) gint roster_compare_name(PContact a, PContact b) { - const char * utf8_str_a = NULL; - const char * utf8_str_b = NULL; + const char* utf8_str_a = NULL; + const char* utf8_str_b = NULL; if (p_contact_name_collate_key(a)) { utf8_str_a = p_contact_name_collate_key(a); @@ -645,7 +646,7 @@ roster_compare_name(PContact a, PContact b) } static gint -_get_presence_weight(const char *presence) +_get_presence_weight(const char* presence) { if (g_strcmp0(presence, "chat") == 0) { return 0; @@ -665,8 +666,8 @@ _get_presence_weight(const char *presence) gint roster_compare_presence(PContact a, PContact b) { - const char *presence_a = p_contact_presence(a); - const char *presence_b = p_contact_presence(b); + const char* presence_a = p_contact_presence(a); + const char* presence_b = p_contact_presence(b); // if presence different, order by presence if (g_strcmp0(presence_a, presence_b) != 0) { @@ -678,14 +679,14 @@ roster_compare_presence(PContact a, PContact b) return 1; } - // otherwise order by name + // otherwise order by name } else { return roster_compare_name(a, b); } } static void -_pendingPresence_free(ProfPendingPresence *presence) +_pendingPresence_free(ProfPendingPresence* presence) { if (!presence) return; @@ -698,9 +699,9 @@ roster_process_pending_presence(void) { roster_received = TRUE; - GSList *iter; + GSList* iter; for (iter = roster_pending_presence; iter != NULL; iter = iter->next) { - ProfPendingPresence *presence = iter->data; + ProfPendingPresence* presence = iter->data; roster_update_presence(presence->barejid, presence->resource, presence->last_activity); /* seems like resource isn't free on the calling side */ if (presence->last_activity) { @@ -713,7 +714,8 @@ roster_process_pending_presence(void) } gboolean -roster_exists(void) { +roster_exists(void) +{ if (roster != NULL) { return TRUE; } diff --git a/src/xmpp/roster_list.h b/src/xmpp/roster_list.h index d5d3c572..e47a29cb 100644 --- a/src/xmpp/roster_list.h +++ b/src/xmpp/roster_list.h @@ -47,30 +47,30 @@ typedef enum { } roster_ord_t; void roster_clear(void); -gboolean roster_update_presence(const char *const barejid, Resource *resource, GDateTime *last_activity); -PContact roster_get_contact(const char *const barejid); -gboolean roster_contact_offline(const char *const barejid, const char *const resource, const char *const status); +gboolean roster_update_presence(const char* const barejid, Resource* resource, GDateTime* last_activity); +PContact roster_get_contact(const char* const barejid); +gboolean roster_contact_offline(const char* const barejid, const char* const resource, const char* const status); void roster_reset_search_attempts(void); void roster_create(void); void roster_destroy(void); -void roster_change_name(PContact contact, const char *const new_name); -void roster_remove(const char *const name, const char *const barejid); -void roster_update(const char *const barejid, const char *const name, GSList *groups, const char *const subscription, - gboolean pending_out); -gboolean roster_add(const char *const barejid, const char *const name, GSList *groups, const char *const subscription, - gboolean pending_out); -char* roster_barejid_from_name(const char *const name); +void roster_change_name(PContact contact, const char* const new_name); +void roster_remove(const char* const name, const char* const barejid); +void roster_update(const char* const barejid, const char* const name, GSList* groups, const char* const subscription, + gboolean pending_out); +gboolean roster_add(const char* const barejid, const char* const name, GSList* groups, const char* const subscription, + gboolean pending_out); +char* roster_barejid_from_name(const char* const name); GSList* roster_get_contacts(roster_ord_t order); GSList* roster_get_contacts_online(void); gboolean roster_has_pending_subscriptions(void); -char* roster_contact_autocomplete(const char *const search_str, gboolean previous, void *context); -char* roster_fulljid_autocomplete(const char *const search_str, gboolean previous, void *context); -GSList* roster_get_group(const char *const group, roster_ord_t order); +char* roster_contact_autocomplete(const char* const search_str, gboolean previous, void* context); +char* roster_fulljid_autocomplete(const char* const search_str, gboolean previous, void* context); +GSList* roster_get_group(const char* const group, roster_ord_t order); GList* roster_get_groups(void); -char* roster_group_autocomplete(const char *const search_str, gboolean previous, void *context); -char* roster_barejid_autocomplete(const char *const search_str, gboolean previous, void *context); -GSList* roster_get_contacts_by_presence(const char *const presence); -char* roster_get_msg_display_name(const char *const barejid, const char *const resource); +char* roster_group_autocomplete(const char* const search_str, gboolean previous, void* context); +char* roster_barejid_autocomplete(const char* const search_str, gboolean previous, void* context); +GSList* roster_get_contacts_by_presence(const char* const presence); +char* roster_get_msg_display_name(const char* const barejid, const char* const resource); gint roster_compare_name(PContact a, PContact b); gint roster_compare_presence(PContact a, PContact b); void roster_process_pending_presence(void); diff --git a/src/xmpp/session.c b/src/xmpp/session.c index 21517305..e81d55ae 100644 --- a/src/xmpp/session.c +++ b/src/xmpp/session.c @@ -67,19 +67,21 @@ #endif // for auto reconnect -static struct { - char *name; - char *passwd; +static struct +{ + char* name; + char* passwd; } saved_account; -static struct { - char *name; - char *jid; - char *passwd; - char *altdomain; +static struct +{ + char* name; + char* jid; + char* passwd; + char* altdomain; int port; - char *tls_policy; - char *auth_policy; + char* tls_policy; + char* auth_policy; } saved_details; typedef enum { @@ -89,10 +91,10 @@ typedef enum { ACTIVITY_ST_XA, } activity_state_t; -static GTimer *reconnect_timer; +static GTimer* reconnect_timer; static activity_state_t activity_state; static resource_presence_t saved_presence; -static char *saved_status; +static char* saved_status; static void _session_reconnect(void); @@ -109,7 +111,7 @@ session_init(void) } jabber_conn_status_t -session_connect_with_account(const ProfAccount *const account) +session_connect_with_account(const ProfAccount* const account) { assert(account != NULL); @@ -122,9 +124,9 @@ session_connect_with_account(const ProfAccount *const account) saved_account.name = strdup(account->name); saved_account.passwd = strdup(account->password); - char *jid = NULL; + char* jid = NULL; if (account->resource) { - Jid *jidp = jid_create_from_bare_and_resource(account->jid, account->resource); + Jid* jidp = jid_create_from_bare_and_resource(account->jid, account->resource); jid = strdup(jidp->fulljid); jid_destroy(jidp); } else { @@ -144,8 +146,8 @@ session_connect_with_account(const ProfAccount *const account) } jabber_conn_status_t -session_connect_with_details(const char *const jid, const char *const passwd, const char *const altdomain, - const int port, const char *const tls_policy, const char *const auth_policy) +session_connect_with_details(const char* const jid, const char* const passwd, const char* const altdomain, + const int port, const char* const tls_policy, const char* const auth_policy) { assert(jid != NULL); assert(passwd != NULL); @@ -178,10 +180,10 @@ session_connect_with_details(const char *const jid, const char *const passwd, co } // use 'profanity' when no resourcepart in provided jid - Jid *jidp = jid_create(jid); + Jid* jidp = jid_create(jid); if (jidp->resourcepart == NULL) { jid_destroy(jidp); - char *resource = jid_random_resource(); + char* resource = jid_random_resource(); jidp = jid_create_from_bare_and_resource(jid, resource); free(resource); saved_details.jid = strdup(jidp->fulljid); @@ -215,8 +217,8 @@ session_disconnect(void) if (connection_get_status() == JABBER_CONNECTED) { log_info("Closing connection"); - char *account_name = session_get_account_name(); - const char *fulljid = connection_get_fulljid(); + char* account_name = session_get_account_name(); + const char* fulljid = connection_get_fulljid(); plugins_on_disconnect(account_name, fulljid); accounts_set_last_activity(session_get_account_name()); @@ -256,8 +258,7 @@ session_process_events(void) int reconnect_sec; jabber_conn_status_t conn_status = connection_get_status(); - switch (conn_status) - { + switch (conn_status) { case JABBER_CONNECTED: case JABBER_CONNECTING: case JABBER_DISCONNECTING: @@ -297,7 +298,7 @@ session_login_success(gboolean secured) log_debug("Connection handler: logged in with account name: %s", saved_account.name); sv_ev_login_account_success(saved_account.name, secured); - // logged in without account, use details to create new account + // logged in without account, use details to create new account } else { log_debug("Connection handler: logged in with jid: %s", saved_details.name); accounts_add(saved_details.name, saved_details.altdomain, saved_details.port, saved_details.tls_policy, saved_details.auth_policy); @@ -316,10 +317,10 @@ session_login_success(gboolean secured) // items discovery connection_request_features(); - char *domain = connection_get_domain(); + char* domain = connection_get_domain(); iq_disco_items_request_onconnect(domain); - if (prefs_get_boolean(PREF_CARBONS)){ + if (prefs_get_boolean(PREF_CARBONS)) { iq_enable_carbons(); } @@ -378,16 +379,16 @@ session_check_autoaway(void) return; } - char *mode = prefs_get_string(PREF_AUTOAWAY_MODE); + char* mode = prefs_get_string(PREF_AUTOAWAY_MODE); gboolean check = prefs_get_boolean(PREF_AUTOAWAY_CHECK); gint away_time = prefs_get_autoaway_time(); gint xa_time = prefs_get_autoxa_time(); int away_time_ms = away_time * 60000; int xa_time_ms = xa_time * 60000; - char *account = session_get_account_name(); + char* account = session_get_account_name(); resource_presence_t curr_presence = accounts_get_last_presence(account); - char *curr_status = accounts_get_last_status(account); + char* curr_status = accounts_get_last_status(account); unsigned long idle_ms = ui_get_idle_time(); @@ -410,7 +411,7 @@ session_check_autoaway(void) } // send away presence with last activity - char *message = prefs_get_string(PREF_AUTOAWAY_MESSAGE); + char* message = prefs_get_string(PREF_AUTOAWAY_MESSAGE); connection_set_presence_msg(message); if (prefs_get_boolean(PREF_LASTACTIVITY)) { cl_ev_presence_send(RESOURCE_AWAY, idle_ms / 1000); @@ -453,7 +454,7 @@ session_check_autoaway(void) activity_state = ACTIVITY_ST_XA; // send extended away presence with last activity - char *message = prefs_get_string(PREF_AUTOXA_MESSAGE); + char* message = prefs_get_string(PREF_AUTOXA_MESSAGE); connection_set_presence_msg(message); if (prefs_get_boolean(PREF_LASTACTIVITY)) { cl_ev_presence_send(RESOURCE_XA, idle_ms / 1000); @@ -505,13 +506,13 @@ static void _session_reconnect(void) { // reconnect with account. - ProfAccount *account = accounts_get_account(saved_account.name); + ProfAccount* account = accounts_get_account(saved_account.name); if (account == NULL) { log_error("Unable to reconnect, account no longer exists: %s", saved_account.name); return; } - char *jid = NULL; + char* jid = NULL; if (account->resource) { jid = create_fulljid(account->jid, account->resource); } else { @@ -542,4 +543,3 @@ _session_free_saved_details(void) FREE_SET_NULL(saved_details.tls_policy); FREE_SET_NULL(saved_details.auth_policy); } - diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c index 3a7e39c8..85fdd2c3 100644 --- a/src/xmpp/stanza.c +++ b/src/xmpp/stanza.c @@ -67,8 +67,8 @@ #include "xmpp/form.h" #include "xmpp/muc.h" -static void _stanza_add_unique_id(xmpp_stanza_t *stanza); -static char* _stanza_create_sha1_hash(char *str); +static void _stanza_add_unique_id(xmpp_stanza_t* stanza); +static char* _stanza_create_sha1_hash(char* str); #if 0 xmpp_stanza_t* @@ -94,16 +94,16 @@ stanza_create_bookmarks_pubsub_request(xmpp_ctx_t *ctx) #endif xmpp_stanza_t* -stanza_create_bookmarks_storage_request(xmpp_ctx_t *ctx) +stanza_create_bookmarks_storage_request(xmpp_ctx_t* ctx) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, NULL); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, NULL); xmpp_stanza_set_ns(iq, "jabber:client"); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, "jabber:iq:private"); - xmpp_stanza_t *storage = xmpp_stanza_new(ctx); + xmpp_stanza_t* storage = xmpp_stanza_new(ctx); xmpp_stanza_set_name(storage, STANZA_NAME_STORAGE); xmpp_stanza_set_ns(storage, "storage:bookmarks"); @@ -116,11 +116,11 @@ stanza_create_bookmarks_storage_request(xmpp_ctx_t *ctx) } xmpp_stanza_t* -stanza_create_blocked_list_request(xmpp_ctx_t *ctx) +stanza_create_blocked_list_request(xmpp_ctx_t* ctx) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, NULL); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, NULL); - xmpp_stanza_t *blocklist = xmpp_stanza_new(ctx); + xmpp_stanza_t* blocklist = xmpp_stanza_new(ctx); xmpp_stanza_set_name(blocklist, STANZA_NAME_BLOCKLIST); xmpp_stanza_set_ns(blocklist, STANZA_NS_BLOCKING); @@ -222,23 +222,23 @@ stanza_create_bookmarks_pubsub_add(xmpp_ctx_t *ctx, const char *const jid, #endif xmpp_stanza_t* -stanza_create_http_upload_request(xmpp_ctx_t *ctx, const char *const id, - const char *const jid, HTTPUpload *upload) +stanza_create_http_upload_request(xmpp_ctx_t* ctx, const char* const id, + const char* const jid, HTTPUpload* upload) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *request = xmpp_stanza_new(ctx); + xmpp_stanza_t* request = xmpp_stanza_new(ctx); xmpp_stanza_set_name(request, STANZA_NAME_REQUEST); xmpp_stanza_set_ns(request, STANZA_NS_HTTP_UPLOAD); - xmpp_stanza_t *filename = xmpp_stanza_new(ctx); + xmpp_stanza_t* filename = xmpp_stanza_new(ctx); xmpp_stanza_set_name(filename, STANZA_NAME_FILENAME); - xmpp_stanza_t *filename_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* filename_txt = xmpp_stanza_new(ctx); char* filename_cpy = strdup(upload->filename); // strip spaces from filename (servers don't spaces) int i; - for (i=0; i<strlen(filename_cpy); i++) { + for (i = 0; i < strlen(filename_cpy); i++) { if (filename_cpy[i] == ' ') { filename_cpy[i] = '_'; } @@ -250,9 +250,9 @@ stanza_create_http_upload_request(xmpp_ctx_t *ctx, const char *const id, xmpp_stanza_release(filename_txt); xmpp_stanza_release(filename); - xmpp_stanza_t *size = xmpp_stanza_new(ctx); + xmpp_stanza_t* size = xmpp_stanza_new(ctx); xmpp_stanza_set_name(size, STANZA_NAME_SIZE); - xmpp_stanza_t *size_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* size_txt = xmpp_stanza_new(ctx); char* filesize = NULL; if (asprintf(&filesize, "%jd", (intmax_t)(upload->filesize)) != -1) { xmpp_stanza_set_text(size_txt, filesize); @@ -263,9 +263,9 @@ stanza_create_http_upload_request(xmpp_ctx_t *ctx, const char *const id, xmpp_stanza_release(size_txt); xmpp_stanza_release(size); - xmpp_stanza_t *content_type = xmpp_stanza_new(ctx); + xmpp_stanza_t* content_type = xmpp_stanza_new(ctx); xmpp_stanza_set_name(content_type, STANZA_NAME_CONTENT_TYPE); - xmpp_stanza_t *content_type_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* content_type_txt = xmpp_stanza_new(ctx); xmpp_stanza_set_text(content_type_txt, upload->mime_type); xmpp_stanza_add_child(content_type, content_type_txt); xmpp_stanza_add_child(request, content_type); @@ -279,13 +279,13 @@ stanza_create_http_upload_request(xmpp_ctx_t *ctx, const char *const id, } xmpp_stanza_t* -stanza_enable_carbons(xmpp_ctx_t *ctx) +stanza_enable_carbons(xmpp_ctx_t* ctx) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *carbons_enable = xmpp_stanza_new(ctx); + xmpp_stanza_t* carbons_enable = xmpp_stanza_new(ctx); xmpp_stanza_set_name(carbons_enable, STANZA_NAME_ENABLE); xmpp_stanza_set_ns(carbons_enable, STANZA_NS_CARBONS); @@ -296,13 +296,13 @@ stanza_enable_carbons(xmpp_ctx_t *ctx) } xmpp_stanza_t* -stanza_disable_carbons(xmpp_ctx_t *ctx) +stanza_disable_carbons(xmpp_ctx_t* ctx) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *carbons_disable = xmpp_stanza_new(ctx); + xmpp_stanza_t* carbons_disable = xmpp_stanza_new(ctx); xmpp_stanza_set_name(carbons_disable, STANZA_NAME_DISABLE); xmpp_stanza_set_ns(carbons_disable, STANZA_NS_CARBONS); @@ -313,13 +313,13 @@ stanza_disable_carbons(xmpp_ctx_t *ctx) } xmpp_stanza_t* -stanza_create_chat_state(xmpp_ctx_t *ctx, const char *const fulljid, const char *const state) +stanza_create_chat_state(xmpp_ctx_t* ctx, const char* const fulljid, const char* const state) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *msg = xmpp_message_new(ctx, STANZA_TYPE_CHAT, fulljid, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* msg = xmpp_message_new(ctx, STANZA_TYPE_CHAT, fulljid, id); free(id); - xmpp_stanza_t *chat_state = xmpp_stanza_new(ctx); + xmpp_stanza_t* chat_state = xmpp_stanza_new(ctx); xmpp_stanza_set_name(chat_state, state); xmpp_stanza_set_ns(chat_state, STANZA_NS_CHATSTATES); xmpp_stanza_add_child(msg, chat_state); @@ -329,14 +329,14 @@ stanza_create_chat_state(xmpp_ctx_t *ctx, const char *const fulljid, const char } xmpp_stanza_t* -stanza_create_room_subject_message(xmpp_ctx_t *ctx, const char *const room, const char *const subject) +stanza_create_room_subject_message(xmpp_ctx_t* ctx, const char* const room, const char* const subject) { - xmpp_stanza_t *msg = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, room, NULL); + xmpp_stanza_t* msg = xmpp_message_new(ctx, STANZA_TYPE_GROUPCHAT, room, NULL); - xmpp_stanza_t *subject_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* subject_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(subject_st, STANZA_NAME_SUBJECT); if (subject) { - xmpp_stanza_t *subject_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* subject_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(subject_text, subject); xmpp_stanza_add_child(subject_st, subject_text); xmpp_stanza_release(subject_text); @@ -349,9 +349,9 @@ stanza_create_room_subject_message(xmpp_ctx_t *ctx, const char *const room, cons } xmpp_stanza_t* -stanza_attach_state(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const state) +stanza_attach_state(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const state) { - xmpp_stanza_t *chat_state = xmpp_stanza_new(ctx); + xmpp_stanza_t* chat_state = xmpp_stanza_new(ctx); xmpp_stanza_set_name(chat_state, state); xmpp_stanza_set_ns(chat_state, STANZA_NS_CHATSTATES); xmpp_stanza_add_child(stanza, chat_state); @@ -361,9 +361,9 @@ stanza_attach_state(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const st } xmpp_stanza_t* -stanza_attach_carbons_private(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +stanza_attach_carbons_private(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza) { - xmpp_stanza_t *private_carbon = xmpp_stanza_new(ctx); + xmpp_stanza_t* private_carbon = xmpp_stanza_new(ctx); xmpp_stanza_set_name(private_carbon, "private"); xmpp_stanza_set_ns(private_carbon, STANZA_NS_CARBONS); xmpp_stanza_add_child(stanza, private_carbon); @@ -373,9 +373,9 @@ stanza_attach_carbons_private(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t* -stanza_attach_hints_no_copy(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +stanza_attach_hints_no_copy(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza) { - xmpp_stanza_t *no_copy = xmpp_stanza_new(ctx); + xmpp_stanza_t* no_copy = xmpp_stanza_new(ctx); xmpp_stanza_set_name(no_copy, "no-copy"); xmpp_stanza_set_ns(no_copy, STANZA_NS_HINTS); xmpp_stanza_add_child(stanza, no_copy); @@ -385,9 +385,9 @@ stanza_attach_hints_no_copy(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t* -stanza_attach_hints_no_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +stanza_attach_hints_no_store(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza) { - xmpp_stanza_t *no_store = xmpp_stanza_new(ctx); + xmpp_stanza_t* no_store = xmpp_stanza_new(ctx); xmpp_stanza_set_name(no_store, "no-store"); xmpp_stanza_set_ns(no_store, STANZA_NS_HINTS); xmpp_stanza_add_child(stanza, no_store); @@ -397,9 +397,9 @@ stanza_attach_hints_no_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t* -stanza_attach_hints_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +stanza_attach_hints_store(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza) { - xmpp_stanza_t *store = xmpp_stanza_new(ctx); + xmpp_stanza_t* store = xmpp_stanza_new(ctx); xmpp_stanza_set_name(store, "store"); xmpp_stanza_set_ns(store, STANZA_NS_HINTS); xmpp_stanza_add_child(stanza, store); @@ -409,9 +409,9 @@ stanza_attach_hints_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t* -stanza_attach_receipt_request(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) +stanza_attach_receipt_request(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza) { - xmpp_stanza_t *receipet_request = xmpp_stanza_new(ctx); + xmpp_stanza_t* receipet_request = xmpp_stanza_new(ctx); xmpp_stanza_set_name(receipet_request, "request"); xmpp_stanza_set_ns(receipet_request, STANZA_NS_RECEIPTS); xmpp_stanza_add_child(stanza, receipet_request); @@ -421,16 +421,16 @@ stanza_attach_receipt_request(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza) } xmpp_stanza_t* -stanza_attach_x_oob_url(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const url) +stanza_attach_x_oob_url(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const url) { - xmpp_stanza_t *x_oob = xmpp_stanza_new(ctx); + xmpp_stanza_t* x_oob = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x_oob, STANZA_NAME_X); xmpp_stanza_set_ns(x_oob, STANZA_NS_X_OOB); - xmpp_stanza_t *surl = xmpp_stanza_new(ctx); + xmpp_stanza_t* surl = xmpp_stanza_new(ctx); xmpp_stanza_set_name(surl, STANZA_NAME_URL); - xmpp_stanza_t *surl_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* surl_txt = xmpp_stanza_new(ctx); xmpp_stanza_set_text(surl_txt, url); xmpp_stanza_add_child(surl, surl_txt); xmpp_stanza_release(surl_txt); @@ -445,17 +445,17 @@ stanza_attach_x_oob_url(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *cons } xmpp_stanza_t* -stanza_create_roster_remove_set(xmpp_ctx_t *ctx, const char *const barejid) +stanza_create_roster_remove_set(xmpp_ctx_t* ctx, const char* const barejid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_ROSTER); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, barejid); xmpp_stanza_set_attribute(item, STANZA_ATTR_SUBSCRIPTION, "remove"); @@ -466,20 +466,19 @@ stanza_create_roster_remove_set(xmpp_ctx_t *ctx, const char *const barejid) xmpp_stanza_release(query); return iq; - } xmpp_stanza_t* -stanza_create_roster_set(xmpp_ctx_t *ctx, const char *const id, - const char *const jid, const char *const handle, GSList *groups) +stanza_create_roster_set(xmpp_ctx_t* ctx, const char* const id, + const char* const jid, const char* const handle, GSList* groups) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_ROSTER); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); @@ -490,8 +489,8 @@ stanza_create_roster_set(xmpp_ctx_t *ctx, const char *const id, } while (groups) { - xmpp_stanza_t *group = xmpp_stanza_new(ctx); - xmpp_stanza_t *groupname = xmpp_stanza_new(ctx); + xmpp_stanza_t* group = xmpp_stanza_new(ctx); + xmpp_stanza_t* groupname = xmpp_stanza_new(ctx); xmpp_stanza_set_name(group, STANZA_NAME_GROUP); xmpp_stanza_set_text(groupname, groups->data); xmpp_stanza_add_child(group, groupname); @@ -510,14 +509,14 @@ stanza_create_roster_set(xmpp_ctx_t *ctx, const char *const id, } xmpp_stanza_t* -stanza_create_invite(xmpp_ctx_t *ctx, const char *const room, - const char *const contact, const char *const reason, const char *const password) +stanza_create_invite(xmpp_ctx_t* ctx, const char* const room, + const char* const contact, const char* const reason, const char* const password) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, NULL, contact, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* message = xmpp_message_new(ctx, NULL, contact, id); free(id); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_CONFERENCE); @@ -536,25 +535,25 @@ stanza_create_invite(xmpp_ctx_t *ctx, const char *const room, } xmpp_stanza_t* -stanza_create_mediated_invite(xmpp_ctx_t *ctx, const char *const room, - const char *const contact, const char *const reason) +stanza_create_mediated_invite(xmpp_ctx_t* ctx, const char* const room, + const char* const contact, const char* const reason) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *message = xmpp_message_new(ctx, NULL, room, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* message = xmpp_message_new(ctx, NULL, room, id); free(id); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_MUC_USER); - xmpp_stanza_t *invite = xmpp_stanza_new(ctx); + xmpp_stanza_t* invite = xmpp_stanza_new(ctx); xmpp_stanza_set_name(invite, STANZA_NAME_INVITE); xmpp_stanza_set_to(invite, contact); if (reason) { - xmpp_stanza_t *reason_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(reason_st, STANZA_NAME_REASON); - xmpp_stanza_t *reason_txt = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_txt = xmpp_stanza_new(ctx); xmpp_stanza_set_text(reason_txt, reason); xmpp_stanza_add_child(reason_st, reason_txt); xmpp_stanza_release(reason_txt); @@ -571,21 +570,21 @@ stanza_create_mediated_invite(xmpp_ctx_t *ctx, const char *const room, } xmpp_stanza_t* -stanza_create_room_join_presence(xmpp_ctx_t *const ctx, - const char *const full_room_jid, const char *const passwd) +stanza_create_room_join_presence(xmpp_ctx_t* const ctx, + const char* const full_room_jid, const char* const passwd) { - xmpp_stanza_t *presence = xmpp_presence_new(ctx); + xmpp_stanza_t* presence = xmpp_presence_new(ctx); xmpp_stanza_set_to(presence, full_room_jid); _stanza_add_unique_id(presence); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_MUC); if (passwd) { - xmpp_stanza_t *pass = xmpp_stanza_new(ctx); + xmpp_stanza_t* pass = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pass, "password"); - xmpp_stanza_t *text = xmpp_stanza_new(ctx); + xmpp_stanza_t* text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(text, passwd); xmpp_stanza_add_child(pass, text); xmpp_stanza_add_child(x, pass); @@ -600,10 +599,10 @@ stanza_create_room_join_presence(xmpp_ctx_t *const ctx, } xmpp_stanza_t* -stanza_create_room_newnick_presence(xmpp_ctx_t *ctx, - const char *const full_room_jid) +stanza_create_room_newnick_presence(xmpp_ctx_t* ctx, + const char* const full_room_jid) { - xmpp_stanza_t *presence = xmpp_presence_new(ctx); + xmpp_stanza_t* presence = xmpp_presence_new(ctx); _stanza_add_unique_id(presence); xmpp_stanza_set_to(presence, full_room_jid); @@ -611,14 +610,14 @@ stanza_create_room_newnick_presence(xmpp_ctx_t *ctx, } xmpp_stanza_t* -stanza_create_room_leave_presence(xmpp_ctx_t *ctx, const char *const room, - const char *const nick) +stanza_create_room_leave_presence(xmpp_ctx_t* ctx, const char* const room, + const char* const nick) { - GString *full_jid = g_string_new(room); + GString* full_jid = g_string_new(room); g_string_append(full_jid, "/"); g_string_append(full_jid, nick); - xmpp_stanza_t *presence = xmpp_presence_new(ctx); + xmpp_stanza_t* presence = xmpp_presence_new(ctx); xmpp_stanza_set_type(presence, STANZA_TYPE_UNAVAILABLE); xmpp_stanza_set_to(presence, full_jid->str); _stanza_add_unique_id(presence); @@ -629,18 +628,18 @@ stanza_create_room_leave_presence(xmpp_ctx_t *ctx, const char *const room, } xmpp_stanza_t* -stanza_create_instant_room_request_iq(xmpp_ctx_t *ctx, const char *const room_jid) +stanza_create_instant_room_request_iq(xmpp_ctx_t* ctx, const char* const room_jid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room_jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_OWNER); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_type(x, "submit"); xmpp_stanza_set_ns(x, STANZA_NS_DATA); @@ -655,18 +654,18 @@ stanza_create_instant_room_request_iq(xmpp_ctx_t *ctx, const char *const room_ji } xmpp_stanza_t* -stanza_create_instant_room_destroy_iq(xmpp_ctx_t *ctx, const char *const room_jid) +stanza_create_instant_room_destroy_iq(xmpp_ctx_t* ctx, const char* const room_jid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room_jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_OWNER); - xmpp_stanza_t *destroy = xmpp_stanza_new(ctx); + xmpp_stanza_t* destroy = xmpp_stanza_new(ctx); xmpp_stanza_set_name(destroy, STANZA_NAME_DESTROY); xmpp_stanza_add_child(query, destroy); @@ -679,14 +678,14 @@ stanza_create_instant_room_destroy_iq(xmpp_ctx_t *ctx, const char *const room_ji } xmpp_stanza_t* -stanza_create_room_config_request_iq(xmpp_ctx_t *ctx, const char *const room_jid) +stanza_create_room_config_request_iq(xmpp_ctx_t* ctx, const char* const room_jid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); free(id); xmpp_stanza_set_to(iq, room_jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_OWNER); @@ -697,18 +696,18 @@ stanza_create_room_config_request_iq(xmpp_ctx_t *ctx, const char *const room_jid } xmpp_stanza_t* -stanza_create_room_config_cancel_iq(xmpp_ctx_t *ctx, const char *const room_jid) +stanza_create_room_config_cancel_iq(xmpp_ctx_t* ctx, const char* const room_jid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room_jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_OWNER); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_type(x, "cancel"); xmpp_stanza_set_ns(x, STANZA_NS_DATA); @@ -723,18 +722,18 @@ stanza_create_room_config_cancel_iq(xmpp_ctx_t *ctx, const char *const room_jid) } xmpp_stanza_t* -stanza_create_room_affiliation_list_iq(xmpp_ctx_t *ctx, const char *const room, const char *const affiliation) +stanza_create_room_affiliation_list_iq(xmpp_ctx_t* ctx, const char* const room, const char* const affiliation) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_ADMIN); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "affiliation", affiliation); @@ -747,18 +746,18 @@ stanza_create_room_affiliation_list_iq(xmpp_ctx_t *ctx, const char *const room, } xmpp_stanza_t* -stanza_create_room_role_list_iq(xmpp_ctx_t *ctx, const char *const room, const char *const role) +stanza_create_room_role_list_iq(xmpp_ctx_t* ctx, const char* const room, const char* const role) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_ADMIN); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "role", role); @@ -771,27 +770,27 @@ stanza_create_room_role_list_iq(xmpp_ctx_t *ctx, const char *const room, const c } xmpp_stanza_t* -stanza_create_room_affiliation_set_iq(xmpp_ctx_t *ctx, const char *const room, const char *const jid, - const char *const affiliation, const char *const reason) +stanza_create_room_affiliation_set_iq(xmpp_ctx_t* ctx, const char* const room, const char* const jid, + const char* const affiliation, const char* const reason) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_ADMIN); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "affiliation", affiliation); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); if (reason) { - xmpp_stanza_t *reason_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(reason_st, STANZA_NAME_REASON); - xmpp_stanza_t *reason_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(reason_text, reason); xmpp_stanza_add_child(reason_st, reason_text); xmpp_stanza_release(reason_text); @@ -809,27 +808,27 @@ stanza_create_room_affiliation_set_iq(xmpp_ctx_t *ctx, const char *const room, c } xmpp_stanza_t* -stanza_create_room_role_set_iq(xmpp_ctx_t *const ctx, const char *const room, const char *const nick, - const char *const role, const char *const reason) +stanza_create_room_role_set_iq(xmpp_ctx_t* const ctx, const char* const room, const char* const nick, + const char* const role, const char* const reason) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_ADMIN); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "role", role); xmpp_stanza_set_attribute(item, STANZA_ATTR_NICK, nick); if (reason) { - xmpp_stanza_t *reason_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(reason_st, STANZA_NAME_REASON); - xmpp_stanza_t *reason_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(reason_text, reason); xmpp_stanza_add_child(reason_st, reason_text); xmpp_stanza_release(reason_text); @@ -847,27 +846,27 @@ stanza_create_room_role_set_iq(xmpp_ctx_t *const ctx, const char *const room, co } xmpp_stanza_t* -stanza_create_room_kick_iq(xmpp_ctx_t *const ctx, const char *const room, const char *const nick, - const char *const reason) +stanza_create_room_kick_iq(xmpp_ctx_t* const ctx, const char* const room, const char* const nick, + const char* const reason) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_ADMIN); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_NICK, nick); xmpp_stanza_set_attribute(item, "role", "none"); if (reason) { - xmpp_stanza_t *reason_st = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_st = xmpp_stanza_new(ctx); xmpp_stanza_set_name(reason_st, STANZA_NAME_REASON); - xmpp_stanza_t *reason_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* reason_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(reason_text, reason); xmpp_stanza_add_child(reason_st, reason_text); xmpp_stanza_release(reason_text); @@ -885,14 +884,14 @@ stanza_create_room_kick_iq(xmpp_ctx_t *const ctx, const char *const room, const } xmpp_stanza_t* -stanza_create_software_version_iq(xmpp_ctx_t *ctx, const char *const fulljid) +stanza_create_software_version_iq(xmpp_ctx_t* ctx, const char* const fulljid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); free(id); xmpp_stanza_set_to(iq, fulljid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_VERSION); @@ -903,11 +902,11 @@ stanza_create_software_version_iq(xmpp_ctx_t *ctx, const char *const fulljid) } xmpp_stanza_t* -stanza_create_roster_iq(xmpp_ctx_t *ctx) +stanza_create_roster_iq(xmpp_ctx_t* ctx) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, "roster"); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, "roster"); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_ROSTER); @@ -918,13 +917,13 @@ stanza_create_roster_iq(xmpp_ctx_t *ctx) } xmpp_stanza_t* -stanza_create_disco_info_iq(xmpp_ctx_t *ctx, const char *const id, const char *const to, - const char *const node) +stanza_create_disco_info_iq(xmpp_ctx_t* ctx, const char* const id, const char* const to, + const char* const node) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, to); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_DISCO_INFO); if (node) { @@ -938,13 +937,13 @@ stanza_create_disco_info_iq(xmpp_ctx_t *ctx, const char *const id, const char *c } xmpp_stanza_t* -stanza_create_disco_items_iq(xmpp_ctx_t *ctx, const char *const id, - const char *const jid, const char *const node) +stanza_create_disco_items_iq(xmpp_ctx_t* ctx, const char* const id, + const char* const jid, const char* const node) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_DISCO_ITEMS); if (node) { @@ -958,12 +957,12 @@ stanza_create_disco_items_iq(xmpp_ctx_t *ctx, const char *const id, } xmpp_stanza_t* -stanza_create_last_activity_iq(xmpp_ctx_t *ctx, const char *const id, const char *const to) +stanza_create_last_activity_iq(xmpp_ctx_t* ctx, const char* const id, const char* const to) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, to); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_LASTACTIVITY); @@ -974,18 +973,18 @@ stanza_create_last_activity_iq(xmpp_ctx_t *ctx, const char *const id, const char } xmpp_stanza_t* -stanza_create_room_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, DataForm *form) +stanza_create_room_config_submit_iq(xmpp_ctx_t* ctx, const char* const room, DataForm* form) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MUC_OWNER); - xmpp_stanza_t *x = form_create_submission(form); + xmpp_stanza_t* x = form_create_submission(form); xmpp_stanza_add_child(query, x); xmpp_stanza_release(x); @@ -996,18 +995,18 @@ stanza_create_room_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, Dat } xmpp_stanza_t* -stanza_create_caps_query_element(xmpp_ctx_t *ctx) +stanza_create_caps_query_element(xmpp_ctx_t* ctx) { - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, XMPP_NS_DISCO_INFO); - xmpp_stanza_t *identity = xmpp_stanza_new(ctx); + xmpp_stanza_t* identity = xmpp_stanza_new(ctx); xmpp_stanza_set_name(identity, "identity"); xmpp_stanza_set_attribute(identity, "category", "client"); xmpp_stanza_set_type(identity, "console"); - GString *name_str = g_string_new("Profanity "); + GString* name_str = g_string_new("Profanity "); g_string_append(name_str, PACKAGE_VERSION); if (strcmp(PACKAGE_STATUS, "development") == 0) { #ifdef HAVE_GIT_VERSION @@ -1024,10 +1023,10 @@ stanza_create_caps_query_element(xmpp_ctx_t *ctx) xmpp_stanza_add_child(query, identity); xmpp_stanza_release(identity); - GList *features = caps_get_features(); - GList *curr = features; + GList* features = caps_get_features(); + GList* curr = features; while (curr) { - xmpp_stanza_t *feature = xmpp_stanza_new(ctx); + xmpp_stanza_t* feature = xmpp_stanza_new(ctx); xmpp_stanza_set_name(feature, STANZA_NAME_FEATURE); xmpp_stanza_set_attribute(feature, STANZA_ATTR_VAR, curr->data); xmpp_stanza_add_child(query, feature); @@ -1041,26 +1040,22 @@ stanza_create_caps_query_element(xmpp_ctx_t *ctx) } gboolean -stanza_contains_chat_state(xmpp_stanza_t *stanza) +stanza_contains_chat_state(xmpp_stanza_t* stanza) { - return ((xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ACTIVE) != NULL) || - (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_COMPOSING) != NULL) || - (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PAUSED) != NULL) || - (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_GONE) != NULL) || - (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_INACTIVE) != NULL)); + return ((xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ACTIVE) != NULL) || (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_COMPOSING) != NULL) || (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PAUSED) != NULL) || (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_GONE) != NULL) || (xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_INACTIVE) != NULL)); } xmpp_stanza_t* -stanza_create_ping_iq(xmpp_ctx_t *ctx, const char *const target) +stanza_create_ping_iq(xmpp_ctx_t* ctx, const char* const target) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); free(id); if (target) { xmpp_stanza_set_to(iq, target); } - xmpp_stanza_t *ping = xmpp_stanza_new(ctx); + xmpp_stanza_t* ping = xmpp_stanza_new(ctx); xmpp_stanza_set_name(ping, STANZA_NAME_PING); xmpp_stanza_set_ns(ping, STANZA_NS_PING); @@ -1072,22 +1067,22 @@ stanza_create_ping_iq(xmpp_ctx_t *ctx, const char *const target) } char* -stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) +stanza_create_caps_sha1_from_query(xmpp_stanza_t* const query) { - GSList *identities = NULL; - GSList *features = NULL; - GSList *form_names = NULL; - GHashTable *forms = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)form_destroy); + GSList* identities = NULL; + GSList* features = NULL; + GSList* form_names = NULL; + GHashTable* forms = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)form_destroy); - xmpp_stanza_t *child = xmpp_stanza_get_children(query); + xmpp_stanza_t* child = xmpp_stanza_get_children(query); while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_IDENTITY) == 0) { - const char *category = xmpp_stanza_get_attribute(child, "category"); - const char *type = xmpp_stanza_get_type(child); - const char *lang = xmpp_stanza_get_attribute(child, "xml:lang"); - const char *name = xmpp_stanza_get_attribute(child, "name"); + const char* category = xmpp_stanza_get_attribute(child, "category"); + const char* type = xmpp_stanza_get_type(child); + const char* lang = xmpp_stanza_get_attribute(child, "xml:lang"); + const char* name = xmpp_stanza_get_attribute(child, "name"); - GString *identity_str = g_string_new(category); + GString* identity_str = g_string_new(category); g_string_append(identity_str, "/"); if (type) { g_string_append(identity_str, type); @@ -1104,12 +1099,12 @@ stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) identities = g_slist_insert_sorted(identities, g_strdup(identity_str->str), (GCompareFunc)strcmp); g_string_free(identity_str, TRUE); } else if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_FEATURE) == 0) { - const char *feature_str = xmpp_stanza_get_attribute(child, "var"); + const char* feature_str = xmpp_stanza_get_attribute(child, "var"); features = g_slist_insert_sorted(features, g_strdup(feature_str), (GCompareFunc)strcmp); } else if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_X) == 0) { if (g_strcmp0(xmpp_stanza_get_ns(child), STANZA_NS_DATA) == 0) { - DataForm *form = form_create(child); - char *form_type = form_get_form_type_field(form); + DataForm* form = form_create(child); + char* form_type = form_get_form_type_field(form); form_names = g_slist_insert_sorted(form_names, g_strdup(form_type), (GCompareFunc)strcmp); g_hash_table_insert(forms, g_strdup(form_type), form); } @@ -1117,9 +1112,9 @@ stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) child = xmpp_stanza_get_next(child); } - GString *s = g_string_new(""); + GString* s = g_string_new(""); - GSList *curr = identities; + GSList* curr = identities; while (curr) { g_string_append(s, curr->data); curr = g_slist_next(curr); @@ -1134,20 +1129,20 @@ stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) curr = form_names; while (curr) { - DataForm *form = g_hash_table_lookup(forms, curr->data); - char *form_type = form_get_form_type_field(form); + DataForm* form = g_hash_table_lookup(forms, curr->data); + char* form_type = form_get_form_type_field(form); g_string_append(s, form_type); g_string_append(s, "<"); - GSList *sorted_fields = form_get_non_form_type_fields_sorted(form); - GSList *curr_field = sorted_fields; + GSList* sorted_fields = form_get_non_form_type_fields_sorted(form); + GSList* curr_field = sorted_fields; while (curr_field) { - FormField *field = curr_field->data; + FormField* field = curr_field->data; g_string_append(s, field->var); g_string_append(s, "<"); - GSList *sorted_values = form_get_field_values_sorted(field); - GSList *curr_value = sorted_values; + GSList* sorted_values = form_get_field_values_sorted(field); + GSList* curr_value = sorted_values; while (curr_value) { g_string_append(s, curr_value->data); g_string_append(s, "<"); @@ -1161,7 +1156,7 @@ stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) curr = g_slist_next(curr); } - char *result = _stanza_create_sha1_hash(s->str); + char* result = _stanza_create_sha1_hash(s->str); g_string_free(s, TRUE); g_slist_free_full(identities, g_free); @@ -1173,11 +1168,11 @@ stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query) } xmpp_stanza_t* -stanza_get_child_by_name_and_from(xmpp_stanza_t * const stanza, const char * const name, const char * const from) +stanza_get_child_by_name_and_from(xmpp_stanza_t* const stanza, const char* const name, const char* const from) { - xmpp_stanza_t *child; - const char *child_from; - const char *child_name; + xmpp_stanza_t* child; + const char* child_from; + const char* child_name; for (child = xmpp_stanza_get_children(stanza); child; child = xmpp_stanza_get_next(child)) { child_name = xmpp_stanza_get_name(child); @@ -1193,24 +1188,24 @@ stanza_get_child_by_name_and_from(xmpp_stanza_t * const stanza, const char * con } GDateTime* -stanza_get_delay(xmpp_stanza_t *const stanza) +stanza_get_delay(xmpp_stanza_t* const stanza) { return stanza_get_delay_from(stanza, NULL); } static GDateTime* -_stanza_get_delay_timestamp_xep0203(xmpp_stanza_t *const delay_stanza) +_stanza_get_delay_timestamp_xep0203(xmpp_stanza_t* const delay_stanza) { GTimeVal utc_stamp; - const char *xmlns = xmpp_stanza_get_attribute(delay_stanza, STANZA_ATTR_XMLNS); + const char* xmlns = xmpp_stanza_get_attribute(delay_stanza, STANZA_ATTR_XMLNS); if (xmlns && (strcmp(xmlns, "urn:xmpp:delay") == 0)) { - const char *stamp = xmpp_stanza_get_attribute(delay_stanza, STANZA_ATTR_STAMP); + const char* stamp = xmpp_stanza_get_attribute(delay_stanza, STANZA_ATTR_STAMP); if (stamp && (g_time_val_from_iso8601(stamp, &utc_stamp))) { - GDateTime *utc_datetime = g_date_time_new_from_timeval_utc(&utc_stamp); - GDateTime *local_datetime = g_date_time_to_local(utc_datetime); + GDateTime* utc_datetime = g_date_time_new_from_timeval_utc(&utc_stamp); + GDateTime* local_datetime = g_date_time_to_local(utc_datetime); g_date_time_unref(utc_datetime); return local_datetime; @@ -1221,17 +1216,17 @@ _stanza_get_delay_timestamp_xep0203(xmpp_stanza_t *const delay_stanza) } static GDateTime* -_stanza_get_delay_timestamp_xep0091(xmpp_stanza_t *const x_stanza) +_stanza_get_delay_timestamp_xep0091(xmpp_stanza_t* const x_stanza) { GTimeVal utc_stamp; - const char *xmlns = xmpp_stanza_get_attribute(x_stanza, STANZA_ATTR_XMLNS); + const char* xmlns = xmpp_stanza_get_attribute(x_stanza, STANZA_ATTR_XMLNS); if (xmlns && (strcmp(xmlns, "jabber:x:delay") == 0)) { - const char *stamp = xmpp_stanza_get_attribute(x_stanza, STANZA_ATTR_STAMP); + const char* stamp = xmpp_stanza_get_attribute(x_stanza, STANZA_ATTR_STAMP); if (stamp && (g_time_val_from_iso8601(stamp, &utc_stamp))) { - GDateTime *utc_datetime = g_date_time_new_from_timeval_utc(&utc_stamp); - GDateTime *local_datetime = g_date_time_to_local(utc_datetime); + GDateTime* utc_datetime = g_date_time_new_from_timeval_utc(&utc_stamp); + GDateTime* local_datetime = g_date_time_to_local(utc_datetime); g_date_time_unref(utc_datetime); return local_datetime; @@ -1242,9 +1237,9 @@ _stanza_get_delay_timestamp_xep0091(xmpp_stanza_t *const x_stanza) } GDateTime* -stanza_get_delay_from(xmpp_stanza_t *const stanza, gchar *from) +stanza_get_delay_from(xmpp_stanza_t* const stanza, gchar* from) { - xmpp_stanza_t *delay = NULL; + xmpp_stanza_t* delay = NULL; // first check for XEP-0203 delayed delivery if (from) { @@ -1273,10 +1268,10 @@ stanza_get_delay_from(xmpp_stanza_t *const stanza, gchar *from) } GDateTime* -stanza_get_oldest_delay(xmpp_stanza_t *const stanza) +stanza_get_oldest_delay(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *child; - const char *child_name; + xmpp_stanza_t* child; + const char* child_name; GDateTime* oldest = NULL; for (child = xmpp_stanza_get_children(stanza); child; child = xmpp_stanza_get_next(child)) { @@ -1284,7 +1279,7 @@ stanza_get_oldest_delay(xmpp_stanza_t *const stanza) child_name = xmpp_stanza_get_name(child); if (child_name && strcmp(child_name, STANZA_NAME_DELAY) == 0) { - GDateTime *tmp = _stanza_get_delay_timestamp_xep0203(child); + GDateTime* tmp = _stanza_get_delay_timestamp_xep0203(child); if (oldest == NULL) { oldest = tmp; @@ -1297,7 +1292,7 @@ stanza_get_oldest_delay(xmpp_stanza_t *const stanza) } if (child_name && strcmp(child_name, STANZA_NAME_X) == 0) { - GDateTime *tmp = _stanza_get_delay_timestamp_xep0091(child); + GDateTime* tmp = _stanza_get_delay_timestamp_xep0091(child); if (oldest == NULL) { oldest = tmp; @@ -1314,9 +1309,9 @@ stanza_get_oldest_delay(xmpp_stanza_t *const stanza) } char* -stanza_get_status(xmpp_stanza_t *stanza, char *def) +stanza_get_status(xmpp_stanza_t* stanza, char* def) { - xmpp_stanza_t *status = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_STATUS); + xmpp_stanza_t* status = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_STATUS); if (status) { return stanza_text_strdup(status); @@ -1328,9 +1323,9 @@ stanza_get_status(xmpp_stanza_t *stanza, char *def) } char* -stanza_get_show(xmpp_stanza_t *stanza, char *def) +stanza_get_show(xmpp_stanza_t* stanza, char* def) { - xmpp_stanza_t *show = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SHOW); + xmpp_stanza_t* show = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_SHOW); if (show) { return stanza_text_strdup(show); @@ -1342,7 +1337,7 @@ stanza_get_show(xmpp_stanza_t *stanza, char *def) } gboolean -stanza_is_muc_presence(xmpp_stanza_t *const stanza) +stanza_is_muc_presence(xmpp_stanza_t* const stanza) { if (stanza == NULL) { return FALSE; @@ -1351,7 +1346,7 @@ stanza_is_muc_presence(xmpp_stanza_t *const stanza) return FALSE; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x) { return TRUE; @@ -1361,7 +1356,7 @@ stanza_is_muc_presence(xmpp_stanza_t *const stanza) } gboolean -stanza_muc_requires_config(xmpp_stanza_t *const stanza) +stanza_muc_requires_config(xmpp_stanza_t* const stanza) { // no stanza, or not presence stanza if ((stanza == NULL) || (g_strcmp0(xmpp_stanza_get_name(stanza), STANZA_NAME_PRESENCE) != 0)) { @@ -1369,26 +1364,26 @@ stanza_muc_requires_config(xmpp_stanza_t *const stanza) } // muc user namespaced x element - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return FALSE; } // check for item element with owner affiliation - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, "item"); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, "item"); if (item == NULL) { return FALSE; } - const char *affiliation = xmpp_stanza_get_attribute(item, "affiliation"); + const char* affiliation = xmpp_stanza_get_attribute(item, "affiliation"); if (g_strcmp0(affiliation, "owner") != 0) { return FALSE; } // check for status code 201 - xmpp_stanza_t *x_children = xmpp_stanza_get_children(x); + xmpp_stanza_t* x_children = xmpp_stanza_get_children(x); while (x_children) { if (g_strcmp0(xmpp_stanza_get_name(x_children), STANZA_NAME_STATUS) == 0) { - const char *code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); + const char* code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); if (g_strcmp0(code, "201") == 0) { return TRUE; } @@ -1400,8 +1395,8 @@ stanza_muc_requires_config(xmpp_stanza_t *const stanza) } gboolean -stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, - const char *const self_jid) +stanza_is_muc_self_presence(xmpp_stanza_t* const stanza, + const char* const self_jid) { // no stanza, or not presence stanza if ((stanza == NULL) || (g_strcmp0(xmpp_stanza_get_name(stanza), STANZA_NAME_PRESENCE) != 0)) { @@ -1409,17 +1404,17 @@ stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, } // muc user namespaced x element - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return FALSE; } // check for status child element with 110 code - xmpp_stanza_t *x_children = xmpp_stanza_get_children(x); + xmpp_stanza_t* x_children = xmpp_stanza_get_children(x); while (x_children) { if (g_strcmp0(xmpp_stanza_get_name(x_children), STANZA_NAME_STATUS) == 0) { - const char *code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); + const char* code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); if (g_strcmp0(code, "110") == 0) { return TRUE; } @@ -1428,9 +1423,9 @@ stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, } // check for item child element with jid property - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); if (item) { - const char *jid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID); if (jid) { if (g_str_has_prefix(self_jid, jid)) { return TRUE; @@ -1439,11 +1434,11 @@ stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, } // check if 'from' attribute identifies this user - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (from) { - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); if (muc_active(from_jid->barejid)) { - char *nick = muc_nick(from_jid->barejid); + char* nick = muc_nick(from_jid->barejid); if (g_strcmp0(from_jid->resourcepart, nick) == 0) { jid_destroy(from_jid); return TRUE; @@ -1452,10 +1447,10 @@ stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, // check if a new nickname maps to a pending nick change for this user if (muc_nick_change_pending(from_jid->barejid)) { - char *new_nick = from_jid->resourcepart; + char* new_nick = from_jid->resourcepart; if (new_nick) { - char *nick = muc_nick(from_jid->barejid); - char *old_nick = muc_old_nick(from_jid->barejid, new_nick); + char* nick = muc_nick(from_jid->barejid); + char* old_nick = muc_old_nick(from_jid->barejid, new_nick); if (g_strcmp0(old_nick, nick) == 0) { jid_destroy(from_jid); return TRUE; @@ -1471,19 +1466,19 @@ stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, } GSList* -stanza_get_status_codes_by_ns(xmpp_stanza_t *const stanza, char *ns) +stanza_get_status_codes_by_ns(xmpp_stanza_t* const stanza, char* ns) { - xmpp_stanza_t *ns_child = xmpp_stanza_get_child_by_ns(stanza, ns); + xmpp_stanza_t* ns_child = xmpp_stanza_get_child_by_ns(stanza, ns); if (ns_child == NULL) { return NULL; } - GSList *codes = NULL; - xmpp_stanza_t *child = xmpp_stanza_get_children(ns_child); + GSList* codes = NULL; + xmpp_stanza_t* child = xmpp_stanza_get_children(ns_child); while (child) { - const char *name = xmpp_stanza_get_name(child); + const char* name = xmpp_stanza_get_name(child); if (g_strcmp0(name, STANZA_NAME_STATUS) == 0) { - const char *code = xmpp_stanza_get_attribute(child, STANZA_ATTR_CODE); + const char* code = xmpp_stanza_get_attribute(child, STANZA_ATTR_CODE); if (code) { codes = g_slist_append(codes, strdup(code)); } @@ -1495,19 +1490,19 @@ stanza_get_status_codes_by_ns(xmpp_stanza_t *const stanza, char *ns) } gboolean -stanza_room_destroyed(xmpp_stanza_t *stanza) +stanza_room_destroyed(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return FALSE; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return FALSE; } - xmpp_stanza_t *destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); + xmpp_stanza_t* destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); if (destroy) { return TRUE; } @@ -1516,24 +1511,24 @@ stanza_room_destroyed(xmpp_stanza_t *stanza) } const char* -stanza_get_muc_destroy_alternative_room(xmpp_stanza_t *stanza) +stanza_get_muc_destroy_alternative_room(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return NULL; } - xmpp_stanza_t *destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); + xmpp_stanza_t* destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); if (destroy == NULL) { return NULL; } - const char *jid = xmpp_stanza_get_attribute(destroy, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(destroy, STANZA_ATTR_JID); if (jid) { return jid; } @@ -1542,24 +1537,24 @@ stanza_get_muc_destroy_alternative_room(xmpp_stanza_t *stanza) } char* -stanza_get_muc_destroy_alternative_password(xmpp_stanza_t *stanza) +stanza_get_muc_destroy_alternative_password(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return NULL; } - xmpp_stanza_t *destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); + xmpp_stanza_t* destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); if (destroy == NULL) { return NULL; } - xmpp_stanza_t *password_st = xmpp_stanza_get_child_by_name(destroy, STANZA_NAME_PASSWORD); + xmpp_stanza_t* password_st = xmpp_stanza_get_child_by_name(destroy, STANZA_NAME_PASSWORD); if (password_st == NULL) { return NULL; } @@ -1568,24 +1563,24 @@ stanza_get_muc_destroy_alternative_password(xmpp_stanza_t *stanza) } char* -stanza_get_muc_destroy_reason(xmpp_stanza_t *stanza) +stanza_get_muc_destroy_reason(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return NULL; } - xmpp_stanza_t *destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); + xmpp_stanza_t* destroy = xmpp_stanza_get_child_by_name(x, STANZA_NAME_DESTROY); if (destroy == NULL) { return NULL; } - xmpp_stanza_t *reason_st = xmpp_stanza_get_child_by_name(destroy, STANZA_NAME_REASON); + xmpp_stanza_t* reason_st = xmpp_stanza_get_child_by_name(destroy, STANZA_NAME_REASON); if (reason_st == NULL) { return NULL; } @@ -1594,34 +1589,34 @@ stanza_get_muc_destroy_reason(xmpp_stanza_t *stanza) } const char* -stanza_get_actor(xmpp_stanza_t *stanza) +stanza_get_actor(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return NULL; } - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); if (item == NULL) { return NULL; } - xmpp_stanza_t *actor = xmpp_stanza_get_child_by_name(item, STANZA_NAME_ACTOR); + xmpp_stanza_t* actor = xmpp_stanza_get_child_by_name(item, STANZA_NAME_ACTOR); if (actor == NULL) { return NULL; } - const char *nick = xmpp_stanza_get_attribute(actor, STANZA_ATTR_NICK); + const char* nick = xmpp_stanza_get_attribute(actor, STANZA_ATTR_NICK); if (nick) { return nick; } - const char *jid = xmpp_stanza_get_attribute(actor, STANZA_ATTR_JID); + const char* jid = xmpp_stanza_get_attribute(actor, STANZA_ATTR_JID); if (jid) { return jid; } @@ -1630,24 +1625,24 @@ stanza_get_actor(xmpp_stanza_t *stanza) } char* -stanza_get_reason(xmpp_stanza_t *stanza) +stanza_get_reason(xmpp_stanza_t* stanza) { - const char *stanza_name = xmpp_stanza_get_name(stanza); + const char* stanza_name = xmpp_stanza_get_name(stanza); if (g_strcmp0(stanza_name, STANZA_NAME_PRESENCE) != 0) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return NULL; } - xmpp_stanza_t *item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); + xmpp_stanza_t* item = xmpp_stanza_get_child_by_name(x, STANZA_NAME_ITEM); if (item == NULL) { return NULL; } - xmpp_stanza_t *reason_st = xmpp_stanza_get_child_by_name(item, STANZA_NAME_REASON); + xmpp_stanza_t* reason_st = xmpp_stanza_get_child_by_name(item, STANZA_NAME_REASON); if (reason_st == NULL) { return NULL; } @@ -1656,7 +1651,7 @@ stanza_get_reason(xmpp_stanza_t *stanza) } gboolean -stanza_is_room_nick_change(xmpp_stanza_t *const stanza) +stanza_is_room_nick_change(xmpp_stanza_t* const stanza) { // no stanza, or not presence stanza if ((stanza == NULL) || (g_strcmp0(xmpp_stanza_get_name(stanza), STANZA_NAME_PRESENCE) != 0)) { @@ -1664,16 +1659,16 @@ stanza_is_room_nick_change(xmpp_stanza_t *const stanza) } // muc user namespaced x element - xmpp_stanza_t *x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_MUC_USER); if (x == NULL) { return FALSE; } // check for status child element with 303 code - xmpp_stanza_t *x_children = xmpp_stanza_get_children(x); + xmpp_stanza_t* x_children = xmpp_stanza_get_children(x); while (x_children) { if (g_strcmp0(xmpp_stanza_get_name(x_children), STANZA_NAME_STATUS) == 0) { - const char *code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); + const char* code = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_CODE); if (g_strcmp0(code, "303") == 0) { return TRUE; } @@ -1685,18 +1680,18 @@ stanza_is_room_nick_change(xmpp_stanza_t *const stanza) } const char* -stanza_get_new_nick(xmpp_stanza_t *const stanza) +stanza_get_new_nick(xmpp_stanza_t* const stanza) { if (!stanza_is_room_nick_change(stanza)) { return NULL; } - xmpp_stanza_t *x = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_X); - xmpp_stanza_t *x_children = xmpp_stanza_get_children(x); + xmpp_stanza_t* x = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_X); + xmpp_stanza_t* x_children = xmpp_stanza_get_children(x); while (x_children) { if (strcmp(xmpp_stanza_get_name(x_children), STANZA_NAME_ITEM) == 0) { - const char *nick = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_NICK); + const char* nick = xmpp_stanza_get_attribute(x_children, STANZA_ATTR_NICK); if (nick) { return nick; } @@ -1708,15 +1703,15 @@ stanza_get_new_nick(xmpp_stanza_t *const stanza) } int -stanza_get_idle_time(xmpp_stanza_t *const stanza) +stanza_get_idle_time(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); + xmpp_stanza_t* query = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_QUERY); if (query == NULL) { return 0; } - const char *ns = xmpp_stanza_get_ns(query); + const char* ns = xmpp_stanza_get_ns(query); if (ns == NULL) { return 0; } @@ -1725,7 +1720,7 @@ stanza_get_idle_time(xmpp_stanza_t *const stanza) return 0; } - const char *seconds_str = xmpp_stanza_get_attribute(query, STANZA_ATTR_SECONDS); + const char* seconds_str = xmpp_stanza_get_attribute(query, STANZA_ATTR_SECONDS); if (seconds_str == NULL) { return 0; } @@ -1739,24 +1734,24 @@ stanza_get_idle_time(xmpp_stanza_t *const stanza) } XMPPCaps* -stanza_parse_caps(xmpp_stanza_t *const stanza) +stanza_parse_caps(xmpp_stanza_t* const stanza) { - xmpp_stanza_t *caps_st = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_C); + xmpp_stanza_t* caps_st = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_C); if (!caps_st) { return NULL; } - const char *ns = xmpp_stanza_get_ns(caps_st); + const char* ns = xmpp_stanza_get_ns(caps_st); if (g_strcmp0(ns, STANZA_NS_CAPS) != 0) { return NULL; } - const char *hash = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_HASH); - const char *node = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_NODE); - const char *ver = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_VER); + const char* hash = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_HASH); + const char* node = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_NODE); + const char* ver = xmpp_stanza_get_attribute(caps_st, STANZA_ATTR_VER); - XMPPCaps *caps = (XMPPCaps *)malloc(sizeof(XMPPCaps)); + XMPPCaps* caps = (XMPPCaps*)malloc(sizeof(XMPPCaps)); caps->hash = hash ? strdup(hash) : NULL; caps->node = node ? strdup(node) : NULL; caps->ver = ver ? strdup(ver) : NULL; @@ -1765,21 +1760,21 @@ stanza_parse_caps(xmpp_stanza_t *const stanza) } EntityCapabilities* -stanza_create_caps_from_query_element(xmpp_stanza_t *query) +stanza_create_caps_from_query_element(xmpp_stanza_t* query) { - char *software = NULL; - char *software_version = NULL; - char *os = NULL; - char *os_version = NULL; + char* software = NULL; + char* software_version = NULL; + char* os = NULL; + char* os_version = NULL; - xmpp_stanza_t *softwareinfo = xmpp_stanza_get_child_by_ns(query, STANZA_NS_DATA); + xmpp_stanza_t* softwareinfo = xmpp_stanza_get_child_by_ns(query, STANZA_NS_DATA); if (softwareinfo) { - DataForm *form = form_create(softwareinfo); - FormField *formField = NULL; + DataForm* form = form_create(softwareinfo); + FormField* formField = NULL; - char *form_type = form_get_form_type_field(form); + char* form_type = form_get_form_type_field(form); if (g_strcmp0(form_type, STANZA_DATAFORM_SOFTWARE) == 0) { - GSList *field = form->fields; + GSList* field = form->fields; while (field) { formField = field->data; if (formField->values) { @@ -1808,9 +1803,9 @@ stanza_create_caps_from_query_element(xmpp_stanza_t *query) form_destroy(form); } - xmpp_stanza_t *child = xmpp_stanza_get_children(query); - GSList *identity_stanzas = NULL; - GSList *features = NULL; + xmpp_stanza_t* child = xmpp_stanza_get_children(query); + GSList* identity_stanzas = NULL; + GSList* features = NULL; while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), "feature") == 0) { features = g_slist_append(features, strdup(xmpp_stanza_get_attribute(child, "var"))); @@ -1823,13 +1818,13 @@ stanza_create_caps_from_query_element(xmpp_stanza_t *query) } // find identity by locale - const gchar* const *langs = g_get_language_names(); + const gchar* const* langs = g_get_language_names(); int num_langs = g_strv_length((gchar**)langs); - xmpp_stanza_t *found = NULL; - GSList *curr_identity = identity_stanzas; + xmpp_stanza_t* found = NULL; + GSList* curr_identity = identity_stanzas; while (curr_identity) { - xmpp_stanza_t *id_stanza = curr_identity->data; - const char *stanza_lang = xmpp_stanza_get_attribute(id_stanza, "xml:lang"); + xmpp_stanza_t* id_stanza = curr_identity->data; + const char* stanza_lang = xmpp_stanza_get_attribute(id_stanza, "xml:lang"); if (stanza_lang) { int i = 0; for (i = 0; i < num_langs; i++) { @@ -1849,8 +1844,8 @@ stanza_create_caps_from_query_element(xmpp_stanza_t *query) if (!found) { curr_identity = identity_stanzas; while (curr_identity) { - xmpp_stanza_t *id_stanza = curr_identity->data; - const char *stanza_lang = xmpp_stanza_get_attribute(id_stanza, "xml:lang"); + xmpp_stanza_t* id_stanza = curr_identity->data; + const char* stanza_lang = xmpp_stanza_get_attribute(id_stanza, "xml:lang"); if (!stanza_lang) { found = id_stanza; break; @@ -1869,16 +1864,16 @@ stanza_create_caps_from_query_element(xmpp_stanza_t *query) g_slist_free(identity_stanzas); - const char *category = NULL; - const char *type = NULL; - const char *name = NULL; + const char* category = NULL; + const char* type = NULL; + const char* name = NULL; if (found) { category = xmpp_stanza_get_attribute(found, "category"); type = xmpp_stanza_get_type(found); name = xmpp_stanza_get_attribute(found, "name"); } - EntityCapabilities *result = caps_create(category, type, name, software, software_version, os, os_version, features); + EntityCapabilities* result = caps_create(category, type, name, software, software_version, os, os_version, features); g_slist_free_full(features, free); free(software); free(software_version); @@ -1889,9 +1884,9 @@ stanza_create_caps_from_query_element(xmpp_stanza_t *query) } char* -stanza_get_error_message(xmpp_stanza_t *stanza) +stanza_get_error_message(xmpp_stanza_t* stanza) { - xmpp_stanza_t *error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); + xmpp_stanza_t* error_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_ERROR); // return nothing if no error stanza if (error_stanza == NULL) { @@ -1899,18 +1894,18 @@ stanza_get_error_message(xmpp_stanza_t *stanza) } // check for text child - xmpp_stanza_t *text_stanza = xmpp_stanza_get_child_by_name(error_stanza, STANZA_NAME_TEXT); + xmpp_stanza_t* text_stanza = xmpp_stanza_get_child_by_name(error_stanza, STANZA_NAME_TEXT); // check for text if (text_stanza) { - char *err_msg = stanza_text_strdup(text_stanza); + char* err_msg = stanza_text_strdup(text_stanza); if (err_msg) { return err_msg; } - // otherwise check each defined-condition RFC-6120 8.3.3 + // otherwise check each defined-condition RFC-6120 8.3.3 } else { - gchar *defined_conditions[] = { + gchar* defined_conditions[] = { STANZA_NAME_BAD_REQUEST, STANZA_NAME_CONFLICT, STANZA_NAME_FEATURE_NOT_IMPLEMENTED, @@ -1936,9 +1931,9 @@ stanza_get_error_message(xmpp_stanza_t *stanza) int i; for (i = 0; i < ARRAY_SIZE(defined_conditions); i++) { - xmpp_stanza_t *cond_stanza = xmpp_stanza_get_child_by_name(error_stanza, defined_conditions[i]); + xmpp_stanza_t* cond_stanza = xmpp_stanza_get_child_by_name(error_stanza, defined_conditions[i]); if (cond_stanza) { - char *result = strdup(xmpp_stanza_get_name(cond_stanza)); + char* result = strdup(xmpp_stanza_get_name(cond_stanza)); return result; } } @@ -1949,41 +1944,41 @@ stanza_get_error_message(xmpp_stanza_t *stanza) } void -stanza_attach_publish_options(xmpp_ctx_t *const ctx, xmpp_stanza_t *const iq, const char *const option, const char *const value) +stanza_attach_publish_options(xmpp_ctx_t* const ctx, xmpp_stanza_t* const iq, const char* const option, const char* const value) { - xmpp_stanza_t *publish_options = xmpp_stanza_new(ctx); + xmpp_stanza_t* publish_options = xmpp_stanza_new(ctx); xmpp_stanza_set_name(publish_options, STANZA_NAME_PUBLISH_OPTIONS); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_DATA); xmpp_stanza_set_type(x, "submit"); xmpp_stanza_add_child(publish_options, x); - xmpp_stanza_t *form_type = xmpp_stanza_new(ctx); + xmpp_stanza_t* form_type = xmpp_stanza_new(ctx); xmpp_stanza_set_name(form_type, STANZA_NAME_FIELD); xmpp_stanza_set_attribute(form_type, STANZA_ATTR_VAR, "FORM_TYPE"); xmpp_stanza_set_type(form_type, "hidden"); - xmpp_stanza_t *form_type_value = xmpp_stanza_new(ctx); + xmpp_stanza_t* form_type_value = xmpp_stanza_new(ctx); xmpp_stanza_set_name(form_type_value, STANZA_NAME_VALUE); - xmpp_stanza_t *form_type_value_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* form_type_value_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(form_type_value_text, XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS); xmpp_stanza_add_child(form_type_value, form_type_value_text); xmpp_stanza_add_child(form_type, form_type_value); xmpp_stanza_add_child(x, form_type); - xmpp_stanza_t *access_model = xmpp_stanza_new(ctx); + xmpp_stanza_t* access_model = xmpp_stanza_new(ctx); xmpp_stanza_set_name(access_model, STANZA_NAME_FIELD); xmpp_stanza_set_attribute(access_model, STANZA_ATTR_VAR, option); - xmpp_stanza_t *access_model_value = xmpp_stanza_new(ctx); + xmpp_stanza_t* access_model_value = xmpp_stanza_new(ctx); xmpp_stanza_set_name(access_model_value, STANZA_NAME_VALUE); - xmpp_stanza_t *access_model_value_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* access_model_value_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(access_model_value_text, value); xmpp_stanza_add_child(access_model_value, access_model_value_text); xmpp_stanza_add_child(access_model, access_model_value); xmpp_stanza_add_child(x, access_model); - xmpp_stanza_t *pubsub = xmpp_stanza_get_child_by_ns(iq, STANZA_NS_PUBSUB); + xmpp_stanza_t* pubsub = xmpp_stanza_get_child_by_ns(iq, STANZA_NS_PUBSUB); xmpp_stanza_add_child(pubsub, publish_options); xmpp_stanza_release(access_model_value_text); @@ -1997,7 +1992,7 @@ stanza_attach_publish_options(xmpp_ctx_t *const ctx, xmpp_stanza_t *const iq, co } void -stanza_attach_priority(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, const int pri) +stanza_attach_priority(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, const int pri) { if (pri == 0) { return; @@ -2006,10 +2001,10 @@ stanza_attach_priority(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, con char pri_str[10]; snprintf(pri_str, sizeof(pri_str), "%d", pri); - xmpp_stanza_t *priority = xmpp_stanza_new(ctx); + xmpp_stanza_t* priority = xmpp_stanza_new(ctx); xmpp_stanza_set_name(priority, STANZA_NAME_PRIORITY); - xmpp_stanza_t *value = xmpp_stanza_new(ctx); + xmpp_stanza_t* value = xmpp_stanza_new(ctx); xmpp_stanza_set_text(value, pri_str); xmpp_stanza_add_child(priority, value); @@ -2020,16 +2015,16 @@ stanza_attach_priority(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, con } void -stanza_attach_show(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, - const char *const show) +stanza_attach_show(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, + const char* const show) { if (show == NULL) { return; } - xmpp_stanza_t *show_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* show_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(show_stanza, STANZA_NAME_SHOW); - xmpp_stanza_t *text = xmpp_stanza_new(ctx); + xmpp_stanza_t* text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(text, show); xmpp_stanza_add_child(show_stanza, text); xmpp_stanza_add_child(presence, show_stanza); @@ -2038,16 +2033,16 @@ stanza_attach_show(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, } void -stanza_attach_status(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, - const char *const status) +stanza_attach_status(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, + const char* const status) { if (status == NULL) { return; } - xmpp_stanza_t *status_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* status_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(status_stanza, STANZA_NAME_STATUS); - xmpp_stanza_t *text = xmpp_stanza_new(ctx); + xmpp_stanza_t* text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(text, status); xmpp_stanza_add_child(status_stanza, text); xmpp_stanza_add_child(presence, status_stanza); @@ -2056,10 +2051,10 @@ stanza_attach_status(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, } void -stanza_attach_last_activity(xmpp_ctx_t *const ctx, - xmpp_stanza_t *const presence, const int idle) +stanza_attach_last_activity(xmpp_ctx_t* const ctx, + xmpp_stanza_t* const presence, const int idle) { - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_LASTACTIVITY); char idle_str[10]; @@ -2070,14 +2065,14 @@ stanza_attach_last_activity(xmpp_ctx_t *const ctx, } void -stanza_attach_caps(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence) +stanza_attach_caps(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence) { - xmpp_stanza_t *caps = xmpp_stanza_new(ctx); + xmpp_stanza_t* caps = xmpp_stanza_new(ctx); xmpp_stanza_set_name(caps, STANZA_NAME_C); xmpp_stanza_set_ns(caps, STANZA_NS_CAPS); - xmpp_stanza_t *query = stanza_create_caps_query_element(ctx); + xmpp_stanza_t* query = stanza_create_caps_query_element(ctx); - char *sha1 = caps_get_my_sha1(ctx); + char* sha1 = caps_get_my_sha1(ctx); xmpp_stanza_set_attribute(caps, STANZA_ATTR_HASH, "sha-1"); xmpp_stanza_set_attribute(caps, STANZA_ATTR_NODE, "http://profanity-im.github.io"); xmpp_stanza_set_attribute(caps, STANZA_ATTR_VER, sha1); @@ -2089,26 +2084,25 @@ stanza_attach_caps(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence) const char* stanza_get_presence_string_from_type(resource_presence_t presence_type) { - switch(presence_type) - { - case RESOURCE_AWAY: - return STANZA_TEXT_AWAY; - case RESOURCE_DND: - return STANZA_TEXT_DND; - case RESOURCE_CHAT: - return STANZA_TEXT_CHAT; - case RESOURCE_XA: - return STANZA_TEXT_XA; - default: - return NULL; + switch (presence_type) { + case RESOURCE_AWAY: + return STANZA_TEXT_AWAY; + case RESOURCE_DND: + return STANZA_TEXT_DND; + case RESOURCE_CHAT: + return STANZA_TEXT_CHAT; + case RESOURCE_XA: + return STANZA_TEXT_XA; + default: + return NULL; } } Resource* -stanza_resource_from_presence(XMPPPresence *presence) +stanza_resource_from_presence(XMPPPresence* presence) { // create Resource - Resource *resource = NULL; + Resource* resource = NULL; resource_presence_t resource_presence = resource_presence_from_string(presence->show); if (presence->jid->resourcepart == NULL) { // hack for servers that do not send full jid resource = resource_new("__prof_default", resource_presence, presence->status, presence->priority); @@ -2120,12 +2114,12 @@ stanza_resource_from_presence(XMPPPresence *presence) } char* -stanza_text_strdup(xmpp_stanza_t *stanza) +stanza_text_strdup(xmpp_stanza_t* stanza) { - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); - char *string = NULL; - char *stanza_text = xmpp_stanza_get_text(stanza); + char* string = NULL; + char* stanza_text = xmpp_stanza_get_text(stanza); if (stanza_text) { string = strdup(stanza_text); xmpp_free(ctx, stanza_text); @@ -2135,7 +2129,7 @@ stanza_text_strdup(xmpp_stanza_t *stanza) } void -stanza_free_caps(XMPPCaps *caps) +stanza_free_caps(XMPPCaps* caps) { if (caps == NULL) { return; @@ -2154,7 +2148,7 @@ stanza_free_caps(XMPPCaps *caps) } void -stanza_free_presence(XMPPPresence *presence) +stanza_free_presence(XMPPPresence* presence) { if (presence == NULL) { return; @@ -2176,21 +2170,21 @@ stanza_free_presence(XMPPPresence *presence) } XMPPPresence* -stanza_parse_presence(xmpp_stanza_t *stanza, int *err) +stanza_parse_presence(xmpp_stanza_t* stanza, int* err) { - const char *from = xmpp_stanza_get_from(stanza); + const char* from = xmpp_stanza_get_from(stanza); if (!from) { *err = STANZA_PARSE_ERROR_NO_FROM; return NULL; } - Jid *from_jid = jid_create(from); + Jid* from_jid = jid_create(from); if (!from_jid) { *err = STANZA_PARSE_ERROR_INVALID_FROM; return NULL; } - XMPPPresence *result = (XMPPPresence *)malloc(sizeof(XMPPPresence)); + XMPPPresence* result = (XMPPPresence*)malloc(sizeof(XMPPPresence)); result->jid = from_jid; result->show = stanza_get_show(stanza, "online"); @@ -2198,7 +2192,7 @@ stanza_parse_presence(xmpp_stanza_t *stanza, int *err) int idle_seconds = stanza_get_idle_time(stanza); if (idle_seconds > 0) { - GDateTime *now = g_date_time_new_now_local(); + GDateTime* now = g_date_time_new_now_local(); result->last_activity = g_date_time_add_seconds(now, 0 - idle_seconds); g_date_time_unref(now); } else { @@ -2206,13 +2200,13 @@ stanza_parse_presence(xmpp_stanza_t *stanza, int *err) } result->priority = 0; - xmpp_stanza_t *priority_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PRIORITY); + xmpp_stanza_t* priority_stanza = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PRIORITY); if (priority_stanza) { - char *priority_str = xmpp_stanza_get_text(priority_stanza); + char* priority_str = xmpp_stanza_get_text(priority_stanza); if (priority_str) { result->priority = atoi(priority_str); } - xmpp_ctx_t *ctx = connection_get_ctx(); + xmpp_ctx_t* ctx = connection_get_ctx(); xmpp_free(ctx, priority_str); } @@ -2220,15 +2214,15 @@ stanza_parse_presence(xmpp_stanza_t *stanza, int *err) } xmpp_stanza_t* -stanza_create_command_exec_iq(xmpp_ctx_t *ctx, const char *const target, - const char *const node) +stanza_create_command_exec_iq(xmpp_ctx_t* ctx, const char* const target, + const char* const node) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, target); - xmpp_stanza_t *command = xmpp_stanza_new(ctx); + xmpp_stanza_t* command = xmpp_stanza_new(ctx); xmpp_stanza_set_name(command, STANZA_NAME_COMMAND); xmpp_stanza_set_ns(command, STANZA_NS_COMMAND); @@ -2242,15 +2236,15 @@ stanza_create_command_exec_iq(xmpp_ctx_t *ctx, const char *const target, } xmpp_stanza_t* -stanza_create_command_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, - const char *const node, const char *const sessionid, DataForm *form) +stanza_create_command_config_submit_iq(xmpp_ctx_t* ctx, const char* const room, + const char* const node, const char* const sessionid, DataForm* form) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); xmpp_stanza_set_to(iq, room); - xmpp_stanza_t *command = xmpp_stanza_new(ctx); + xmpp_stanza_t* command = xmpp_stanza_new(ctx); xmpp_stanza_set_name(command, STANZA_NAME_COMMAND); xmpp_stanza_set_ns(command, STANZA_NS_COMMAND); xmpp_stanza_set_attribute(command, "node", node); @@ -2258,7 +2252,7 @@ stanza_create_command_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, xmpp_stanza_set_attribute(command, "sessionid", sessionid); } - xmpp_stanza_t *x = form_create_submission(form); + xmpp_stanza_t* x = form_create_submission(form); xmpp_stanza_add_child(command, x); xmpp_stanza_release(x); @@ -2269,17 +2263,17 @@ stanza_create_command_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, } xmpp_stanza_t* -stanza_create_omemo_devicelist_request(xmpp_ctx_t *ctx, const char *const id, - const char *const jid) +stanza_create_omemo_devicelist_request(xmpp_ctx_t* ctx, const char* const id, + const char* const jid) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *items = xmpp_stanza_new(ctx); + xmpp_stanza_t* items = xmpp_stanza_new(ctx); xmpp_stanza_set_name(items, "items"); xmpp_stanza_set_attribute(items, STANZA_ATTR_NODE, STANZA_NS_OMEMO_DEVICELIST); @@ -2293,17 +2287,17 @@ stanza_create_omemo_devicelist_request(xmpp_ctx_t *ctx, const char *const id, } xmpp_stanza_t* -stanza_create_omemo_devicelist_subscribe(xmpp_ctx_t *ctx, const char *const jid) +stanza_create_omemo_devicelist_subscribe(xmpp_ctx_t* ctx, const char* const jid) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *subscribe = xmpp_stanza_new(ctx); + xmpp_stanza_t* subscribe = xmpp_stanza_new(ctx); xmpp_stanza_set_name(subscribe, STANZA_NAME_SUBSCRIBE); xmpp_stanza_set_attribute(subscribe, STANZA_ATTR_NODE, STANZA_NS_OMEMO_DEVICELIST); xmpp_stanza_set_attribute(subscribe, "jid", jid); @@ -2318,33 +2312,33 @@ stanza_create_omemo_devicelist_subscribe(xmpp_ctx_t *ctx, const char *const jid) } xmpp_stanza_t* -stanza_create_omemo_devicelist_publish(xmpp_ctx_t *ctx, GList *const ids) +stanza_create_omemo_devicelist_publish(xmpp_ctx_t* ctx, GList* const ids) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *publish = xmpp_stanza_new(ctx); + xmpp_stanza_t* publish = xmpp_stanza_new(ctx); xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, STANZA_NS_OMEMO_DEVICELIST); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "id", "current"); - xmpp_stanza_t *list = xmpp_stanza_new(ctx); + xmpp_stanza_t* list = xmpp_stanza_new(ctx); xmpp_stanza_set_name(list, "list"); xmpp_stanza_set_ns(list, "eu.siacs.conversations.axolotl"); - GList *i; + GList* i; for (i = ids; i != NULL; i = i->next) { - xmpp_stanza_t *device = xmpp_stanza_new(ctx); + xmpp_stanza_t* device = xmpp_stanza_new(ctx); xmpp_stanza_set_name(device, "device"); - char *id = g_strdup_printf("%d", GPOINTER_TO_INT(i->data)); + char* id = g_strdup_printf("%d", GPOINTER_TO_INT(i->data)); xmpp_stanza_set_attribute(device, "id", id); g_free(id); @@ -2366,77 +2360,77 @@ stanza_create_omemo_devicelist_publish(xmpp_ctx_t *ctx, GList *const ids) } xmpp_stanza_t* -stanza_create_omemo_bundle_publish(xmpp_ctx_t *ctx, const char *const id, - uint32_t device_id, - const unsigned char * const identity_key, size_t identity_key_length, - const unsigned char * const signed_prekey, size_t signed_prekey_length, - const unsigned char * const signed_prekey_signature, size_t signed_prekey_signature_length, - GList *const prekeys, GList *const prekeys_id, GList *const prekeys_length) +stanza_create_omemo_bundle_publish(xmpp_ctx_t* ctx, const char* const id, + uint32_t device_id, + const unsigned char* const identity_key, size_t identity_key_length, + const unsigned char* const signed_prekey, size_t signed_prekey_length, + const unsigned char* const signed_prekey_signature, size_t signed_prekey_signature_length, + GList* const prekeys, GList* const prekeys_id, GList* const prekeys_length) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *publish = xmpp_stanza_new(ctx); + xmpp_stanza_t* publish = xmpp_stanza_new(ctx); xmpp_stanza_set_name(publish, STANZA_NAME_PUBLISH); - char *node = g_strdup_printf("%s:%d", "eu.siacs.conversations.axolotl.bundles", device_id); + char* node = g_strdup_printf("%s:%d", "eu.siacs.conversations.axolotl.bundles", device_id); xmpp_stanza_set_attribute(publish, STANZA_ATTR_NODE, node); g_free(node); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "id", "current"); - xmpp_stanza_t *bundle = xmpp_stanza_new(ctx); + xmpp_stanza_t* bundle = xmpp_stanza_new(ctx); xmpp_stanza_set_name(bundle, "bundle"); xmpp_stanza_set_ns(bundle, "eu.siacs.conversations.axolotl"); - xmpp_stanza_t *signed_prekey_public_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(signed_prekey_public_stanza , "signedPreKeyPublic"); + xmpp_stanza_t* signed_prekey_public_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(signed_prekey_public_stanza, "signedPreKeyPublic"); xmpp_stanza_set_attribute(signed_prekey_public_stanza, "signedPreKeyId", "1"); - xmpp_stanza_t *signed_prekey_public_stanza_text= xmpp_stanza_new(ctx); - char *signed_prekey_b64 = g_base64_encode(signed_prekey, signed_prekey_length); + xmpp_stanza_t* signed_prekey_public_stanza_text = xmpp_stanza_new(ctx); + char* signed_prekey_b64 = g_base64_encode(signed_prekey, signed_prekey_length); xmpp_stanza_set_text(signed_prekey_public_stanza_text, signed_prekey_b64); g_free(signed_prekey_b64); xmpp_stanza_add_child(signed_prekey_public_stanza, signed_prekey_public_stanza_text); xmpp_stanza_release(signed_prekey_public_stanza_text); - xmpp_stanza_t *signed_prekey_signature_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(signed_prekey_signature_stanza , "signedPreKeySignature"); + xmpp_stanza_t* signed_prekey_signature_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(signed_prekey_signature_stanza, "signedPreKeySignature"); - xmpp_stanza_t *signed_prekey_signature_stanza_text= xmpp_stanza_new(ctx); - char *signed_prekey_signature_b64 = g_base64_encode(signed_prekey_signature, signed_prekey_signature_length); + xmpp_stanza_t* signed_prekey_signature_stanza_text = xmpp_stanza_new(ctx); + char* signed_prekey_signature_b64 = g_base64_encode(signed_prekey_signature, signed_prekey_signature_length); xmpp_stanza_set_text(signed_prekey_signature_stanza_text, signed_prekey_signature_b64); g_free(signed_prekey_signature_b64); xmpp_stanza_add_child(signed_prekey_signature_stanza, signed_prekey_signature_stanza_text); xmpp_stanza_release(signed_prekey_signature_stanza_text); - xmpp_stanza_t *identity_key_stanza = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(identity_key_stanza , "identityKey"); + xmpp_stanza_t* identity_key_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(identity_key_stanza, "identityKey"); - xmpp_stanza_t *identity_key_stanza_text= xmpp_stanza_new(ctx); - char *identity_key_b64 = g_base64_encode(identity_key, identity_key_length); + xmpp_stanza_t* identity_key_stanza_text = xmpp_stanza_new(ctx); + char* identity_key_b64 = g_base64_encode(identity_key, identity_key_length); xmpp_stanza_set_text(identity_key_stanza_text, identity_key_b64); g_free(identity_key_b64); xmpp_stanza_add_child(identity_key_stanza, identity_key_stanza_text); xmpp_stanza_release(identity_key_stanza_text); - xmpp_stanza_t *prekeys_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* prekeys_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(prekeys_stanza, "prekeys"); GList *p, *i, *l; for (p = prekeys, i = prekeys_id, l = prekeys_length; p != NULL; p = p->next, i = i->next, l = l->next) { - xmpp_stanza_t *prekey = xmpp_stanza_new(ctx); + xmpp_stanza_t* prekey = xmpp_stanza_new(ctx); xmpp_stanza_set_name(prekey, "preKeyPublic"); - char *id = g_strdup_printf("%d", GPOINTER_TO_INT(i->data)); + char* id = g_strdup_printf("%d", GPOINTER_TO_INT(i->data)); xmpp_stanza_set_attribute(prekey, "preKeyId", id); g_free(id); - xmpp_stanza_t *prekey_text = xmpp_stanza_new(ctx); - char *prekey_b64 = g_base64_encode(p->data, GPOINTER_TO_INT(l->data)); + xmpp_stanza_t* prekey_text = xmpp_stanza_new(ctx); + char* prekey_b64 = g_base64_encode(p->data, GPOINTER_TO_INT(l->data)); xmpp_stanza_set_text(prekey_text, prekey_b64); g_free(prekey_b64); @@ -2468,18 +2462,18 @@ stanza_create_omemo_bundle_publish(xmpp_ctx_t *ctx, const char *const id, } xmpp_stanza_t* -stanza_create_omemo_bundle_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid, uint32_t device_id) +stanza_create_omemo_bundle_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid, uint32_t device_id) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *items = xmpp_stanza_new(ctx); + xmpp_stanza_t* items = xmpp_stanza_new(ctx); xmpp_stanza_set_name(items, "items"); - char *node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, device_id); + char* node = g_strdup_printf("%s:%d", STANZA_NS_OMEMO_BUNDLES, device_id); xmpp_stanza_set_attribute(items, STANZA_ATTR_NODE, node); g_free(node); @@ -2493,16 +2487,16 @@ stanza_create_omemo_bundle_request(xmpp_ctx_t *ctx, const char *const id, const } xmpp_stanza_t* -stanza_create_pubsub_configure_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid, const char *const node) +stanza_create_pubsub_configure_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB_OWNER); - xmpp_stanza_t *configure = xmpp_stanza_new(ctx); + xmpp_stanza_t* configure = xmpp_stanza_new(ctx); xmpp_stanza_set_name(configure, STANZA_NAME_CONFIGURE); xmpp_stanza_set_attribute(configure, STANZA_ATTR_NODE, node); @@ -2516,20 +2510,20 @@ stanza_create_pubsub_configure_request(xmpp_ctx_t *ctx, const char *const id, co } xmpp_stanza_t* -stanza_create_pubsub_configure_submit(xmpp_ctx_t *ctx, const char *const id, const char *const jid, const char *const node, DataForm *form) +stanza_create_pubsub_configure_submit(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node, DataForm* form) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB_OWNER); - xmpp_stanza_t *configure = xmpp_stanza_new(ctx); + xmpp_stanza_t* configure = xmpp_stanza_new(ctx); xmpp_stanza_set_name(configure, STANZA_NAME_CONFIGURE); xmpp_stanza_set_attribute(configure, STANZA_ATTR_NODE, node); - xmpp_stanza_t *x = form_create_submission(form); + xmpp_stanza_t* x = form_create_submission(form); xmpp_stanza_add_child(configure, x); xmpp_stanza_add_child(pubsub, configure); @@ -2543,9 +2537,9 @@ stanza_create_pubsub_configure_submit(xmpp_ctx_t *ctx, const char *const id, con } xmpp_stanza_t* -stanza_attach_origin_id(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const id) +stanza_attach_origin_id(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const id) { - xmpp_stanza_t *origin_id = xmpp_stanza_new(ctx); + xmpp_stanza_t* origin_id = xmpp_stanza_new(ctx); xmpp_stanza_set_name(origin_id, STANZA_NAME_ORIGIN_ID); xmpp_stanza_set_ns(origin_id, STANZA_NS_STABLE_ID); xmpp_stanza_set_attribute(origin_id, STANZA_ATTR_ID, id); @@ -2558,34 +2552,34 @@ stanza_attach_origin_id(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *cons } static void -_stanza_add_unique_id(xmpp_stanza_t *stanza) +_stanza_add_unique_id(xmpp_stanza_t* stanza) { - char *id = connection_create_stanza_id(); + char* id = connection_create_stanza_id(); xmpp_stanza_set_id(stanza, id); free(id); } static char* -_stanza_create_sha1_hash(char *str) +_stanza_create_sha1_hash(char* str) { - unsigned char *digest = (unsigned char*)malloc(XMPP_SHA1_DIGEST_SIZE); - assert(digest != NULL); + unsigned char* digest = (unsigned char*)malloc(XMPP_SHA1_DIGEST_SIZE); + assert(digest != NULL); - xmpp_sha1_digest((unsigned char*)str, strlen(str), digest); + xmpp_sha1_digest((unsigned char*)str, strlen(str), digest); - char *b64 = g_base64_encode(digest, XMPP_SHA1_DIGEST_SIZE); - assert(b64 != NULL); - free(digest); + char* b64 = g_base64_encode(digest, XMPP_SHA1_DIGEST_SIZE); + assert(b64 != NULL); + free(digest); - return b64; + return b64; } xmpp_stanza_t* -stanza_get_child_by_name_and_ns(xmpp_stanza_t * const stanza, const char * const name, const char * const ns) +stanza_get_child_by_name_and_ns(xmpp_stanza_t* const stanza, const char* const name, const char* const ns) { - xmpp_stanza_t *child; - const char *child_ns; - const char *child_name; + xmpp_stanza_t* child; + const char* child_ns; + const char* child_name; for (child = xmpp_stanza_get_children(stanza); child; child = xmpp_stanza_get_next(child)) { child_name = xmpp_stanza_get_name(child); @@ -2601,22 +2595,22 @@ stanza_get_child_by_name_and_ns(xmpp_stanza_t * const stanza, const char * const } xmpp_stanza_t* -stanza_create_avatar_retrieve_data_request(xmpp_ctx_t *ctx, const char *stanza_id, const char *const item_id, const char *const jid) +stanza_create_avatar_retrieve_data_request(xmpp_ctx_t* ctx, const char* stanza_id, const char* const item_id, const char* const jid) { - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, stanza_id); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, stanza_id); xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx); + xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx); xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB); xmpp_stanza_set_ns(pubsub, STANZA_NS_PUBSUB); - xmpp_stanza_t *items = xmpp_stanza_new(ctx); + xmpp_stanza_t* items = xmpp_stanza_new(ctx); xmpp_stanza_set_name(items, "items"); - char *node = g_strdup_printf("%s", STANZA_NS_USER_AVATAR_DATA); + char* node = g_strdup_printf("%s", STANZA_NS_USER_AVATAR_DATA); xmpp_stanza_set_attribute(items, STANZA_ATTR_NODE, node); g_free(node); - xmpp_stanza_t *item = xmpp_stanza_new(ctx); + xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, "id", item_id); @@ -2632,9 +2626,9 @@ stanza_create_avatar_retrieve_data_request(xmpp_ctx_t *ctx, const char *stanza_i } xmpp_stanza_t* -stanza_attach_correction(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const replace_id) +stanza_attach_correction(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const replace_id) { - xmpp_stanza_t *replace_stanza = xmpp_stanza_new(ctx); + xmpp_stanza_t* replace_stanza = xmpp_stanza_new(ctx); xmpp_stanza_set_name(replace_stanza, "replace"); xmpp_stanza_set_id(replace_stanza, replace_id); xmpp_stanza_set_ns(replace_stanza, STANZA_NS_LAST_MESSAGE_CORRECTION); @@ -2645,60 +2639,60 @@ stanza_attach_correction(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *con } xmpp_stanza_t* -stanza_create_mam_iq(xmpp_ctx_t *ctx, const char *const jid, const char *const startdate) +stanza_create_mam_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const startdate) { - char *id = connection_create_stanza_id(); - xmpp_stanza_t *iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); + char* id = connection_create_stanza_id(); + xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); free(id); //xmpp_stanza_set_to(iq, jid); - xmpp_stanza_t *query = xmpp_stanza_new(ctx); + xmpp_stanza_t* query = xmpp_stanza_new(ctx); xmpp_stanza_set_name(query, STANZA_NAME_QUERY); xmpp_stanza_set_ns(query, STANZA_NS_MAM2); - xmpp_stanza_t *x = xmpp_stanza_new(ctx); + xmpp_stanza_t* x = xmpp_stanza_new(ctx); xmpp_stanza_set_name(x, STANZA_NAME_X); xmpp_stanza_set_ns(x, STANZA_NS_DATA); xmpp_stanza_set_type(x, "submit"); // field FORM_TYPE MAM2 - xmpp_stanza_t *field_form_type = xmpp_stanza_new(ctx); + xmpp_stanza_t* field_form_type = xmpp_stanza_new(ctx); xmpp_stanza_set_name(field_form_type, STANZA_NAME_FIELD); xmpp_stanza_set_attribute(field_form_type, STANZA_ATTR_VAR, "FORM_TYPE"); xmpp_stanza_set_type(field_form_type, "hidden"); - xmpp_stanza_t *value_mam = xmpp_stanza_new(ctx); + xmpp_stanza_t* value_mam = xmpp_stanza_new(ctx); xmpp_stanza_set_name(value_mam, STANZA_NAME_VALUE); - xmpp_stanza_t *mam_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* mam_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(mam_text, STANZA_NS_MAM2); xmpp_stanza_add_child(value_mam, mam_text); xmpp_stanza_add_child(field_form_type, value_mam); // field 'with' - xmpp_stanza_t *field_with = xmpp_stanza_new(ctx); + xmpp_stanza_t* field_with = xmpp_stanza_new(ctx); xmpp_stanza_set_name(field_with, STANZA_NAME_FIELD); xmpp_stanza_set_attribute(field_with, STANZA_ATTR_VAR, "with"); - xmpp_stanza_t *value_with = xmpp_stanza_new(ctx); + xmpp_stanza_t* value_with = xmpp_stanza_new(ctx); xmpp_stanza_set_name(value_with, STANZA_NAME_VALUE); - xmpp_stanza_t *with_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* with_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(with_text, jid); xmpp_stanza_add_child(value_with, with_text); xmpp_stanza_add_child(field_with, value_with); // field 'start' - xmpp_stanza_t *field_start = xmpp_stanza_new(ctx); + xmpp_stanza_t* field_start = xmpp_stanza_new(ctx); xmpp_stanza_set_name(field_start, STANZA_NAME_FIELD); xmpp_stanza_set_attribute(field_start, STANZA_ATTR_VAR, "start"); - xmpp_stanza_t *value_start = xmpp_stanza_new(ctx); + xmpp_stanza_t* value_start = xmpp_stanza_new(ctx); xmpp_stanza_set_name(value_start, STANZA_NAME_VALUE); - xmpp_stanza_t *date_text = xmpp_stanza_new(ctx); + xmpp_stanza_t* date_text = xmpp_stanza_new(ctx); xmpp_stanza_set_text(date_text, startdate); xmpp_stanza_add_child(value_start, date_text); diff --git a/src/xmpp/stanza.h b/src/xmpp/stanza.h index 5910a7d9..a51ee3c6 100644 --- a/src/xmpp/stanza.h +++ b/src/xmpp/stanza.h @@ -48,192 +48,193 @@ #include <xmpp/xmpp.h> -#define STANZA_NAME_ACTIVE "active" -#define STANZA_NAME_INACTIVE "inactive" +#define STANZA_NAME_ACTIVE "active" +#define STANZA_NAME_INACTIVE "inactive" #define STANZA_NAME_COMPOSING "composing" -#define STANZA_NAME_PAUSED "paused" -#define STANZA_NAME_GONE "gone" +#define STANZA_NAME_PAUSED "paused" +#define STANZA_NAME_GONE "gone" -#define STANZA_NAME_MESSAGE "message" -#define STANZA_NAME_BODY "body" -#define STANZA_NAME_BLOCK "block" -#define STANZA_NAME_UNBLOCK "unblock" +#define STANZA_NAME_MESSAGE "message" +#define STANZA_NAME_BODY "body" +#define STANZA_NAME_BLOCK "block" +#define STANZA_NAME_UNBLOCK "unblock" #define STANZA_NAME_BLOCKLIST "blocklist" -#define STANZA_NAME_PRESENCE "presence" -#define STANZA_NAME_PRIORITY "priority" -#define STANZA_NAME_X "x" +#define STANZA_NAME_PRESENCE "presence" +#define STANZA_NAME_PRIORITY "priority" +#define STANZA_NAME_X "x" // XEP-0373: OpenPGP for XMPP -#define STANZA_NAME_OPENPGP "openpgp" -#define STANZA_NAME_PUPKEY "pubkey" +#define STANZA_NAME_OPENPGP "openpgp" +#define STANZA_NAME_PUPKEY "pubkey" #define STANZA_NAME_PUBLIC_KEYS_LIST "public-keys-list" -#define STANZA_NAME_PUBKEY_METADATA "pubkey-metadata" -#define STANZA_NAME_DATA "data" -#define STANZA_NAME_SHOW "show" -#define STANZA_NAME_STATUS "status" -#define STANZA_NAME_IQ "iq" -#define STANZA_NAME_QUERY "query" -#define STANZA_NAME_REQUEST "request" -#define STANZA_NAME_DELAY "delay" -#define STANZA_NAME_ERROR "error" -#define STANZA_NAME_PING "ping" -#define STANZA_NAME_TEXT "text" -#define STANZA_NAME_SUBJECT "subject" -#define STANZA_NAME_ITEM "item" -#define STANZA_NAME_ITEMS "items" -#define STANZA_NAME_C "c" -#define STANZA_NAME_IDENTITY "identity" -#define STANZA_NAME_FEATURE "feature" -#define STANZA_NAME_INVITE "invite" -#define STANZA_NAME_REASON "reason" -#define STANZA_NAME_GROUP "group" -#define STANZA_NAME_PUBSUB "pubsub" -#define STANZA_NAME_PUBLISH "publish" -#define STANZA_NAME_PUBLISH_OPTIONS "publish-options" -#define STANZA_NAME_SUBSCRIBE "subscribe" -#define STANZA_NAME_FIELD "field" -#define STANZA_NAME_STORAGE "storage" -#define STANZA_NAME_NICK "nick" -#define STANZA_NAME_PASSWORD "password" -#define STANZA_NAME_CONFERENCE "conference" -#define STANZA_NAME_VALUE "value" -#define STANZA_NAME_DESTROY "destroy" -#define STANZA_NAME_ACTOR "actor" -#define STANZA_NAME_ENABLE "enable" -#define STANZA_NAME_DISABLE "disable" -#define STANZA_NAME_FILENAME "filename" -#define STANZA_NAME_SIZE "size" -#define STANZA_NAME_CONTENT_TYPE "content-type" -#define STANZA_NAME_SLOT "slot" -#define STANZA_NAME_PUT "put" -#define STANZA_NAME_GET "get" -#define STANZA_NAME_URL "url" -#define STANZA_NAME_COMMAND "command" -#define STANZA_NAME_CONFIGURE "configure" -#define STANZA_NAME_ORIGIN_ID "origin-id" -#define STANZA_NAME_MINIMIZE "minimize" +#define STANZA_NAME_PUBKEY_METADATA "pubkey-metadata" +#define STANZA_NAME_DATA "data" +#define STANZA_NAME_SHOW "show" +#define STANZA_NAME_STATUS "status" +#define STANZA_NAME_IQ "iq" +#define STANZA_NAME_QUERY "query" +#define STANZA_NAME_REQUEST "request" +#define STANZA_NAME_DELAY "delay" +#define STANZA_NAME_ERROR "error" +#define STANZA_NAME_PING "ping" +#define STANZA_NAME_TEXT "text" +#define STANZA_NAME_SUBJECT "subject" +#define STANZA_NAME_ITEM "item" +#define STANZA_NAME_ITEMS "items" +#define STANZA_NAME_C "c" +#define STANZA_NAME_IDENTITY "identity" +#define STANZA_NAME_FEATURE "feature" +#define STANZA_NAME_INVITE "invite" +#define STANZA_NAME_REASON "reason" +#define STANZA_NAME_GROUP "group" +#define STANZA_NAME_PUBSUB "pubsub" +#define STANZA_NAME_PUBLISH "publish" +#define STANZA_NAME_PUBLISH_OPTIONS "publish-options" +#define STANZA_NAME_SUBSCRIBE "subscribe" +#define STANZA_NAME_FIELD "field" +#define STANZA_NAME_STORAGE "storage" +#define STANZA_NAME_NICK "nick" +#define STANZA_NAME_PASSWORD "password" +#define STANZA_NAME_CONFERENCE "conference" +#define STANZA_NAME_VALUE "value" +#define STANZA_NAME_DESTROY "destroy" +#define STANZA_NAME_ACTOR "actor" +#define STANZA_NAME_ENABLE "enable" +#define STANZA_NAME_DISABLE "disable" +#define STANZA_NAME_FILENAME "filename" +#define STANZA_NAME_SIZE "size" +#define STANZA_NAME_CONTENT_TYPE "content-type" +#define STANZA_NAME_SLOT "slot" +#define STANZA_NAME_PUT "put" +#define STANZA_NAME_GET "get" +#define STANZA_NAME_URL "url" +#define STANZA_NAME_COMMAND "command" +#define STANZA_NAME_CONFIGURE "configure" +#define STANZA_NAME_ORIGIN_ID "origin-id" +#define STANZA_NAME_MINIMIZE "minimize" // error conditions -#define STANZA_NAME_BAD_REQUEST "bad-request" -#define STANZA_NAME_CONFLICT "conflict" +#define STANZA_NAME_BAD_REQUEST "bad-request" +#define STANZA_NAME_CONFLICT "conflict" #define STANZA_NAME_FEATURE_NOT_IMPLEMENTED "feature-not-implemented" -#define STANZA_NAME_FORBIDDEN "forbidden" -#define STANZA_NAME_GONE "gone" -#define STANZA_NAME_INTERNAL_SERVER_ERROR "internal-server-error" -#define STANZA_NAME_ITEM_NOT_FOUND "item-not-found" -#define STANZA_NAME_JID_MALFORMED "jid-malformed" -#define STANZA_NAME_NOT_ACCEPTABLE "not-acceptable" -#define STANZA_NAME_NOT_ALLOWED "not-allowed" -#define STANZA_NAME_NOT_AUTHORISED "not-authorised" -#define STANZA_NAME_POLICY_VIOLATION "policy-violation" -#define STANZA_NAME_RECIPIENT_UNAVAILABLE "recipient-unavailable" -#define STANZA_NAME_REDIRECT "redirect" -#define STANZA_NAME_REGISTRATION_REQUIRED "registration-required" +#define STANZA_NAME_FORBIDDEN "forbidden" +#define STANZA_NAME_GONE "gone" +#define STANZA_NAME_INTERNAL_SERVER_ERROR "internal-server-error" +#define STANZA_NAME_ITEM_NOT_FOUND "item-not-found" +#define STANZA_NAME_JID_MALFORMED "jid-malformed" +#define STANZA_NAME_NOT_ACCEPTABLE "not-acceptable" +#define STANZA_NAME_NOT_ALLOWED "not-allowed" +#define STANZA_NAME_NOT_AUTHORISED "not-authorised" +#define STANZA_NAME_POLICY_VIOLATION "policy-violation" +#define STANZA_NAME_RECIPIENT_UNAVAILABLE "recipient-unavailable" +#define STANZA_NAME_REDIRECT "redirect" +#define STANZA_NAME_REGISTRATION_REQUIRED "registration-required" #define STANZA_NAME_REMOTE_SERVER_NOT_FOUND "remote-server-not-found" -#define STANZA_NAME_REMOTE_SERVER_TIMEOUT "remote-server-timeout" -#define STANZA_NAME_RESOURCE_CONSTRAINT "resource-constraint" -#define STANZA_NAME_SERVICE_UNAVAILABLE "service-unavailable" -#define STANZA_NAME_SUBSCRIPTION_REQUIRED "subscription-required" -#define STANZA_NAME_UNDEFINED_CONDITION "undefined-condition" -#define STANZA_NAME_UNEXPECTED_REQUEST "unexpected-request" - -#define STANZA_TYPE_CHAT "chat" -#define STANZA_TYPE_GROUPCHAT "groupchat" -#define STANZA_TYPE_HEADLINE "headline" -#define STANZA_TYPE_NORMAL "normal" -#define STANZA_TYPE_UNAVAILABLE "unavailable" -#define STANZA_TYPE_SUBSCRIBE "subscribe" -#define STANZA_TYPE_SUBSCRIBED "subscribed" +#define STANZA_NAME_REMOTE_SERVER_TIMEOUT "remote-server-timeout" +#define STANZA_NAME_RESOURCE_CONSTRAINT "resource-constraint" +#define STANZA_NAME_SERVICE_UNAVAILABLE "service-unavailable" +#define STANZA_NAME_SUBSCRIPTION_REQUIRED "subscription-required" +#define STANZA_NAME_UNDEFINED_CONDITION "undefined-condition" +#define STANZA_NAME_UNEXPECTED_REQUEST "unexpected-request" + +#define STANZA_TYPE_CHAT "chat" +#define STANZA_TYPE_GROUPCHAT "groupchat" +#define STANZA_TYPE_HEADLINE "headline" +#define STANZA_TYPE_NORMAL "normal" +#define STANZA_TYPE_UNAVAILABLE "unavailable" +#define STANZA_TYPE_SUBSCRIBE "subscribe" +#define STANZA_TYPE_SUBSCRIBED "subscribed" #define STANZA_TYPE_UNSUBSCRIBED "unsubscribed" -#define STANZA_TYPE_GET "get" -#define STANZA_TYPE_SET "set" -#define STANZA_TYPE_ERROR "error" -#define STANZA_TYPE_RESULT "result" - -#define STANZA_ATTR_TO "to" -#define STANZA_ATTR_FROM "from" -#define STANZA_ATTR_STAMP "stamp" -#define STANZA_ATTR_TYPE "type" -#define STANZA_ATTR_CODE "code" -#define STANZA_ATTR_JID "jid" -#define STANZA_ATTR_NAME "name" -#define STANZA_ATTR_SUBSCRIPTION "subscription" -#define STANZA_ATTR_XMLNS "xmlns" -#define STANZA_ATTR_NICK "nick" -#define STANZA_ATTR_ASK "ask" -#define STANZA_ATTR_ID "id" -#define STANZA_ATTR_SECONDS "seconds" -#define STANZA_ATTR_NODE "node" -#define STANZA_ATTR_VER "ver" -#define STANZA_ATTR_VAR "var" -#define STANZA_ATTR_HASH "hash" -#define STANZA_ATTR_CATEGORY "category" -#define STANZA_ATTR_REASON "reason" -#define STANZA_ATTR_AUTOJOIN "autojoin" -#define STANZA_ATTR_PASSWORD "password" -#define STANZA_ATTR_STATUS "status" -#define STANZA_ATTR_DATE "date" +#define STANZA_TYPE_GET "get" +#define STANZA_TYPE_SET "set" +#define STANZA_TYPE_ERROR "error" +#define STANZA_TYPE_RESULT "result" + +#define STANZA_ATTR_TO "to" +#define STANZA_ATTR_FROM "from" +#define STANZA_ATTR_STAMP "stamp" +#define STANZA_ATTR_TYPE "type" +#define STANZA_ATTR_CODE "code" +#define STANZA_ATTR_JID "jid" +#define STANZA_ATTR_NAME "name" +#define STANZA_ATTR_SUBSCRIPTION "subscription" +#define STANZA_ATTR_XMLNS "xmlns" +#define STANZA_ATTR_NICK "nick" +#define STANZA_ATTR_ASK "ask" +#define STANZA_ATTR_ID "id" +#define STANZA_ATTR_SECONDS "seconds" +#define STANZA_ATTR_NODE "node" +#define STANZA_ATTR_VER "ver" +#define STANZA_ATTR_VAR "var" +#define STANZA_ATTR_HASH "hash" +#define STANZA_ATTR_CATEGORY "category" +#define STANZA_ATTR_REASON "reason" +#define STANZA_ATTR_AUTOJOIN "autojoin" +#define STANZA_ATTR_PASSWORD "password" +#define STANZA_ATTR_STATUS "status" +#define STANZA_ATTR_DATE "date" #define STANZA_ATTR_V4_FINGERPRINT "v4-fingerprint" - -#define STANZA_TEXT_AWAY "away" -#define STANZA_TEXT_DND "dnd" -#define STANZA_TEXT_CHAT "chat" -#define STANZA_TEXT_XA "xa" +#define STANZA_TEXT_AWAY "away" +#define STANZA_TEXT_DND "dnd" +#define STANZA_TEXT_CHAT "chat" +#define STANZA_TEXT_XA "xa" #define STANZA_TEXT_ONLINE "online" -#define STANZA_NS_STANZAS "urn:ietf:params:xml:ns:xmpp-stanzas" -#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates" -#define STANZA_NS_MUC "http://jabber.org/protocol/muc" -#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user" -#define STANZA_NS_MUC_OWNER "http://jabber.org/protocol/muc#owner" -#define STANZA_NS_MUC_ADMIN "http://jabber.org/protocol/muc#admin" -#define STANZA_NS_CAPS "http://jabber.org/protocol/caps" -#define STANZA_NS_PING "urn:xmpp:ping" +#define STANZA_NS_STANZAS "urn:ietf:params:xml:ns:xmpp-stanzas" +#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates" +#define STANZA_NS_MUC "http://jabber.org/protocol/muc" +#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user" +#define STANZA_NS_MUC_OWNER "http://jabber.org/protocol/muc#owner" +#define STANZA_NS_MUC_ADMIN "http://jabber.org/protocol/muc#admin" +#define STANZA_NS_CAPS "http://jabber.org/protocol/caps" +#define STANZA_NS_PING "urn:xmpp:ping" #define STANZA_NS_LASTACTIVITY "jabber:iq:last" -#define STANZA_NS_DATA "jabber:x:data" -#define STANZA_NS_VERSION "jabber:iq:version" -#define STANZA_NS_CONFERENCE "jabber:x:conference" -#define STANZA_NS_CAPTCHA "urn:xmpp:captcha" -#define STANZA_NS_PUBSUB "http://jabber.org/protocol/pubsub" +#define STANZA_NS_DATA "jabber:x:data" +#define STANZA_NS_VERSION "jabber:iq:version" +#define STANZA_NS_CONFERENCE "jabber:x:conference" +#define STANZA_NS_CAPTCHA "urn:xmpp:captcha" +#define STANZA_NS_PUBSUB "http://jabber.org/protocol/pubsub" #define STANZA_NS_PUBSUB_OWNER "http://jabber.org/protocol/pubsub#owner" #define STANZA_NS_PUBSUB_EVENT "http://jabber.org/protocol/pubsub#event" -#define STANZA_NS_CARBONS "urn:xmpp:carbons:2" -#define STANZA_NS_HINTS "urn:xmpp:hints" -#define STANZA_NS_FORWARD "urn:xmpp:forward:0" -#define STANZA_NS_RECEIPTS "urn:xmpp:receipts" -#define STANZA_NS_SIGNED "jabber:x:signed" -#define STANZA_NS_ENCRYPTED "jabber:x:encrypted" +#define STANZA_NS_CARBONS "urn:xmpp:carbons:2" +#define STANZA_NS_HINTS "urn:xmpp:hints" +#define STANZA_NS_FORWARD "urn:xmpp:forward:0" +#define STANZA_NS_RECEIPTS "urn:xmpp:receipts" +#define STANZA_NS_SIGNED "jabber:x:signed" +#define STANZA_NS_ENCRYPTED "jabber:x:encrypted" // XEP-0373: OpenPGP for XMPP -#define STANZA_NS_OPENPGP_0 "urn:xmpp:openpgp:0" -#define STANZA_NS_OPENPGP_0_PUBLIC_KEYS "urn:xmpp:openpgp:0:public-keys" -#define STANZA_NS_HTTP_UPLOAD "urn:xmpp:http:upload" -#define STANZA_NS_X_OOB "jabber:x:oob" -#define STANZA_NS_BLOCKING "urn:xmpp:blocking" -#define STANZA_NS_COMMAND "http://jabber.org/protocol/commands" -#define STANZA_NS_OMEMO "eu.siacs.conversations.axolotl" -#define STANZA_NS_OMEMO_DEVICELIST "eu.siacs.conversations.axolotl.devicelist" -#define STANZA_NS_OMEMO_BUNDLES "eu.siacs.conversations.axolotl.bundles" -#define STANZA_NS_STABLE_ID "urn:xmpp:sid:0" -#define STANZA_NS_USER_AVATAR_DATA "urn:xmpp:avatar:data" -#define STANZA_NS_USER_AVATAR_METADATA "urn:xmpp:avatar:metadata" +#define STANZA_NS_OPENPGP_0 "urn:xmpp:openpgp:0" +#define STANZA_NS_OPENPGP_0_PUBLIC_KEYS "urn:xmpp:openpgp:0:public-keys" +#define STANZA_NS_HTTP_UPLOAD "urn:xmpp:http:upload" +#define STANZA_NS_X_OOB "jabber:x:oob" +#define STANZA_NS_BLOCKING "urn:xmpp:blocking" +#define STANZA_NS_COMMAND "http://jabber.org/protocol/commands" +#define STANZA_NS_OMEMO "eu.siacs.conversations.axolotl" +#define STANZA_NS_OMEMO_DEVICELIST "eu.siacs.conversations.axolotl.devicelist" +#define STANZA_NS_OMEMO_BUNDLES "eu.siacs.conversations.axolotl.bundles" +#define STANZA_NS_STABLE_ID "urn:xmpp:sid:0" +#define STANZA_NS_USER_AVATAR_DATA "urn:xmpp:avatar:data" +#define STANZA_NS_USER_AVATAR_METADATA "urn:xmpp:avatar:metadata" #define STANZA_NS_LAST_MESSAGE_CORRECTION "urn:xmpp:message-correct:0" -#define STANZA_NS_MAM2 "urn:xmpp:mam:2" -#define STANZA_NS_EXT_GAJIM_BOOKMARKS "xmpp:gajim.org/bookmarks" +#define STANZA_NS_MAM2 "urn:xmpp:mam:2" +#define STANZA_NS_EXT_GAJIM_BOOKMARKS "xmpp:gajim.org/bookmarks" #define STANZA_DATAFORM_SOFTWARE "urn:xmpp:dataforms:softwareinfo" -typedef struct caps_stanza_t { - char *hash; - char *node; - char *ver; +typedef struct caps_stanza_t +{ + char* hash; + char* node; + char* ver; } XMPPCaps; -typedef struct presence_stanza_t { - Jid *jid; - char *show; - char *status; +typedef struct presence_stanza_t +{ + Jid* jid; + char* show; + char* status; int priority; - GDateTime *last_activity; + GDateTime* last_activity; } XMPPPresence; typedef enum { @@ -241,141 +242,141 @@ typedef enum { STANZA_PARSE_ERROR_INVALID_FROM } stanza_parse_error_t; -xmpp_stanza_t* stanza_create_bookmarks_storage_request(xmpp_ctx_t *ctx); +xmpp_stanza_t* stanza_create_bookmarks_storage_request(xmpp_ctx_t* ctx); -xmpp_stanza_t* stanza_create_blocked_list_request(xmpp_ctx_t *ctx); +xmpp_stanza_t* stanza_create_blocked_list_request(xmpp_ctx_t* ctx); -xmpp_stanza_t* stanza_create_http_upload_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid, HTTPUpload *upload); +xmpp_stanza_t* stanza_create_http_upload_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid, HTTPUpload* upload); -xmpp_stanza_t* stanza_enable_carbons(xmpp_ctx_t *ctx); +xmpp_stanza_t* stanza_enable_carbons(xmpp_ctx_t* ctx); -xmpp_stanza_t* stanza_disable_carbons(xmpp_ctx_t *ctx); +xmpp_stanza_t* stanza_disable_carbons(xmpp_ctx_t* ctx); -xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx, - const char *const fulljid, const char *const state); +xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t* ctx, + const char* const fulljid, const char* const state); -xmpp_stanza_t* stanza_attach_state(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const state); -xmpp_stanza_t* stanza_attach_carbons_private(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); -xmpp_stanza_t* stanza_attach_hints_no_copy(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); -xmpp_stanza_t* stanza_attach_hints_no_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); -xmpp_stanza_t* stanza_attach_hints_store(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); -xmpp_stanza_t* stanza_attach_receipt_request(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza); -xmpp_stanza_t* stanza_attach_x_oob_url(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const url); -xmpp_stanza_t* stanza_attach_origin_id(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const id); -xmpp_stanza_t* stanza_attach_correction(xmpp_ctx_t *ctx, xmpp_stanza_t *stanza, const char *const replace_id); +xmpp_stanza_t* stanza_attach_state(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const state); +xmpp_stanza_t* stanza_attach_carbons_private(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza); +xmpp_stanza_t* stanza_attach_hints_no_copy(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza); +xmpp_stanza_t* stanza_attach_hints_no_store(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza); +xmpp_stanza_t* stanza_attach_hints_store(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza); +xmpp_stanza_t* stanza_attach_receipt_request(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza); +xmpp_stanza_t* stanza_attach_x_oob_url(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const url); +xmpp_stanza_t* stanza_attach_origin_id(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const id); +xmpp_stanza_t* stanza_attach_correction(xmpp_ctx_t* ctx, xmpp_stanza_t* stanza, const char* const replace_id); -xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t *const ctx, - const char *const full_room_jid, const char *const passwd); +xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t* const ctx, + const char* const full_room_jid, const char* const passwd); -xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t *ctx, - const char *const full_room_jid); +xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t* ctx, + const char* const full_room_jid); -xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t *ctx, - const char *const room, const char *const nick); +xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t* ctx, + const char* const room, const char* const nick); -xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx); -xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx, const char *const target); -xmpp_stanza_t* stanza_create_disco_info_iq(xmpp_ctx_t *ctx, const char *const id, - const char *const to, const char *const node); +xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t* ctx); +xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t* ctx, const char* const target); +xmpp_stanza_t* stanza_create_disco_info_iq(xmpp_ctx_t* ctx, const char* const id, + const char* const to, const char* const node); -xmpp_stanza_t* stanza_create_last_activity_iq(xmpp_ctx_t *ctx, const char *const id, - const char *const to); +xmpp_stanza_t* stanza_create_last_activity_iq(xmpp_ctx_t* ctx, const char* const id, + const char* const to); -xmpp_stanza_t* stanza_create_invite(xmpp_ctx_t *ctx, const char *const room, - const char *const contact, const char *const reason, const char *const password); -xmpp_stanza_t* stanza_create_mediated_invite(xmpp_ctx_t *ctx, const char *const room, - const char *const contact, const char *const reason); +xmpp_stanza_t* stanza_create_invite(xmpp_ctx_t* ctx, const char* const room, + const char* const contact, const char* const reason, const char* const password); +xmpp_stanza_t* stanza_create_mediated_invite(xmpp_ctx_t* ctx, const char* const room, + const char* const contact, const char* const reason); -gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza); +gboolean stanza_contains_chat_state(xmpp_stanza_t* stanza); -GDateTime* stanza_get_delay(xmpp_stanza_t *const stanza); -GDateTime* stanza_get_delay_from(xmpp_stanza_t *const stanza, gchar *from); -GDateTime* stanza_get_oldest_delay(xmpp_stanza_t *const stanza); +GDateTime* stanza_get_delay(xmpp_stanza_t* const stanza); +GDateTime* stanza_get_delay_from(xmpp_stanza_t* const stanza, gchar* from); +GDateTime* stanza_get_oldest_delay(xmpp_stanza_t* const stanza); -gboolean stanza_is_muc_presence(xmpp_stanza_t *const stanza); -gboolean stanza_is_muc_self_presence(xmpp_stanza_t *const stanza, - const char *const self_jid); -gboolean stanza_is_room_nick_change(xmpp_stanza_t *const stanza); -gboolean stanza_muc_requires_config(xmpp_stanza_t *const stanza); +gboolean stanza_is_muc_presence(xmpp_stanza_t* const stanza); +gboolean stanza_is_muc_self_presence(xmpp_stanza_t* const stanza, + const char* const self_jid); +gboolean stanza_is_room_nick_change(xmpp_stanza_t* const stanza); +gboolean stanza_muc_requires_config(xmpp_stanza_t* const stanza); -const char* stanza_get_new_nick(xmpp_stanza_t *const stanza); -xmpp_stanza_t* stanza_create_instant_room_request_iq(xmpp_ctx_t *ctx, const char *const room_jid); -xmpp_stanza_t* stanza_create_instant_room_destroy_iq(xmpp_ctx_t *ctx, const char *const room_jid); -xmpp_stanza_t* stanza_create_room_config_request_iq(xmpp_ctx_t *ctx, const char *const room_jid); -xmpp_stanza_t* stanza_create_room_config_cancel_iq(xmpp_ctx_t *ctx, const char *const room_jid); -xmpp_stanza_t* stanza_create_room_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, DataForm *form); -xmpp_stanza_t* stanza_create_room_affiliation_list_iq(xmpp_ctx_t *ctx, const char *const room, - const char *const affiliation); -xmpp_stanza_t* stanza_create_room_affiliation_set_iq(xmpp_ctx_t *ctx, const char *const room, const char *const jid, - const char *const affiliation, const char *const reason); -xmpp_stanza_t* stanza_create_room_role_set_iq(xmpp_ctx_t *const ctx, const char *const room, const char *const jid, - const char *const role, const char *const reason); -xmpp_stanza_t* stanza_create_room_role_list_iq(xmpp_ctx_t *ctx, const char *const room, const char *const role); +const char* stanza_get_new_nick(xmpp_stanza_t* const stanza); +xmpp_stanza_t* stanza_create_instant_room_request_iq(xmpp_ctx_t* ctx, const char* const room_jid); +xmpp_stanza_t* stanza_create_instant_room_destroy_iq(xmpp_ctx_t* ctx, const char* const room_jid); +xmpp_stanza_t* stanza_create_room_config_request_iq(xmpp_ctx_t* ctx, const char* const room_jid); +xmpp_stanza_t* stanza_create_room_config_cancel_iq(xmpp_ctx_t* ctx, const char* const room_jid); +xmpp_stanza_t* stanza_create_room_config_submit_iq(xmpp_ctx_t* ctx, const char* const room, DataForm* form); +xmpp_stanza_t* stanza_create_room_affiliation_list_iq(xmpp_ctx_t* ctx, const char* const room, + const char* const affiliation); +xmpp_stanza_t* stanza_create_room_affiliation_set_iq(xmpp_ctx_t* ctx, const char* const room, const char* const jid, + const char* const affiliation, const char* const reason); +xmpp_stanza_t* stanza_create_room_role_set_iq(xmpp_ctx_t* const ctx, const char* const room, const char* const jid, + const char* const role, const char* const reason); +xmpp_stanza_t* stanza_create_room_role_list_iq(xmpp_ctx_t* ctx, const char* const room, const char* const role); -xmpp_stanza_t* stanza_create_room_subject_message(xmpp_ctx_t *ctx, const char *const room, const char *const subject); -xmpp_stanza_t* stanza_create_room_kick_iq(xmpp_ctx_t *const ctx, const char *const room, const char *const nick, - const char *const reason); +xmpp_stanza_t* stanza_create_room_subject_message(xmpp_ctx_t* ctx, const char* const room, const char* const subject); +xmpp_stanza_t* stanza_create_room_kick_iq(xmpp_ctx_t* const ctx, const char* const room, const char* const nick, + const char* const reason); -xmpp_stanza_t* stanza_create_command_exec_iq(xmpp_ctx_t *ctx, const char *const target, const char *const node); -xmpp_stanza_t* stanza_create_command_config_submit_iq(xmpp_ctx_t *ctx, const char *const room, const char *const node, const char *const sessionid, DataForm *form); +xmpp_stanza_t* stanza_create_command_exec_iq(xmpp_ctx_t* ctx, const char* const target, const char* const node); +xmpp_stanza_t* stanza_create_command_config_submit_iq(xmpp_ctx_t* ctx, const char* const room, const char* const node, const char* const sessionid, DataForm* form); -void stanza_attach_publish_options(xmpp_ctx_t *const ctx, xmpp_stanza_t *const publish, const char *const option, const char *const value); +void stanza_attach_publish_options(xmpp_ctx_t* const ctx, xmpp_stanza_t* const publish, const char* const option, const char* const value); -xmpp_stanza_t* stanza_create_omemo_devicelist_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid); -xmpp_stanza_t* stanza_create_omemo_devicelist_subscribe(xmpp_ctx_t *ctx, const char *const jid); -xmpp_stanza_t* stanza_create_omemo_devicelist_publish(xmpp_ctx_t *ctx, GList *const ids); -xmpp_stanza_t* stanza_create_omemo_bundle_publish(xmpp_ctx_t *ctx, const char *const id, uint32_t device_id, const unsigned char * const identity_key, size_t identity_key_length, const unsigned char * const signed_prekey, size_t signed_prekey_length, const unsigned char * const signed_prekey_signature, size_t signed_prekey_signature_length, GList *const prekeys, GList *const prekeys_id, GList *const prekeys_length); -xmpp_stanza_t* stanza_create_omemo_bundle_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid, uint32_t device_id); +xmpp_stanza_t* stanza_create_omemo_devicelist_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid); +xmpp_stanza_t* stanza_create_omemo_devicelist_subscribe(xmpp_ctx_t* ctx, const char* const jid); +xmpp_stanza_t* stanza_create_omemo_devicelist_publish(xmpp_ctx_t* ctx, GList* const ids); +xmpp_stanza_t* stanza_create_omemo_bundle_publish(xmpp_ctx_t* ctx, const char* const id, uint32_t device_id, const unsigned char* const identity_key, size_t identity_key_length, const unsigned char* const signed_prekey, size_t signed_prekey_length, const unsigned char* const signed_prekey_signature, size_t signed_prekey_signature_length, GList* const prekeys, GList* const prekeys_id, GList* const prekeys_length); +xmpp_stanza_t* stanza_create_omemo_bundle_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid, uint32_t device_id); -xmpp_stanza_t* stanza_create_pubsub_configure_request(xmpp_ctx_t *ctx, const char *const id, const char *const jid, const char *const node); -xmpp_stanza_t* stanza_create_pubsub_configure_submit(xmpp_ctx_t *ctx, const char *const id, const char *const jid, const char *const node, DataForm *form); +xmpp_stanza_t* stanza_create_pubsub_configure_request(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node); +xmpp_stanza_t* stanza_create_pubsub_configure_submit(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node, DataForm* form); -int stanza_get_idle_time(xmpp_stanza_t *const stanza); +int stanza_get_idle_time(xmpp_stanza_t* const stanza); -void stanza_attach_priority(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, const int pri); -void stanza_attach_last_activity(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, const int idle); -void stanza_attach_caps(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence); -void stanza_attach_show(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, const char *const show); -void stanza_attach_status(xmpp_ctx_t *const ctx, xmpp_stanza_t *const presence, const char *const status); +void stanza_attach_priority(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, const int pri); +void stanza_attach_last_activity(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, const int idle); +void stanza_attach_caps(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence); +void stanza_attach_show(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, const char* const show); +void stanza_attach_status(xmpp_ctx_t* const ctx, xmpp_stanza_t* const presence, const char* const status); -xmpp_stanza_t* stanza_create_caps_query_element(xmpp_ctx_t *ctx); -char* stanza_create_caps_sha1_from_query(xmpp_stanza_t *const query); -EntityCapabilities* stanza_create_caps_from_query_element(xmpp_stanza_t *query); +xmpp_stanza_t* stanza_create_caps_query_element(xmpp_ctx_t* ctx); +char* stanza_create_caps_sha1_from_query(xmpp_stanza_t* const query); +EntityCapabilities* stanza_create_caps_from_query_element(xmpp_stanza_t* query); const char* stanza_get_presence_string_from_type(resource_presence_t presence_type); -xmpp_stanza_t* stanza_create_software_version_iq(xmpp_ctx_t *ctx, const char *const fulljid); -xmpp_stanza_t* stanza_create_disco_items_iq(xmpp_ctx_t *ctx, const char *const id, const char *const jid, const char *const node); +xmpp_stanza_t* stanza_create_software_version_iq(xmpp_ctx_t* ctx, const char* const fulljid); +xmpp_stanza_t* stanza_create_disco_items_iq(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node); -char* stanza_get_status(xmpp_stanza_t *stanza, char *def); -char* stanza_get_show(xmpp_stanza_t *stanza, char *def); +char* stanza_get_status(xmpp_stanza_t* stanza, char* def); +char* stanza_get_show(xmpp_stanza_t* stanza, char* def); -xmpp_stanza_t* stanza_create_roster_set(xmpp_ctx_t *ctx, const char *const id, const char *const jid, - const char *const handle, GSList *groups); -xmpp_stanza_t* stanza_create_roster_remove_set(xmpp_ctx_t *ctx, const char *const barejid); +xmpp_stanza_t* stanza_create_roster_set(xmpp_ctx_t* ctx, const char* const id, const char* const jid, + const char* const handle, GSList* groups); +xmpp_stanza_t* stanza_create_roster_remove_set(xmpp_ctx_t* ctx, const char* const barejid); -char* stanza_get_error_message(xmpp_stanza_t *const stanza); +char* stanza_get_error_message(xmpp_stanza_t* const stanza); -GSList* stanza_get_status_codes_by_ns(xmpp_stanza_t *const stanza, char *ns); -gboolean stanza_room_destroyed(xmpp_stanza_t *stanza); -const char* stanza_get_muc_destroy_alternative_room(xmpp_stanza_t *stanza); -char* stanza_get_muc_destroy_alternative_password(xmpp_stanza_t *stanza); -char* stanza_get_muc_destroy_reason(xmpp_stanza_t *stanza); -const char* stanza_get_actor(xmpp_stanza_t *stanza); -char* stanza_get_reason(xmpp_stanza_t *stanza); +GSList* stanza_get_status_codes_by_ns(xmpp_stanza_t* const stanza, char* ns); +gboolean stanza_room_destroyed(xmpp_stanza_t* stanza); +const char* stanza_get_muc_destroy_alternative_room(xmpp_stanza_t* stanza); +char* stanza_get_muc_destroy_alternative_password(xmpp_stanza_t* stanza); +char* stanza_get_muc_destroy_reason(xmpp_stanza_t* stanza); +const char* stanza_get_actor(xmpp_stanza_t* stanza); +char* stanza_get_reason(xmpp_stanza_t* stanza); -Resource* stanza_resource_from_presence(XMPPPresence *presence); -XMPPPresence* stanza_parse_presence(xmpp_stanza_t *stanza, int *err); -void stanza_free_presence(XMPPPresence *presence); +Resource* stanza_resource_from_presence(XMPPPresence* presence); +XMPPPresence* stanza_parse_presence(xmpp_stanza_t* stanza, int* err); +void stanza_free_presence(XMPPPresence* presence); -char* stanza_text_strdup(xmpp_stanza_t *stanza); +char* stanza_text_strdup(xmpp_stanza_t* stanza); -XMPPCaps* stanza_parse_caps(xmpp_stanza_t *const stanza); -void stanza_free_caps(XMPPCaps *caps); +XMPPCaps* stanza_parse_caps(xmpp_stanza_t* const stanza); +void stanza_free_caps(XMPPCaps* caps); -xmpp_stanza_t* stanza_get_child_by_name_and_ns(xmpp_stanza_t * const stanza, const char * const name, const char * const ns); +xmpp_stanza_t* stanza_get_child_by_name_and_ns(xmpp_stanza_t* const stanza, const char* const name, const char* const ns); -xmpp_stanza_t* stanza_create_avatar_retrieve_data_request(xmpp_ctx_t *ctx, const char *stanza_id, const char *const item_id, const char *const jid); +xmpp_stanza_t* stanza_create_avatar_retrieve_data_request(xmpp_ctx_t* ctx, const char* stanza_id, const char* const item_id, const char* const jid); -xmpp_stanza_t* stanza_create_mam_iq(xmpp_ctx_t *ctx, const char *const jid, const char *const startdate); +xmpp_stanza_t* stanza_create_mam_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const startdate); #endif diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index c097387b..da98048a 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -58,18 +58,18 @@ #define JABBER_PRIORITY_MIN -128 #define JABBER_PRIORITY_MAX 127 -#define XMPP_FEATURE_PING "urn:xmpp:ping" -#define XMPP_FEATURE_BLOCKING "urn:xmpp:blocking" -#define XMPP_FEATURE_RECEIPTS "urn:xmpp:receipts" -#define XMPP_FEATURE_LASTACTIVITY "jabber:iq:last" -#define XMPP_FEATURE_MUC "http://jabber.org/protocol/muc" -#define XMPP_FEATURE_COMMANDS "http://jabber.org/protocol/commands" -#define XMPP_FEATURE_OMEMO_DEVICELIST_NOTIFY "eu.siacs.conversations.axolotl.devicelist+notify" -#define XMPP_FEATURE_PUBSUB "http://jabber.org/protocol/pubsub" -#define XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS "http://jabber.org/protocol/pubsub#publish-options" +#define XMPP_FEATURE_PING "urn:xmpp:ping" +#define XMPP_FEATURE_BLOCKING "urn:xmpp:blocking" +#define XMPP_FEATURE_RECEIPTS "urn:xmpp:receipts" +#define XMPP_FEATURE_LASTACTIVITY "jabber:iq:last" +#define XMPP_FEATURE_MUC "http://jabber.org/protocol/muc" +#define XMPP_FEATURE_COMMANDS "http://jabber.org/protocol/commands" +#define XMPP_FEATURE_OMEMO_DEVICELIST_NOTIFY "eu.siacs.conversations.axolotl.devicelist+notify" +#define XMPP_FEATURE_PUBSUB "http://jabber.org/protocol/pubsub" +#define XMPP_FEATURE_PUBSUB_PUBLISH_OPTIONS "http://jabber.org/protocol/pubsub#publish-options" #define XMPP_FEATURE_USER_AVATAR_METADATA_NOTIFY "urn:xmpp:avatar:metadata+notify" -#define XMPP_FEATURE_LAST_MESSAGE_CORRECTION "urn:xmpp:message-correct:0" -#define XMPP_FEATURE_MAM2 "urn:xmpp:mam:2" +#define XMPP_FEATURE_LAST_MESSAGE_CORRECTION "urn:xmpp:message-correct:0" +#define XMPP_FEATURE_MAM2 "urn:xmpp:mam:2" typedef enum { JABBER_CONNECTING, @@ -89,37 +89,42 @@ typedef enum { INVITE_MEDIATED } jabber_invite_t; -typedef struct bookmark_t { - char *barejid; - char *nick; - char *password; - char *name; +typedef struct bookmark_t +{ + char* barejid; + char* nick; + char* password; + char* name; gboolean autojoin; int ext_gajim_minimize; //0 - non existant, 1 - true, 2 - false } Bookmark; -typedef struct disco_identity_t { - char *name; - char *type; - char *category; +typedef struct disco_identity_t +{ + char* name; + char* type; + char* category; } DiscoIdentity; -typedef struct software_version_t { - char *software; - char *software_version; - char *os; - char *os_version; +typedef struct software_version_t +{ + char* software; + char* software_version; + char* os; + char* os_version; } SoftwareVersion; -typedef struct entity_capabilities_t { - DiscoIdentity *identity; - SoftwareVersion *software_version; - GSList *features; +typedef struct entity_capabilities_t +{ + DiscoIdentity* identity; + SoftwareVersion* software_version; + GSList* features; } EntityCapabilities; -typedef struct disco_item_t { - char *jid; - char *name; +typedef struct disco_item_t +{ + char* jid; + char* name; } DiscoItem; typedef enum { @@ -140,155 +145,156 @@ typedef enum { PROF_MSG_TYPE_MUCPM } prof_msg_type_t; -typedef struct prof_message_t { - Jid *from_jid; - Jid *to_jid; - /* regular <message id=""> */ - char *id; - /* </origin-id> XEP-0359 */ - char *originid; - /* <replace id> XEP-0308 LMC */ - char *replace_id; - /* for MAM we will need archive_id (stanza-id in XEP-0359) (see database.c) */ - /* The raw body from xmpp message, either plaintext or OTR encrypted text */ - char *body; - /* The encrypted message as for PGP */ - char *encrypted; - /* The message that will be printed on screen and logs */ - char *plain; - GDateTime *timestamp; - prof_enc_t enc; - gboolean trusted; - gboolean is_mam; - prof_msg_type_t type; +typedef struct prof_message_t +{ + Jid* from_jid; + Jid* to_jid; + /* regular <message id=""> */ + char* id; + /* </origin-id> XEP-0359 */ + char* originid; + /* <replace id> XEP-0308 LMC */ + char* replace_id; + /* for MAM we will need archive_id (stanza-id in XEP-0359) (see database.c) */ + /* The raw body from xmpp message, either plaintext or OTR encrypted text */ + char* body; + /* The encrypted message as for PGP */ + char* encrypted; + /* The message that will be printed on screen and logs */ + char* plain; + GDateTime* timestamp; + prof_enc_t enc; + gboolean trusted; + gboolean is_mam; + prof_msg_type_t type; } ProfMessage; void session_init(void); -jabber_conn_status_t session_connect_with_details(const char *const jid, const char *const passwd, - const char *const altdomain, const int port, const char *const tls_policy, const char *const auth_policy); -jabber_conn_status_t session_connect_with_account(const ProfAccount *const account); +jabber_conn_status_t session_connect_with_details(const char* const jid, const char* const passwd, + const char* const altdomain, const int port, const char* const tls_policy, const char* const auth_policy); +jabber_conn_status_t session_connect_with_account(const ProfAccount* const account); void session_disconnect(void); void session_shutdown(void); void session_process_events(void); char* session_get_account_name(void); jabber_conn_status_t connection_get_status(void); -char *connection_get_presence_msg(void); -void connection_set_presence_msg(const char *const message); +char* connection_get_presence_msg(void); +void connection_set_presence_msg(const char* const message); const char* connection_get_fulljid(void); char* connection_get_barejid(void); char* connection_create_uuid(void); -void connection_free_uuid(char *uuid); +void connection_free_uuid(char* uuid); #ifdef HAVE_LIBMESODE TLSCertificate* connection_get_tls_peer_cert(void); #endif gboolean connection_is_secured(void); -gboolean connection_send_stanza(const char *const stanza); +gboolean connection_send_stanza(const char* const stanza); GList* connection_get_available_resources(void); -gboolean connection_supports(const char *const feature); -char* connection_jid_for_feature(const char *const feature); +gboolean connection_supports(const char* const feature); +char* connection_jid_for_feature(const char* const feature); const char* connection_get_profanity_identifier(void); -char* message_send_chat(const char *const barejid, const char *const msg, const char *const oob_url, gboolean request_receipt, const char *const replace_id); -char* message_send_chat_otr(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id); -char* message_send_chat_pgp(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id); +char* message_send_chat(const char* const barejid, const char* const msg, const char* const oob_url, gboolean request_receipt, const char* const replace_id); +char* message_send_chat_otr(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id); +char* message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id); // XEP-0373: OpenPGP for XMPP -char* message_send_chat_ox(const char *const barejid, const char *const msg, gboolean request_receipt, const char *const replace_id); -char* message_send_chat_omemo(const char *const jid, uint32_t sid, GList *keys, const unsigned char *const iv, size_t iv_len, const unsigned char *const ciphertext, size_t ciphertext_len, gboolean request_receipt, gboolean muc, const char *const replace_id); -char* message_send_private(const char *const fulljid, const char *const msg, const char *const oob_url); -char* message_send_groupchat(const char *const roomjid, const char *const msg, const char *const oob_url, const char *const replace_id); -void message_send_groupchat_subject(const char *const roomjid, const char *const subject); -void message_send_inactive(const char *const jid); -void message_send_composing(const char *const jid); -void message_send_paused(const char *const jid); -void message_send_gone(const char *const jid); -void message_send_invite(const char *const room, const char *const contact, const char *const reason); - -bool message_is_sent_by_us(const ProfMessage *const message, bool checkOID); - -void presence_subscription(const char *const jid, const jabber_subscr_t action); +char* message_send_chat_ox(const char* const barejid, const char* const msg, gboolean request_receipt, const char* const replace_id); +char* message_send_chat_omemo(const char* const jid, uint32_t sid, GList* keys, const unsigned char* const iv, size_t iv_len, const unsigned char* const ciphertext, size_t ciphertext_len, gboolean request_receipt, gboolean muc, const char* const replace_id); +char* message_send_private(const char* const fulljid, const char* const msg, const char* const oob_url); +char* message_send_groupchat(const char* const roomjid, const char* const msg, const char* const oob_url, const char* const replace_id); +void message_send_groupchat_subject(const char* const roomjid, const char* const subject); +void message_send_inactive(const char* const jid); +void message_send_composing(const char* const jid); +void message_send_paused(const char* const jid); +void message_send_gone(const char* const jid); +void message_send_invite(const char* const room, const char* const contact, const char* const reason); + +bool message_is_sent_by_us(const ProfMessage* const message, bool checkOID); + +void presence_subscription(const char* const jid, const jabber_subscr_t action); GList* presence_get_subscription_requests(void); gint presence_sub_request_count(void); void presence_reset_sub_request_search(void); -char* presence_sub_request_find(const char *const search_str, gboolean previous, void *context); -void presence_join_room(const char *const room, const char *const nick, const char *const passwd); -void presence_change_room_nick(const char *const room, const char *const nick); -void presence_leave_chat_room(const char *const room_jid); -void presence_send(resource_presence_t status, int idle, char *signed_status); -gboolean presence_sub_request_exists(const char *const bare_jid); +char* presence_sub_request_find(const char* const search_str, gboolean previous, void* context); +void presence_join_room(const char* const room, const char* const nick, const char* const passwd); +void presence_change_room_nick(const char* const room, const char* const nick); +void presence_leave_chat_room(const char* const room_jid); +void presence_send(resource_presence_t status, int idle, char* signed_status); +gboolean presence_sub_request_exists(const char* const bare_jid); void iq_enable_carbons(void); void iq_disable_carbons(void); -void iq_send_software_version(const char *const fulljid); +void iq_send_software_version(const char* const fulljid); void iq_rooms_cache_clear(void); void iq_handlers_clear(); -void iq_room_list_request(gchar *conferencejid, gchar *filter); -void iq_disco_info_request(gchar *jid); -void iq_disco_items_request(gchar *jid); -void iq_last_activity_request(gchar *jid); +void iq_room_list_request(gchar* conferencejid, gchar* filter); +void iq_disco_info_request(gchar* jid); +void iq_disco_items_request(gchar* jid); +void iq_last_activity_request(gchar* jid); void iq_set_autoping(int seconds); -void iq_confirm_instant_room(const char *const room_jid); -void iq_destroy_room(const char *const room_jid); -void iq_request_room_config_form(const char *const room_jid); -void iq_submit_room_config(ProfConfWin *confwin); -void iq_room_config_cancel(ProfConfWin *confwin); -void iq_send_ping(const char *const target); -void iq_room_info_request(const char *const room, gboolean display_result); -void iq_room_affiliation_list(const char *const room, char *affiliation, bool show); -void iq_room_affiliation_set(const char *const room, const char *const jid, char *affiliation, - const char *const reason); -void iq_room_kick_occupant(const char *const room, const char *const nick, const char *const reason); -void iq_room_role_set(const char *const room, const char *const nick, char *role, const char *const reason); -void iq_room_role_list(const char * const room, char *role); +void iq_confirm_instant_room(const char* const room_jid); +void iq_destroy_room(const char* const room_jid); +void iq_request_room_config_form(const char* const room_jid); +void iq_submit_room_config(ProfConfWin* confwin); +void iq_room_config_cancel(ProfConfWin* confwin); +void iq_send_ping(const char* const target); +void iq_room_info_request(const char* const room, gboolean display_result); +void iq_room_affiliation_list(const char* const room, char* affiliation, bool show); +void iq_room_affiliation_set(const char* const room, const char* const jid, char* affiliation, + const char* const reason); +void iq_room_kick_occupant(const char* const room, const char* const nick, const char* const reason); +void iq_room_role_set(const char* const room, const char* const nick, char* role, const char* const reason); +void iq_room_role_list(const char* const room, char* role); void iq_autoping_timer_cancel(void); void iq_autoping_check(void); -void iq_http_upload_request(HTTPUpload *upload); -void iq_command_list(const char *const target); -void iq_command_exec(const char *const target, const char *const command); -void iq_mam_request(ProfChatWin *win); +void iq_http_upload_request(HTTPUpload* upload); +void iq_command_list(const char* const target); +void iq_command_exec(const char* const target, const char* const command); +void iq_mam_request(ProfChatWin* win); -EntityCapabilities* caps_lookup(const char *const jid); +EntityCapabilities* caps_lookup(const char* const jid); void caps_close(void); -void caps_destroy(EntityCapabilities *caps); +void caps_destroy(EntityCapabilities* caps); void caps_reset_ver(void); -void caps_add_feature(char *feature); -void caps_remove_feature(char *feature); -gboolean caps_jid_has_feature(const char *const jid, const char *const feature); - -gboolean bookmark_add(const char *jid, const char *nick, const char *password, const char *autojoin_str, const char *name); -gboolean bookmark_update(const char *jid, const char *nick, const char *password, const char *autojoin_str, const char *name); -gboolean bookmark_remove(const char *jid); -gboolean bookmark_join(const char *jid); +void caps_add_feature(char* feature); +void caps_remove_feature(char* feature); +gboolean caps_jid_has_feature(const char* const jid, const char* const feature); + +gboolean bookmark_add(const char* jid, const char* nick, const char* password, const char* autojoin_str, const char* name); +gboolean bookmark_update(const char* jid, const char* nick, const char* password, const char* autojoin_str, const char* name); +gboolean bookmark_remove(const char* jid); +gboolean bookmark_join(const char* jid); GList* bookmark_get_list(void); -char* bookmark_find(const char *const search_str, gboolean previous, void *context); +char* bookmark_find(const char* const search_str, gboolean previous, void* context); void bookmark_autocomplete_reset(void); -gboolean bookmark_exists(const char *const room); +gboolean bookmark_exists(const char* const room); -void roster_send_name_change(const char *const barejid, const char *const new_name, GSList *groups); -void roster_send_add_to_group(const char *const group, PContact contact); -void roster_send_remove_from_group(const char *const group, PContact contact); -void roster_send_add_new(const char *const barejid, const char *const name); -void roster_send_remove(const char *const barejid); +void roster_send_name_change(const char* const barejid, const char* const new_name, GSList* groups); +void roster_send_add_to_group(const char* const group, PContact contact); +void roster_send_remove_from_group(const char* const group, PContact contact); +void roster_send_add_new(const char* const barejid, const char* const name); +void roster_send_remove(const char* const barejid); GList* blocked_list(void); -gboolean blocked_add(char *jid); -gboolean blocked_remove(char *jid); -char* blocked_ac_find(const char *const search_str, gboolean previous, void *context); +gboolean blocked_add(char* jid); +gboolean blocked_remove(char* jid); +char* blocked_ac_find(const char* const search_str, gboolean previous, void* context); void blocked_ac_reset(void); -void form_destroy(DataForm *form); -void form_set_value(DataForm *form, const char *const tag, char *value); -gboolean form_add_unique_value(DataForm *form, const char *const tag, char *value); -void form_add_value(DataForm *form, const char *const tag, char *value); -gboolean form_remove_value(DataForm *form, const char *const tag, char *value); -gboolean form_remove_text_multi_value(DataForm *form, const char *const tag, int index); -gboolean form_tag_exists(DataForm *form, const char *const tag); -form_field_type_t form_get_field_type(DataForm *form, const char *const tag); -gboolean form_field_contains_option(DataForm *form, const char *const tag, char *value); -int form_get_value_count(DataForm *form, const char *const tag); -FormField* form_get_field_by_tag(DataForm *form, const char *const tag); -Autocomplete form_get_value_ac(DataForm *form, const char *const tag); -void form_reset_autocompleters(DataForm *form); +void form_destroy(DataForm* form); +void form_set_value(DataForm* form, const char* const tag, char* value); +gboolean form_add_unique_value(DataForm* form, const char* const tag, char* value); +void form_add_value(DataForm* form, const char* const tag, char* value); +gboolean form_remove_value(DataForm* form, const char* const tag, char* value); +gboolean form_remove_text_multi_value(DataForm* form, const char* const tag, int index); +gboolean form_tag_exists(DataForm* form, const char* const tag); +form_field_type_t form_get_field_type(DataForm* form, const char* const tag); +gboolean form_field_contains_option(DataForm* form, const char* const tag, char* value); +int form_get_value_count(DataForm* form, const char* const tag); +FormField* form_get_field_by_tag(DataForm* form, const char* const tag); +Autocomplete form_get_value_ac(DataForm* form, const char* const tag); +void form_reset_autocompleters(DataForm* form); #endif |