[Samba] NT_STATUS_OBJECT_NAME_NOT_FOUND after installing the last git version

Andrew Bartlett abartlet at samba.org
Sun Mar 2 13:50:35 MST 2014


On Thu, 2014-02-20 at 14:55 +1300, Andrew Bartlett wrote:
> On Wed, 2014-02-19 at 14:19 +0100, Michael Adam wrote:
> > Hi,
> > 
> > On 2014-02-19 at 12:07 +1300, Garming Sam wrote:
> > > On 18/02/14 21:13, Andrew Bartlett wrote:
> > > >Thank you very much for bringing this to our attention.
> > > >
> > > >This is a (now) know regression that appears to have been introduced
> > > >recently with the change to use wbc_xids_to_sids.
> > > 
> > > Regarding the cause of the issue, it seems we've identified the
> > > problem. The issue is the fact that the winbindd socket directory
> > > was never set, thus it was using /tmp/.winbindd and failing (in
> > > winbindd_pipe_sock in libcli/wbclient.c).
> > > 
> > > The reason the tests didn't fail was because it managed to set it
> > > correctly with the environment variables.
> > 
> > Great that you found it!
> > 
> > > The fix is minor, which is just to add the missing cflags in the
> > > wscript_build file which include the necessary winbindd socket
> > > directory.
> > 
> > Garming: Your patch looks good.
> > 
> > ==> pushing to autobuild.
> > 
> > > Attached is also a patch by Andrew to ensure this doesn't happen again.
> > 
> > That one, needs further discussion, I think.
> > 
> > - Firstly, the commit message is wrong:
> > 
> >   > Subject: [PATCH] nsswitch: Remove fallback setting of WINBINDD_SOCKET_DIR
> >   > 
> >   > This is the original cause of the wbc NT_STATUS_OBJECT_NAME_NOT_FOUND
> >   > issues in recent git master, as the build was able to progress without
> >   > the correct path being set as an override.
> > 
> >   The original cause for the issue was *not* this but the
> >   omission at build time that was fixed in your commit.
> >   This thing just made it less apparent. :-)
> > 
> > - I am also not certain that the removal of the default setting
> >   is appropriate. Up to now the presence of this default it belongs
> >   to the protocol/libwbclient. So _if_ we want to remove it
> >   (I am not sure), shouldn't we do it more friendly?
> 
> The issue is that for Samba, this is always overridden by waf.  The
> value in this header is always wrong, we now always use
> ${SOCKET_DIR}/winbindd as the path.  
> 
> I don't like things being defined in two places, and this seemed the
> better of the two paths to remove.  If this was an installed header, we
> would pre-process the header to include the right path, but if it is a
> public interface but intended to be copied out on an ad-hock basis,
> removing the path from the definition seems the best option. 
> 
> What software uses our nsswitch/winbind_struct_protocol.h anyway?  My
> memory was it had something to do with IBM.

Can I please again request that we apply this patch.  This just cleans
up an internal header, that isn't formally published by the team, and
does so by removing incorrect information (the path is not and has not
been /tmp/.winbindd for some time).

I really don't see a more friendly way to remove it - the header file
does not otherwise use this define, it is up to the software that is
reimplementing this protocol (assuming that such software implementing
our private protocol exists in the first place) to find what the
location of the socket is on this system, perhaps by a configuration
option. 

Thanks,

Andrew Bartlett

-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140303/61c0fe03/attachment.pgp>


More information about the samba-technical mailing list