From c6cf5bf08688d8a59b0760ec4ec672539869b61c Mon Sep 17 00:00:00 2001 From: Eion Robb Date: Fri, 17 Mar 2017 15:50:21 +1300 Subject: Strip the network-prefix from the start of auth requests --- skypeweb/skypeweb_contacts.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/skypeweb/skypeweb_contacts.c b/skypeweb/skypeweb_contacts.c index 7c62fb9..238bb4b 100644 --- a/skypeweb/skypeweb_contacts.c +++ b/skypeweb/skypeweb_contacts.c @@ -1364,7 +1364,7 @@ skypeweb_auth_accept_cb(gpointer sender) sa = purple_connection_get_protocol_data(purple_account_get_connection(purple_buddy_get_account(buddy))); buddy_name = g_strdup(purple_buddy_get_name(buddy)); - url = g_strdup_printf("/contacts/v2/users/SELF/invites/%s/accept", purple_url_encode(buddy_name)); + url = g_strdup_printf("/contacts/v2/users/SELF/invites/%s%s/accept", skypeweb_user_url_prefix(buddy_name), purple_url_encode(buddy_name)); skypeweb_post_or_get(sa, SKYPEWEB_METHOD_PUT | SKYPEWEB_METHOD_SSL, SKYPEWEB_NEW_CONTACTS_HOST, url, NULL, NULL, NULL, TRUE); g_free(url); @@ -1381,14 +1381,17 @@ skypeweb_auth_reject_cb(gpointer sender) PurpleBuddy *buddy = sender; SkypeWebAccount *sa; gchar *url = NULL; + gchar *buddy_name; sa = purple_connection_get_protocol_data(purple_account_get_connection(purple_buddy_get_account(buddy))); + buddy_name = g_strdup(purple_buddy_get_name(buddy)); - url = g_strdup_printf("/contacts/v2/users/SELF/invites/%s/decline", purple_url_encode(purple_buddy_get_name(buddy))); + url = g_strdup_printf("/contacts/v2/users/SELF/invites/%s%s/decline", skypeweb_user_url_prefix(buddy_name), purple_url_encode(buddy_name)); skypeweb_post_or_get(sa, SKYPEWEB_METHOD_PUT | SKYPEWEB_METHOD_SSL, SKYPEWEB_NEW_CONTACTS_HOST, url, NULL, NULL, NULL, TRUE); g_free(url); + g_free(buddy_name); } static void @@ -1416,6 +1419,10 @@ skypeweb_got_authrequests(SkypeWebAccount *sa, JsonNode *node, gpointer user_dat if (sa->last_authrequest && event_timestamp <= sa->last_authrequest) continue; + if (sender == NULL) + continue; + sender = skypeweb_strip_user_prefix(sender); + purple_account_request_authorization( sa->account, sender, NULL, displayname, greeting, FALSE, -- cgit v1.2.3