[SSSD] [PATCH] Use uint32_t to copy the service port

Stephen Gallagher sgallagh at redhat.com
Fri May 25 17:31:18 UTC 2012


On Fri, 2012-05-25 at 18:36 +0200, Jakub Hrozek wrote:
> On Fri, May 25, 2012 at 11:54:40AM -0400, Simo Sorce wrote:
> > On Fri, 2012-05-25 at 10:17 -0400, Stephen Gallagher wrote:
> > > Simo noted that we changed the protocol here. We dropped 32 bits of
> > > padding. In order to remain compatible with existing clients, we need
> > > to
> > > put that back in, which the attached patch does. (It also corrects the
> > > comment describing the protocol to have it match reality).
> > > 
> > > The reason we want to do this is that an upgrade and restart of SSSD
> > > won't change the copy of libnss_sss.so that's already loaded into
> > > running processes. Thus we would be breaking service lookups until
> > > those
> > > apps were restarted.
> > > 
> > ACK.
> > 
> > Simo.
> > 
> 
> Ack++ 
> 
> I tested this by writing a program that called getservbyport(port,proto) in
> a loop and went from unpatched SSSD to my patch and then to Stephen's patch.
> 
> After my patch was applied and SSSD restarted, the sss_nss client was
> receiving "NULL" instead of "proto" in the protocol field - it was
> probably hitting the padding. Then I applied Stephen's patch, restarted
> SSSD and everything went back to normal.
> 
> Thanks for the explanation Simo.


Pushed to master and sssd-1-8.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20120525/03c3351b/attachment.sig>


More information about the sssd-devel mailing list