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 <[EMAIL PROTECTED]>. 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;
