svn commit: samba r10832 - in branches/SAMBA_4_0/source/ldap_server: .

metze at samba.org metze at samba.org
Sat Oct 8 09:55:38 GMT 2005


Author: metze
Date: 2005-10-08 09:55:38 +0000 (Sat, 08 Oct 2005)
New Revision: 10832

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10832

Log:
free the old session info

metze
Modified:
   branches/SAMBA_4_0/source/ldap_server/ldap_bind.c


Changeset:
Modified: branches/SAMBA_4_0/source/ldap_server/ldap_bind.c
===================================================================
--- branches/SAMBA_4_0/source/ldap_server/ldap_bind.c	2005-10-08 08:14:57 UTC (rev 10831)
+++ branches/SAMBA_4_0/source/ldap_server/ldap_bind.c	2005-10-08 09:55:38 UTC (rev 10832)
@@ -105,6 +105,7 @@
 		errstr = NULL;
 	} else if (NT_STATUS_IS_OK(status)) {
 		struct ldapsrv_partition *part;
+		struct auth_session_info *old_session_info;
 
 		result = LDAP_SUCCESS;
 		errstr = NULL;
@@ -112,11 +113,15 @@
 		    gensec_have_feature(call->conn->gensec, GENSEC_FEATURE_SIGN)) {
 			call->conn->enable_wrap = True;
 		}
+		old_session_info = call->conn->session_info;
+		call->conn->session_info = NULL;
 		status = gensec_session_info(call->conn->gensec, &call->conn->session_info);
 		if (!NT_STATUS_IS_OK(status)) {
+			call->conn->session_info = old_session_info;
 			result = LDAP_OPERATIONS_ERROR;
 			errstr = talloc_asprintf(reply, "SASL:[%s]: Failed to get session info: %s", req->creds.SASL.mechanism, nt_errstr(status));
 		} else {
+			talloc_free(old_session_info);
 			for (part = call->conn->partitions; part; part = part->next) {
 				if (!part->ops->Bind) {
 					continue;



More information about the samba-cvs mailing list