svn commit: samba r12059 - in branches/SAMBA_4_0/source/auth/kerberos: .

abartlet at samba.org abartlet at samba.org
Mon Dec 5 01:38:27 GMT 2005


Author: abartlet
Date: 2005-12-05 01:38:26 +0000 (Mon, 05 Dec 2005)
New Revision: 12059

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

Log:
Use random keytab names (so we get different keytabs, rather than
share the MEMORY: keytab).

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/auth/kerberos/kerberos_util.c


Changeset:
Modified: branches/SAMBA_4_0/source/auth/kerberos/kerberos_util.c
===================================================================
--- branches/SAMBA_4_0/source/auth/kerberos/kerberos_util.c	2005-12-05 01:36:53 UTC (rev 12058)
+++ branches/SAMBA_4_0/source/auth/kerberos/kerberos_util.c	2005-12-05 01:38:26 UTC (rev 12059)
@@ -611,7 +611,8 @@
 {
 	krb5_error_code ret;
 	TALLOC_CTX *mem_ctx = talloc_new(parent_ctx);
-	const char *keytab_name = "MEMORY:";
+	const char *rand_string;
+	const char *keytab_name;
 	krb5_keytab keytab;
 	if (!mem_ctx) {
 		return ENOMEM;
@@ -619,6 +620,19 @@
 	
 	*keytab_container = talloc(mem_ctx, struct keytab_container);
 
+	rand_string = generate_random_str(mem_ctx, 16);
+	if (!rand_string) {
+		talloc_free(mem_ctx);
+		return ENOMEM;
+	}
+
+	keytab_name = talloc_asprintf(mem_ctx, "MEMORY:%s", 
+				      rand_string);
+	if (!keytab_name) {
+		talloc_free(mem_ctx);
+		return ENOMEM;
+	}
+
 	/* Find the keytab */
 	ret = krb5_kt_resolve(smb_krb5_context->krb5_context, keytab_name, &keytab);
 	if (ret) {



More information about the samba-cvs mailing list