[SCM] Samba Shared Repository - branch v3-6-test updated

Volker Lendecke vlendec at samba.org
Wed Nov 17 05:19:51 MST 2010


The branch, v3-6-test has been updated
       via  2a2d118 s3: Remove a reference to "winbindd_cli_state" from append_auth_data
       via  9d02adc s3: Remove a reference to "winbindd_cli_state" from append_info3_as_txt
       via  940d4ab s3: Remove a reference to "winbindd_cli_state" from append_afs_token
       via  19bfd98 s3: Remove a reference to "winbindd_cli_state" from append_info3_as_ndr
       via  8f5591d s3: Remove a reference to "winbindd_cli_state" from append_unix_username
       via  4f20daf s3: Remove a reference to "winbindd_cli_state" from append_auth_data
       via  8a5939f "bool ? true : false" is a bit pointless
       via  e105708 s3: Move parse_sidlist to the only calling file
       via  f70d36f s3: Remove some unused code
      from  37f8565 s3-spoolss: fix spoolss GetPrinterData behaviour

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 2a2d118f729ac4c8f014d3529afbfb0d4956fadd
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:58:10 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_auth_data
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Wed Nov 17 12:02:34 UTC 2010 on sn-devel-104

commit 9d02adc7ae350ca72c2d442a545439247ef0b550
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:56:21 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_info3_as_txt

commit 940d4ab44b21c9320269d207c1aae34d5e0fbd08
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:52:31 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_afs_token

commit 19bfd988a3b8c61694772ac9f33587fdf70c10f8
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:50:16 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_info3_as_ndr

commit 8f5591d046b75fb04290d7e08027b9ad250c56c9
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:44:08 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_unix_username

commit 4f20daf7383c33c107fd3beda76e5aae2237d871
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 17:07:33 2010 +0100

    s3: Remove a reference to "winbindd_cli_state" from append_auth_data

commit 8a5939f2af62ea4f3dc53372312975c0769595eb
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 16:22:32 2010 +0100

    "bool ? true : false" is a bit pointless

commit e105708068d7836dbee97aaf20ff0d3520291118
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 16:11:14 2010 +0100

    s3: Move parse_sidlist to the only calling file

commit f70d36fe2d0119db7d67aacc725796c793ed8174
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 16 16:09:04 2010 +0100

    s3: Remove some unused code

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

Summary of changes:
 source3/winbindd/winbindd_async.c         |   60 --------------
 source3/winbindd/winbindd_dual.c          |    3 +-
 source3/winbindd/winbindd_getsidaliases.c |   42 ++++++++++
 source3/winbindd/winbindd_pam.c           |  125 +++++++++++++++--------------
 source3/winbindd/winbindd_proto.h         |    7 --
 5 files changed, 106 insertions(+), 131 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_async.c b/source3/winbindd/winbindd_async.c
index 9e7be6b..958dce3 100644
--- a/source3/winbindd/winbindd_async.c
+++ b/source3/winbindd/winbindd_async.c
@@ -26,66 +26,6 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
-bool print_sidlist(TALLOC_CTX *mem_ctx, const struct dom_sid *sids,
-		   size_t num_sids, char **result, ssize_t *len)
-{
-	size_t i;
-	size_t buflen = 0;
-
-	*len = 0;
-	*result = NULL;
-	for (i=0; i<num_sids; i++) {
-		fstring tmp;
-		sprintf_append(mem_ctx, result, len, &buflen,
-			       "%s\n", sid_to_fstring(tmp, &sids[i]));
-	}
-
-	if ((num_sids != 0) && (*result == NULL)) {
-		return False;
-	}
-
-	return True;
-}
-
-bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr,
-		   struct dom_sid **sids, size_t *num_sids)
-{
-	const char *p, *q;
-
-	p = sidstr;
-	if (p == NULL)
-		return False;
-
-	while (p[0] != '\0') {
-		fstring tmp;
-		size_t sidlen;
-		struct dom_sid sid;
-		q = strchr(p, '\n');
-		if (q == NULL) {
-			DEBUG(0, ("Got invalid sidstr: %s\n", p));
-			return False;
-		}
-		sidlen = PTR_DIFF(q, p);
-		if (sidlen >= sizeof(tmp)-1) {
-			return false;
-		}
-		memcpy(tmp, p, sidlen);
-		tmp[sidlen] = '\0';
-		q += 1;
-		if (!string_to_sid(&sid, tmp)) {
-			DEBUG(0, ("Could not parse sid %s\n", p));
-			return False;
-		}
-		if (!NT_STATUS_IS_OK(add_sid_to_array(mem_ctx, &sid, sids,
-						      num_sids)))
-		{
-			return False;
-		}
-		p = q;
-	}
-	return True;
-}
-
 enum winbindd_result winbindd_dual_ping(struct winbindd_domain *domain,
 					struct winbindd_cli_state *state)
 {
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index 05f0706..fbf7def 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -234,8 +234,7 @@ struct tevent_req *wb_domain_request_send(TALLOC_CTX *mem_ctx,
 		/* The primary domain has to find the DC name itself */
 		state->init_req->cmd = WINBINDD_INIT_CONNECTION;
 		fstrcpy(state->init_req->domain_name, domain->name);
-		state->init_req->data.init_conn.is_primary =
-			domain->primary ? true : false;
+		state->init_req->data.init_conn.is_primary = domain->primary;
 		fstrcpy(state->init_req->data.init_conn.dcname, "");
 
 		subreq = wb_child_request_send(state, ev, &domain->child,
diff --git a/source3/winbindd/winbindd_getsidaliases.c b/source3/winbindd/winbindd_getsidaliases.c
index 9bd321f..3c8ed99 100644
--- a/source3/winbindd/winbindd_getsidaliases.c
+++ b/source3/winbindd/winbindd_getsidaliases.c
@@ -26,6 +26,9 @@ struct winbindd_getsidaliases_state {
 	uint32_t *aliases;
 };
 
+static bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr,
+			  struct dom_sid **sids, size_t *num_sids);
+
 static void winbindd_getsidaliases_done(struct tevent_req *subreq);
 
 struct tevent_req *winbindd_getsidaliases_send(TALLOC_CTX *mem_ctx,
@@ -151,3 +154,42 @@ NTSTATUS winbindd_getsidaliases_recv(struct tevent_req *req,
 	response->data.num_entries = state->num_aliases;
 	return NT_STATUS_OK;
 }
+
+static bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr,
+			  struct dom_sid **sids, size_t *num_sids)
+{
+	const char *p, *q;
+
+	p = sidstr;
+	if (p == NULL)
+		return False;
+
+	while (p[0] != '\0') {
+		fstring tmp;
+		size_t sidlen;
+		struct dom_sid sid;
+		q = strchr(p, '\n');
+		if (q == NULL) {
+			DEBUG(0, ("Got invalid sidstr: %s\n", p));
+			return False;
+		}
+		sidlen = PTR_DIFF(q, p);
+		if (sidlen >= sizeof(tmp)-1) {
+			return false;
+		}
+		memcpy(tmp, p, sidlen);
+		tmp[sidlen] = '\0';
+		q += 1;
+		if (!string_to_sid(&sid, tmp)) {
+			DEBUG(0, ("Could not parse sid %s\n", p));
+			return False;
+		}
+		if (!NT_STATUS_IS_OK(add_sid_to_array(mem_ctx, &sid, sids,
+						      num_sids)))
+		{
+			return False;
+		}
+		p = q;
+	}
+	return True;
+}
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index e84af3d..56d77fd 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -41,57 +41,57 @@
 #define LOGON_KRB5_FAIL_CLOCK_SKEW	0x02000000
 
 static NTSTATUS append_info3_as_txt(TALLOC_CTX *mem_ctx,
-				    struct winbindd_cli_state *state,
+				    struct winbindd_response *resp,
 				    struct netr_SamInfo3 *info3)
 {
 	char *ex;
 	uint32_t i;
 
-	state->response->data.auth.info3.logon_time =
+	resp->data.auth.info3.logon_time =
 		nt_time_to_unix(info3->base.last_logon);
-	state->response->data.auth.info3.logoff_time =
+	resp->data.auth.info3.logoff_time =
 		nt_time_to_unix(info3->base.last_logoff);
-	state->response->data.auth.info3.kickoff_time =
+	resp->data.auth.info3.kickoff_time =
 		nt_time_to_unix(info3->base.acct_expiry);
-	state->response->data.auth.info3.pass_last_set_time =
+	resp->data.auth.info3.pass_last_set_time =
 		nt_time_to_unix(info3->base.last_password_change);
-	state->response->data.auth.info3.pass_can_change_time =
+	resp->data.auth.info3.pass_can_change_time =
 		nt_time_to_unix(info3->base.allow_password_change);
-	state->response->data.auth.info3.pass_must_change_time =
+	resp->data.auth.info3.pass_must_change_time =
 		nt_time_to_unix(info3->base.force_password_change);
 
-	state->response->data.auth.info3.logon_count = info3->base.logon_count;
-	state->response->data.auth.info3.bad_pw_count = info3->base.bad_password_count;
+	resp->data.auth.info3.logon_count = info3->base.logon_count;
+	resp->data.auth.info3.bad_pw_count = info3->base.bad_password_count;
 
-	state->response->data.auth.info3.user_rid = info3->base.rid;
-	state->response->data.auth.info3.group_rid = info3->base.primary_gid;
-	sid_to_fstring(state->response->data.auth.info3.dom_sid, info3->base.domain_sid);
+	resp->data.auth.info3.user_rid = info3->base.rid;
+	resp->data.auth.info3.group_rid = info3->base.primary_gid;
+	sid_to_fstring(resp->data.auth.info3.dom_sid, info3->base.domain_sid);
 
-	state->response->data.auth.info3.num_groups = info3->base.groups.count;
-	state->response->data.auth.info3.user_flgs = info3->base.user_flags;
+	resp->data.auth.info3.num_groups = info3->base.groups.count;
+	resp->data.auth.info3.user_flgs = info3->base.user_flags;
 
-	state->response->data.auth.info3.acct_flags = info3->base.acct_flags;
-	state->response->data.auth.info3.num_other_sids = info3->sidcount;
+	resp->data.auth.info3.acct_flags = info3->base.acct_flags;
+	resp->data.auth.info3.num_other_sids = info3->sidcount;
 
-	fstrcpy(state->response->data.auth.info3.user_name,
+	fstrcpy(resp->data.auth.info3.user_name,
 		info3->base.account_name.string);
-	fstrcpy(state->response->data.auth.info3.full_name,
+	fstrcpy(resp->data.auth.info3.full_name,
 		info3->base.full_name.string);
-	fstrcpy(state->response->data.auth.info3.logon_script,
+	fstrcpy(resp->data.auth.info3.logon_script,
 		info3->base.logon_script.string);
-	fstrcpy(state->response->data.auth.info3.profile_path,
+	fstrcpy(resp->data.auth.info3.profile_path,
 		info3->base.profile_path.string);
-	fstrcpy(state->response->data.auth.info3.home_dir,
+	fstrcpy(resp->data.auth.info3.home_dir,
 		info3->base.home_directory.string);
-	fstrcpy(state->response->data.auth.info3.dir_drive,
+	fstrcpy(resp->data.auth.info3.dir_drive,
 		info3->base.home_drive.string);
 
-	fstrcpy(state->response->data.auth.info3.logon_srv,
+	fstrcpy(resp->data.auth.info3.logon_srv,
 		info3->base.logon_server.string);
-	fstrcpy(state->response->data.auth.info3.logon_dom,
+	fstrcpy(resp->data.auth.info3.logon_dom,
 		info3->base.domain.string);
 
-	ex = talloc_strdup(state->mem_ctx, "");
+	ex = talloc_strdup(mem_ctx, "");
 	NT_STATUS_HAVE_NO_MEMORY(ex);
 
 	for (i=0; i < info3->base.groups.count; i++) {
@@ -115,14 +115,14 @@ static NTSTATUS append_info3_as_txt(TALLOC_CTX *mem_ctx,
 		talloc_free(sid);
 	}
 
-	state->response->extra_data.data = ex;
-	state->response->length += talloc_get_size(ex);
+	resp->extra_data.data = ex;
+	resp->length += talloc_get_size(ex);
 
 	return NT_STATUS_OK;
 }
 
 static NTSTATUS append_info3_as_ndr(TALLOC_CTX *mem_ctx,
-				    struct winbindd_cli_state *state,
+				    struct winbindd_response *resp,
 				    struct netr_SamInfo3 *info3)
 {
 	DATA_BLOB blob;
@@ -135,14 +135,14 @@ static NTSTATUS append_info3_as_ndr(TALLOC_CTX *mem_ctx,
 		return ndr_map_error2ntstatus(ndr_err);
 	}
 
-	state->response->extra_data.data = blob.data;
-	state->response->length += blob.length;
+	resp->extra_data.data = blob.data;
+	resp->length += blob.length;
 
 	return NT_STATUS_OK;
 }
 
 static NTSTATUS append_unix_username(TALLOC_CTX *mem_ctx,
-				     struct winbindd_cli_state *state,
+				     struct winbindd_response *resp,
 				     const struct netr_SamInfo3 *info3,
 				     const char *name_domain,
 				     const char *name_user)
@@ -166,17 +166,17 @@ static NTSTATUS append_unix_username(TALLOC_CTX *mem_ctx,
 		nt_username = name_user;
 	}
 
-	fill_domain_username(state->response->data.auth.unix_username,
+	fill_domain_username(resp->data.auth.unix_username,
 			     nt_domain, nt_username, true);
 
-	DEBUG(5,("Setting unix username to [%s]\n",
-		state->response->data.auth.unix_username));
+	DEBUG(5, ("Setting unix username to [%s]\n",
+		  resp->data.auth.unix_username));
 
 	return NT_STATUS_OK;
 }
 
 static NTSTATUS append_afs_token(TALLOC_CTX *mem_ctx,
-				 struct winbindd_cli_state *state,
+				 struct winbindd_response *resp,
 				 const struct netr_SamInfo3 *info3,
 				 const char *name_domain,
 				 const char *name_user)
@@ -230,13 +230,11 @@ static NTSTATUS append_afs_token(TALLOC_CTX *mem_ctx,
 	if (token == NULL) {
 		return NT_STATUS_OK;
 	}
-	state->response->extra_data.data = talloc_strdup(state->mem_ctx,
-							 token);
-	if (state->response->extra_data.data == NULL) {
+	resp->extra_data.data = talloc_strdup(mem_ctx, token);
+	if (resp->extra_data.data == NULL) {
 		return NT_STATUS_NO_MEMORY;
 	}
-	state->response->length +=
-		strlen((const char *)state->response->extra_data.data)+1;
+	resp->length += strlen((const char *)resp->extra_data.data)+1;
 
 	return NT_STATUS_OK;
 }
@@ -743,31 +741,32 @@ bool check_request_flags(uint32_t flags)
 /****************************************************************
 ****************************************************************/
 
-static NTSTATUS append_auth_data(struct winbindd_cli_state *state,
+static NTSTATUS append_auth_data(TALLOC_CTX *mem_ctx,
+				 struct winbindd_response *resp,
+				 uint32_t request_flags,
 				 struct netr_SamInfo3 *info3,
 				 const char *name_domain,
 				 const char *name_user)
 {
 	NTSTATUS result;
-	uint32_t flags = state->request->flags;
 
-	if (flags & WBFLAG_PAM_USER_SESSION_KEY) {
-		memcpy(state->response->data.auth.user_session_key,
+	if (request_flags & WBFLAG_PAM_USER_SESSION_KEY) {
+		memcpy(resp->data.auth.user_session_key,
 		       info3->base.key.key,
-		       sizeof(state->response->data.auth.user_session_key)
+		       sizeof(resp->data.auth.user_session_key)
 		       /* 16 */);
 	}
 
-	if (flags & WBFLAG_PAM_LMKEY) {
-		memcpy(state->response->data.auth.first_8_lm_hash,
+	if (request_flags & WBFLAG_PAM_LMKEY) {
+		memcpy(resp->data.auth.first_8_lm_hash,
 		       info3->base.LMSessKey.key,
-		       sizeof(state->response->data.auth.first_8_lm_hash)
+		       sizeof(resp->data.auth.first_8_lm_hash)
 		       /* 8 */);
 	}
 
-	if (flags & WBFLAG_PAM_UNIX_NAME) {
-		result = append_unix_username(state->mem_ctx, state, info3,
-					      name_domain, name_user);
+	if (request_flags & WBFLAG_PAM_UNIX_NAME) {
+		result = append_unix_username(mem_ctx, resp,
+					      info3, name_domain, name_user);
 		if (!NT_STATUS_IS_OK(result)) {
 			DEBUG(10,("Failed to append Unix Username: %s\n",
 				nt_errstr(result)));
@@ -777,8 +776,8 @@ static NTSTATUS append_auth_data(struct winbindd_cli_state *state,
 
 	/* currently, anything from here on potentially overwrites extra_data. */
 
-	if (flags & WBFLAG_PAM_INFO3_NDR) {
-		result = append_info3_as_ndr(state->mem_ctx, state, info3);
+	if (request_flags & WBFLAG_PAM_INFO3_NDR) {
+		result = append_info3_as_ndr(mem_ctx, resp, info3);
 		if (!NT_STATUS_IS_OK(result)) {
 			DEBUG(10,("Failed to append INFO3 (NDR): %s\n",
 				nt_errstr(result)));
@@ -786,8 +785,8 @@ static NTSTATUS append_auth_data(struct winbindd_cli_state *state,
 		}
 	}
 
-	if (flags & WBFLAG_PAM_INFO3_TEXT) {
-		result = append_info3_as_txt(state->mem_ctx, state, info3);
+	if (request_flags & WBFLAG_PAM_INFO3_TEXT) {
+		result = append_info3_as_txt(mem_ctx, resp, info3);
 		if (!NT_STATUS_IS_OK(result)) {
 			DEBUG(10,("Failed to append INFO3 (TXT): %s\n",
 				nt_errstr(result)));
@@ -795,9 +794,9 @@ static NTSTATUS append_auth_data(struct winbindd_cli_state *state,
 		}
 	}
 
-	if (flags & WBFLAG_PAM_AFS_TOKEN) {
-		result = append_afs_token(state->mem_ctx, state, info3,
-					  name_domain, name_user);
+	if (request_flags & WBFLAG_PAM_AFS_TOKEN) {
+		result = append_afs_token(mem_ctx, resp,
+					  info3, name_domain, name_user);
 		if (!NT_STATUS_IS_OK(result)) {
 			DEBUG(10,("Failed to append AFS token: %s\n",
 				nt_errstr(result)));
@@ -1630,8 +1629,9 @@ process_result:
 			goto done;
 		}
 
-		result = append_auth_data(state, info3, name_domain,
-					  name_user);
+		result = append_auth_data(state->mem_ctx, state->response,
+					  state->request->flags, info3,
+					  name_domain, name_user);
 		if (!NT_STATUS_IS_OK(result)) {
 			goto done;
 		}
@@ -1862,8 +1862,9 @@ process_result:
 			goto done;
 		}
 
-		result = append_auth_data(state, info3, name_domain,
-					  name_user);
+		result = append_auth_data(state->mem_ctx, state->response,
+					  state->request->flags, info3,
+					  name_domain, name_user);
 		if (!NT_STATUS_IS_OK(result)) {
 			goto done;
 		}
diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h
index 9912575..66945c4 100644
--- a/source3/winbindd/winbindd_proto.h
+++ b/source3/winbindd/winbindd_proto.h
@@ -72,13 +72,6 @@ NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx,
 			       struct dom_sid **sids,
 			       enum lsa_SidType **types);
 
-/* The following definitions come from winbindd/winbindd_async.c  */
-
-bool print_sidlist(TALLOC_CTX *mem_ctx, const struct dom_sid *sids,
-		   size_t num_sids, char **result, ssize_t *len);
-bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr,
-		   struct dom_sid **sids, size_t *num_sids);
-
 /* The following definitions come from winbindd/winbindd_cache.c  */
 
 struct cache_entry *centry_start(struct winbindd_domain *domain, NTSTATUS status);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list