summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/util/tests/data_blob.c11
-rw-r--r--source3/librpc/gen_ndr/misc.h4
-rw-r--r--source3/librpc/gen_ndr/ndr_misc.c2
-rw-r--r--source3/librpc/idl/misc.idl9
4 files changed, 23 insertions, 3 deletions
diff --git a/lib/util/tests/data_blob.c b/lib/util/tests/data_blob.c
index e0be7a4046..875e5fdef8 100644
--- a/lib/util/tests/data_blob.c
+++ b/lib/util/tests/data_blob.c
@@ -32,6 +32,16 @@ static bool test_string(struct torture_context *tctx)
return true;
}
+static bool test_string_null(struct torture_context *tctx)
+{
+ DATA_BLOB blob = data_blob_string_const_null("bla");
+
+ torture_assert_int_equal(tctx, blob.length, 4, "blob length");
+ torture_assert_str_equal(tctx, (char *)blob.data, "bla", "blob data");
+
+ return true;
+}
+
static bool test_zero(struct torture_context *tctx)
{
int i;
@@ -77,6 +87,7 @@ struct torture_suite *torture_local_util_data_blob(TALLOC_CTX *mem_ctx)
struct torture_suite *suite = torture_suite_create(mem_ctx, "DATABLOB");
torture_suite_add_simple_test(suite, "string", test_string);
+ torture_suite_add_simple_test(suite, "string_null", test_string_null);
torture_suite_add_simple_test(suite, "zero", test_zero);;
torture_suite_add_simple_test(suite, "clear", test_clear);
torture_suite_add_simple_test(suite, "cmp", test_cmp);
diff --git a/source3/librpc/gen_ndr/misc.h b/source3/librpc/gen_ndr/misc.h
index 4fa7415db7..b3740faf34 100644
--- a/source3/librpc/gen_ndr/misc.h
+++ b/source3/librpc/gen_ndr/misc.h
@@ -26,13 +26,17 @@ struct policy_handle {
enum netr_SchannelType
#ifndef USE_UINT_ENUMS
{
+ SEC_CHAN_NULL=0,
SEC_CHAN_WKSTA=2,
+ SEC_CHAN_DNS_DOMAIN=3,
SEC_CHAN_DOMAIN=4,
SEC_CHAN_BDC=6
}
#else
{ __donnot_use_enum_netr_SchannelType=0x7FFFFFFF}
+#define SEC_CHAN_NULL ( 0 )
#define SEC_CHAN_WKSTA ( 2 )
+#define SEC_CHAN_DNS_DOMAIN ( 3 )
#define SEC_CHAN_DOMAIN ( 4 )
#define SEC_CHAN_BDC ( 6 )
#endif
diff --git a/source3/librpc/gen_ndr/ndr_misc.c b/source3/librpc/gen_ndr/ndr_misc.c
index 56105d499f..22c416a0d7 100644
--- a/source3/librpc/gen_ndr/ndr_misc.c
+++ b/source3/librpc/gen_ndr/ndr_misc.c
@@ -123,7 +123,9 @@ _PUBLIC_ void ndr_print_netr_SchannelType(struct ndr_print *ndr, const char *nam
const char *val = NULL;
switch (r) {
+ case SEC_CHAN_NULL: val = "SEC_CHAN_NULL"; break;
case SEC_CHAN_WKSTA: val = "SEC_CHAN_WKSTA"; break;
+ case SEC_CHAN_DNS_DOMAIN: val = "SEC_CHAN_DNS_DOMAIN"; break;
case SEC_CHAN_DOMAIN: val = "SEC_CHAN_DOMAIN"; break;
case SEC_CHAN_BDC: val = "SEC_CHAN_BDC"; break;
}
diff --git a/source3/librpc/idl/misc.idl b/source3/librpc/idl/misc.idl
index 132a81f138..ff548fe804 100644
--- a/source3/librpc/idl/misc.idl
+++ b/source3/librpc/idl/misc.idl
@@ -30,9 +30,11 @@ interface misc
/* Only SEC_CHAN_WKSTA can forward requests to other domains. */
typedef [public] enum {
- SEC_CHAN_WKSTA = 2,
- SEC_CHAN_DOMAIN = 4,
- SEC_CHAN_BDC = 6
+ SEC_CHAN_NULL = 0,
+ SEC_CHAN_WKSTA = 2,
+ SEC_CHAN_DNS_DOMAIN = 3,
+ SEC_CHAN_DOMAIN = 4,
+ SEC_CHAN_BDC = 6
} netr_SchannelType;
/* SAM database types */
@@ -48,4 +50,5 @@ interface misc
SAMR_REJECT_IN_HISTORY = 2,
SAMR_REJECT_COMPLEXITY = 5
} samr_RejectReason;
+
}