[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