mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-23 21:46:21 +00:00
Change char->free to auto_char char for autocleanup
Replace `gchar` and `g_free` to `auto_gchar` Correct certain `char` functions/variables to `gchar` Related to #1819. Edited by @jubalh.
This commit is contained in:
@@ -100,7 +100,7 @@ avatar_pep_subscribe(void)
|
||||
gboolean
|
||||
avatar_set(const char* path)
|
||||
{
|
||||
char* expanded_path = get_expanded_path(path);
|
||||
auto_char char* expanded_path = get_expanded_path(path);
|
||||
|
||||
GError* err = NULL;
|
||||
GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file(expanded_path, &err);
|
||||
@@ -109,7 +109,6 @@ avatar_set(const char* path)
|
||||
cons_show_error("An error occurred while opening %s: %s.", expanded_path, err ? err->message : "No error message given");
|
||||
return FALSE;
|
||||
}
|
||||
free(expanded_path);
|
||||
|
||||
// Scale img
|
||||
int w = gdk_pixbuf_get_width(pixbuf);
|
||||
@@ -127,7 +126,7 @@ avatar_set(const char* path)
|
||||
pixbuf = new_pixbuf;
|
||||
}
|
||||
|
||||
gchar* img_data;
|
||||
auto_gchar gchar* img_data;
|
||||
gsize len = -1;
|
||||
|
||||
if (!gdk_pixbuf_save_to_buffer(pixbuf, &img_data, &len, "png", &err, NULL)) {
|
||||
@@ -141,7 +140,6 @@ avatar_set(const char* path)
|
||||
xmpp_stanza_release(iq);
|
||||
|
||||
iq = stanza_create_avatar_metadata_publish_iq(ctx, img_data, len, gdk_pixbuf_get_height(pixbuf), gdk_pixbuf_get_width(pixbuf));
|
||||
free(img_data);
|
||||
g_object_unref(pixbuf);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
@@ -252,13 +250,11 @@ _avatar_request_item_by_id(const char* jid, avatar_metadata* data)
|
||||
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
char* uid = connection_create_stanza_id();
|
||||
auto_char char* uid = connection_create_stanza_id();
|
||||
|
||||
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);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -297,18 +293,16 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
|
||||
return 1;
|
||||
}
|
||||
|
||||
char* buf = xmpp_stanza_get_text(st_data);
|
||||
auto_char char* buf = xmpp_stanza_get_text(st_data);
|
||||
if (!buf) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
gsize size;
|
||||
gchar* de = (gchar*)g_base64_decode(buf, &size);
|
||||
free(buf);
|
||||
auto_gchar gchar* de = (gchar*)g_base64_decode(buf, &size);
|
||||
|
||||
char* path = files_get_data_path("");
|
||||
auto_gchar gchar* path = files_get_data_path("");
|
||||
GString* filename = g_string_new(path);
|
||||
free(path);
|
||||
|
||||
g_string_append(filename, "avatars/");
|
||||
|
||||
@@ -323,7 +317,7 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
|
||||
}
|
||||
}
|
||||
|
||||
gchar* from = str_replace(from_attr, "@", "_at_");
|
||||
auto_gchar gchar* from = str_replace(from_attr, "@", "_at_");
|
||||
g_string_append(filename, from);
|
||||
|
||||
avatar_metadata* data = (avatar_metadata*)userdata;
|
||||
@@ -340,8 +334,6 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
|
||||
g_string_append(filename, ".webp");
|
||||
}
|
||||
|
||||
free(from);
|
||||
|
||||
GError* err = NULL;
|
||||
if (g_file_set_contents(filename->str, de, size, &err) == FALSE) {
|
||||
log_error("Unable to save picture: %s", err->message);
|
||||
@@ -371,7 +363,6 @@ _avatar_request_item_result_handler(xmpp_stanza_t* const stanza, void* const use
|
||||
}
|
||||
|
||||
g_string_free(filename, TRUE);
|
||||
free(de);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -70,13 +70,12 @@ blocking_request(void)
|
||||
}
|
||||
blocked_ac = autocomplete_new();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_stanza_set_id(iq, id);
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
@@ -112,7 +111,7 @@ blocked_add(char* jid, blocked_report reportkind, const char* const message)
|
||||
|
||||
xmpp_ctx_t* ctx = connection_get_ctx();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -156,7 +155,6 @@ blocked_add(char* jid, blocked_report reportkind, const char* const message)
|
||||
xmpp_stanza_release(block);
|
||||
|
||||
iq_id_handler_add(id, _block_add_result_handler, free, strdup(jid));
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
@@ -174,7 +172,7 @@ blocked_remove(char* jid)
|
||||
|
||||
xmpp_ctx_t* ctx = connection_get_ctx();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -192,7 +190,6 @@ blocked_remove(char* jid)
|
||||
xmpp_stanza_release(block);
|
||||
|
||||
iq_id_handler_add(id, _block_remove_result_handler, free, strdup(jid));
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
|
||||
@@ -312,13 +312,12 @@ _bookmark_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
int minimize = 0;
|
||||
xmpp_stanza_t* minimize_st = xmpp_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);
|
||||
auto_char char* min_str = xmpp_stanza_get_text(minimize_st);
|
||||
if (strcmp(min_str, "true") == 0) {
|
||||
minimize = 1;
|
||||
} else if (strcmp(min_str, "false") == 0) {
|
||||
minimize = 2;
|
||||
}
|
||||
free(min_str);
|
||||
}
|
||||
|
||||
autocomplete_add(bookmark_ac, barejid);
|
||||
@@ -364,9 +363,8 @@ _send_bookmarks(void)
|
||||
{
|
||||
xmpp_ctx_t* ctx = connection_get_ctx();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(query, STANZA_NAME_QUERY);
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#include "xmpp/form.h"
|
||||
#include "xmpp/capabilities.h"
|
||||
|
||||
static char* cache_loc;
|
||||
static gchar* cache_loc;
|
||||
static GKeyFile* cache;
|
||||
|
||||
static GHashTable* jid_to_ver;
|
||||
@@ -355,7 +355,7 @@ caps_close(void)
|
||||
cache = NULL;
|
||||
g_hash_table_destroy(jid_to_ver);
|
||||
g_hash_table_destroy(jid_to_caps);
|
||||
free(cache_loc);
|
||||
g_free(cache_loc);
|
||||
cache_loc = NULL;
|
||||
g_hash_table_destroy(prof_features);
|
||||
prof_features = NULL;
|
||||
|
||||
@@ -238,10 +238,9 @@ _conn_apply_settings(const char* const jid, const char* const passwd, const char
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
char* cert_path = prefs_get_tls_certpath();
|
||||
auto_char char* cert_path = prefs_get_tls_certpath();
|
||||
if (cert_path) {
|
||||
xmpp_conn_set_capath(conn.xmpp_conn, cert_path);
|
||||
free(cert_path);
|
||||
}
|
||||
|
||||
xmpp_conn_set_certfail_handler(conn.xmpp_conn, _connection_certfail_cb);
|
||||
@@ -734,9 +733,8 @@ connection_get_barejid(void)
|
||||
if (!jid)
|
||||
return NULL;
|
||||
|
||||
Jid* jidp = jid_create(jid);
|
||||
auto_jid Jid* jidp = jid_create(jid);
|
||||
char* result = strdup(jidp->barejid);
|
||||
jid_destroy(jidp);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -811,18 +809,15 @@ connection_free_uuid(char* uuid)
|
||||
char*
|
||||
connection_create_stanza_id(void)
|
||||
{
|
||||
char* rndid = get_random_string(CON_RAND_ID_LEN);
|
||||
auto_char char* rndid = get_random_string(CON_RAND_ID_LEN);
|
||||
assert(rndid != NULL);
|
||||
|
||||
gchar* hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA1,
|
||||
(guchar*)prof_identifier, strlen(prof_identifier),
|
||||
rndid, strlen(rndid));
|
||||
auto_gchar gchar* hmac = g_compute_hmac_for_string(G_CHECKSUM_SHA1,
|
||||
(guchar*)prof_identifier, strlen(prof_identifier),
|
||||
rndid, strlen(rndid));
|
||||
|
||||
char* ret = g_strdup_printf("%s%s", rndid, hmac);
|
||||
|
||||
free(rndid);
|
||||
g_free(hmac);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1108,11 +1103,9 @@ _xmpp_file_logger(void* const userdata, const xmpp_log_level_t xmpp_level, const
|
||||
static void
|
||||
_random_bytes_init(void)
|
||||
{
|
||||
char* rndbytes_loc;
|
||||
auto_gchar gchar* rndbytes_loc = files_get_data_path(FILE_PROFANITY_IDENTIFIER);
|
||||
GKeyFile* rndbytes;
|
||||
|
||||
rndbytes_loc = files_get_data_path(FILE_PROFANITY_IDENTIFIER);
|
||||
|
||||
if (g_file_test(rndbytes_loc, G_FILE_TEST_EXISTS)) {
|
||||
g_chmod(rndbytes_loc, S_IRUSR | S_IWUSR);
|
||||
}
|
||||
@@ -1127,18 +1120,13 @@ _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);
|
||||
auto_gchar 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);
|
||||
auto_gchar gchar* base = g_path_get_dirname(rndbytes_loc);
|
||||
auto_gchar 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);
|
||||
free(true_loc);
|
||||
g_free(g_accounts_data);
|
||||
}
|
||||
|
||||
free(rndbytes_loc);
|
||||
g_key_file_free(rndbytes);
|
||||
}
|
||||
|
||||
|
||||
111
src/xmpp/iq.c
111
src/xmpp/iq.c
@@ -429,10 +429,9 @@ iq_http_upload_request(HTTPUpload* upload)
|
||||
}
|
||||
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
@@ -444,13 +443,11 @@ void
|
||||
iq_disco_info_request(gchar* jid)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -459,13 +456,11 @@ void
|
||||
iq_disco_info_request_onconnect(gchar* jid)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -474,13 +469,11 @@ void
|
||||
iq_last_activity_request(gchar* jid)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -489,7 +482,7 @@ void
|
||||
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();
|
||||
auto_char 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));
|
||||
@@ -502,8 +495,6 @@ iq_room_info_request(const char* const room, gboolean display_result)
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
|
||||
free(id);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -832,7 +823,7 @@ static void
|
||||
_error_handler(xmpp_stanza_t* const stanza)
|
||||
{
|
||||
const char* id = xmpp_stanza_get_id(stanza);
|
||||
char* error_msg = stanza_get_error_message(stanza);
|
||||
auto_char char* error_msg = stanza_get_error_message(stanza);
|
||||
|
||||
if (id) {
|
||||
log_debug("IQ error handler fired, id: %s, error: %s", id, error_msg);
|
||||
@@ -841,8 +832,6 @@ _error_handler(xmpp_stanza_t* const stanza)
|
||||
log_debug("IQ error handler fired, error: %s", error_msg);
|
||||
log_error("IQ error received, error: %s", error_msg);
|
||||
}
|
||||
|
||||
free(error_msg);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -871,9 +860,8 @@ _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);
|
||||
auto_char 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;
|
||||
}
|
||||
|
||||
@@ -950,9 +938,8 @@ _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);
|
||||
auto_char 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;
|
||||
}
|
||||
|
||||
@@ -1009,9 +996,8 @@ _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);
|
||||
auto_char 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;
|
||||
}
|
||||
|
||||
@@ -1142,7 +1128,7 @@ _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));
|
||||
auto_char char* from = strdup(xmpp_stanza_get_from(stanza));
|
||||
|
||||
if (id) {
|
||||
log_debug("IQ command list result handler fired, id: %s.", id);
|
||||
@@ -1152,14 +1138,12 @@ _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);
|
||||
auto_char 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);
|
||||
if (win) {
|
||||
win_command_list_error(win, error_message);
|
||||
}
|
||||
free(error_message);
|
||||
free(from);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1187,7 +1171,6 @@ _command_list_result_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
|
||||
win_handle_command_list(win, cmds);
|
||||
g_slist_free(cmds);
|
||||
free(from);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1215,10 +1198,9 @@ _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);
|
||||
auto_char 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;
|
||||
}
|
||||
|
||||
@@ -1321,10 +1303,9 @@ _enable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
{
|
||||
const char* type = xmpp_stanza_get_type(stanza);
|
||||
if (g_strcmp0(type, "error") == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char 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);
|
||||
} else {
|
||||
log_debug("Message carbons enabled.");
|
||||
}
|
||||
@@ -1337,10 +1318,9 @@ _disable_carbons_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
{
|
||||
const char* type = xmpp_stanza_get_type(stanza);
|
||||
if (g_strcmp0(type, "error") == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char 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);
|
||||
} else {
|
||||
log_debug("Message carbons disabled.");
|
||||
}
|
||||
@@ -1357,14 +1337,13 @@ _manual_pong_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);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
if (!error_message) {
|
||||
cons_show_error("Error returned from pinging %s.", from);
|
||||
} else {
|
||||
cons_show_error("Error returned from pinging %s: %s.", from, error_message);
|
||||
}
|
||||
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1444,9 +1423,8 @@ _auto_pong_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
}
|
||||
|
||||
// show warning if error
|
||||
char* error_msg = stanza_get_error_message(stanza);
|
||||
auto_char 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);
|
||||
@@ -1483,9 +1461,8 @@ _version_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
|
||||
if (g_strcmp0(type, STANZA_TYPE_RESULT) != 0) {
|
||||
if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
ui_handle_software_version_error(from, error_message);
|
||||
free(error_message);
|
||||
} else {
|
||||
ui_handle_software_version_error(from, "unknown error");
|
||||
log_error("Software version result with unrecognised type attribute.");
|
||||
@@ -1876,9 +1853,8 @@ _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);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
ui_handle_room_configuration_form_error(from, error_message);
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1932,13 +1908,12 @@ _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);
|
||||
auto_char 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);
|
||||
if (mucwin) {
|
||||
mucwin_affiliation_set_error(mucwin, affiliation_set->item, affiliation_set->privilege, error_message);
|
||||
}
|
||||
free(error_message);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1960,13 +1935,12 @@ _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);
|
||||
auto_char 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);
|
||||
if (mucwin) {
|
||||
mucwin_role_set_error(mucwin, role_set->item, role_set->privilege, error_message);
|
||||
}
|
||||
free(error_message);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1988,13 +1962,12 @@ _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);
|
||||
auto_char 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);
|
||||
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;
|
||||
@@ -2045,13 +2018,12 @@ _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);
|
||||
auto_char 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);
|
||||
if (mucwin) {
|
||||
mucwin_role_list_error(mucwin, role, error_message);
|
||||
}
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
GSList* nicks = NULL;
|
||||
@@ -2095,9 +2067,8 @@ _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);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
ui_handle_room_config_submit_result_error(from, error_message);
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2123,9 +2094,8 @@ _room_kick_result_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
// handle error responses
|
||||
ProfMucWin* mucwin = wins_get_muc(from);
|
||||
if (mucwin && (g_strcmp0(type, STANZA_TYPE_ERROR) == 0)) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
mucwin_kick_error(mucwin, nick, error_message);
|
||||
free(error_message);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2163,9 +2133,8 @@ _room_info_response_id_handler(xmpp_stanza_t* const stanza, void* const userdata
|
||||
if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) {
|
||||
ProfMucWin* mucwin = wins_get_muc(cb_data->room);
|
||||
if (mucwin && cb_data->display) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
mucwin_room_info_error(mucwin, error_message);
|
||||
free(error_message);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -2256,13 +2225,12 @@ _last_activity_response_id_handler(xmpp_stanza_t* const stanza, void* const user
|
||||
|
||||
// handle error responses
|
||||
if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
if (from) {
|
||||
cons_show_error("Last activity request failed for %s: %s", from, error_message);
|
||||
} else {
|
||||
cons_show_error("Last activity request failed: %s", error_message);
|
||||
}
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2310,13 +2278,12 @@ _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);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
if (from) {
|
||||
cons_show_error("Service discovery failed for %s: %s", from, error_message);
|
||||
} else {
|
||||
cons_show_error("Service discovery failed: %s", error_message);
|
||||
}
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2394,13 +2361,12 @@ _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);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
if (from) {
|
||||
log_error("Service discovery failed for %s: %s", from, error_message);
|
||||
} else {
|
||||
log_error("Service discovery failed: %s", error_message);
|
||||
}
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2446,13 +2412,12 @@ _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);
|
||||
auto_char 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 {
|
||||
cons_show_error("Uploading '%s' failed: %s", upload->filename, error_message);
|
||||
}
|
||||
free(error_message);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2569,10 +2534,9 @@ iq_send_stanza(xmpp_stanza_t* const stanza)
|
||||
xmpp_stanza_to_text(stanza, &text, &text_size);
|
||||
|
||||
xmpp_conn_t* conn = connection_get_conn();
|
||||
char* plugin_text = plugins_on_iq_stanza_send(text);
|
||||
auto_char char* plugin_text = plugins_on_iq_stanza_send(text);
|
||||
if (plugin_text) {
|
||||
xmpp_send_raw_string(conn, "%s", plugin_text);
|
||||
free(plugin_text);
|
||||
} else {
|
||||
xmpp_send_raw_string(conn, "%s", text);
|
||||
}
|
||||
@@ -2745,10 +2709,9 @@ _mam_rsm_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
{
|
||||
const char* type = xmpp_stanza_get_type(stanza);
|
||||
if (g_strcmp0(type, "error") == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
cons_show_error("Server error: %s", error_message);
|
||||
log_debug("MAM Error: %s", error_message);
|
||||
free(error_message);
|
||||
} else if (g_strcmp0(type, "result") == 0) {
|
||||
xmpp_stanza_t* fin = xmpp_stanza_get_child_by_name_and_ns(stanza, STANZA_NAME_FIN, STANZA_NS_MAM2);
|
||||
if (fin) {
|
||||
@@ -2782,7 +2745,7 @@ _mam_rsm_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
if (set) {
|
||||
win_print_loading_history(window);
|
||||
|
||||
char* firstid = NULL;
|
||||
auto_char char* firstid = NULL;
|
||||
xmpp_stanza_t* first = xmpp_stanza_get_child_by_name(set, STANZA_NAME_FIRST);
|
||||
firstid = xmpp_stanza_get_text(first);
|
||||
|
||||
@@ -2794,7 +2757,6 @@ _mam_rsm_id_handler(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
data->end_datestr = NULL;
|
||||
}
|
||||
xmpp_stanza_t* iq = stanza_create_mam_iq(ctx, data->barejid, data->start_datestr, NULL, firstid, NULL);
|
||||
free(firstid);
|
||||
|
||||
MamRsmUserdata* ndata = malloc(sizeof(*ndata));
|
||||
*ndata = *data;
|
||||
@@ -2833,10 +2795,9 @@ _register_change_password_result_id_handler(xmpp_stanza_t* const stanza, void* c
|
||||
{
|
||||
const char* type = xmpp_stanza_get_type(stanza);
|
||||
if (g_strcmp0(type, "error") == 0) {
|
||||
char* error_message = stanza_get_error_message(stanza);
|
||||
auto_char char* error_message = stanza_get_error_message(stanza);
|
||||
cons_show_error("Server error: %s", error_message);
|
||||
log_debug("Password change error: %s", error_message);
|
||||
free(error_message);
|
||||
} else {
|
||||
cons_show("Password successfully changed.");
|
||||
log_debug("Password successfully changed.");
|
||||
@@ -2884,13 +2845,12 @@ _muc_register_nick_response_handler(xmpp_stanza_t* const stanza, void* const use
|
||||
void
|
||||
iq_submit_muc_register_nick_form(ProfConfWin* confwin)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
xmpp_stanza_t* iq = stanza_create_muc_register_nick(ctx, id, confwin->roomjid, NULL, confwin->form);
|
||||
|
||||
iq_id_handler_add(id, _muc_register_nick_response_handler, NULL, NULL);
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
@@ -2950,7 +2910,7 @@ iq_muc_register_nick(const char* const roomjid)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_GET, id);
|
||||
xmpp_stanza_set_to(iq, roomjid);
|
||||
@@ -2961,7 +2921,6 @@ iq_muc_register_nick(const char* const roomjid)
|
||||
xmpp_stanza_add_child(iq, query);
|
||||
|
||||
iq_id_handler_add(id, _muc_register_nick_handler, NULL, NULL);
|
||||
free(id);
|
||||
|
||||
iq_send_stanza(iq);
|
||||
|
||||
|
||||
@@ -111,12 +111,8 @@ jid_create(const gchar* const str)
|
||||
Jid*
|
||||
jid_create_from_bare_and_resource(const char* const barejid, const char* const resource)
|
||||
{
|
||||
Jid* result;
|
||||
char* jid = create_fulljid(barejid, resource);
|
||||
result = jid_create(jid);
|
||||
free(jid);
|
||||
|
||||
return result;
|
||||
auto_char char* jid = create_fulljid(barejid, resource);
|
||||
return jid_create(jid);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -243,7 +243,7 @@ _message_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* con
|
||||
if (carbons) {
|
||||
|
||||
// carbon must come from ourselves
|
||||
char* mybarejid = connection_get_barejid();
|
||||
auto_char char* mybarejid = connection_get_barejid();
|
||||
const char* const stanza_from = xmpp_stanza_get_from(stanza);
|
||||
|
||||
if (stanza_from) {
|
||||
@@ -256,8 +256,6 @@ _message_handler(xmpp_conn_t* const conn, xmpp_stanza_t* const stanza, void* con
|
||||
msg_stanza = _handle_carbons(carbons);
|
||||
}
|
||||
}
|
||||
|
||||
free(mybarejid);
|
||||
}
|
||||
|
||||
if (msg_stanza) {
|
||||
@@ -425,12 +423,11 @@ message_send_chat(const char* const barejid, const char* const msg, const char*
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
const char* state = chat_session_get_state(barejid);
|
||||
char* jid = chat_session_get_jid(barejid);
|
||||
auto_char 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_message_set_body(message, msg);
|
||||
free(jid);
|
||||
|
||||
if (state) {
|
||||
stanza_attach_state(ctx, message, state);
|
||||
@@ -460,7 +457,7 @@ message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
const char* state = chat_session_get_state(barejid);
|
||||
char* jid = chat_session_get_jid(barejid);
|
||||
auto_char char* jid = chat_session_get_jid(barejid);
|
||||
char* id = connection_create_stanza_id();
|
||||
|
||||
xmpp_stanza_t* message = NULL;
|
||||
@@ -469,7 +466,7 @@ message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean
|
||||
ProfAccount* account = accounts_get_account(account_name);
|
||||
if (account->pgp_keyid) {
|
||||
auto_jid Jid* jidp = jid_create(jid);
|
||||
char* encrypted = p_gpg_encrypt(jidp->barejid, msg, account->pgp_keyid);
|
||||
auto_char 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).");
|
||||
@@ -482,7 +479,6 @@ message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean
|
||||
xmpp_stanza_release(enc_st);
|
||||
xmpp_stanza_add_child(message, x);
|
||||
xmpp_stanza_release(x);
|
||||
free(encrypted);
|
||||
} else {
|
||||
message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id);
|
||||
xmpp_message_set_body(message, msg);
|
||||
@@ -497,7 +493,6 @@ message_send_chat_pgp(const char* const barejid, const char* const msg, gboolean
|
||||
message = xmpp_message_new(ctx, STANZA_TYPE_CHAT, jid, id);
|
||||
xmpp_message_set_body(message, msg);
|
||||
#endif
|
||||
free(jid);
|
||||
|
||||
if (state) {
|
||||
stanza_attach_state(ctx, message, state);
|
||||
@@ -586,14 +581,11 @@ message_send_chat_otr(const char* const barejid, const char* const msg, gboolean
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
const 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_message_set_body(message, msg);
|
||||
|
||||
free(jid);
|
||||
|
||||
if (state) {
|
||||
stanza_attach_state(ctx, message, state);
|
||||
}
|
||||
@@ -852,7 +844,7 @@ _handle_error(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
|
||||
// stanza_get_error never returns NULL
|
||||
char* err_msg = stanza_get_error_message(stanza);
|
||||
auto_char char* err_msg = stanza_get_error_message(stanza);
|
||||
|
||||
GString* log_msg = g_string_new("message stanza error received");
|
||||
if (id) {
|
||||
@@ -885,8 +877,6 @@ _handle_error(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
ui_handle_recipient_error(jid, err_msg);
|
||||
}
|
||||
|
||||
free(err_msg);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1058,10 +1048,9 @@ _handle_groupchat(xmpp_stanza_t* const stanza)
|
||||
|
||||
if (code) {
|
||||
// If configuration change notification send disco info to get updated info of the muc
|
||||
char* disqo_info_id = connection_create_stanza_id();
|
||||
auto_char char* disqo_info_id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = stanza_create_disco_info_iq(ctx, disqo_info_id, room_jid, NULL);
|
||||
iq_id_handler_add(disqo_info_id, _room_config_handler, NULL, NULL);
|
||||
free(disqo_info_id);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
|
||||
@@ -1181,9 +1170,8 @@ _message_send_receipt(const char* const fulljid, const char* const message_id)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(receipt, "received");
|
||||
@@ -1343,12 +1331,10 @@ _handle_carbons(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
|
||||
// Eliminate duplicate messages in chat with oneself when another client is sending a message
|
||||
char* bare_from = xmpp_jid_bare(connection_get_ctx(), xmpp_stanza_get_from(message_stanza));
|
||||
auto_char char* bare_from = xmpp_jid_bare(connection_get_ctx(), xmpp_stanza_get_from(message_stanza));
|
||||
if (g_strcmp0(bare_from, xmpp_stanza_get_to(message_stanza)) == 0) {
|
||||
free(bare_from);
|
||||
return NULL;
|
||||
}
|
||||
free(bare_from);
|
||||
|
||||
return message_stanza;
|
||||
}
|
||||
@@ -1469,7 +1455,7 @@ _handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon, c
|
||||
|
||||
if (message->plain || message->body || message->encrypted) {
|
||||
if (is_carbon) {
|
||||
char* mybarejid = connection_get_barejid();
|
||||
auto_char char* mybarejid = connection_get_barejid();
|
||||
|
||||
// if we are the recipient, treat as standard incoming message
|
||||
if (g_strcmp0(mybarejid, message->to_jid->barejid) == 0) {
|
||||
@@ -1478,8 +1464,6 @@ _handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon, c
|
||||
} else {
|
||||
sv_ev_outgoing_carbon(message);
|
||||
}
|
||||
|
||||
free(mybarejid);
|
||||
} else {
|
||||
sv_ev_incoming_message(message);
|
||||
_receipt_request_handler(stanza);
|
||||
@@ -1589,10 +1573,9 @@ _send_message_stanza(xmpp_stanza_t* const stanza)
|
||||
xmpp_stanza_to_text(stanza, &text, &text_size);
|
||||
|
||||
xmpp_conn_t* conn = connection_get_conn();
|
||||
char* plugin_text = plugins_on_message_stanza_send(text);
|
||||
auto_char char* plugin_text = plugins_on_message_stanza_send(text);
|
||||
if (plugin_text) {
|
||||
xmpp_send_raw_string(conn, "%s", plugin_text);
|
||||
free(plugin_text);
|
||||
} else {
|
||||
xmpp_send_raw_string(conn, "%s", text);
|
||||
}
|
||||
|
||||
@@ -885,11 +885,10 @@ muc_members_add(const char* const room, const char* const jid)
|
||||
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();
|
||||
auto_char char* our_barejid = connection_get_barejid();
|
||||
if (strcmp(jid, our_barejid) != 0) {
|
||||
omemo_start_session(jid);
|
||||
}
|
||||
free(our_barejid);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -86,8 +86,8 @@ void
|
||||
omemo_devicelist_configure(void)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
Jid* jid = jid_create(connection_get_fulljid());
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
auto_jid Jid* jid = jid_create(connection_get_fulljid());
|
||||
|
||||
xmpp_stanza_t* iq = stanza_create_pubsub_configure_request(ctx, id, jid->barejid, STANZA_NS_OMEMO_DEVICELIST);
|
||||
|
||||
@@ -96,15 +96,13 @@ omemo_devicelist_configure(void)
|
||||
iq_send_stanza(iq);
|
||||
|
||||
xmpp_stanza_release(iq);
|
||||
free(id);
|
||||
jid_destroy(jid);
|
||||
}
|
||||
|
||||
void
|
||||
omemo_devicelist_request(const char* const jid)
|
||||
{
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
|
||||
log_debug("[OMEMO] request device list for jid: %s", jid);
|
||||
|
||||
@@ -113,7 +111,6 @@ omemo_devicelist_request(const char* const jid)
|
||||
|
||||
iq_send_stanza(iq);
|
||||
|
||||
free(id);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
|
||||
|
||||
@@ -124,9 +124,8 @@ ox_announce_public_key(const char* const filename)
|
||||
|
||||
xmpp_stanza_t* item = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(item, STANZA_NAME_ITEM);
|
||||
char* timestamp = _gettimestamp();
|
||||
auto_char char* timestamp = _gettimestamp();
|
||||
xmpp_stanza_set_attribute(item, STANZA_ATTR_ID, timestamp);
|
||||
free(timestamp);
|
||||
|
||||
xmpp_stanza_t* pubkey = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(pubkey, STANZA_NAME_PUPKEY);
|
||||
@@ -267,9 +266,8 @@ _ox_metadata_node__public_key(const char* const fingerprint)
|
||||
xmpp_stanza_t* pubkeymetadata = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(pubkeymetadata, STANZA_NAME_PUBKEY_METADATA);
|
||||
xmpp_stanza_set_attribute(pubkeymetadata, STANZA_ATTR_V4_FINGERPRINT, fingerprint);
|
||||
char* timestamp = _gettimestamp();
|
||||
auto_char char* timestamp = _gettimestamp();
|
||||
xmpp_stanza_set_attribute(pubkeymetadata, STANZA_ATTR_DATE, timestamp);
|
||||
free(timestamp);
|
||||
|
||||
xmpp_stanza_add_child(publickeyslist, pubkeymetadata);
|
||||
xmpp_stanza_add_child(item, publickeyslist);
|
||||
@@ -467,7 +465,7 @@ _ox_public_key_result(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
log_error("[OX] No data");
|
||||
}
|
||||
|
||||
char* base64_data = xmpp_stanza_get_text(data);
|
||||
auto_char char* base64_data = xmpp_stanza_get_text(data);
|
||||
if (base64_data) {
|
||||
log_debug("Key data: %s", base64_data);
|
||||
|
||||
@@ -476,8 +474,6 @@ _ox_public_key_result(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
} else {
|
||||
cons_show("Public Key import failed. Check log for details.");
|
||||
}
|
||||
|
||||
free(base64_data);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
@@ -124,9 +124,8 @@ presence_subscription(const char* const jid, const jabber_subscr_t action)
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t* presence = xmpp_presence_new(ctx);
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_set_id(presence, id);
|
||||
free(id);
|
||||
|
||||
xmpp_stanza_set_type(presence, type);
|
||||
xmpp_stanza_set_to(presence, jidp->barejid);
|
||||
@@ -207,9 +206,8 @@ presence_send(const resource_presence_t presence_type, const int idle, char* sig
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t* presence = xmpp_presence_new(ctx);
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
stanza_attach_show(ctx, presence, show);
|
||||
@@ -265,10 +263,9 @@ _send_room_presence(xmpp_stanza_t* presence)
|
||||
const char* nick = muc_nick(room);
|
||||
|
||||
if (nick) {
|
||||
char* full_room_jid = create_fulljid(room, nick);
|
||||
auto_char 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);
|
||||
|
||||
_send_presence_stanza(presence);
|
||||
}
|
||||
@@ -313,7 +310,7 @@ presence_change_room_nick(const char* const room, const char* const nick)
|
||||
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);
|
||||
auto_char 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);
|
||||
@@ -325,7 +322,6 @@ presence_change_room_nick(const char* const room, const char* const nick)
|
||||
_send_presence_stanza(presence);
|
||||
|
||||
xmpp_stanza_release(presence);
|
||||
free(full_room_jid);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -451,7 +447,7 @@ _presence_error_handler(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
|
||||
// stanza_get_error never returns NULL
|
||||
char* err_msg = stanza_get_error_message(stanza);
|
||||
auto_char char* err_msg = stanza_get_error_message(stanza);
|
||||
g_string_append(log_msg, " error=");
|
||||
g_string_append(log_msg, err_msg);
|
||||
|
||||
@@ -464,8 +460,6 @@ _presence_error_handler(xmpp_stanza_t* const stanza)
|
||||
} else {
|
||||
ui_handle_error(err_msg);
|
||||
}
|
||||
|
||||
free(err_msg);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -544,7 +538,7 @@ _unavailable_handler(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
|
||||
if (strcmp(my_jid->barejid, from_jid->barejid) != 0) {
|
||||
char* status_str = stanza_get_status(stanza, NULL);
|
||||
auto_char char* status_str = stanza_get_status(stanza, NULL);
|
||||
if (from_jid->resourcepart) {
|
||||
sv_ev_contact_offline(from_jid->barejid, from_jid->resourcepart, status_str);
|
||||
|
||||
@@ -552,7 +546,6 @@ _unavailable_handler(xmpp_stanza_t* const stanza)
|
||||
} else {
|
||||
sv_ev_contact_offline(from_jid->barejid, "__prof_default", status_str);
|
||||
}
|
||||
free(status_str);
|
||||
} else {
|
||||
if (from_jid->resourcepart) {
|
||||
connection_remove_available_resource(from_jid->resourcepart);
|
||||
@@ -575,25 +568,22 @@ _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();
|
||||
auto_char 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
|
||||
} else if (caps->hash) {
|
||||
log_info("Hash %s not supported: %s, sending service discovery request", caps->hash, jid);
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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) {
|
||||
log_info("No hash specified: %s, legacy request made for %s#%s", jid, caps->node, caps->ver);
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
iq_send_caps_request_legacy(jid, id, caps->node, caps->ver);
|
||||
free(id);
|
||||
} else {
|
||||
log_info("No hash specified: %s, could not create ver string, not sending service discovery request.", jid);
|
||||
}
|
||||
@@ -783,25 +773,21 @@ _muc_user_self_handler(xmpp_stanza_t* stanza)
|
||||
// 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);
|
||||
auto_char char* password = stanza_get_muc_destroy_alternative_password(stanza);
|
||||
auto_char char* reason = stanza_get_muc_destroy_reason(stanza);
|
||||
sv_ev_room_destroyed(room, new_jid, password, reason);
|
||||
free(password);
|
||||
free(reason);
|
||||
|
||||
// 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);
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
sv_ev_room_kicked(room, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// 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);
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
sv_ev_room_banned(room, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// normal exit
|
||||
} else {
|
||||
@@ -818,9 +804,9 @@ _muc_user_self_handler(xmpp_stanza_t* stanza)
|
||||
}
|
||||
|
||||
muc_nick_change_complete(room, nick);
|
||||
char* reason = stanza_get_reason(stanza);
|
||||
char* show_str = stanza_get_show(stanza, "online");
|
||||
char* status_str = stanza_get_status(stanza, NULL);
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
auto_char char* show_str = stanza_get_show(stanza, "online");
|
||||
auto_char char* status_str = stanza_get_status(stanza, NULL);
|
||||
const char* actor = stanza_get_actor(stanza);
|
||||
const char* jid = NULL;
|
||||
const char* role = NULL;
|
||||
@@ -836,9 +822,6 @@ _muc_user_self_handler(xmpp_stanza_t* stanza)
|
||||
}
|
||||
}
|
||||
sv_ev_muc_self_online(room, nick, config_required, role, affiliation, actor, reason, jid, show_str, status_str);
|
||||
free(show_str);
|
||||
free(status_str);
|
||||
free(reason);
|
||||
}
|
||||
|
||||
jid_destroy(from_jid);
|
||||
@@ -848,13 +831,13 @@ static void
|
||||
_muc_user_occupant_handler(xmpp_stanza_t* stanza)
|
||||
{
|
||||
const char* from = xmpp_stanza_get_from(stanza);
|
||||
Jid* from_jid = jid_create(from);
|
||||
auto_jid 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);
|
||||
auto_char char* status_str = stanza_get_status(stanza, NULL);
|
||||
|
||||
if (!nick) {
|
||||
log_warning("presence: jid without resource");
|
||||
@@ -876,16 +859,14 @@ _muc_user_occupant_handler(xmpp_stanza_t* stanza)
|
||||
// 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);
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
sv_ev_room_occupent_kicked(room, nick, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// 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);
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
sv_ev_room_occupent_banned(room, nick, actor, reason);
|
||||
free(reason);
|
||||
|
||||
// normal exit
|
||||
} else {
|
||||
@@ -905,8 +886,8 @@ _muc_user_occupant_handler(xmpp_stanza_t* stanza)
|
||||
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);
|
||||
auto_char char* show_str = stanza_get_show(stanza, "online");
|
||||
auto_char char* reason = stanza_get_reason(stanza);
|
||||
const char* jid = NULL;
|
||||
const char* role = NULL;
|
||||
const char* affiliation = NULL;
|
||||
@@ -920,12 +901,7 @@ _muc_user_occupant_handler(xmpp_stanza_t* stanza)
|
||||
}
|
||||
}
|
||||
sv_ev_muc_occupant_online(room, nick, jid, role, affiliation, actor, reason, show_str, status_str);
|
||||
free(show_str);
|
||||
free(reason);
|
||||
}
|
||||
|
||||
jid_destroy(from_jid);
|
||||
free(status_str);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -968,10 +944,9 @@ _send_presence_stanza(xmpp_stanza_t* const stanza)
|
||||
xmpp_stanza_to_text(stanza, &text, &text_size);
|
||||
|
||||
xmpp_conn_t* conn = connection_get_conn();
|
||||
char* plugin_text = plugins_on_presence_stanza_send(text);
|
||||
auto_char char* plugin_text = plugins_on_presence_stanza_send(text);
|
||||
if (plugin_text) {
|
||||
xmpp_send_raw_string(conn, "%s", plugin_text);
|
||||
free(plugin_text);
|
||||
} else {
|
||||
xmpp_send_raw_string(conn, "%s", text);
|
||||
}
|
||||
|
||||
@@ -84,9 +84,8 @@ void
|
||||
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();
|
||||
auto_char 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);
|
||||
}
|
||||
@@ -104,9 +103,8 @@ void
|
||||
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();
|
||||
auto_char 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);
|
||||
}
|
||||
@@ -123,7 +121,7 @@ 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();
|
||||
auto_char char* unique_id = connection_create_stanza_id();
|
||||
GroupData* data = malloc(sizeof(GroupData));
|
||||
data->group = strdup(group);
|
||||
if (p_contact_name(contact)) {
|
||||
@@ -138,7 +136,6 @@ roster_send_add_to_group(const char* const group, PContact contact)
|
||||
p_contact_name(contact), new_groups);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
free(unique_id);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -166,7 +163,7 @@ roster_send_remove_from_group(const char* const group, PContact contact)
|
||||
xmpp_ctx_t* const ctx = connection_get_ctx();
|
||||
|
||||
// add an id handler to handle the response
|
||||
char* unique_id = connection_create_stanza_id();
|
||||
auto_char char* unique_id = connection_create_stanza_id();
|
||||
GroupData* data = malloc(sizeof(GroupData));
|
||||
data->group = strdup(group);
|
||||
if (p_contact_name(contact)) {
|
||||
@@ -180,7 +177,6 @@ roster_send_remove_from_group(const char* const group, PContact contact)
|
||||
p_contact_name(contact), new_groups);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
free(unique_id);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -204,17 +200,15 @@ roster_set_handler(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
|
||||
// if from attribute exists and it is not current users barejid, ignore push
|
||||
char* mybarejid = connection_get_barejid();
|
||||
auto_char 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);
|
||||
return;
|
||||
}
|
||||
free(mybarejid);
|
||||
|
||||
const char* barejid = xmpp_stanza_get_attribute(item, STANZA_ATTR_JID);
|
||||
gchar* barejid_lower = g_utf8_strdown(barejid, -1);
|
||||
auto_gchar 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);
|
||||
@@ -256,8 +250,6 @@ roster_set_handler(xmpp_stanza_t* const stanza)
|
||||
}
|
||||
}
|
||||
|
||||
g_free(barejid_lower);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ roster_change_name(PContact contact, const char* const new_name)
|
||||
assert(roster != NULL);
|
||||
assert(contact != NULL);
|
||||
|
||||
char* current_name = NULL;
|
||||
auto_char char* current_name = NULL;
|
||||
const char* barejid = p_contact_barejid(contact);
|
||||
|
||||
if (p_contact_name(contact)) {
|
||||
@@ -273,7 +273,6 @@ roster_change_name(PContact contact, const char* const new_name)
|
||||
|
||||
p_contact_set_name(contact, new_name);
|
||||
_replace_name(current_name, new_name, barejid);
|
||||
free(current_name);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -415,6 +414,15 @@ roster_add(const char* const barejid, const char* const name, GSList* groups, co
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the bare JID from the roster based on the name.
|
||||
*
|
||||
* @param name The name associated with the bare JID.
|
||||
* @return The corresponding bare JID if found, or NULL if not found.
|
||||
*
|
||||
* @note The returned value should not be freed explicitly. The memory
|
||||
* management is handled by the underlying hash table.
|
||||
*/
|
||||
char*
|
||||
roster_barejid_from_name(const char* const name)
|
||||
{
|
||||
|
||||
@@ -121,7 +121,7 @@ session_connect_with_account(const ProfAccount* const account)
|
||||
saved_account.name = strdup(account->name);
|
||||
saved_account.passwd = strdup(account->password);
|
||||
|
||||
char* jid = NULL;
|
||||
auto_char char* jid = NULL;
|
||||
if (account->resource) {
|
||||
Jid* jidp = jid_create_from_bare_and_resource(account->jid, account->resource);
|
||||
jid = strdup(jidp->fulljid);
|
||||
@@ -137,7 +137,6 @@ session_connect_with_account(const ProfAccount* const account)
|
||||
account->port,
|
||||
account->tls_policy,
|
||||
account->auth_policy);
|
||||
free(jid);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -179,9 +178,8 @@ session_connect_with_details(const char* const jid, const char* const passwd, co
|
||||
Jid* jidp = jid_create(jid);
|
||||
if (jidp->resourcepart == NULL) {
|
||||
jid_destroy(jidp);
|
||||
char* resource = jid_random_resource();
|
||||
auto_char char* resource = jid_random_resource();
|
||||
jidp = jid_create_from_bare_and_resource(jid, resource);
|
||||
free(resource);
|
||||
saved_details.jid = strdup(jidp->fulljid);
|
||||
} else {
|
||||
saved_details.jid = strdup(jid);
|
||||
@@ -560,7 +558,7 @@ session_reconnect_now(void)
|
||||
return;
|
||||
}
|
||||
|
||||
char* jid = NULL;
|
||||
auto_char char* jid = NULL;
|
||||
if (account->resource) {
|
||||
jid = create_fulljid(account->jid, account->resource);
|
||||
} else {
|
||||
@@ -578,7 +576,6 @@ session_reconnect_now(void)
|
||||
|
||||
log_debug("Attempting reconnect with account %s", account->name);
|
||||
connection_connect(jid, saved_account.passwd, server, port, account->tls_policy, account->auth_policy);
|
||||
free(jid);
|
||||
account_free(account);
|
||||
if (reconnect_timer)
|
||||
g_timer_start(reconnect_timer);
|
||||
|
||||
@@ -128,9 +128,8 @@ xmpp_stanza_t*
|
||||
stanza_create_bookmarks_pubsub_add(xmpp_ctx_t *ctx, const char *const jid,
|
||||
const gboolean autojoin, const char *const nick)
|
||||
{
|
||||
char *id = connection_create_stanza_id();
|
||||
auto_char char *id = connection_create_stanza_id();
|
||||
xmpp_stanza_t *stanza = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
|
||||
xmpp_stanza_t *pubsub = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(pubsub, STANZA_NAME_PUBSUB);
|
||||
@@ -225,7 +224,7 @@ stanza_create_http_upload_request(xmpp_ctx_t* ctx, const char* const id,
|
||||
xmpp_stanza_set_name(request, STANZA_NAME_REQUEST);
|
||||
xmpp_stanza_set_ns(request, STANZA_NS_HTTP_UPLOAD);
|
||||
|
||||
char* filename_cpy = strdup(upload->filename);
|
||||
auto_char char* filename_cpy = strdup(upload->filename);
|
||||
// strip spaces from filename (servers don't spaces)
|
||||
for (int i = 0; i < strlen(filename_cpy); i++) {
|
||||
if (filename_cpy[i] == ' ') {
|
||||
@@ -233,7 +232,6 @@ stanza_create_http_upload_request(xmpp_ctx_t* ctx, const char* const id,
|
||||
}
|
||||
}
|
||||
xmpp_stanza_set_attribute(request, STANZA_ATTR_FILENAME, basename(filename_cpy));
|
||||
free(filename_cpy);
|
||||
|
||||
gchar* filesize = g_strdup_printf("%jd", (intmax_t)(upload->filesize));
|
||||
if (filesize) {
|
||||
@@ -252,9 +250,8 @@ stanza_create_http_upload_request(xmpp_ctx_t* ctx, const char* const id,
|
||||
xmpp_stanza_t*
|
||||
stanza_enable_carbons(xmpp_ctx_t* ctx)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(carbons_enable, STANZA_NAME_ENABLE);
|
||||
@@ -269,9 +266,8 @@ stanza_enable_carbons(xmpp_ctx_t* ctx)
|
||||
xmpp_stanza_t*
|
||||
stanza_disable_carbons(xmpp_ctx_t* ctx)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(carbons_disable, STANZA_NAME_DISABLE);
|
||||
@@ -286,9 +282,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(chat_state, state);
|
||||
@@ -418,9 +413,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(query, STANZA_NAME_QUERY);
|
||||
@@ -483,9 +477,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(x, STANZA_NAME_X);
|
||||
@@ -509,9 +502,8 @@ xmpp_stanza_t*
|
||||
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();
|
||||
auto_char 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_set_name(x, STANZA_NAME_X);
|
||||
@@ -601,9 +593,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -627,9 +618,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -651,9 +641,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -669,9 +658,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -695,9 +683,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -719,9 +706,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -744,9 +730,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -782,9 +767,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -820,9 +804,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -857,9 +840,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -946,9 +928,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -1028,9 +1009,8 @@ stanza_contains_chat_state(xmpp_stanza_t* stanza)
|
||||
xmpp_stanza_t*
|
||||
stanza_create_ping_iq(xmpp_ctx_t* ctx, const char* const target)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
}
|
||||
@@ -1739,10 +1719,10 @@ stanza_parse_caps(xmpp_stanza_t* const stanza)
|
||||
EntityCapabilities*
|
||||
stanza_create_caps_from_query_element(xmpp_stanza_t* query)
|
||||
{
|
||||
char* software = NULL;
|
||||
char* software_version = NULL;
|
||||
char* os = NULL;
|
||||
char* os_version = NULL;
|
||||
auto_char char* software = NULL;
|
||||
auto_char char* software_version = NULL;
|
||||
auto_char char* os = NULL;
|
||||
auto_char char* os_version = NULL;
|
||||
|
||||
xmpp_stanza_t* softwareinfo = xmpp_stanza_get_child_by_ns(query, STANZA_NS_DATA);
|
||||
if (softwareinfo) {
|
||||
@@ -1851,10 +1831,6 @@ stanza_create_caps_from_query_element(xmpp_stanza_t* query)
|
||||
|
||||
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);
|
||||
free(os);
|
||||
free(os_version);
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -2209,9 +2185,8 @@ xmpp_stanza_t*
|
||||
stanza_create_command_exec_iq(xmpp_ctx_t* ctx, const char* const target,
|
||||
const char* const node)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -2231,9 +2206,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -2281,9 +2255,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(pubsub, STANZA_NAME_PUBSUB);
|
||||
@@ -2306,9 +2279,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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_set_name(pubsub, STANZA_NAME_PUBSUB);
|
||||
@@ -2541,9 +2513,8 @@ 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)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_set_id(stanza, id);
|
||||
free(id);
|
||||
}
|
||||
|
||||
static char*
|
||||
@@ -2594,9 +2565,8 @@ stanza_create_avatar_retrieve_data_request(xmpp_ctx_t* ctx, const char* stanza_i
|
||||
xmpp_stanza_t*
|
||||
stanza_create_avatar_data_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsize len)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
xmpp_stanza_set_attribute(iq, STANZA_ATTR_FROM, connection_get_fulljid());
|
||||
|
||||
xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx);
|
||||
@@ -2618,9 +2588,8 @@ stanza_create_avatar_data_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsiz
|
||||
xmpp_stanza_set_ns(data, STANZA_NS_USER_AVATAR_DATA);
|
||||
|
||||
xmpp_stanza_t* text = xmpp_stanza_new(ctx);
|
||||
gchar* base64 = g_base64_encode((guchar*)img_data, len);
|
||||
auto_gchar gchar* base64 = g_base64_encode((guchar*)img_data, len);
|
||||
xmpp_stanza_set_text(text, base64);
|
||||
free(base64);
|
||||
|
||||
xmpp_stanza_add_child(data, text);
|
||||
xmpp_stanza_add_child(item, data);
|
||||
@@ -2640,9 +2609,8 @@ stanza_create_avatar_data_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsiz
|
||||
xmpp_stanza_t*
|
||||
stanza_create_avatar_metadata_publish_iq(xmpp_ctx_t* ctx, const char* img_data, gsize len, int height, int width)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
xmpp_stanza_set_attribute(iq, STANZA_ATTR_FROM, connection_get_fulljid());
|
||||
|
||||
xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx);
|
||||
@@ -2692,9 +2660,8 @@ stanza_create_avatar_metadata_publish_iq(xmpp_ctx_t* ctx, const char* img_data,
|
||||
xmpp_stanza_t*
|
||||
stanza_disable_avatar_publish_iq(xmpp_ctx_t* ctx)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
xmpp_stanza_set_attribute(iq, STANZA_ATTR_FROM, connection_get_fulljid());
|
||||
|
||||
xmpp_stanza_t* pubsub = xmpp_stanza_new(ctx);
|
||||
@@ -2773,9 +2740,8 @@ _text_stanza(xmpp_ctx_t* ctx, const char* name, const char* text)
|
||||
xmpp_stanza_t*
|
||||
stanza_create_mam_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const startdate, const char* const enddate, const char* const firstid, const char* const lastid)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char 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);
|
||||
@@ -2861,9 +2827,8 @@ stanza_create_mam_iq(xmpp_ctx_t* ctx, const char* const jid, const char* const s
|
||||
xmpp_stanza_t*
|
||||
stanza_change_password(xmpp_ctx_t* ctx, const char* const user, const char* const password)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
|
||||
xmpp_stanza_t* change_password = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(change_password, STANZA_NAME_QUERY);
|
||||
@@ -2898,9 +2863,8 @@ stanza_change_password(xmpp_ctx_t* ctx, const char* const user, const char* cons
|
||||
xmpp_stanza_t*
|
||||
stanza_register_new_account(xmpp_ctx_t* ctx, const char* const user, const char* const password)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
free(id);
|
||||
|
||||
xmpp_stanza_t* register_new_account = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(register_new_account, STANZA_NAME_QUERY);
|
||||
@@ -2935,9 +2899,8 @@ stanza_register_new_account(xmpp_ctx_t* ctx, const char* const user, const char*
|
||||
xmpp_stanza_t*
|
||||
stanza_request_voice(xmpp_ctx_t* ctx, const char* const room)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* message = xmpp_message_new(ctx, NULL, room, id);
|
||||
free(id);
|
||||
|
||||
xmpp_stanza_t* request_voice_st = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(request_voice_st, STANZA_NAME_X);
|
||||
@@ -2993,9 +2956,8 @@ stanza_request_voice(xmpp_ctx_t* ctx, const char* const room)
|
||||
xmpp_stanza_t*
|
||||
stanza_create_approve_voice(xmpp_ctx_t* ctx, const char* const id, const char* const jid, const char* const node, DataForm* form)
|
||||
{
|
||||
char* stid = connection_create_stanza_id();
|
||||
auto_char char* stid = connection_create_stanza_id();
|
||||
xmpp_stanza_t* message = xmpp_message_new(ctx, NULL, jid, stid);
|
||||
free(stid);
|
||||
|
||||
xmpp_stanza_t* x = form_create_submission(form);
|
||||
|
||||
|
||||
@@ -1242,12 +1242,11 @@ vcard_print(xmpp_ctx_t* ctx, ProfWin* window, char* jid)
|
||||
|
||||
data->window = window;
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = stanza_create_vcard_request_iq(ctx, jid, id);
|
||||
|
||||
iq_id_handler_add(id, _vcard_print_result, (ProfIqFreeCallback)_free_userdata, data);
|
||||
|
||||
free(id);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -1306,9 +1305,8 @@ _vcard_photo_result(xmpp_stanza_t* const stanza, void* userdata)
|
||||
GString* filename;
|
||||
|
||||
if (!data->filename) {
|
||||
char* path = files_get_data_path(DIR_PHOTOS);
|
||||
auto_gchar gchar* path = files_get_data_path(DIR_PHOTOS);
|
||||
filename = g_string_new(path);
|
||||
free(path);
|
||||
g_string_append(filename, "/");
|
||||
|
||||
errno = 0;
|
||||
@@ -1405,12 +1403,11 @@ vcard_photo(xmpp_ctx_t* ctx, char* jid, char* filename, int index, gboolean open
|
||||
data->filename = strdup(filename);
|
||||
}
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = stanza_create_vcard_request_iq(ctx, jid, id);
|
||||
|
||||
iq_id_handler_add(id, _vcard_photo_result, (ProfIqFreeCallback)_free_userdata, data);
|
||||
|
||||
free(id);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -1441,12 +1438,11 @@ vcard_user_refresh(void)
|
||||
return;
|
||||
}
|
||||
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = stanza_create_vcard_request_iq(connection_get_ctx(), NULL, id);
|
||||
|
||||
iq_id_handler_add(id, _vcard_refresh_result, NULL, NULL);
|
||||
|
||||
free(id);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
@@ -1455,7 +1451,7 @@ vcard_user_refresh(void)
|
||||
void
|
||||
vcard_upload(xmpp_ctx_t* ctx, vCard* vcard)
|
||||
{
|
||||
char* id = connection_create_stanza_id();
|
||||
auto_char char* id = connection_create_stanza_id();
|
||||
xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id);
|
||||
xmpp_stanza_set_from(iq, connection_get_fulljid());
|
||||
|
||||
@@ -1463,14 +1459,12 @@ vcard_upload(xmpp_ctx_t* ctx, vCard* vcard)
|
||||
|
||||
if (!vcard_stanza) {
|
||||
xmpp_stanza_release(iq);
|
||||
free(id);
|
||||
return;
|
||||
}
|
||||
|
||||
xmpp_stanza_add_child(iq, vcard_stanza);
|
||||
xmpp_stanza_release(vcard_stanza);
|
||||
|
||||
free(id);
|
||||
iq_send_stanza(iq);
|
||||
xmpp_stanza_release(iq);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user