The Samba-Bugzilla – Attachment 13365 Details for
Bug 12865
Samba 4.7 auth audit does not track machine account ServerAuthenticate3
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Modify existing tests to handle netlogon message
0001-tests-auth_log-Modify-existing-tests-to-handle-NETLO.patch (text/plain), 7.01 KB, created by
Gary Lockyer
on 2017-07-12 19:18:57 UTC
(
hide
)
Description:
Modify existing tests to handle netlogon message
Filename:
MIME Type:
Creator:
Gary Lockyer
Created:
2017-07-12 19:18:57 UTC
Size:
7.01 KB
patch
obsolete
>From 513df96364fb1e0375fd5239f6d086fce1bea4fc Mon Sep 17 00:00:00 2001 >From: Gary Lockyer <gary@catalyst.net.nz> >Date: Mon, 10 Jul 2017 07:45:16 +1200 >Subject: [PATCH 1/3] tests auth_log: Modify existing tests to handle NETLOGON > messages > >Modify the existing tests to ignore auth logging for NETLOGON messages. >NETLOGON authentication is logged once per session, and is tested >separately. Ignoring it in these tests avoids order dependencies. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12865 > >Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> >--- > python/samba/tests/auth_log.py | 11 +++++++++++ > python/samba/tests/auth_log_base.py | 17 +++++++++++++++++ > python/samba/tests/auth_log_samlogon.py | 1 + > 3 files changed, 29 insertions(+) > >diff --git a/python/samba/tests/auth_log.py b/python/samba/tests/auth_log.py >index 65800c9..6b032a8 100644 >--- a/python/samba/tests/auth_log.py >+++ b/python/samba/tests/auth_log.py >@@ -991,6 +991,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1020,6 +1021,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1049,6 +1051,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1077,6 +1080,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1106,6 +1110,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1135,6 +1140,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1164,6 +1170,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1194,6 +1201,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1224,6 +1232,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1252,6 +1261,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >@@ -1290,6 +1300,7 @@ class AuthLogTests(samba.tests.auth_log_base.AuthLogTestBase): > call(["bin/rpcclient", "-c", samlogon, "-U%", server]) > > messages = self.waitForMessages( isLastExpectedMessage) >+ messages = self.remove_netlogon_messages(messages) > received = len(messages) > self.assertIs(True, > (received == 5 or received == 6), >diff --git a/python/samba/tests/auth_log_base.py b/python/samba/tests/auth_log_base.py >index e9ae464..aefd57e 100644 >--- a/python/samba/tests/auth_log_base.py >+++ b/python/samba/tests/auth_log_base.py >@@ -62,6 +62,10 @@ class AuthLogTestBase(samba.tests.TestCase): > > > def waitForMessages(self, isLastExpectedMessage, connection=None): >+ """Wait for all the expected messages to arrive >+ The connection is passed through to keep the connection alive >+ until all the logging messages have been received. >+ """ > > def completed( messages): > for message in messages: >@@ -102,3 +106,16 @@ class AuthLogTestBase(samba.tests.TestCase): > while len( self.context["messages"]): > self.msg_ctx.loop_once(0.001) > self.context["messages"] = [] >+ >+ # Remove any NETLOGON authentication messages >+ # NETLOGON is only performed once per session, so to avoid ordering >+ # dependencies within the tests it's best to strip out NETLOGON messages. >+ # >+ def remove_netlogon_messages(self, messages): >+ def is_not_netlogon(msg): >+ if "Authentication" not in msg: >+ return True >+ sd = msg["Authentication"]["serviceDescription"] >+ return sd != "NETLOGON" >+ >+ return list(filter(is_not_netlogon, messages)) >diff --git a/python/samba/tests/auth_log_samlogon.py b/python/samba/tests/auth_log_samlogon.py >index d24986b..d865276 100644 >--- a/python/samba/tests/auth_log_samlogon.py >+++ b/python/samba/tests/auth_log_samlogon.py >@@ -157,6 +157,7 @@ class AuthLogTestsSamLogon(samba.tests.auth_log_base.AuthLogTestBase): > > def samlogon_check(self, messages): > >+ messages = self.remove_netlogon_messages(messages) > expected_messages = 5 > self.assertEquals(expected_messages, > len(messages), >-- >2.7.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 12865
:
13365
|
13366
|
13367
|
13394
|
13395
|
13396
|
13426