Revision 504a3dc38ec168dab1f4443c13d14858db47cd70

Nathan Walp nwalp at pidgin.im
Tue Jun 5 12:14:26 EDT 2007


Mark Doliner wrote:
> On Tue, 05 Jun 2007 11:29:27 -0400, Nathan Walp wrote
>> am at adiumx.com wrote:
>>> -----------------------------------------------------------------
>>> Revision: 504a3dc38ec168dab1f4443c13d14858db47cd70
>>> Ancestor: e52b685d84ca8874da6e3e71199829e513500642
>>> Author: am at adiumx.com
>>> Date: 2007-06-05T15:18:30
>>> Branch: im.pidgin.soc.2007.xmpp
>>>
>>> Modified files:
>>>         libpurple/protocols/jabber/jabber.c
>>>         libpurple/protocols/jabber/jabber.h libpurple/sslconn.c
>>>         libpurple/sslconn.h
>>>
>>> ChangeLog: 
>>>
>>> Fixed one of the issues in the ssl stuff, allowing CN cert checks for
> starttls-connections in XMPP.
>>>
>>>
>>> ============================================================
>>> --- libpurple/protocols/jabber/jabber.h
> 526859cb1addc59e41df16694c8b27c5f7524b13
>>> +++ libpurple/protocols/jabber/jabber.h
> 826bd3d828ec209b58d5354c2f572cc6451cb73f
>>> @@ -136,6 +136,8 @@ typedef struct _JabberStream
>>>  	char *gmail_last_time;
>>>  	char *gmail_last_tid;
>>>  
>>> +    char *serverFQDN;
>>> +
>>>  	/* OK, this stays at the end of the struct, so plugins can depend
>>>  	 * on the rest of the stuff being in the right place
>>>  	 */
>>> @@ -145,7 +147,6 @@ typedef struct _JabberStream
>>>  	int sasl_state;
>>>  	int sasl_maxbuf;
>>>  	GString *sasl_mechs;
>>> -	char *serverFQDN;
>>>  #endif
>>>  
>>>  } JabberStream;
>> You need to maintain the position of serverFQDN in the struct, 
>> otherwise it is a compat change (i.e. 3.0 vs 2.1)
>>
>> -Nathan
> 
> Is that important for prpl header files?  We don't include jabber.h in devel
> packages, do we?  So if someone is accessing a JabberStream then it's not
> really our responsibility?
> 
> I ask because the fixed version of this change still kinda breaks binary
> compatibility for people who don't HAVE_CYRUS_SASL, in the event that a
> third-party is doing a sizeof(JabberStream) or something.
> 
> -Mark
> 

Actually, I've got something in my tree to pad the non-CYRUS struct with 
void pointers.  It'll push it's way out for 2.1.0.

-Nathan




More information about the Devel mailing list