svn commit: samba r13148 - branches/SAMBA_3_0/source/utils trunk/source/utils

idra at samba.org idra at samba.org
Thu Jan 26 00:14:26 GMT 2006


Author: idra
Date: 2006-01-26 00:14:25 +0000 (Thu, 26 Jan 2006)
New Revision: 13148

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

Log:

Fix bug: #3413
Check that ldap admin dn is defined in smb.conf before
setting the ldap password in secrets.tdb

Based on patch by William Jojo <jojowil at hvcc.edu>

Simo.


Modified:
   branches/SAMBA_3_0/source/utils/smbpasswd.c
   trunk/source/utils/smbpasswd.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/smbpasswd.c
===================================================================
--- branches/SAMBA_3_0/source/utils/smbpasswd.c	2006-01-25 23:00:07 UTC (rev 13147)
+++ branches/SAMBA_3_0/source/utils/smbpasswd.c	2006-01-26 00:14:25 UTC (rev 13148)
@@ -327,14 +327,20 @@
 	char *old_passwd = NULL;
 
 	if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) {
-		printf("Setting stored password for \"%s\" in secrets.tdb\n", 
-			lp_ldap_admin_dn());
+		char *ldap_admin_dn = lp_ldap_admin_dn();
+		if ( ! *ldap_admin_dn ) {
+			DEBUG(0,("ERROR: 'ldap admin dn' not defined! Please check your smb.conf\n"));
+			goto done;
+		}
+
+		printf("Setting stored password for \"%s\" in secrets.tdb\n", ldap_admin_dn);
 		if ( ! *ldap_secret ) {
 			new_passwd = prompt_for_new_password(stdin_passwd_get);
 			fstrcpy(ldap_secret, new_passwd);
 		}
-		if (!store_ldap_admin_pw(ldap_secret))
+		if (!store_ldap_admin_pw(ldap_secret)) {
 			DEBUG(0,("ERROR: Failed to store the ldap admin password!\n"));
+		}
 		goto done;
 	}
 

Modified: trunk/source/utils/smbpasswd.c
===================================================================
--- trunk/source/utils/smbpasswd.c	2006-01-25 23:00:07 UTC (rev 13147)
+++ trunk/source/utils/smbpasswd.c	2006-01-26 00:14:25 UTC (rev 13148)
@@ -327,14 +327,20 @@
 	char *old_passwd = NULL;
 
 	if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) {
-		printf("Setting stored password for \"%s\" in secrets.tdb\n", 
-			lp_ldap_admin_dn());
+		char *ldap_admin_dn = lp_ldap_admin_dn();
+		if ( ! *ldap_admin_dn ) {
+			DEBUG(0,("ERROR: 'ldap admin dn' not defined! Please check your smb.conf\n"));
+			goto done;
+		}
+
+		printf("Setting stored password for \"%s\" in secrets.tdb\n", ldap_admin_dn);
 		if ( ! *ldap_secret ) {
 			new_passwd = prompt_for_new_password(stdin_passwd_get);
 			fstrcpy(ldap_secret, new_passwd);
 		}
-		if (!store_ldap_admin_pw(ldap_secret))
+		if (!store_ldap_admin_pw(ldap_secret)) {
 			DEBUG(0,("ERROR: Failed to store the ldap admin password!\n"));
+		}
 		goto done;
 	}
 



More information about the samba-cvs mailing list