[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Sun Dec 23 20:34:04 UTC 2018
The branch, master has been updated
via be2a67319d1 auth/gensec: enforce that all DCERPC contexts support SIGN_PKT_HEADER
via b34eb437fe2 py:dcerpc/raw_testcase: add helper functions for ncacn_np: SMB connection support
via df7d4787152 py:dcerpc/raw_testcase: maintain self.secondary_address
via 196cc4dbd3f py:dcerpc/raw_testcase: maintain self.max_{xmit,recv}_frag
via 7fb5c575fbe py:dcerpc/raw_testcase: support DCERPC_AUTH_LEVEL_CONNECT in do_single_request()
via 7a83cb02a1c py:dcerpc/raw_testcase: add start_with_alter to do_generic_bind()
via 6574d2daef9 py:dcerpc/raw_protocol: test signing also with raw NTLMSSP and Kerberos
via f819df4de59 py:dcerpc/raw_protocol: test signing with and without header signing
via 78a5e4ec6e2 py:dcerpc/raw_testcase: prepare get_auth_context_creds() and do_generic_bind() for header signing
via 68e5dbe7845 py:dcerpc/raw_testcase: prepare do_generic_bind() for raw NTLMSSP and Kerberos authentication
via 3924924e610 py:dcerpc/raw_testcase: use require DOMAIN/REALM in get_user_creds()
via 87197f0c51a py:dcerpc/raw_testcase: use generate_request_auth() in do_single_request()
via 0b741c49c12 py:dcerpc/raw_testcase: use check_response_auth() in do_single_request()
via 168aa7c325e py:dcerpc/raw_testcase: add generate_request_auth() helper function
via fed1cdbe8bc py:dcerpc/raw_testcase: add check_response_auth() helper function
via 6b1c385865f py:dcerpc/raw_protocol: rename _test_spnego_signing_auth_level_request to _test_auth_signing_auth_level_request
via 8fc1f562607 py:dcerpc/raw_protocol: rename _test_spnego_bind_auth_level to_test_auth_bind_auth_level
via 20ed4bd9200 py:dcerpc/raw_testcase: pass auth_context and stub_len to parse_auth() in order to assert
via 59b84d6499c py:dcerpc/raw_protocol: let self._test_spnego_bind_auth_level() return auth_context
via 1ba90daeb42 py:dcerpc/raw_testcase: let do_single_request() check stub length against alloc_hint
via da82aa2fe48 py:dcerpc/raw_protocol: make use of assertPadding()
via dae9c53fffa py:dcerpc/raw_testcase: make use of assertPadding()
via 460a9d379ff py:dcerpc/raw_testcase: add assertPadding() that allows IGNORE_RANDOM_PAD=1
via fc4a8c17ef3 py:dcerpc/raw_protocol: explicitly disconnect additional connections
via cc2dc2e2b32 py:dcerpc/raw_testcase: disconnect on tearDown() of RawDCERPCTest
via 71450d85123 py:dcerpc/raw_protocol: rename test_spnego_packet_bind_sign_privacy => test_spnego_packet_bind_seal
via c91446cf7af py:dcerpc/tests: rename dcerpc/string.py -> string_tests.py
via deb0c2bdcba s3:pylibsmb: add settimeout()
via e27b62762d4 s4:librpc: add python winspool bindings
via 8b153f84403 s4:librpc: add python spoolss bindings
via 4114d2d044e s4:librpc: add python witness bindings
via 48815cc16a5 s3:libads: do an early return if we don't have a password for ads_kinit_password()
from ccd4759aaff nss/waf: check for secmethod_table.method_{attrlist,version} for aix >= 5.2
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit be2a67319d1b0f423d8fa19137c9a953398ddd50
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 31 15:55:57 2018 +0100
auth/gensec: enforce that all DCERPC contexts support SIGN_PKT_HEADER
That's currently always the case and will simplifies the callers.
WORKS now???
TDB_NO_FSYNC=1 buildnice make -j test FAIL_IMMEDIATELY=1 SOCKET_WRAPPER_KEEP_PCAP=1 TESTS='samba4.rpc.lsa.secrets.*ncacn_np.*Kerberos.*Samba3.*fl2000dc'
and
TDB_NO_FSYNC=1 buildnice make -j test FAIL_IMMEDIATELY=1 SOCKET_WRAPPER_KEEP_PCAP=1 TESTS='samba3.rpc.lsa.*ncacn_ip_tcp.*nt4_dc'
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Sun Dec 23 21:33:51 CET 2018 on sn-devel-144
commit b34eb437fe2508ad445125bc7139300981c43002
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 22 18:21:03 2018 +0100
py:dcerpc/raw_testcase: add helper functions for ncacn_np: SMB connection support
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit df7d4787152eb2ef91d34633c3caf25f8ef68d3c
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 22 18:21:03 2018 +0100
py:dcerpc/raw_testcase: maintain self.secondary_address
This was it's easier to alter once add support for SMB connections.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 196cc4dbd3ffdc7c52c90c2b060c3e9ab1310380
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 22 18:21:03 2018 +0100
py:dcerpc/raw_testcase: maintain self.max_{xmit,recv}_frag
This was it's easier to alter once add support for SMB connections.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 7fb5c575fbecc4f7ab9703946fe64911d610c847
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Nov 26 11:41:26 2018 +0100
py:dcerpc/raw_testcase: support DCERPC_AUTH_LEVEL_CONNECT in do_single_request()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 7a83cb02a1c5eb61624e53b127134ccd6f9b3fc8
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Nov 22 08:29:32 2018 +0100
py:dcerpc/raw_testcase: add start_with_alter to do_generic_bind()
This will allow do_generic_bind() to be used to test
security context multiplexing.
Check with git show -w
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6574d2daef9fc7b4b6b3b1c31261b8ea645a0911
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 17:37:38 2018 +0100
py:dcerpc/raw_protocol: test signing also with raw NTLMSSP and Kerberos
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit f819df4de59f63deea00d802a365b09b9c738ff0
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 17:37:38 2018 +0100
py:dcerpc/raw_protocol: test signing with and without header signing
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 78a5e4ec6e2bd486f64358f10c79bad240f34ac5
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:15:04 2018 +0100
py:dcerpc/raw_testcase: prepare get_auth_context_creds() and do_generic_bind() for header signing
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 68e5dbe78455bb2b83d5cb03f0d8e737a6564c7c
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:15:04 2018 +0100
py:dcerpc/raw_testcase: prepare do_generic_bind() for raw NTLMSSP and Kerberos authentication
They just use 3 legs (messages) for the authentication, while SPNEGO
uses 2 or 4 messages.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 3924924e610ee1c5b9ebb914e45b8c3bc996fa4f
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 17:22:56 2018 +0100
py:dcerpc/raw_testcase: use require DOMAIN/REALM in get_user_creds()
This is the usage now:
SMB_CONF_PATH=/dev/null \
SERVER=172.31.9.188 \
TARGET_HOSTNAME=w2012r2-188.w2012r2-l6.base \
USERNAME=administrator \
PASSWORD=A1b2C3d4 \
DOMAIN=W2012R2-L6 \
REALM=W2012R2-L6.BASE \
IGNORE_RANDOM_PAD=1 \
python/samba/tests/dcerpc/raw_protocol.py -v -f TestDCERPC_BIND
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 87197f0c51a2b81c4a8683984f3464a8081dcda4
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 17:19:32 2018 +0100
py:dcerpc/raw_testcase: use generate_request_auth() in do_single_request()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 0b741c49c125a55380fa29d61deb8ff739b3e5f5
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 16:02:50 2018 +0100
py:dcerpc/raw_testcase: use check_response_auth() in do_single_request()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 168aa7c325e25b9136970d4282297b501873cced
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 17:16:05 2018 +0100
py:dcerpc/raw_testcase: add generate_request_auth() helper function
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit fed1cdbe8bcf87f5227d9c79f228e03d13dfcb71
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 16:02:50 2018 +0100
py:dcerpc/raw_testcase: add check_response_auth() helper function
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6b1c385865fd5371d332cb562d800ce1abab1cb5
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:43:24 2018 +0100
py:dcerpc/raw_protocol: rename _test_spnego_signing_auth_level_request to _test_auth_signing_auth_level_request
We now pass down dcerpc.DCERPC_AUTH_TYPE_SPNEGO from callers
instead of having SPNEGO specific functions.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 8fc1f5626077c94226d82e7807fdc36d63ee9ab6
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:43:24 2018 +0100
py:dcerpc/raw_protocol: rename _test_spnego_bind_auth_level to_test_auth_bind_auth_level
We now pass down dcerpc.DCERPC_AUTH_TYPE_SPNEGO from callers
instead of having SPNEGO specific functions.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 20ed4bd920095ddb9b89a3c04d27c6fba2990cf7
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:48:08 2018 +0100
py:dcerpc/raw_testcase: pass auth_context and stub_len to parse_auth() in order to assert
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 59b84d6499c5c22f76c203525a3994ab29038e7e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 15:38:06 2018 +0100
py:dcerpc/raw_protocol: let self._test_spnego_bind_auth_level() return auth_context
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 1ba90daeb426df0273d1870e2893d691d42fe59b
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 16:01:01 2018 +0100
py:dcerpc/raw_testcase: let do_single_request() check stub length against alloc_hint
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit da82aa2fe48291e14059e3092d5416bb552b9325
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 11 19:56:58 2018 +0100
py:dcerpc/raw_protocol: make use of assertPadding()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit dae9c53fffaa41124a3fa96cb95280c8ddcbecba
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 11 19:56:58 2018 +0100
py:dcerpc/raw_testcase: make use of assertPadding()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 460a9d379ff7fb857535520f28cdcc4e49102c13
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 11 19:56:58 2018 +0100
py:dcerpc/raw_testcase: add assertPadding() that allows IGNORE_RANDOM_PAD=1
Sometimes Windows returns non zero bytes in padding fields,
we won't allow that by default, but IGNORE_RANDOM_PAD=1 will
will only do the length check.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit fc4a8c17ef34aa3690510642277b7203c1973e7e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 11 19:42:09 2018 +0100
py:dcerpc/raw_protocol: explicitly disconnect additional connections
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit cc2dc2e2b32967f5590bf59146520d760fecbab4
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Dec 11 19:41:08 2018 +0100
py:dcerpc/raw_testcase: disconnect on tearDown() of RawDCERPCTest
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 71450d85123417464798ad63c9e9bd59214a79ef
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 13 23:57:35 2018 +0100
py:dcerpc/raw_protocol: rename test_spnego_packet_bind_sign_privacy => test_spnego_packet_bind_seal
This makes it consistent with other tests like
test_spnego_integrity_bind_seal.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit c91446cf7af586a7f4731773649e1628acf08010
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Nov 20 08:25:31 2018 +0100
py:dcerpc/tests: rename dcerpc/string.py -> string_tests.py
Otherwise it's not possible to run the raw_protocol tests anymore:
python/samba/tests/dcerpc/raw_protocol.py
Traceback (most recent call last):
File "python/samba/tests/dcerpc/raw_protocol.py", line 26, in <module>
import samba.dcerpc.dcerpc as dcerpc
File "bin/python/samba/__init__.py", line 32, in <module>
from samba.compat import string_types
File "bin/python/samba/compat.py", line 151, in <module>
from urllib import quote as urllib_quote
File "/usr/lib/python2.7/urllib.py", line 25, in <module>
import string
File "/abs/path/samba/python/samba/tests/dcerpc/string.py", line 22, in <module>
# Some strings for ctype-style character classification
File "bin/python/samba/tests/__init__.py", line 36, in <module>
from samba.compat import text_type
ImportError: cannot import name text_type
This allows the following again:
SMB_CONF_PATH=/dev/null \
SERVER=172.31.9.188 \
TARGET_HOSTNAME=w2012r2-188.w2012r2-l6.base \
USERNAME=administrator \
PASSWORD=A1b2C3d4 \
DOMAIN=W2012R2-L6 \
REALM=W2012R2-L6.BASE \
python/samba/tests/dcerpc/raw_protocol.py -v -f TestDCERPC_BIND
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit deb0c2bdcbad32cb573d72ad540ba47ced2e0807
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 19 15:18:17 2018 +0100
s3:pylibsmb: add settimeout()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13676
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit e27b62762d4382b88b77aa1e80364e515fa54e0e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Sep 13 06:31:04 2016 +0200
s4:librpc: add python winspool bindings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 8b153f844030e0268f315e27154abda51c7931f8
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Sep 13 06:31:04 2016 +0200
s4:librpc: add python spoolss bindings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 4114d2d044ef8eaca5899b84e4dd52bf4dd005b0
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Sep 13 05:51:57 2016 +0200
s4:librpc: add python witness bindings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 48815cc16a5471c85236d05e3f0bea013d39f3bd
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Oct 7 18:18:56 2016 +0200
s3:libads: do an early return if we don't have a password for ads_kinit_password()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
auth/gensec/gensec.c | 16 +
python/samba/tests/dcerpc/raw_protocol.py | 284 +++++------
python/samba/tests/dcerpc/raw_testcase.py | 557 ++++++++++++++++-----
.../tests/dcerpc/{string.py => string_tests.py} | 0
selftest/tests.py | 2 +-
source3/libads/kerberos_util.c | 9 +-
source3/libsmb/pylibsmb.c | 16 +
source4/librpc/wscript_build | 18 +
8 files changed, 615 insertions(+), 287 deletions(-)
rename python/samba/tests/dcerpc/{string.py => string_tests.py} (100%)
Changeset truncated at 500 lines:
diff --git a/auth/gensec/gensec.c b/auth/gensec/gensec.c
index e021d0ce3fe..91d8cce3f4c 100644
--- a/auth/gensec/gensec.c
+++ b/auth/gensec/gensec.c
@@ -293,6 +293,8 @@ _PUBLIC_ size_t gensec_max_update_size(struct gensec_security *gensec_security)
static NTSTATUS gensec_verify_features(struct gensec_security *gensec_security)
{
+ bool ok;
+
/*
* gensec_want_feature(GENSEC_FEATURE_SIGN)
* and
@@ -319,6 +321,20 @@ static NTSTATUS gensec_verify_features(struct gensec_security *gensec_security)
}
}
+ if (gensec_security->dcerpc_auth_level < DCERPC_AUTH_LEVEL_PACKET) {
+ return NT_STATUS_OK;
+ }
+
+ ok = gensec_have_feature(gensec_security,
+ GENSEC_FEATURE_SIGN_PKT_HEADER);
+ if (!ok) {
+ DBG_ERR("backend [%s] does not support header signing! "
+ "auth_level[0x%x]\n",
+ gensec_security->ops->name,
+ gensec_security->dcerpc_auth_level);
+ return NT_STATUS_INTERNAL_ERROR;
+ }
+
return NT_STATUS_OK;
}
diff --git a/python/samba/tests/dcerpc/raw_protocol.py b/python/samba/tests/dcerpc/raw_protocol.py
index d752481f6f5..aab6d86253f 100755
--- a/python/samba/tests/dcerpc/raw_protocol.py
+++ b/python/samba/tests/dcerpc/raw_protocol.py
@@ -65,9 +65,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- # sometimes windows sends random bytes
- # self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -110,9 +108,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- # sometimes windows sends random bytes
- # self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -132,9 +128,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
self.assertEquals(rep.u.secondary_address, "")
- self.assertEquals(len(rep.u._pad1), 2)
- # sometimes windows sends random bytes
- # self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -372,8 +366,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
def test_invalid_auth_noctx(self):
req = self.generate_bind(call_id=0)
@@ -387,8 +380,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
def test_no_auth_valid_valid_request(self):
ndr32 = base.transfer_syntax_ndr()
@@ -410,8 +402,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -438,8 +429,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
# wait for a disconnect
rep = self.recv_pdu()
@@ -458,8 +448,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
# wait for a disconnect
rep = self.recv_pdu()
@@ -486,8 +475,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -539,8 +527,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -559,8 +546,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -609,8 +595,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -629,8 +614,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -667,8 +651,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -699,8 +682,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
# wait for a disconnect
rep = self.recv_pdu()
@@ -729,8 +711,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -790,8 +771,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -852,8 +832,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -881,8 +860,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -930,8 +908,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -956,8 +933,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -995,8 +971,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1034,8 +1009,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1080,8 +1054,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 2)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1117,8 +1090,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 2)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1167,8 +1139,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 2)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1231,8 +1202,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 2)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1268,8 +1238,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 2)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1319,8 +1288,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK)
@@ -1356,8 +1324,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK)
@@ -1391,8 +1358,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTION)
@@ -1434,8 +1400,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
# wait for a disconnect
rep = self.recv_pdu()
@@ -1465,8 +1430,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK)
@@ -1501,8 +1465,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACK)
@@ -1557,8 +1520,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.num_versions, 1)
self.assertEquals(rep.u.versions[0].rpc_vers, req.rpc_vers)
self.assertEquals(rep.u.versions[0].rpc_vers_minor, req.rpc_vers_minor)
- self.assertEquals(len(rep.u._pad), 3)
- self.assertEquals(rep.u._pad, b'\0' * 3)
+ self.assertPadding(rep.u._pad, 3)
# wait for a disconnect
rep = self.recv_pdu()
@@ -1626,8 +1588,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1715,8 +1676,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1746,8 +1706,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, rep_both)
self.assertEquals(rep.u.assoc_group_id, rep.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -1875,8 +1834,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -2660,8 +2618,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -2692,9 +2649,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- # Windows sends garbage
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -2810,8 +2765,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -2842,9 +2796,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertEquals(rep.u.max_recv_frag, req.u.max_recv_frag)
self.assertEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 0)
- self.assertEquals(len(rep.u._pad1), 2)
- # Windows sends garbage
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -2927,8 +2879,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
assoc_group_id = rep.u.assoc_group_id
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -3010,8 +2961,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- #self.assertEquals(rep.u._pad1, '\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
self.assertEquals(rep.u.num_results, 1)
self.assertEquals(rep.u.ctx_list[0].result,
dcerpc.DCERPC_BIND_ACK_RESULT_ACCEPTANCE)
@@ -3100,8 +3050,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
self.assertNotEquals(rep.u.assoc_group_id, req.u.assoc_group_id)
self.assertEquals(rep.u.secondary_address_size, 4)
self.assertEquals(rep.u.secondary_address, "%d" % self.tcp_port)
- self.assertEquals(len(rep.u._pad1), 2)
- self.assertEquals(rep.u._pad1, b'\0' * 2)
+ self.assertPadding(rep.u._pad1, 2)
--
Samba Shared Repository
More information about the samba-cvs
mailing list