diff options
-rw-r--r-- | lib/util/tests/data_blob.c | 11 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/misc.h | 4 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_misc.c | 2 | ||||
-rw-r--r-- | source3/librpc/idl/misc.idl | 9 |
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; + } |