summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2016-08-31 17:51:12 +0200
committerAndreas Schneider <asn@cryptomilk.org>2016-10-26 11:20:16 +0200
commitb72d3f0ba567af629d38367b2af961d804f1586d (patch)
tree7ded1378e4bcf373689f34588006e786e1cfaeaf /source4/librpc
parent6f642eb3066358fa41fb8d7e8bec420277223af4 (diff)
downloadsamba-b72d3f0ba567af629d38367b2af961d804f1586d.tar.gz
s4-torture: test support for [packet] binding string option.
Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/tests/binding_string.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/source4/librpc/tests/binding_string.c b/source4/librpc/tests/binding_string.c
index b2866a4d89d..3ef7b7d0ea1 100644
--- a/source4/librpc/tests/binding_string.c
+++ b/source4/librpc/tests/binding_string.c
@@ -132,6 +132,7 @@ static const char *test_strings[] = {
"ncacn_unix_stream:[/tmp/epmapper,sign]",
"ncacn_ip_tcp:127.0.0.1[75,target_hostname=port75.example.com,target_principal=host/port75.example.com]",
"ncacn_ip_tcp:127.0.0.1[75,connect,target_hostname=port75.example.com,target_principal=host/port75.example.com,assoc_group_id=0x01234567]",
+ "ncacn_ip_tcp:127.0.0.1[75,packet,target_hostname=port75.example.com,target_principal=host/port75.example.com,assoc_group_id=0x01234567]",
"ncacn_ip_tcp:::",
"ncacn_ip_tcp:::[75]",
"ncacn_ip_tcp:FD00::5357:5F00",
@@ -237,6 +238,24 @@ static bool test_parse_check_results(struct torture_context *tctx)
"ncacn_ip_tcp:$HOST[,connect,target_hostname=$HOSTNAME,target_principal=$PRINCIPAL,assoc_group_id=0x01234567]",
"back to string");
+ torture_assert_ntstatus_ok(tctx, dcerpc_parse_binding(tctx,
+ "ncacn_ip_tcp:$HOST[,packet,target_hostname=$HOSTNAME,target_principal=$PRINCIPAL,assoc_group_id=0x01234567]",
+ &b), "parse");
+ flags = dcerpc_binding_get_flags(b);
+ torture_assert(tctx, flags == DCERPC_PACKET, "packet flag");
+ torture_assert_str_equal(tctx, dcerpc_binding_get_string_option(b, "host"),
+ "$HOST", "host");
+ torture_assert_str_equal(tctx, dcerpc_binding_get_string_option(b, "target_hostname"),
+ "$HOSTNAME", "target_hostname");
+ torture_assert_str_equal(tctx, dcerpc_binding_get_string_option(b, "target_principal"),
+ "$PRINCIPAL", "target_principal");
+ torture_assert_int_equal(tctx, dcerpc_binding_get_assoc_group_id(b), 0x01234567,
+ "assoc_group_id");
+ torture_assert_str_equal(tctx,
+ dcerpc_binding_string(tctx, b),
+ "ncacn_ip_tcp:$HOST[,packet,target_hostname=$HOSTNAME,target_principal=$PRINCIPAL,assoc_group_id=0x01234567]",
+ "back to string");
+
return true;
}