diff options
author | leecher1337 <leecher@dose.0wnz.at> | 2017-03-04 19:22:17 +0100 |
---|---|---|
committer | leecher1337 <leecher@dose.0wnz.at> | 2017-03-04 19:22:17 +0100 |
commit | d057552cc40769f6ba988a9c7a55957dea2e7e2a (patch) | |
tree | 26e509e85a222ab5dfd1389b486546c85e03df7d /protocols/MSN | |
parent | c00cadffb63b3065b834a16669c428cb75d30491 (diff) |
MSN/skylogin:
- Bumped Skype version number to make it login again to the login servers (Microsoft killed off old versions)
- Fixed a bug in the skylogin code that prevented correct parsing of credentials
- Added more verbose error output on credentials parsing failure
Diffstat (limited to 'protocols/MSN')
-rw-r--r-- | protocols/MSN/src/skylogin/common.h | 3 | ||||
-rw-r--r-- | protocols/MSN/src/skylogin/credentials.c | 6 | ||||
-rw-r--r-- | protocols/MSN/src/skylogin/skylogin.c | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/protocols/MSN/src/skylogin/common.h b/protocols/MSN/src/skylogin/common.h index 4a0d6841e4..5396000603 100644 --- a/protocols/MSN/src/skylogin/common.h +++ b/protocols/MSN/src/skylogin/common.h @@ -44,6 +44,7 @@ typedef int BOOL; #include <openssl/aes.h>
#include <openssl/rsa.h>
#include <openssl/sha.h>
+#include <openssl/err.h>
#ifdef USE_RC4
#include <openssl/rc4.h>
#include <openssl/dh.h>
@@ -71,7 +72,7 @@ typedef unsigned long ulong; #define RAW_PARAMS 0x41
#define EXT_PARAMS 0x42
-#define VER_STR "0/6.18.0.105"
+#define VER_STR "0/7.44.0.104"
typedef struct
{
diff --git a/protocols/MSN/src/skylogin/credentials.c b/protocols/MSN/src/skylogin/credentials.c index 2cd5b42dfd..df80f2cafb 100644 --- a/protocols/MSN/src/skylogin/credentials.c +++ b/protocols/MSN/src/skylogin/credentials.c @@ -138,7 +138,11 @@ int Credentials_Parse(Skype_Inst *pInst, Memory_U Pcred, SResponse *LoginDatas) RSA_free(SkypeRSA);
if (PPsZ == -1)
{
- pInst->pfLog(pInst->pLogStream, "Credentials decryption failed..\n");
+ char szErr[256];
+
+ ERR_load_crypto_strings();
+ ERR_error_string(ERR_get_error(), szErr);
+ pInst->pfLog(pInst->pLogStream, "Credentials decryption failed: %s\n", szErr);
free(creds.Memory);
return -1;
}
diff --git a/protocols/MSN/src/skylogin/skylogin.c b/protocols/MSN/src/skylogin/skylogin.c index 2930d350ab..e0bab68c17 100644 --- a/protocols/MSN/src/skylogin/skylogin.c +++ b/protocols/MSN/src/skylogin/skylogin.c @@ -134,7 +134,7 @@ EXPORT int SkyLogin_PerformLoginOAuth(SkyLogin pPInst, const char *OAuth) SResponse LoginDatas;
// We don't know user name, so read it from Credentials
- if (Credentials_Parse(pInst, creds, &LoginDatas) == 0)
+ if (Credentials_Parse(pInst, pInst->LoginD.SignedCredentials, &LoginDatas) == 0)
{
uint Idx;
|