summaryrefslogtreecommitdiff
path: root/protocols/MSN
diff options
context:
space:
mode:
authorleecher1337 <leecher@dose.0wnz.at>2017-03-04 19:22:17 +0100
committerleecher1337 <leecher@dose.0wnz.at>2017-03-04 19:22:17 +0100
commitd057552cc40769f6ba988a9c7a55957dea2e7e2a (patch)
tree26e509e85a222ab5dfd1389b486546c85e03df7d /protocols/MSN
parentc00cadffb63b3065b834a16669c428cb75d30491 (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.h3
-rw-r--r--protocols/MSN/src/skylogin/credentials.c6
-rw-r--r--protocols/MSN/src/skylogin/skylogin.c2
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;