svn commit: samba r21329 - in branches/SAMBA_4_0/source/librpc/idl: .
Author: metze Date: 2007-02-14 11:28:20 + (Wed, 14 Feb 2007) New Revision: 21329 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21329 Log: complete support for parsing the supplementalCredentials value the package specific data is present as hex string, we'll need to add parsers for each package later. metze Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl === --- branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 05:16:05 UTC (rev 21328) +++ branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 11:28:20 UTC (rev 21329) @@ -201,25 +201,46 @@ [in] ldapControlDirSyncCookie cookie ); - typedef [public] struct { + typedef struct { uint16 name_len; uint16 data_len; - uint16 id; + uint16 unknown1; /* 2 for name = 'Packages', 1 for name = 'Primary:*' */ [charset(UTF16)] uint8 name[name_len]; - uint8 data[data_len]; + /* +* the data field contains data as HEX strings +* +* 'Packages': +*it seems to contains HEX strings +*of GUID's concatenated together. +*w2k only has 'Primary:Kerberos' +*and there's a 32 byte hex string. +*w2k3 also has 'Primary:WDigest' +*and there's a 64 byte hex string. +* +* 'Primary:Kerberos': +*... +* +* 'Primary:WDigest': +*... +*/ + [charset(DOS)] uint8 data[data_len]; } supplementalCredentialsPackage; - typedef [public] struct { - uint32 unknown1; - [charset(UTF16)] uint16 unknown2[0x30]; - uint16 unknown3; + /* this are 0x30 (48) whitespaces (0x20) followed by 'P' (0x50) */ + const string SUPPLEMENTAL_CREDENTIALS_PREFIX = P; + + typedef struct { + [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] uint16 prefix[0x31]; uint16 num_packages; supplementalCredentialsPackage packages[num_packages]; } supplementalCredentialsSubBlob; typedef [public] struct { - [value(0)] uint32 version; - [subcontext(4)] supplementalCredentialsSubBlob sub; + [value(0)] uint32 unknown1; + uint32 __ndr_size; + [value(0)] uint32 unknown2; + [subcontext(0),subcontext_size(__ndr_size)] supplementalCredentialsSubBlob sub; + [value(0)] uint8 unknown3; } supplementalCredentialsBlob; void decode_supplementalCredentials(
svn commit: samba r21330 - in branches/SAMBA_4_0/source/kdc: .
Author: metze Date: 2007-02-14 11:47:17 + (Wed, 14 Feb 2007) New Revision: 21330 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21330 Log: move fetching of krb5 keys into its own function metze Modified: branches/SAMBA_4_0/source/kdc/hdb-ldb.c Changeset: Modified: branches/SAMBA_4_0/source/kdc/hdb-ldb.c === --- branches/SAMBA_4_0/source/kdc/hdb-ldb.c 2007-02-14 11:28:20 UTC (rev 21329) +++ branches/SAMBA_4_0/source/kdc/hdb-ldb.c 2007-02-14 11:47:17 UTC (rev 21330) @@ -196,6 +196,66 @@ talloc_free(entry_ex-ctx); } +static krb5_error_code LDB_message2entry_keys(TALLOC_CTX *mem_ctx, + struct ldb_message *msg, + unsigned int userAccountControl, + hdb_entry_ex *entry_ex) +{ + krb5_error_code ret = 0; + struct ldb_message_element *ldb_keys; + int i; + + /* Get krb5Key from the db */ + + ldb_keys = ldb_msg_find_element(msg, krb5Key); + + if (!ldb_keys) { + /* oh, no password. Apparently (comment in +* hdb-ldap.c) this violates the ASN.1, but this +* allows an entry with no keys (yet). */ + entry_ex-entry.keys.val = NULL; + entry_ex-entry.keys.len = 0; + } else { + /* allocate space to decode into */ + entry_ex-entry.keys.val = calloc(ldb_keys-num_values, sizeof(Key)); + if (entry_ex-entry.keys.val == NULL) { + ret = ENOMEM; + goto out; + } + + entry_ex-entry.keys.len = 0; + + /* Decode Kerberos keys into the hdb structure */ + for (i=0; i ldb_keys-num_values; i++) { + size_t decode_len; + Key key; + ret = decode_Key(ldb_keys-values[i].data, ldb_keys-values[i].length, +key, decode_len); + if (ret) { + /* Could be bougus data in the entry, or out of memory */ + goto out; + } + + if (userAccountControl UF_USE_DES_KEY_ONLY) { + switch (key.key.keytype) { + case KEYTYPE_DES: + entry_ex-entry.keys.val[entry_ex-entry.keys.len] = key; + entry_ex-entry.keys.len++; + default: + /* We must use DES keys only */ + break; + } + } else { + entry_ex-entry.keys.val[entry_ex-entry.keys.len] = key; + entry_ex-entry.keys.len++; + } + } + } + +out: + return ret; +} + /* * Construct an hdb_entry from a directory entry. */ @@ -220,7 +280,6 @@ struct hdb_ldb_private *private; NTTIME acct_expiry; - struct ldb_message_element *ldb_keys; struct ldb_message_element *objectclasses; struct ldb_val computer_val; @@ -365,53 +424,13 @@ entry_ex-entry.generation = NULL; - /* Get krb5Key from the db */ + /* Get keys from the db */ + ret = LDB_message2entry_keys(mem_ctx, msg, userAccountControl, entry_ex); + if (ret) { + /* Could be bougus data in the entry, or out of memory */ + goto out; + } - ldb_keys = ldb_msg_find_element(msg, krb5Key); - - if (!ldb_keys) { - /* oh, no password. Apparently (comment in -* hdb-ldap.c) this violates the ASN.1, but this -* allows an entry with no keys (yet). */ - entry_ex-entry.keys.val = NULL; - entry_ex-entry.keys.len = 0; - } else { - /* allocate space to decode into */ - entry_ex-entry.keys.val = calloc(ldb_keys-num_values, sizeof(Key)); - if (entry_ex-entry.keys.val == NULL) { - ret = ENOMEM; - goto out; - } - - entry_ex-entry.keys.len = 0; - - /* Decode Kerberos keys into the hdb structure */ - for (i=0; i ldb_keys-num_values; i++) { - size_t decode_len; - Key key; - ret = decode_Key(ldb_keys-values[i].data, ldb_keys-values[i].length, -key, decode_len); - if (ret) { - /* Could be bougus data in the entry, or out of memory */ - goto
svn commit: samba r21331 - in branches/SAMBA_4_0/source/librpc/idl: .
Author: metze Date: 2007-02-14 12:21:16 + (Wed, 14 Feb 2007) New Revision: 21331 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21331 Log: add comment about how the cleartext password is stored metze Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl === --- branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 11:47:17 UTC (rev 21330) +++ branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 12:21:16 UTC (rev 21331) @@ -216,12 +216,19 @@ *and there's a 32 byte hex string. *w2k3 also has 'Primary:WDigest' *and there's a 64 byte hex string. +*...but this 'Primary:CLEARTEXT' +*also there's a 104 byte hex string +*(instead of 3 * (16*2) = 96 ). * * 'Primary:Kerberos': *... * * 'Primary:WDigest': *... +* +* 'Primary:CLEARTEXT': +*data contains the cleartext password +*as UTF16 string encoded as HEX string */ [charset(DOS)] uint8 data[data_len]; } supplementalCredentialsPackage;
Rev 11453: Fix bug in pidl that prevented value(0) from working. Bug reported by metze. in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11453 revision-id: [EMAIL PROTECTED] parent: svn-v2:[EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 13:39:32 +0100 message: Fix bug in pidl that prevented value(0) from working. Bug reported by metze. modified: source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm svn-v2:[EMAIL PROTECTED] source/pidl/tests/samba-ndr.pl svn-v2:[EMAIL PROTECTED] === modified file 'source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm' --- a/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2007-02-08 23:54:31 + +++ b/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2007-02-14 12:39:32 + @@ -10,7 +10,8 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(is_charset_array); [EMAIL PROTECTED] = qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv); [EMAIL PROTECTED] = qw(check_null_pointer GenerateFunctionInEnv + GenerateFunctionOutEnv EnvSubstituteValue GenerateStructEnv); use strict; use Parse::Pidl::Typelist qw(hasType getType mapType); @@ -234,7 +235,7 @@ # Substitute the value() values in the env foreach my $e (@{$s-{ELEMENTS}}) { - next unless (my $v = has_property($e, value)); + next unless (defined(my $v = has_property($e, value))); $env-{$e-{NAME}} = ParseExpr($v, $env, $e); } @@ -714,7 +715,7 @@ start_flags($e); - if (my $value = has_property($e, value)) { + if (defined(my $value = has_property($e, value))) { $var_name = ParseExpr($value, $env, $e-{ORIGINAL}); } @@ -765,7 +766,7 @@ $var_name = append_prefix($e, $var_name); - if (my $value = has_property($e, value)) { + if (defined(my $value = has_property($e, value))) { $var_name = (ndr-flags LIBNDR_PRINT_SET_VALUES)? . ParseExpr($value,$env, $e-{ORIGINAL}) . :$var_name; } === modified file 'source/pidl/tests/samba-ndr.pl' --- a/source/pidl/tests/samba-ndr.pl2007-02-08 23:54:31 + +++ b/source/pidl/tests/samba-ndr.pl2007-02-14 12:39:32 + @@ -4,12 +4,12 @@ use strict; use warnings; -use Test::More tests = 16; +use Test::More tests = 20; use FindBin qw($RealBin); use lib $RealBin; use Util; use Parse::Pidl::Util qw(MyDumper); -use Parse::Pidl::Samba4::NDR::Parser qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv); +use Parse::Pidl::Samba4::NDR::Parser qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv GenerateStructEnv EnvSubstituteValue); my $output; sub print_fn($) { my $x = shift; $output.=$x; } @@ -152,3 +152,23 @@ $fn = { ELEMENTS = [ { DIRECTION = [out], NAME = foo } ] }; is_deeply({ }, GenerateFunctionInEnv($fn)); + +$fn = { ELEMENTS = [ { NAME = foo }, { NAME = bar } ] }; +is_deeply({ foo = r-foo, bar = r-bar, this = r }, GenerateStructEnv($fn)); + +$fn = { ELEMENTS = [ { NAME = foo, PROPERTIES = { value = 3 }} ] }; + +my $env = GenerateStructEnv($fn); +EnvSubstituteValue($env, $fn); +is_deeply($env, { foo = 3, this = r }); + +$fn = { ELEMENTS = [ { NAME = foo }, { NAME = bar } ] }; +$env = GenerateStructEnv($fn); +EnvSubstituteValue($env, $fn); +is_deeply($env, { foo = 'r-foo', bar = 'r-bar', this = r }); + +$fn = { ELEMENTS = [ { NAME = foo, PROPERTIES = { value = 0 }} ] }; + +$env = GenerateStructEnv($fn); +EnvSubstituteValue($env, $fn); +is_deeply($env, { foo = 0, this = r });
svn commit: samba r21332 - in branches/SAMBA_4_0: . source/pidl/lib/Parse/Pidl/Samba4/NDR source/pidl/tests
Author: jelmer Date: 2007-02-14 12:44:50 + (Wed, 14 Feb 2007) New Revision: 21332 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21332 Log: Fix bug in pidl that prevented value(0) from working. Bug reported by metze. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm branches/SAMBA_4_0/source/pidl/tests/samba-ndr.pl Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2007-02-14 12:21:16 UTC (rev 21331) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2007-02-14 12:44:50 UTC (rev 21332) @@ -10,7 +10,8 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(is_charset_array); [EMAIL PROTECTED] = qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv); [EMAIL PROTECTED] = qw(check_null_pointer GenerateFunctionInEnv + GenerateFunctionOutEnv EnvSubstituteValue GenerateStructEnv); use strict; use Parse::Pidl::Typelist qw(hasType getType mapType); @@ -234,7 +235,7 @@ # Substitute the value() values in the env foreach my $e (@{$s-{ELEMENTS}}) { - next unless (my $v = has_property($e, value)); + next unless (defined(my $v = has_property($e, value))); $env-{$e-{NAME}} = ParseExpr($v, $env, $e); } @@ -714,7 +715,7 @@ start_flags($e); - if (my $value = has_property($e, value)) { + if (defined(my $value = has_property($e, value))) { $var_name = ParseExpr($value, $env, $e-{ORIGINAL}); } @@ -765,7 +766,7 @@ $var_name = append_prefix($e, $var_name); - if (my $value = has_property($e, value)) { + if (defined(my $value = has_property($e, value))) { $var_name = (ndr-flags LIBNDR_PRINT_SET_VALUES)? . ParseExpr($value,$env, $e-{ORIGINAL}) . :$var_name; } Modified: branches/SAMBA_4_0/source/pidl/tests/samba-ndr.pl === --- branches/SAMBA_4_0/source/pidl/tests/samba-ndr.pl 2007-02-14 12:21:16 UTC (rev 21331) +++ branches/SAMBA_4_0/source/pidl/tests/samba-ndr.pl 2007-02-14 12:44:50 UTC (rev 21332) @@ -4,12 +4,12 @@ use strict; use warnings; -use Test::More tests = 16; +use Test::More tests = 20; use FindBin qw($RealBin); use lib $RealBin; use Util; use Parse::Pidl::Util qw(MyDumper); -use Parse::Pidl::Samba4::NDR::Parser qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv); +use Parse::Pidl::Samba4::NDR::Parser qw(check_null_pointer GenerateFunctionInEnv GenerateFunctionOutEnv GenerateStructEnv EnvSubstituteValue); my $output; sub print_fn($) { my $x = shift; $output.=$x; } @@ -152,3 +152,23 @@ $fn = { ELEMENTS = [ { DIRECTION = [out], NAME = foo } ] }; is_deeply({ }, GenerateFunctionInEnv($fn)); + +$fn = { ELEMENTS = [ { NAME = foo }, { NAME = bar } ] }; +is_deeply({ foo = r-foo, bar = r-bar, this = r }, GenerateStructEnv($fn)); + +$fn = { ELEMENTS = [ { NAME = foo, PROPERTIES = { value = 3 }} ] }; + +my $env =
svn commit: samba r21333 - in branches/SAMBA_4_0/source/utils: .
Author: metze Date: 2007-02-14 13:22:09 + (Wed, 14 Feb 2007) New Revision: 21333 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21333 Log: fix POPT handling in ndrdump make --validate, --dump-data work again metze Modified: branches/SAMBA_4_0/source/utils/ndrdump.c Changeset: Modified: branches/SAMBA_4_0/source/utils/ndrdump.c === --- branches/SAMBA_4_0/source/utils/ndrdump.c 2007-02-14 12:44:50 UTC (rev 21332) +++ branches/SAMBA_4_0/source/utils/ndrdump.c 2007-02-14 13:22:09 UTC (rev 21333) @@ -143,16 +143,18 @@ void *v_st; const char *ctx_filename = NULL; const char *plugin = NULL; - BOOL validate = False; - BOOL dumpdata = False; + bool validate = false; + bool dumpdata = false; int opt; + enum {OPT_CONTEXT_FILE=1000, OPT_VALIDATE, OPT_DUMP_DATA, OPT_LOAD_DSO}; struct poptOption long_options[] = { - {context-file, 'c', POPT_ARG_STRING, ctx_filename, 0, In-filename to parse first, CTX-FILE }, - {validate, 0, POPT_ARG_NONE, validate, 0, try to validate the data, NULL }, - {dump-data, 0, POPT_ARG_NONE, dumpdata, 0, dump the hex data, NULL }, - {load-dso, 'l', POPT_ARG_STRING, plugin, 0, load from shared object file, NULL }, + POPT_AUTOHELP + {context-file, 'c', POPT_ARG_STRING, NULL, OPT_CONTEXT_FILE, In-filename to parse first, CTX-FILE }, + {validate, 0, POPT_ARG_NONE, NULL, OPT_VALIDATE, try to validate the data, NULL }, + {dump-data, 0, POPT_ARG_NONE, NULL, OPT_DUMP_DATA, dump the hex data, NULL }, + {load-dso, 'l', POPT_ARG_STRING, NULL, OPT_LOAD_DSO, load from shared object file, NULL }, POPT_COMMON_SAMBA - POPT_AUTOHELP + POPT_COMMON_VERSION { NULL } }; @@ -164,6 +166,20 @@ pc, pipe|uuid function inout [filename]); while ((opt = poptGetNextOpt(pc)) != -1) { + switch (opt) { + case OPT_CONTEXT_FILE: + ctx_filename = poptGetOptArg(pc); + break; + case OPT_VALIDATE: + validate = true; + break; + case OPT_DUMP_DATA: + dumpdata = true; + break; + case OPT_LOAD_DSO: + plugin = poptGetOptArg(pc); + break; + } } pipe_name = poptGetArg(pc);
svn commit: samba r21334 - in branches/SAMBA_4_0/source/utils: .
Author: metze Date: 2007-02-14 13:24:37 + (Wed, 14 Feb 2007) New Revision: 21334 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21334 Log: compare the original buffer and the validated one byte by byte and print out the first mismatch metze Modified: branches/SAMBA_4_0/source/utils/ndrdump.c Changeset: Modified: branches/SAMBA_4_0/source/utils/ndrdump.c === --- branches/SAMBA_4_0/source/utils/ndrdump.c 2007-02-14 13:22:09 UTC (rev 21333) +++ branches/SAMBA_4_0/source/utils/ndrdump.c 2007-02-14 13:24:37 UTC (rev 21334) @@ -329,6 +329,9 @@ struct ndr_push *ndr_v_push; struct ndr_pull *ndr_v_pull; struct ndr_print *ndr_v_print; + uint32_t i; + uint8_t byte_a, byte_b; + bool differ; ndr_v_push = ndr_push_init_ctx(mem_ctx); @@ -367,12 +370,37 @@ f-ndr_print(ndr_v_print, function, flags, v_st); if (blob.length != v_blob.length) { - printf(WARNING! orig bytes:%ld validated pushed bytes:%ld\n, (long)blob.length, (long)v_blob.length); + printf(WARNING! orig bytes:%u validated pushed bytes:%u\n, blob.length, v_blob.length); } if (ndr_pull-offset != ndr_v_pull-offset) { - printf(WARNING! orig pulled bytes:%d validated pulled bytes:%d\n, ndr_pull-offset, ndr_v_pull-offset); + printf(WARNING! orig pulled bytes:%u validated pulled bytes:%u\n, ndr_pull-offset, ndr_v_pull-offset); } + + differ = false; + byte_a = 0x00; + byte_b = 0x00; + for (i=0; i blob.length; i++) { + byte_a = blob.data[i]; + + if (i == v_blob.length) { + byte_b = 0x00; + differ = true; + break; + } + + byte_b = v_blob.data[i]; + + if (byte_a != byte_b) { + differ = true; + break; + } + } + if (differ) { + printf(WARNING! orig and validated differ at byte 0x%02X (%u)\n, i, i); + printf(WARNING! orig byte[0x%02X] = 0x%02X validated byte[0x%02X] = 0x%02X\n, + i, byte_a, i, byte_b); + } } printf(dump OK\n);
svn commit: samba r21335 - in branches/SAMBA_4_0/source/torture/rpc: .
Author: metze Date: 2007-02-14 13:35:53 + (Wed, 14 Feb 2007) New Revision: 21335 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21335 Log: add dssync:save_pwd_blobs_dir=path/ option to store the password blobs in files for inspection with ndrdump metze Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c Changeset: Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c === --- branches/SAMBA_4_0/source/torture/rpc/dssync.c 2007-02-14 13:24:37 UTC (rev 21334) +++ branches/SAMBA_4_0/source/torture/rpc/dssync.c 2007-02-14 13:35:53 UTC (rev 21335) @@ -417,10 +417,15 @@ const DATA_BLOB *gensec_skey, struct drsuapi_DsReplicaObjectListItemEx *cur) { - if (!lp_parm_bool(-1,dssync,print_pwd_blobs,False)) { + static uint32_t object_id; + const char *save_values_dir; + + if (!lp_parm_bool(-1,dssync,print_pwd_blobs, false)) { return; } + save_values_dir = lp_parm_string(-1,dssync,save_pwd_blobs_dir); + for (; cur; cur = cur-next_object) { const char *dn; struct dom_sid *sid = NULL; @@ -497,13 +502,28 @@ cur-object.identifier, rid, enc_data); if (!dn_printed) { - DEBUG(0,(DN: %s\n, dn)); + object_id++; + DEBUG(0,(DN[%u] %s\n, object_id, dn)); dn_printed = True; } DEBUGADD(0,(ATTR: %s enc.length=%lu plain.length=%lu\n, name, (long)enc_data-length, (long)plain_data.length)); if (plain_data.length) { dump_data(0, plain_data.data, plain_data.length); + if (save_values_dir) { + char *fname; + fname = talloc_asprintf(ctx, %s/%s%02d, + save_values_dir, + name, object_id); + if (fname) { + bool ok; + ok = file_save(fname, plain_data.data, plain_data.length); + if (!ok) { + DEBUGADD(0,(Failed to save '%s'\n, fname)); + } + } + talloc_free(fname); + } } else { dump_data(0, enc_data-data, enc_data-length); }
svn commit: samba r21336 - in branches: SAMBA_3_0/source/nsswitch SAMBA_3_0_25/source/nsswitch
Author: gd Date: 2007-02-14 13:51:42 + (Wed, 14 Feb 2007) New Revision: 21336 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21336 Log: Fix indent (as pointed out by Volker). Guenther Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_user.c branches/SAMBA_3_0_25/source/nsswitch/winbindd_user.c Changeset: Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_user.c === --- branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2007-02-14 13:35:53 UTC (rev 21335) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_user.c 2007-02-14 13:51:42 UTC (rev 21336) @@ -286,14 +286,14 @@ call worked or not. --jerry */ if ( s-gid == (gid_t)-1 ) { - if (!success) { - DEBUG(5, (Could not query user's %s\\%s\n gid, - s-domain-name, s-username)); - goto failed; - } + if (!success) { + DEBUG(5, (Could not query user's %s\\%s\n gid, + s-domain-name, s-username)); + goto failed; + } /* take what the sid2gid() call gave us */ - s-gid = gid; + s-gid = gid; } /* allow the nss backend to override the primary group ID. Modified: branches/SAMBA_3_0_25/source/nsswitch/winbindd_user.c === --- branches/SAMBA_3_0_25/source/nsswitch/winbindd_user.c 2007-02-14 13:35:53 UTC (rev 21335) +++ branches/SAMBA_3_0_25/source/nsswitch/winbindd_user.c 2007-02-14 13:51:42 UTC (rev 21336) @@ -286,14 +286,14 @@ call worked or not. --jerry */ if ( s-gid == (gid_t)-1 ) { - if (!success) { - DEBUG(5, (Could not query user's %s\\%s\n gid, - s-domain-name, s-username)); - goto failed; - } + if (!success) { + DEBUG(5, (Could not query user's %s\\%s\n gid, + s-domain-name, s-username)); + goto failed; + } /* take what the sid2gid() call gave us */ - s-gid = gid; + s-gid = gid; } /* allow the nss backend to override the primary group ID.
svn commit: samba r21337 - in branches/SAMBA_4_0/source/torture/rpc: .
Author: metze Date: 2007-02-14 14:01:50 + (Wed, 14 Feb 2007) New Revision: 21337 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21337 Log: add hack option to use DsGetNCChanges level 5 against w2k metze Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c Changeset: Modified: branches/SAMBA_4_0/source/torture/rpc/dssync.c === --- branches/SAMBA_4_0/source/torture/rpc/dssync.c 2007-02-14 13:51:42 UTC (rev 21336) +++ branches/SAMBA_4_0/source/torture/rpc/dssync.c 2007-02-14 14:01:50 UTC (rev 21337) @@ -568,6 +568,8 @@ highest_usn = lp_parm_int(-1, dssync, highest_usn, 0); + array[0].level = lp_parm_int(-1, dssync, get_nc_changes_level, array[0].level); + if (lp_parm_bool(-1,dssync,print_pwd_blobs,False)) { const struct samr_Password *nthash; nthash = cli_credentials_get_nt_hash(ctx-new_dc.credentials, ctx);
svn commit: samba r21338 - in branches/SAMBA_4_0: . source/pidl/lib/Parse/Pidl/Samba3 source/pidl/tests
Author: jelmer Date: 2007-02-14 14:23:59 + (Wed, 14 Feb 2007) New Revision: 21338 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21338 Log: Fix handling of top-level arrays for the Samba 3 client code. This doesn't fix the winreg code yet (as that's an array on top of a pointer), but at least it gets us closer. Also added a couple of tests for the Samba 3 client code. Added: branches/SAMBA_4_0/source/pidl/tests/samba3-cli.pl Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 2007-02-14 14:01:50 UTC (rev 21337) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 2007-02-14 14:23:59 UTC (rev 21338) @@ -6,18 +6,22 @@ package Parse::Pidl::Samba3::ClientNDR; +use Exporter; [EMAIL PROTECTED] = qw(Exporter); [EMAIL PROTECTED] = qw(GenerateFunctionInEnv ParseFunction $res $res_hdr); + use strict; use Parse::Pidl qw(fatal warning); use Parse::Pidl::Typelist qw(hasType getType mapType scalar_is_reference); -use Parse::Pidl::Util qw(has_property is_constant); +use Parse::Pidl::Util qw(has_property is_constant ParseExpr); use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel ContainsDeferred); use Parse::Pidl::Samba4 qw(DeclLong); use vars qw($VERSION); $VERSION = '0.01'; -my $res; -my $res_hdr; +our $res; +our $res_hdr; my $tabs = ; sub indent() { $tabs.=\t; } sub deindent() { $tabs = substr($tabs, 1); } @@ -25,13 +29,26 @@ sub pidl_hdr($) { $res_hdr .= (shift).\n; } sub fn_declare($) { my ($n) = @_; pidl $n; pidl_hdr $n;; } +sub GenerateFunctionInEnv($) +{ + my $fn = shift; + my %env; + + foreach my $e (@{$fn-{ELEMENTS}}) { + if (grep (/in/, @{$e-{DIRECTION}})) { + $env{$e-{NAME}} = r.in.$e-{NAME}; + } + } + + return \%env; +} + sub ParseFunction($$) { - my ($if,$fn) = @_; + my ($uif, $fn) = @_; my $inargs = ; my $defargs = ; - my $uif = uc($if-{NAME}); my $ufn = DCERPC_.uc($fn-{NAME}); foreach (@{$fn-{ELEMENTS}}) { @@ -58,7 +75,7 @@ pidl status = cli_do_rpc_ndr(cli, mem_ctx, PI_$uif, $ufn, r, (ndr_pull_flags_fn_t)ndr_pull_$fn-{NAME}, (ndr_push_flags_fn_t)ndr_push_$fn-{NAME});; pidl ; - pidl if ( !NT_STATUS_IS_OK(status) ) {; + pidl if (!NT_STATUS_IS_OK(status)) {; indent; pidl return status;; deindent; @@ -78,16 +95,29 @@ fatal($e, [out] argument is not a pointer or array) if ($e-{LEVELS}[0]-{TYPE} ne POINTER and $e-{LEVELS}[0]-{TYPE} ne ARRAY); - if ( ($e-{LEVELS}[0]-{TYPE} eq POINTER) ($e-{LEVELS}[0]-{POINTER_TYPE} eq unique) ) { + if ( ($e-{LEVELS}[0]-{TYPE} eq POINTER) and +($e-{LEVELS}[0]-{POINTER_TYPE} ne ref) ) { pidl if ( $e-{NAME} ) {; indent; + } + + if
svn commit: samba r21339 - in branches: SAMBA_3_0/source/modules SAMBA_3_0_25/source/modules
Author: jmcd Date: 2007-02-14 14:25:56 + (Wed, 14 Feb 2007) New Revision: 21339 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21339 Log: Fix the non-linux build. This is more evidence that this needs to be moved up one layer. Modified: branches/SAMBA_3_0/source/modules/vfs_default.c branches/SAMBA_3_0_25/source/modules/vfs_default.c Changeset: Modified: branches/SAMBA_3_0/source/modules/vfs_default.c === --- branches/SAMBA_3_0/source/modules/vfs_default.c 2007-02-14 14:23:59 UTC (rev 21338) +++ branches/SAMBA_3_0/source/modules/vfs_default.c 2007-02-14 14:25:56 UTC (rev 21339) @@ -790,12 +790,14 @@ START_PROFILE(syscall_linux_setlease); +#ifdef LINUX /* first set the signal handler */ if(linux_set_lease_sighandler(fd) == -1) return -1; result = linux_setlease(fd, leasetype); +#endif END_PROFILE(syscall_linux_setlease); return result; } Modified: branches/SAMBA_3_0_25/source/modules/vfs_default.c === --- branches/SAMBA_3_0_25/source/modules/vfs_default.c 2007-02-14 14:23:59 UTC (rev 21338) +++ branches/SAMBA_3_0_25/source/modules/vfs_default.c 2007-02-14 14:25:56 UTC (rev 21339) @@ -790,12 +790,14 @@ START_PROFILE(syscall_linux_setlease); +#ifdef LINUX /* first set the signal handler */ if(linux_set_lease_sighandler(fd) == -1) return -1; result = linux_setlease(fd, leasetype); +#endif END_PROFILE(syscall_linux_setlease); return result; }
svn commit: samba r21340 - in branches/SAMBA_4_0: . source/pidl/lib/Parse/Pidl/Wireshark
Author: jelmer Date: 2007-02-14 14:42:42 + (Wed, 14 Feb 2007) New Revision: 21340 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21340 Log: Fix warning undef Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm 2007-02-14 14:25:56 UTC (rev 21339) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm 2007-02-14 14:42:42 UTC (rev 21340) @@ -17,7 +17,7 @@ package Parse::Pidl::Wireshark::NDR; use strict; -use Parse::Pidl qw(error); +use Parse::Pidl qw(error warning); use Parse::Pidl::Typelist qw(getType); use Parse::Pidl::Util qw(has_property property_matches make_str); use Parse::Pidl::NDR qw(ContainsString GetNextLevel);
svn commit: samba r21341 - in branches/SAMBA_4_0: . source/librpc/idl
Author: jelmer Date: 2007-02-14 15:18:37 + (Wed, 14 Feb 2007) New Revision: 21341 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21341 Log: Improve QueryKeyInfo idl, pointed out by Ronnie Sahlberg. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/librpc/idl/winreg.idl Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl === --- branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 14:42:42 UTC (rev 21340) +++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 15:18:37 UTC (rev 21341) @@ -209,8 +209,7 @@ /* Function: 0x10 */ WERROR winreg_QueryInfoKey( [in,ref] policy_handle *handle, - [in] winreg_String class_in, - [out,unique] winreg_String *class_out, + [in,out,ref] winreg_String *class, [out,ref] uint32 *num_subkeys, [out,ref] uint32 *max_subkeylen, [out,ref] uint32 *max_subkeysize,
svn commit: samba r21342 - in branches/SAMBA_4_0/source/librpc/idl: .
Author: metze Date: 2007-02-14 15:21:41 + (Wed, 14 Feb 2007) New Revision: 21342 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21342 Log: add parsing code for the trustAuthIncoming/trustAuthOutgoing attributes not everything has a meaning yet, but it's a start and we know how to get to the password in cleartext metze Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl === --- branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 15:18:37 UTC (rev 21341) +++ branches/SAMBA_4_0/source/librpc/idl/drsblobs.idl 2007-02-14 15:21:41 UTC (rev 21342) @@ -254,7 +254,73 @@ [in] supplementalCredentialsBlob blob ); + + typedef struct { + NTTIME time1; + uint32 unknown1; + /* +* the secret value is encoded as UTF16 if it's a string +* but krb5 trusts have random bytes here, so converting to UTF16 +* mayfail... +* +* TODO: We should try handle the case of a random buffer in all places +* we deal with cleartext passwords from windows +* +* so we don't use this: +* +* uint32 value_len; +* [charset(UTF16)] uint8 value[value_len]; +*/ + DATA_BLOB value; + [flag(NDR_ALIGN4)] DATA_BLOB _pad; + } trustAuthInOutSecret1; + + typedef struct { + [relative] trustAuthInOutSecret1 *value1; + [relative] trustAuthInOutSecret1 *value2; + } trustAuthInOutCtr1; + + typedef struct { + NTTIME time1; + uint32 unknown1; + DATA_BLOB value; + NTTIME time2; + uint32 unknown2; + uint32 unknown3; + uint32 unknown4; + [flag(NDR_ALIGN4)] DATA_BLOB _pad; + } trustAuthInOutSecret2V1; + + typedef struct { + NTTIME time1; + uint32 unknown1; + DATA_BLOB value; + NTTIME time2; + uint32 unknown2; + uint32 unknown3; + [flag(NDR_ALIGN4)] DATA_BLOB _pad; + } trustAuthInOutSecret2V2; + + typedef struct { + [relative] trustAuthInOutSecret2V1 *value1; + [relative] trustAuthInOutSecret2V2 *value2; + } trustAuthInOutCtr2; + + typedef [nodiscriminant] union { + [case(1)] trustAuthInOutCtr1 ctr1; + [case(2)] trustAuthInOutCtr2 ctr2; + } trustAuthInOutCtr; + typedef [public] struct { + uint32 version; + [switch_is(version)] trustAuthInOutCtr ctr; + } trustAuthInOutBlob; + + void decode_trustAuthInOut( + [in] trustAuthInOutBlob blob + ); + + typedef [public] struct { uint32 marker; DATA_BLOB data; } DsCompressedChunk;
svn commit: samba r21343 - in branches/SAMBA_4_0: . source/librpc/idl
Author: jelmer Date: 2007-02-14 15:23:12 + (Wed, 14 Feb 2007) New Revision: 21343 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21343 Log: Add access masks, pointed out by Ronnie Sahlberg. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/librpc/idl/winreg.idl Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl === --- branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 15:21:41 UTC (rev 21342) +++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 15:23:12 UTC (rev 21343) @@ -16,6 +16,14 @@ declare bitmap security_secinfo; typedef [bitmap32bit] bitmap { + KEY_QUERY_VALUE = 0x1, + KEY_SET_VALUE = 0x2, + KEY_CREATE_SUB_KEY = 0x4, + KEY_ENUMERATE_SUB_KEYS = 0x8, + KEY_NOTIFY = 0x00010, + KEY_CREATE_LINK = 0x00020, + KEY_WOW64_64KEY = 0x00100, + KEY_WOW64_32KEY = 0x00200 } winreg_AccessMask; typedef [v1_enum] enum {
svn commit: samba r21344 - in branches/SAMBA_4_0/services/samba: .
Author: derrell Date: 2007-02-14 16:08:59 + (Wed, 14 Feb 2007) New Revision: 21344 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21344 Log: ensure that the full range of error values is available to applications. parameter errors are really server errors. Modified: branches/SAMBA_4_0/services/samba/ldb.esp Changeset: Modified: branches/SAMBA_4_0/services/samba/ldb.esp === --- branches/SAMBA_4_0/services/samba/ldb.esp 2007-02-14 15:23:12 UTC (rev 21343) +++ branches/SAMBA_4_0/services/samba/ldb.esp 2007-02-14 16:08:59 UTC (rev 21344) @@ -285,6 +285,7 @@ { if (params.length 2 || params.length 5) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: + resource_id expr [baseDN [scope [attrs]]]); @@ -327,6 +328,7 @@ } else { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, invalid scope: + scope); return error; @@ -357,6 +359,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id ldif); return error; @@ -393,6 +396,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id ldif); return error; @@ -429,6 +433,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id dn); return error; @@ -468,6 +473,7 @@ { if (params.length != 3) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id old_dn new_dn); return error; @@ -504,6 +510,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id string_to_be_encoded); return error; @@ -540,6 +547,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id string_to_be_decoded); return error; @@ -576,6 +584,7 @@ { if (params.length != 2) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id string_to_be_decoded); return error; @@ -608,6 +617,7 @@ { if (params.length != 1) { +error.setOrigin(jsonrpc.Constant.ErrorOrigin.Server); error.setError(jsonrpc.Constant.ServerError.ParameterMismatch, usage: resource_id); return error;
svn commit: samba r21345 - in branches: SAMBA_3_0/examples/misc SAMBA_3_0_25/examples/misc
Author: gd Date: 2007-02-14 16:20:38 + (Wed, 14 Feb 2007) New Revision: 21345 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21345 Log: Smaller fixes for adssearch: * get rid of horrible ads.h parsing * add LDAP_SERVER_SHUTDOWN_NOTIFY_OID * display hex bitmasks Guenther Modified: branches/SAMBA_3_0/examples/misc/adssearch.pl branches/SAMBA_3_0_25/examples/misc/adssearch.pl Changeset: Modified: branches/SAMBA_3_0/examples/misc/adssearch.pl === --- branches/SAMBA_3_0/examples/misc/adssearch.pl 2007-02-14 16:08:59 UTC (rev 21344) +++ branches/SAMBA_3_0/examples/misc/adssearch.pl 2007-02-14 16:20:38 UTC (rev 21345) @@ -3,11 +3,10 @@ # adssearch.pl - query an Active Directory server and #display objects in a human readable format # -# Copyright (C) Guenther Deschner [EMAIL PROTECTED] 2003-2005 +# Copyright (C) Guenther Deschner [EMAIL PROTECTED] 2003-2007 # # TODO: add range retrieval # write sddl-converter, decode userParameters -# chase referrals # apparently only win2k3 allows simple-binds with machine-accounts. # make sasl support independent from Authen::SASL::Cyrus v 0.11 use strict; @@ -50,7 +49,6 @@ my $secrets_tdb = /etc/samba/secrets.tdb; my $klist = /usr/bin/klist; my $kinit = /usr/bin/kinit; -my $ads_h = /home/gd/ads.h; my $workgroup = ; my $machine= ; my $realm = ; @@ -148,7 +146,6 @@ my ($mesg, $usn); my (%entry_store); my $async_search; -my (%ads_atype, %ads_gtype, %ads_grouptype, %ads_uf); # fixed values and vars my $set= X; @@ -181,6 +178,7 @@ LDAP_SERVER_ASQ_OID = 1.2.840.113556.1.4.1504, NONE (Get stats control) = 1.2.840.113556.1.4.970, LDAP_SERVER_QUOTA_CONTROL_OID= 1.2.840.113556.1.4.1852, +LDAP_SERVER_SHUTDOWN_NOTIFY_OID = 1.2.840.113556.1.4.1907, ); my %ads_capabilities = ( @@ -347,6 +345,74 @@ mist = 61718096-3D3F-4398-8318-203A48976F9E, ); +my %ads_uf = ( + UF_SCRIPT = 0x0001, + UF_ACCOUNTDISABLE = 0x0002, +# UF_UNUSED_1 = 0x0004, + UF_HOMEDIR_REQUIRED = 0x0008, + UF_LOCKOUT= 0x0010, + UF_PASSWD_NOTREQD = 0x0020, + UF_PASSWD_CANT_CHANGE = 0x0040, + UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED= 0x0080, + UF_TEMP_DUPLICATE_ACCOUNT = 0x0100, + UF_NORMAL_ACCOUNT = 0x0200, +# UF_UNUSED_2 = 0x0400, + UF_INTERDOMAIN_TRUST_ACCOUNT = 0x0800, + UF_WORKSTATION_TRUST_ACCOUNT = 0x1000, + UF_SERVER_TRUST_ACCOUNT = 0x2000, +# UF_UNUSED_3 = 0x4000, +# UF_UNUSED_4 = 0x8000, + UF_DONT_EXPIRE_PASSWD = 0x0001, + UF_MNS_LOGON_ACCOUNT = 0x0002, + UF_SMARTCARD_REQUIRED = 0x0004, + UF_TRUSTED_FOR_DELEGATION = 0x0008, + UF_NOT_DELEGATED = 0x0010, + UF_USE_DES_KEY_ONLY = 0x0020, + UF_DONT_REQUIRE_PREAUTH = 0x0040, + UF_PASSWORD_EXPIRED = 0x0080, + UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = 0x0100, + UF_NO_AUTH_DATA_REQUIRED = 0x0200, +# UF_UNUSED_8 = 0x0400, +# UF_UNUSED_9 = 0x0800, +# UF_UNUSED_10 = 0x1000, +# UF_UNUSED_11 = 0x2000, +# UF_UNUSED_12 = 0x4000, +# UF_UNUSED_13 = 0x8000, +); + +my %ads_grouptype = ( + GROUP_TYPE_BUILTIN_LOCAL_GROUP= 0x0001, + GROUP_TYPE_ACCOUNT_GROUP = 0x0002, + GROUP_TYPE_RESOURCE_GROUP = 0x0004, + GROUP_TYPE_UNIVERSAL_GROUP= 0x0008, + GROUP_TYPE_APP_BASIC_GROUP= 0x0010, + GROUP_TYPE_APP_QUERY_GROUP= 0x0020, + GROUP_TYPE_SECURITY_ENABLED = 0x8000, +); + +my %ads_atype = ( + ATYPE_NORMAL_ACCOUNT = 0x3000, + ATYPE_WORKSTATION_TRUST = 0x3001, + ATYPE_INTERDOMAIN_TRUST = 0x3002, + ATYPE_SECURITY_GLOBAL_GROUP = 0x1000, + ATYPE_DISTRIBUTION_GLOBAL_GROUP = 0x1001, + ATYPE_DISTRIBUTION_UNIVERSAL_GROUP= 0x1001, # ATYPE_DISTRIBUTION_GLOBAL_GROUP + ATYPE_SECURITY_LOCAL_GROUP= 0x2000, +
svn commit: samba r21346 - in branches: SAMBA_3_0/source/rpc_parse SAMBA_3_0_25/source/rpc_parse
Author: jra Date: 2007-02-14 17:17:32 + (Wed, 14 Feb 2007) New Revision: 21346 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21346 Log: FIXME ! Our parsing here is wrong I think, but for a level3 it makes no sense for ptr_sec_desc to be NULL. JRA. Based on a Vista sniff from Martin Zielinski [EMAIL PROTECTED]. Jerry - part of the Vista patchset. Jeremy. Modified: branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c branches/SAMBA_3_0_25/source/rpc_parse/parse_spoolss.c Changeset: Modified: branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c === --- branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c 2007-02-14 16:20:38 UTC (rev 21345) +++ branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c 2007-02-14 17:17:32 UTC (rev 21346) @@ -3913,7 +3913,16 @@ } case 3: { - ptr_sec_desc = q_u-info.info_3-secdesc_ptr; + /* FIXME ! Our parsing here is wrong I think, +* but for a level3 it makes no sense for +* ptr_sec_desc to be NULL. JRA. Based on +* a Vista sniff from Martin Zielinski [EMAIL PROTECTED]. +*/ + if (UNMARSHALLING(ps)) { + ptr_sec_desc = 1; + } else { + ptr_sec_desc = q_u-info.info_3-secdesc_ptr; + } break; } } Modified: branches/SAMBA_3_0_25/source/rpc_parse/parse_spoolss.c === --- branches/SAMBA_3_0_25/source/rpc_parse/parse_spoolss.c 2007-02-14 16:20:38 UTC (rev 21345) +++ branches/SAMBA_3_0_25/source/rpc_parse/parse_spoolss.c 2007-02-14 17:17:32 UTC (rev 21346) @@ -3917,7 +3917,16 @@ } case 3: { - ptr_sec_desc = q_u-info.info_3-secdesc_ptr; + /* FIXME ! Our parsing here is wrong I think, +* but for a level3 it makes no sense for +* ptr_sec_desc to be NULL. JRA. Based on +* a Vista sniff from Martin Zielinski [EMAIL PROTECTED]. +*/ + if (UNMARSHALLING(ps)) { + ptr_sec_desc = 1; + } else { + ptr_sec_desc = q_u-info.info_3-secdesc_ptr; + } break; } }
Rev 66: ib: a trivial approach of integration in http://samba.org/~tridge/psomogyi/
revno: 66 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Peter Somogyi [EMAIL PROTECTED] branch nick: ctdb timestamp: Wed 2007-02-14 18:58:20 +0100 message: ib: a trivial approach of integration TODO: bugfix (not yet complete, something happens differently than expected at tcpip when connection is refused in the beginning) modified: common/ctdb.c ctdb.c-20061127094323-t50f58d65iaao5of-2 ib/ibw_ctdb.c ibw_ctdb.c-20070102171255-7krov7858dqza466-1 ib/ibw_ctdb_init.c ibw_ctdb_init.c-20070102171305-cn2z4k7ibx8141d5-1 ib/ibwrapper.c ibwrapper.c-20061204130028-0125b4f5a72f4b11 ib/ibwrapper_test.c ibwrapper_test.c-20061214171730-h11a2z5ed6pt66hj-1 === modified file 'common/ctdb.c' --- a/common/ctdb.c 2007-02-09 01:45:58 + +++ b/common/ctdb.c 2007-02-14 17:58:20 + @@ -32,10 +32,19 @@ int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport) { int ctdb_tcp_init(struct ctdb_context *ctdb); +#ifdef USE_INFINIBAND + int ctdb_ibw_init(struct ctdb_context *ctdb); +#endif /* USE_INFINIBAND */ if (strcmp(transport, tcp) == 0) { return ctdb_tcp_init(ctdb); } +#ifdef USE_INFINIBAND + if (strcmp(transport, ib) == 0) { + return ctdb_ibw_init(ctdb); + } +#endif /* USE_INFINIBAND */ + ctdb_set_error(ctdb, Unknown transport '%s'\n, transport); return -1; } === modified file 'ib/ibw_ctdb.c' --- a/ib/ibw_ctdb.c 2007-01-02 17:16:39 + +++ b/ib/ibw_ctdb.c 2007-02-14 17:58:20 + @@ -63,19 +63,24 @@ break; case IBWC_CONNECTED: { /* after ibw_accept or ibw_connect */ struct ctdb_node *node = talloc_get_type(conn-conn_userdata, struct ctdb_node); - if (node!=NULL) /* after ibw_connect */ + if (node!=NULL) { /* after ibw_connect */ + node-private = (void *)conn; node-ctdb-upcalls-node_connected(node); - else { /* after ibw_accept */ + } else { /* after ibw_accept */ /* NOP in CTDB case */ } } break; - case IBWC_DISCONNECTED: /* after ibw_disconnect */ + case IBWC_DISCONNECTED: { /* after ibw_disconnect */ /* TODO: have a CTDB upcall */ - break; + struct ctdb_node *node = talloc_get_type(conn-conn_userdata, struct ctdb_node); + if (node!=NULL) + node-ctdb-upcalls-node_dead(node); + talloc_free(conn); + } break; case IBWC_ERROR: { - struct ctdb_node *node = talloc_get_type(conn-conn_userdata, struct ctdb_node); +/* struct ctdb_node *node = talloc_get_type(conn-conn_userdata, struct ctdb_node); if (node!=NULL) - node-ctdb-upcalls-node_connected(node); + node-ctdb-upcalls-node_dead(node);*/ } break; default: assert(0); === modified file 'ib/ibw_ctdb_init.c' --- a/ib/ibw_ctdb_init.c2007-01-25 13:22:03 + +++ b/ib/ibw_ctdb_init.c2007-02-14 17:58:20 + @@ -29,9 +29,6 @@ #include ibwrapper.h #include ibw_ctdb.h -/* not nice; temporary workaround for the current implementation... */ -static void *last_key = NULL; - static int ctdb_ibw_listen(struct ctdb_context *ctdb, int backlog) { struct ibw_ctx *ictx = talloc_get_type(ctdb-private, struct ibw_ctx); @@ -60,6 +57,7 @@ { struct sockaddr_in sock_out; + memset(sock_out, 0, sizeof(struct sockaddr_in)); inet_pton(AF_INET, node-address.address, sock_out.sin_addr); sock_out.sin_port = htons(node-address.port); sock_out.sin_family = PF_INET; @@ -112,37 +110,36 @@ { struct ibw_conn *conn = talloc_get_type(node-private, struct ibw_conn); int rc; - - rc = ibw_send(conn, data, last_key, length); - last_key = NULL; + void*buf, *key; + + assert(length=sizeof(uint32_t)); + + if (conn==NULL) { + DEBUG(0, (ctdb_ibw_queue_pkt: conn is NULL\n)); + return -1; + } + + if (ibw_alloc_send_buf(conn, buf, key, length)) { + DEBUG(0, (queue_pkt/ibw_alloc_send_buf failed\n)); + return -1; + } + + memcpy(buf, data, length); + rc = ibw_send(conn, buf, key, length); return rc; } +/* + * transport packet allocator - allows transport to control memory for packets + */ +static void *ctdb_ibw_allocate_pkt(struct ctdb_context *ctdb,
svn commit: samba r21347 - in branches/SAMBA_4_0: . source/librpc/idl source/torture source/torture/ndr
Author: jelmer Date: 2007-02-14 19:30:05 + (Wed, 14 Feb 2007) New Revision: 21347 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21347 Log: All current tests in the testsuite mainly test the RPC code in general. Since we're running the testsuite mainly against ourselves, we only check that the push/pull functions work in our own environment, not whether they generate/parse the same data that other systems do. This commit adds the infrastructure for a testsuite for just the marshalling code. The idea is that you provide a data blob, a function name and a function to check the resulting struct for correctness. Added: branches/SAMBA_4_0/source/torture/ndr/ branches/SAMBA_4_0/source/torture/ndr/ndr.c branches/SAMBA_4_0/source/torture/ndr/ndr.h branches/SAMBA_4_0/source/torture/ndr/winreg.c Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/librpc/idl/winreg.idl branches/SAMBA_4_0/source/torture/config.mk Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl === --- branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 17:17:32 UTC (rev 21346) +++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 19:30:05 UTC (rev 21347) @@ -89,7 +89,7 @@ /**/ /* Function: 0x05 */ - WERROR winreg_CloseKey( + [public] WERROR winreg_CloseKey( [in,out,ref] policy_handle *handle ); Modified: branches/SAMBA_4_0/source/torture/config.mk === --- branches/SAMBA_4_0/source/torture/config.mk 2007-02-14 17:17:32 UTC (rev 21346) +++ branches/SAMBA_4_0/source/torture/config.mk 2007-02-14 19:30:05 UTC (rev 21347) @@ -96,6 +96,13 @@ include smb2/config.mk +[MODULE::torture_ndr] +SUBSYSTEM = torture +INIT_FUNCTION = torture_ndr_init +PRIVATE_PROTO_HEADER = ndr/proto.h +OBJ_FILES = ndr/ndr.o \ + ndr/winreg.o + [MODULE::torture_rpc] # TORTURE_NET and TORTURE_NBT use functions from torture_rpc... #OUTPUT_TYPE = INTEGRATED Added: branches/SAMBA_4_0/source/torture/ndr/ndr.c === --- branches/SAMBA_4_0/source/torture/ndr/ndr.c 2007-02-14 17:17:32 UTC (rev 21346) +++ branches/SAMBA_4_0/source/torture/ndr/ndr.c 2007-02-14 19:30:05 UTC (rev 21347) @@ -0,0 +1,94 @@ +/* + Unix SMB/CIFS implementation. + test suite for winreg ndr operations + + Copyright (C) Jelmer Vernooij 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License
svn commit: samba r21348 - in branches/SAMBA_4_0/source/librpc/idl: .
Author: idra Date: 2007-02-14 19:59:30 + (Wed, 14 Feb 2007) New Revision: 21348 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21348 Log: Fix the build. Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl === --- branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 19:30:05 UTC (rev 21347) +++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 19:59:30 UTC (rev 21348) @@ -217,7 +217,7 @@ /* Function: 0x10 */ WERROR winreg_QueryInfoKey( [in,ref] policy_handle *handle, - [in,out,ref] winreg_String *class, + [in,out,ref] winreg_String *class_in, [out,ref] uint32 *num_subkeys, [out,ref] uint32 *max_subkeylen, [out,ref] uint32 *max_subkeysize,
svn commit: samba r21349 - in branches: SAMBA_3_0/source/libads SAMBA_3_0_25/source/libads
Author: gd Date: 2007-02-14 20:52:23 + (Wed, 14 Feb 2007) New Revision: 21349 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21349 Log: Fix memleak in ads_upn_suffixes(). Guenther Modified: branches/SAMBA_3_0/source/libads/ldap.c branches/SAMBA_3_0_25/source/libads/ldap.c Changeset: Modified: branches/SAMBA_3_0/source/libads/ldap.c === --- branches/SAMBA_3_0/source/libads/ldap.c 2007-02-14 19:59:30 UTC (rev 21348) +++ branches/SAMBA_3_0/source/libads/ldap.c 2007-02-14 20:52:23 UTC (rev 21349) @@ -2638,9 +2638,12 @@ config_context = ads_pull_string(ads, mem_ctx, res, configurationNamingContext); if (config_context == NULL) { + ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); } + ads_msgfree(ads, res); + base = talloc_asprintf(mem_ctx, cn=Partitions,%s, config_context); if (base == NULL) { return ADS_ERROR(LDAP_NO_MEMORY); Modified: branches/SAMBA_3_0_25/source/libads/ldap.c === --- branches/SAMBA_3_0_25/source/libads/ldap.c 2007-02-14 19:59:30 UTC (rev 21348) +++ branches/SAMBA_3_0_25/source/libads/ldap.c 2007-02-14 20:52:23 UTC (rev 21349) @@ -2638,9 +2638,12 @@ config_context = ads_pull_string(ads, mem_ctx, res, configurationNamingContext); if (config_context == NULL) { + ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); } + ads_msgfree(ads, res); + base = talloc_asprintf(mem_ctx, cn=Partitions,%s, config_context); if (base == NULL) { return ADS_ERROR(LDAP_NO_MEMORY);
svn commit: samba r21350 - in branches/SAMBA_4_0: . source/librpc/idl source/torture/ndr
Author: jelmer Date: 2007-02-14 21:37:06 + (Wed, 14 Feb 2007) New Revision: 21350 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21350 Log: Add more tests for the NDR layer of winreg. I actually discovered a pidl bug, so there are still two tests commented out. Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/librpc/idl/winreg.idl branches/SAMBA_4_0/source/torture/ndr/winreg.c Changeset: Property changes on: branches/SAMBA_4_0 ___ Name: bzr:merge - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] + [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl === --- branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 20:52:23 UTC (rev 21349) +++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl 2007-02-14 21:37:06 UTC (rev 21350) @@ -65,7 +65,7 @@ /**/ /* Function: 0x02 */ - WERROR winreg_OpenHKLM( + [public] WERROR winreg_OpenHKLM( [in] uint16 *system_name, [in] winreg_AccessMask access_mask, [out,ref] policy_handle *handle @@ -114,7 +114,7 @@ REG_OPENED_EXISTING_KEY = 2 } winreg_CreateAction; - WERROR winreg_CreateKey( + [public] WERROR winreg_CreateKey( [in,ref] policy_handle *handle, [in] winreg_String name, [in] winreg_String keyclass, @@ -159,7 +159,7 @@ /**/ /* Function: 0x0a */ - WERROR winreg_EnumValue( + [public] WERROR winreg_EnumValue( [in,ref]policy_handle *handle, [in]uint32 enum_index, [in,out,ref]winreg_StringBuf *name, @@ -230,7 +230,7 @@ /**/ /* Function: 0x11 */ - WERROR winreg_QueryValue( + [public] WERROR winreg_QueryValue( [in,ref] policy_handle *handle, [in] winreg_String value_name, [in,out] winreg_Type *type, @@ -325,7 +325,7 @@ /**/ /* Function: 0x1d */ - WERROR winreg_QueryMultipleValues( + [public] WERROR winreg_QueryMultipleValues( [in,ref] policy_handle *key_handle, [in,out,ref,size_is(num_values),length_is(num_values)] QueryMultipleValue *values, [in] uint32 num_values, Modified: branches/SAMBA_4_0/source/torture/ndr/winreg.c === --- branches/SAMBA_4_0/source/torture/ndr/winreg.c 2007-02-14 20:52:23 UTC (rev 21349) +++ branches/SAMBA_4_0/source/torture/ndr/winreg.c 2007-02-14 21:37:06 UTC (rev 21350) @@ -25,12 +25,12 @@ #include librpc/gen_ndr/ndr_security.h #include libcli/security/security.h -static const uint8_t winreg_closekey_data[] = { +static const uint8_t closekey_in_data[] = { 0x00, 0x00, 0x00, 0x00, 0x1d, 0xd8, 0xd7, 0xaa, 0x8d, 0x6c, 0x3f, 0x48, 0xa7, 0x1e, 0x02, 0x6a, 0x47, 0xf6, 0x7b, 0xae }; -static bool
svn commit: samba r21351 - in branches/SAMBA_4_0: source/scripting/ejs source/scripting/libjs source/setup testprogs/ejs
Author: idra Date: 2007-02-14 21:55:29 + (Wed, 14 Feb 2007) New Revision: 21351 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21351 Log: Change ldb ejs bindings return codes. We were returning just true/false and discarding error number and string. This checking probably breaks swat, will fix it in next round as swat is what made me look into this as I had no way to get back error messages to show to the users. Simo. Modified: branches/SAMBA_4_0/source/scripting/ejs/mprutil.c branches/SAMBA_4_0/source/scripting/ejs/smbcalls.h branches/SAMBA_4_0/source/scripting/ejs/smbcalls_ldb.c branches/SAMBA_4_0/source/scripting/libjs/provision.js branches/SAMBA_4_0/source/setup/setpassword branches/SAMBA_4_0/testprogs/ejs/ldap.js branches/SAMBA_4_0/testprogs/ejs/ldb.js branches/SAMBA_4_0/testprogs/ejs/minschema.js branches/SAMBA_4_0/testprogs/ejs/samba3sam.js Changeset: Sorry, the patch is too large (3061 lines) to include; please use WebSVN to see it! WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21351
Rev 11460: Improve QueryKeyInfo idl, pointed out by Ronnie Sahlberg. in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11460 revision-id: [EMAIL PROTECTED] parent: svn-v2:[EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 15:52:13 +0100 message: Improve QueryKeyInfo idl, pointed out by Ronnie Sahlberg. modified: source/librpc/idl/winreg.idl svn-v2:[EMAIL PROTECTED] === modified file 'source/librpc/idl/winreg.idl' --- a/source/librpc/idl/winreg.idl 2006-11-22 18:06:08 + +++ b/source/librpc/idl/winreg.idl 2007-02-14 14:52:13 + @@ -209,8 +209,7 @@ /* Function: 0x10 */ WERROR winreg_QueryInfoKey( [in,ref] policy_handle *handle, - [in] winreg_String class_in, - [out,unique] winreg_String *class_out, + [in,out,ref] winreg_String *class, [out,ref] uint32 *num_subkeys, [out,ref] uint32 *max_subkeylen, [out,ref] uint32 *max_subkeysize,
Rev 11459: Fix wireshark generator. in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11459 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 15:27:58 +0100 message: Fix wireshark generator. modified: source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm svn-v2:[EMAIL PROTECTED] === modified file 'source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm' --- a/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm 2007-02-08 23:54:31 + +++ b/source/pidl/lib/Parse/Pidl/Wireshark/NDR.pm 2007-02-14 14:27:58 + @@ -17,7 +17,7 @@ package Parse::Pidl::Wireshark::NDR; use strict; -use Parse::Pidl qw(error); +use Parse::Pidl qw(error warning); use Parse::Pidl::Typelist qw(getType); use Parse::Pidl::Util qw(has_property property_matches make_str); use Parse::Pidl::NDR qw(ContainsString GetNextLevel); @@ -823,7 +823,7 @@ header_fields= {} }; - ReadConformance($cnf_file, $conformance) or print STDERR warning: No conformance file `$cnf_file'\n; + ReadConformance($cnf_file, $conformance) or warning(undef, No conformance file `$cnf_file'); foreach my $bytes (qw(1 2 4 8)) { my $bits = $bytes * 8;
Rev 11461: Add access masks, pointed out by Ronnie Sahlberg. in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11461 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 16:08:05 +0100 message: Add access masks, pointed out by Ronnie Sahlberg. modified: source/librpc/idl/winreg.idl svn-v2:[EMAIL PROTECTED] === modified file 'source/librpc/idl/winreg.idl' --- a/source/librpc/idl/winreg.idl 2007-02-14 14:52:13 + +++ b/source/librpc/idl/winreg.idl 2007-02-14 15:08:05 + @@ -16,6 +16,14 @@ declare bitmap security_secinfo; typedef [bitmap32bit] bitmap { + KEY_QUERY_VALUE = 0x1, + KEY_SET_VALUE = 0x2, + KEY_CREATE_SUB_KEY = 0x4, + KEY_ENUMERATE_SUB_KEYS = 0x8, + KEY_NOTIFY = 0x00010, + KEY_CREATE_LINK = 0x00020, + KEY_WOW64_64KEY = 0x00100, + KEY_WOW64_32KEY = 0x00200 } winreg_AccessMask; typedef [v1_enum] enum {
Rev 11464: All current tests in the testsuite mainly test the RPC code in general. Since in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11464 revision-id: [EMAIL PROTECTED] parent: svn-v2:[EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 20:21:35 +0100 message: All current tests in the testsuite mainly test the RPC code in general. Since we're running the testsuite mainly against ourselves, we only check that the push/pull functions work in our own environment, not whether they generate/parse the same data that other systems do. This commit adds the infrastructure for a testsuite for just the marshalling code. The idea is that you provide a data blob, a function name and a function to check the resulting struct for correctness. added: source/torture/ndr/ndr-20070214151959-6fcxkg8engbdslq1-1 source/torture/ndr/ndr.c ndr.c-20070214151959-6fcxkg8engbdslq1-2 source/torture/ndr/ndr.h ndr.h-20070214174426-tvlh5u3t4p53qgy2-1 source/torture/ndr/winreg.cwinreg.c-20070214152005-e9bbh48bza3e9x3h-1 modified: source/librpc/idl/winreg.idl svn-v2:[EMAIL PROTECTED] source/torture/config.mk svn-v2:[EMAIL PROTECTED] === added directory 'source/torture/ndr' === added file 'source/torture/ndr/ndr.c' --- a/source/torture/ndr/ndr.c 1970-01-01 00:00:00 + +++ b/source/torture/ndr/ndr.c 2007-02-14 19:21:35 + @@ -0,0 +1,94 @@ +/* + Unix SMB/CIFS implementation. + test suite for winreg ndr operations + + Copyright (C) Jelmer Vernooij 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include includes.h +#include torture/ndr/ndr.h +#include torture/ndr/proto.h +#include util/dlinklist.h + +struct ndr_pull_test_data { + DATA_BLOB data; + size_t struct_size; + ndr_pull_flags_fn_t pull_fn; + int ndr_flags; +}; + +static bool wrap_ndr_pull_test(struct torture_context *tctx, + struct torture_tcase *tcase, + struct torture_test *test) +{ + bool (*check_fn) (struct torture_context *ctx, void *data) = test-fn; + const struct ndr_pull_test_data *data = test-data; + void *ds = talloc_zero_size(tctx, data-struct_size); + struct ndr_pull *ndr = ndr_pull_init_blob((data-data), tctx); + + ndr-flags |= LIBNDR_FLAG_REF_ALLOC; + + torture_assert_ntstatus_ok(tctx, data-pull_fn(ndr, data-ndr_flags, ds), + pulling); + + return check_fn(tctx, ds); +} + +_PUBLIC_ struct torture_test *_torture_suite_add_ndr_pull_test( + struct torture_suite *suite, + const char *name, ndr_pull_flags_fn_t pull_fn, + DATA_BLOB db, + size_t struct_size, + int ndr_flags, + bool (*check_fn) (struct torture_context *ctx, void *data)) +{ + struct torture_test *test; + struct torture_tcase *tcase; + struct ndr_pull_test_data *data; + + tcase = torture_suite_add_tcase(suite, name); + + test = talloc(tcase, struct torture_test); + + test-name = talloc_strdup(test, name); + test-description = NULL; + test-run = wrap_ndr_pull_test; + data = talloc(test, struct ndr_pull_test_data); + data-data = db; + data-ndr_flags = ndr_flags; + data-struct_size = struct_size; + data-pull_fn = pull_fn; + test-data = data; + test-fn = check_fn; + test-dangerous = false; + + DLIST_ADD_END(tcase-tests, test, struct torture_test *); + + return test; +} + +NTSTATUS torture_ndr_init(void) +{ + struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), NDR); + + torture_suite_add_suite(suite, ndr_winreg_suite(suite)); + + torture_register_suite(suite); + + return NT_STATUS_OK; +} + === added file 'source/torture/ndr/ndr.h' --- a/source/torture/ndr/ndr.h 1970-01-01 00:00:00 + +++ b/source/torture/ndr/ndr.h 2007-02-14 19:21:35 + @@ -0,0 +1,45 @@ +/* + Unix SMB/CIFS implementation. +
Rev 11466: Add more tests for the NDR layer of winreg. I actually discovered a pidl bug, in file:///home/jelmer/bzr.samba/SAMBA_4_0/
At file:///home/jelmer/bzr.samba/SAMBA_4_0/ revno: 11466 revision-id: [EMAIL PROTECTED] parent: svn-v2:[EMAIL PROTECTED] committer: Jelmer Vernooij [EMAIL PROTECTED] branch nick: SAMBA_4_0 timestamp: Wed 2007-02-14 22:31:08 +0100 message: Add more tests for the NDR layer of winreg. I actually discovered a pidl bug, so there are still two tests commented out. modified: source/librpc/idl/winreg.idl svn-v2:[EMAIL PROTECTED] source/torture/ndr/winreg.csvn-v2:[EMAIL PROTECTED] === modified file 'source/librpc/idl/winreg.idl' --- a/source/librpc/idl/winreg.idl 2007-02-14 19:59:30 + +++ b/source/librpc/idl/winreg.idl 2007-02-14 21:31:08 + @@ -65,7 +65,7 @@ /**/ /* Function: 0x02 */ - WERROR winreg_OpenHKLM( + [public] WERROR winreg_OpenHKLM( [in] uint16 *system_name, [in] winreg_AccessMask access_mask, [out,ref] policy_handle *handle @@ -114,7 +114,7 @@ REG_OPENED_EXISTING_KEY = 2 } winreg_CreateAction; - WERROR winreg_CreateKey( + [public] WERROR winreg_CreateKey( [in,ref] policy_handle *handle, [in] winreg_String name, [in] winreg_String keyclass, @@ -159,7 +159,7 @@ /**/ /* Function: 0x0a */ - WERROR winreg_EnumValue( + [public] WERROR winreg_EnumValue( [in,ref]policy_handle *handle, [in]uint32 enum_index, [in,out,ref]winreg_StringBuf *name, @@ -230,7 +230,7 @@ /**/ /* Function: 0x11 */ - WERROR winreg_QueryValue( + [public] WERROR winreg_QueryValue( [in,ref] policy_handle *handle, [in] winreg_String value_name, [in,out] winreg_Type *type, @@ -325,7 +325,7 @@ /**/ /* Function: 0x1d */ - WERROR winreg_QueryMultipleValues( + [public] WERROR winreg_QueryMultipleValues( [in,ref] policy_handle *key_handle, [in,out,ref,size_is(num_values),length_is(num_values)] QueryMultipleValue *values, [in] uint32 num_values, === modified file 'source/torture/ndr/winreg.c' --- a/source/torture/ndr/winreg.c 2007-02-14 19:30:05 + +++ b/source/torture/ndr/winreg.c 2007-02-14 21:31:08 + @@ -25,12 +25,12 @@ #include librpc/gen_ndr/ndr_security.h #include libcli/security/security.h -static const uint8_t winreg_closekey_data[] = { +static const uint8_t closekey_in_data[] = { 0x00, 0x00, 0x00, 0x00, 0x1d, 0xd8, 0xd7, 0xaa, 0x8d, 0x6c, 0x3f, 0x48, 0xa7, 0x1e, 0x02, 0x6a, 0x47, 0xf6, 0x7b, 0xae }; -static bool winreg_closekey_check(struct torture_context *tctx, +static bool closekey_in_check(struct torture_context *tctx, struct winreg_CloseKey *ck) { torture_assert(tctx, ck-in.handle != NULL, handle invalid); @@ -38,11 +38,269 @@ return true; } +const static uint8_t closekey_out_data[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static bool closekey_out_check(struct torture_context *tctx, + struct winreg_CloseKey *ck) +{ + torture_assert_int_equal(tctx, ck-out.handle-handle_type, 0, handle type); + torture_assert_werr_ok(tctx, ck-out.result, return code); + return true; +} + +static const uint8_t OpenHKLM_In[] = { + 0x01, 0x00, 0x00, 0x00, 0xe0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 +}; + +static bool openhklm_in_check(struct torture_context *tctx, + struct winreg_OpenHKLM *r) +{ + torture_assert(tctx, r-in.system_name != NULL, system name pointer); + torture_assert_int_equal(tctx, *r-in.system_name, 34016, system name); + torture_assert_int_equal(tctx, r-in.access_mask, 0x0200, access mask); + return true; +} + +static const uint8_t openhklm_out_data[] = { + 0x00, 0x00, 0x00, 0x00, 0xb2, 0x64, 0xbc, 0xb3, 0x7f, 0x90, 0x29, 0x4a, + 0xb4, 0xb3, 0x91, 0xe7, 0xe4, 0x4a, 0x58, 0xe3, 0x00, 0x00, 0x00, 0x00 +}; + +static bool openhklm_out_check(struct torture_context *tctx, + struct winreg_OpenHKLM *r) +{ + torture_assert(tctx, r-out.handle != NULL, handle pointer); + torture_assert_int_equal(tctx, r-out.handle-handle_type, 0, handle_type); + torture_assert_werr_ok(tctx, r-out.result, return code); + return true; +} + +static const uint8_t createkey_in_data[] = { + 0x00, 0x00, 0x00, 0x00, 0xb2, 0x64, 0xbc, 0xb3, 0x7f, 0x90, 0x29, 0x4a, +
svn commit: samba r21352 - in branches: SAMBA_3_0/source/libads SAMBA_3_0_25/source/libads
Author: gd Date: 2007-02-15 00:03:38 + (Thu, 15 Feb 2007) New Revision: 21352 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=21352 Log: Let ads_upn_suffixes() return a pointer to an array of suffixes. Guenther Modified: branches/SAMBA_3_0/source/libads/ldap.c branches/SAMBA_3_0_25/source/libads/ldap.c Changeset: Modified: branches/SAMBA_3_0/source/libads/ldap.c === --- branches/SAMBA_3_0/source/libads/ldap.c 2007-02-14 21:55:29 UTC (rev 21351) +++ branches/SAMBA_3_0/source/libads/ldap.c 2007-02-15 00:03:38 UTC (rev 21352) @@ -2620,10 +2620,10 @@ * @param ads connection to ads server * @param mem_ctx Pointer to talloc context * @param suffixes Pointer to an array of suffixes - * @param site_name Pointer to the number of suffixes + * @param num_suffixes Pointer to the number of suffixes * @return status of search **/ -ADS_STATUS ads_upn_suffixes(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char **suffixes, size_t *num_suffixes) +ADS_STATUS ads_upn_suffixes(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char ***suffixes, size_t *num_suffixes) { ADS_STATUS status; LDAPMessage *res; @@ -2658,8 +2658,8 @@ return ADS_ERROR(LDAP_NO_SUCH_OBJECT); } - suffixes = ads_pull_strings(ads, mem_ctx, res, uPNSuffixes, num_suffixes); - if (suffixes == NULL) { + (*suffixes) = ads_pull_strings(ads, mem_ctx, res, uPNSuffixes, num_suffixes); + if ((*suffixes) == NULL) { ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); } Modified: branches/SAMBA_3_0_25/source/libads/ldap.c === --- branches/SAMBA_3_0_25/source/libads/ldap.c 2007-02-14 21:55:29 UTC (rev 21351) +++ branches/SAMBA_3_0_25/source/libads/ldap.c 2007-02-15 00:03:38 UTC (rev 21352) @@ -2620,10 +2620,10 @@ * @param ads connection to ads server * @param mem_ctx Pointer to talloc context * @param suffixes Pointer to an array of suffixes - * @param site_name Pointer to the number of suffixes + * @param num_suffixes Pointer to the number of suffixes * @return status of search **/ -ADS_STATUS ads_upn_suffixes(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char **suffixes, size_t *num_suffixes) +ADS_STATUS ads_upn_suffixes(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char ***suffixes, size_t *num_suffixes) { ADS_STATUS status; LDAPMessage *res; @@ -2658,8 +2658,8 @@ return ADS_ERROR(LDAP_NO_SUCH_OBJECT); } - suffixes = ads_pull_strings(ads, mem_ctx, res, uPNSuffixes, num_suffixes); - if (suffixes == NULL) { + (*suffixes) = ads_pull_strings(ads, mem_ctx, res, uPNSuffixes, num_suffixes); + if ((*suffixes) == NULL) { ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); }
Re: svn commit: samba r21338 - in branches/SAMBA_4_0: . source/pidl/lib/Parse/Pidl/Samba3 source/pidl/tests
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 David Collier-Brown schrieb: #warning does seem to cause diagnostics on the compilers which don't know what it means... is there a case where it's silently ignored and the bad code just compiles to a non-running executable? Compilers with support for it just print a warning to stderr and compile fine. Compilers without port reject to compile. Both variants are wrong in the current situation, because errors should be reported when they are detected, so pidl should reject to compile instead of generating code that may not be useable by the compiler. metze -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFF1A8tm70gjA5TCD8RApwnAKCKM6SfYT20f/1nfN9xsO4WsNC+OgCgyUTT QQUoAoGIj7OvSKdIqnLtKMg= =5YGZ -END PGP SIGNATURE-