svn commit: samba r12327 - in branches/SAMBA_4_0/source/kdc: .

abartlet at samba.org abartlet at samba.org
Sun Dec 18 22:50:02 GMT 2005


Author: abartlet
Date: 2005-12-18 22:50:01 +0000 (Sun, 18 Dec 2005)
New Revision: 12327

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

Log:
ENT_TYPE_ANY isn't used anywhere in Samba4, so don't implement it in hdb-ldb.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/kdc/hdb-ldb.c


Changeset:
Modified: branches/SAMBA_4_0/source/kdc/hdb-ldb.c
===================================================================
--- branches/SAMBA_4_0/source/kdc/hdb-ldb.c	2005-12-18 22:45:56 UTC (rev 12326)
+++ branches/SAMBA_4_0/source/kdc/hdb-ldb.c	2005-12-18 22:50:01 UTC (rev 12327)
@@ -525,8 +525,6 @@
 	char *filter = NULL;
 	const char * const *princ_attrs = krb5_attrs;
 
-	char *princ_str;
-	char *princ_str_talloc;
 	char *short_princ;
 	char *short_princ_talloc;
 
@@ -534,28 +532,17 @@
 
 	struct ldb_result *res = NULL;
 
-	ret = krb5_unparse_name(context, principal, &princ_str);
-
-	if (ret != 0) {
-		krb5_set_error_string(context, "LDB_lookup_principal: could not parse principal");
-		krb5_warnx(context, "LDB_lookup_principal: could not parse principal");
-		return ret;
-	}
-
 	ret = krb5_unparse_name_norealm(context, principal, &short_princ);
 
 	if (ret != 0) {
-		free(princ_str);
 		krb5_set_error_string(context, "LDB_lookup_principal: could not parse principal");
 		krb5_warnx(context, "LDB_lookup_principal: could not parse principal");
 		return ret;
 	}
 
-	princ_str_talloc = talloc_strdup(mem_ctx, princ_str);
 	short_princ_talloc = talloc_strdup(mem_ctx, short_princ);
-	free(princ_str);
 	free(short_princ);
-	if (!short_princ || !princ_str_talloc) {
+	if (!short_princ || !short_princ_talloc) {
 		krb5_set_error_string(context, "LDB_lookup_principal: talloc_strdup() failed!");
 		return ENOMEM;
 	}
@@ -564,7 +551,9 @@
 	case HDB_LDB_ENT_TYPE_CLIENT:
 		/* Can't happen */
 		return EINVAL;
-		break;
+	case HDB_LDB_ENT_TYPE_ANY:
+		/* Can't happen */
+		return EINVAL;
 	case HDB_LDB_ENT_TYPE_KRBTGT:
 		filter = talloc_asprintf(mem_ctx, "(&(objectClass=user)(samAccountName=%s))", 
 					 KRB5_TGS_NAME);
@@ -573,10 +562,6 @@
 		filter = talloc_asprintf(mem_ctx, "(&(objectClass=user)(samAccountName=%s))", 
 					 short_princ_talloc);
 		break;
-	case HDB_LDB_ENT_TYPE_ANY:
-		filter = talloc_asprintf(mem_ctx, "(&(objectClass=user)(|(|(samAccountName=%s)(servicePrincipalName=%s))(userPrincipalName=%s)))", 
-					 short_princ_talloc, short_princ_talloc, princ_str_talloc);
-		break;
 	}
 
 	if (!filter) {
@@ -830,8 +815,9 @@
 			break;
 		}
 	case HDB_ENT_TYPE_ANY:
-		ldb_ent_type = HDB_LDB_ENT_TYPE_ANY;
-		break;
+		krb5_warnx(context, "LDB_fetch: ENT_TYPE_ANY is not valid in hdb-ldb!");
+		talloc_free(mem_ctx);
+		return HDB_ERR_NOENTRY;
 	default:
 		krb5_warnx(context, "LDB_fetch: invalid ent_type specified!");
 		talloc_free(mem_ctx);



More information about the samba-cvs mailing list