[SCM] Samba Shared Repository - branch master updated
Volker Lendecke
vlendec at samba.org
Wed Oct 20 10:52:01 MDT 2010
The branch, master has been updated
via 7a194c6 s3: Make "unpack_pjob" static
via 1d5cb51 s3: Use any_nt_status_not_ok in winbind
via 347ca8f s3: Add any_nt_status_not_ok
via 62bea12 s3: Don't use talloc_autofree_context in map_file
via 97a7aec uid_wrapper: The gid wrapper does not require a destructor
from e1cfca1 Make getpwnam_alloc() static to lib/username.c, and ensure all username lookups go through Get_Pwnam_alloc(), which is the correct wrapper function. We were using it *some* of the time anyway, so this just makes us properly consistent.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7a194c6e5ea75db67502005e5d40d1ddf3708895
Author: Volker Lendecke <vl at samba.org>
Date: Mon Oct 18 09:48:30 2010 +0200
s3: Make "unpack_pjob" static
Autobuild-User: Volker Lendecke <vlendec at samba.org>
Autobuild-Date: Wed Oct 20 16:51:04 UTC 2010 on sn-devel-104
commit 1d5cb5125c9ed911e9560a3cd99bc428306539c5
Author: Volker Lendecke <vl at samba.org>
Date: Mon Oct 18 10:10:43 2010 +0200
s3: Use any_nt_status_not_ok in winbind
commit 347ca8f757d6a0b61bb22be21ffffec95986ad94
Author: Volker Lendecke <vl at samba.org>
Date: Mon Oct 18 10:09:57 2010 +0200
s3: Add any_nt_status_not_ok
This helps avoid quite a bit of repetitive code when looking at dcerpc_xx_recv
results.
commit 62bea12c5dbb0e6ec6d74a3d2f8988f183572782
Author: Volker Lendecke <vl at samba.org>
Date: Sat Oct 9 10:12:06 2010 +0200
s3: Don't use talloc_autofree_context in map_file
commit 97a7aec44aafde75208aaad24b42de1c93cdb97b
Author: Volker Lendecke <vl at samba.org>
Date: Sat Oct 9 09:44:43 2010 +0200
uid_wrapper: The gid wrapper does not require a destructor
Don't use talloc_autofree_context
-----------------------------------------------------------------------
Summary of changes:
lib/uid_wrapper/uid_wrapper.c | 4 ++--
lib/util/util_file.c | 2 +-
source3/include/printing.h | 1 -
source3/include/proto.h | 1 +
source3/lib/util.c | 13 +++++++++++++
source3/printing/printing.c | 2 +-
source3/winbindd/wb_dsgetdcname.c | 6 +-----
source3/winbindd/wb_gid2sid.c | 6 +-----
source3/winbindd/wb_group_members.c | 6 +-----
source3/winbindd/wb_lookupname.c | 6 +-----
source3/winbindd/wb_lookupuseraliases.c | 6 +-----
source3/winbindd/wb_lookupusergroups.c | 6 +-----
source3/winbindd/wb_query_user_list.c | 6 +-----
source3/winbindd/wb_queryuser.c | 6 +-----
source3/winbindd/wb_seqnum.c | 6 +-----
source3/winbindd/wb_sid2gid.c | 6 +-----
source3/winbindd/wb_sid2uid.c | 6 +-----
source3/winbindd/wb_uid2sid.c | 6 +-----
source3/winbindd/winbindd_allocate_gid.c | 6 +-----
source3/winbindd/winbindd_allocate_uid.c | 6 +-----
source3/winbindd/winbindd_change_machine_acct.c | 6 +-----
source3/winbindd/winbindd_check_machine_acct.c | 6 +-----
source3/winbindd/winbindd_dsgetdcname.c | 6 +-----
source3/winbindd/winbindd_lookuprids.c | 6 +-----
source3/winbindd/winbindd_ping_dc.c | 6 +-----
25 files changed, 37 insertions(+), 100 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index 93ebb7c..c676797 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -52,7 +52,7 @@ static void uwrap_init(void)
uwrap.enabled = true;
/* put us in one group */
uwrap.ngroups = 1;
- uwrap.groups = talloc_array(talloc_autofree_context(), gid_t, 1);
+ uwrap.groups = talloc_array(NULL, gid_t, 1);
uwrap.groups[0] = 0;
}
}
@@ -116,7 +116,7 @@ _PUBLIC_ int uwrap_setgroups(size_t size, const gid_t *list)
uwrap.groups = NULL;
if (size != 0) {
- uwrap.groups = talloc_array(talloc_autofree_context(), gid_t, size);
+ uwrap.groups = talloc_array(NULL, gid_t, size);
if (uwrap.groups == NULL) {
errno = ENOMEM;
return -1;
diff --git a/lib/util/util_file.c b/lib/util/util_file.c
index aa0b2d5..7c00dd8 100644
--- a/lib/util/util_file.c
+++ b/lib/util/util_file.c
@@ -235,7 +235,7 @@ _PUBLIC_ void *map_file(const char *fname, size_t size)
}
#endif
if (!p) {
- p = file_load(fname, &s2, 0, talloc_autofree_context());
+ p = file_load(fname, &s2, 0, NULL);
if (!p) return NULL;
if (s2 != size) {
DEBUG(1,("incorrect size for %s - got %d expected %d\n",
diff --git a/source3/include/printing.h b/source3/include/printing.h
index 36726b3..9f0fcde 100644
--- a/source3/include/printing.h
+++ b/source3/include/printing.h
@@ -115,7 +115,6 @@ void print_spool_terminate(struct connection_struct *conn,
/* The following definitions come from printing/printing.c */
-int unpack_pjob( uint8 *buf, int buflen, struct printjob *pjob );
uint32 sysjob_to_jobid(int unix_jobid);
bool print_notify_register_pid(int snum);
bool print_notify_deregister_pid(int snum);
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 3e4655e..6ce27b8 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1204,6 +1204,7 @@ const char *strip_hostname(const char *s);
bool tevent_req_poll_ntstatus(struct tevent_req *req,
struct tevent_context *ev,
NTSTATUS *status);
+bool any_nt_status_not_ok(NTSTATUS err1, NTSTATUS err2, NTSTATUS *result);
/* The following definitions come from lib/util_file.c */
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 36b2e42..4baeda4 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2965,3 +2965,16 @@ bool tevent_req_poll_ntstatus(struct tevent_req *req,
}
return ret;
}
+
+bool any_nt_status_not_ok(NTSTATUS err1, NTSTATUS err2, NTSTATUS *result)
+{
+ if (!NT_STATUS_IS_OK(err1)) {
+ *result = err1;
+ return true;
+ }
+ if (!NT_STATUS_IS_OK(err2)) {
+ *result = err2;
+ return true;
+ }
+ return false;
+}
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 1568aca..1c2817d 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -365,7 +365,7 @@ done:
unpack a pjob from a tdb buffer
***********************************************************************/
-int unpack_pjob( uint8 *buf, int buflen, struct printjob *pjob )
+static int unpack_pjob( uint8 *buf, int buflen, struct printjob *pjob )
{
int len = 0;
int used;
diff --git a/source3/winbindd/wb_dsgetdcname.c b/source3/winbindd/wb_dsgetdcname.c
index 71aecfe..8c78599 100644
--- a/source3/winbindd/wb_dsgetdcname.c
+++ b/source3/winbindd/wb_dsgetdcname.c
@@ -93,14 +93,10 @@ static void wb_dsgetdcname_done(struct tevent_req *subreq)
status = dcerpc_wbint_DsGetDcName_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_gid2sid.c b/source3/winbindd/wb_gid2sid.c
index 6bde2b5..fd2fd0e 100644
--- a/source3/winbindd/wb_gid2sid.c
+++ b/source3/winbindd/wb_gid2sid.c
@@ -97,14 +97,10 @@ static void wb_gid2sid_done(struct tevent_req *subreq)
status = dcerpc_wbint_Gid2Sid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_group_members.c b/source3/winbindd/wb_group_members.c
index 1fb7af3..5be04a9 100644
--- a/source3/winbindd/wb_group_members.c
+++ b/source3/winbindd/wb_group_members.c
@@ -92,14 +92,10 @@ static void wb_lookupgroupmem_done(struct tevent_req *subreq)
status = dcerpc_wbint_LookupGroupMembers_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_lookupname.c b/source3/winbindd/wb_lookupname.c
index c28b51a..783ee4c 100644
--- a/source3/winbindd/wb_lookupname.c
+++ b/source3/winbindd/wb_lookupname.c
@@ -129,14 +129,10 @@ static void wb_lookupname_root_done(struct tevent_req *subreq)
status = dcerpc_wbint_LookupName_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_lookupuseraliases.c b/source3/winbindd/wb_lookupuseraliases.c
index d8f8023..0459fe9 100644
--- a/source3/winbindd/wb_lookupuseraliases.c
+++ b/source3/winbindd/wb_lookupuseraliases.c
@@ -65,14 +65,10 @@ static void wb_lookupuseraliases_done(struct tevent_req *subreq)
status = dcerpc_wbint_LookupUserAliases_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_lookupusergroups.c b/source3/winbindd/wb_lookupusergroups.c
index e1478aa..fb675e3 100644
--- a/source3/winbindd/wb_lookupusergroups.c
+++ b/source3/winbindd/wb_lookupusergroups.c
@@ -64,14 +64,10 @@ static void wb_lookupusergroups_done(struct tevent_req *subreq)
status = dcerpc_wbint_LookupUserGroups_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_query_user_list.c b/source3/winbindd/wb_query_user_list.c
index 5480763..fafbb76 100644
--- a/source3/winbindd/wb_query_user_list.c
+++ b/source3/winbindd/wb_query_user_list.c
@@ -60,14 +60,10 @@ static void wb_query_user_list_done(struct tevent_req *subreq)
status = dcerpc_wbint_QueryUserList_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
DEBUG(10, ("dcerpc_wbint_QueryUserList returned %d users\n",
state->users.num_userinfos));
diff --git a/source3/winbindd/wb_queryuser.c b/source3/winbindd/wb_queryuser.c
index f14fbcb..9685119 100644
--- a/source3/winbindd/wb_queryuser.c
+++ b/source3/winbindd/wb_queryuser.c
@@ -73,14 +73,10 @@ static void wb_queryuser_done(struct tevent_req *subreq)
status = dcerpc_wbint_QueryUser_recv(subreq, state->info, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_seqnum.c b/source3/winbindd/wb_seqnum.c
index 3084564..15b1622 100644
--- a/source3/winbindd/wb_seqnum.c
+++ b/source3/winbindd/wb_seqnum.c
@@ -57,14 +57,10 @@ static void wb_seqnum_done(struct tevent_req *subreq)
status = dcerpc_wbint_QuerySequenceNumber_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/wb_sid2gid.c b/source3/winbindd/wb_sid2gid.c
index 76fe326..9adff51 100644
--- a/source3/winbindd/wb_sid2gid.c
+++ b/source3/winbindd/wb_sid2gid.c
@@ -145,14 +145,10 @@ static void wb_sid2gid_done(struct tevent_req *subreq)
status = dcerpc_wbint_Sid2Gid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
state->gid = state->gid64;
tevent_req_done(req);
diff --git a/source3/winbindd/wb_sid2uid.c b/source3/winbindd/wb_sid2uid.c
index 21bf61b..5395d53 100644
--- a/source3/winbindd/wb_sid2uid.c
+++ b/source3/winbindd/wb_sid2uid.c
@@ -143,14 +143,10 @@ static void wb_sid2uid_done(struct tevent_req *subreq)
status = dcerpc_wbint_Sid2Uid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
state->uid = state->uid64;
tevent_req_done(req);
diff --git a/source3/winbindd/wb_uid2sid.c b/source3/winbindd/wb_uid2sid.c
index 46b896a..5beceaf 100644
--- a/source3/winbindd/wb_uid2sid.c
+++ b/source3/winbindd/wb_uid2sid.c
@@ -97,14 +97,10 @@ static void wb_uid2sid_done(struct tevent_req *subreq)
status = dcerpc_wbint_Uid2Sid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_allocate_gid.c b/source3/winbindd/winbindd_allocate_gid.c
index d926454..c9c1972 100644
--- a/source3/winbindd/winbindd_allocate_gid.c
+++ b/source3/winbindd/winbindd_allocate_gid.c
@@ -65,14 +65,10 @@ static void winbindd_allocate_gid_done(struct tevent_req *subreq)
status = dcerpc_wbint_AllocateGid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_allocate_uid.c b/source3/winbindd/winbindd_allocate_uid.c
index b949b4a..5eecce3 100644
--- a/source3/winbindd/winbindd_allocate_uid.c
+++ b/source3/winbindd/winbindd_allocate_uid.c
@@ -65,14 +65,10 @@ static void winbindd_allocate_uid_done(struct tevent_req *subreq)
status = dcerpc_wbint_AllocateUid_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_change_machine_acct.c b/source3/winbindd/winbindd_change_machine_acct.c
index 8b31bb1..c98d713 100644
--- a/source3/winbindd/winbindd_change_machine_acct.c
+++ b/source3/winbindd/winbindd_change_machine_acct.c
@@ -75,14 +75,10 @@ static void winbindd_change_machine_acct_done(struct tevent_req *subreq)
NTSTATUS status, result;
status = dcerpc_wbint_ChangeMachineAccount_recv(subreq, state, &result);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_check_machine_acct.c b/source3/winbindd/winbindd_check_machine_acct.c
index 65a9750..5f9cefa 100644
--- a/source3/winbindd/winbindd_check_machine_acct.c
+++ b/source3/winbindd/winbindd_check_machine_acct.c
@@ -79,14 +79,10 @@ static void winbindd_check_machine_acct_done(struct tevent_req *subreq)
NTSTATUS status, result;
status = dcerpc_wbint_CheckMachineAccount_recv(subreq, state, &result);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_dsgetdcname.c b/source3/winbindd/winbindd_dsgetdcname.c
index f01d354..7e46c96 100644
--- a/source3/winbindd/winbindd_dsgetdcname.c
+++ b/source3/winbindd/winbindd_dsgetdcname.c
@@ -89,14 +89,10 @@ static void winbindd_dsgetdcname_done(struct tevent_req *subreq)
status = dcerpc_wbint_DsGetDcName_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_lookuprids.c b/source3/winbindd/winbindd_lookuprids.c
index 20ba79e..6e3d5c5 100644
--- a/source3/winbindd/winbindd_lookuprids.c
+++ b/source3/winbindd/winbindd_lookuprids.c
@@ -102,14 +102,10 @@ static void winbindd_lookuprids_done(struct tevent_req *subreq)
status = dcerpc_wbint_LookupRids_recv(subreq, state, &result);
TALLOC_FREE(subreq);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
diff --git a/source3/winbindd/winbindd_ping_dc.c b/source3/winbindd/winbindd_ping_dc.c
index e69e593..db50f6d 100644
--- a/source3/winbindd/winbindd_ping_dc.c
+++ b/source3/winbindd/winbindd_ping_dc.c
@@ -78,14 +78,10 @@ static void winbindd_ping_dc_done(struct tevent_req *subreq)
NTSTATUS status, result;
status = dcerpc_wbint_PingDc_recv(subreq, state, &result);
- if (!NT_STATUS_IS_OK(status)) {
+ if (any_nt_status_not_ok(status, result, &status)) {
tevent_req_nterror(req, status);
return;
}
- if (!NT_STATUS_IS_OK(result)) {
- tevent_req_nterror(req, result);
- return;
- }
tevent_req_done(req);
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list