Miranda NG Official Community Forum

Forum for English speaking Miranda NG users => Development => Topic started by: leecher on 02 05 2015, 14:20:43

Title: MSN protocol
Post by: leecher on 02 05 2015, 14:20:43
Hi,

Just wanted to mention that I did a few things to fix login and messaging in MSN protocol. Of course it's still alpha (so better don't use it in your production clients yet), but for me it works, if anyone wants to test or improve it, feel free to do so:

http://svn.miranda-ng.org/miranda-ng/branches/msnp24/

I'm not really familiar with the MSN protocol, but I do know something about the architecture of the Skype protocol, that's why I also created a library to login to Skype network: https://github.com/msndevs/skylogin
For MSN network login, it shouldn't be necessarily needed  and for plain Skype accounts, you could link your Skype account with a MSN account and then it would also work. The plugin does support login with plain Skype username/pass as well with the help of skylogin, but currently contact list fetching for Skype users is not implemented yet (may need to carry over that from skypeweb), but messaging itself also works.

Just thought I should announce that so that other devs that may also want to work on reviving MSN don't do the same work twice but instead coordinate with me.

Reagards
Title: Re: MSN protocol
Post by: Beck Yang on 11 05 2015, 10:29:31
Hi, leecher
Can you merge the change to trunk? So the development build will include your change.
I can help on the testing. Thank you.
Title: Re: MSN protocol
Post by: watcher on 14 05 2015, 18:03:12
leecher, crash on login:

Sorry but you are not allowed to view spoiler contents.



And one more thing - this login (even with crash) was on Microsoft account linked with Skype account, on my old MSN account i get connection error, here's the netlog (http://pastebin.com/8rgz216Z).
Title: Re: MSN protocol
Post by: leecher on 14 05 2015, 18:53:38
Hi,

NULL pointer dereference should be fixed. Regarding old MSN-Account I'm a bit clueless, because my Account is also linked with Skype and when creating a new MSN account, it autmatically gets added a live:* Skype companion user on first login in Skype, so not sure on how to test "classic" MSN accounts...
As I believe there is no other Messenger Application besides Skype officially supported by M$ now, maybe unlinked accounts don't even work anymore (because as I said, Skype adds a Skype-Companion user to it, when you login in Skpye client with it the first time).
Title: Re: MSN protocol
Post by: watcher on 14 05 2015, 18:55:08
With revision 13593 my linked account finally logged in and i could see some of my latest Skype  conversations and chat rooms.

Post Merge: 14 05 2015, 18:55:52
maybe unlinked accounts don't even work anymore

I have the same feeling.
Title: Re: MSN protocol
Post by: White-Tiger on 15 05 2015, 11:12:41
I've also got a crash on login
Sorry but you are not allowed to view spoiler contents.
Title: Re: MSN protocol
Post by: Saldavon on 16 05 2015, 08:37:15
With revision 13593 my linked account finally logged in and i could see some of my latest Skype  conversations and chat rooms.

Post Merge: 14 05 2015, 18:55:52
I have the same feeling.

Hi,

my MSN Account is not linked with Skype. When I want to use Skype, I have to create an account first...

 MSN.dll v.0.12.1.1 [16 May 2015 2:04:12] - MSN protocol  I use right now and it shows me online.
Title: Re: MSN protocol
Post by: watcher on 16 05 2015, 08:46:55
my MSN Account is not linked with Skype. When I want to use Skype, I have to create an account first...

 MSN.dll v.0.12.1.1 [16 May 2015 2:04:12] - MSN protocol  I use right now and it shows me online.

These are great news if it works without linking to Skype.
Title: Re: MSN protocol
Post by: Dimsok on 16 05 2015, 10:00:31
Salvadon, which server do you use? Doesn't work for me
Title: Re: MSN protocol
Post by: leecher on 16 05 2015, 13:27:22
Those of you who cannot login may have a problem with these stupid security measures employed by Microsoft, if i.e. your IP address is from a different country than in your last login.
You can try to manually go to

https://login.live.com/oauth20_authorize.srf?client_id=00000000480BC46C&scope=service%3A%3Askype.com%3A%3AMBI_SSL&response_type=token&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&state=999&locale=de

and try to sign in with your account info. If you are presented a screen that says this may be an unauthorized connectio nttempt, you have to enter your e-mail address you signed up with and then receive a security code that you need to enter to unblock your account. If you did that successfully, further connection attempts (also with Miranda) may succeed.
Title: Re: MSN protocol
Post by: watcher on 16 05 2015, 14:14:08
leecher, the link you have given is in German.

https://login.live.com/oauth20_authorize.srf?client_id=00000000480BC46C&scope=service%3A%3Askype.com%3A%3AMBI_SSL&response_type=token&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&state=999&locale=en

Here it is in English.
Title: Re: MSN protocol
Post by: Saldavon on 16 05 2015, 19:02:37
Salvadon, which server do you use? Doesn't work for me


I did not change anything since I got the plugin today in the morning.

s.gateway.messenger.live.com 1863
geo.gateway.messenger.live.com 80

I also have another old MSN Account. Used that account in the past (the last time 1 year ago)...
It is something like a fake account. Also not linked, also working.
Title: Re: MSN protocol
Post by: Dimsok on 16 05 2015, 23:54:07
Did change to your server and go online seems. No should to way when my only one msn active contact will be only to try if it really works
Title: Re: MSN protocol
Post by: Dimsok on 17 05 2015, 00:00:35
Very unstable connection. Pretty soon disconnect
Title: Re: MSN protocol
Post by: leecher on 17 05 2015, 07:08:08
Disconnects can be caused either by spurious XFR from Server (Cannot really reproduce, as they seem to occur rarely for me) or by errors. Need to check Netlib log, please enable logging and send me the part of the log where disconnect occurs.
Title: Re: MSN protocol
Post by: Dimsok on 17 05 2015, 07:40:38
Some unfamiliar contact have appeard in contact list. I delete them but when i connect again, they apppear again
Title: Re: MSN protocol
Post by: watcher on 17 05 2015, 07:56:32
Dimsok, http://wiki.miranda-ng.org/Network_log
Title: Re: MSN protocol
Post by: Dimsok on 18 05 2015, 21:32:09
Messages sometimes twice, like it was in the first skypeweb
Title: Re: MSN protocol
Post by: leecher on 19 05 2015, 08:23:11
Bug reports without network logs and detailled information are completely useless.
Title: Re: MSN protocol
Post by: Dimsok on 19 05 2015, 10:03:33
Network log needs for unique problems. Dubbing messages i think can't don't repoduce anyone. For example when i mentioned about omegle' bug, Robyer even didn't ask about  log cause that's common problem. The same was about skypeweb dubbing. That one is different?
Title: Re: MSN protocol
Post by: leecher on 19 05 2015, 10:44:10
As long as I cannot reproduce it, I don't have any chance to check. If you have detailled instructions how to reproduce the problem reliably so that I can also see it, I may find out the cause for it. As I'm not affiliated with SkypeWeb developers, I don't know what was causing the problem there. May also depend on plugin configuration? Network log would show if message i.e. gets announced by server twice which is one possibility but not the only one. Log is also needed to find out a way how to identify duplicates, if they are coming from the server (i.e. message id?).
Title: Re: MSN protocol
Post by: watcher on 19 05 2015, 14:19:53
Dimsok, is it hard for you to provide a betwork log that developer asks you for 3  times already?
Title: Re: MSN protocol
Post by: thosrtanner on 19 05 2015, 21:00:30
it's not just dimsok it happens for. the name is the same every time for me and my outlook contacts list is empty according to windows live
Title: Re: MSN protocol
Post by: watcher on 19 05 2015, 21:05:41
thosrtanner, same thing - present network log.
Title: Re: MSN protocol
Post by: thosrtanner on 19 05 2015, 21:11:40
I think this is the relevant bit:

      <Person>
        <id>942e8b9f-0000-0000-0000-000000000000</id>
        <contacts>
          <Contact>
            <id>ce7c196c-0000-0000-0000-000000000000</id>
            <contactState>2</contactState>
            <promotionBitmap>12</promotionBitmap>
            <properties>
              <isHidden>true</isHidden>
              <offlineIMEnabled>false</offlineIMEnabled>
            </properties>
            <sourceId>WL</sourceId>
            <objectId>2260865573092692498</objectId>
            <domainTag>jamie_993@hotmail.com</domainTag>
            <phonesIMEnabled>0</phonesIMEnabled>
            <favoriteOrder>0</favoriteOrder>
            <birthday>0001-01-01T00:00:00Z</birthday>
            <anniversary>0001-01-01T00:00:00</anniversary>
            <hidePresenceAndProfile>false</hidePresenceAndProfile>
            <isBlocked>false</isBlocked>
            <userEditContactId>00000000-0000-0000-0000-000000000000</userEditContactId>
            <puid xsi:nil="true" />
            <autoBuddy>false</autoBuddy>
          </Contact>
        </contacts>
        <firstName>bbppopi</firstName>
        <lastName>hbahbcc</lastName>
        <cid>2260865573092692498</cid>
        <hexCid>1F60354299199212</hexCid>
        <onHideList>true</onHideList>
        <trustLevel>0</trustLevel>
        <userTileUrl>https://byfiles.storage.msn.com/static/42</userTileUrl>
        <isFavorite>false</isFavorite>
        <favoriteOrder>0</favoriteOrder>
        <passportMemberName>jamie_993@hotmail.com</passportMemberName>
        <birthday>0001-01-01T00:00:00</birthday>
        <anniversary>0001-01-01T00:00:00</anniversary>
        <orderedName>bbppopi hbahbcc</orderedName>
        <nameType>0</nameType>
        <relevanceOrder1>715827882</relevanceOrder1>
        <puid>0</puid>
      </Person>

notice the suspicious ID
Title: Re: MSN protocol
Post by: leecher on 19 05 2015, 21:17:53
Address book management currently is a complete mess at Micro$oft.
It seems that Skype contacts can only be managed in Skype client. Contacts added at Outlook.com don't necessarly show up in Skype. There doesn't seem to be a synchronisation between Outlook address book and Skype AB. Adding Skype contacts in outlook.com also doesn't work. Skype directory cannot even be searched on outlook.com.  I found a few complaints at the microsoft product forums about that.
The plugin fetches contact list from 2 sources:
1) The classic SOAP Addressbook store known from previous protocol versions
2) The outlook.com address book that gets queried my the Skype client at outlook.com in order to receive Skype contacts.
Contact list management functions are still just for the "classic" Soap Addressbook store.
Therefore as long as there is no proper contact managment API by Microsoft, we will be stuck with this half-woring implementation that in fact just pulls the Contact list from the server and uses it  :(
Title: Re: MSN protocol
Post by: leecher on 19 05 2015, 21:24:25
thosrtanner: Thanks for your log.. I noticed <contactstate>2</contactstate> whereas normal contact have 0.
As other users also have this problem: Are all contacts you don't want to have contactstate 2? Then I could simply ignore them on sync.
These seem to be the contact states:

ContactState
={deleted:-1,shell:0,meContact:1,pending:2,follower:3,twoWay:4,rolodex:5,nonFriend:6,declined:7,implicitContact
:8,shellContactFanPage:9,enhancedShellContact:10,implicitShellContact:11,invitationShellContact:12}

So this is a pending contact.
What I also noticed is that <onHideList>true</onHideList>. So I guess this is a hidden contact.

I now changed address book sync to i.e. hide hidden ocntacts from contact list, I hope this fixes it for you.
Title: Re: MSN protocol
Post by: thosrtanner on 20 05 2015, 12:12:27
That's great. I upgraded and miranda popped up a 'requests authorisation' query, which i declined and all is lovely
Title: Re: MSN protocol
Post by: Beck Yang on 29 05 2015, 02:37:40
I want to report a problem: After change nickname, the status become offline soon...

I'm using development version 0.95.5, file date is 2015/5/28
Sorry but you are not allowed to view spoiler contents.

Title: Re: MSN protocol
Post by: Tomaso on 30 05 2015, 10:40:14
Thanks for providing this new MSN protocol!

Here's a small bug that I've noticed:
I'm using the StartupStatus plugin, and I've set all protocols to startup in "Away" mode.
Regardless of this setting, MSN starts up in "Online" mode, and I have to manually change the status afterwards.

--

EDIT:
..and the mail counter doesn't work.
It just shows "0" all the time.
Title: Re: MSN protocol
Post by: leecher on 31 05 2015, 09:55:11
Hi,

Thanks for the input.
Beck Yang: I now removed obsolete stuff like setting Nickname which doesn't work anymore in new protocol (you need to do this via the Profile page in browser now)
Tomaso: I now corrected startup to set the desired status.

Regarding mail counter: I never managed to receive a MSGR\HOTMAIL notification which would be required to receive such information. I suspect that pretending to be a Skype client prevents the server to send such notifications. The problem is that I don't even receive such notifications in outlook.com whereas other users seem to get them there (but not on Skype), therefore it's a bit hard for me to test. Maybe M$ will implement it in one of their next Skype versions, then we have a chance to catch such messages too.

Both changes should take effect on next nightly build.
Title: Re: MSN protocol
Post by: Tomaso on 31 05 2015, 10:31:52
Tomaso: I now corrected startup to set the desired status.

Great! :)
Title: Re: MSN protocol
Post by: Tomaso on 03 06 2015, 14:36:38
Both changes should take effect on next nightly build.
I downloaded the latest MSN build right now, and indeed the problem with the startup status is fixed! :)
However, you forgot to change the version number, which is still v0.12.1.1.
This seems to be a problem with a lot of Miranda NG plugins.
Unlike Miranda IM's pages, Miranda NG's download page provides absolutely no information regarding the version numbers of the different plugins..
So, I download a zip file and check the properties of the DLL file..
If the version number is the same, it's only natural to assume that the plugin hasn't been updated.
..but, like with the MSN protocol just now, this isn't always the case.
The lack of version information makes it very hard for people like me, that doesn't use the PluginUpdater, to keep track of the updates!
Title: Re: MSN protocol
Post by: Robyer on 03 06 2015, 19:10:40
Tomaso, that's the problem of not using Plugin Updater with development builds. There are many different changes every day along with new build. Imagine every change will raise the build number - we would run out of numbers soon  :D

You should use Plugin Updater - why not?

Alternative would be watching the tracker (e.g. via RSS channels) for new commits and based on that determine if something was changed / is worth updating. We can't do the proper versioning when we are releasing new builds every day.
Title: Re: MSN protocol
Post by: Tomaso on 03 06 2015, 20:46:59
You should use Plugin Updater - why not?
I just tried it for STABLE builds only, cuz the only development build that I'm currently running is MSN.
It reported new builds for most of my plugins, so I re-downloaded the ones that it listed..
All of them had the same version numbers as the old ones.
Title: Re: MSN protocol
Post by: Robyer on 03 06 2015, 21:48:00
Tomaso, I don't know if I understand you. But to sumarize:

1) You shouldn't mix stable and development versions of core/plugins together.
2) Version numbers doesn't matter at all. Plugin Updater computes and compares the hash of content of file.
Title: Re: MSN protocol
Post by: Tomaso on 04 06 2015, 14:03:10
You shouldn't mix stable and development versions of core/plugins together.
I only use stable builds, but I had to make an exception for MSN, since the stable build doesn't work anymore.
The development build seems to work just fine under v0.95.4. :)

--

Version numbers doesn't matter at all. Plugin Updater computes and compares the hash of content of file.
So why use version numbering then?
Might just as well remove it, to avoid confusion.
Title: Re: MSN protocol
Post by: White-Tiger on 04 06 2015, 14:44:19
generally, version numbers will be increased if there are significant changes. It's often simply forgotten by the executing person...

And "a lot" of current changes to Miranda NG are API changes and other code style changes... Normally you wouldn't see a new "release" if it were a Miranda IM plugin as those changes are mostly internal and don't really change the output.
Ok for API changes you would normally see a new build.. or at least if it's an incompatible change as it is for NG (IM rarely had them)
So when you see a whole bunch of updates, they are mostly caused by an API header change... For example when I change or add a comment to "m_core.h", all plugins will rebuild and thus trigger an update, even though nothing changed. So the version number shouldn't increase ;)


Besides the above, Miranda NG does have some managing issues as well... For my own projects, I'm using an automated version incremental system... every build I compile increases the version/revision (or in case of my Git / SVN hosted projects, every commit does, not "tries")
But since all plugins are hosted in one big fat repository here, such systems don't really work that good... well we could create one, one that only counts commits for a given path / plugin, but that might require us to switch to Git or a Linux based build server^^

So let's just hope we won't forget (or forget less) to increase our version numbers ;)


edit: hmm.. now that I think of it, a "comment" change might cause a rebuild, but shouldn't cause the resulting executable to change... unless the compiler got crazy and goes a different way to do the same thing xD So those updated builds might be limited to API changes that change the way a function is called for example. Which again doesn't really change what the program does, so still no real need to increment the version.
Title: Re: MSN protocol
Post by: Tomaso on 04 06 2015, 15:15:09
Thanks very much for your thorough explanation, White-Tiger! :)

I just hope that some of the plugins that I use will get some fixes that matters soon, because they're really buggy compared to their Miranda IM counterparts.
Of course, I understand that this is because they're built on old source codes, but it should still be possible to get them to work properly.
Title: Re: MSN protocol
Post by: leecher on 04 06 2015, 15:24:12
Hm, I always thought that I should only increase version numbering on Stable builds as those are the ones consumed by the normal end users and it doesn't matter in development tree as there are constant changes in it anyway and these plugins are only considered experimental.
Title: Re: MSN protocol
Post by: Tomaso on 04 06 2015, 20:44:32
New bug:
Avatars doesn't work anymore.
(MSN dev:Jun.04.2015 / MirNG v0.95.4 x64)
Title: Re: MSN protocol
Post by: Wishmaster on 04 06 2015, 21:07:53
1) You shouldn't mix stable and development versions of core/plugins together.

The development build seems to work just fine under v0.95.4. :)

New bug: Avatars doesn't work anymore. (MSN dev:Jun.04.2015 / MirNG v0.95.4 x64)
And appearently they dont work "just fine", do you get it now?  :PUNISH:
Please DO NOT post any "bugs" if you don't update everything to the latest development version.
If you don't, all your "bug reports" will be silently ignored.

You may use for yourself whatever you want, but do not make "bug reports" with incompatible versions.


I knew this would happen because they are incompatible. Didn't tell you because you would know it better what is compatible then the developers anyways...
Title: Re: MSN protocol
Post by: Tomaso on 04 06 2015, 21:30:50
appearently they dont work "just fine", do you get it now?
No need to shout.
I just forgot to add the question mark after "New bug".
Just tried it with MirNG dev.v0.95.5 now, and you're right, avatars DOES work!
I suspected as much myself, that's why I specified in my post which MirNG version I was using.
The reason that I asked was that avatars DID work with the previous MSN dev. + MirNG v0.95.4.
..and I just noticed that they didn't anymore.
No big deal though, as the important functions still work. :)

Didn't tell you because you would know it better what is compatible then the developers anyways...
What gives you that idea?
I don't even know programming.
Title: Re: MSN protocol
Post by: Wishmaster on 04 06 2015, 21:42:55
No need to shout.
Yes, there is.
I just forgot to add the question mark after "New bug".
Sure... sounds logical...  ;D How stupid I didn't see it myself  ;D

  Just tried it with MirNG dev.v0.95.5 now, and you're right, avatars DOES work! I suspected as much myself, that's why I specified in my post which MirNG version I was using. The reason that I asked was that avatars DID work with the previous MSN dev. + MirNG v0.95.4. ..and I just noticed that they didn't anymore. No big deal though, as the important functions still work. :)
Well, just check this before you make a bug report next time, or you'll just get ignored.And no one assures you that all the "important functions" will be compatible.
What gives you that idea? I don't even know programming.
Well, just because Robyer told you and you didn't listen, so you wouldn't believe me as well.
Title: Re: MSN protocol
Post by: Tomaso on 04 06 2015, 22:02:51
because Robyer told you and you didn't listen
I heard him..
That's why I intended to phrase my post as a question.
..but when reading it now, I realize that it just sounds like a bad excuse, so I can see why you don't believe me.
Anyway, I'm just glad that you've all managed to crack M$ new protocol, and I'm looking forward to the next stable release!

I might post a few bugs for some of the other plugins that I'm using instead, because they're all stable versions.
Title: Re: MSN protocol
Post by: Robyer on 05 06 2015, 04:14:35
I might post a few bugs for some of the other plugins that I'm using instead, because they're all stable versions.

Sure, just create a new thread for them, please. BUT first check that they are still present in latest development build. There have been many various fixes already, as usual ;-)
Title: Re: MSN protocol
Post by: delerue on 20 06 2015, 02:13:38
I can't login anymore. I also tried with a clean install but no success. Here's the log:

Code: [Select]
[23:06:14 178C] [MSN_1] PS_SETSTATUS(40073,0)
[23:06:14 13A8] [MSN_1] Starting thread 000013A8 (02734F17)
[23:06:14 13A8] [MSN_1] Thread started: server='s.gateway.messenger.live.com:443', type=0
[23:06:14 13A8] [MSN_1] Connection request to s.gateway.messenger.live.com:443 (Flags 10)....
[23:06:14 13A8] [MSN_1] (05ADBEE0) Connecting to server s.gateway.messenger.live.com:443....
[23:06:14 13A8] [MSN_1] (05ADBEE0) Connecting to ip 157.56.106.210:443 ....
[23:06:15 13A8] [MSN_1] (1048) Connected to s.gateway.messenger.live.com:443
[23:06:15 13A8] [MSN_1] (1048 s.gateway.messenger.live.com) Starting SSL negotiation
[23:06:15 13A8] [MSN_1] (1048 s.gateway.messenger.live.com) SSL negotiation successful
[23:06:15 13A8] [MSN_1] Connected with handle=05ADBEE0
[23:06:15 13A8] [MSN_1] (05ADBEE0:1048) Data sent
CNT 1 CON 116

<connect><ver>2</ver><agent><os>winnt</os><osVer>5.2</osVer><proc>x86</proc><lcid>en-us</lcid></agent></connect>
[23:06:15 13A8] [MSN_1] Entering main recv loop
[23:06:15 13A8] [MSN_1] (05ADBEE0:1048) Data received
XFR 1 CON 204

<xfr><target>BN1MSGR1012904.gateway.messenger.live.com:443</target><flags>S</flags><state>VmVyc2lvbjogMQ0KWGZyQ291bnQ6IDENClhmclNlbnRVVENUaW1lOiA2MzU3MDM2MzAyODk3MjE1MDMNCg==</state><wait>0</wait></xfr>
[23:06:15 13A8] [MSN_1] RECV: XFR 1 CON 204
[23:06:15 13A8] [MSN_1] Switching to notification server 'BN1MSGR1012904.gateway.messenger.live.com:443'...
[23:06:15 0A24] [MSN_1] Starting thread 00000A24 (02734F17)
[23:06:15 13A8] [MSN_1] (05ADBEE0:1048) Data sent
OUT 2 CON 0
[23:06:15 0A24] [MSN_1] Thread started: server='BN1MSGR1012904.gateway.messenger.live.com:443', type=0
[23:06:15 0A24] [MSN_1] Connection request to BN1MSGR1012904.gateway.messenger.live.com:443 (Flags 10)....
[23:06:15 0A24] [MSN_1] (03B073B0) Connecting to server BN1MSGR1012904.gateway.messenger.live.com:443....
[23:06:15 13A8] SSL connection gracefully closed
[23:06:15 13A8] [MSN_1] Connection closed gracefully
[23:06:15 13A8] [MSN_1] Connection 05ADBEE0 [000013A8] was gracefully closed
[23:06:15 13A8] [MSN_1] Thread [000013A8] ending now
[23:06:15 13A8] [MSN_1] Leaving thread 000013A8 (02734F17)
[23:06:15 13A8] [MSN_1] Closing connection handle 05ADBEE0
[23:06:15 13A8] [MSN_1] (05ADBEE0:1048) Connection closed internal
[23:06:15 13A8] [MSN_1] (05ADBEE0:4294967295) Connection closed
[23:06:15 0A24] [MSN_1] (03B073B0) Connecting to ip 134.170.19.173:443 ....
[23:06:16 0A24] [MSN_1] (1140) Connected to BN1MSGR1012904.gateway.messenger.live.com:443
[23:06:16 0A24] [MSN_1] (1140 BN1MSGR1012904.gateway.messenger.live.com) Starting SSL negotiation
[23:06:16 0A24] [MSN_1] (1140 BN1MSGR1012904.gateway.messenger.live.com) SSL negotiation successful
[23:06:16 0A24] [MSN_1] Connected with handle=03B073B0
[23:06:16 0A24] [MSN_1] (03B073B0:1140) Data sent
CNT 2 CON 226

<connect><xfr><state>VmVyc2lvbjogMQ0KWGZyQ291bnQ6IDENClhmclNlbnRVVENUaW1lOiA2MzU3MDM2MzAyODk3MjE1MDMNCg==</state></xfr><ver>2</ver><agent><os>winnt</os><osVer>5.2</osVer><proc>x86</proc><lcid>en-us</lcid></agent></connect>
[23:06:16 0A24] [MSN_1] Entering main recv loop
[23:06:16 0A24] [MSN_1] (03B073B0:1140) Data received
CNT 2 CON 126

<connect-response><ver>2</ver><qostest>false</qostest><nonce>9b432641-12db-29db-aa58-9f9566347e7e</nonce></connect-response>
[23:06:16 0A24] [MSN_1] RECV: CNT 2 CON 126
[23:06:17 0A24] SSL connection gracefully closed
[23:06:19 0A24] SSL connection gracefully closed
[23:06:19 0A24] [MSN_1] (03B073B0:1140) Data sent
OUT 3 CON 0
[23:06:19 0A24] SSL connection gracefully closed
[23:06:19 0A24] [MSN_1] Connection closed gracefully
[23:06:19 0A24] [MSN_1] Connection 03B073B0 [00000A24] was gracefully closed
[23:06:19 0A24] [MSN_1] Thread [00000A24] ending now
[23:06:19 0A24] [MSN_1] Leaving thread 00000A24 (02734F17)
[23:06:19 0A24] [MSN_1] Closing connection handle 03B073B0
[23:06:19 0A24] [MSN_1] (03B073B0:1140) Connection closed internal
[23:06:19 0A24] [MSN_1] (03B073B0:4294967295) Connection closed
Title: Re: MSN protocol
Post by: Dimsok on 20 06 2015, 13:45:51
I can't login anymore
Confirm
Title: Re: MSN protocol
Post by: leecher on 22 06 2015, 09:20:01
Hi,

You need to visit

https://login.live.com/oauth20_authorize.srf?client_id=00000000480BC46C&scope=service%3A%3Askype.com%3A%3AMBI_SSL&response_type=token&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&state=999&locale=en

once and accept new TOS, then logon should work again.
Title: Re: MSN protocol
Post by: delerue on 22 06 2015, 14:14:19
leecher, it worked flawlessly! Thanks! :)
Title: Re: MSN protocol
Post by: delerue on 24 06 2015, 01:59:22
I'm trying to remove some contacts from my list, but they always come back when I reconnect. I tried to remove only from list, and then from the server; same problem.
Title: Re: MSN protocol
Post by: vultures on 30 06 2015, 05:40:47
Hi,

You need to visit

https://login.live.com/oauth20_authorize.srf?client_id=00000000480BC46C&scope=service%3A%3Askype.com%3A%3AMBI_SSL&response_type=token&redirect_uri=https%3A%2F%2Flogin.live.com%2Foauth20_desktop.srf&state=999&locale=en

once and accept new TOS, then logon should work again.

And after so much time & fuss. Thx for the heads up, since the MS newsletter had no info on this, whatsoever.
Title: Re: MSN protocol
Post by: Ret on 30 06 2015, 20:02:43
First of all let me thank you for your work! I'm using Miranda-NG v0.95.5 alpha build#14447 and MSN 0.12.1.1.

Some days ago I was connecting to MSN just fine but today I have problems logging in. I get the error:
Quote
"Unrecognized error 921. The server has closed our connection".
I tried visiting the link you provided but all I get is a blank page. I tried looking for a page to accept those new TOS but could find't it.
Is there anything else I can try to log into MSN again?

Thx!
Title: Re: MSN protocol
Post by: leecher on 01 07 2015, 09:53:37
Hi,

921
    Server too busy

I suggest to try again later, I don't think that there is a way to circumvent busy servers. Maybe there are other MSN login servers that I'm not aware of that can be tried as a backup when main server is too busy?

Regards
Title: Re: MSN protocol
Post by: Ret on 02 07 2015, 22:43:37
Thanks for your response. It seems you were right. I can now connect to MSN (yet it took me more than a day).

I have one more question:
I tried linking my Skype account with MSN account. All I got is Skype contacts showing as offline so I decided to go back using MSN and Skypeweb plugin separately. So I unlinked the accounts.
Now, whenever I tried to connect to Skype and MSN with each plugin they disconnect one another. I cannot have both accounts online.
Any help? Thx!
Title: Re: MSN protocol
Post by: Beck Yang on 03 07 2015, 04:51:46
I cannot login again, this plugin worked yesterday. Look like they did some change again...
Here is the log
Sorry but you are not allowed to view spoiler contents.
Title: Re: MSN protocol
Post by: leecher on 03 07 2015, 07:37:34
I cannot login again, this plugin worked yesterday. Look like they did some change again...
Ok, visit URL above. I now changed login code so that a browser window opens up if there is no 302 redirect but a 200 reply to login, so that users don't need to read the URL in this forum where to login manually but get redirected to the correct URL in their browser by the plugin.

I tried with your account and opening the browser seems to work. Now please change your password  ;)
Title: Re: MSN protocol
Post by: Beck Yang on 03 07 2015, 12:14:36
I just change my password. Thank you.
Title: Re: MSN protocol
Post by: Schumi on 06 07 2015, 06:24:42
Hi. I have 2-step auth in my account.
I open leecher's url in browser, change account password, generate new application password.
But each time on try login, I see open url in my browser some long url:

https://login.live.com/oauth20_desktop.srf?lc=1049#access_token=.....&token_type=bearer&expires_in=86400&scope=service::skype.com::MBI_SSL&refresh_token=....&user_id=fee546a772385a13 - 302
Next redirect: https://login.live.com/oauth20_desktop.srf?lc=1049 - 200
And see empty page in web browser.

UPD: I use dev build x64. Today update miranda again before trying.
Title: Re: MSN protocol
Post by: leecher on 06 07 2015, 08:13:13
Hi. I have 2-step auth in my account.
What is this?
Title: Re: MSN protocol
Post by: Schumi on 06 07 2015, 11:04:49
May be incorrect say - Two-step verification
https://account.live.com/proofs/Manage?mkt=en-US
https://c4.staticflickr.com/4/3888/19456928192_f50454a199_o.png
Title: Re: MSN protocol
Post by: leecher on 06 07 2015, 17:02:25
Why don't you just turn this off for you MSN account? Seems to be pretty annoying and it's not supported by the plugin.
Title: Re: MSN protocol
Post by: White-Tiger on 06 07 2015, 18:55:18
Schumi, so... your app password seems to almost log you in? I thought those works just like your normal password^^ No real difference... (nor need to have the app to support it)

leecher, you didn't just recommend to turn a security feature off, did you? It's weird enough that you've never heard of it...
Today, 2-step auth is very common, Google started to use that, and other services followed. Such as battle.net and now even Microsoft... It's mainly used for its high security benefit.
You might even call Steam Guard a 2-step auth, even though it's not using an authenticator, nor required for all kinds of login.

Though, adding 2-step auth would be the best to do, those "application passwords" should work as well... So how about enabling it and try to use an app password so you could maybe "fix" it... Would be enough for now :P
Title: Re: MSN protocol
Post by: Schumi on 07 07 2015, 07:00:36
No real difference
Not sure.
How it can be? You try login with app password, server see it (2 step verif. enable), redirect to another page, send sms to your phone, on this page you need to confirm code, and only after this redirect, where url contain access token / refresh token...
Title: Re: MSN protocol
Post by: leecher on 10 08 2015, 00:40:05
Hi,

I consider 2-step auth for an instant messenger where you usually want your tasks being automated a bit ridiculous.
i.e. think about using keepstatus plugin, when you drop off the network and it tries to log you in again, you may be stuck with a manual login screen if your auth token expired in the meantime.

Nevertheless I implemented an embedded Internet Explorer window now to resolve login conflicts. As soon as automatic login fails, the plugin opens a window with an embeded Internet Explorer instance (like Skype client does) which allows you to do a manual login. This also should help people when Microsoft Security measures are requiring you to confirm your login due to a login country change, to accept new TOS or other things that already bugged some users.
Hopefully it works.
Title: Re: MSN protocol
Post by: Schumi on 10 08 2015, 06:52:09
leecher, people enable 2-step auth not for  instant messenger, but for whole account. It makes sense.
Try your last update - work.
Only find one issue (think problem on my side). First time I see login screen and need to enter not only password, but also capture. With capture I can't login, always get incorrect password/capture.
Then I open IE, open live id page, login. Back to Miranda, again try login. This time I see only password box without capture and can login correct.
Also what I find: do not work ctrl+v/shift+ins in password box, but can show context menu. Think ms server bug.

Thanks for the good job.
Title: Re: MSN protocol
Post by: leecher on 10 08 2015, 13:56:32
Hi,

I personally would use a seperate account just for instant messaging if there is valuable data connected to my account that needs to be protected via 2-step auth.

Is there a way to force a captcha so that I can try this? I guess this may be due to the fact that the plugin tries to be nice and log you in automatically on the website which works fine with user+pass, but not if there is a captcha present. I never had a captcha auth yet, so I don't know how to debug this.

I now fixed the keyboard input issues so that copy and paste should be possible. Bugfix will be available in next nighly build.
Title: Re: MSN protocol
Post by: Schumi on 10 08 2015, 15:40:05
I have only one idea: much attempts to login.
Title: Re: MSN protocol
Post by: Schumi on 11 08 2015, 17:16:17
Something broken. Update 2h ago Miranda and now can not login.
See MSN login form (empty),  after ~ 2 seconds form disappear. After some time -again see from, again disapper...
Title: Re: MSN protocol
Post by: Schumi on 11 08 2015, 17:21:48
Oh, find understood why.
Try open in IE and login.
See url https://login.live.com/ppsecure/post.srf?lc=1033&bk=xxxx&uaid=xxxx&pid=0:
https://farm1.staticflickr.com/394/20497971691_a364b85b23_o.png

After success login by web, try again login by Miranda - fail.
Title: Re: MSN protocol
Post by: leecher on 11 08 2015, 17:44:49
The login form popping up and disappearing is normal and expected behaviour in case login tokens expired requiring a relogin via web but there are still working login cookies in web browser that automatically cause a redirect to oauth success page causing the login window to close again as auth is completed.
However it seems that some other tokens expired and are not refreshed correctly maybe causing MSN to stay disconnected. What does the Netlib log say?

To be able to login again, you can try to delete MSN-loginsite Cookies in Internet Explorer.
Title: Re: MSN protocol
Post by: Schumi on 14 08 2015, 07:01:50
https://cloud.mail.ru/public/4Rhd/aHK7ECr1t
Net log here: (archive password I sent to your icq).
Title: Re: MSN protocol
Post by: Schumi on 14 08 2015, 07:03:08
Oh, again see ("You need to use a security code to verify your identity. How would you like to receive your code?")
Сurious, that I mark "I sign in frequently on this device. Don't ask me for a code.", but anyway see this page again.
Title: Re: MSN protocol
Post by: Mikalair on 15 10 2015, 11:10:46
Crash on opening 2-factor auth window

Code: [Select]
     6dc86033()    Нет данных
     [Указанные ниже фреймы могут быть неверны и (или) отсутствовать]   
     user32.dll!_UserCallWinProcCheckWow@32()    Нет данных
>    MSN.dll!IEEmbedSink::DocumentComplete(IDispatch * __formal=0x08e0f7f4, tagVARIANT * url=0x07cd2084)Строка 98    C++
     mshtml.dll!CWebOCEvents::DocumentComplete()    Нет данных
     mshtml.dll!CMarkup::OnLoadStatusDone()    Нет данных
     mshtml.dll!CMarkup::OnLoadStatus()    Нет данных
     mshtml.dll!CProgSink::DoUpdate()    Нет данных
     mshtml.dll!CProgSink::OnMethodCall(unsigned long)    Нет данных
     mshtml.dll!GlobalWndOnMethodCall()    Нет данных
     mshtml.dll!GlobalWndProc()    Нет данных
     user32.dll!__InternalCallWinProc@20()    Нет данных
     user32.dll!_UserCallWinProcCheckWow@32()    Нет данных
     user32.dll!_DispatchMessageWorker@8()    Нет данных
     user32.dll!_DispatchMessageW@4()    Нет данных
     MSN.dll!CMsnProto::msn_IEAuthThread(void * pParam=0x0900f09c)Строка 849    C++
     mir_core.mir!forkthreadex_r(void * arg=0x0900efcc)Строка 154    C++
Title: Re: MSN protocol
Post by: Corak on 23 10 2015, 14:39:50
Cannot connect now to MSN. Message:
"Passport Authorization Failed. Check the ticket or caller parameters."

Code: [Select]
[17:36:57 0564] [MSN_1_HTTPS] (012D3A40:1724) Data received
HTTP/1.1 400 Bad Request

[17:36:57 0564] [MSN_1_HTTPS] (012D3A40:1724) Data received
Cache-Control: no-cache
Content-Length: 229
Content-Type: application/xml
Content-Encoding: deflate
X-MSNSERVER: BLUCDP2031228
X-Content-Type-Options: nosniff
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 3.0
Set-Cookie: ASP.NET_SessionId=dhvb2ohl51ocx3hkbklruao0; path=/; secure; HttpOnly
Date: Fri, 23 Oct 2015 14:36:34 GMT


[17:36:57 0564] [MSN_1_HTTPS] (012D3A40:1724) Data received
<?xml version="1.0"?>
<ReturnedPeopleResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www
.w3.org/2001/XMLSchema-instance">
  <error>
    <code>PassportAuthFail</code>
    <message>Passport Authorization Failed. Check the ticket or caller parameters.</messag
e>
    <errorType>client</errorType>
    <extendedInfo />
  </error>
</ReturnedPeopleResponse>

[17:38:23 0B88] [MSN_1_HTTPS] (012D3A40:1724) Connection closed internal
[17:38:23 0B88] [MSN_1_HTTPS] (012D3A40:4294967295) Connection closed
Title: Re: MSN protocol
Post by: leecher on 04 11 2015, 07:56:10
Auth error should hopefully be fixed now in current build, sorry for the inconvenience.
Technical details: Tokens are refreshed correctly, but for contact list fetching, an auth Cookie (WLSSC) is required which cannot be refreshed therefore requiring a complete relogin after it expired.
Title: Re: MSN protocol
Post by: Corak on 06 11 2015, 08:07:29
Todays nighly build (Yesterday's commit) of MSN plugin is broken (not connecting) - please fix it. Restored to yesterday's nigthly build - all perfect.

Loops on
[10:25:54 1A28] [MSN_1] (013FDA68:1884) Data sent
CNT 1 CON 116

<connect><ver>2</ver><agent><os>winnt</os><osVer>5.2</osVer><proc>x86</proc><lcid>en-us</lcid></agent></connect>
Title: Re: MSN protocol
Post by: Wishmaster on 06 11 2015, 10:28:17
Sorry, my fault :( leecher fixed it
Title: Re: MSN protocol
Post by: Corak on 11 11 2015, 09:23:14
Got new crash on MSN when lost connection. On "msn_mime.cpp (184): MimeHeaders::readFromBuffer"

http://trac.miranda-ng.org/ticket/1087


Sorry but you are not allowed to view spoiler contents.
Title: Re: MSN protocol
Post by: Wishmaster on 11 11 2015, 12:45:56
It should be fixed.
Title: Re: MSN protocol
Post by: andng on 17 03 2016, 11:02:50
MSN: After few successful login attempts with latest development version it stopped working. Can't log in anymore. Here is the log:
Title: Re: MSN protocol
Post by: leecher on 17 03 2016, 12:34:57
Seems like skypewebexperience.live.com died.
You can try if it helps to add this entry to your windows\system32\drivers\etc\hosts file:

23.97.130.30 skypewebexperience.live.com

(didn't test, though, but the service is still available on the IP at least)
Title: Re: MSN protocol
Post by: andng on 17 03 2016, 18:45:43
Quote
23.97.130.30 skypewebexperience.live.com

didn't help... Attaching the corresponding log
Title: Re: MSN protocol
Post by: leecher on 17 03 2016, 21:13:56
Hi,

Seems that they changed logon method so that web-based logon works differently..
Any volunteer to debug that javascript-mess from outlook.com? ;)

In the meantime, use Skylogin (https://github.com/msndevs/skylogin) fallback.
Compiled it for 32bit here: http://dose.0wnz.at/Skype/skylogin_32.zip
I don't have a 64bit machine/compiler, so for 64bit you need to compile it yourself.
Put the DLL into the plugin-folder and it should work again.

Skylogin needs OpenSSL installed (LIBEAY32.DLL).

Regards
Title: Re: MSN protocol
Post by: andng on 18 03 2016, 09:17:57
Now it works - thanks a lot for quick help!

Sorry - no java experience at all... :)
Title: Re: MSN protocol
Post by: billf on 20 04 2016, 13:11:06
So is MSN protocol dev build broken for now without SkyLogin? In the log it seems to get past the live.com login and then:

[6:59:59 1A80] [MSN] Sending Handshake to Login Server 91.190.216.17..
[7:00:21 1A80] [MSN] Connection refused..
[7:00:21 1A80] [MSN] Sending Handshake to Login Server 91.190.218.40..
[7:00:42 1A80] [MSN] Connection refused..
[7:00:42 1A80] [MSN] Login Failed..
[7:00:42 1A80] [MSN] (0000000003DC1E58:1356) Data sent
OUT 2 CON 0

Connection settings:

Direct: s.gateway.messenger.live.com
Gateway: geo.gateway.messenger.live.com
msn.dll v 0.12.11

edit: I tried the TOS link from earlier in the thread but that didn't do anything different afterwards. I already made sure the login worked with live.com manually.
edit2: I have the skypeweb protocol working but just wanted to see if I could get the MSN protocol to work with my live.com login instead of a skype user.

I'm not keen on posting the entire netlog in case I miss editing out my credentials or what-have-you.
Title: Re: MSN protocol
Post by: leecher on 20 04 2016, 15:00:32
Seems like Login server cannot be reached from your site?
May be a connectivity-Problem, login code is using direct socket connections, so no Proxy or netlib support, maybe you got blocked by a firewall or something?
Title: Re: MSN protocol
Post by: Per Hansson on 05 03 2017, 12:50:24
In the meantime, use Skylogin (https://github.com/msndevs/skylogin) fallback.
Compiled it for 32bit here: http://dose.0wnz.at/Skype/skylogin_32.zip
I don't have a 64bit machine/compiler, so for 64bit you need to compile it yourself.
Put the DLL into the plugin-folder and it should work again.

Skylogin needs OpenSSL installed (LIBEAY32.DLL).

Regards
Hi, new version released on Github...
Could you compile it or give some details about what's needed to compile it?
Title: Re: MSN protocol
Post by: leecher on 05 03 2017, 13:05:07
I already committed the changes into the Miranda NG repository before I even updated the github repo for the login library ;)
https://github.com/miranda-ng/miranda-ng/commit/d057552cc40769f6ba988a9c7a55957dea2e7e2a

Btw.: External DLL isn't needed anymore for quite some time now, because library code was linked into MSN.dll (due to the fact that the other web-based login mechanism which was in MSN.dll earlier died).
Title: Re: MSN protocol
Post by: yvesson on 02 07 2017, 09:24:56
Hej,
What's the point of the MSN protocol nowadays ?
Seems I am logged in, yet I can't see anyone online. Though some contacts should be, since there are on the hotmail Email site ?
Though they would still appear some months ago, but they disappeared from miranda MSN one by one.
Title: Re: MSN protocol
Post by: leecher on 02 07 2017, 09:46:54
I still have MSN-contacts online and working, but I mainly use it to communicate with Skype users.
Title: Re: MSN protocol
Post by: yvesson on 02 07 2017, 09:53:15
Hej,
Mine are old MSN contacts, I suppose they are logged in on skype with they old account, but I can't see those on miranda.
Is there any reason and something to do to see them again ?
Title: Re: MSN protocol
Post by: leecher on 02 07 2017, 10:10:49
Originally I had a MSN-account and a Skype-account.
I used the MSN website to link these accounts and then all contacts appeared in my MSN account. Don't know if this is the reason why you don't see them, hard to guess :)
Title: Re: MSN protocol
Post by: yvesson on 02 07 2017, 10:14:35
Hej,
Of course it's hard to guess, some of them were still showing as far as march 2017 and even april, someone else disappeared in 2016 but was still connected when I checked on hotmail.com (skype on the Email site).
Title: Re: MSN protocol
Post by: yvesson on 02 07 2017, 11:04:14
Hej,
Well there is something clearly wrong with my account setting or whatever : on the "server list", there arn't any star, so I created a new profile and there is and empty contact list. :/
Don't know what I did wrong, but no idea how to correct that.

*edited* : in fact, I downloaded skype to check on that : the active old MSN contacts have somehow duplicated into one "messenger contact" and one "skype contact", and the ones I see on skype are the "skype contact", so I believe on miranda I see the "messenger contact" version which in a ghost of them. :(
Title: Re: MSN protocol
Post by: yvesson on 02 04 2018, 08:03:20
Hej,
Are the stars in the server list tab still relevant ? After each reconnection,  the users all have a red star, but don't seem to be blocked. If I click the blue star, they will become blocked until I click the green star.
Apart from this, it works again like the old msn.
Title: Re: MSN protocol
Post by: leecher on 02 04 2018, 10:32:01
You are right, this doesn't currently have any significance, I just wanted to get it working again.. Will look into this feature when I have time, meanwhile just ignore it plz.
Title: Re: MSN protocol
Post by: yvesson on 06 04 2018, 21:13:31
Hej,
Btw, seems I can't retrieve any avatar for contacts who have an avatar on skype or hotmail.com, in user's details it's updating forever.
Somehow some monthes ago, I managed to get an avatar for a contact who didn't have one on skype client or hotmail... but it disappeared now as well.
Could as well be a CL issue (or anything else) since my own avatars on ICQ (I have two accounts) are not updating when I change them. :/
Title: Re: MSN protocol
Post by: yvesson on 04 05 2018, 17:27:14
Hej,
Today I can't login with the MSN plugin, it says : "MSN services are too busy, please try to connect later".
Seems weird that MSN servers are busy, maybe they shut off more servers with an old protocol or something ?
Title: Re: MSN protocol
Post by: leecher on 04 05 2018, 21:51:45
This happens somteimes, there is a special error code issued by the server for it. Could be that there is maintenance on the servers near you.
Here in .at, services currently work fine.
Title: Re: MSN protocol
Post by: yvesson on 06 05 2018, 09:58:34
Hej,
Are you sure of that ? Because it's still the same, third day...
I'd like to change the connection setting, but what should I try ?
I attached my log just in case.
Title: Re: MSN protocol
Post by: leecher on 06 05 2018, 14:06:39
Aha, weird.. Maybe your tokens expired or something like that.
You can try to use DbEditor++, navigate to the MSN_1 subkey and delete all settings whose names end with Token (ans also their Expiretime).
Maybe it helps. As I don't have any connection problems myself, I can only guess...
Title: Re: MSN protocol
Post by: yvesson on 06 05 2018, 16:24:38
Hej,
Thanks, it worked !
Title: Re: MSN protocol
Post by: yvesson on 06 05 2018, 19:27:45
Hej,
And now I have a contact named like my skype account with fingerprint telling me it's on skype client ? Oo
My second MSN with my skype name doesn't work anymore either, btw, it says username or password is incorrect, though they are correct. :/
I attach my log if you can see whatever isn't right.
Title: Re: MSN protocol
Post by: leecher on 09 04 2019, 23:55:44
https://wink.messengergeek.com/t/microsoft-ending-support-for-classic-skype-version-7-n-o-v-e-m-b-e-r-1-january-8/6131

MSNP24 is dead now, plugin can be removed.