Ignore:
Timestamp:
2016-09-24T20:14:34Z (8 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Children:
ba52ac5
Parents:
63cad66 (diff), 82cb190 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into parson

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/soap.c

    r63cad66 r3fbce97  
    270270        struct im_connection *ic = soap_req->ic;
    271271        struct msn_data *md = ic->proto_data;
    272         char pass[MAX_PASSPORT_PWLEN + 1];
    273272
    274273        if (sd->redirect) {
     
    286285        }
    287286
    288         strncpy(pass, ic->acc->pass, MAX_PASSPORT_PWLEN);
    289         pass[MAX_PASSPORT_PWLEN] = '\0';
    290287        soap_req->payload = g_markup_printf_escaped(SOAP_PASSPORT_SSO_PAYLOAD,
    291                                                     ic->acc->user, pass, md->pp_policy);
     288                                                    ic->acc->user, ic->acc->pass, md->pp_policy);
    292289
    293290        return MSN_SOAP_OK;
     
    327324        struct xt_node *code = xt_find_node(node->children, "faultcode");
    328325        struct xt_node *string = xt_find_node(node->children, "faultstring");
     326        struct xt_node *reqstatus = xt_find_path(node, "psf:pp/psf:reqstatus");
    329327        struct xt_node *url;
    330328
     
    335333                   url->text_len > 0) {
    336334                sd->redirect = g_strdup(url->text);
     335        } else if (reqstatus && strcmp(reqstatus->text, "0x800488fe") == 0) {
     336                char *msg = "Location blocked. Log in to live.com, go to recent activity and click 'this was me'";
     337                sd->error = g_strdup_printf("%s (%s)", code->text, msg);
    337338        } else {
    338339                sd->error = g_strdup_printf("%s (%s)", code->text, string && string->text_len ?
     
    346347        { "wsse:BinarySecurityToken", "wst:RequestedSecurityToken", msn_soap_passport_sso_token },
    347348        { "S:Fault", "S:Envelope", msn_soap_passport_failure },
     349        { "S:Fault", "wst:RequestSecurityTokenResponse", msn_soap_passport_failure },
    348350        { NULL, NULL, NULL }
    349351};
     
    774776                imcb_log(soap_req->ic, "Warning: %d contacts were in both your "
    775777                         "block and your allow list. Assuming they're all "
    776                          "allowed. Use the official WLM client once to fix "
    777                          "this.", wtf);
     778                         "allowed.", wtf);
    778779        }
    779780
Note: See TracChangeset for help on using the changeset viewer.