diff options
author | Simo Sorce <idra@samba.org> | 2006-01-26 00:14:25 +0000 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2006-01-26 00:14:25 +0000 |
commit | de8e43fe35d80b2a8f01e5b45d49c44f4adbcbca (patch) | |
tree | 62e357fff2ee68cc458e5f24e9da1ac76223db40 /source/utils/smbpasswd.c | |
parent | 65d0541e8310f2c5afe847f89f8c07b3c38d83bb (diff) | |
download | samba-de8e43fe35d80b2a8f01e5b45d49c44f4adbcbca.tar.gz samba-de8e43fe35d80b2a8f01e5b45d49c44f4adbcbca.tar.xz samba-de8e43fe35d80b2a8f01e5b45d49c44f4adbcbca.zip |
r13148: 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@hvcc.edu>
Simo.
Diffstat (limited to 'source/utils/smbpasswd.c')
-rw-r--r-- | source/utils/smbpasswd.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/utils/smbpasswd.c b/source/utils/smbpasswd.c index 7659bb2997a..29189c5febd 100644 --- a/source/utils/smbpasswd.c +++ b/source/utils/smbpasswd.c @@ -327,14 +327,20 @@ static int process_root(int local_flags) 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; } |