[Pidgin] #14753: Implement MSNP18 in libpurple

Pidgin trac at pidgin.im
Sat Jan 28 16:55:57 EST 2012


#14753: Implement MSNP18 in libpurple
-----------------------------------------+----------------------------------
 Reporter:  basjuh                       |        Owner:  QuLogic
     Type:  enhancement                  |       Status:  new    
Milestone:  Patches welcome              |    Component:  MSN    
  Version:  2.10.0                       |   Resolution:         
 Keywords:  msnp18 p2p p2pv2 slp groups  |  
-----------------------------------------+----------------------------------

Comment(by basjuh):

 Yeah, sorry I haven't come up with much code throughout these weeks,
 theres just too much focus on writing a good report at my college.

 What I found for MSNP18 is this:

 Changes is these commands:

 MSNP16:
 UBX <passport> <networkid> <length>
 MSNP18:
 UBX <networkid>:<passport> <length>
 in Pidgin: libpurple/protocols/msn/notification.c ubx_post_cmd

 MSNP16:
 NLN <statuscode> <passport> <networkid> <nickname> <clientid> <dpobject>
 MSNP18:
 NLN <statuscode> <networkid>:<passport> <nickname> <clientid> <dpobject>
 in Pidgin libpurple/protocols/msn/notification.c nln_cmd

 If you fix just those 2 commands Pidgin will run MSNP18 without crashing,
 all it needs is the splitting of the second parameter, I have a patch for
 this (ugly code). Could probably also done by making the command parser
 also split ':'.

 And then theres the whole new Circle conversation, which I don't think a
 lot of people use (but it is a part of MSNP18 sadly).

 In the UBX command you get notified of a circle conversation by:
 UBX <statuscode> <networkid>:<passport>;via=9:<email-of-owner-i-guess>
 ....

 It starts using a new SDG command for sending those Circle messages.

 And it changes the USR command to get authority in a new group:
 https://code.google.com/p/msnp-sharp/wiki/MSNP18_New_NS_Command

 msnp-sharp has a good implementation of the circle conversions, maybe
 check that out.

 And there were a few SLP changes with the switchboard data transfer, but
 not sure about those.

 About the whole P2Pv2 things, my debugging skills are far from perfect, so
 I was not really able to find the problem at all... I've ran through most
 of the slp code but I could seem to find the problem. It seems to be a
 really small error, cause most of the v2 stuff is in there. Maybe you have
 found something?

-- 
Ticket URL: <http://developer.pidgin.im/ticket/14753#comment:20>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list