[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-777-g64e08fe

2009-09-29 Thread Andrew Tridgell
The branch, master has been updated
   via  64e08fef16001d62b43f6925a26ad739391cface (commit)
  from  325baf37fffde738dcbb37a096d79f07b23586b2 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 64e08fef16001d62b43f6925a26ad739391cface
Author: Andrew Tridgell 
Date:   Tue Sep 29 17:47:54 2009 +1000

pidl: added union padding for NDR64

This fixes the problem with samr UserInfo16 when NDR64 is enabled

---

Summary of changes:
 librpc/ndr/libndr.h  |2 ++
 librpc/ndr/ndr_basic.c   |   18 ++
 pidl/lib/Parse/Pidl/NDR.pm   |   11 +--
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |8 
 4 files changed, 37 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 03b4362..f6f5170 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -498,6 +498,8 @@ enum ndr_err_code ndr_pull_bytes(struct ndr_pull *ndr, 
uint8_t *data, uint32_t n
 enum ndr_err_code ndr_pull_array_uint8(struct ndr_pull *ndr, int ndr_flags, 
uint8_t *data, uint32_t n);
 enum ndr_err_code ndr_push_align(struct ndr_push *ndr, size_t size);
 enum ndr_err_code ndr_pull_align(struct ndr_pull *ndr, size_t size);
+enum ndr_err_code ndr_push_union_align(struct ndr_push *ndr, size_t size);
+enum ndr_err_code ndr_pull_union_align(struct ndr_pull *ndr, size_t size);
 enum ndr_err_code ndr_push_bytes(struct ndr_push *ndr, const uint8_t *data, 
uint32_t n);
 enum ndr_err_code ndr_push_zero(struct ndr_push *ndr, uint32_t n);
 enum ndr_err_code ndr_push_array_uint8(struct ndr_push *ndr, int ndr_flags, 
const uint8_t *data, uint32_t n);
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index 00e33ad..f3b7e75 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -555,6 +555,24 @@ _PUBLIC_ enum ndr_err_code ndr_pull_align(struct ndr_pull 
*ndr, size_t size)
return NDR_ERR_SUCCESS;
 }
 
+_PUBLIC_ enum ndr_err_code ndr_push_union_align(struct ndr_push *ndr, size_t 
size)
+{
+   /* MS-RPCE section 2.2.5.3.4.4 */
+   if (ndr->flags & LIBNDR_FLAG_NDR64) {
+   return ndr_push_align(ndr, size);
+   }
+   return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_union_align(struct ndr_pull *ndr, size_t 
size)
+{
+   /* MS-RPCE section 2.2.5.3.4.4 */
+   if (ndr->flags & LIBNDR_FLAG_NDR64) {
+   return ndr_pull_align(ndr, size);
+   }
+   return NDR_ERR_SUCCESS;
+}
+
 /*
   push some bytes
 */
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm
index 7aebed0..4f2578e 100644
--- a/pidl/lib/Parse/Pidl/NDR.pm
+++ b/pidl/lib/Parse/Pidl/NDR.pm
@@ -509,7 +509,8 @@ sub ParseUnion($$)
ELEMENTS => undef,
PROPERTIES => $e->{PROPERTIES},
HAS_DEFAULT => $hasdefault,
-   ORIGINAL => $e
+   ORIGINAL => $e,
+   ALIGN => undef
} unless defined($e->{ELEMENTS});
 
CheckPointerTypes($e, $pointer_default);
@@ -533,6 +534,11 @@ sub ParseUnion($$)
push @elements, $t;
}
 
+   my $align = undef;
+   if ($e->{NAME}) {
+   $align = align_type($e->{NAME});
+   }
+
return {
TYPE => "UNION",
NAME => $e->{NAME},
@@ -540,7 +546,8 @@ sub ParseUnion($$)
ELEMENTS => \...@elements,
PROPERTIES => $e->{PROPERTIES},
HAS_DEFAULT => $hasdefault,
-   ORIGINAL => $e
+   ORIGINAL => $e,
+   ALIGN => $align
};
 }
 
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 
b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 62e38bf..9a02d52 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -1644,6 +1644,10 @@ sub ParseUnionPushPrimitives()
$self->pidl("NDR_CHECK(ndr_push_$e->{SWITCH_TYPE}($ndr, 
NDR_SCALARS, level));");
}
 
+   if (defined($e->{ALIGN})) {
+   $self->pidl("NDR_CHECK(ndr_push_union_align($ndr, 
$e->{ALIGN}));");
+   }
+
$self->pidl("switch (level) {");
$self->indent;
foreach my $el (@{$e->{ELEMENTS}}) {
@@ -1788,6 +1792,10 @@ sub ParseUnionPullPrimitives($)
$self->pidl("}");
}
 
+   if (defined($e->{ALIGN})) {
+   $self->pidl("NDR_CHECK(ndr_pull_union_align($ndr, 
$e->{ALIGN}));");
+   }
+
$self->pidl("switch (level) {");
$self->indent;
foreach my $el (@{$e->{ELEMENTS}}) {


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-778-g0cf317f

2009-09-29 Thread Volker Lendecke
The branch, master has been updated
   via  0cf317f36f7582cb0540c74910020c9d5f4aa14f (commit)
  from  64e08fef16001d62b43f6925a26ad739391cface (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0cf317f36f7582cb0540c74910020c9d5f4aa14f
Author: Volker Lendecke 
Date:   Tue Sep 29 13:11:20 2009 +0200

s3: Remove the lua interpreter again

This was meant to support async winbind. But as the hairy parts of async
winbind (getgrent) are done without it, it can go again.

---

Summary of changes:
 source3/Makefile.in  |   88 +-
 source3/configure.in |   41 -
 source3/locale/net/de.po |   64 -
 source3/locale/net/genmsg|2 +-
 source3/lua-5.1.4/COPYRIGHT  |   34 -
 source3/lua-5.1.4/HISTORY|  183 -
 source3/lua-5.1.4/INSTALL|   99 -
 source3/lua-5.1.4/Makefile   |  128 -
 source3/lua-5.1.4/README |   37 -
 source3/lua-5.1.4/doc/amazon.gif |  Bin 797 -> 0 bytes
 source3/lua-5.1.4/doc/contents.html  |  499 --
 source3/lua-5.1.4/doc/cover.png  |  Bin 3305 -> 0 bytes
 source3/lua-5.1.4/doc/logo.gif   |  Bin 4232 -> 0 bytes
 source3/lua-5.1.4/doc/lua.css|   40 -
 source3/lua-5.1.4/doc/lua.html   |  172 -
 source3/lua-5.1.4/doc/luac.html  |  145 -
 source3/lua-5.1.4/doc/manual.css |   12 -
 source3/lua-5.1.4/doc/manual.html| 8800 --
 source3/lua-5.1.4/doc/readme.html|   40 -
 source3/lua-5.1.4/etc/Makefile   |   44 -
 source3/lua-5.1.4/etc/README |   36 -
 source3/lua-5.1.4/etc/all.c  |   38 -
 source3/lua-5.1.4/etc/lua.hpp|9 -
 source3/lua-5.1.4/etc/lua.ico|  Bin 1078 -> 0 bytes
 source3/lua-5.1.4/etc/luavs.bat  |   28 -
 source3/lua-5.1.4/etc/min.c  |   39 -
 source3/lua-5.1.4/etc/noparser.c |   50 -
 source3/lua-5.1.4/etc/strict.lua |   40 -
 source3/lua-5.1.4/src/Makefile   |  182 -
 source3/lua-5.1.4/src/lapi.c | 1086 
 source3/lua-5.1.4/src/lapi.h |   16 -
 source3/lua-5.1.4/src/lauxlib.c  |  651 ---
 source3/lua-5.1.4/src/lauxlib.h  |  172 -
 source3/lua-5.1.4/src/lbaselib.c |  652 ---
 source3/lua-5.1.4/src/lcode.c|  838 ---
 source3/lua-5.1.4/src/lcode.h|   76 -
 source3/lua-5.1.4/src/ldblib.c   |  396 --
 source3/lua-5.1.4/src/ldebug.c   |  637 ---
 source3/lua-5.1.4/src/ldebug.h   |   33 -
 source3/lua-5.1.4/src/ldo.c  |  516 --
 source3/lua-5.1.4/src/ldo.h  |   56 -
 source3/lua-5.1.4/src/ldump.c|  164 -
 source3/lua-5.1.4/src/lfunc.c|  173 -
 source3/lua-5.1.4/src/lfunc.h|   34 -
 source3/lua-5.1.4/src/lgc.c  |  710 ---
 source3/lua-5.1.4/src/lgc.h  |  110 -
 source3/lua-5.1.4/src/linit.c|   37 -
 source3/lua-5.1.4/src/liolib.c   |  552 --
 source3/lua-5.1.4/src/llex.c |  460 --
 source3/lua-5.1.4/src/llex.h |   81 -
 source3/lua-5.1.4/src/llimits.h  |  128 -
 source3/lua-5.1.4/src/lmathlib.c |  262 -
 source3/lua-5.1.4/src/lmem.c |   85 -
 source3/lua-5.1.4/src/lmem.h |   48 -
 source3/lua-5.1.4/src/loadlib.c  |  665 ---
 source3/lua-5.1.4/src/lobject.c  |  214 -
 source3/lua-5.1.4/src/lobject.h  |  380 --
 source3/lua-5.1.4/src/lopcodes.c |  101 -
 source3/lua-5.1.4/src/lopcodes.h |  268 -
 source3/lua-5.1.4/src/loslib.c   |  242 -
 source3/lua-5.1.4/src/lparser.c  | 1339 -
 source3/lua-5.1.4/src/lparser.h  |   82 -
 source3/lua-5.1.4/src/lstate.c   |  213 -
 source3/lua-5.1.4/src/lstate.h   |  168 -
 source3/lua-5.1.4/src/lstring.c  |  110 -
 source3/lua-5.1.4/src/lstring.h  |   31 -
 source3/lua-5.1.4/src/lstrlib.c  |  868 ---
 source3/lua-5.1.4/src/ltable.c   |  588 --
 source3/lua-5.1.4/src/ltable.h   |   40 -
 source3/lua-5.1.4/src/ltablib.c  |  286 -
 source3/lua-5.1.4/src/ltm.c  |   74 -
 source3/lua-5.1.4/src/ltm.h  |   54 -
 source3/lua-5.1.4/src/lua.c  |  391 --
 source3/lua-5.1.4/src/lua.h  |  388 --
 source3/lua-5.1.4/src/luac.c |  200 -
 source3/lua-5.1.4/src/luaconf.h  |  762 ---
 source3/lua-5.1.4/src/lualib.h   |   53 -
 source3/lua-5.1.4/src/lundump.c  |  227 -
 source3/lua-5.1.4/src/lundump.h  |   36 -
 source3/lua-5.1.4/src/lvm.c  |  762 ---
 source3/lua-5.1.4/src/lvm.h  |   36 -
 source3/lua-5.1.4/src/lzio.c |   80 -
 source3/lua-5

[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-779-g21794b0

2009-09-29 Thread Volker Lendecke
The branch, master has been updated
   via  21794b0dd28a80b149342b3218d7ebb4c8791e09 (commit)
  from  0cf317f36f7582cb0540c74910020c9d5f4aa14f (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 21794b0dd28a80b149342b3218d7ebb4c8791e09
Author: Volker Lendecke 
Date:   Tue Sep 29 14:34:16 2009 +0200

s3: Document the "share:fake_fscaps" parameter, fix bug 6765

---

Summary of changes:
 docs-xml/smbdotconf/protocol/sharefakefscaps.xml |   20 
 1 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 docs-xml/smbdotconf/protocol/sharefakefscaps.xml


Changeset truncated at 500 lines:

diff --git a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml 
b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
new file mode 100644
index 000..713b95b
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
@@ -0,0 +1,20 @@
+http://www.samba.org/samba/DTD/samba-doc";>
+
+
+   
+   This is needed to support some special application that makes
+   QFSINFO calls to check whether we set the SPARSE_FILES bit
+   (0x40). If this bit is not set that particular application
+   refuses to work against
+   Samba. With 64
+   the SPARSE_FILES file system capability flag is set. Use other
+   decimal values to specify the bitmask you need to fake.
+   
+
+
+0
+


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-781-gd31e4c2

2009-09-29 Thread Günther Deschner
The branch, master has been updated
   via  d31e4c2944a7ef0b903e14db5fb444d626fa3500 (commit)
   via  4365b7b408b2c328e983d96794eec4df1cc31926 (commit)
  from  21794b0dd28a80b149342b3218d7ebb4c8791e09 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit d31e4c2944a7ef0b903e14db5fb444d626fa3500
Author: Günther Deschner 
Date:   Tue Sep 29 23:33:48 2009 +0200

s3: re-run make idl_full.

Guenther

commit 4365b7b408b2c328e983d96794eec4df1cc31926
Author: Günther Deschner 
Date:   Wed Sep 23 20:41:44 2009 +0200

winreg: add winreg_Data union to IDL.

Guenther

---

Summary of changes:
 librpc/gen_ndr/misc.h|   41 +++
 librpc/gen_ndr/ndr_dcerpc.c  |6 +
 librpc/gen_ndr/ndr_dfs.c |4 +
 librpc/gen_ndr/ndr_drsblobs.c|   20 +++
 librpc/gen_ndr/ndr_drsuapi.c |   66 ++
 librpc/gen_ndr/ndr_dssetup.c |2 +
 librpc/gen_ndr/ndr_echo.c|4 +
 librpc/gen_ndr/ndr_epmapper.c|2 +
 librpc/gen_ndr/ndr_krb5pac.c |2 +
 librpc/gen_ndr/ndr_lsa.c |8 ++
 librpc/gen_ndr/ndr_misc.c|  221 ++
 librpc/gen_ndr/ndr_misc.h|6 +
 librpc/gen_ndr/ndr_named_pipe_auth.c |4 +
 librpc/gen_ndr/ndr_nbt.c |   12 ++
 librpc/gen_ndr/ndr_netlogon.c|   20 +++
 librpc/gen_ndr/ndr_ntlmssp.c |8 ++
 librpc/gen_ndr/ndr_samr.c|   16 +++
 librpc/gen_ndr/ndr_schannel.c|4 +
 librpc/gen_ndr/ndr_security.c|6 +
 librpc/gen_ndr/ndr_spoolss.c |   40 ++
 librpc/gen_ndr/ndr_srvsvc.c  |   26 
 librpc/gen_ndr/ndr_winreg.c  |   36 +--
 librpc/gen_ndr/ndr_winreg.h  |3 -
 librpc/gen_ndr/ndr_wkssvc.c  |   12 ++
 librpc/gen_ndr/ndr_xattr.c   |4 +
 librpc/gen_ndr/winreg.h  |   34 +-
 librpc/idl/misc.idl  |   26 
 librpc/idl/winreg.idl|   17 +---
 28 files changed, 563 insertions(+), 87 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/misc.h b/librpc/gen_ndr/misc.h
index aa24a0f..29ea192 100644
--- a/librpc/gen_ndr/misc.h
+++ b/librpc/gen_ndr/misc.h
@@ -50,4 +50,45 @@ struct KRB5_EDATA_NTSTATUS {
uint32_t unknown2;
 }/* [public] */;
 
+enum winreg_Type
+#ifndef USE_UINT_ENUMS
+ {
+   REG_NONE=(int)(0),
+   REG_SZ=(int)(1),
+   REG_EXPAND_SZ=(int)(2),
+   REG_BINARY=(int)(3),
+   REG_DWORD=(int)(4),
+   REG_DWORD_BIG_ENDIAN=(int)(5),
+   REG_LINK=(int)(6),
+   REG_MULTI_SZ=(int)(7),
+   REG_RESOURCE_LIST=(int)(8),
+   REG_FULL_RESOURCE_DESCRIPTOR=(int)(9),
+   REG_RESOURCE_REQUIREMENTS_LIST=(int)(10),
+   REG_QWORD=(int)(11)
+}
+#else
+ { __donnot_use_enum_winreg_Type=0x7FFF}
+#define REG_NONE ( 0 )
+#define REG_SZ ( 1 )
+#define REG_EXPAND_SZ ( 2 )
+#define REG_BINARY ( 3 )
+#define REG_DWORD ( 4 )
+#define REG_DWORD_BIG_ENDIAN ( 5 )
+#define REG_LINK ( 6 )
+#define REG_MULTI_SZ ( 7 )
+#define REG_RESOURCE_LIST ( 8 )
+#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
+#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
+#define REG_QWORD ( 11 )
+#endif
+;
+
+union winreg_Data {
+   const char * string;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_SZ)] */
+   DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING),case(REG_BINARY)] */
+   uint32_t value;/* [case(REG_DWORD)] */
+   const char ** string_array;/* 
[flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */
+   DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */
+}/* [nodiscriminant,public] */;
+
 #endif /* _HEADER_misc */
diff --git a/librpc/gen_ndr/ndr_dcerpc.c b/librpc/gen_ndr/ndr_dcerpc.c
index c869841..6b2b139 100644
--- a/librpc/gen_ndr/ndr_dcerpc.c
+++ b/librpc/gen_ndr/ndr_dcerpc.c
@@ -184,6 +184,7 @@ static enum ndr_err_code ndr_push_dcerpc_object(struct 
ndr_push *ndr, int ndr_fl
 {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
+   NDR_CHECK(ndr_push_union_align(ndr, 4));
switch (level) {
default: {
NDR_CHECK(ndr_push_dcerpc_empty(ndr, 
NDR_SCALARS, &r->empty));
@@ -214,6 +215,7 @@ static enum ndr_err_code ndr_pull_dcerpc_object(struct 
ndr_pull *ndr, int ndr_fl
int level;
level = ndr_pull_get_switch_value(ndr, r);
if (ndr_flags & NDR_SCALARS) {
+   NDR_CHECK(ndr_pull_union_align(ndr, 4));
switch (level) {
default: {
NDR_CHECK(ndr_pull_dcerpc_empty(ndr, 
NDR_SCALARS, &r->empty));
@@ -512,6 +514,7 @@ static enum ndr_err_code 
ndr_push_dcerpc_bind_nak_versions_ctr(struct ndr_push *
 {
if (ndr_flags

[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-790-gb0a6649

2009-09-29 Thread Günther Deschner
The branch, master has been updated
   via  b0a66496f571cd7003292a7c8fe0e072df18a0a2 (commit)
   via  fc1c243348a12d58b8f433901947253e3d998690 (commit)
   via  661342ee2f753110b31d0b809517ba94e091a310 (commit)
   via  f8016cfee922cba97b70f56c752827e4584da6c6 (commit)
   via  2d6e5e160b9fd1a21bbbe699f6786c570daa0467 (commit)
   via  1b0f3b7e3a3eadb1c9997b38dd41aa4c09c41a46 (commit)
   via  a50cc61ee6bc973f913a8c26a082ae99f63091db (commit)
   via  2c11b73391551723e4ada8664b1ba77873420217 (commit)
   via  fcee9d2c97a673347baf58f749f35785a896e468 (commit)
  from  d31e4c2944a7ef0b903e14db5fb444d626fa3500 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit b0a66496f571cd7003292a7c8fe0e072df18a0a2
Author: Günther Deschner 
Date:   Tue Sep 29 23:22:46 2009 +0200

s3: use pull_reg_multi_sz in rpcclient and net.

Guenther

commit fc1c243348a12d58b8f433901947253e3d998690
Author: Günther Deschner 
Date:   Fri Sep 25 11:35:46 2009 +0200

s3-util: use pull_reg_multi_sz in reg_pull_multi_sz.

Guenther

commit 661342ee2f753110b31d0b809517ba94e091a310
Author: Günther Deschner 
Date:   Fri Sep 25 00:55:56 2009 +0200

s3-registry: use pull_reg_multi_sz().

Guenther

commit f8016cfee922cba97b70f56c752827e4584da6c6
Author: Günther Deschner 
Date:   Fri Sep 25 00:56:17 2009 +0200

s3-util: add pull_reg_sz() and pull_reg_multi_sz() convenience functions.

Guenther

commit 2d6e5e160b9fd1a21bbbe699f6786c570daa0467
Author: Günther Deschner 
Date:   Fri Sep 25 00:36:43 2009 +0200

s3: use push_reg_multi_sz().

Guenther

commit 1b0f3b7e3a3eadb1c9997b38dd41aa4c09c41a46
Author: Günther Deschner 
Date:   Thu Sep 24 15:01:32 2009 +0200

s3-registry: use regval_ctr_addvalue_sz().

Greatly simplifies and cleanes up the code.

Guenther

commit a50cc61ee6bc973f913a8c26a082ae99f63091db
Author: Günther Deschner 
Date:   Thu Sep 24 11:30:45 2009 +0200

s3-registry: add regval_ctr_addvalue_sz.

Guenther

commit 2c11b73391551723e4ada8664b1ba77873420217
Author: Günther Deschner 
Date:   Wed Sep 23 20:46:08 2009 +0200

s3-registry: use push_reg_sz().

Guenther

commit fcee9d2c97a673347baf58f749f35785a896e468
Author: Günther Deschner 
Date:   Wed Sep 23 20:42:20 2009 +0200

s3-util: add push_reg_sz() and push_reg_multi_sz() convenience functions.

Guenther

---

Summary of changes:
 source3/include/proto.h|5 +
 source3/lib/util_reg.c |   95 ++--
 source3/printing/nt_printing.c |   34 ++---
 source3/registry/reg_backend_current_version.c |   12 +--
 source3/registry/reg_backend_db.c  |8 +--
 source3/registry/reg_backend_printing.c|   65 +
 source3/registry/reg_backend_prod_options.c|7 +--
 source3/registry/reg_backend_tcpip_params.c|   19 +
 source3/registry/reg_eventlog.c|   79 +---
 source3/registry/reg_objects.c |   17 
 source3/registry/reg_perfcount.c   |   10 +-
 source3/registry/reg_util.c|   16 ++--
 source3/rpc_server/srv_ntsvcs_nt.c |   14 ++--
 source3/rpc_server/srv_spoolss_nt.c|   32 
 source3/rpcclient/cmd_spoolss.c|   13 ++--
 source3/services/services_db.c |   46 +---
 source3/utils/net_rpc_printer.c|   31 
 17 files changed, 236 insertions(+), 267 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index d664a26..5de6ebf 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1259,6 +1259,10 @@ struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t 
uid) ;
 const char *reg_type_lookup(enum winreg_Type type);
 WERROR reg_pull_multi_sz(TALLOC_CTX *mem_ctx, const void *buf, size_t len,
 uint32 *num_values, char ***values);
+bool push_reg_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char *s);
+bool push_reg_multi_sz(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, const char **a);
+bool pull_reg_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char **s);
+bool pull_reg_multi_sz(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, const char 
***a);
 
 /* The following definitions come from lib/util_reg_api.c  */
 
@@ -5115,6 +5119,7 @@ struct regval_blob *regval_compose(TALLOC_CTX *ctx, const 
char *name,
   const char *data_p, size_t size);
 int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type,
const char *data_p, size_t size);
+int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const 
char *data);
 int regva

[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-794-geb7a404

2009-09-29 Thread Günther Deschner
The branch, master has been updated
   via  eb7a40422593970eba0541a7e4deaa6bc31f94e0 (commit)
   via  26e798da19a9c36fad62e978545c6dfc90a9645d (commit)
   via  2ccf75d9a9e73a05ab5cbe56526aba3bb45011f0 (commit)
   via  76bb3808392c981f03deca632dd99081565bf6e1 (commit)
  from  b0a66496f571cd7003292a7c8fe0e072df18a0a2 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit eb7a40422593970eba0541a7e4deaa6bc31f94e0
Author: Günther Deschner 
Date:   Wed Sep 30 00:36:05 2009 +0200

s3: remove unused unistr2_term_codes.

Guenther

commit 26e798da19a9c36fad62e978545c6dfc90a9645d
Author: Günther Deschner 
Date:   Fri Sep 25 01:00:24 2009 +0200

s3: remove unused regval_convert_multi_sz().

Guenther

commit 2ccf75d9a9e73a05ab5cbe56526aba3bb45011f0
Author: Günther Deschner 
Date:   Fri Sep 25 00:37:02 2009 +0200

s3: remove unused regval_build_multi_sz().

Guenther

commit 76bb3808392c981f03deca632dd99081565bf6e1
Author: Günther Deschner 
Date:   Wed Sep 23 20:48:25 2009 +0200

s3-rpc_parse: remove unused UNISTR2 struct and init function.

Guenther

---

Summary of changes:
 source3/include/proto.h|3 -
 source3/include/rpc_misc.h |   13 -
 source3/registry/reg_util.c|  107 
 source3/rpc_parse/parse_misc.c |   56 -
 4 files changed, 0 insertions(+), 179 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 5de6ebf..05651e2 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5158,8 +5158,6 @@ bool reg_split_key(char *path, char **base, char **key);
 char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname );
 void normalize_dbkey(char *key);
 char *reg_remaining_path(TALLOC_CTX *ctx, const char *key);
-int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char 
***values );
-size_t regval_build_multi_sz( char **values, uint16 **buffer );
 
 /* The following definitions come from registry/reg_util_legacy.c  */
 
@@ -5653,7 +5651,6 @@ bool smb_io_system_time(const char *desc, prs_struct *ps, 
int depth, SYSTEMTIME
 bool make_systemtime(SYSTEMTIME *systime, struct tm *unixtime);
 bool smb_io_uuid(const char *desc, struct GUID *uuid, 
 prs_struct *ps, int depth);
-void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes 
flags);
 
 /* The following definitions come from rpc_parse/parse_prs.c  */
 
diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h
index 797e192..aff9b1c 100644
--- a/source3/include/rpc_misc.h
+++ b/source3/include/rpc_misc.h
@@ -26,9 +26,6 @@
 #define SMB_RPC_INTERFACE_VERSION 1
 #define PRS_POINTER_CAST bool (*)(const char*, prs_struct*, int, void*)
 
-enum unistr2_term_codes { UNI_FLAGS_NONE = 0, UNI_STR_TERMINATE = 1, 
UNI_MAXLEN_TERMINATE = 2, UNI_BROKEN_NON_NULL = 3, UNI_STR_DBLTERMINATE = 4 };
-
-
 
 /** 
  * well-known RIDs - Relative IDs
@@ -107,16 +104,6 @@ typedef struct {   /* UNISTR - unicode string size 
and buffer */
   little-endian. ***MUST*** be null-terminated 
*/
 } UNISTR;
 
-typedef struct {   /* UNISTR2 - unicode string size (in 
-  uint16 unicode chars) and buffer */
-   uint32 uni_max_len;
-   uint32 offset;
-   uint32 uni_str_len;
-   uint16 *buffer; /* unicode characters. ***MUST*** be 
little-endian. 
- **must** be null-terminated and the 
uni_str_len 
- should include the NULL character */
-} UNISTR2;
-
 /*
  * I'm really wondering how many different time formats
  * I will have to cope with
diff --git a/source3/registry/reg_util.c b/source3/registry/reg_util.c
index 3b0885d..fd76521 100644
--- a/source3/registry/reg_util.c
+++ b/source3/registry/reg_util.c
@@ -158,110 +158,3 @@ char *reg_remaining_path(TALLOC_CTX *ctx, const char *key)
 
return p;
 }
-
-/**
-*/
-
-int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char 
***values )
-{
-   char **sz;
-   int i;
-   int num_strings = 0;
-   fstring buffer;
-   uint16 *wp;
-   size_t multi_len = byte_len / 2;
-
-   if ( !multi_string || !values )
-   return 0;
-
-   *values = NULL;
-
-   /* just count the NULLs */
-
-   for ( i=0; (iuni_max_len = 0;
-   str->offset = 0;
-   str->uni_str_len = 0;
-
-   return;
-   }
-   
-
-   str->buffer = TALLOC_ZERO_ARRAY(talloc_tos(), uint16, l

[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-795-g6c0abbd

2009-09-29 Thread Günther Deschner
The branch, master has been updated
   via  6c0abbdd350f9af5cfb59381efb80385e5d3a4f3 (commit)
  from  eb7a40422593970eba0541a7e4deaa6bc31f94e0 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 6c0abbdd350f9af5cfb59381efb80385e5d3a4f3
Author: Günther Deschner 
Date:   Thu Sep 24 18:53:40 2009 +0200

s3-netlogon: properly implement _netr_NetrEnumerateTrustedDomains().

Guenther

---

Summary of changes:
 source3/rpc_server/srv_netlog_nt.c |   39 ++-
 1 files changed, 33 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_netlog_nt.c 
b/source3/rpc_server/srv_netlog_nt.c
index 9169c74..2aee005 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -229,20 +229,47 @@ WERROR _netr_LogonControl2Ex(pipes_struct *p,
 WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p,
 struct 
netr_NetrEnumerateTrustedDomains *r)
 {
-   struct netr_Blob trusted_domains_blob;
+   NTSTATUS status;
DATA_BLOB blob;
+   struct trustdom_info **domains;
+   uint32_t num_domains;
+   const char **trusted_domains;
+   int i;
 
DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__));
 
/* set up the Trusted Domain List response */
 
-   blob = data_blob_talloc_zero(p->mem_ctx, 2);
-   trusted_domains_blob.data = blob.data;
-   trusted_domains_blob.length = blob.length;
+   become_root();
+   status = pdb_enum_trusteddoms(p->mem_ctx, &num_domains, &domains);
+   unbecome_root();
+
+   if (!NT_STATUS_IS_OK(status)) {
+   return ntstatus_to_werror(status);
+   }
 
-   DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__));
+   trusted_domains = talloc_zero_array(p->mem_ctx, const char *, 
num_domains + 1);
+   if (!trusted_domains) {
+   return WERR_NOMEM;
+   }
+
+   for (i = 0; i < num_domains; i++) {
+   trusted_domains[i] = talloc_strdup(trusted_domains, 
domains[i]->name);
+   if (!trusted_domains[i]) {
+   TALLOC_FREE(trusted_domains);
+   return WERR_NOMEM;
+   }
+   }
 
-   *r->out.trusted_domains_blob = trusted_domains_blob;
+   if (!push_reg_multi_sz(trusted_domains, &blob, trusted_domains)) {
+   TALLOC_FREE(trusted_domains);
+   return WERR_NOMEM;
+   }
+
+   r->out.trusted_domains_blob->data = blob.data;
+   r->out.trusted_domains_blob->length = blob.length;
+
+   DEBUG(6,("_netr_NetrEnumerateTrustedDomains: %d\n", __LINE__));
 
return WERR_OK;
 }


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-798-g9af9dbe

2009-09-29 Thread Steven Danneman
The branch, master has been updated
   via  9af9dbeaf3344fc488c474ea7410ac425c2a4b4e (commit)
   via  8c0d239317167f127324a58c593a2c5357548ec5 (commit)
   via  6e4bf59d802e72f84d5fc972af6d9c28f334ca93 (commit)
  from  6c0abbdd350f9af5cfb59381efb80385e5d3a4f3 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 9af9dbeaf3344fc488c474ea7410ac425c2a4b4e
Author: Steven Danneman 
Date:   Tue Sep 29 19:03:20 2009 -0700

s4/torture: fix RAW-OPLOCK-STREAM1 test after commit a11bb14

We were pulling junk memory for our stream names after the reordering
of the struct definition.

commit 8c0d239317167f127324a58c593a2c5357548ec5
Author: Steven Danneman 
Date:   Fri Sep 25 16:44:51 2009 -0700

s4/torture: Allow receiving of oplock break requests in any order

Previously, the oplock torture tests, being single threaded, required
the server to return oplock break requests, and other SMB packets
in a specific order for us to verify "correctness".

Of course, in several cases the protocol allows the break packets,
especially breaks to levelII to come back in any order.  With tevent
we're now able to wait for oplock breaks in the middle of a torture
test.

I've added a helper to do this, and modified all oplock tests to allow
returning of oplock breaks in any order.

commit 6e4bf59d802e72f84d5fc972af6d9c28f334ca93
Author: Aravind Srinivasan 
Date:   Tue Sep 8 13:12:26 2009 -0700

s4/torture: convert printf to torture_comment()

Allows "make test" and other harnesses to print cleaner output.

---

Summary of changes:
 source4/torture/raw/oplock.c |  276 ++---
 1 files changed, 175 insertions(+), 101 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/raw/oplock.c b/source4/torture/raw/oplock.c
index 1eaa7e2..da9fcf3 100644
--- a/source4/torture/raw/oplock.c
+++ b/source4/torture/raw/oplock.c
@@ -204,6 +204,60 @@ static bool open_connection_no_level2_oplocks(struct 
torture_context *tctx,
return true;
 }
 
+/*
+   Timer handler function notifies the registering function that time is up
+*/
+static void timeout_cb(struct tevent_context *ev,
+  struct tevent_timer *te,
+  struct timeval current_time,
+  void *private_data)
+{
+   bool *timesup = (bool *)private_data;
+   *timesup = true;
+   return;
+}
+
+/*
+   Wait a short period of time to receive a single oplock break request
+*/
+static void torture_wait_for_oplock_break(struct torture_context *tctx)
+{
+   TALLOC_CTX *tmp_ctx = talloc_new(NULL);
+   struct tevent_timer *te = NULL;
+   struct timeval ne;
+   bool timesup = false;
+   int old_count = break_info.count;
+
+   /* Wait .1 seconds for an oplock break */
+   ne = tevent_timeval_current_ofs(0, 10);
+
+   if ((te = event_add_timed(tctx->ev, tmp_ctx, ne, timeout_cb, ×up))
+   == NULL)
+   {
+   torture_comment(tctx, "Failed to wait for an oplock break. "
+ "test results may not be accurate.");
+   goto done;
+   }
+
+   while (!timesup && break_info.count < old_count + 1) {
+   if (event_loop_once(tctx->ev) != 0) {
+   torture_comment(tctx, "Failed to wait for an oplock "
+ "break. test results may not be "
+ "accurate.");
+   goto done;
+   }
+   }
+
+done:
+   /* We don't know if the timed event fired and was freed, we received
+* our oplock break, or some other event triggered the loop.  Thus,
+* we create a tmp_ctx to be able to safely free/remove the timed
+* event in all 3 cases. */
+   talloc_free(tmp_ctx);
+
+   return;
+}
+
 static bool test_raw_oplock_exclusive1(struct torture_context *tctx, struct 
smbcli_state *cli1, struct smbcli_state *cli2)
 {
const char *fname = BASEDIR "\\test_exclusive1.dat";
@@ -249,6 +303,7 @@ static bool test_raw_oplock_exclusive1(struct 
torture_context *tctx, struct smbc
torture_comment(tctx, "a 2nd open should not cause a break\n");
status = smb_raw_open(cli2->tree, tctx, &io);
CHECK_STATUS(tctx, status, NT_STATUS_SHARING_VIOLATION);
+   torture_wait_for_oplock_break(tctx);
CHECK_VAL(break_info.count, 0);
CHECK_VAL(break_info.failures, 0);
 
@@ -257,6 +312,7 @@ static bool test_raw_oplock_exclusive1(struct 
torture_context *tctx, struct smbc
unl.unlink.in.attrib = 0;
status = smb_raw_unlink(cli2->tree, &unl);
CHECK_STATUS(tctx, status, NT_STATUS_SHARING_VIOLATION);
+   torture_wait_for_oplock_break(tc

[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-799-g0d241b0

2009-09-29 Thread Andrew Tridgell
The branch, master has been updated
   via  0d241b0b312503ea5871bd5068c3bf0c657938ac (commit)
  from  9af9dbeaf3344fc488c474ea7410ac425c2a4b4e (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0d241b0b312503ea5871bd5068c3bf0c657938ac
Author: Andrew Tridgell 
Date:   Wed Sep 30 14:33:14 2009 +1000

idl: ntsvcs.idl depends on misc.idl, not winreg.idl

The winreg_Type definition comes from misc.idl

---

Summary of changes:
 librpc/idl/ntsvcs.idl |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/ntsvcs.idl b/librpc/idl/ntsvcs.idl
index b1a3b78..91a85b9 100644
--- a/librpc/idl/ntsvcs.idl
+++ b/librpc/idl/ntsvcs.idl
@@ -2,7 +2,7 @@
   plug and play services
 */
 
-import "winreg.idl";
+import "misc.idl";
 
 [
   uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),


-- 
Samba Shared Repository


Build status as of Wed Sep 30 06:00:03 2009

2009-09-29 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2009-09-29 
00:00:04.0 -0600
+++ /home/build/master/cache/broken_results.txt 2009-09-30 00:00:03.0 
-0600
@@ -1,4 +1,4 @@
-Build status as of Tue Sep 29 06:00:02 2009
+Build status as of Wed Sep 30 06:00:03 2009
 
 Build counts:
 Tree Total  Broken Panic 
@@ -6,17 +6,17 @@
 ccache   1  1  0 
 distcc   0  0  0 
 ldb  26 26 0 
-libreplace   1  1  0 
+libreplace   2  1  0 
 lorikeet 0  0  0 
 pidl 17 16 0 
 ppp  0  0  0 
-rsync1  0  0 
+rsync2  0  0 
 samba-docs   0  0  0 
 samba-web0  0  0 
-samba_3_current 0  0  0 
-samba_3_master 26 26 5 
+samba_3_current 1  1  0 
+samba_3_master 24 23 5 
 samba_3_next 1  1  0 
-samba_4_0_test 28 28 0 
-talloc   24 24 0 
+samba_4_0_test 26 26 1 
+talloc   26 26 0 
 tdb  1  1  0