[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Mon Apr 23 06:30:07 MDT 2012


The branch, master has been updated
       via  5960b7b s4-libnet Always return after composite_error()
       via  4f7666f s4-libnet Always return after composite_error()
       via  3ffd0f8 s4-libnet: Fix continue_groupinfo_openuser to check correct state info
       via  d910d84 build: Remove support for a system libsmbclient
       via  c45f250 build: Remove support for system libwbclient
      from  df27ba3 s4:librpc/rpc: directly return after composite_error()

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5960b7b2a44161dba5dc96e6973e1fcc92b14bdd
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 23 17:28:39 2012 +1000

    s4-libnet Always return after composite_error()
    
    These instances should not cause a problem, but make it easier to audit for
    this kind of problem in the future with grep.
    
    Andrew Bartlett
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Mon Apr 23 14:29:45 CEST 2012 on sn-devel-104

commit 4f7666f97120a01e5bbbf335cf3effbddd2b5cd2
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 23 17:27:02 2012 +1000

    s4-libnet Always return after composite_error()
    
    This can and does cause crashes as multiple conflicting sets of callbacks run on
    memory that may have been destroyed.
    
    Andrew Bartlett

commit 3ffd0f8423ce5d6bf3c9dd06c9402193c00c33b1
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 23 17:16:05 2012 +1000

    s4-libnet: Fix continue_groupinfo_openuser to check correct state info
    
    This meant that we would attempt to query the user that we could not open.
    
    This is a mirror of 4ba1647d5db59e5bb4911c399111e9286aac1a8e.
    
    Andrew Bartlett

commit d910d848e367deedccaf410d2397c74dfec6bd24
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 23 15:03:05 2012 +1000

    build: Remove support for a system libsmbclient
    
    With the new --private-libraries option, there is no longer the need
    to have this support, which was aimed at avoiding the duplication
    between two different libsmbclient binaries in a packaged
    distribution.  By using --private-libraries instead, we do not
    introduce a dependency between Samba 4.0 packages and whatever other
    packages are on the system.
    
    This effectivly reverts part of
    e3ffb31554927a24df35576bd753ee4eb2dc2a3c while kpeeing the improved
    SAMBA_LIBRARY declaration.
    
    Andrew Bartlett

commit c45f2508d5a7445df86d01400f14463ea8346a2a
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 23 15:00:47 2012 +1000

    build: Remove support for system libwbclient
    
    This effectively reverts commit 2c49782dc1069eebc9f5a5cd2a055b5912665595
    
    This also adds explaination about what would need to be done to
    support a system libwbclient
    
    Andrew Bartlett

-----------------------------------------------------------------------

Summary of changes:
 nsswitch/libwbclient/wscript   |   27 +++++++++++++++++++--------
 source3/libsmb/wscript         |    9 ---------
 source4/libnet/groupinfo.c     |    1 +
 source4/libnet/libnet_domain.c |    1 +
 source4/libnet/libnet_group.c  |    3 ++-
 source4/libnet/libnet_user.c   |    2 ++
 source4/libnet/userinfo.c      |    5 +++--
 source4/winbind/wb_sid2gid.c   |    2 ++
 source4/winbind/wb_sid2uid.c   |    2 ++
 wscript                        |    2 --
 10 files changed, 32 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/nsswitch/libwbclient/wscript b/nsswitch/libwbclient/wscript
index f51c3d0..6b9c99c 100644
--- a/nsswitch/libwbclient/wscript
+++ b/nsswitch/libwbclient/wscript
@@ -5,16 +5,27 @@ import Options, Logs
 # Remember to also update wbclient.h
 VERSION="0.9"
 
-def configure(conf):
-    if conf.CHECK_BUNDLED_SYSTEM_PKG('wbclient', minversion=VERSION):
-        conf.define('USING_SYSTEM_LIBWBCLIENT', 1)
+# It may be useful at some point to allow Samba to build against a
+# system libwbclient, such as the one provided by Likewise.  To to
+# this, not only must the check below be activated but this must only
+# be activated with an off-by-default option to disable the internal
+# build of both winbindd implementations, and all the internal
+# references to libwbclient.h will need to be fixed to point at the
+# system libwbclient.  Finally, as a system libwbclient would probably
+# not use the same version scheme as Samba, so this would need to
+# reference Likewise version numbers instead.
+#
+#def configure(conf):
+#    if conf.CHECK_BUNDLED_SYSTEM_PKG('wbclient', minversion=VERSION):
+#        conf.define('USING_SYSTEM_LIBWBCLIENT', 1)
+#
 
 def build(bld):
-    if bld.CONFIG_SET('USING_SYSTEM_LIBWBCLIENT'):
-        Logs.info("\tSelected system libwbclient build")
-        return
-
-    Logs.info("\tSelected embedded libwbclient build")
+#    if bld.CONFIG_SET('USING_SYSTEM_LIBWBCLIENT'):
+#        Logs.info("\tSelected system libwbclient build")
+#        return
+#
+#    Logs.info("\tSelected embedded libwbclient build")
 
     bld.SAMBA_LIBRARY('wbclient',
                       source='''
diff --git a/source3/libsmb/wscript b/source3/libsmb/wscript
index 6260945..e614557 100644
--- a/source3/libsmb/wscript
+++ b/source3/libsmb/wscript
@@ -2,16 +2,7 @@
 
 import Options, Logs
 
-def configure(conf):
-    if conf.CHECK_BUNDLED_SYSTEM_PKG('smbclient', minversion='0'):
-        conf.define('USING_SYSTEM_LIBSMBCLIENT', 1)
-
 def build(bld):
-    if bld.CONFIG_SET('USING_SYSTEM_LIBSMBCLIENT'):
-        Logs.info("\tSelected system libsmbclient build")
-        return
-
-    Logs.info("\tSelected embedded libsmbclient build")
     bld.SAMBA3_LIBRARY('smbclient',
                        source='''
                               libsmb_cache.c
diff --git a/source4/libnet/groupinfo.c b/source4/libnet/groupinfo.c
index 932ab0c..0bc0d9f 100644
--- a/source4/libnet/groupinfo.c
+++ b/source4/libnet/groupinfo.c
@@ -93,6 +93,7 @@ static void continue_groupinfo_lookup(struct tevent_req *subreq)
 	   - we're looking for only one at the moment */
 	if (s->lookup.out.rids->count == 0) {
 		composite_error(c, NT_STATUS_NO_SUCH_USER);
+		return;
 	}
 
 	/* TODO: find proper status code for more than one rid found */
diff --git a/source4/libnet/libnet_domain.c b/source4/libnet/libnet_domain.c
index d2b9695..acd2ece 100644
--- a/source4/libnet/libnet_domain.c
+++ b/source4/libnet/libnet_domain.c
@@ -1137,6 +1137,7 @@ static void continue_samr_close_handle(struct tevent_req *subreq)
 	/* did everything go fine ? */
 	if (!NT_STATUS_IS_OK(s->samrclose.out.result)) {
 		composite_error(c, s->samrclose.out.result);
+		return;
 	}
 
 	composite_done(c);
diff --git a/source4/libnet/libnet_group.c b/source4/libnet/libnet_group.c
index b12037e..928ce69 100644
--- a/source4/libnet/libnet_group.c
+++ b/source4/libnet/libnet_group.c
@@ -680,10 +680,11 @@ static void continue_groups_enumerated(struct tevent_req *subreq)
 
 		/* that's it */
 		composite_done(c);
-
+		return;
 	} else {
 		/* something went wrong */
 		composite_error(c, c->status);
+		return;
 	}
 }
 
diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c
index e56ed49..dc0691a 100644
--- a/source4/libnet/libnet_user.c
+++ b/source4/libnet/libnet_user.c
@@ -1146,10 +1146,12 @@ static void continue_users_enumerated(struct tevent_req *subreq)
 		
 		/* that's it */
 		composite_done(c);
+		return;
 
 	} else {
 		/* something went wrong */
 		composite_error(c, c->status);
+		return;
 	}
 }
 
diff --git a/source4/libnet/userinfo.c b/source4/libnet/userinfo.c
index 77a88ec..ddb249e 100644
--- a/source4/libnet/userinfo.c
+++ b/source4/libnet/userinfo.c
@@ -92,6 +92,7 @@ static void continue_userinfo_lookup(struct tevent_req *subreq)
 	   - we're looking for only one at the moment */
 	if (s->lookup.out.rids->count == 0) {
 		composite_error(c, NT_STATUS_NO_SUCH_USER);
+		return;
 	}
 
 	/* TODO: find proper status code for more than one rid found */
@@ -130,8 +131,8 @@ static void continue_userinfo_openuser(struct tevent_req *subreq)
 	TALLOC_FREE(subreq);
 	if (!composite_is_ok(c)) return;
 
-	if (!NT_STATUS_IS_OK(s->queryuserinfo.out.result)) {
-		composite_error(c, s->queryuserinfo.out.result);
+	if (!NT_STATUS_IS_OK(s->openuser.out.result)) {
+		composite_error(c, s->openuser.out.result);
 		return;
 	}
 
diff --git a/source4/winbind/wb_sid2gid.c b/source4/winbind/wb_sid2gid.c
index 0b35895..e106154 100644
--- a/source4/winbind/wb_sid2gid.c
+++ b/source4/winbind/wb_sid2gid.c
@@ -84,8 +84,10 @@ static void sid2gid_recv_gid(struct composite_context *ctx)
 	    ids->xid.type == ID_TYPE_GID) {
 		state->gid = ids->xid.id;
 		composite_done(state->ctx);
+		return;
 	} else {
 		composite_error(state->ctx, NT_STATUS_INVALID_SID);
+		return;
 	}
 }
 
diff --git a/source4/winbind/wb_sid2uid.c b/source4/winbind/wb_sid2uid.c
index f1d9bdd..2b5fec5 100644
--- a/source4/winbind/wb_sid2uid.c
+++ b/source4/winbind/wb_sid2uid.c
@@ -84,8 +84,10 @@ static void sid2uid_recv_uid(struct composite_context *ctx)
 	    ids->xid.type == ID_TYPE_UID) {
 		state->uid = ids->xid.id;
 		composite_done(state->ctx);
+		return;
 	} else {
 		composite_error(state->ctx, NT_STATUS_INVALID_SID);
+		return;
 	}
 }
 
diff --git a/wscript b/wscript
index d1c7121..15e1ce5 100755
--- a/wscript
+++ b/wscript
@@ -95,7 +95,6 @@ def configure(conf):
     conf.RECURSE('source4/auth')
     conf.RECURSE('lib/nss_wrapper')
     conf.RECURSE('nsswitch')
-    conf.RECURSE('nsswitch/libwbclient')
     conf.RECURSE('lib/socket_wrapper')
     conf.RECURSE('lib/uid_wrapper')
     conf.RECURSE('lib/popt')
@@ -106,7 +105,6 @@ def configure(conf):
     conf.RECURSE('selftest')
     conf.RECURSE('source3')
     conf.RECURSE('lib/addns')
-    conf.RECURSE('source3/libsmb')
 
     conf.SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS()
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list