svn commit: samba r21329 - in branches/SAMBA_4_0/source/librpc/idl: .

2007-02-14 Thread metze
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: .

2007-02-14 Thread metze
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: .

2007-02-14 Thread metze
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/

2007-02-14 Thread Jelmer Vernooij
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

2007-02-14 Thread jelmer
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: .

2007-02-14 Thread metze
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: .

2007-02-14 Thread metze
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: .

2007-02-14 Thread metze
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

2007-02-14 Thread gd
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: .

2007-02-14 Thread metze
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

2007-02-14 Thread jelmer
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

2007-02-14 Thread jmcd
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

2007-02-14 Thread jelmer
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

2007-02-14 Thread jelmer
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: .

2007-02-14 Thread metze
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

2007-02-14 Thread jelmer
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: .

2007-02-14 Thread derrell
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

2007-02-14 Thread gd
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

2007-02-14 Thread jra
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/

2007-02-14 Thread 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

2007-02-14 Thread jelmer
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: .

2007-02-14 Thread idra
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

2007-02-14 Thread gd
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

2007-02-14 Thread jelmer
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

2007-02-14 Thread idra
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/

2007-02-14 Thread Jelmer Vernooij
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/

2007-02-14 Thread Jelmer Vernooij
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/

2007-02-14 Thread Jelmer Vernooij
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/

2007-02-14 Thread Jelmer Vernooij
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/

2007-02-14 Thread Jelmer Vernooij
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

2007-02-14 Thread gd
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

2007-02-14 Thread Stefan (metze) Metzmacher
-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-