Tue, 14 Dec 2021 01:57:01 -0600
Use accessor for SoupMessage->request_headers
--- a/libpurple/protocols/facebook/api.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/protocols/facebook/api.c Tue Dec 14 01:57:01 2021 -0600 @@ -733,8 +733,8 @@ if (priv->token != NULL) { data = g_strdup_printf("OAuth %s", priv->token); - soup_message_headers_replace(msg->request_headers, "Authorization", - data); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", data); g_free(data); }
--- a/libpurple/protocols/gg/avatar.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/protocols/gg/avatar.c Tue Dec 14 01:57:01 2021 -0600 @@ -216,8 +216,8 @@ url = g_strdup_printf(GGP_AVATAR_BUDDY_URL, pending_update->uin); req = soup_message_new("GET", url); g_free(url); - soup_message_headers_replace(req->request_headers, "User-Agent", - GGP_AVATAR_USERAGENT); + soup_message_headers_replace(soup_message_get_request_headers(req), + "User-Agent", GGP_AVATAR_USERAGENT); // purple_http_request_set_max_len(req, GGP_AVATAR_SIZE_MAX); soup_session_queue_message( info->http, req, ggp_avatar_buddy_update_received, pending_update); @@ -259,6 +259,7 @@ GGPInfo *info = purple_connection_get_protocol_data(gc); ggp_avatar_session_data *avdata = ggp_avatar_get_avdata(gc); SoupMessage *req; + SoupMessageHeaders *headers; PurpleImage *img = _img; gchar *img_data, *uin_str; PurpleAccount *account = purple_connection_get_account(gc); @@ -281,9 +282,9 @@ req = soup_form_request_new("POST", "http://avatars.nowe.gg/upload", "uin", uin_str, "photo", img_data, NULL); // purple_http_request_set_max_len(req, GGP_AVATAR_RESPONSE_MAX); - soup_message_headers_replace(req->request_headers, "Authorization", token); - soup_message_headers_replace(req->request_headers, "From", - "avatars to avatars"); + headers = soup_message_get_request_headers(req); + soup_message_headers_replace(headers, "Authorization", token); + soup_message_headers_replace(headers, "From", "avatars to avatars"); soup_session_queue_message(info->http, req, ggp_avatar_own_sent, gc); g_free(img_data); g_free(uin_str);
--- a/libpurple/protocols/gg/edisc.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/protocols/gg/edisc.c Tue Dec 14 01:57:01 2021 -0600 @@ -141,28 +141,29 @@ static void ggp_edisc_set_defaults(SoupMessage *msg) { + SoupMessageHeaders *headers = soup_message_get_request_headers(msg); + // purple_http_request_set_max_len(msg, GGP_EDISC_RESPONSE_MAX); - soup_message_headers_replace(msg->request_headers, "X-gged-api-version", + soup_message_headers_replace(headers, "X-gged-api-version", GGP_EDISC_API); /* optional fields */ soup_message_headers_replace( - msg->request_headers, "User-Agent", + headers, "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20120613 " "GG/11.0.0.8169 (WINNT_x86-msvc; pl; beta; standard)"); soup_message_headers_replace( - msg->request_headers, "Accept", + headers, "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); - soup_message_headers_replace(msg->request_headers, "Accept-Language", + soup_message_headers_replace(headers, "Accept-Language", "pl,en-us;q=0.7,en;q=0.3"); - /* soup_message_headers_replace(msg->request_headers, "Accept-Encoding", + /* soup_message_headers_replace(headers, "Accept-Encoding", * "gzip, deflate"); */ - soup_message_headers_replace(msg->request_headers, "Accept-Charset", + soup_message_headers_replace(headers, "Accept-Charset", "ISO-8859-2,utf-8;q=0.7,*;q=0.7"); - soup_message_headers_replace(msg->request_headers, "Connection", - "keep-alive"); + soup_message_headers_replace(headers, "Connection", "keep-alive"); soup_message_headers_replace( - msg->request_headers, "Content-Type", + headers, "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); } @@ -334,6 +335,7 @@ gchar *metadata; gchar *tmp; SoupMessage *msg; + SoupMessageHeaders *headers; g_return_if_fail(sdata != NULL); @@ -361,6 +363,7 @@ msg = soup_message_new("PUT", "https://drive.mpa.gg.pl/signin"); ggp_edisc_set_defaults(msg); + headers = soup_message_get_request_headers(msg); metadata = g_strdup_printf("{" "\"id\": \"%032x\", " @@ -372,13 +375,12 @@ g_get_host_name(), ggp_libgaduw_version(gc)); tmp = g_strdup_printf("IMToken %s", imtoken); - soup_message_headers_replace(msg->request_headers, "Authorization", tmp); + soup_message_headers_replace(headers, "Authorization", tmp); g_free(tmp); tmp = g_strdup_printf("gg/pl:%u", accdata->session->uin); - soup_message_headers_replace(msg->request_headers, "X-gged-user", tmp); + soup_message_headers_replace(headers, "X-gged-user", tmp); g_free(tmp); - soup_message_headers_replace(msg->request_headers, "X-gged-client-metadata", - metadata); + soup_message_headers_replace(headers, "X-gged-client-metadata", metadata); g_free(metadata); soup_session_queue_message(sdata->session, msg, ggp_ggdrive_auth_done, gc); @@ -529,7 +531,8 @@ msg = soup_message_new("PUT", "https://drive.mpa.gg.pl/send_ticket"); ggp_edisc_set_defaults(msg); - soup_message_headers_replace(msg->request_headers, "X-gged-security-token", + soup_message_headers_replace(soup_message_get_request_headers(msg), + "X-gged-security-token", sdata->security_token); data = g_strdup_printf("{\"send_ticket\":{" @@ -634,6 +637,7 @@ GGPXfer *edisc_xfer; gchar *upload_url, *filename_e; SoupMessage *msg; + SoupMessageHeaders *headers; g_return_if_fail(xfer != NULL); edisc_xfer = GGP_XFER(xfer); @@ -650,16 +654,16 @@ ggp_edisc_set_defaults(msg); - soup_message_headers_replace(msg->request_headers, "X-gged-local-revision", - "0"); - soup_message_headers_replace(msg->request_headers, "X-gged-security-token", + headers = soup_message_get_request_headers(msg); + soup_message_headers_replace(headers, "X-gged-local-revision", "0"); + soup_message_headers_replace(headers, "X-gged-security-token", sdata->security_token); - soup_message_headers_replace(msg->request_headers, "X-gged-metadata", + soup_message_headers_replace(headers, "X-gged-metadata", "{\"node_type\": \"file\"}"); soup_message_set_flags(msg, SOUP_MESSAGE_CAN_REBUILD); soup_message_body_set_accumulate(msg->request_body, FALSE); - soup_message_headers_set_content_length(msg->request_headers, + soup_message_headers_set_content_length(headers, purple_xfer_get_size(xfer)); g_signal_connect(msg, "wrote-headers", G_CALLBACK(ggp_edisc_xfer_send_reader), xfer); @@ -758,6 +762,7 @@ GGPXfer *edisc_xfer = GGP_XFER(xfer); ggp_edisc_session_data *sdata = ggp_edisc_get_sdata(edisc_xfer->gc); SoupMessage *msg; + SoupMessageHeaders *headers; g_return_if_fail(sdata != NULL); @@ -767,9 +772,10 @@ ggp_edisc_xfer_ticket_url(edisc_xfer->ticket_id)); ggp_edisc_set_defaults(msg); - soup_message_headers_replace(msg->request_headers, "X-gged-security-token", + headers = soup_message_get_request_headers(msg); + soup_message_headers_replace(headers, "X-gged-security-token", sdata->security_token); - soup_message_headers_replace(msg->request_headers, "X-gged-ack-status", + soup_message_headers_replace(headers, "X-gged-ack-status", accept ? "allow" : "reject"); soup_session_queue_message(sdata->session, msg, @@ -1024,7 +1030,8 @@ ggp_edisc_set_defaults(msg); - soup_message_headers_replace(msg->request_headers, "X-gged-security-token", + soup_message_headers_replace(soup_message_get_request_headers(msg), + "X-gged-security-token", sdata->security_token); soup_session_queue_message(sdata->session, msg,
--- a/libpurple/protocols/gg/oauth/oauth-purple.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/protocols/gg/oauth/oauth-purple.c Tue Dec 14 01:57:01 2021 -0600 @@ -147,7 +147,8 @@ msg = soup_message_new(method, url); // purple_http_request_set_max_len(req, GGP_OAUTH_RESPONSE_MAX); - soup_message_headers_replace(msg->request_headers, "Authorization", auth); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", auth); soup_session_queue_message(session, msg, ggp_oauth_access_token_got, data); g_free(auth); @@ -241,7 +242,8 @@ msg = soup_message_new(method, url); // purple_http_request_set_max_len(req, GGP_OAUTH_RESPONSE_MAX); - soup_message_headers_replace(msg->request_headers, "Authorization", auth); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", auth); soup_session_queue_message(info->http, msg, ggp_oauth_request_token_got, data);
--- a/libpurple/protocols/gg/pubdir-prpl.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/protocols/gg/pubdir-prpl.c Tue Dec 14 01:57:01 2021 -0600 @@ -297,7 +297,8 @@ request->params.user_info.uin); msg = soup_message_new("GET", url); g_free(url); - soup_message_headers_replace(msg->request_headers, "Authorization", token); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", token); soup_session_queue_message(info->http, msg, ggp_pubdir_got_data, request); } @@ -537,7 +538,8 @@ url = g_strdup_printf("http://api.gadu-gadu.pl%s", query); msg = soup_message_new("GET", url); - soup_message_headers_replace(msg->request_headers, "Authorization", token); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", token); soup_session_queue_message(info->http, msg, ggp_pubdir_got_data, request); g_free(url); @@ -831,7 +833,8 @@ url = g_strdup_printf("http://api.gadu-gadu.pl/users/%u.xml", uin); msg = soup_message_new("PUT", url); - soup_message_headers_replace(msg->request_headers, "Authorization", token); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "Authorization", token); soup_message_set_request(msg, "application/x-www-form-urlencoded", SOUP_MEMORY_TAKE, request_data, -1); soup_session_queue_message(info->http, msg,
--- a/libpurple/soupcompat.h Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/soupcompat.h Tue Dec 14 01:57:01 2021 -0600 @@ -36,6 +36,11 @@ return msg->reason_phrase; } +static inline SoupMessageHeaders * +soup_message_get_request_headers(SoupMessage *msg) { + return msg->request_headers; +} + static inline SoupStatus soup_message_get_status(SoupMessage *msg) { return msg->status_code;
--- a/libpurple/upnp.c Tue Dec 14 01:57:00 2021 -0600 +++ b/libpurple/upnp.c Tue Dec 14 01:57:01 2021 -0600 @@ -678,7 +678,8 @@ // purple_http_request_set_max_len(msg, MAX_UPNP_DOWNLOAD); action = g_strdup_printf("\"urn:schemas-upnp-org:service:%s#%s\"", control_info.service_type, actionName); - soup_message_headers_replace(msg->request_headers, "SOAPAction", action); + soup_message_headers_replace(soup_message_get_request_headers(msg), + "SOAPAction", action); g_free(action); soup_message_set_request(msg, "text/xml; charset=utf-8", SOUP_MEMORY_TAKE, soapMessage, strlen(soapMessage));