[Pidgin] #48: Make SIP/SIMPLE work with Microsoft Live Communication Server

Pidgin trac at pidgin.im
Fri Nov 7 08:30:42 EST 2008


#48: Make SIP/SIMPLE work with Microsoft Live Communication Server
---------------------------+------------------------------------------------
 Reporter:  MarkDoliner    |        Owner:  shulman
     Type:  patch          |       Status:  new    
Milestone:                 |    Component:  SIMPLE 
  Version:  2.0            |   Resolution:         
 Keywords:  MS LCS SIMPLE  |  
---------------------------+------------------------------------------------

Comment(by kiraly):

 Trivial question: is it possible to download latest sources (including
 your path)?
 Clicking on the link  I see only the diff files.
 Before signing however weneed to improve the NTLM authentication. Respect
 the sipe original files:

 tmsg->flags = 0x55828040;
 become
 tmsg->flags = 0x40808255;

 Moreover the session key has to be generated correctly:

 gensesskey(sesskey, NULL);
 memcpy(tmp, sesskey, 0x10);

 become

 RC4PrepareKey((BYTE*)masterkey,0x10,&rc4_key);
 gensesskey(sesskey, NULL);
 memcpy(tmp, sesskey, 0x10);
 RC4Encipher((BYTE*)tmp,0x10,&rc4_key);

 where masterkey is a key previously calcolated:

 gaim_cipher_context_append(context, (guchar*)nt_pw, 2*lennt);
 gaim_cipher_context_digest(context, 21, (guchar*)nt_hpw, NULL);
 gaim_cipher_context_destroy(context);
 memset(nt_hpw+16, 0, 5);
 //new code  context2 is a md4 context
 gaim_cipher_context_append(context2, (guchar*)nt_hpw, 0x10);
 gaim_cipher_context_digest(context2, 0x10, (guchar*)masterkey, NULL);
 gaim_cipher_context_destroy(context2);
 //end new

 The RC4 functions are very intuitive, you'll easy convert to your
 scenario.

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


More information about the Tracker mailing list