From 78447d7734aba0a31dedb4bd6d7884ea9a06926f Mon Sep 17 00:00:00 2001 From: leecher1337 Date: Fri, 27 Oct 2017 11:41:38 +0200 Subject: Fixed MSN login problems for Skype contacts as byrdr Contactlist host died. --- protocols/MSN/src/msn_commands.cpp | 2 +- protocols/MSN/src/msn_contact.cpp | 12 ++++++------ protocols/MSN/src/msn_errors.cpp | 1 + protocols/MSN/src/msn_soapab.cpp | 1 + 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'protocols/MSN/src') diff --git a/protocols/MSN/src/msn_commands.cpp b/protocols/MSN/src/msn_commands.cpp index 2f7d21d088..9388116cc4 100644 --- a/protocols/MSN/src/msn_commands.cpp +++ b/protocols/MSN/src/msn_commands.cpp @@ -585,7 +585,7 @@ void CMsnProto::MSN_ProcessNLN(const char *userStatus, const char *wlid, char *u cont->cap2 = end && *end == ':' ? strtoul(end + 1, NULL, 10) : 0; } - MSN_SetMirVer(hContact, cont->places.find((MsnPlace*)&szInst)); + if (szInst) MSN_SetMirVer(hContact, cont->places.find((MsnPlace*)&szInst)); char *pszUrl, *pszAvatarHash; if (cmdstring && *cmdstring && mir_strcmp(cmdstring, "0") && diff --git a/protocols/MSN/src/msn_contact.cpp b/protocols/MSN/src/msn_contact.cpp index 6bd06b9d1c..eb78154bef 100644 --- a/protocols/MSN/src/msn_contact.cpp +++ b/protocols/MSN/src/msn_contact.cpp @@ -228,13 +228,13 @@ bool CMsnProto::MSN_RefreshContactList(void) if (MyOptions.netId != NETID_SKYPE) { - // Get your own profile info - if (!MSN_SharingFindMembership()) return false; + // Get your own profile info (does not work anymore, byrdr died) + //MSN_SharingFindMembership(); if (m_iDesiredStatus == ID_STATUS_OFFLINE) return false; - // Get "classic" MSN contacts - if (!MSN_ABFind("ABFindContactsPaged", NULL)) return false; + // Get "classic" MSN contacts (does not work anymore, byrdr died) + // MSN_ABFind("ABFindContactsPaged", NULL); // Get Skype contacts on linked profiles if (!MSN_ABRefreshClist()) return false; @@ -251,8 +251,8 @@ bool CMsnProto::MSN_RefreshContactList(void) // Populate Contact list on MSN network to get status updates of contacts MSN_CreateContList(); - // Read my own profile from SOAP AB - MSN_StoreGetProfile(); + // Read my own profile from SOAP AB (does not work anymore, byrdr died) + //MSN_StoreGetProfile(); } else { diff --git a/protocols/MSN/src/msn_errors.cpp b/protocols/MSN/src/msn_errors.cpp index f1259425e5..11255290f7 100644 --- a/protocols/MSN/src/msn_errors.cpp +++ b/protocols/MSN/src/msn_errors.cpp @@ -87,6 +87,7 @@ int CMsnProto::MSN_HandleErrors(ThreadData* info, char* cmdString) case ERR_DETAILED_ERR_IN_PAYLOAD: case ERR_LIST_UNAVAILABLE: + case ERR_INVALID_USER: char* tErrWords[4]; if (sttDivideWords(cmdString, _countof(tErrWords), tErrWords) == _countof(tErrWords)) HReadBuffer(info, 0).surelyRead(atol(tErrWords[3])); diff --git a/protocols/MSN/src/msn_soapab.cpp b/protocols/MSN/src/msn_soapab.cpp index 084f63bcea..108cb0cb77 100644 --- a/protocols/MSN/src/msn_soapab.cpp +++ b/protocols/MSN/src/msn_soapab.cpp @@ -903,6 +903,7 @@ bool CMsnProto::MSN_ABRefreshClist(unsigned int nTry) int lstId = LIST_FL; if (mir_strcmpi(ezxml_txt(ezxml_child(cont, "isBlocked")), "true") == 0) lstId = LIST_BL; else if (mir_strcmp(ezxml_txt(ezxml_child(cont, "contactState")), "2") == 0) lstId = LIST_PL; + else if (mir_strcmp(szEmail, "echo123") == 0) lstId = LIST_LL; /* Seems to be dead */ Lists_Add(lstId, netId, szEmail, NULL, pszNickname); char szWLId[128]; mir_snprintf(szWLId, sizeof(szWLId), "%d:%s", netId, szEmail); -- cgit v1.2.3