[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Mar 29 03:33:02 UTC 2022


The branch, master has been updated
       via  d7a91a855c7 s4-auth: Remove last traces of LanMan authentiation support in the AD DC.
       via  86f7e4e6905 s4-auth: Only build auth_developer module in developer mode
       via  360bb864e9a s4-auth: Do not trigger RODC replication unless missing all passwords
       via  1884bc11f01 s4-auth: Remove unused acct_flags parameter
      from  14e7112734b waf: Document the confusing --nonshared-binary, --builtin-libraries, --private-libraries and --bundled-libraries

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d7a91a855c7edfb0e09c93cbe4c56df0437fa467
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Mar 25 12:18:01 2022 +1300

    s4-auth: Remove last traces of LanMan authentiation support in the AD DC.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Tue Mar 29 03:32:57 UTC 2022 on sn-devel-184

commit 86f7e4e69059e77c35f451919365685d909024af
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Mar 23 15:10:23 2022 +1300

    s4-auth: Only build auth_developer module in developer mode
    
    This is a silly module for provoking NTSTATUS replies for testing and
    was useful many moons ago for determining the NTSTATUS -> DOS table that
    windows uses.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 360bb864e9a958c395f841bdc8caf866f8dcb0e0
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Mar 16 16:27:54 2022 +1300

    s4-auth: Do not trigger RODC replication unless missing all passwords
    
    With the NT hash becoming optional we cannot make blind assumptions that
    a missing value means we are on an RODC needing the password replicated.
    
    Instead, check for supplementalCredentials as well.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 1884bc11f0115078113253d48be684c32cb3c5f9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Mar 16 15:19:54 2022 +1300

    s4-auth: Remove unused acct_flags parameter
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                                |  5 +++++
 docs-xml/smbdotconf/security/lanmanauth.xml |  4 ++++
 source4/auth/ntlm/auth_sam.c                | 15 +++++++--------
 source4/auth/ntlm/wscript_build             |  3 ++-
 4 files changed, 18 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index d23bede2da2..1bdf3a01cfb 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -66,6 +66,11 @@ server used as a front.
 REMOVED FEATURES
 ================
 
+LanMan Authentication and password storage removed from the AD DC
+-----------------------------------------------------------------
+
+The storage and authentication with LanMan passwords has been entirely
+removed from the Samba AD DC, even when "lanman auth = yes" is set.
 
 smb.conf changes
 ================
diff --git a/docs-xml/smbdotconf/security/lanmanauth.xml b/docs-xml/smbdotconf/security/lanmanauth.xml
index 842c12d9b64..045e89d94d6 100644
--- a/docs-xml/smbdotconf/security/lanmanauth.xml
+++ b/docs-xml/smbdotconf/security/lanmanauth.xml
@@ -45,6 +45,10 @@
     then only NTLMv2 logins will be permitted and no LM hash will be
     stored.  All modern clients support NTLMv2, and but some older
     clients require special configuration to use it.</para>
+
+    <para><emphasis>This parameter has no impact on the Samba AD DC,
+    LM authentication is always disabled and no LM password is ever
+    stored.</emphasis></para>
 </description>
 
 <value type="default">no</value>
diff --git a/source4/auth/ntlm/auth_sam.c b/source4/auth/ntlm/auth_sam.c
index 60795c40723..14b6c707aa5 100644
--- a/source4/auth/ntlm/auth_sam.c
+++ b/source4/auth/ntlm/auth_sam.c
@@ -52,7 +52,6 @@ extern const char *domain_ref_attrs[];
 ****************************************************************************/
 static NTSTATUS authsam_password_ok(struct auth4_context *auth_context,
 				    TALLOC_CTX *mem_ctx,
-				    uint16_t acct_flags,
 				    const struct samr_Password *nt_pwd,
 				    const struct auth_usersupplied_info *user_info, 
 				    DATA_BLOB *user_sess_key, 
@@ -79,8 +78,8 @@ static NTSTATUS authsam_password_ok(struct auth4_context *auth_context,
 		*lm_sess_key = data_blob(NULL, 0);
 		*user_sess_key = data_blob(NULL, 0);
 		status = hash_password_check(mem_ctx, 
-					     lpcfg_lanman_auth(auth_context->lp_ctx),
-					     user_info->password.hash.lanman,
+					     false,
+					     NULL,
 					     user_info->password.hash.nt,
 					     user_info->mapped.account_name,
 					     NULL, nt_pwd);
@@ -207,7 +206,6 @@ static NTSTATUS authsam_password_check_and_record(struct auth4_context *auth_con
 						  TALLOC_CTX *mem_ctx,
 						  struct ldb_dn *domain_dn,
 						  struct ldb_message *msg,
-						  uint16_t acct_flags,
 						  const struct auth_usersupplied_info *user_info,
 						  DATA_BLOB *user_sess_key,
 						  DATA_BLOB *lm_sess_key,
@@ -222,6 +220,7 @@ static NTSTATUS authsam_password_check_and_record(struct auth4_context *auth_con
 	const char * const attrs[] = { "pwdHistoryLength", NULL };
 	struct ldb_message *dom_msg;
 	struct samr_Password *nt_pwd;
+	const struct ldb_val *sc_val;
 	bool am_rodc;
 
 	tmp_ctx = talloc_new(mem_ctx);
@@ -244,7 +243,9 @@ static NTSTATUS authsam_password_check_and_record(struct auth4_context *auth_con
 		return nt_status;
 	}
 
-	if (nt_pwd == NULL) {
+	sc_val = ldb_msg_find_ldb_val(msg, "supplementalCredentials");
+
+	if (nt_pwd == NULL && sc_val == NULL) {
 		if (samdb_rodc(auth_context->sam_ctx, &am_rodc) == LDB_SUCCESS && am_rodc) {
 			/*
 			 * we don't have passwords for this
@@ -273,7 +274,6 @@ static NTSTATUS authsam_password_check_and_record(struct auth4_context *auth_con
 	}
 
 	auth_status = authsam_password_ok(auth_context, tmp_ctx,
-					  acct_flags,
 					  nt_pwd,
 					  user_info,
 					  user_sess_key, lm_sess_key);
@@ -369,7 +369,6 @@ static NTSTATUS authsam_password_check_and_record(struct auth4_context *auth_con
 		}
 
 		auth_status = authsam_password_ok(auth_context, tmp_ctx,
-						  acct_flags,
 						  nt_history_pwd,
 						  user_info,
 						  user_sess_key,
@@ -551,7 +550,7 @@ static NTSTATUS authsam_authenticate(struct auth4_context *auth_context,
 	}
 
 	nt_status = authsam_password_check_and_record(auth_context, tmp_ctx,
-						      domain_dn, msg, acct_flags,
+						      domain_dn, msg,
 						      user_info,
 						      user_sess_key, lm_sess_key,
 						      authoritative);
diff --git a/source4/auth/ntlm/wscript_build b/source4/auth/ntlm/wscript_build
index 43c21ceb67f..f669ca90367 100644
--- a/source4/auth/ntlm/wscript_build
+++ b/source4/auth/ntlm/wscript_build
@@ -28,7 +28,8 @@ bld.SAMBA_MODULE('auth4_developer',
 	source='auth_developer.c',
 	subsystem='auth4',
 	init_function='auth4_developer_init',
-	deps='tevent'
+	deps='tevent',
+        enabled=bld.env.DEVELOPER_MODE
 	)
 
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list