[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2084-gb4d7607

Volker Lendecke vlendec at samba.org
Sat Jun 6 08:43:11 GMT 2009


The branch, master has been updated
       via  b4d7607a5282c2bd24eabdb2d03e6964fab1aac3 (commit)
       via  537b257cca5dfc08e22195462372b94c6f495742 (commit)
       via  a731eb64d9a9415d5df2a385326cc14fcd4481eb (commit)
       via  3cd03b229b6f85d5a100ee39229e528641f1c238 (commit)
      from  f19c9147a5f2222ce8c21d8e194ac7de1a0a196f (commit)

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


- Log -----------------------------------------------------------------
commit b4d7607a5282c2bd24eabdb2d03e6964fab1aac3
Author: Volker Lendecke <vl at samba.org>
Date:   Sun May 31 16:19:11 2009 +0200

    Fix some nonempty blank lines

commit 537b257cca5dfc08e22195462372b94c6f495742
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 2 00:20:48 2009 +0200

    Use data_blob_null instead of data_blob(NULL, 0)

commit a731eb64d9a9415d5df2a385326cc14fcd4481eb
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 6 00:46:38 2009 +0200

    Fix an uninitialized variable read in async_connect_send

commit 3cd03b229b6f85d5a100ee39229e528641f1c238
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jun 6 00:47:53 2009 +0200

    Allow AF_UNIX for open_socket_out

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

Summary of changes:
 lib/async_req/async_sock.c |   10 +++---
 lib/util/asn1.c            |    2 +-
 source3/lib/util_sock.c    |    4 ++
 source4/dsdb/common/util.c |   78 +++++++++++++++++++++-----------------------
 source4/lib/ldb/pyldb.c    |   46 +++++++++++++-------------
 5 files changed, 70 insertions(+), 70 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index a505fcf..643eb2d 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -223,6 +223,11 @@ struct tevent_req *async_connect_send(TALLOC_CTX *mem_ctx,
 	state->fd = fd;
 	state->sys_errno = 0;
 
+	state->old_sockflags = fcntl(fd, F_GETFL, 0);
+	if (state->old_sockflags == -1) {
+		goto post_errno;
+	}
+
 	state->address_len = address_len;
 	if (address_len > sizeof(state->address)) {
 		errno = EINVAL;
@@ -230,11 +235,6 @@ struct tevent_req *async_connect_send(TALLOC_CTX *mem_ctx,
 	}
 	memcpy(&state->address, address, address_len);
 
-	state->old_sockflags = fcntl(fd, F_GETFL, 0);
-	if (state->old_sockflags == -1) {
-		goto post_errno;
-	}
-
 	set_blocking(fd, false);
 
 	state->result = connect(fd, address, address_len);
diff --git a/lib/util/asn1.c b/lib/util/asn1.c
index a2665ed..c687f8d 100644
--- a/lib/util/asn1.c
+++ b/lib/util/asn1.c
@@ -653,7 +653,7 @@ bool asn1_read_OctetString(struct asn1_data *data, TALLOC_CTX *mem_ctx, DATA_BLO
 	
 	if (data->has_error) {
 		data_blob_free(blob);
-		*blob = data_blob(NULL, 0);
+		*blob = data_blob_null;
 		return false;
 	}
 	return true;
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c
index 40e2887..cf1bb79 100644
--- a/source3/lib/util_sock.c
+++ b/source3/lib/util_sock.c
@@ -1018,6 +1018,10 @@ struct tevent_req *open_socket_out_send(TALLOC_CTX *mem_ctx,
 		state->salen = sizeof(struct sockaddr_in);
 	}
 
+	if (pss->ss_family == AF_UNIX) {
+		state->salen = sizeof(struct sockaddr_un);
+	}
+
 	print_sockaddr(addr, sizeof(addr), &state->ss);
 	DEBUG(3,("Connecting to %s at port %u\n", addr,	(unsigned int)port));
 
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c
index b9aceab..313005b 100644
--- a/source4/dsdb/common/util.c
+++ b/source4/dsdb/common/util.c
@@ -6,17 +6,17 @@
    Copyright (C) Volker Lendecke 2004
    Copyright (C) Andrew Bartlett <abartlet at samba.org> 2006
    Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007
-   
+
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
@@ -106,7 +106,6 @@ const char *samdb_search_string_v(struct ldb_context *sam_ldb,
 
 	return samdb_result_string(res[0], attr_name, NULL);
 }
-				 
 
 /*
   search the sam for a single string attribute in exactly 1 record
@@ -644,10 +643,10 @@ uint32_t samdb_result_acct_flags(struct ldb_context *sam_ctx, TALLOC_CTX *mem_ct
 	uint32_t acct_flags = samdb_uf2acb(userAccountControl); 
 	NTTIME must_change_time;
 	NTTIME now;
-	
+
 	must_change_time = samdb_result_force_password_change(sam_ctx, mem_ctx, 
 							      domain_dn, msg);
-	
+
 	/* Test account expire time */
 	unix_to_nt_time(&now, time(NULL));
 	/* check for expired password */
@@ -722,7 +721,7 @@ int samdb_find_or_add_attribute(struct ldb_context *ldb, struct ldb_message *msg
 	if (el) {
 		return LDB_SUCCESS;
 	}
-		
+
 	return samdb_msg_add_string(ldb, msg, msg, name, set_value);
 }
 
@@ -1070,7 +1069,7 @@ const struct dom_sid *samdb_domain_sid(struct ldb_context *ldb)
 	if (ret != LDB_SUCCESS) {
 		goto failed;
 	}
-	
+
 	if (res->count != 1) {
 		goto failed;
 	}
@@ -1165,7 +1164,7 @@ struct ldb_dn *samdb_ntds_settings_dn(struct ldb_context *ldb)
 	int ret;
 	struct ldb_result *root_res;
 	struct ldb_dn *settings_dn;
-	
+
 	/* see if we have a cached copy */
 	settings_dn = (struct ldb_dn *)ldb_get_opaque(ldb, "cache.settings_dn");
 	if (settings_dn) {
@@ -1176,7 +1175,6 @@ struct ldb_dn *samdb_ntds_settings_dn(struct ldb_context *ldb)
 	if (tmp_ctx == NULL) {
 		goto failed;
 	}
-	
 
 	ret = ldb_search(ldb, tmp_ctx, &root_res, ldb_dn_new(tmp_ctx, ldb, ""), LDB_SCOPE_BASE, root_attrs, NULL);
 	if (ret) {
@@ -1217,7 +1215,7 @@ const struct GUID *samdb_ntds_invocation_id(struct ldb_context *ldb)
 	int ret;
 	struct ldb_result *res;
 	struct GUID *invocation_id;
-	
+
 	/* see if we have a cached copy */
 	invocation_id = (struct GUID *)ldb_get_opaque(ldb, "cache.invocation_id");
 	if (invocation_id) {
@@ -1310,7 +1308,7 @@ const struct GUID *samdb_ntds_objectGUID(struct ldb_context *ldb)
 	int ret;
 	struct ldb_result *res;
 	struct GUID *ntds_guid;
-	
+
 	/* see if we have a cached copy */
 	ntds_guid = (struct GUID *)ldb_get_opaque(ldb, "cache.ntds_guid");
 	if (ntds_guid) {
@@ -1359,7 +1357,7 @@ bool samdb_set_ntds_objectGUID(struct ldb_context *ldb, const struct GUID *ntds_
 	TALLOC_CTX *tmp_ctx;
 	struct GUID *ntds_guid_new;
 	struct GUID *ntds_guid_old;
-	
+
 	/* see if we have a cached copy */
 	ntds_guid_old = (struct GUID *)ldb_get_opaque(ldb, "cache.ntds_guid");
 
@@ -1513,7 +1511,7 @@ int samdb_search_for_parent_domain(struct ldb_context *ldb, TALLOC_CTX *mem_ctx,
 
 	local_ctx = talloc_new(mem_ctx);
 	if (local_ctx == NULL) return LDB_ERR_OPERATIONS_ERROR;
-	
+
 	while ((sdn = ldb_dn_get_parent(local_ctx, sdn))) {
 		ret = ldb_search(ldb, local_ctx, &res, sdn, LDB_SCOPE_BASE, attrs,
 				 "(|(|(objectClass=domain)(objectClass=builtinDomain))(objectClass=samba4LocalDomain))");
@@ -1680,7 +1678,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 
 	if (restrictions && new_password) {
 		char *new_pass;
-		
+
 		/* check the various password restrictions */
 		if (restrictions && minPwdLength > utf16_len_n(new_password->data, new_password->length) / 2) {
 			if (reject_reason) {
@@ -1691,7 +1689,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 
 		/* Create the NT hash */
 		mdfour(local_ntNewHash.hash, new_password->data, new_password->length);
-		
+
 		ntNewHash = &local_ntNewHash;
 
 		/* Only check complexity if we can convert it at all.  Assuming unconvertable passwords are 'strong' */
@@ -1699,8 +1697,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 					  CH_UTF16, CH_UNIX, 
 					  new_password->data, new_password->length, 
 					  (void **)&new_pass, NULL, false)) {
-			
-			
+
 			/* possibly check password complexity */
 			if (restrictions && (pwdProperties & DOMAIN_PASSWORD_COMPLEX) &&
 			    !samdb_password_complexity_ok(new_pass)) {
@@ -1709,12 +1706,11 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 				}
 				return NT_STATUS_PASSWORD_RESTRICTION;
 			}
-			
+
 			/* compute the new lm hashes (for checking history - case insenitivly!) */
 			if (E_deshash(new_pass, local_lmNewHash.hash)) {
 				lmNewHash = &local_lmNewHash;
 			}
-			
 		}
 	}
 
@@ -1726,7 +1722,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 			}
 			return NT_STATUS_PASSWORD_RESTRICTION;
 		}
-		
+
 		/* can this user change password? */
 		if (userAccountControl & UF_PASSWD_CANT_CHANGE) {
 			if (reject_reason) {
@@ -1734,7 +1730,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 			}
 			return NT_STATUS_PASSWORD_RESTRICTION;
 		}
-		
+
 		/* yes, this is a minus. The ages are in negative 100nsec units! */
 		if (pwdLastSet - minPwdAge > now_nt) {
 			if (reject_reason) {
@@ -1758,11 +1754,11 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 				return NT_STATUS_PASSWORD_RESTRICTION;
 			}
 		}
-		
+
 		/* check the password history */
 		sambaLMPwdHistory_len = MIN(sambaLMPwdHistory_len, pwdHistoryLength);
 		sambaNTPwdHistory_len = MIN(sambaNTPwdHistory_len, pwdHistoryLength);
-		
+
 		for (i=0; lmNewHash && i<sambaLMPwdHistory_len;i++) {
 			if (memcmp(lmNewHash->hash, sambaLMPwdHistory[i].hash, 16) == 0) {
 				if (reject_reason) {
@@ -1799,7 +1795,7 @@ NTSTATUS samdb_set_password(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 		} else {
 			CHECK_RET(samdb_msg_add_delete(ctx, mem_ctx, mod, "dBCSPwd"));
 		}
-		
+
 		if (ntNewHash) {
 			CHECK_RET(samdb_msg_add_hash(ctx, mem_ctx, mod, "unicodePwd", ntNewHash));
 		} else {
@@ -1871,7 +1867,7 @@ NTSTATUS samdb_set_password_sid(struct ldb_context *ctx, TALLOC_CTX *mem_ctx,
 		ldb_transaction_cancel(ctx);
 		return nt_status;
 	}
-	
+
 	/* modify the samdb record */
 	ret = samdb_replace(ctx, mem_ctx, msg);
 	if (ret != 0) {
@@ -1898,42 +1894,42 @@ NTSTATUS samdb_create_foreign_security_principal(struct ldb_context *sam_ctx, TA
 	struct ldb_dn *basedn;
 	const char *sidstr;
 	int ret;
-	
+
 	sidstr = dom_sid_string(mem_ctx, sid);
 	NT_STATUS_HAVE_NO_MEMORY(sidstr);
-	
+
 	/* We might have to create a ForeignSecurityPrincipal, even if this user
 	 * is in our own domain */
-	
+
 	msg = ldb_msg_new(mem_ctx);
 	if (msg == NULL) {
 		return NT_STATUS_NO_MEMORY;
 	}
-	
+
 	/* TODO: Hmmm. This feels wrong. How do I find the base dn to
 	 * put the ForeignSecurityPrincipals? d_state->domain_dn does
 	 * not work, this is wrong for the Builtin domain, there's no
 	 * cn=For...,cn=Builtin,dc={BASEDN}.  -- vl
 	 */
-	
+
 	basedn = samdb_search_dn(sam_ctx, mem_ctx, NULL,
 				 "(&(objectClass=container)(cn=ForeignSecurityPrincipals))");
-	
+
 	if (basedn == NULL) {
 		DEBUG(0, ("Failed to find DN for "
 			  "ForeignSecurityPrincipal container\n"));
 		return NT_STATUS_INTERNAL_DB_CORRUPTION;
 	}
-	
+
 	/* add core elements to the ldb_message for the alias */
 	msg->dn = ldb_dn_copy(mem_ctx, basedn);
 	if ( ! ldb_dn_add_child_fmt(msg->dn, "CN=%s", sidstr))
 		return NT_STATUS_NO_MEMORY;
-	
+
 	samdb_msg_add_string(sam_ctx, mem_ctx, msg,
 			     "objectClass",
 			     "foreignSecurityPrincipal");
-	
+
 	/* create the alias */
 	ret = ldb_add(sam_ctx, msg);
 	if (ret != 0) {
@@ -1959,11 +1955,11 @@ struct ldb_dn *samdb_dns_domain_to_dn(struct ldb_context *ldb, TALLOC_CTX *mem_c
 	const char *binary_encoded;
 	const char **split_realm;
 	struct ldb_dn *dn;
-	
+
 	if (!tmp_ctx) {
 		return NULL;
 	}
-	
+
 	split_realm = (const char **)str_list_make(tmp_ctx, dns_domain, ".");
 	if (!split_realm) {
 		talloc_free(tmp_ctx);
@@ -2012,7 +2008,7 @@ struct ldb_dn *samdb_domain_to_dn(struct ldb_context *ldb, TALLOC_CTX *mem_ctx,
 	if (ret_domain != 0) {
 		return NULL;
 	}
-	
+
 	if (res_domain_ref->count == 0) {
 		ret_domain = ldb_search(ldb, mem_ctx,
 						&res_domain_ref, 
@@ -2023,19 +2019,19 @@ struct ldb_dn *samdb_domain_to_dn(struct ldb_context *ldb, TALLOC_CTX *mem_ctx,
 		if (ret_domain != 0) {
 			return NULL;
 		}
-	
+
 		if (res_domain_ref->count == 1) {
 			return res_domain_ref->msgs[0]->dn;
 		}
 		return NULL;
 	}
-	
+
 	if (res_domain_ref->count > 1) {
 		DEBUG(0,("Found %d records matching domain [%s]\n", 
 			 ret_domain, domain_name));
 		return NULL;
 	}
-	
+
 	return samdb_result_dn(ldb, mem_ctx, res_domain_ref->msgs[0], "nCName", NULL);
 
 }
diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c
index bfa152b..52d8530 100644
--- a/source4/lib/ldb/pyldb.c
+++ b/source4/lib/ldb/pyldb.c
@@ -10,7 +10,7 @@
 	 ** NOTE! The following LGPL license applies to the ldb
 	 ** library. This does NOT imply that all of Samba is released
 	 ** under the LGPL
-   
+
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
@@ -57,13 +57,13 @@ static PyObject *PyObject_FromLdbValue(struct ldb_context *ldb_ctx,
 	struct ldb_val new_val;
 	TALLOC_CTX *mem_ctx = talloc_new(NULL);
 	PyObject *ret;
-	
+
 	new_val = *val;
 
 	ret = PyString_FromStringAndSize((const char *)new_val.data, new_val.length);
-	
+
 	talloc_free(mem_ctx);
-	
+
 	return ret;
 }
 
@@ -129,7 +129,7 @@ static struct ldb_result *PyLdbResult_AsResult(TALLOC_CTX *mem_ctx,
 {
 	struct ldb_result *res;
 	int i;
-	
+
 	if (obj == Py_None)
 		return NULL;
 
@@ -314,7 +314,7 @@ static PyObject *py_ldb_dn_new(PyTypeObject *type, PyObject *args, PyObject *kwa
 		return NULL;
 
 	ldb_ctx = PyLdb_AsLdbContext(py_ldb);
-	
+
 	ret = ldb_dn_new(ldb_ctx, ldb_ctx, str);
 	/* ldb_dn_new() doesn't accept NULL as memory context, so 
 	   we do it this way... */
@@ -378,14 +378,14 @@ static void py_ldb_debug(void *context, enum ldb_debug_level level, const char *
 static PyObject *py_ldb_set_debug(PyLdbObject *self, PyObject *args)
 {
 	PyObject *cb;
-	
+
 	if (!PyArg_ParseTuple(args, "O", &cb))
 		return NULL;
 
 	Py_INCREF(cb);
 	/* FIXME: Where do we DECREF cb ? */
 	PyErr_LDB_ERROR_IS_ERR_RAISE(PyExc_LdbError, ldb_set_debug(self->ldb_ctx, py_ldb_debug, cb), PyLdb_AsLdbContext(self));
-	
+
 	Py_RETURN_NONE;
 }
 
@@ -519,7 +519,7 @@ static int py_ldb_init(PyLdbObject *self, PyObject *args, PyObject *kwargs)
 		if (options == NULL)
 			return -1;
 	}
-	
+
 	if (url != NULL) {
 		ret = ldb_connect(ldb, url, flags, options);
 		if (ret != LDB_SUCCESS) {
@@ -572,7 +572,7 @@ static PyObject *py_ldb_connect(PyLdbObject *self, PyObject *args, PyObject *kwa
 		if (options == NULL)
 			return NULL;
 	}
-	
+
 	ret = ldb_connect(PyLdb_AsLdbContext(self), url, flags, options);
 	talloc_free(options);
 
@@ -649,7 +649,7 @@ static PyObject *py_ldb_add(PyLdbObject *self, PyObject *args)
 	} else {
 		msg = PyLdbMessage_AsMessage(py_msg);
 	}
-	
+
 	ret = ldb_add(PyLdb_AsLdbContext(self), msg);
 	PyErr_LDB_ERROR_IS_ERR_RAISE(PyExc_LdbError, ret, PyLdb_AsLdbContext(self));
 
@@ -766,18 +766,18 @@ static PyObject *py_ldb_schema_format_value(PyLdbObject *self, PyObject *args)
 
 	if (!PyArg_ParseTuple(args, "sO", &element_name, &val))
 		return NULL;
-	
+
 	mem_ctx = talloc_new(NULL);
-	
+
 	old_val.data = (uint8_t *)PyString_AsString(val);
 	old_val.length = PyString_Size(val);
-		
+
 	a = ldb_schema_attribute_by_name(PyLdb_AsLdbContext(self), element_name);
 
 	if (a == NULL) {
 		Py_RETURN_NONE;
 	}
-	
+
 	if (a->syntax->ldif_write_fn(PyLdb_AsLdbContext(self), mem_ctx, &old_val, &new_val) != 0) {
 		talloc_free(mem_ctx);
 		Py_RETURN_NONE;
@@ -859,7 +859,7 @@ static PyObject *py_ldb_search(PyLdbObject *self, PyObject *args, PyObject *kwar
 	}
 
 	ret = ldb_request(ldb_ctx, req);
-		
+
 	if (ret == LDB_SUCCESS) {
 		ret = ldb_wait(req->handle, LDB_WAIT_ALL);
 	}
@@ -1176,11 +1176,11 @@ static PyObject *py_ldb_module_modify(PyLdbModuleObject *self, PyObject *args)
 
 	if (!PyArg_ParseTuple(args, "O", &py_message))
 		return NULL;
-	
+
 	req = talloc_zero(NULL, struct ldb_request);
 	req->operation = LDB_MODIFY;
 	req->op.mod.message = PyLdbMessage_AsMessage(py_message);
-	
+
 	mod = PyLdbModule_AsModule(self);
 	ret = mod->ops->modify(mod, req);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list