svn commit: lorikeet r130 - in trunk/heimdal/lib/hdb: .

metze at samba.org metze at samba.org
Mon Nov 15 20:22:04 GMT 2004


Author: metze
Date: 2004-11-15 20:22:04 +0000 (Mon, 15 Nov 2004)
New Revision: 130

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

Log:
fix machine acounts

metze

Modified:
   trunk/heimdal/lib/hdb/hdb-ldb.c


Changeset:
Modified: trunk/heimdal/lib/hdb/hdb-ldb.c
===================================================================
--- trunk/heimdal/lib/hdb/hdb-ldb.c	2004-11-15 01:25:41 UTC (rev 129)
+++ trunk/heimdal/lib/hdb/hdb-ldb.c	2004-11-15 20:22:04 UTC (rev 130)
@@ -371,6 +371,7 @@
 	char *basedn = NULL;
 	char *realm_filter;
 	struct ldb_message **realm_msg = NULL;
+	char *account, *p;
 
 	const char *realm_attrs[] = {
 		"realm", 
@@ -407,9 +408,21 @@
 
 	krb5_warnx(context, "LDB_lookup_principal: realm ok\n");
 
+	account = strdup(princ);
+	if (!account) {
+		krb5_set_error_string(context, "strdup: out of memory");
+		ret = ENOMEM;
+		goto out;
+	}
+
+	p = strchr(account, '@');
+	if (p) {
+		*p = '\0';
+	}
+
 	rc = asprintf(&filter,
-		"(&(objectClass=user)(|(userPrincipalName=%s)(|(servicePrincipalName=%s)(samAccountName=%s))))",
-		    princ, princ, princ);
+		"(&(objectClass=user)(|(userPrincipalName=%s)(|(servicePrincipalName=HOST/%s)(samAccountName=%s))))",
+		    princ, princ, account);
 	if (rc < 0) {
 		krb5_set_error_string(context, "asprintf: out of memory");
 		ret = ENOMEM;



More information about the samba-cvs mailing list