[Pidgin] #48: Make SIP/SIMPLE work with Microsoft Live Communication Server
Pidgin
trac at pidgin.im
Mon Nov 24 14:36:25 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 DanielBeichl):
Replying to [comment:196 gburt]:
> Fixxxer,
>
> In your commit
(http://repo.or.cz/w/siplcs.git?a=commitdiff;h=30264e86c5eb890babf00445f5b306c5e1d48551)
that makes use of the new epid/uuid code, in the changes to send_publish,
why do you use generateUUIDfromEPID(getuuid()) for the value of
endpointId=\"%s\"? Shouldn't it be using the epid value instead?
>
> We should probably be caching the epid/uuid values - no need to generate
them after the first time we use them. Could probably generate them in
the login callback?
>
> Also, when you run the code you committed, does it crash when you try to
login? I'm getting the same crash that djflux and Rondom see:
>
> {{{
> #5 0x00007ff72d6ace24 in _IO_vfprintf_internal (s=0x7fff3d70f4c0,
format=0x361238c0 <Address 0x361238c0 out of bounds>, ap=0x7fff3d70f5e0)
at printf-parse.h:95
> #6 0x00007ff72d6d0ee9 in __IO_vsprintf (string=0x7fff3d70f6e0
"��p=�\177", format=0x361238c0 <Address 0x361238c0 out of bounds>,
args=0x7fff3d70f5e0) at iovsprintf.c:43
> #7 0x00007ff72d6b7118 in __sprintf (s=0x361238c0 <Address 0x361238c0
out of bounds>, format=0x25 <Address 0x25 out of bounds>) at sprintf.c:34
> #8 0x00007ff7244eb189 in generateUUIDfromEPID (epid=0x361238c0 <Address
0x361238c0 out of bounds>) at uuid.c:85
> #9 0x00007ff7244e95cd in do_register_exp (sip=0x7ff735f7cac0,
expire=900) at sipe.c:1017
> #10 0x00007ff7244ea76b in login_cb_ssl (data=0x7ff735f7b1a0,
gsc=0x7ff735f7cf80, cond=<value optimized out>) at sipe.c:1049
> #11 0x00007ff731225ec7 in purple_certificate_verify_complete () from
/usr/lib64/libpurple.so.0
> }}}
>
> Any interest in chatting in #pidgin-sipe on freenode? I'll idle there
in case somebody wants to chat.
Perhaps i can elaborate on this problem ...
In my implementation of the epid -> uuid generation code i have written a
function readUUID()
which contained a incorrect scanf line which may overwrite stack memory. I
have pushed a corrected version. Please test if it fixes this error.
Regarding the user-agent ...
I created a dump and the difference is that in case the user agent is
"Purple/1.2.0" our server
here answers the last NTLM auth message with
SIP/2.0 403 Forbidden
251 ms-user-logon-data: RemoteUser
...
Warning: 310 lcs.microsoft.com "You are currently not using the
recommended version of the client"
Server: ClientVersionFilter/3.0.0.0
If i fake the user-agent to "UCCP/2.0.6362.0 OC/2.0.6362.0 (Microsoft
Office Communicator)"
it accepts the last REGISTER with SIP/2.0 200 OK
regards and sorry for the introduced bug
Daniel
--
Ticket URL: <http://developer.pidgin.im/ticket/48#comment:197>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list