The branch, master has been updated
       via  1243f52f7ae s4:rpc_server/netlogon: let CSDVersion="" wipe 
operatingSystemServicePack
       via  4a0a0d2fc95 s4:torture/rpc: test how CSDVersion="" wipes 
operatingSystemServicePack
      from  c7488bf9e39 lib: util: Make nt_time_to_full_timespec() call 
nt_time_to_unix_timespec_raw() for the conversion.

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


- Log -----------------------------------------------------------------
commit 1243f52f7ae58de1005c431e20563f2f1902dfce
Author: Stefan Metzmacher <me...@samba.org>
Date:   Tue Dec 21 14:00:34 2021 +0100

    s4:rpc_server/netlogon: let CSDVersion="" wipe operatingSystemServicePack
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14936
    
    Signed-off-by: Stefan Metzmacher <me...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Tue Jan 11 22:03:03 UTC 2022 on sn-devel-184

commit 4a0a0d2fc9555dc8ff7692607b1d51189785bd47
Author: Stefan Metzmacher <me...@samba.org>
Date:   Tue Dec 21 13:58:07 2021 +0100

    s4:torture/rpc: test how CSDVersion="" wipes operatingSystemServicePack
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14936
    
    Signed-off-by: Stefan Metzmacher <me...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

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

Summary of changes:
 source4/rpc_server/netlogon/dcerpc_netlogon.c | 11 ++++++++---
 source4/torture/rpc/netlogon.c                | 10 +++++-----
 2 files changed, 13 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c 
b/source4/rpc_server/netlogon/dcerpc_netlogon.c
index 269bea7c6fc..cfd6d148b0a 100644
--- a/source4/rpc_server/netlogon/dcerpc_netlogon.c
+++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c
@@ -2602,9 +2602,14 @@ static NTSTATUS dcesrv_netr_LogonGetDomainInfo(struct 
dcesrv_call_state *dce_cal
                                                         
os_version->BuildNumber);
                        NT_STATUS_HAVE_NO_MEMORY(os_version_str);
 
-                       ret = ldb_msg_add_string(new_msg,
-                                                "operatingSystemServicePack",
-                                                os_version->CSDVersion);
+                       if (strlen(os_version->CSDVersion) != 0) {
+                               ret = ldb_msg_add_string(new_msg,
+                                                        
"operatingSystemServicePack",
+                                                        
os_version->CSDVersion);
+                       } else {
+                               ret = samdb_msg_add_delete(sam_ctx, mem_ctx, 
new_msg,
+                                                          
"operatingSystemServicePack");
+                       }
                        if (ret != LDB_SUCCESS) {
                                return NT_STATUS_NO_MEMORY;
                        }
diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c
index 0d8926b6d81..11f950d3aab 100644
--- a/source4/torture/rpc/netlogon.c
+++ b/source4/torture/rpc/netlogon.c
@@ -5143,8 +5143,8 @@ static bool test_GetDomainInfo(struct torture_context 
*tctx,
        torture_comment(tctx, "Testing netr_LogonGetDomainInfo 2nd call 
(variation of DNS hostname doesn't work)\n");
        netlogon_creds_client_authenticator(creds, &a);
 
-       /* Wipe out the osVersion, and prove which values still 'stick' */
-       q1.os_version.os = NULL;
+       /* Wipe out the CSDVersion, and prove which values still 'stick' */
+       os.os.CSDVersion = "";
 
        /* Change also the DNS hostname to test differences in behaviour */
        talloc_free(discard_const_p(char, q1.dns_hostname));
@@ -5175,9 +5175,9 @@ static bool test_GetDomainInfo(struct torture_context 
*tctx,
                torture_assert(tctx,
                               ldb_msg_find_attr_as_string(res[0], 
"operatingSystemServicePack", NULL) == NULL,
                               "'operatingSystemServicePack' shouldn't stick!");
-               torture_assert(tctx,
-                              ldb_msg_find_attr_as_string(res[0], 
"operatingSystemVersion", NULL) == NULL,
-                              "'operatingSystemVersion' shouldn't stick!");
+               torture_assert_str_equal(tctx,
+                                        ldb_msg_find_attr_as_string(res[0], 
"operatingSystemVersion", NULL),
+                                        version_str, "'operatingSystemVersion' 
wrong!");
 
                /* The DNS host name shouldn't have been updated by the server 
*/
 


-- 
Samba Shared Repository

Reply via email to