diff options
-rw-r--r-- | selftest/target/Samba3.pm | 1 | ||||
-rw-r--r-- | source3/rpc_server/srv_samr_nt.c | 4 | ||||
-rwxr-xr-x | source3/script/tests/selftest.sh | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index 288ba8c8b7..3a51e6f4b2 100644 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -117,6 +117,7 @@ sub setup_dc($$) my $dc_options = " domain master = yes domain logons = yes + lanman auth = yes "; my $vars = $self->provision($path, diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c index 6bd5635f2d..862917b418 100644 --- a/source3/rpc_server/srv_samr_nt.c +++ b/source3/rpc_server/srv_samr_nt.c @@ -1812,6 +1812,10 @@ NTSTATUS _samr_ChangePasswordUser(pipes_struct *p, lm_pass = pdb_get_lanman_passwd(pwd); nt_pass = pdb_get_nt_passwd(pwd); + if (!lm_pass || !nt_pass) { + return NT_STATUS_WRONG_PASSWORD; + } + memcpy(&lm_pwd.hash, lm_pass, sizeof(lm_pwd.hash)); memcpy(&nt_pwd.hash, nt_pass, sizeof(nt_pwd.hash)); } diff --git a/source3/script/tests/selftest.sh b/source3/script/tests/selftest.sh index 15a0c06c1e..d069568257 100755 --- a/source3/script/tests/selftest.sh +++ b/source3/script/tests/selftest.sh @@ -213,6 +213,7 @@ cat >$SERVERCONFFILE<<EOF domain master = yes domain logons = yes + lanman auth = yes time server = yes add user script = $PERL $SRCDIR/../lib/nss_wrapper/nss_wrapper.pl --path $NSS_WRAPPER_PASSWD --type passwd --action add --name %u |