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

vlendec at samba.org vlendec at samba.org
Wed Jan 11 12:09:31 GMT 2006


Author: vlendec
Date: 2006-01-11 12:09:30 +0000 (Wed, 11 Jan 2006)
New Revision: 12840

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

Log:
Add -W to smbpasswd. Thanks to William Jojo <jojowil at hvcc.edu>.

Volker

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-11 12:00:59 UTC (rev 12839)
+++ branches/SAMBA_3_0/source/utils/smbpasswd.c	2006-01-11 12:09:30 UTC (rev 12840)
@@ -92,7 +92,7 @@
 
 	user_name[0] = '\0';
 
-	while ((ch = getopt(argc, argv, "c:axdehminjr:sw:R:D:U:L")) != EOF) {
+	while ((ch = getopt(argc, argv, "c:axdehminjr:sw:R:D:U:LW")) != EOF) {
 		switch(ch) {
 		case 'L':
 			local_flags |= LOCAL_AM_ROOT;
@@ -153,6 +153,10 @@
 			got_username = True;
 			fstrcpy(user_name, optarg);
 			break;
+		case 'W':
+			local_flags |= LOCAL_SET_LDAP_ADMIN_PW;
+			*ldap_secret = '\0';
+			break;
 		}
 		case 'h':
 		default:
@@ -325,6 +329,10 @@
 	if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) {
 		printf("Setting stored password for \"%s\" in secrets.tdb\n", 
 			lp_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))
 			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-11 12:00:59 UTC (rev 12839)
+++ trunk/source/utils/smbpasswd.c	2006-01-11 12:09:30 UTC (rev 12840)
@@ -92,7 +92,7 @@
 
 	user_name[0] = '\0';
 
-	while ((ch = getopt(argc, argv, "c:axdehminjr:sw:R:D:U:L")) != EOF) {
+	while ((ch = getopt(argc, argv, "c:axdehminjr:sw:R:D:U:LW")) != EOF) {
 		switch(ch) {
 		case 'L':
 			local_flags |= LOCAL_AM_ROOT;
@@ -153,6 +153,10 @@
 			got_username = True;
 			fstrcpy(user_name, optarg);
 			break;
+		case 'W':
+			local_flags |= LOCAL_SET_LDAP_ADMIN_PW;
+			*ldap_secret = '\0';
+			break;
 		}
 		case 'h':
 		default:
@@ -325,6 +329,10 @@
 	if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) {
 		printf("Setting stored password for \"%s\" in secrets.tdb\n", 
 			lp_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))
 			DEBUG(0,("ERROR: Failed to store the ldap admin password!\n"));
 		goto done;



More information about the samba-cvs mailing list