[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-710-g9a7491e

2009-02-09 Thread Tim Prouty
The branch, master has been updated
   via  9a7491e83177ba32e30f29e1b84b8b8be9888953 (commit)
   via  16d2c2fa58c57539a9b540eb93825806caaea0b5 (commit)
   via  32d68b8ec3aee7853c7547296e829277515813d1 (commit)
   via  17eba16bad9b20518a5d336bc751e749a587ec68 (commit)
   via  c6f1f055fdeee29ad7c5b2ae9909e8f1b1a7daec (commit)
   via  9c1310fa6ae1a67dc0fea3bf549d805ff167e78f (commit)
   via  122dbbf00acc1768f98e5b57e94aab2b61671f40 (commit)
  from  fe5b0b595c926aea0916541ceeaf610bc018cb63 (commit)

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


- Log -
commit 9a7491e83177ba32e30f29e1b84b8b8be9888953
Author: Tim Prouty 
Date:   Wed Feb 4 17:28:21 2009 -0800

s3 OneFS: Change ACLs to do a stat-only open before 
get/set_security_descriptor

This ensures that getting/stting a security descriptor does not
contend an oplock.  The correct access checks will be still be done in
the kernel on the get/set rather than the open.

commit 16d2c2fa58c57539a9b540eb93825806caaea0b5
Author: Tim Prouty 
Date:   Tue Jan 27 16:13:35 2009 -0800

s3 OneFS: Add kernel oplocks implementation

A few functions in oplocks_onefs.c need to be accessed from the onefs
vfs module.  It would be ideal if oplocks were implemented at the vfs
layer, but since they aren't yet, a new header is added to
source3/include to make these functions available to the onefs vfs
module.  oplocks_onefs.o doesn't need to be linked into the onefs vfs
module explicitly, since it is already linked into smbd by default.

commit 32d68b8ec3aee7853c7547296e829277515813d1
Author: Tim Prouty 
Date:   Tue Feb 3 23:17:48 2009 -0800

s3 oplocks: Remove oplocks before handling delete on close semantics

Unlinking a file while still holding an oplock can cause problems with
kernel oplocks.  This simply releases the oplock before actually
unlinking the file.

commit 17eba16bad9b20518a5d336bc751e749a587ec68
Author: Tim Prouty 
Date:   Tue Feb 3 15:40:23 2009 -0800

s3 oplocks: Add capabilites flags field to the kernel_oplocks struct

Here is a short description for each of the new capability flags:

KOPLOCKS_LEVEL2_SUPPORTED: Level 2 oplocks are supported natively in
the kernel.

KOPLOCKS_DEFERRED_OPEN_NOTIFICATION: The kernel notifies deferred
openers when they can retry the open.

KOPLOCKS_TIMEOUT_NOTIFICATION: The kernel notifies smbds when an
oplock break times out.

KOPLOCKS_OPLOCK_BROKEN_NOTIFICATION: The kernel notifies smbds when an
oplock is broken.

commit c6f1f055fdeee29ad7c5b2ae9909e8f1b1a7daec
Author: Tim Prouty 
Date:   Tue Feb 3 11:56:35 2009 -0800

s3 oplocks: Make the level2 oplock contention API more granular

This replaces release_level2_oplocks_on_change with
contend_level2_oplock_begin/end in order to contend level2 oplocks
throughout an operation rather than just at the begining.  This is
necessary for some kernel oplock implementations, and also lays the
groundwork for better correctness in Samba's standard level2 oplock
handling.  The next step for non-kernel oplocks is to add additional
state to the share mode lock struct that prevents any new opens from
granting oplocks while a contending operation is in progress.

All operations that contend level 2 oplocks are now correctly spanned
except for aio and synchronous writes.  The two write paths both have
non-trivial error paths that need extra care to get right.

RAW-OPLOCK and the rest of 'make test' are still passing with this
change.

commit 9c1310fa6ae1a67dc0fea3bf549d805ff167e78f
Author: Tim Prouty 
Date:   Fri Jan 9 13:07:58 2009 -0800

s3 oplocks: Differentiate between releasing an oplock vs. downgrading to 
Level 2 for kernel oplocks

Pass in an extra argument when releasing an oplock so kernel oplock
implementations can support downgrading from Level 1 to Level 2.

commit 122dbbf00acc1768f98e5b57e94aab2b61671f40
Author: Tim Prouty 
Date:   Sat Jan 31 20:51:04 2009 -0800

s3 vfs: Add a destructor to the fsp extension data API

I'm not certain if the dummy pointer is needed in struct vfs_fsp_data,
but I added it to be consistent with the comment below.

---

Summary of changes:
 source3/Makefile.in |2 +-
 source3/configure.in|2 +
 source3/include/oplock_onefs.h  |   50 +++
 source3/include/proto.h |   19 +-
 source3/include/smb.h   |   37 ++-
 source3/include/vfs.h   |4 +-
 source3/lib/dummysmbd.c |   19 +
 source3/locking/brlock.c|   85 -
 source3/modules/onefs.h |2 +-
 source3/modules/onefs_acl.c |   26 +-
 source3/modules/onefs_open.c|  155 ++--
 s

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-703-gfe5b0b5

2009-02-09 Thread Andrew Tridgell
The branch, master has been updated
   via  fe5b0b595c926aea0916541ceeaf610bc018cb63 (commit)
   via  72c2da9d327288552084efad831ef8c3518de835 (commit)
  from  b4a4d4c9d06c93188d9705f944cde8ed359bd3f3 (commit)

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


- Log -
commit fe5b0b595c926aea0916541ceeaf610bc018cb63
Author: Andrew Tridgell 
Date:   Tue Feb 10 17:31:57 2009 +1100

added a workaround to the handling of unicodePwd for Win7-beta

The Win7-beta domain process has changed. It no longer uses SAMR for
setting the password, and instead uses a ldap modify on a SASL
encrypted ldap connection. We didn't handle that as the unicodePwd
attribute has a dual use, holding the nt style MD4 hases for DRS
replication, but holding a UTF-16 plaintext password for a LDAP
modify.

This patch copes with the ldap unicodePwd modify by recognising the
format and creating the correct attributes on the fly. Note that this
assumes we will never get a unicodePwd attribute set in NT MD4 format
with the first 2 and last 2 bytes set to 0x22 0x00.

Andrew Bartlett is looking at a more robust solution, possibly using a
flag to say that this modify came via ldap, and not internal ldb
calls.

commit 72c2da9d327288552084efad831ef8c3518de835
Author: Andrew Tridgell 
Date:   Tue Feb 10 17:28:05 2009 +1100

fixed two problems with the DsRGetDCNameEx2 call, as used by
Win7-beta.

The first problem is that we removed the dnsDomain attribute a while
back, so we were returning NULL for two fields. We now return the
realm.

The second problem is that Win7-beta sends the domain in the form the
user typed it, so it may be in either the short or long form. We check
for the short form and convert if needed.

---

Summary of changes:
 source4/dsdb/samdb/ldb_modules/password_hash.c |   31 +++-
 source4/rpc_server/netlogon/dcerpc_netlogon.c  |   12 +++--
 2 files changed, 39 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c 
b/source4/dsdb/samdb/ldb_modules/password_hash.c
index 2c07fa1..da4c574 100644
--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
+++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
@@ -109,6 +109,7 @@ struct setup_password_fields_io {
struct {
const struct ldb_val *cleartext_utf8;
const struct ldb_val *cleartext_utf16;
+   struct ldb_val quoted_utf16;
struct samr_Password *nt_hash;
struct samr_Password *lm_hash;
} n;
@@ -2102,6 +2103,7 @@ static int password_hash_mod_do_mod(struct ph_context *ac)
struct ldb_message *orig_msg;
struct ldb_message *searched_msg;
struct setup_password_fields_io io;
+   const struct ldb_val *quoted_utf16;
int ret;
 
ldb = ldb_module_get_ctx(ac->module);
@@ -2138,7 +2140,34 @@ static int password_hash_mod_do_mod(struct ph_context 
*ac)
 
io.n.cleartext_utf8 = ldb_msg_find_ldb_val(orig_msg, 
"userPassword");
io.n.cleartext_utf16= ldb_msg_find_ldb_val(orig_msg, 
"clearTextPassword");
-   io.n.nt_hash= samdb_result_hash(io.ac, orig_msg, 
"unicodePwd");
+
+   /* this rather strange looking piece of code is there to
+  handle a ldap client setting a password remotely using the
+  unicodePwd ldap field. The syntax is that the password is
+  in UTF-16LE, with a " at either end. Unfortunately the
+  unicodePwd field is also used to store the nt hashes
+  internally in Samba, and is used in the nt hash format on
+  the wire in DRS replication, so we have a single name for
+  two distinct values. The code below leaves us with a small
+  chance (less than 1 in 2^32) of a mixup, if someone manages
+  to create a MD4 hash which starts and ends in 0x22 0x00, as
+  that would then be treated as a UTF16 password rather than
+  a nthash */
+   quoted_utf16= ldb_msg_find_ldb_val(orig_msg, 
"unicodePwd");
+   if (quoted_utf16 && 
+   quoted_utf16->length >= 4 &&
+   quoted_utf16->data[0] == '"' && 
+   quoted_utf16->data[1] == 0 && 
+   quoted_utf16->data[quoted_utf16->length-2] == '"' && 
+   quoted_utf16->data[quoted_utf16->length-1] == 0) {
+   io.n.quoted_utf16.data = talloc_memdup(orig_msg, 
quoted_utf16->data+2, quoted_utf16->length-4);
+   io.n.quoted_utf16.length = quoted_utf16->length-4;
+   io.n.cleartext_utf16 = &io.n.quoted_utf16;
+   io.n.nt_hash = NULL;
+   } else {
+   io.n.nt_hash= samdb_result_hash(io.ac, orig_ms

[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4926-gdf15e8f

2009-02-09 Thread Derrell Lipman
The branch, v3-3-test has been updated
   via  df15e8f84d108f8e9df1408155b0f9ccc44da3fe (commit)
  from  c8e295a1b5216c1190ec5d555606b3eadabab82a (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit df15e8f84d108f8e9df1408155b0f9ccc44da3fe
Author: Derrell Lipman 
Date:   Mon Feb 9 22:46:29 2009 -0500

[Bug 6069] Add a fstatvfs function for libsmbclient

- Complete the implementation of the f_flag field. We now return a flag
  indicatin UNIX CIFS, CASE SENSITIVE, and/or DFS support.

Derrell

---

Summary of changes:
 examples/libsmbclient/testfstatvfs.c |  101 ++
 source/libsmb/libsmb_stat.c  |   27 -
 2 files changed, 126 insertions(+), 2 deletions(-)
 create mode 100644 examples/libsmbclient/testfstatvfs.c


Changeset truncated at 500 lines:

diff --git a/examples/libsmbclient/testfstatvfs.c 
b/examples/libsmbclient/testfstatvfs.c
new file mode 100644
index 000..9db70cf
--- /dev/null
+++ b/examples/libsmbclient/testfstatvfs.c
@@ -0,0 +1,101 @@
+#include 
+#include 
+#include  
+#include 
+#include  
+#include  
+#include 
+#include  
+#include "get_auth_data_fn.h"
+
+
+int main(int argc, char * argv[]) 
+{ 
+int i;
+int fd;
+int ret;
+int debug = 0;
+char *  p;
+charpath[2048];
+struct stat statbuf;
+struct statvfs  statvfsbuf;
+
+smbc_init(get_auth_data_fn, debug); 
+
+for (;;)
+{
+fprintf(stdout, "Path: ");
+*path = '\0';
+fgets(path, sizeof(path) - 1, stdin);
+if (strlen(path) == 0)
+{
+return 0;
+}
+
+p = path + strlen(path) - 1;
+if (*p == '\n')
+{
+*p = '\0';
+}
+
+/* Determine if it's a file or a folder */
+if (smbc_stat(path, &statbuf) < 0)
+{
+perror("smbc_stat");
+continue;
+}
+
+if (S_ISREG(statbuf.st_mode))
+{
+if ((fd = smbc_open(path, O_RDONLY, 0)) < 0)
+{
+perror("smbc_open");
+continue;
+}
+}
+else
+{
+if ((fd = smbc_opendir(path)) < 0)
+{
+perror("smbc_opendir");
+continue;
+}
+}
+
+ret = smbc_fstatvfs(fd, &statvfsbuf);
+
+smbc_close(fd);
+
+if (ret < 0)
+{
+perror("fstatvfs");
+}
+else if (statvfsbuf.f_flag == 0)
+{
+printf("No capabilities found\n");
+}
+else
+{
+printf("Capabilities: ");
+
+if (statvfsbuf.f_flag & SMBC_VFS_CAP_UNIXCIFS)
+{
+printf("UNIXCIFS ");
+}
+
+if (statvfsbuf.f_flag & SMBC_VFS_CAP_CASE_SENSITIVE)
+{
+printf("CASE_SENSITIVE ");
+}
+
+if (statvfsbuf.f_flag & SMBC_VFS_CAP_DFS)
+{
+printf("DFS ");
+}
+
+printf("\n");
+}
+}
+
+return 0; 
+}
diff --git a/source/libsmb/libsmb_stat.c b/source/libsmb/libsmb_stat.c
index a9c3647..71dc1d1 100644
--- a/source/libsmb/libsmb_stat.c
+++ b/source/libsmb/libsmb_stat.c
@@ -310,14 +310,37 @@ SMBC_fstatvfs_ctx(SMBCCTX *context,
   SMBCFILE *file,
   struct statvfs *st)
 {
+   uint32 fs_attrs = 0;
+   struct cli_state *cli = file->srv->cli;
+
 /* Initialize all fields (at least until we actually use them) */
 memset(st, 0, sizeof(*st));
 
 /* See if the server has UNIX CIFS support */
-if (SERVER_HAS_UNIX_CIFS(file->srv->cli))
-{
+if (SERVER_HAS_UNIX_CIFS(cli)) {
 st->f_flag |= SMBC_VFS_CAP_UNIXCIFS;
 }
 
+/* See if the share is case sensitive */
+if (!cli_get_fs_attr_info(cli, &fs_attrs)) {
+/*
+ * We can't determine the case sensitivity of
+ * the share. We have no choice but to use the
+ * user-specified case sensitivity setting.
+ */
+if (smbc_getOptionCaseSensitive(context)) {
+st->f_flag |= SMBC_VFS_CAP_CASE_SENSITIVE;
+}
+} else {
+if (fs_attrs & FILE_CASE_SENSITIVE_SEARCH) {
+st->f_flag |= SMBC_VFS_CAP_CASE_SENSITIVE;
+}
+}
+
+/* See if DFS is supported */
+   if ((cli->capabilities & CAP_DFS) && cli->dfsroot) {
+st->f_flag |= SMBC_VFS_CAP_DFS;
+}
+
 return 0;
 }


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-701-gb4a4d4c

2009-02-09 Thread Steven Danneman
The branch, master has been updated
   via  b4a4d4c9d06c93188d9705f944cde8ed359bd3f3 (commit)
  from  1d65b7a742eede647c893bac04f3a695e66228f5 (commit)

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


- Log -
commit b4a4d4c9d06c93188d9705f944cde8ed359bd3f3
Author: todd stecher 
Date:   Sun Feb 8 23:43:21 2009 -0800

S3: Various fixes for log2pcaphex utility

---

Summary of changes:
 source3/utils/log2pcaphex.c |  162 ++-
 1 files changed, 113 insertions(+), 49 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/utils/log2pcaphex.c b/source3/utils/log2pcaphex.c
index 20cc40c..072d659 100644
--- a/source3/utils/log2pcaphex.c
+++ b/source3/utils/log2pcaphex.c
@@ -8,10 +8,33 @@
Portions (from capconvert.c) (C) Andrew Tridgell 1997
Portions (from text2pcap.c) (C) Ashok Narayanan 2001
 
-   Example use with -h parameter: 
-   log2pcaphex < samba-log-file | text2pcap -T 139,139 - foo.pcap
-
-   TODO: Have correct IP and TCP checksums.
+   Example:
+   Output NBSS(SMB) packets in hex and convert to pcap adding
+   Eth/IP/TCP headers
+
+   log2pcap -h < samba.log | text2pcap -T 139,139 - samba.pcap
+
+   Output directly to pcap format without Eth headers or TCP
+   sequence numbers
+
+   log2pcap samba.log samba.pcap
+
+TODO:
+   - Hex to text2pcap outputs are not properly parsed in Wireshark
+ the NBSS or SMB level.  This is a bug.
+   - Writing directly to pcap format doesn't include sequence numbers
+ in the TCP packets
+   - Check if a packet is a response or request and set IP to/from
+ addresses accordingly.  Currently all packets come from the same
+ dummy IP and go to the same dummy IP
+   - Add a message when done parsing about the number of pacekts
+ processed
+   - Parse NBSS packet header data from log file
+   - Have correct IP and TCP checksums.
+
+   Warning:
+   Samba log level 10 outputs a max of 512 bytes from the packet data
+   section.  Packets larger than this will be truncated.
 
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
@@ -35,8 +58,8 @@
 
 #include 
 
-bool quiet = 0;
-bool hexformat = 0;
+int quiet = 0;
+int hexformat = 0;
 
 #define itoa(a) ((a) < 0xa?'0'+(a):'A' + (a-0xa))
 
@@ -95,7 +118,7 @@ typedef struct {
 
 static hdr_tcp_t HDR_TCP = {139, 139, 0, 0, 0x50, 0, 0, 0, 0};
 
-static void print_pcap_header(FILE *out)
+void print_pcap_header(FILE *out)
 {
struct tcpdump_file_header h;
h.magic = TCPDUMP_MAGIC;
@@ -108,7 +131,7 @@ static void print_pcap_header(FILE *out)
fwrite(&h, sizeof(struct tcpdump_file_header), 1, out);
 }
 
-static void print_pcap_packet(FILE *out, unsigned char *data, long length, 
long caplen)
+void print_pcap_packet(FILE *out, unsigned char *data, long length, long 
caplen)
 {
static int i = 0;
struct tcpdump_packet p;
@@ -121,7 +144,7 @@ static void print_pcap_packet(FILE *out, unsigned char 
*data, long length, long
fwrite(data, sizeof(unsigned char), caplen, out);
 }
 
-static void print_hex_packet(FILE *out, unsigned char *data, long length)
+void print_hex_packet(FILE *out, unsigned char *data, long length)
 {
long i,cur = 0;
while(cur < length) {
@@ -135,13 +158,13 @@ static void print_hex_packet(FILE *out, unsigned char 
*data, long length)
}
 }
 
-static void print_netbios_packet(FILE *out, unsigned char *data, long length, 
long actual_length)
+void print_netbios_packet(FILE *out, unsigned char *data, long length, long 
actual_length)
 {  
unsigned char *newdata; long offset = 0;
long newlen;

newlen = length+sizeof(HDR_IP)+sizeof(HDR_TCP);
-   newdata = (unsigned char *)malloc(newlen);
+   newdata = malloc(newlen);
 
HDR_IP.packet_length = htons(newlen);
HDR_TCP.window = htons(0x2000);
@@ -156,68 +179,115 @@ static void print_netbios_packet(FILE *out, unsigned 
char *data, long length, lo
 }
 
 unsigned char *curpacket = NULL;
-long curpacket_len = 0;
-
-static void read_log_msg(FILE *in, unsigned char **_buffer, long *buffersize, 
long *data_offset, long *data_length)
+unsigned short curpacket_len = 0;
+long line_num = 0;
+
+/* Read the log message produced by lib/util.c:show_msg() containing the:
+ *  SMB_HEADER
+ *  SMB_PARAMETERS
+ *  SMB_DATA.ByteCount
+ *
+ * Example:
+ * [2007/04/08 20:41:39, 5] lib/util.c:show_msg(516)
+ *   size=144
+ *   smb_com=0x73
+ *   smb_rcls=0
+ *   smb_reh=0
+ *   smb_err=0
+ *   smb_flg=136
+ *   smb_flg2=49153
+ *   smb_tid=1
+ *   smb_pid=65279
+ *   smb_uid=0
+ *   smb_mid=64
+ *   smt_wct=3
+ *   smb_vwv[ 0]=  117 (0x75)
+ *   smb_vwv[ 1]=  128 (0x80)
+ *   smb_

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-700-g1d65b7a

2009-02-09 Thread Tim Prouty
The branch, master has been updated
   via  1d65b7a742eede647c893bac04f3a695e66228f5 (commit)
  from  ecc53d0312dbe0af85ae490e4f4953e1ad4906fb (commit)

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


- Log -
commit 1d65b7a742eede647c893bac04f3a695e66228f5
Author: Tim Prouty 
Date:   Mon Feb 9 16:12:20 2009 -0800

s3 spoolss: arch needs to be set before it's passed to get_version_id.

7717ad688099860fa0989ed3582435404fd6d4fa left arch unitialized.

Guenther, please check.

---

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


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_spoolss_nt.c 
b/source3/rpc_server/srv_spoolss_nt.c
index bbbf414..a0b689c 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -2019,6 +2019,9 @@ WERROR _spoolss_DeletePrinterDriver(pipes_struct *p,
return WERR_ACCESS_DENIED;
}
 
+   driver = CONST_DISCARD(char *, r->in.driver);
+   arch   = CONST_DISCARD(char *, r->in.architecture);
+
/* check that we have a valid driver name first */
 
if ((version=get_version_id(arch)) == -1)
@@ -2027,9 +2030,6 @@ WERROR _spoolss_DeletePrinterDriver(pipes_struct *p,
ZERO_STRUCT(info);
ZERO_STRUCT(info_win2k);
 
-   driver = CONST_DISCARD(char *, r->in.driver);
-   arch   = CONST_DISCARD(char *, r->in.architecture);
-
if (!W_ERROR_IS_OK(get_a_printer_driver(&info, 3, driver, arch, 
version)))
{
/* try for Win2k driver if "Windows NT x86" */


-- 
Samba Shared Repository


Build status as of Tue Feb 10 00:00:02 2009

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

--- /home/build/master/cache/broken_results.txt.old 2009-02-09 
00:00:24.0 +
+++ /home/build/master/cache/broken_results.txt 2009-02-10 00:00:30.0 
+
@@ -1,23 +1,23 @@
-Build status as of Mon Feb  9 00:00:02 2009
+Build status as of Tue Feb 10 00:00:02 2009
 
 Build counts:
 Tree Total  Broken Panic 
 build_farm   0  0  0 
-ccache   27 6  0 
+ccache   30 6  0 
 ctdb 0  0  0 
 distcc   1  0  0 
-ldb  27 28 0 
-libreplace   27 11 0 
-lorikeet-heimdal 24 14 0 
-pidl 17 2  0 
-ppp  10 0  0 
-rsync28 8  0 
+ldb  30 30 0 
+libreplace   28 11 0 
+lorikeet-heimdal 26 14 0 
+pidl 18 3  0 
+ppp  11 0  0 
+rsync30 8  0 
 samba-docs   0  0  0 
 samba-gtk5  5  0 
-samba_3_X_devel 26 23 0 
-samba_3_X_test 26 23 0 
-samba_4_0_test 28 24 1 
-smb-build26 5  0 
-talloc   28 28 0 
-tdb  25 9  0 
+samba_3_X_devel 27 26 0 
+samba_3_X_test 27 24 0 
+samba_4_0_test 28 24 0 
+smb-build28 7  0 
+talloc   30 30 0 
+tdb  27 9  0 
 


[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4925-gc8e295a

2009-02-09 Thread Michael Adam
The branch, v3-3-test has been updated
   via  c8e295a1b5216c1190ec5d555606b3eadabab82a (commit)
  from  b16d6aaf981e6b0b7c706f6abd659dc3cde30094 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit c8e295a1b5216c1190ec5d555606b3eadabab82a
Author: Michael Adam 
Date:   Mon Feb 9 23:26:36 2009 +0100

Revert "s3:winbindd_user: create domain connection in winbindd_fill_pwent 
if necessary."

This reverts commit 3981603761a1cc6fb74ff135fadf4ab3340be1c5.

I was confused about the real meaning of find_domain_from_name_noinit()
vs. find_domain_from_name(). We don't need the connection established
here, just the domain struct which gets initialized by 
rescan_trusted_domains().

Sorry for the noise.

Michael

---

Summary of changes:
 source/winbindd/winbindd_user.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd_user.c b/source/winbindd/winbindd_user.c
index 8b481f9..a6740b1 100644
--- a/source/winbindd/winbindd_user.c
+++ b/source/winbindd/winbindd_user.c
@@ -80,7 +80,7 @@ static bool winbindd_fill_pwent(TALLOC_CTX *ctx, char 
*dom_name, char *user_name
if (!pw || !dom_name || !user_name)
return False;
 
-   domain = find_domain_from_name(dom_name);
+   domain = find_domain_from_name_noinit(dom_name);
if (domain == NULL) {
DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.\n",
 dom_name));


-- 
Samba Shared Repository


[SCM] SAMBA-CTDB repository - branch v3-2-ctdb updated - build_3.2.7_ctdb.54-107-g4b392ba

2009-02-09 Thread Michael Adam
The branch, v3-2-ctdb has been updated
   via  4b392baa28a59c6c0b0eaa774b59e204f17fb1fe (commit)
   via  197b4c42bbf53347f4953e39099192693d709a7d (commit)
  from  9b5bb1d51f0c6c9a5c0a32468ad878ab6ec2a4c2 (commit)

http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-2-ctdb


- Log -
commit 4b392baa28a59c6c0b0eaa774b59e204f17fb1fe
Merge: 9b5bb1d51f0c6c9a5c0a32468ad878ab6ec2a4c2 
197b4c42bbf53347f4953e39099192693d709a7d
Author: Michael Adam 
Date:   Mon Feb 9 23:41:16 2009 +0100

Merge commit 'origin/v3-2-test' into v3-2-ctdb

commit 197b4c42bbf53347f4953e39099192693d709a7d
Author: Volker Lendecke 
Date:   Mon Feb 9 12:32:16 2009 +0100

Fix count in _srvsvc_NetDiskEnum()

Without this, remotely adding a share via MMC fails

---

Summary of changes:
 source/rpc_server/srv_srvsvc_nt.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_srvsvc_nt.c 
b/source/rpc_server/srv_srvsvc_nt.c
index c9d7748..c22363e 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -2316,6 +2316,8 @@ WERROR _srvsvc_NetDiskEnum(pipes_struct *p,
 
/*allow one struct srvsvc_NetDiskInfo0 for null terminator*/
 
+   r->out.info->count = 0;
+
for(i = 0; i < MAX_SERVER_DISK_ENTRIES -1 && (disk_name = 
next_server_disk_enum(&resume)); i++) {
 
r->out.info->count++;


-- 
SAMBA-CTDB repository


[SCM] SAMBA-CTDB repository - branch v3-2-ctdb updated - build_3.2.7_ctdb.54-105-g9b5bb1d

2009-02-09 Thread Michael Adam
The branch, v3-2-ctdb has been updated
   via  9b5bb1d51f0c6c9a5c0a32468ad878ab6ec2a4c2 (commit)
   via  0696a89d50dde29cb5fc4daf4d70f5eab68f73a6 (commit)
   via  13745d1d2189d11821ab8bbe5bd3ee179fb9084d (commit)
   via  4cd1268d27d97ccc018257d2775e0bc1403a (commit)
   via  3fd54adb6c6e60081fe723e99dd5d54542634594 (commit)
  from  b392a2441b393cc19235e3f287e438f8b8c62579 (commit)

http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-2-ctdb


- Log -
commit 9b5bb1d51f0c6c9a5c0a32468ad878ab6ec2a4c2
Author: Tim Prouty 
Date:   Sun Feb 1 23:59:53 2009 -0800

s3 build: Fix "assignment discards qualifiers from pointer target type" 
warnings

Signed-off-by: Michael Adam 

commit 0696a89d50dde29cb5fc4daf4d70f5eab68f73a6
Author: Michael Adam 
Date:   Mon Feb 9 16:08:19 2009 +0100

s3:winbind_user: fix "getent passwd" to allocate new uids.

"getent passwd" used to fill the idmap cache with negative
cache entries for unmapped user sids.

Don't pass domain name unconditionally to idmap_sid_to_[ug]id().
idmap_sid_to_[ug]id() only creates new mappings (allocating
idmap backends tdb, tdb2, ldap...) when the domain name passed
in is "".

Note that it is _wrong_ to directly call the idmap_sid_to_[ug]id()
functions here, in the main winbindd. The correct fix would be
to send a sid_to_[ug]id request to winbindd itself, but this needs
more work to prepare the async mechanisms, and we nee a quick
fix for getent passwd now.

Michael

commit 13745d1d2189d11821ab8bbe5bd3ee179fb9084d
Author: Michael Adam 
Date:   Mon Feb 2 00:46:57 2009 +0100

s3:winbind_group: fix "getent group" to allocate new gids.

"getent group" used to fill the idmap cache with negative
cache entries for unmapped group sids.

Don't pass domain name unconditionally to idmap_sid_to_gid().
idmap_sid_to_gid() only creates new mappings (allocating
idmap backends tdb, tdb2, ldap...) when the domain name passed
in is "".

Note that it is _wrong_ to directly call the idmap_sid_to_gid()
functions here, in the main winbindd. The correct fix would be
to send a sid_to_gid request to winbindd itself, but this needs
more work to prepare the async mechanisms, and we nee a quick
fix for getent passwd now.

Michael
(cherry picked from commit 8c64302915bde8a5400b575389b12e0eaf2cf140)

Signed-off-by: Michael Adam 

commit 4cd1268d27d97ccc018257d2775e0bc1403a
Author: todd stecher 
Date:   Thu Jan 22 10:17:37 2009 -0800

Memory leaks and other fixes found by Coverity

(This is the winbindd_group.c portion of the patch - obnox)

Signed-off-by: Michael Adam 

commit 3fd54adb6c6e60081fe723e99dd5d54542634594
Author: todd stecher 
Date:   Thu Jan 22 10:17:37 2009 -0800

Memory leaks and other fixes found by Coverity

(This is the winbindd_user.c portion of the patch - obnox)

Signed-off-by: Michael Adam 

---

Summary of changes:
 source/winbindd/winbindd_group.c |   14 +++---
 source/winbindd/winbindd_user.c  |   26 +-
 2 files changed, 32 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd_group.c b/source/winbindd/winbindd_group.c
index 75ec28c..b2d2965 100644
--- a/source/winbindd/winbindd_group.c
+++ b/source/winbindd/winbindd_group.c
@@ -880,7 +880,13 @@ static void getgrgid_recv(void *private_data, bool 
success, const char *sid)
DEBUG(10,("getgrgid_recv: gid %lu has sid %s\n",
  (unsigned long)(state->request.data.gid), sid));
 
-   string_to_sid(&group_sid, sid);
+   if (!string_to_sid(&group_sid, sid)) {
+   DEBUG(1,("getgrgid_recv: Could not convert sid %s "
+   "from string\n", sid));
+   request_error(state);
+   return;
+   }
+
winbindd_getgrsid(state, group_sid);
return;
}
@@ -1236,8 +1242,10 @@ void winbindd_getgrent(struct winbindd_cli_state *state)
sid_copy(&group_sid, &domain->sid);
sid_append_rid(&group_sid, name_list[ent->sam_entry_index].rid);
 
-   if (!NT_STATUS_IS_OK(idmap_sid_to_gid(domain->name, &group_sid,
- &group_gid))) {
+   if (!NT_STATUS_IS_OK(idmap_sid_to_gid(domain->have_idmap_config
+ ? domain->name : "",
+ &group_sid, &group_gid)))
+   {
union unid_t id;
enum lsa_SidType type;
 
diff --git a/source/winbindd/winbindd_user.c b/sour

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-699-gecc53d0

2009-02-09 Thread Michael Adam
The branch, master has been updated
   via  ecc53d0312dbe0af85ae490e4f4953e1ad4906fb (commit)
  from  69fff2d750fff7742c437d89831804afd674d9d1 (commit)

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


- Log -
commit ecc53d0312dbe0af85ae490e4f4953e1ad4906fb
Author: Michael Adam 
Date:   Mon Feb 9 23:24:31 2009 +0100

Revert "s3:winbindd_user: create domain connection in winbindd_fill_pwent 
if necessary."

This reverts commit 487f5e7b4768cfe9e511b0ba56f16c411e21f702.

I was confused about the real meaning of find_domain_from_name_noinit()
vs. find_domain_from_name(). We don't need the connection established
here, just the domain struct which gets initialized by 
rescan_trusted_domains().

Sorry for the noise.

Michael

---

Summary of changes:
 source3/winbindd/winbindd_user.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_user.c b/source3/winbindd/winbindd_user.c
index 8b481f9..a6740b1 100644
--- a/source3/winbindd/winbindd_user.c
+++ b/source3/winbindd/winbindd_user.c
@@ -80,7 +80,7 @@ static bool winbindd_fill_pwent(TALLOC_CTX *ctx, char 
*dom_name, char *user_name
if (!pw || !dom_name || !user_name)
return False;
 
-   domain = find_domain_from_name(dom_name);
+   domain = find_domain_from_name_noinit(dom_name);
if (domain == NULL) {
DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.\n",
 dom_name));


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-698-g69fff2d

2009-02-09 Thread Jelmer Vernooij
The branch, master has been updated
   via  69fff2d750fff7742c437d89831804afd674d9d1 (commit)
  from  73c603562fe22727d9fc313446e1d899038097f5 (commit)

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


- Log -
commit 69fff2d750fff7742c437d89831804afd674d9d1
Author: Jelmer Vernooij 
Date:   Mon Feb 9 23:29:41 2009 +0100

Revert "Fix errornos assumption that all compilers are gcc"

This breaks (some?) files with gcc.

This reverts commit 98a4327b19e83ffad4e0be7e8895fdbd9e48d49f.

---

Summary of changes:
 pidl/idl.yp |2 +-
 pidl/lib/Parse/Pidl/IDL.pm  |2 +-
 source4/build/pasn1/asn1.yp |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/idl.yp b/pidl/idl.yp
index 7838420..d557590 100644
--- a/pidl/idl.yp
+++ b/pidl/idl.yp
@@ -490,7 +490,7 @@ sub parse_file($$)
$cpp = "cpp";
}
my $includes = join('',map { " -I$_" } @$incdirs);
-   my $data = `$cpp -D__PIDL__$includes $filename`;
+   my $data = `$cpp -D__PIDL__$includes -xc $filename`;
$/ = $saved_delim;
 
return parse_string($data, $filename);
diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
index b2b5e3d..06d54fb 100644
--- a/pidl/lib/Parse/Pidl/IDL.pm
+++ b/pidl/lib/Parse/Pidl/IDL.pm
@@ -2525,7 +2525,7 @@ sub parse_file($$)
$cpp = "cpp";
}
my $includes = join('',map { " -I$_" } @$incdirs);
-   my $data = `$cpp -D__PIDL__$includes $filename`;
+   my $data = `$cpp -D__PIDL__$includes -xc $filename`;
$/ = $saved_delim;
 
return parse_string($data, $filename);
diff --git a/source4/build/pasn1/asn1.yp b/source4/build/pasn1/asn1.yp
index 24aef05..7fc834f 100644
--- a/source4/build/pasn1/asn1.yp
+++ b/source4/build/pasn1/asn1.yp
@@ -296,7 +296,7 @@ sub parse_asn1($$)
if (! defined $cpp) {
$cpp = "cpp"
}
-   my $data = `$cpp $filename`;
+   my $data = `$cpp -xc $filename`;
$/ = $saved_delim;
 
 $self->YYData->{INPUT} = $data;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-697-g73c6035

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  73c603562fe22727d9fc313446e1d899038097f5 (commit)
   via  0d281b76a987442a91003eb3b6a2f659b4a1c61c (commit)
   via  43463fcc1eef6b0a674e0e5079341523e2406a5a (commit)
   via  cb1ada9cc0ea3af889d874a2f3092560b0cec928 (commit)
  from  f94b8ef9c05057fd51d859721128007480ccc9f4 (commit)

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


- Log -
commit 73c603562fe22727d9fc313446e1d899038097f5
Author: Günther Deschner 
Date:   Mon Feb 9 22:30:54 2009 +0100

s3-spoolss: remove old spoolss_ScheduleJob.

Guenther

commit 0d281b76a987442a91003eb3b6a2f659b4a1c61c
Author: Günther Deschner 
Date:   Mon Feb 9 22:30:23 2009 +0100

s3-spoolss: use pidl for _spoolss_ScheduleJob.

Guenther

commit 43463fcc1eef6b0a674e0e5079341523e2406a5a
Author: Günther Deschner 
Date:   Mon Feb 9 22:12:38 2009 +0100

s3-spoolss: remove old spoolss_AddJob.

Guenther

commit cb1ada9cc0ea3af889d874a2f3092560b0cec928
Author: Günther Deschner 
Date:   Mon Feb 9 22:12:15 2009 +0100

s3-spoolss: use pidl for _spoolss_AddJob.

Guenther

---

Summary of changes:
 source3/include/proto.h |6 --
 source3/include/rpc_spoolss.h   |   30 
 source3/rpc_parse/parse_spoolss.c   |   90 ---
 source3/rpc_server/srv_spoolss.c|   44 +
 source3/rpc_server/srv_spoolss_nt.c |   51 +--
 5 files changed, 16 insertions(+), 205 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 7deaff3..e5dbe60 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5920,8 +5920,6 @@ bool make_spoolss_q_setprinter(TALLOC_CTX *mem_ctx, 
SPOOL_Q_SETPRINTER *q_u,
uint32 command);
 bool spoolss_io_r_setprinter(const char *desc, SPOOL_R_SETPRINTER *r_u, 
prs_struct *ps, int depth);
 bool spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, 
prs_struct *ps, int depth);
-bool spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_struct 
*ps, int depth);
-bool spoolss_io_q_addjob(const char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct 
*ps, int depth);
 bool spoolss_io_r_enumjobs(const char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct 
*ps, int depth);
 bool make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS *q_u, const POLICY_HND *hnd,
uint32 firstjob,
@@ -5930,8 +5928,6 @@ bool make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS *q_u, const 
POLICY_HND *hnd,
RPC_BUFFER *buffer,
uint32 offered);
 bool spoolss_io_q_enumjobs(const char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct 
*ps, int depth);
-bool spoolss_io_r_schedulejob(const char *desc, SPOOL_R_SCHEDULEJOB *r_u, 
prs_struct *ps, int depth);
-bool spoolss_io_q_schedulejob(const char *desc, SPOOL_Q_SCHEDULEJOB *q_u, 
prs_struct *ps, int depth);
 bool spoolss_io_r_setjob(const char *desc, SPOOL_R_SETJOB *r_u, prs_struct 
*ps, int depth);
 bool spoolss_io_q_setjob(const char *desc, SPOOL_Q_SETJOB *q_u, prs_struct 
*ps, int depth);
 bool spoolss_io_r_enumprinterdrivers(const char *desc, 
SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth);
@@ -6261,9 +6257,7 @@ WERROR _spoolss_startdocprinter(pipes_struct *p, 
SPOOL_Q_STARTDOCPRINTER *q_u, S
 WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char 
*portname, const char *uri );
 bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, 
NT_PRINTER_INFO_LEVEL *printer);
 WERROR _spoolss_setprinter(pipes_struct *p, SPOOL_Q_SETPRINTER *q_u, 
SPOOL_R_SETPRINTER *r_u);
-WERROR _spoolss_addjob(pipes_struct *p, SPOOL_Q_ADDJOB *q_u, SPOOL_R_ADDJOB 
*r_u);
 WERROR _spoolss_enumjobs( pipes_struct *p, SPOOL_Q_ENUMJOBS *q_u, 
SPOOL_R_ENUMJOBS *r_u);
-WERROR _spoolss_schedulejob( pipes_struct *p, SPOOL_Q_SCHEDULEJOB *q_u, 
SPOOL_R_SCHEDULEJOB *r_u);
 WERROR _spoolss_setjob(pipes_struct *p, SPOOL_Q_SETJOB *q_u, SPOOL_R_SETJOB 
*r_u);
 WERROR _spoolss_enumprinterdrivers( pipes_struct *p, 
SPOOL_Q_ENUMPRINTERDRIVERS *q_u, SPOOL_R_ENUMPRINTERDRIVERS *r_u);
 WERROR _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, 
SPOOL_R_ENUMFORMS *r_u);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 15814d4..d0fac59 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -873,23 +873,6 @@ typedef struct add_jobinfo_1
 ADD_JOBINFO_1;
 
 
-typedef struct spool_q_addjob
-{
-   POLICY_HND handle;
-   uint32 level;
-   RPC_BUFFER *buffer;
-   uint32 offered;
-}
-SPOOL_Q_ADDJOB;
-
-typedef struct spool_r_addjob
-{
-   RPC_BUFFER *buffer;
-   uint32 needed;
-   WERROR status;
-}
-SPOOL_R_ADDJOB;
-
 /*
  * I'm really wondering how many different time formats
  * I 

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-693-gf94b8ef

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  f94b8ef9c05057fd51d859721128007480ccc9f4 (commit)
   via  82c203799a048051e039e3ed95bdeeb9da0f5919 (commit)
   via  bfed6b1e22f800880c95cc484947c1bf0701b654 (commit)
  from  1696298aad3f84b6cd9008bb2684db572b34dfb5 (commit)

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


- Log -
commit f94b8ef9c05057fd51d859721128007480ccc9f4
Author: Günther Deschner 
Date:   Mon Feb 9 22:11:25 2009 +0100

s3: re-run make samba3-idl.

Guenther

commit 82c203799a048051e039e3ed95bdeeb9da0f5919
Author: Günther Deschner 
Date:   Mon Feb 9 22:30:07 2009 +0100

spoolss: fill in spoolss_ScheduleJob.

Guenther

commit bfed6b1e22f800880c95cc484947c1bf0701b654
Author: Günther Deschner 
Date:   Mon Feb 9 22:10:47 2009 +0100

spoolss: fill in spoolss_AddJob.

Guenther

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c |   17 ++
 librpc/gen_ndr/cli_spoolss.h |7 +++
 librpc/gen_ndr/ndr_spoolss.c |  119 ++
 librpc/gen_ndr/spoolss.h |   14 +
 librpc/gen_ndr/srv_spoolss.c |   15 +
 librpc/idl/spoolss.idl   |   11 +++-
 6 files changed, 181 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 3a6b53f..fbbbfd4 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -1190,12 +1190,21 @@ NTSTATUS rpccli_spoolss_EndDocPrinter(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
+  struct policy_handle *handle /* [in] [ref] */,
+  uint32_t level /* [in]  */,
+  uint8_t *buffer /* [in,out] 
[unique,size_is(offered)] */,
+  uint32_t offered /* [in]  */,
+  uint32_t *needed /* [out] [ref] */,
   WERROR *werror)
 {
struct spoolss_AddJob r;
NTSTATUS status;
 
/* In parameters */
+   r.in.handle = handle;
+   r.in.level = level;
+   r.in.buffer = buffer;
+   r.in.offered = offered;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_AddJob, &r);
@@ -1220,6 +1229,10 @@ NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client 
*cli,
}
 
/* Return variables */
+   if (buffer && r.out.buffer) {
+   memcpy(buffer, r.out.buffer, r.in.offered * sizeof(*buffer));
+   }
+   *needed = *r.out.needed;
 
/* Return result */
if (werror) {
@@ -1231,12 +1244,16 @@ NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client 
*cli,
 
 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
+   struct policy_handle *handle /* [in] [ref] 
*/,
+   uint32_t jobid /* [in]  */,
WERROR *werror)
 {
struct spoolss_ScheduleJob r;
NTSTATUS status;
 
/* In parameters */
+   r.in.handle = handle;
+   r.in.jobid = jobid;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_ScheduleJob, &r);
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index 2447f18..852f53d 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -167,9 +167,16 @@ NTSTATUS rpccli_spoolss_EndDocPrinter(struct 
rpc_pipe_client *cli,
  WERROR *werror);
 NTSTATUS rpccli_spoolss_AddJob(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
+  struct policy_handle *handle /* [in] [ref] */,
+  uint32_t level /* [in]  */,
+  uint8_t *buffer /* [in,out] 
[unique,size_is(offered)] */,
+  uint32_t offered /* [in]  */,
+  uint32_t *needed /* [out] [ref] */,
   WERROR *werror);
 NTSTATUS rpccli_spoolss_ScheduleJob(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
+   struct policy_handle *handle /* [in] [ref] 
*/,
+   uint32_t jobid /* [in]  */,
WERROR *werror);
 NTSTATUS rpccli_spoolss_GetPrinterData(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 8c23069..8cc9957 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -11665,8 +11665,28 @@ _PUBLIC_ void ndr_print_spoolss_En

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-690-g1696298

2009-02-09 Thread Tim Prouty
The branch, master has been updated
   via  1696298aad3f84b6cd9008bb2684db572b34dfb5 (commit)
   via  f8c0d2fe010e06bed02fab7f51e000907535416a (commit)
   via  54c51a66e3e31c70a641d7efac2d4b08c3007278 (commit)
  from  98a4327b19e83ffad4e0be7e8895fdbd9e48d49f (commit)

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


- Log -
commit 1696298aad3f84b6cd9008bb2684db572b34dfb5
Author: Tim Prouty 
Date:   Mon Feb 9 09:36:40 2009 -0800

s3 async: Fix the build on systems that have ETIMEDOUT but not ETIME

Fallback on EAGAIN

commit f8c0d2fe010e06bed02fab7f51e000907535416a
Author: todd stecher 
Date:   Sun Feb 8 23:12:02 2009 -0800

S3 OneFS: Add in Isilon specific performance counter module

commit 54c51a66e3e31c70a641d7efac2d4b08c3007278
Author: todd stecher 
Date:   Sun Feb 8 23:10:34 2009 -0800

S3: New module interface for SMB message statistics gathering

This changelist allows for the addition of custom performance
monitoring modules through smb.conf. Entrypoints in the main message
processing code have been added to capture the command, subop, ioctl,
identity and message size statistics.

---

Summary of changes:
 docs-xml/smbdotconf/misc/perfcountmodule.xml |   13 +
 lib/async_req/async_sock.c   |4 +-
 source3/Makefile.in  |   13 +-
 source3/configure.in |5 +-
 source3/include/includes.h   |1 +
 source3/include/proto.h  |5 +-
 source3/include/smb.h|3 +
 source3/include/smb_perfcount.h  |  106 +++
 source3/lib/util_sock.c  |   11 +-
 source3/modules/perfcount_onefs.c|  415 ++
 source3/param/loadparm.c |   11 +
 source3/smbd/aio.c   |8 +-
 source3/smbd/blocking.c  |6 +-
 source3/smbd/ipc.c   |9 +-
 source3/smbd/notify.c|2 +-
 source3/smbd/nttrans.c   |8 +-
 source3/smbd/oplock.c|9 +-
 source3/smbd/perfcount.c |  192 
 source3/smbd/pipes.c |3 +-
 source3/smbd/process.c   |   61 +++-
 source3/smbd/reply.c |   10 +-
 source3/smbd/trans2.c|5 +-
 22 files changed, 855 insertions(+), 45 deletions(-)
 create mode 100644 docs-xml/smbdotconf/misc/perfcountmodule.xml
 create mode 100644 source3/include/smb_perfcount.h
 create mode 100644 source3/modules/perfcount_onefs.c
 create mode 100644 source3/smbd/perfcount.c


Changeset truncated at 500 lines:

diff --git a/docs-xml/smbdotconf/misc/perfcountmodule.xml 
b/docs-xml/smbdotconf/misc/perfcountmodule.xml
new file mode 100644
index 000..f22c399
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/perfcountmodule.xml
@@ -0,0 +1,13 @@
+http://www.samba.org/samba/DTD/samba-doc";>
+
+   This parameter specifies the perfcount backend to be used when 
monitoring SMB
+   operations.  Only one perfcount module may be used, and it must 
implement all of the
+   apis contained in the smb_perfcount_handler structure defined in smb.h.
+   
+
+
+
diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index 46ad29d..02ae880 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -116,10 +116,10 @@ bool async_req_is_errno(struct async_req *req, int *err)
*err = (int)error;
break;
case ASYNC_REQ_TIMED_OUT:
-#ifdef HAVE_ETIMEDOUT
+#ifdef ETIMEDOUT
*err = ETIMEDOUT;
 #else
-   *err = EIO;
+   *err = EAGAIN;
 #endif
break;
case ASYNC_REQ_NO_MEMORY:
diff --git a/source3/Makefile.in b/source3/Makefile.in
index ee75eb3..942c5b3 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -108,6 +108,7 @@ MODULESDIR = @modulesdir@
 included...@includedir@
 PAMMODULESDIR = @pammodulesdir@
 VFSLIBDIR = $(MODULESDIR)/vfs
+PERFCOUNTLIBDIR = $(MODULESDIR)/perfcount
 PDBLIBDIR = $(MODULESDIR)/pdb
 RPCLIBDIR = $(MODULESDIR)/rpc
 IDMAPLIBDIR = $(MODULESDIR)/idmap
@@ -220,6 +221,7 @@ NSS_MODULES = @NSS_MODULES@
 SCRIPTS = $(srcdir)/script/smbtar $(builddir)/script/findsmb
 
 VFS_MODULES = @VFS_MODULES@
+PERFCOUNT_MODULES = @PERFCOUNT_MODULES@
 PDB_MODULES = @PDB_MODULES@
 RPC_MODULES = @RPC_MODULES@
 IDMAP_MODULES = @IDMAP_MODULES@
@@ -229,7 +231,7 @@ NSS_INFO_MODULES = @NSS_INFO_MODULES@
 GPEXT_MODULES = @GPEXT_MODULES@
 MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) \
   $(CHARSET_MODULES) $(AUTH_MODULES) $(NSS_INFO_MODULES) \
- $(GPEXT_MODULES)
+ $(GPEXT_MODULES) $(PERFCOUNT_MODULES)
 
 E

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-687-g98a4327

2009-02-09 Thread Jelmer Vernooij
The branch, master has been updated
   via  98a4327b19e83ffad4e0be7e8895fdbd9e48d49f (commit)
  from  cc51cbc862055975bcef016876662576b00e72ef (commit)

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


- Log -
commit 98a4327b19e83ffad4e0be7e8895fdbd9e48d49f
Author: Torgeir Lerkerod 
Date:   Mon Feb 9 21:11:13 2009 +0100

Fix errornos assumption that all compilers are gcc

When compiling Samba 4's IDL files buildsystem assumes that compiler
knows about -xc, which is a gcc spesefic switch as this switch isn't
needed on gcc either the flag was uneeded and can be removed. Thus no
warnings on non gcc systems.

Signed-off-by: Torgeir Lerkerod 
Signed-off-by: Jelmer Vernooij 

---

Summary of changes:
 pidl/idl.yp |2 +-
 pidl/lib/Parse/Pidl/IDL.pm  |2 +-
 source4/build/pasn1/asn1.yp |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/idl.yp b/pidl/idl.yp
index d557590..7838420 100644
--- a/pidl/idl.yp
+++ b/pidl/idl.yp
@@ -490,7 +490,7 @@ sub parse_file($$)
$cpp = "cpp";
}
my $includes = join('',map { " -I$_" } @$incdirs);
-   my $data = `$cpp -D__PIDL__$includes -xc $filename`;
+   my $data = `$cpp -D__PIDL__$includes $filename`;
$/ = $saved_delim;
 
return parse_string($data, $filename);
diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
index 06d54fb..b2b5e3d 100644
--- a/pidl/lib/Parse/Pidl/IDL.pm
+++ b/pidl/lib/Parse/Pidl/IDL.pm
@@ -2525,7 +2525,7 @@ sub parse_file($$)
$cpp = "cpp";
}
my $includes = join('',map { " -I$_" } @$incdirs);
-   my $data = `$cpp -D__PIDL__$includes -xc $filename`;
+   my $data = `$cpp -D__PIDL__$includes $filename`;
$/ = $saved_delim;
 
return parse_string($data, $filename);
diff --git a/source4/build/pasn1/asn1.yp b/source4/build/pasn1/asn1.yp
index 7fc834f..24aef05 100644
--- a/source4/build/pasn1/asn1.yp
+++ b/source4/build/pasn1/asn1.yp
@@ -296,7 +296,7 @@ sub parse_asn1($$)
if (! defined $cpp) {
$cpp = "cpp"
}
-   my $data = `$cpp -xc $filename`;
+   my $data = `$cpp $filename`;
$/ = $saved_delim;
 
 $self->YYData->{INPUT} = $data;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4924-gb16d6aa

2009-02-09 Thread Karolin Seeger
The branch, v3-3-test has been updated
   via  b16d6aaf981e6b0b7c706f6abd659dc3cde30094 (commit)
  from  ff6a1bebd589637a4aecb9c76b4e33f579d7b0df (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit b16d6aaf981e6b0b7c706f6abd659dc3cde30094
Author: Karolin Seeger 
Date:   Mon Feb 9 21:00:47 2009 +0100

docs: Add man sharesec.

Karolin
(cherry picked from commit cc51cbc862055975bcef016876662576b00e72ef)

---

Summary of changes:
 docs-xml/manpages-3/sharesec.1.xml |  220 
 1 files changed, 220 insertions(+), 0 deletions(-)
 create mode 100644 docs-xml/manpages-3/sharesec.1.xml


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/sharesec.1.xml 
b/docs-xml/manpages-3/sharesec.1.xml
new file mode 100644
index 000..d8ac510
--- /dev/null
+++ b/docs-xml/manpages-3/sharesec.1.xml
@@ -0,0 +1,220 @@
+
+http://www.samba.org/samba/DTD/samba-doc";>
+
+
+
+   sharesec
+   1
+   Samba
+   User Commands
+   3.3
+
+
+
+
+   sharesec
+   Set or get share ACLs
+
+
+
+   
+   sharesec
+   sharename
+   -r, --remove=ACL
+   -m, --modify=ACL
+   -a, --add=ACL
+   -R, --replace=ACLs
+   -D, --delete
+   -v, --view
+   -M, --machine-sid
+   -F, --force
+   -d, --debuglevel=DEBUGLEVEL
+   -s, --configfile=CONFIGFILE
+   -l, --log-basename=LOGFILEBASE
+   -V, --version
+   -?, --help
+   --usage
+   
+
+
+
+   DESCRIPTION
+
+   This tool is part of the 
samba
+   7 suite.
+
+   The sharesec program manipulates share 
permissions
+   on SMB file shares.
+
+
+
+
+   OPTIONS
+
+   The following options are available to the 
sharesec program.
+   The format of ACLs is described in the section ACL FORMAT 
+
+   
+   
+   -a|--add=ACL
+   Add the ACEs specified to the ACL list.
+   
+   
+
+   
+   -D|--delete
+   Delete the entire security descriptor.
+   
+   
+
+   
+   -F|--force
+   Force storing the ACL.
+   
+   
+
+   
+   -m|--modify=ACL
+   Modify existing ACEs.
+   
+   
+
+   
+   -M|--machine-sid
+   Initialize the machine SID.
+   
+   
+
+   
+   -r|--remove=ACL
+   Remove ACEs.
+   
+   
+
+   
+   -R|--replace=ACLS
+   
+   Overwrite an existing share permission ACL.
+   
+   
+
+   &stdarg.help;
+   &stdarg.server.debug;
+   &popt.common.samba;
+   
+
+
+
+
+   ACL FORMAT
+
+   The format of an ACL is one or more ACL entries separated by
+   either commas or newlines.  An ACL entry is one of the following: 

+
+   
+   REVISION:
+   OWNER:
+   GROUP:
+   ACL:://
+   
+
+   The revision of the ACL specifies the internal Windows
+   NT ACL revision for the security descriptor.
+   If not specified it defaults to 1. Using values other than 1 may
+   cause strange behaviour.
+
+   The owner and group specify the owner and group SIDs for the
+   object. If a SID in the format S-1-x-y-z is specified this is used,
+   otherwise the name specified is resolved using the server on which
+   the file or directory resides.
+
+   ACLs specify permissions granted to the SID. This SID
+   can be specified in S-1-x-y-z format or as a name in which case
+   it is resolved against the server on which the file or directory
+   resides.  The type, flags and mask values determine the type of
+   access granted to the SID.
+
+   The type can be either ALLOWED or DENIED to allow/deny access
+   to the SID. The flags values are generally zero for share ACLs.
+   
+
+   The mask is a value which expresses the access right
+   granted to the SID. It can be given as a decimal or hexadecimal value,
+   or by using one of the following text strings which map to the NT
+   file permissions of the same name.
+
+   
+   R - Allow read access 

+   W - Allow write 
access
+   X - Execute permission on 
the object
+   D - Delete the 
object
+   P - Change 
permissions
+   O - Take 
ownership
+   
+
+   The following com

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-686-gcc51cbc

2009-02-09 Thread Karolin Seeger
The branch, master has been updated
   via  cc51cbc862055975bcef016876662576b00e72ef (commit)
  from  07a8ad711b3ff0e922db9e6ba274594ef4c27b90 (commit)

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


- Log -
commit cc51cbc862055975bcef016876662576b00e72ef
Author: Karolin Seeger 
Date:   Mon Feb 9 21:00:47 2009 +0100

docs: Add man sharesec.

Karolin

---

Summary of changes:
 docs-xml/manpages-3/sharesec.1.xml |  220 
 1 files changed, 220 insertions(+), 0 deletions(-)
 create mode 100644 docs-xml/manpages-3/sharesec.1.xml


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/sharesec.1.xml 
b/docs-xml/manpages-3/sharesec.1.xml
new file mode 100644
index 000..d8ac510
--- /dev/null
+++ b/docs-xml/manpages-3/sharesec.1.xml
@@ -0,0 +1,220 @@
+
+http://www.samba.org/samba/DTD/samba-doc";>
+
+
+
+   sharesec
+   1
+   Samba
+   User Commands
+   3.3
+
+
+
+
+   sharesec
+   Set or get share ACLs
+
+
+
+   
+   sharesec
+   sharename
+   -r, --remove=ACL
+   -m, --modify=ACL
+   -a, --add=ACL
+   -R, --replace=ACLs
+   -D, --delete
+   -v, --view
+   -M, --machine-sid
+   -F, --force
+   -d, --debuglevel=DEBUGLEVEL
+   -s, --configfile=CONFIGFILE
+   -l, --log-basename=LOGFILEBASE
+   -V, --version
+   -?, --help
+   --usage
+   
+
+
+
+   DESCRIPTION
+
+   This tool is part of the 
samba
+   7 suite.
+
+   The sharesec program manipulates share 
permissions
+   on SMB file shares.
+
+
+
+
+   OPTIONS
+
+   The following options are available to the 
sharesec program.
+   The format of ACLs is described in the section ACL FORMAT 
+
+   
+   
+   -a|--add=ACL
+   Add the ACEs specified to the ACL list.
+   
+   
+
+   
+   -D|--delete
+   Delete the entire security descriptor.
+   
+   
+
+   
+   -F|--force
+   Force storing the ACL.
+   
+   
+
+   
+   -m|--modify=ACL
+   Modify existing ACEs.
+   
+   
+
+   
+   -M|--machine-sid
+   Initialize the machine SID.
+   
+   
+
+   
+   -r|--remove=ACL
+   Remove ACEs.
+   
+   
+
+   
+   -R|--replace=ACLS
+   
+   Overwrite an existing share permission ACL.
+   
+   
+
+   &stdarg.help;
+   &stdarg.server.debug;
+   &popt.common.samba;
+   
+
+
+
+
+   ACL FORMAT
+
+   The format of an ACL is one or more ACL entries separated by
+   either commas or newlines.  An ACL entry is one of the following: 

+
+   
+   REVISION:
+   OWNER:
+   GROUP:
+   ACL:://
+   
+
+   The revision of the ACL specifies the internal Windows
+   NT ACL revision for the security descriptor.
+   If not specified it defaults to 1. Using values other than 1 may
+   cause strange behaviour.
+
+   The owner and group specify the owner and group SIDs for the
+   object. If a SID in the format S-1-x-y-z is specified this is used,
+   otherwise the name specified is resolved using the server on which
+   the file or directory resides.
+
+   ACLs specify permissions granted to the SID. This SID
+   can be specified in S-1-x-y-z format or as a name in which case
+   it is resolved against the server on which the file or directory
+   resides.  The type, flags and mask values determine the type of
+   access granted to the SID.
+
+   The type can be either ALLOWED or DENIED to allow/deny access
+   to the SID. The flags values are generally zero for share ACLs.
+   
+
+   The mask is a value which expresses the access right
+   granted to the SID. It can be given as a decimal or hexadecimal value,
+   or by using one of the following text strings which map to the NT
+   file permissions of the same name.
+
+   
+   R - Allow read access 

+   W - Allow write 
access
+   X - Execute permission on 
the object
+   D - Delete the 
object
+   P - Change 
permissions
+   O - Take 
ownership
+   
+
+   The following combined permissions can be specified:
+
+   
+   READ -  Equivale

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-685-g07a8ad7

2009-02-09 Thread Volker Lendecke
The branch, master has been updated
   via  07a8ad711b3ff0e922db9e6ba274594ef4c27b90 (commit)
  from  4f29e8a75c7ea63601724be2fd63eb776f839fde (commit)

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


- Log -
commit 07a8ad711b3ff0e922db9e6ba274594ef4c27b90
Author: Volker Lendecke 
Date:   Mon Feb 9 20:18:57 2009 +0100

Attempt to fix the build

---

Summary of changes:
 source3/utils/net_rpc_printer.c |8 
 1 files changed, 4 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c
index e74524b..a40d5ca 100644
--- a/source3/utils/net_rpc_printer.c
+++ b/source3/utils/net_rpc_printer.c
@@ -738,23 +738,23 @@ static bool net_spoolss_open_printer_ex(struct 
rpc_pipe_client *pipe_hnd,
/* open printer */
result = rpccli_spoolss_open_printer_ex(pipe_hnd, mem_ctx, printername2,
"", access_required,
-   pipe_hnd->csrv_name_slash, username, hnd);
+   pipe_hnd->srv_name_slash, username, hnd);
 
/* be more verbose */
if (W_ERROR_V(result) == W_ERROR_V(WERR_ACCESS_DENIED)) {
d_fprintf(stderr, "no access to printer [%s] on [%s] for user 
[%s] granted\n",
-   printername2, pipe_hnd->csrv_name_slash, username);
+   printername2, pipe_hnd->srv_name_slash, username);
return false;
}
 
if (!W_ERROR_IS_OK(result)) {
d_fprintf(stderr, "cannot open printer %s on server %s: %s\n",
-   printername2, pipe_hnd->csrv_name_slash, 
win_errstr(result));
+   printername2, pipe_hnd->srv_name_slash, 
win_errstr(result));
return false;
}
 
DEBUG(2,("got printer handle for printer: %s, server: %s\n",
-   printername2, pipe_hnd->csrv_name_slash));
+   printername2, pipe_hnd->srv_name_slash));
 
return true;
 }


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-684-g4f29e8a

2009-02-09 Thread Jelmer Vernooij
The branch, master has been updated
   via  4f29e8a75c7ea63601724be2fd63eb776f839fde (commit)
   via  0d0aec18a2d2a49095da3fe1ac1dd51797c72d7d (commit)
   via  db270e2f945e2da1ea70e44268e66be495cdeaee (commit)
  from  a734c85c287ccf3280e7cefe69fae6b772b4ea8d (commit)

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


- Log -
commit 4f29e8a75c7ea63601724be2fd63eb776f839fde
Merge: 0d0aec18a2d2a49095da3fe1ac1dd51797c72d7d 
a734c85c287ccf3280e7cefe69fae6b772b4ea8d
Author: Jelmer Vernooij 
Date:   Mon Feb 9 19:44:50 2009 +0100

Merge branch 'master' of ssh://git.samba.org/data/git/samba

commit 0d0aec18a2d2a49095da3fe1ac1dd51797c72d7d
Author: Jelmer Vernooij 
Date:   Mon Feb 9 19:43:52 2009 +0100

Fix warning in spoolss IDL file output.

commit db270e2f945e2da1ea70e44268e66be495cdeaee
Author: Jelmer Vernooij 
Date:   Mon Feb 9 19:43:06 2009 +0100

Rerun pidl.

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c  |2 +-
 librpc/gen_ndr/cli_spoolss.h  |2 +-
 librpc/gen_ndr/ndr_eventlog.c |4 ++--
 librpc/gen_ndr/ndr_ntsvcs.c   |4 ++--
 librpc/gen_ndr/ndr_spoolss.c  |   18 +-
 librpc/gen_ndr/ndr_svcctl.c   |   12 ++--
 librpc/gen_ndr/spoolss.h  |2 +-
 librpc/idl/spoolss.idl|2 +-
 8 files changed, 19 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 1808684..3a6b53f 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -3370,7 +3370,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterData(struct 
rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
struct policy_handle *handle /* [in] 
[ref] */,
uint32_t enum_index /* [in]  */,
-   const char *value_name /* [out] 
[ref,charset(UTF16),size_is(value_offered/2)] */,
+   const char *value_name /* [out] 
[charset(UTF16),size_is(value_offered/2)] */,
uint32_t value_offered /* [in]  */,
uint32_t *value_needed /* [out] [ref] 
*/,
uint32_t *printerdata_type /* [out] 
[ref] */,
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index 516c2c0..2447f18 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -412,7 +412,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterData(struct 
rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
struct policy_handle *handle /* [in] 
[ref] */,
uint32_t enum_index /* [in]  */,
-   const char *value_name /* [out] 
[ref,charset(UTF16),size_is(value_offered/2)] */,
+   const char *value_name /* [out] 
[charset(UTF16),size_is(value_offered/2)] */,
uint32_t value_offered /* [in]  */,
uint32_t *value_needed /* [out] [ref] 
*/,
uint32_t *printerdata_type /* [out] 
[ref] */,
diff --git a/librpc/gen_ndr/ndr_eventlog.c b/librpc/gen_ndr/ndr_eventlog.c
index b80f613..0d5654c 100644
--- a/librpc/gen_ndr/ndr_eventlog.c
+++ b/librpc/gen_ndr/ndr_eventlog.c
@@ -1783,7 +1783,7 @@ static enum ndr_err_code 
ndr_pull_eventlog_ReadEventLogW(struct ndr_pull *ndr, i
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of 
range");
}
NDR_PULL_ALLOC_N(ndr, r->out.data, r->in.number_of_bytes);
-   memset(CONST_DISCARD(struct eventlog_ReadEventLogW 
*,r->out.data), 0, (r->in.number_of_bytes) * sizeof(*r->out.data));
+   memset(r->out.data, 0, (r->in.number_of_bytes) * 
sizeof(*r->out.data));
NDR_PULL_ALLOC(ndr, r->out.sent_size);
ZERO_STRUCTP(r->out.sent_size);
NDR_PULL_ALLOC(ndr, r->out.real_size);
@@ -2634,7 +2634,7 @@ static enum ndr_err_code 
ndr_pull_eventlog_GetLogIntormation(struct ndr_pull *nd
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of 
range");
}
NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.buf_size);
-   memset(CONST_DISCARD(struct eventlog_GetLogIntormation 
*,r->out.buffer), 0, (r->in.buf_size) * sizeof(*r->out.buffer));
+   memset(r->out.buffer, 0, (r->in.buf_size) * 
sizeof(*r->out.buffer));
NDR_PULL_ALLOC(ndr, r->out.bytes_needed);
ZERO_STRUCTP(r->out.bytes_needed);
}
diff --git a/librpc/gen_ndr/ndr_ntsvcs.c b/librpc/gen_ndr/ndr_ntsvcs.c

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-680-g3b4bf2f

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  3b4bf2f8a9c5150d03ea083e6db7d15035697806 (commit)
   via  d2b8fb99eedcfa16e1f68d3ca99df08e4503a598 (commit)
  from  d87891ea3e1cf0c4e4d16ceb5b6b0a7c65cedf3f (commit)

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


- Log -
commit 3b4bf2f8a9c5150d03ea083e6db7d15035697806
Author: Günther Deschner 
Date:   Mon Feb 9 13:35:05 2009 +0100

s3-spoolss: remove old spoolss_ReplyClosePrinter.

Guenther

commit d2b8fb99eedcfa16e1f68d3ca99df08e4503a598
Author: Günther Deschner 
Date:   Mon Feb 9 13:34:35 2009 +0100

s3-spoolss: use rpccli_spoolss_ReplyClosePrinter.

Guenther

---

Summary of changes:
 source3/include/proto.h |5 ---
 source3/include/rpc_spoolss.h   |   13 ---
 source3/rpc_client/cli_spoolss_notify.c |   29 -
 source3/rpc_parse/parse_spoolss.c   |   53 ---
 source3/rpc_server/srv_spoolss_nt.c |   10 +++---
 5 files changed, 5 insertions(+), 105 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 670fb49..530361f 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5507,8 +5507,6 @@ WERROR rpccli_spoolss_enumprinterkey(struct 
rpc_pipe_client *cli, TALLOC_CTX *me
 WERROR rpccli_spoolss_reply_open_printer(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx, 
  const char *printer, uint32 printerlocal, 
uint32 type, 
  POLICY_HND *handle);
-WERROR rpccli_spoolss_reply_close_printer(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx, 
-  POLICY_HND *handle);
 WERROR rpccli_spoolss_routerreplyprinter(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx,
  POLICY_HND *pol, uint32 condition, uint32 
change_id);
 WERROR rpccli_spoolss_rrpcn(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
@@ -6025,9 +6023,6 @@ bool 
make_spoolss_q_routerreplyprinter(SPOOL_Q_ROUTERREPLYPRINTER *q_u, POLICY_H
uint32 condition, uint32 change_id);
 bool spoolss_io_q_routerreplyprinter (const char *desc, 
SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_routerreplyprinter (const char *desc, 
SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth);
-bool make_spoolss_q_reply_closeprinter(SPOOL_Q_REPLYCLOSEPRINTER *q_u, 
POLICY_HND *hnd);
-bool spoolss_io_q_replycloseprinter(const char *desc, 
SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_replycloseprinter(const char *desc, 
SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth);
 bool make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd,
uint32 change_low, uint32 change_high,
SPOOL_NOTIFY_INFO *info);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index b159263..9fa60db 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -1618,19 +1618,6 @@ typedef struct spool_r_routerreplyprinter
 }
 SPOOL_R_ROUTERREPLYPRINTER;
 
-typedef struct spool_q_replycloseprinter
-{
-   POLICY_HND handle;
-}
-SPOOL_Q_REPLYCLOSEPRINTER;
-
-typedef struct spool_r_replycloseprinter
-{
-   POLICY_HND handle;
-   WERROR status;
-}
-SPOOL_R_REPLYCLOSEPRINTER;
-
 typedef struct spool_q_rrpcn
 {
POLICY_HND handle;
diff --git a/source3/rpc_client/cli_spoolss_notify.c 
b/source3/rpc_client/cli_spoolss_notify.c
index 5440f76..8e528ee 100644
--- a/source3/rpc_client/cli_spoolss_notify.c
+++ b/source3/rpc_client/cli_spoolss_notify.c
@@ -65,35 +65,6 @@ WERROR rpccli_spoolss_reply_open_printer(struct 
rpc_pipe_client *cli, TALLOC_CTX
return result;
 }
 
-/* Close a back-channel notification connection */
-
-WERROR rpccli_spoolss_reply_close_printer(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx, 
-  POLICY_HND *handle)
-{
-   prs_struct qbuf, rbuf;
-   SPOOL_Q_REPLYCLOSEPRINTER q;
-   SPOOL_R_REPLYCLOSEPRINTER r;
-   WERROR result = W_ERROR(ERRgeneral);
-
-   /* Initialise input parameters */
-
-   make_spoolss_q_reply_closeprinter(&q, handle);
-
-   /* Marshall data and send request */
-
-   CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, 
SPOOLSS_REPLYCLOSEPRINTER,
-   q, r,
-   qbuf, rbuf,
-   spoolss_io_q_replycloseprinter,
-   spoolss_io_r_replycloseprinter,
-   WERR_GENERAL_FAILURE );
-
-   /* Return result */
-
-   result = r.status;
-   return result;
-}
-
 /*
  This SPOOLSS_ROUTERREPLYPRINTER function is used 

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-681-ga734c85

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  a734c85c287ccf3280e7cefe69fae6b772b4ea8d (commit)
  from  3b4bf2f8a9c5150d03ea083e6db7d15035697806 (commit)

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


- Log -
commit a734c85c287ccf3280e7cefe69fae6b772b4ea8d
Author: Günther Deschner 
Date:   Mon Feb 9 15:00:49 2009 +0100

s3-spoolss: remove old rpccli_spoolss_routerreplyprinter.

Guenther

---

Summary of changes:
 source3/include/proto.h |6 ---
 source3/include/rpc_spoolss.h   |   16 ---
 source3/rpc_client/cli_spoolss_notify.c |   34 
 source3/rpc_parse/parse_spoolss.c   |   67 ---
 4 files changed, 0 insertions(+), 123 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 530361f..537eb98 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5507,8 +5507,6 @@ WERROR rpccli_spoolss_enumprinterkey(struct 
rpc_pipe_client *cli, TALLOC_CTX *me
 WERROR rpccli_spoolss_reply_open_printer(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx, 
  const char *printer, uint32 printerlocal, 
uint32 type, 
  POLICY_HND *handle);
-WERROR rpccli_spoolss_routerreplyprinter(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx,
- POLICY_HND *pol, uint32 condition, uint32 
change_id);
 WERROR rpccli_spoolss_rrpcn(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, 
 POLICY_HND *pol, uint32 notify_data_len,
 SPOOL_NOTIFY_INFO_DATA *notify_data,
@@ -6019,10 +6017,6 @@ bool 
make_spoolss_q_replyopenprinter(SPOOL_Q_REPLYOPENPRINTER *q_u,
   const fstring string, uint32 printer, uint32 
type);
 bool spoolss_io_q_replyopenprinter(const char *desc, SPOOL_Q_REPLYOPENPRINTER 
*q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_replyopenprinter(const char *desc, SPOOL_R_REPLYOPENPRINTER 
*r_u, prs_struct *ps, int depth);
-bool make_spoolss_q_routerreplyprinter(SPOOL_Q_ROUTERREPLYPRINTER *q_u, 
POLICY_HND *hnd, 
-   uint32 condition, uint32 change_id);
-bool spoolss_io_q_routerreplyprinter (const char *desc, 
SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_routerreplyprinter (const char *desc, 
SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth);
 bool make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd,
uint32 change_low, uint32 change_high,
SPOOL_NOTIFY_INFO *info);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 9fa60db..15814d4 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -1602,22 +1602,6 @@ typedef struct spool_r_replyopenprinter
 }
 SPOOL_R_REPLYOPENPRINTER;
 
-typedef struct spool_q_routerreplyprinter
-{
-   POLICY_HND handle;
-   uint32 condition;
-   uint32 unknown1;/* 0x0001 */
-   uint32 change_id;
-   uint8  unknown2[5]; /* 0x01 */
-}
-SPOOL_Q_ROUTERREPLYPRINTER;
-
-typedef struct spool_r_routerreplyprinter
-{
-   WERROR status;
-}
-SPOOL_R_ROUTERREPLYPRINTER;
-
 typedef struct spool_q_rrpcn
 {
POLICY_HND handle;
diff --git a/source3/rpc_client/cli_spoolss_notify.c 
b/source3/rpc_client/cli_spoolss_notify.c
index 8e528ee..1115275 100644
--- a/source3/rpc_client/cli_spoolss_notify.c
+++ b/source3/rpc_client/cli_spoolss_notify.c
@@ -66,40 +66,6 @@ WERROR rpccli_spoolss_reply_open_printer(struct 
rpc_pipe_client *cli, TALLOC_CTX
 }
 
 /*
- This SPOOLSS_ROUTERREPLYPRINTER function is used to send a change 
- notification event when the registration **did not** use 
- SPOOL_NOTIFY_OPTION_TYPE structure to specify the events to monitor.
- Also see cli_spolss_reply_rrpcn()
- */
- 
-WERROR rpccli_spoolss_routerreplyprinter(struct rpc_pipe_client *cli, 
TALLOC_CTX *mem_ctx,
- POLICY_HND *pol, uint32 condition, uint32 
change_id)
-{
-   prs_struct qbuf, rbuf;
-   SPOOL_Q_ROUTERREPLYPRINTER q;
-SPOOL_R_ROUTERREPLYPRINTER r;
-   WERROR result = W_ERROR(ERRgeneral);
-
-   /* Initialise input parameters */
-
-   make_spoolss_q_routerreplyprinter(&q, pol, condition, change_id);
-
-   /* Marshall data and send request */
-
-   CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, 
SPOOLSS_ROUTERREPLYPRINTER,
-   q, r,
-   qbuf, rbuf,
-   spoolss_io_q_routerreplyprinter,
-   spoolss_io_r_routerreplyprinter,
-   W

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-678-gd87891e

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  d87891ea3e1cf0c4e4d16ceb5b6b0a7c65cedf3f (commit)
   via  a7cf846d1e98e07f008edb322b9a37ec30593ffc (commit)
  from  84a0076c4b62d23b21153dd00ec72fe8042b39cc (commit)

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


- Log -
commit d87891ea3e1cf0c4e4d16ceb5b6b0a7c65cedf3f
Author: Günther Deschner 
Date:   Mon Feb 9 15:32:34 2009 +0100

s3-spoolss: remove old spoolss_AddPrintProcessor.

Guenther

commit a7cf846d1e98e07f008edb322b9a37ec30593ffc
Author: Günther Deschner 
Date:   Mon Feb 9 15:31:35 2009 +0100

s3-spoolss: use pidl for _spoolss_AddPrintProcessor.

Guenther

---

Summary of changes:
 source3/include/proto.h |2 -
 source3/include/rpc_spoolss.h   |   17 ---
 source3/rpc_parse/parse_spoolss.c   |   51 ---
 source3/rpc_server/srv_spoolss.c|   26 +-
 source3/rpc_server/srv_spoolss_nt.c |   27 +++---
 5 files changed, 17 insertions(+), 106 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 5009e6d..670fb49 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5985,8 +5985,6 @@ bool spoolss_io_q_getprinterdriverdir(const char *desc, 
SPOOL_Q_GETPRINTERDRIVER
 bool spoolss_io_r_getprinterdriverdir(const char *desc, 
SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth);
 bool spoolss_io_r_enumprintprocessors(const char *desc, 
SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_enumprintprocessors(const char *desc, 
SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth);
-bool spoolss_io_q_addprintprocessor(const char *desc, 
SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_addprintprocessor(const char *desc, 
SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth);
 bool spoolss_io_r_enumprintprocdatatypes(const char *desc, 
SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_enumprintprocdatatypes(const char *desc, 
SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth);
 bool spoolss_io_q_enumprintmonitors(const char *desc, 
SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index feabd3f..b159263 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -1395,23 +1395,6 @@ typedef struct spool_r_getprinterdriverdirectory
 }
 SPOOL_R_GETPRINTERDRIVERDIR;
 
-typedef struct spool_q_addprintprocessor
-{
-   uint32 server_ptr;
-   UNISTR2 server;
-   UNISTR2 environment;
-   UNISTR2 path;
-   UNISTR2 name;
-}
-SPOOL_Q_ADDPRINTPROCESSOR;
-
-typedef struct spool_r_addprintprocessor
-{
-   WERROR status;
-}
-SPOOL_R_ADDPRINTPROCESSOR;
-
-
 typedef struct spool_q_enumprintprocessors
 {
uint32 name_ptr;
diff --git a/source3/rpc_parse/parse_spoolss.c 
b/source3/rpc_parse/parse_spoolss.c
index 84b764e..fbb001f 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -5013,57 +5013,6 @@ bool spoolss_io_q_enumprintprocessors(const char *desc, 
SPOOL_Q_ENUMPRINTPROCESS
 /***
 /  
 
-bool spoolss_io_q_addprintprocessor(const char *desc, 
SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth)
-{
-   prs_debug(ps, depth, desc, "spoolss_io_q_addprintprocessor");
-   depth++;
-
-   if (!prs_align(ps))
-   return False;
-   
-   if (!prs_uint32("server_ptr", ps, depth, &q_u->server_ptr))
-   return False;
-   if (!smb_io_unistr2("server", &q_u->server, q_u->server_ptr, ps, depth))
-   return False;
-   
-   if (!prs_align(ps))
-   return False;
-   if (!smb_io_unistr2("environment", &q_u->environment, True, ps, depth))
-   return False;
-   
-   if (!prs_align(ps))
-   return False;
-   if (!smb_io_unistr2("path", &q_u->path, True, ps, depth))
-   return False;
-
-   if (!prs_align(ps))
-   return False;
-   if (!smb_io_unistr2("name", &q_u->name, True, ps, depth))
-   return False;
-
-   return True;
-}
-
-/***
-/  
-
-bool spoolss_io_r_addprintprocessor(const char *desc, 
SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth)
-{  
-   prs_debug(ps, depth, desc, "spoolss_io_r_addprintproicessor");
-   depth++;
-
-   if (!prs_align(ps))
-   return False;

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-676-g84a0076

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  84a0076c4b62d23b21153dd00ec72fe8042b39cc (commit)
   via  438af255c6dcbc225357ae5162853915002d0d15 (commit)
  from  b3a2b3ade0ddd3ddd93079286d2a06547d182a99 (commit)

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


- Log -
commit 84a0076c4b62d23b21153dd00ec72fe8042b39cc
Author: Günther Deschner 
Date:   Mon Feb 9 19:02:56 2009 +0100

s3-rpcclient: remove a pointless fstring.

Guenther

commit 438af255c6dcbc225357ae5162853915002d0d15
Author: Günther Deschner 
Date:   Mon Feb 9 18:10:18 2009 +0100

s3-rpcclient: use srv_name_slash instead of formating servername again and 
again.

Guenther

---

Summary of changes:
 source3/libads/ldap_printer.c   |7 +-
 source3/rpcclient/cmd_spoolss.c |  224 +++
 source3/utils/net_rpc_printer.c |   17 ++--
 3 files changed, 74 insertions(+), 174 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libads/ldap_printer.c b/source3/libads/ldap_printer.c
index 023acaa..c9c43f0 100644
--- a/source3/libads/ldap_printer.c
+++ b/source3/libads/ldap_printer.c
@@ -310,20 +310,19 @@ WERROR get_remote_printer_publishing_data(struct 
rpc_pipe_client *cli,
  const char *printer)
 {
WERROR result;
-   char *printername, *servername;
+   char *printername;
REGVAL_CTR *dsdriver_ctr, *dsspooler_ctr;
uint32 i;
POLICY_HND pol;
 
-   if ((asprintf(&servername, "%s", cli->desthost) == -1)
-   || (asprintf(&printername, "%s\\%s", servername, printer) == -1)) {
+   if ((asprintf(&printername, "%s\\%s", cli->srv_name_slash, printer) == 
-1)) {
DEBUG(3, ("Insufficient memory\n"));
return WERR_NOMEM;
}

result = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, 
 "", MAXIMUM_ALLOWED_ACCESS, 
-servername, cli->auth->user_name,
+cli->srv_name_slash, 
cli->auth->user_name,
 &pol);
if (!W_ERROR_IS_OK(result)) {
DEBUG(3, ("Unable to open printer %s, error is %s.\n",
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 4b35f57..aba961a 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -98,7 +98,6 @@ static WERROR cmd_spoolss_open_printer_ex(struct 
rpc_pipe_client *cli,
 {
WERROR  werror;
fstring printername;
-   fstring servername, user;
POLICY_HND  hnd;
 
if (argc != 2) {
@@ -109,16 +108,14 @@ static WERROR cmd_spoolss_open_printer_ex(struct 
rpc_pipe_client *cli,
if (!cli)
 return WERR_GENERAL_FAILURE;
 
-   slprintf(servername, sizeof(servername)-1, "%s", cli->desthost);
-   strupper_m(servername);
-   fstrcpy(user, cli->auth->user_name);
fstrcpy(printername, argv[1]);
 
/* Open the printer handle */
 
werror = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername,
 "", PRINTER_ALL_ACCESS,
-servername, user, &hnd);
+cli->srv_name_slash,
+cli->auth->user_name, &hnd);
 
if (W_ERROR_IS_OK(werror)) {
printf("Printer %s opened successfully\n", printername);
@@ -473,8 +470,6 @@ static WERROR cmd_spoolss_setprinter(struct rpc_pipe_client 
*cli,
boolopened_hnd = False;
PRINTER_INFO_CTR ctr;
fstring printername,
-   servername,
-   user,
comment;
 
if (argc == 1 || argc > 3) {
@@ -488,15 +483,12 @@ static WERROR cmd_spoolss_setprinter(struct 
rpc_pipe_client *cli,
fstrcpy(comment, argv[2]);
}
 
-   slprintf(servername, sizeof(servername)-1, "%s", cli->desthost);
-   strupper_m(servername);
-   slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, 
argv[1]);
-   fstrcpy(user, cli->auth->user_name);
+   slprintf(printername, sizeof(printername)-1, "%s\\%s", 
cli->srv_name_slash, argv[1]);
 
/* get a printer handle */
result = rpccli_spoolss_open_printer_ex(cli, mem_ctx, printername, "",
-   PRINTER_ALL_ACCESS, servername,
-   user, &pol);
+   PRINTER_ALL_ACCESS, cli->srv_name_slash,
+   cli->auth->user_name, &pol);
 
if (!W_ERROR_IS_OK(result))
goto done;
@@ -539,8 +531

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-674-gb3a2b3a

2009-02-09 Thread Karolin Seeger
The branch, master has been updated
   via  b3a2b3ade0ddd3ddd93079286d2a06547d182a99 (commit)
  from  39172b5ce91610773ecd5f4d6b2c7b25b5dfee5d (commit)

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


- Log -
commit b3a2b3ade0ddd3ddd93079286d2a06547d182a99
Author: Karolin Seeger 
Date:   Mon Feb 9 19:05:20 2009 +0100

s4/wrepl_server: Fix typo in comment.

Karolin

---

Summary of changes:
 source4/wrepl_server/wrepl_in_connection.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/wrepl_server/wrepl_in_connection.c 
b/source4/wrepl_server/wrepl_in_connection.c
index e6a69b8..7c9c2b7 100644
--- a/source4/wrepl_server/wrepl_in_connection.c
+++ b/source4/wrepl_server/wrepl_in_connection.c
@@ -236,8 +236,8 @@ NTSTATUS wreplsrv_in_connection_merge(struct 
wreplsrv_partner *partner,
NT_STATUS_NOT_OK_RETURN(status);
 
/*
-* make the wreplsrv_in_connection structure a child of the 
-* stream_connection, to match the hierachie of wreplsrv_accept
+* make the wreplsrv_in_connection structure a child of the
+* stream_connection, to match the hierarchy of wreplsrv_accept
 */
wrepl_in->conn  = conn;
talloc_steal(conn, wrepl_in);


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-673-g39172b5

2009-02-09 Thread Jelmer Vernooij
The branch, master has been updated
   via  39172b5ce91610773ecd5f4d6b2c7b25b5dfee5d (commit)
  from  fa1ead3aa06bfccd5e62a02e6e3c88d223ed7817 (commit)

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


- Log -
commit 39172b5ce91610773ecd5f4d6b2c7b25b5dfee5d
Author: Jelmer Vernooij 
Date:   Mon Feb 9 18:39:27 2009 +0100

Remove an invalid discard_const_p() - it masks an actual
bug in pidl where pidl uses "const" in a struct where there should not be
const.

There is only a single place in the Samba codebase where this triggers a
warning.

---

Summary of changes:
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 
b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index b35762f..84752da 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -2173,7 +2173,7 @@ sub ParseFunctionPull($$)
if (grep(/in/, @{$e->{DIRECTION}})) {
$self->pidl("memcpy(r->out.$e->{NAME}, 
r->in.$e->{NAME}, ($size) * sizeof(*r->in.$e->{NAME}));");
} else {
-   $self->pidl("memset(discard_const_p(struct 
$fn->{NAME} *, r->out.$e->{NAME}), 0, ($size) * sizeof(*r->out.$e->{NAME}));");
+   $self->pidl("memset(r->out.$e->{NAME}, 0, 
($size) * sizeof(*r->out.$e->{NAME}));");
}
} else {
$self->pidl("NDR_PULL_ALLOC($ndr, r->out.$e->{NAME});");


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4923-gff6a1be

2009-02-09 Thread Derrell Lipman
The branch, v3-3-test has been updated
   via  ff6a1bebd589637a4aecb9c76b4e33f579d7b0df (commit)
  from  3981603761a1cc6fb74ff135fadf4ab3340be1c5 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit ff6a1bebd589637a4aecb9c76b4e33f579d7b0df
Author: Derrell Lipman 
Date:   Mon Feb 9 12:41:29 2009 -0500

[Bug 6069] Add a fstatvfs function for libsmbclient

- Add initial test implementation. This works on a Linux client to determine
  whether a connection's server supports UNIX CIFS. I'm eager to see what 
the
  build farm has to say about this, specifically how many, if any, hosts 
don't
  provide a statvfs.h file with the requisite struct statvfs.

Derrell

---

Summary of changes:
 examples/libsmbclient/Makefile   |5 
 source/include/libsmb_internal.h |7 ++
 source/include/libsmbclient.h|   45 ++
 source/libsmb/libsmb_compat.c|8 ++
 source/libsmb/libsmb_context.c   |1 +
 source/libsmb/libsmb_setget.c|   12 ++
 source/libsmb/libsmb_stat.c  |   21 +
 7 files changed, 99 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/libsmbclient/Makefile b/examples/libsmbclient/Makefile
index 047addc..7ad28dc 100644
--- a/examples/libsmbclient/Makefile
+++ b/examples/libsmbclient/Makefile
@@ -24,6 +24,7 @@ TESTS=testsmbc \
teststat \
teststat2 \
teststat3 \
+   testfstatvfs \
testtruncate \
testchmod \
testutime \
@@ -74,6 +75,10 @@ teststat3: teststat3.o
@echo Linking teststat3
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBSMBCLIENT) -lpopt
 
+testfstatvfs: testfstatvfs.o
+   @echo Linking testfstatvfs
+   $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBSMBCLIENT) -lpopt
+
 testtruncate: testtruncate.o
@echo Linking testtruncate
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBSMBCLIENT) -lpopt
diff --git a/source/include/libsmb_internal.h b/source/include/libsmb_internal.h
index 67add07..edf3a6e 100644
--- a/source/include/libsmb_internal.h
+++ b/source/include/libsmb_internal.h
@@ -197,6 +197,7 @@ struct SMBC_internal_data {
 smbc_stat_fnstat_fn;
 smbc_fstat_fn   fstat_fn;
 #endif
+smbc_fstatvfs_fnfstatvfs_fn;
 smbc_ftruncate_fn   ftruncate_fn;
 #if 0 /* Left in libsmbclient.h for backward compatibility */
 smbc_close_fn   close_fn;
@@ -501,6 +502,12 @@ SMBC_fstat_ctx(SMBCCTX *context,
struct stat *st);
 
 
+int
+SMBC_fstatvfs_ctx(SMBCCTX *context,
+  SMBCFILE *file,
+  struct statvfs *st);
+
+
 /* Functions in libsmb_xattr.c */
 int
 SMBC_setxattr_ctx(SMBCCTX *context,
diff --git a/source/include/libsmbclient.h b/source/include/libsmbclient.h
index b2d9483..575bef6 100644
--- a/source/include/libsmbclient.h
+++ b/source/include/libsmbclient.h
@@ -174,6 +174,22 @@ typedef enum smbc_smb_encrypt_level
 } smbc_smb_encrypt_level;
 
 
+/**
+ * Capabilities set in the f_flag field of struct statvfs, from
+ * smbc_statvfs(). These may be OR-ed together to reflect a full set of
+ * available capabilities.
+ */
+typedef enum smbc_vfs_capability
+{
+/* Defined by POSIX or in Linux include files (low-order bits) */
+SMBC_VFS_CAP_RDONLY = (1 << 0),
+
+/* Specific to libsmbclient (high-order bits) */
+SMBC_VFS_CAP_DFS= (1 << 29),
+SMBC_VFS_CAP_CASE_SENSITIVE = (1 << 30),
+SMBC_VFS_CAP_UNIXCIFS   = (1 << 31)
+} smbc_vfs_capability;
+
 typedef int smbc_bool;
 
 
@@ -853,6 +869,12 @@ typedef int (*smbc_fstat_fn)(SMBCCTX *c,
 smbc_fstat_fn smbc_getFunctionFstat(SMBCCTX *c);
 void smbc_setFunctionFstat(SMBCCTX *c, smbc_fstat_fn fn);
 
+typedef int (*smbc_fstatvfs_fn)(SMBCCTX *c,
+SMBCFILE *file,
+struct statvfs *st);
+smbc_fstatvfs_fn smbc_getFunctionFstatVFS(SMBCCTX *c);
+void smbc_setFunctionFstatVFS(SMBCCTX *c, smbc_fstatvfs_fn fn);
+
 typedef int (*smbc_ftruncate_fn)(SMBCCTX *c,
  SMBCFILE *f,
  off_t size);
@@ -1592,6 +1614,29 @@ int smbc_fstat(int fd, struct stat *st);
 
 
 /*...@ingroup attribute
+ * Get file system information via an file descriptor.
+ * 
+ * @param fdOpen file handle from smbc_open(), smbc_creat(),
+ *  or smbc_opendir()
+ *
+ * @param stpointer to a buffer that will be filled with 
+ *  standard Unix struct statvfs information.
+ * 
+ * @return  EBADF  filedes is bad.
+ *  - EACCES Permission denied.
+ *  - EBADF fd is not a va

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-672-gfa1ead3

2009-02-09 Thread Jelmer Vernooij
The branch, master has been updated
   via  fa1ead3aa06bfccd5e62a02e6e3c88d223ed7817 (commit)
   via  0afa0ab442c4198dab76373d228f7123fd54eaec (commit)
   via  9b366d703210b493aa1389bbdd288a2b00958766 (commit)
   via  6d139ca4680abcbda5110f2f0886aa038ff62088 (commit)
   via  4a9b3052caeb8bb144803b49dcfae82395172bc3 (commit)
  from  1dadf17be847e3f93b72988bcc7e8620a8d5908c (commit)

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


- Log -
commit fa1ead3aa06bfccd5e62a02e6e3c88d223ed7817
Author: Jelmer Vernooij 
Date:   Mon Feb 9 17:50:35 2009 +0100

Use discard_const_p rather than CONST_DISCARD.

commit 0afa0ab442c4198dab76373d228f7123fd54eaec
Author: Jelmer Vernooij 
Date:   Mon Feb 9 17:48:30 2009 +0100

Revert "s3/s4: Move CONST_DISCARD into lib/util so it's available from s3 
and s4"

lib/util already has discard_const_p.

This reverts commit 0cb430c22e9c0af2248fbc15ce97a4d760df189d.

commit 9b366d703210b493aa1389bbdd288a2b00958766
Merge: 6d139ca4680abcbda5110f2f0886aa038ff62088 
1dadf17be847e3f93b72988bcc7e8620a8d5908c
Author: Jelmer Vernooij 
Date:   Mon Feb 9 16:51:46 2009 +0100

Merge branch 'master' of ssh://git.samba.org/data/git/samba

commit 6d139ca4680abcbda5110f2f0886aa038ff62088
Merge: 4a9b3052caeb8bb144803b49dcfae82395172bc3 
afa960cbbcd609123d710c301e7a9a070c1fed70
Author: Jelmer Vernooij 
Date:   Thu Feb 5 16:39:28 2009 +0100

Merge branch 'master' of ssh://git.samba.org/data/git/samba

Conflicts:
librpc/ndr.pc.in

commit 4a9b3052caeb8bb144803b49dcfae82395172bc3
Author: Jelmer Vernooij 
Date:   Tue Jan 27 16:18:02 2009 +0100

Define GNU_SOURCE, required if libreplace doesn't provide comparison_fn_t,
but instead relies on a system version.

---

Summary of changes:
 lib/util/util.h  |2 --
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |2 +-
 source3/include/includes.h   |2 ++
 3 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/util.h b/lib/util/util.h
index c6805d4..dced557 100644
--- a/lib/util/util.h
+++ b/lib/util/util.h
@@ -750,6 +750,4 @@ bool unmap_file(void *start, size_t size);
 
 void print_asc(int level, const uint8_t *buf,int len);
 
-#define CONST_DISCARD(type, ptr)  ((type) ((void *) (ptr)))
-
 #endif /* _SAMBA_UTIL_H_ */
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 
b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 44d21f0..b35762f 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -2173,7 +2173,7 @@ sub ParseFunctionPull($$)
if (grep(/in/, @{$e->{DIRECTION}})) {
$self->pidl("memcpy(r->out.$e->{NAME}, 
r->in.$e->{NAME}, ($size) * sizeof(*r->in.$e->{NAME}));");
} else {
-   $self->pidl("memset(CONST_DISCARD(struct 
$fn->{NAME} *,r->out.$e->{NAME}), 0, ($size) * sizeof(*r->out.$e->{NAME}));");
+   $self->pidl("memset(discard_const_p(struct 
$fn->{NAME} *, r->out.$e->{NAME}), 0, ($size) * sizeof(*r->out.$e->{NAME}));");
}
} else {
$self->pidl("NDR_PULL_ALLOC($ndr, r->out.$e->{NAME});");
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 4aa3c07..930df6e 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -1050,6 +1050,8 @@ ssize_t readahead(int fd, off64_t offset, size_t count);
 #undef HAVE_MMAP
 #endif
 
+#define CONST_DISCARD(type, ptr)  ((type) ((void *) (ptr)))
+
 void smb_panic( const char *why ) _NORETURN_;
 void dump_core(void) _NORETURN_;
 void exit_server(const char *const reason) _NORETURN_;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-667-g1dadf17

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  1dadf17be847e3f93b72988bcc7e8620a8d5908c (commit)
   via  4d78ece6571d4c8f051188ff1be06080c1b2b1a9 (commit)
   via  c94c777d9cc951d71cf1c8efc8f56f16a3da75c1 (commit)
   via  ec302a1cfe36e8cdd69fc3ecac16559516e6e860 (commit)
   via  88075102c8b5fe3a2567b9a68c989aef060d9584 (commit)
   via  8bf900a2af0b0d9c42fc62c4e3a7548537ebf081 (commit)
   via  b53fa7559bf8f1a3b24362e3361434285813065f (commit)
  from  76f4cc3c70524f1f2c1c227fd19082d5ab05da0f (commit)

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


- Log -
commit 1dadf17be847e3f93b72988bcc7e8620a8d5908c
Author: Günther Deschner 
Date:   Mon Feb 9 14:54:02 2009 +0100

s3: re-run make samba3-idl.

Guenther

commit 4d78ece6571d4c8f051188ff1be06080c1b2b1a9
Author: Günther Deschner 
Date:   Mon Feb 9 15:22:37 2009 +0100

s3-spoolss: move PRINTER_ENUM_ICONMASK to IDL.

Guenther

commit c94c777d9cc951d71cf1c8efc8f56f16a3da75c1
Author: Günther Deschner 
Date:   Mon Feb 9 15:21:30 2009 +0100

s3-spoolss: use PRINTER_ENUM_NAME and remove double enum define.

Guenther

commit ec302a1cfe36e8cdd69fc3ecac16559516e6e860
Author: Günther Deschner 
Date:   Mon Feb 9 14:54:20 2009 +0100

s3-spoolss: remove PRINTER_CHANGE* flags now defined in IDL.

Guenther

commit 88075102c8b5fe3a2567b9a68c989aef060d9584
Author: Günther Deschner 
Date:   Mon Feb 9 15:28:54 2009 +0100

spoolss: fill in spoolss_AddPrintProcessor.

Guenther

commit 8bf900a2af0b0d9c42fc62c4e3a7548537ebf081
Author: Günther Deschner 
Date:   Mon Feb 9 15:53:07 2009 +0100

spoolss: fill in spoolss_RouterReplyPrinter.

Guenther

commit b53fa7559bf8f1a3b24362e3361434285813065f
Author: Günther Deschner 
Date:   Mon Feb 9 14:53:31 2009 +0100

spoolss: add spoolss_PrinterChangeFlags.

Guenther

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c|   16 
 librpc/gen_ndr/cli_spoolss.h|8 ++
 librpc/gen_ndr/ndr_spoolss.c|  165 +++
 librpc/gen_ndr/ndr_spoolss.h|1 +
 librpc/gen_ndr/spoolss.h|   44 +
 librpc/idl/spoolss.idl  |   75 +++-
 source3/include/rpc_spoolss.h   |   53 ---
 source3/rpc_server/srv_spoolss_nt.c |2 +-
 8 files changed, 308 insertions(+), 56 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 63f8977..1808684 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -722,12 +722,20 @@ NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_AddPrintProcessor(struct rpc_pipe_client *cli,
  TALLOC_CTX *mem_ctx,
+ const char *server /* [in] 
[unique,charset(UTF16)] */,
+ const char *architecture /* [in] 
[charset(UTF16)] */,
+ const char *path_name /* [in] 
[charset(UTF16)] */,
+ const char *print_processor_name /* 
[in] [charset(UTF16)] */,
  WERROR *werror)
 {
struct spoolss_AddPrintProcessor r;
NTSTATUS status;
 
/* In parameters */
+   r.in.server = server;
+   r.in.architecture = architecture;
+   r.in.path_name = path_name;
+   r.in.print_processor_name = print_processor_name;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_AddPrintProcessor, &r);
@@ -2768,12 +2776,20 @@ NTSTATUS rpccli_spoolss_ReplyOpenPrinter(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_RouterReplyPrinter(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
+  struct policy_handle *handle /* [in] 
[ref] */,
+  uint32_t flags /* [in]  */,
+  uint32_t bufsize /* [in] 
[range(0,512)] */,
+  uint8_t *buffer /* [in] 
[unique,size_is(bufsize)] */,
   WERROR *werror)
 {
struct spoolss_RouterReplyPrinter r;
NTSTATUS status;
 
/* In parameters */
+   r.in.handle = handle;
+   r.in.flags = flags;
+   r.in.bufsize = bufsize;
+   r.in.buffer = buffer;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_RouterReplyPrinter, &r);
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index a77878b..516c2c0 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -109,6 +109,10 @@ NTSTATUS rpccli_spoolss_DeletePrint

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-660-g76f4cc3

2009-02-09 Thread Derrell Lipman
The branch, master has been updated
   via  76f4cc3c70524f1f2c1c227fd19082d5ab05da0f (commit)
  from  487f5e7b4768cfe9e511b0ba56f16c411e21f702 (commit)

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


- Log -
commit 76f4cc3c70524f1f2c1c227fd19082d5ab05da0f
Author: Derrell Lipman 
Date:   Mon Feb 9 09:53:44 2009 -0500

eliminate compiler warnings

---

Summary of changes:
 source3/libsmb/libsmb_xattr.c |   11 +++
 1 files changed, 7 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/libsmb_xattr.c b/source3/libsmb/libsmb_xattr.c
index d71a318..4c5a758 100644
--- a/source3/libsmb/libsmb_xattr.c
+++ b/source3/libsmb/libsmb_xattr.c
@@ -1501,7 +1501,7 @@ cacl_set(TALLOC_CTX *ctx,
  struct cli_state *ipc_cli,
  POLICY_HND *pol,
  const char *filename,
- const char *the_acl,
+ char *the_acl,
  int mode,
  int flags)
 {
@@ -2113,11 +2113,13 @@ SMBC_getxattr_ctx(SMBCCTX *context,
 StrCaseCmp(name, "system.dos_attr.inode") == 0) {
 
 /* Yup. */
+char *filename = (char *) name;
 ret = cacl_get(context, talloc_tos(), srv,
ipc_srv == NULL ? NULL : ipc_srv->cli, 
&ipc_srv->pol, path,
-   CONST_DISCARD(char *, name),
-   CONST_DISCARD(char *, value), size);
+   filename,
+   CONST_DISCARD(char *, value),
+   size);
 if (ret < 0 && errno == 0) {
 errno = SMBC_errno(context, srv->cli);
 }
@@ -2236,7 +2238,8 @@ SMBC_removexattr_ctx(SMBCCTX *context,
 /* Yup. */
 ret = cacl_set(talloc_tos(), srv->cli,
ipc_srv->cli, &ipc_srv->pol, path,
-   name + 19, SMBC_XATTR_MODE_REMOVE, 0);
+   CONST_DISCARD(char *, name) + 19,
+   SMBC_XATTR_MODE_REMOVE, 0);
TALLOC_FREE(frame);
 return ret;
 }


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4922-g3981603

2009-02-09 Thread Michael Adam
The branch, v3-3-test has been updated
   via  3981603761a1cc6fb74ff135fadf4ab3340be1c5 (commit)
   via  ca6e3ee1e52b16e88f3906dc4cf64e977e165663 (commit)
   via  bd0febbd1b390b2890df13fbfed5bf26dede658f (commit)
  from  7f6bf488fd3758f631edcade61378955cf9bf674 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit 3981603761a1cc6fb74ff135fadf4ab3340be1c5
Author: Michael Adam 
Date:   Mon Feb 9 13:50:31 2009 +0100

s3:winbindd_user: create domain connection in winbindd_fill_pwent if 
necessary.

Calling find_domain_from_name_noinit() might not be enough here.
This makes winbindd_getpwent() behave the same as winbindd_getgrent().

Michael

Signed-off-by: Michael Adam 

commit ca6e3ee1e52b16e88f3906dc4cf64e977e165663
Author: Michael Adam 
Date:   Mon Feb 9 11:07:11 2009 +0100

s3:winbindd_user: fix a debug message.

find_domain_from_name_noinit() is no longer called only for
name alias support.

Michael

Signed-off-by: Michael Adam 

commit bd0febbd1b390b2890df13fbfed5bf26dede658f
Author: Volker Lendecke 
Date:   Sat Feb 7 11:09:45 2009 +0100

Fix coverity ID 876 (FORWARD_NULL)

Michael, please check!

Signed-off-by: Michael Adam 

---

Summary of changes:
 source/winbindd/winbindd_user.c |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd_user.c b/source/winbindd/winbindd_user.c
index 62fd4d7..8b481f9 100644
--- a/source/winbindd/winbindd_user.c
+++ b/source/winbindd/winbindd_user.c
@@ -80,11 +80,12 @@ static bool winbindd_fill_pwent(TALLOC_CTX *ctx, char 
*dom_name, char *user_name
if (!pw || !dom_name || !user_name)
return False;
 
-   domain = find_domain_from_name_noinit(dom_name);
+   domain = find_domain_from_name(dom_name);
if (domain == NULL) {
-   DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.  "
-"Disabling name alias support\n", dom_name));
+   DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.\n",
+dom_name));
nt_status = NT_STATUS_NO_SUCH_DOMAIN;
+   return false;
}
 
/* Resolve the uid number */


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-659-g487f5e7

2009-02-09 Thread Michael Adam
The branch, master has been updated
   via  487f5e7b4768cfe9e511b0ba56f16c411e21f702 (commit)
   via  a63f6024739e922e0bb6c929a1b9112e5e8e09de (commit)
  from  3ce895181be9f0a91c17c1c5261a92159f154a86 (commit)

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


- Log -
commit 487f5e7b4768cfe9e511b0ba56f16c411e21f702
Author: Michael Adam 
Date:   Mon Feb 9 13:50:31 2009 +0100

s3:winbindd_user: create domain connection in winbindd_fill_pwent if 
necessary.

Calling find_domain_from_name_noinit() might not be enough here.
This makes winbindd_getpwent() behave the same as winbindd_getgrent().

Michael

commit a63f6024739e922e0bb6c929a1b9112e5e8e09de
Author: Michael Adam 
Date:   Mon Feb 9 11:07:11 2009 +0100

s3:winbindd_user: fix a debug message.

find_domain_from_name_noinit() is no longer called only for
name alias support.

Michael

---

Summary of changes:
 source3/winbindd/winbindd_user.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_user.c b/source3/winbindd/winbindd_user.c
index 28c1c01..8b481f9 100644
--- a/source3/winbindd/winbindd_user.c
+++ b/source3/winbindd/winbindd_user.c
@@ -80,10 +80,10 @@ static bool winbindd_fill_pwent(TALLOC_CTX *ctx, char 
*dom_name, char *user_name
if (!pw || !dom_name || !user_name)
return False;
 
-   domain = find_domain_from_name_noinit(dom_name);
+   domain = find_domain_from_name(dom_name);
if (domain == NULL) {
-   DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.  "
-"Disabling name alias support\n", dom_name));
+   DEBUG(5,("winbindd_fill_pwent: Failed to find domain for %s.\n",
+dom_name));
nt_status = NT_STATUS_NO_SUCH_DOMAIN;
return false;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-657-g3ce8951

2009-02-09 Thread Stefan Metzmacher
The branch, master has been updated
   via  3ce895181be9f0a91c17c1c5261a92159f154a86 (commit)
  from  d78fd1954714cbd033247668bad80a92bbd048e1 (commit)

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


- Log -
commit 3ce895181be9f0a91c17c1c5261a92159f154a86
Author: Stefan Metzmacher 
Date:   Mon Feb 9 13:31:03 2009 +0100

testprogs/win32: add an option to trigger small reads in npecho_client2.c

metze

---

Summary of changes:
 testprogs/win32/npecho/npecho_client2.c |   83 ---
 1 files changed, 76 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/testprogs/win32/npecho/npecho_client2.c 
b/testprogs/win32/npecho/npecho_client2.c
index 892574b..ebf4f9a 100755
--- a/testprogs/win32/npecho/npecho_client2.c
+++ b/testprogs/win32/npecho/npecho_client2.c
@@ -15,11 +15,20 @@ int main(int argc, char *argv[])
HANDLE h;
DWORD numread = 0;
char *outbuffer = malloc(sizeof(ECHODATA)*2);
+   BOOL small_reads = FALSE;
+   DWORD state = 0;
+   DWORD flags = 0;
 
if (argc == 1) {
-   printf("Usage: %s pipename\n", argv[0]);
-   printf("  Where pipename is something like 
servername\\NPECHO\n");
-   return -1;
+   goto usage;
+   } else if (argc >= 3) {
+   if (strcmp(argv[2], "large") == 0) {
+   small_reads = FALSE;
+   } else if (strcmp(argv[2], "small") == 0) {
+   small_reads = TRUE;
+   } else {
+   goto usage;
+   }
}
 
h = CreateFile(argv[1], GENERIC_READ|GENERIC_WRITE, 0, NULL, 
OPEN_EXISTING, 0, NULL);
@@ -28,14 +37,69 @@ int main(int argc, char *argv[])
return -1;
}
 
-   Sleep(5000);
+   GetNamedPipeHandleState(h, &state, NULL, NULL, NULL, NULL, 0);
 
-   if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, NULL)) {
-   printf("Error reading: %d\n", GetLastError());
-   return -1;
+   if (state & PIPE_READMODE_MESSAGE) {
+   printf("message read mode\n");
+   } else {
+   printf("byte read mode\n");
}
 
+   Sleep(5000);
+
+   if (small_reads) {
+   DWORD ofs, size, nread;
+   const char *more = "";
+   printf("small reads\n");
+   numread = 0;
+   ofs = 0;
+   size = sizeof(ECHODATA)/2;
+   if (ReadFile(h, outbuffer+ofs, size, &nread, NULL)) {
+   if (state & PIPE_READMODE_MESSAGE) {
+   printf("Error message mode small read 
succeeded\n");
+   return -1;
+   }
+   } else if (GetLastError() == ERROR_MORE_DATA) {
+   if (!(state & PIPE_READMODE_MESSAGE)) {
+   printf("Error byte mode small read returned 
ERROR_MORE_DATA\n");
+   return -1;
+   }
+   more = " more data";
+   } else {
+   printf("Error reading: %d\n", GetLastError());
+   return -1;
+   }
+   printf("Small Read: %d%s\n", nread, more);
+   numread += nread;
+   ofs = size;
+   size = sizeof(ECHODATA) - ofs;
+   if (!ReadFile(h, outbuffer+ofs, size, &nread, NULL)) {
+   printf("Error reading: %d\n", GetLastError());
+   return -1;
+   }
+   printf("Small Read: %d\n", nread);
+   numread += nread;
+   } else {
+   printf("large read\n");
+   if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, 
NULL)) {
+   printf("Error reading: %d\n", GetLastError());
+   return -1;
+   }
+   }
printf("Read: %s %d\n", outbuffer, numread);
+   if (state & PIPE_READMODE_MESSAGE) {
+   if (numread != sizeof(ECHODATA)) {
+   printf("message mode returned %d bytes should be %s\n",
+  numread, sizeof(ECHODATA));
+   return -1;
+   }
+   } else {
+   if (numread != (sizeof(ECHODATA)*2)) {
+   printf("message mode returned %d bytes should be %s\n",
+  numread, (sizeof(ECHODATA)*2));
+   return -1;
+   }
+   }
 
if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, NULL)) {
printf("Error reading: %d\n", GetLastError());
@@ -45,4 +109,9 @@ int main(int argc, char *argv[])
printf("Read: %s %d\n", outbuffer, nu

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-656-gd78fd19

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  d78fd1954714cbd033247668bad80a92bbd048e1 (commit)
   via  41c01930a3807cf45690d63f55c37d4f9db20d5a (commit)
  from  dfa559145c0cbee1f2acdf2c401125e75ca52922 (commit)

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


- Log -
commit d78fd1954714cbd033247668bad80a92bbd048e1
Author: Günther Deschner 
Date:   Mon Feb 9 13:03:23 2009 +0100

s3-spoolss: remove old _spoolss_FindClosePrinterNotify.

Guenther

commit 41c01930a3807cf45690d63f55c37d4f9db20d5a
Author: Günther Deschner 
Date:   Mon Feb 9 13:03:07 2009 +0100

s3-spoolss: use pidl for _spoolss_FindClosePrinterNotify.

Guenther

---

Summary of changes:
 source3/include/proto.h |3 --
 source3/include/rpc_spoolss.h   |   14 -
 source3/rpc_parse/parse_spoolss.c   |   36 ---
 source3/rpc_server/srv_spoolss.c|   22 +
 source3/rpc_server/srv_spoolss_nt.c |   24 +++---
 5 files changed, 9 insertions(+), 90 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index f8e62a8..5009e6d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5922,8 +5922,6 @@ bool make_spoolss_q_setprinter(TALLOC_CTX *mem_ctx, 
SPOOL_Q_SETPRINTER *q_u,
uint32 command);
 bool spoolss_io_r_setprinter(const char *desc, SPOOL_R_SETPRINTER *r_u, 
prs_struct *ps, int depth);
 bool spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, 
prs_struct *ps, int depth);
-bool spoolss_io_r_fcpn(const char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, 
int depth);
-bool spoolss_io_q_fcpn(const char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, 
int depth);
 bool spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_struct 
*ps, int depth);
 bool spoolss_io_q_addjob(const char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct 
*ps, int depth);
 bool spoolss_io_r_enumjobs(const char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct 
*ps, int depth);
@@ -6274,7 +6272,6 @@ WERROR _spoolss_startdocprinter(pipes_struct *p, 
SPOOL_Q_STARTDOCPRINTER *q_u, S
 WERROR add_port_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, const char 
*portname, const char *uri );
 bool add_printer_hook(TALLOC_CTX *ctx, NT_USER_TOKEN *token, 
NT_PRINTER_INFO_LEVEL *printer);
 WERROR _spoolss_setprinter(pipes_struct *p, SPOOL_Q_SETPRINTER *q_u, 
SPOOL_R_SETPRINTER *r_u);
-WERROR _spoolss_fcpn(pipes_struct *p, SPOOL_Q_FCPN *q_u, SPOOL_R_FCPN *r_u);
 WERROR _spoolss_addjob(pipes_struct *p, SPOOL_Q_ADDJOB *q_u, SPOOL_R_ADDJOB 
*r_u);
 WERROR _spoolss_enumjobs( pipes_struct *p, SPOOL_Q_ENUMJOBS *q_u, 
SPOOL_R_ENUMJOBS *r_u);
 WERROR _spoolss_schedulejob( pipes_struct *p, SPOOL_Q_SCHEDULEJOB *q_u, 
SPOOL_R_SCHEDULEJOB *r_u);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index e6462bc..9742117 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -645,20 +645,6 @@ typedef struct spool_r_rfnpcnex
 }
 SPOOL_R_RFNPCNEX;
 
-/* Find Close Printer Notify */
-typedef struct spool_q_fcpn
-{
-   POLICY_HND handle;
-}
-SPOOL_Q_FCPN;
-
-typedef struct spool_r_fcpn
-{
-   WERROR status;
-}
-SPOOL_R_FCPN;
-
-
 typedef struct printer_info_0
 {
UNISTR printername;
diff --git a/source3/rpc_parse/parse_spoolss.c 
b/source3/rpc_parse/parse_spoolss.c
index b9bee6d..84b764e 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -3449,42 +3449,6 @@ bool spoolss_io_q_setprinter(const char *desc, 
SPOOL_Q_SETPRINTER *q_u, prs_stru
 /***
 /  
 
-bool spoolss_io_r_fcpn(const char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, 
int depth)
-{  
-   prs_debug(ps, depth, desc, "spoolss_io_r_fcpn");
-   depth++;
-
-   if(!prs_align(ps))
-   return False;
-   
-   if(!prs_werror("status", ps, depth, &r_u->status))
-   return False;
-
-   return True;
-}
-
-/***
-/  
-
-bool spoolss_io_q_fcpn(const char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, 
int depth)
-{
-
-   prs_debug(ps, depth, desc, "spoolss_io_q_fcpn");
-   depth++;
-
-   if(!prs_align(ps))
-   return False;
-
-   if(!smb_io_pol_hnd("printer handle",&q_u->handle,ps,depth))
-   return False;
-
-   return True;
-}
-
-
-/***
-/  
-
 bool spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-654-gdfa5591

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  dfa559145c0cbee1f2acdf2c401125e75ca52922 (commit)
  from  5bc97e0cf2fade9e0ff37a67a6256a4e94470f00 (commit)

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


- Log -
commit dfa559145c0cbee1f2acdf2c401125e75ca52922
Author: Günther Deschner 
Date:   Mon Feb 9 12:40:12 2009 +0100

s3-spoolss: remove whitespace in printing code.

Guenther

---

Summary of changes:
 source3/printing/nt_printing.c  |  644 +-
 source3/rpc_server/srv_spoolss_nt.c |2 +-
 source3/rpcclient/cmd_spoolss.c |  378 ++--
 3 files changed, 512 insertions(+), 512 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 0ed32d9..ad3a958 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -31,7 +31,7 @@ static TDB_CONTEXT *tdb_printers; /* used for printers files 
*/
 #define PRINTERS_PREFIX "PRINTERS/"
 #define SECDESC_PREFIX "SECDESC/"
 #define GLOBAL_C_SETPRINTER "GLOBALS/c_setprinter"
- 
+
 #define NTDRIVERS_DATABASE_VERSION_1 1
 #define NTDRIVERS_DATABASE_VERSION_2 2
 #define NTDRIVERS_DATABASE_VERSION_3 3 /* little endian version of v2 */
@@ -209,7 +209,7 @@ struct table_node {
const char  *short_archi;
int version;
 };
- 
+
 #define SPL_ARCH_WIN40 "WIN40"
 #define SPL_ARCH_W32X86"W32X86"
 #define SPL_ARCH_W32MIPS   "W32MIPS"
@@ -276,9 +276,9 @@ static TDB_DATA make_printers_secdesc_tdbkey(TALLOC_CTX 
*ctx,
 static bool upgrade_to_version_3(void)
 {
TDB_DATA kbuf, newkey, dbuf;
- 
+
DEBUG(0,("upgrade_to_version_3: upgrading print tdb's to version 3\n"));
- 
+
for (kbuf = tdb_firstkey(tdb_drivers); kbuf.dptr;
newkey = tdb_nextkey(tdb_drivers, kbuf), 
free(kbuf.dptr), kbuf=newkey) {
 
@@ -297,7 +297,7 @@ static bool upgrade_to_version_3(void)
return False;
}
}
- 
+
if (strncmp((const char *)kbuf.dptr, PRINTERS_PREFIX, 
strlen(PRINTERS_PREFIX)) == 0) {
DEBUG(0,("upgrade_to_version_3:moving printer\n"));
if (tdb_store(tdb_printers, kbuf, dbuf, TDB_REPLACE) != 
0) {
@@ -311,7 +311,7 @@ static bool upgrade_to_version_3(void)
return False;
}
}
- 
+
if (strncmp((const char *)kbuf.dptr, SECDESC_PREFIX, 
strlen(SECDESC_PREFIX)) == 0) {
DEBUG(0,("upgrade_to_version_3:moving secdesc\n"));
if (tdb_store(tdb_printers, kbuf, dbuf, TDB_REPLACE) != 
0) {
@@ -325,7 +325,7 @@ static bool upgrade_to_version_3(void)
return False;
}
}
- 
+
SAFE_FREE(dbuf.dptr);
}
 
@@ -333,10 +333,10 @@ static bool upgrade_to_version_3(void)
 }
 
 /***
- Fix an issue with security descriptors.  Printer sec_desc must 
- use more than the generic bits that were previously used 
+ Fix an issue with security descriptors.  Printer sec_desc must
+ use more than the generic bits that were previously used
  in <= 3.0.14a.  They must also have a owner and group SID assigned.
- Otherwise, any printers than have been migrated to a Windows 
+ Otherwise, any printers than have been migrated to a Windows
  host using printmig.exe will not be accessible.
 ***/
 
@@ -381,29 +381,29 @@ static int sec_desc_upg_fn( TDB_CONTEXT *the_tdb, 
TDB_DATA key,
return 0;
}
sec = sd_orig->sd;
-   
+
/* is this even valid? */
-   
+
if ( !sec->dacl ) {
prs_mem_free( &ps );
return 0;
}
-   
+
/* update access masks */
-   
+
for ( i=0; idacl->num_aces; i++ ) {
switch ( sec->dacl->aces[i].access_mask ) {
case (GENERIC_READ_ACCESS | GENERIC_WRITE_ACCESS | 
GENERIC_EXECUTE_ACCESS):
sec->dacl->aces[i].access_mask = 
PRINTER_ACE_PRINT;
break;
-   
+
case GENERIC_ALL_ACCESS:
sec->dacl->aces[i].access_mask = 
PRINTER_ACE_FULL_CONTROL;
break;
-   
+
case READ_CONTROL_ACCESS:
sec->dacl->aces[i].access_mask = 
PRINTER_ACE_MANAGE_DOCUMENTS;
-   
+
default:/* no change */
   

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-653-g5bc97e0

2009-02-09 Thread Volker Lendecke
The branch, master has been updated
   via  5bc97e0cf2fade9e0ff37a67a6256a4e94470f00 (commit)
  from  03ae7fc1346a817b52d7f2e079b9be0476789d10 (commit)

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


- Log -
commit 5bc97e0cf2fade9e0ff37a67a6256a4e94470f00
Author: Volker Lendecke 
Date:   Mon Feb 9 12:32:16 2009 +0100

Fix count in _srvsvc_NetDiskEnum()

Without this, remotely adding a share via MMC fails

---

Summary of changes:
 source3/rpc_server/srv_srvsvc_nt.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_srvsvc_nt.c 
b/source3/rpc_server/srv_srvsvc_nt.c
index 073f92d..056236f 100644
--- a/source3/rpc_server/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srv_srvsvc_nt.c
@@ -2328,6 +2328,8 @@ WERROR _srvsvc_NetDiskEnum(pipes_struct *p,
 
/*allow one struct srvsvc_NetDiskInfo0 for null terminator*/
 
+   r->out.info->count = 0;
+
for(i = 0; i < MAX_SERVER_DISK_ENTRIES -1 && (disk_name = 
next_server_disk_enum(&resume)); i++) {
 
r->out.info->count++;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4919-g7f6bf48

2009-02-09 Thread Volker Lendecke
The branch, v3-3-test has been updated
   via  7f6bf488fd3758f631edcade61378955cf9bf674 (commit)
  from  6dc87c67198f27c359370399022910ba77c1d44d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit 7f6bf488fd3758f631edcade61378955cf9bf674
Author: Volker Lendecke 
Date:   Mon Feb 9 12:32:16 2009 +0100

Fix count in _srvsvc_NetDiskEnum()

Without this, remotely adding a share via MMC fails
(cherry picked from commit 197b4c42bbf53347f4953e39099192693d709a7d)

---

Summary of changes:
 source/rpc_server/srv_srvsvc_nt.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_srvsvc_nt.c 
b/source/rpc_server/srv_srvsvc_nt.c
index 47688b1..5df3daa 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -2322,6 +2322,8 @@ WERROR _srvsvc_NetDiskEnum(pipes_struct *p,
 
/*allow one struct srvsvc_NetDiskInfo0 for null terminator*/
 
+   r->out.info->count = 0;
+
for(i = 0; i < MAX_SERVER_DISK_ENTRIES -1 && (disk_name = 
next_server_disk_enum(&resume)); i++) {
 
r->out.info->count++;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-3436-g197b4c4

2009-02-09 Thread Volker Lendecke
The branch, v3-2-test has been updated
   via  197b4c42bbf53347f4953e39099192693d709a7d (commit)
  from  918133544b535d12761b5d6242e59eb7d21bae45 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -
commit 197b4c42bbf53347f4953e39099192693d709a7d
Author: Volker Lendecke 
Date:   Mon Feb 9 12:32:16 2009 +0100

Fix count in _srvsvc_NetDiskEnum()

Without this, remotely adding a share via MMC fails

---

Summary of changes:
 source/rpc_server/srv_srvsvc_nt.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_srvsvc_nt.c 
b/source/rpc_server/srv_srvsvc_nt.c
index c9d7748..c22363e 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -2316,6 +2316,8 @@ WERROR _srvsvc_NetDiskEnum(pipes_struct *p,
 
/*allow one struct srvsvc_NetDiskInfo0 for null terminator*/
 
+   r->out.info->count = 0;
+
for(i = 0; i < MAX_SERVER_DISK_ENTRIES -1 && (disk_name = 
next_server_disk_enum(&resume)); i++) {
 
r->out.info->count++;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-652-g03ae7fc

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  03ae7fc1346a817b52d7f2e079b9be0476789d10 (commit)
   via  cae89f5250d7bc6f06db456c5e733c40175bcb78 (commit)
   via  160e8c7a3779b263130469bffb168d142a7cd708 (commit)
   via  763fe063d2aacb40c87208155d3d35d19ebc971d (commit)
   via  2a74f8bdbb28d7e027abfc703bd81c74eee38daf (commit)
   via  7717ad688099860fa0989ed3582435404fd6d4fa (commit)
   via  8b5729f31c4c64640a764f8081deb59349964db0 (commit)
   via  1c0b19fef68e865238aef80ca0ef55f40417d5a6 (commit)
   via  bed65d86ac4df7af233b940a70df2b70d7c216fa (commit)
   via  27acd8744554ad7b1e43f31136b7949c23bb27a4 (commit)
   via  fe6d62fb9fcfb7ee47dc3a2d09f73dfcefdb0bc4 (commit)
   via  ce5b25aaa4b40c771352d997bf73b311b50bf058 (commit)
  from  8f130d54799097f731fe39211dae2d2eb0f6df98 (commit)

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


- Log -
commit 03ae7fc1346a817b52d7f2e079b9be0476789d10
Author: Günther Deschner 
Date:   Mon Feb 9 11:14:41 2009 +0100

s3-spoolss: remove old _spoolss_DeletePrinterDriverEx.

Guenther

commit cae89f5250d7bc6f06db456c5e733c40175bcb78
Author: Günther Deschner 
Date:   Mon Feb 9 11:14:00 2009 +0100

s3-rpcclient: use rpccli_spoolss_DeletePrinterDriverEx.

Guenther

commit 160e8c7a3779b263130469bffb168d142a7cd708
Author: Günther Deschner 
Date:   Mon Feb 9 11:13:10 2009 +0100

s3-spoolss: use pidl for _spoolss_DeletePrinterDriverEx.

Guenther

commit 763fe063d2aacb40c87208155d3d35d19ebc971d
Author: Günther Deschner 
Date:   Mon Feb 9 01:50:04 2009 +0100

s3-spoolss: remove old spoolss_DeletePrinterDriver.

Guenther

commit 2a74f8bdbb28d7e027abfc703bd81c74eee38daf
Author: Günther Deschner 
Date:   Mon Feb 9 01:49:40 2009 +0100

s3-rpcclient: use rpccli_spoolss_DeletePrinterDriver.

Guenther

commit 7717ad688099860fa0989ed3582435404fd6d4fa
Author: Günther Deschner 
Date:   Mon Feb 9 01:49:19 2009 +0100

s3-spools: use pidl for _spoolss_DeletePrinterDriver.

Guenther

commit 8b5729f31c4c64640a764f8081deb59349964db0
Author: Günther Deschner 
Date:   Mon Feb 9 01:33:16 2009 +0100

s3-spoolss: remove old _spoolss_DeletePrinterKey.

Guenther

commit 1c0b19fef68e865238aef80ca0ef55f40417d5a6
Author: Günther Deschner 
Date:   Mon Feb 9 01:33:00 2009 +0100

s3-spoolss: use pidl for _spoolss_DeletePrinterKey.

Guenther

commit bed65d86ac4df7af233b940a70df2b70d7c216fa
Author: Günther Deschner 
Date:   Mon Feb 9 01:18:20 2009 +0100

s3-spoolss: remove old _spoolss_DeletePrinterData.

Guenther

commit 27acd8744554ad7b1e43f31136b7949c23bb27a4
Author: Günther Deschner 
Date:   Mon Feb 9 01:17:57 2009 +0100

s3-spoolss: use pidl for _spoolss_DeletePrinterData.

Guenther

commit fe6d62fb9fcfb7ee47dc3a2d09f73dfcefdb0bc4
Author: Günther Deschner 
Date:   Mon Feb 9 01:11:37 2009 +0100

s3-spoolss: remove old _spoolss_DeletePrinterDataEx.

Guenther

commit ce5b25aaa4b40c771352d997bf73b311b50bf058
Author: Günther Deschner 
Date:   Mon Feb 9 01:11:18 2009 +0100

s3-spoolss: use pidl for _spoolss_DeletePrinterDataEx.

Guenther

---

Summary of changes:
 source3/include/proto.h |   48 -
 source3/include/rpc_spoolss.h   |   74 
 source3/rpc_client/cli_spoolss.c|  136 ---
 source3/rpc_parse/parse_spoolss.c   |  326 ---
 source3/rpc_server/srv_spoolss.c|  111 +---
 source3/rpc_server/srv_spoolss_nt.c |  185 +++-
 source3/rpcclient/cmd_spoolss.c |   34 +++-
 7 files changed, 92 insertions(+), 822 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index f10152f..f8e62a8 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5458,12 +5458,6 @@ WERROR rpccli_spoolss_addprinterdriver (struct 
rpc_pipe_client *cli,
 PRINTER_DRIVER_CTR *ctr);
 WERROR rpccli_spoolss_addprinterex (struct rpc_pipe_client *cli, TALLOC_CTX 
*mem_ctx,
 uint32 level, PRINTER_INFO_CTR*ctr);
-WERROR rpccli_spoolss_deleteprinterdriverex(struct rpc_pipe_client *cli, 
- TALLOC_CTX *mem_ctx, const char *arch,
- const char *driver, int version);
-WERROR rpccli_spoolss_deleteprinterdriver (struct rpc_pipe_client *cli, 
-   TALLOC_CTX *mem_ctx, const char *arch,
-   const char *driver);
 WERROR rpccli_spoolss_getprintprocessordirectory(struct rpc_pipe_client *cli,
  TALLOC_CTX *mem_ctx,
  char *name, char *environment,
@@ -55

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-640-g8f130d5

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  8f130d54799097f731fe39211dae2d2eb0f6df98 (commit)
   via  43040b316ce70849a90f059d1fb6f234088df14b (commit)
   via  bf72c59c1bb465d3e8b687ac19108fac4d7f044a (commit)
  from  b8cafc5ad21fa999ce52facf605b3c315edde322 (commit)

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


- Log -
commit 8f130d54799097f731fe39211dae2d2eb0f6df98
Author: Günther Deschner 
Date:   Mon Feb 9 12:32:09 2009 +0100

s3-spoolss: remove SPOOLSS_DELETEPRINTERDRIVEREX flags now defined in IDL.

Guenther

commit 43040b316ce70849a90f059d1fb6f234088df14b
Author: Günther Deschner 
Date:   Mon Feb 9 11:11:28 2009 +0100

s3: re-run make samba3-idl.

Guenther

commit bf72c59c1bb465d3e8b687ac19108fac4d7f044a
Author: Günther Deschner 
Date:   Mon Feb 9 11:11:01 2009 +0100

spoolss: fill in spoolss_DeletePrinterDriverEx IDL.

Guenther

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c  |   10 +
 librpc/gen_ndr/cli_spoolss.h  |5 ++
 librpc/gen_ndr/ndr_spoolss.c  |   87 +
 librpc/gen_ndr/ndr_spoolss.h  |3 +
 librpc/gen_ndr/spoolss.h  |   13 ++
 librpc/idl/spoolss.idl|   13 ++-
 source3/include/rpc_spoolss.h |6 ---
 7 files changed, 130 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index ec0b43a..63f8977 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -3924,12 +3924,22 @@ NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
  TALLOC_CTX *mem_ctx,
+ const char *server /* [in] 
[unique,charset(UTF16)] */,
+ const char *architecture /* [in] 
[charset(UTF16)] */,
+ const char *driver /* [in] 
[charset(UTF16)] */,
+ uint32_t delete_flags /* [in]  */,
+ uint32_t version /* [in]  */,
  WERROR *werror)
 {
struct spoolss_DeletePrinterDriverEx r;
NTSTATUS status;
 
/* In parameters */
+   r.in.server = server;
+   r.in.architecture = architecture;
+   r.in.driver = driver;
+   r.in.delete_flags = delete_flags;
+   r.in.version = version;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterDriverEx, &r);
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index f534eab..a77878b 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -478,6 +478,11 @@ NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
   WERROR *werror);
 NTSTATUS rpccli_spoolss_DeletePrinterDriverEx(struct rpc_pipe_client *cli,
  TALLOC_CTX *mem_ctx,
+ const char *server /* [in] 
[unique,charset(UTF16)] */,
+ const char *architecture /* [in] 
[charset(UTF16)] */,
+ const char *driver /* [in] 
[charset(UTF16)] */,
+ uint32_t delete_flags /* [in]  */,
+ uint32_t version /* [in]  */,
  WERROR *werror);
 NTSTATUS rpccli_spoolss_55(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index df4a629..7f66abe 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -9006,6 +9006,30 @@ _PUBLIC_ void ndr_print_spoolss_UserLevel(struct 
ndr_print *ndr, const char *nam
}
 }
 
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push 
*ndr, int ndr_flags, uint32_t r)
+{
+   NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+   return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeleteDriverFlags(struct ndr_pull 
*ndr, int ndr_flags, uint32_t *r)
+{
+   uint32_t v;
+   NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+   *r = v;
+   return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeleteDriverFlags(struct ndr_print *ndr, const 
char *name, uint32_t r)
+{
+   ndr_print_uint32(ndr, name, r);
+   ndr->depth++;
+   ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DPD_DELETE_UNUSED_FILES", 
DPD_DELETE_UNUSED_FILES, r);
+   ndr_print_bitmap_flag(ndr, sizeof(uint32_t), 
"DPD_DELETE_SPECIFIC_VERSION", DPD_DELETE_SPECIFIC

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-637-gb8cafc5

2009-02-09 Thread Kai Blin
The branch, master has been updated
   via  b8cafc5ad21fa999ce52facf605b3c315edde322 (commit)
  from  1bf51ea26293120a63e445e07b08ddf718487900 (commit)

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


- Log -
commit b8cafc5ad21fa999ce52facf605b3c315edde322
Author: Kai Blin 
Date:   Mon Feb 9 12:11:43 2009 +0100

async_sock: Map ASYNC_REQ_TIMEOUT to ETIMEDOUT instead of ETIME

Also, fall back to EIO if ETIMEDOUT is not present

---

Summary of changes:
 lib/async_req/async_sock.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index 23ac937..46ad29d 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -116,7 +116,11 @@ bool async_req_is_errno(struct async_req *req, int *err)
*err = (int)error;
break;
case ASYNC_REQ_TIMED_OUT:
-   *err = ETIME;
+#ifdef HAVE_ETIMEDOUT
+   *err = ETIMEDOUT;
+#else
+   *err = EIO;
+#endif
break;
case ASYNC_REQ_NO_MEMORY:
*err = ENOMEM;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-636-g1bf51ea

2009-02-09 Thread Stefan Metzmacher
The branch, master has been updated
   via  1bf51ea26293120a63e445e07b08ddf718487900 (commit)
  from  c6b440d1b7f88af2897b9b2e9b09f05b488a1685 (commit)

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


- Log -
commit 1bf51ea26293120a63e445e07b08ddf718487900
Author: Stefan Metzmacher 
Date:   Mon Feb 9 12:09:01 2009 +0100

testprogs/win32: make it possible to run in byte or message mode in 
npecho_server2

metze

---

Summary of changes:
 testprogs/win32/npecho/npecho_client2.c |2 +-
 testprogs/win32/npecho/npecho_server2.c |   29 +
 2 files changed, 26 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/testprogs/win32/npecho/npecho_client2.c 
b/testprogs/win32/npecho/npecho_client2.c
index 0486cef..892574b 100755
--- a/testprogs/win32/npecho/npecho_client2.c
+++ b/testprogs/win32/npecho/npecho_client2.c
@@ -28,7 +28,7 @@ int main(int argc, char *argv[])
return -1;
}
 
-   Sleep(1000);
+   Sleep(5000);
 
if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, NULL)) {
printf("Error reading: %d\n", GetLastError());
diff --git a/testprogs/win32/npecho/npecho_server2.c 
b/testprogs/win32/npecho/npecho_server2.c
index 72edb02..281fc45 100755
--- a/testprogs/win32/npecho/npecho_server2.c
+++ b/testprogs/win32/npecho/npecho_server2.c
@@ -15,16 +15,32 @@ int main(int argc, char *argv[])
HANDLE h;
DWORD numread = 0;
char *outbuffer = malloc(sizeof(ECHODATA));
+   BOOL msgmode = FALSE;
+   DWORD type = 0;
 
if (argc == 1) {
-   printf("Usage: %s pipename\n", argv[0]);
-   printf("  Where pipename is something like 
servername\\NPECHO\n");
-   return -1;
+   goto usage;
+   } else if (argc >= 3) {
+   if (strcmp(argv[2], "byte") == 0) {
+   msgmode = FALSE;
+   } else if (strcmp(argv[2], "message") == 0) {
+   msgmode = TRUE;
+   } else {
+   goto usage;
+   }
+   }
+
+   if (msgmode == TRUE) {
+   printf("using message mode\n");
+   type = PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT;
+   } else {
+   printf("using byte mode\n");
+   type = PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT;
}
 
h = CreateNamedPipe(argv[1],
PIPE_ACCESS_DUPLEX,
-   PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | 
PIPE_WAIT,
+   type,
PIPE_UNLIMITED_INSTANCES,
1024,
1024,
@@ -52,4 +68,9 @@ int main(int argc, char *argv[])
CloseHandle(h);
 
return 0;
+usage:
+   printf("Usage: %s pipename [mode]\n", argv[0]);
+   printf("  Where pipename is something like 
servername\\PIPE\\NPECHO\n");
+   printf("  Where mode is 'byte' or 'message'\n");
+   return -1;
 }


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-635-gc6b440d

2009-02-09 Thread Stefan Metzmacher
The branch, master has been updated
   via  c6b440d1b7f88af2897b9b2e9b09f05b488a1685 (commit)
   via  5438d7dad8d349f8fdc07a89870ddafb9c54a68f (commit)
  from  15243c13e914b1ecc6f0eec924cc587a4069c62b (commit)

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


- Log -
commit c6b440d1b7f88af2897b9b2e9b09f05b488a1685
Author: Stefan Metzmacher 
Date:   Mon Feb 9 11:56:05 2009 +0100

s4:Makefile: fix PUBLIC_HEADERS typo

metze

commit 5438d7dad8d349f8fdc07a89870ddafb9c54a68f
Author: Stefan Metzmacher 
Date:   Mon Feb 9 11:54:34 2009 +0100

testprogs/win32: add npecho_*2.c

This exlores some details of message type named pipes.

metze

---

Summary of changes:
 source4/Makefile|2 +-
 testprogs/win32/npecho/GNUmakefile  |   23 +++--
 testprogs/win32/npecho/NMakefile|   12 ++-
 testprogs/win32/npecho/npecho_client2.c |   48 +++
 testprogs/win32/npecho/npecho_server2.c |   55 +++
 5 files changed, 128 insertions(+), 12 deletions(-)
 create mode 100755 testprogs/win32/npecho/npecho_client2.c
 create mode 100755 testprogs/win32/npecho/npecho_server2.c


Changeset truncated at 500 lines:

diff --git a/source4/Makefile b/source4/Makefile
index 267e302..508836f 100644
--- a/source4/Makefile
+++ b/source4/Makefile
@@ -146,7 +146,7 @@ endif
 clean::
@find ../lib ../libcli ../librpc ../nsswitch -name '*.o' -o -name 
'*.ho' | xargs rm -f
 
-PUBLIC_HEADES += $(srcdir)/version.h
+PUBLIC_HEADERS += $(srcdir)/version.h
 
 libraries:: $(STATIC_LIBS) $(SHARED_LIBS)
 modules:: $(PLUGINS)
diff --git a/testprogs/win32/npecho/GNUmakefile 
b/testprogs/win32/npecho/GNUmakefile
index 33cf95d..64fb79f 100755
--- a/testprogs/win32/npecho/GNUmakefile
+++ b/testprogs/win32/npecho/GNUmakefile
@@ -1,20 +1,23 @@
 INCLUDES=-I.
-CFLAGS=$(INCLUDES) 
+CFLAGS=$(INCLUDES)
 
-all: npecho_client.exe npecho_server.exe
+NPECHO = npecho_client.exe
+#npecho_server.exe
+
+NPECHO2 = npecho_client2.exe npecho_server2.exe
+
+all: $(NPECHO) $(NPECHO2)
 
 CC = i586-mingw32msvc-gcc
 
-.SUFFIXES: .c .obj
+.SUFFIXES: .c .obj .exe
 
-.c.obj: 
+.c.obj:
$(CC) $(CFLAGS) -c $< -o $@
 
-clean:
-   del *~ *.obj *.exe 
+.obj.exe:
+   $(CC) $(CFLAGS) -o $@ $< $(LIBS)
 
-npecho_client.exe: npecho_client.obj
-npecho_server.exe: npecho_server.obj
+clean:
+   del *~ *.obj *.exe
 
-%.exe: 
-   $(CC) $(CFLAGS) -o $@ $< $(LIBS)
diff --git a/testprogs/win32/npecho/NMakefile b/testprogs/win32/npecho/NMakefile
index b52a9c7..a0951b0 100755
--- a/testprogs/win32/npecho/NMakefile
+++ b/testprogs/win32/npecho/NMakefile
@@ -1,7 +1,11 @@
 INCLUDES=-I 
 CFLAGS=$(INCLUDES) -Zi -nologo
 
-all: npecho_client.exe npecho_server.exe
+NPECHO = npecho_client.exe
+# missing npecho_server.exe
+NPECHO2 = npecho_client2.exe npecho_server2.exe
+
+all: $(NPECHO) $(NPECHO2)
 
 clean:
del *~ *.obj *.exe 
@@ -11,3 +15,9 @@ npecho_client.exe: npecho_client.obj
 
 npecho_server.exe: npecho_server.obj 
$(CC) $(CFLAGS) -o npecho_server.exe npecho_server.obj $(LIBS)
+
+npecho_client2.exe: npecho_client2.obj
+   $(CC) $(CFLAGS) -o npecho_client2.exe npecho_client2.obj $(LIBS)
+
+npecho_server2.exe: npecho_server2.obj
+   $(CC) $(CFLAGS) -o npecho_server2.exe npecho_server2.obj $(LIBS)
diff --git a/testprogs/win32/npecho/npecho_client2.c 
b/testprogs/win32/npecho/npecho_client2.c
new file mode 100755
index 000..0486cef
--- /dev/null
+++ b/testprogs/win32/npecho/npecho_client2.c
@@ -0,0 +1,48 @@
+/*
+ * Simple Named Pipe Client
+ * (C) 2005 Jelmer Vernooij 
+ * (C) 2009 Stefan Metzmacher 
+ * Published to the public domain
+ */
+
+#include 
+#include 
+
+#define ECHODATA "Black Dog"
+
+int main(int argc, char *argv[])
+{
+   HANDLE h;
+   DWORD numread = 0;
+   char *outbuffer = malloc(sizeof(ECHODATA)*2);
+
+   if (argc == 1) {
+   printf("Usage: %s pipename\n", argv[0]);
+   printf("  Where pipename is something like 
servername\\NPECHO\n");
+   return -1;
+   }
+
+   h = CreateFile(argv[1], GENERIC_READ|GENERIC_WRITE, 0, NULL, 
OPEN_EXISTING, 0, NULL);
+   if (h == INVALID_HANDLE_VALUE) {
+   printf("Error opening: %d\n", GetLastError());
+   return -1;
+   }
+
+   Sleep(1000);
+
+   if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, NULL)) {
+   printf("Error reading: %d\n", GetLastError());
+   return -1;
+   }
+
+   printf("Read: %s %d\n", outbuffer, numread);
+
+   if (!ReadFile(h, outbuffer, sizeof(ECHODATA)*2, &numread, NULL)) {
+   printf("Error reading: %d\n", GetLastError());
+   return -1;
+   }
+
+   printf("Read: %s %d\n", outbuffer, numread);
+
+   return 0;
+}
diff --git a/

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-633-g15243c1

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  15243c13e914b1ecc6f0eec924cc587a4069c62b (commit)
   via  68404a2c97e6c2eb3c451c6a8ed4f2202fd3c87c (commit)
   via  58a8c0235497dddee3f4bbddb07e39f42a3e310e (commit)
  from  8cc60bf978e42310e3b285b43a00c509607d7078 (commit)

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


- Log -
commit 15243c13e914b1ecc6f0eec924cc587a4069c62b
Author: Günther Deschner 
Date:   Mon Feb 9 01:32:28 2009 +0100

s3: re-run make samba3-idl.

Guenther

commit 68404a2c97e6c2eb3c451c6a8ed4f2202fd3c87c
Author: Günther Deschner 
Date:   Mon Feb 9 01:48:34 2009 +0100

spoolss: fix spoolss_DeletePrinterDriver IDL.

Guenther

commit 58a8c0235497dddee3f4bbddb07e39f42a3e310e
Author: Günther Deschner 
Date:   Mon Feb 9 01:32:02 2009 +0100

spoolss: fill in spoolss_DeletePrinterKey IDL.

Guenther

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c |6 +++-
 librpc/gen_ndr/cli_spoolss.h |3 +-
 librpc/gen_ndr/ndr_spoolss.c |   44 ++---
 librpc/gen_ndr/spoolss.h |6 -
 librpc/idl/spoolss.idl   |5 ++-
 5 files changed, 42 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 0255d00..ec0b43a 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -675,7 +675,6 @@ NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
-   struct policy_handle *handle /* 
[in] [ref] */,
const char *server /* [in] 
[unique,charset(UTF16)] */,
const char *architecture /* [in] 
[charset(UTF16)] */,
const char *driver /* [in] 
[charset(UTF16)] */,
@@ -685,7 +684,6 @@ NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct 
rpc_pipe_client *cli,
NTSTATUS status;
 
/* In parameters */
-   r.in.handle = handle;
r.in.server = server;
r.in.architecture = architecture;
r.in.driver = driver;
@@ -3840,12 +3838,16 @@ NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct 
rpc_pipe_client *cli,
 
 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
 TALLOC_CTX *mem_ctx,
+struct policy_handle *handle /* [in] 
[ref] */,
+const char *key_name /* [in] 
[charset(UTF16)] */,
 WERROR *werror)
 {
struct spoolss_DeletePrinterKey r;
NTSTATUS status;
 
/* In parameters */
+   r.in.handle = handle;
+   r.in.key_name = key_name;
 
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(spoolss_DeletePrinterKey, &r);
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index 6a4ffb0..f534eab 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -103,7 +103,6 @@ NTSTATUS rpccli_spoolss_GetPrinterDriverDirectory(struct 
rpc_pipe_client *cli,
  WERROR *werror);
 NTSTATUS rpccli_spoolss_DeletePrinterDriver(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
-   struct policy_handle *handle /* 
[in] [ref] */,
const char *server /* [in] 
[unique,charset(UTF16)] */,
const char *architecture /* [in] 
[charset(UTF16)] */,
const char *driver /* [in] 
[charset(UTF16)] */,
@@ -471,6 +470,8 @@ NTSTATUS rpccli_spoolss_DeletePrinterDataEx(struct 
rpc_pipe_client *cli,
WERROR *werror);
 NTSTATUS rpccli_spoolss_DeletePrinterKey(struct rpc_pipe_client *cli,
 TALLOC_CTX *mem_ctx,
+struct policy_handle *handle /* [in] 
[ref] */,
+const char *key_name /* [in] 
[charset(UTF16)] */,
 WERROR *werror);
 NTSTATUS rpccli_spoolss_53(struct rpc_pipe_client *cli,
   TALLOC_CTX *mem_ctx,
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 3d2191a..df4a629 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -10615,10 +10615,6 @@ _PUBLIC_ void 
ndr_print_spoolss_GetPrinterDriverDirectory(struct ndr_print *ndr,
 static enum ndr_err_code ndr_push

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-630-g8cc60bf

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  8cc60bf978e42310e3b285b43a00c509607d7078 (commit)
   via  3c1d2f2a3ae52a2dcdf03cc6814d144a29694a9c (commit)
   via  9232a5be207dc156c37f45eede0f2de6465e58ee (commit)
   via  373a4d829d4f3591b10044af38ebf2097d21e533 (commit)
   via  894d05bc41c683a47590cd237194e2b3b7ec0e67 (commit)
   via  c0e3b195c86edc7fc9a862006e258e517465b7fd (commit)
   via  9ef58a91962728c48df85c09ddabacfe9ebe2f21 (commit)
   via  c7d572a76f6269b9f6edea553bcb17d270a69500 (commit)
   via  fac7ed3df1b1fde5ca16e742bd856e4ddbf7e01f (commit)
   via  3a1f9411e588742cb2d9dbb6f8edc1b78893fbd0 (commit)
   via  5234f5e433847e6efd29e0c4a7d76a491818a92a (commit)
  from  45f142fe29059accad5ff408e844ad3ae29e3b96 (commit)

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


- Log -
commit 8cc60bf978e42310e3b285b43a00c509607d7078
Author: Günther Deschner 
Date:   Sun Feb 8 23:13:45 2009 +0100

s3-spoolss: remove old _spoolss_GetForm.

Guenther

commit 3c1d2f2a3ae52a2dcdf03cc6814d144a29694a9c
Author: Günther Deschner 
Date:   Sun Feb 8 23:12:25 2009 +0100

s3-spoolss: use pidl for _spoolss_GetForm.

Guenther

commit 9232a5be207dc156c37f45eede0f2de6465e58ee
Author: Günther Deschner 
Date:   Sun Feb 8 23:11:28 2009 +0100

s3-spoolss: add fill_form_info_1.

Guenther

commit 373a4d829d4f3591b10044af38ebf2097d21e533
Author: Günther Deschner 
Date:   Sun Feb 8 19:51:20 2009 +0100

s3-rpcclient: use rpccli_spoolss_GetForm.

Guenther

commit 894d05bc41c683a47590cd237194e2b3b7ec0e67
Author: Günther Deschner 
Date:   Sun Feb 8 19:24:39 2009 +0100

s3-spoolss: restore delete_a_form().

Guenther

commit c0e3b195c86edc7fc9a862006e258e517465b7fd
Author: Günther Deschner 
Date:   Sun Feb 8 19:21:26 2009 +0100

s3-spoolss: remove old _spoolss_SetForm.

Guenther

commit 9ef58a91962728c48df85c09ddabacfe9ebe2f21
Author: Günther Deschner 
Date:   Sun Feb 8 19:19:57 2009 +0100

s3-spoolss: use pidl for _spoolss_SetForm.

Guenther

commit c7d572a76f6269b9f6edea553bcb17d270a69500
Author: Günther Deschner 
Date:   Sun Feb 8 19:19:20 2009 +0100

s3-rpcclient: use rpccli_spoolss_SetForm.

Guenther

commit fac7ed3df1b1fde5ca16e742bd856e4ddbf7e01f
Author: Günther Deschner 
Date:   Sun Feb 8 00:04:48 2009 +0100

s3-spoolss: remove old spoolss_AddForm.

Guenther

commit 3a1f9411e588742cb2d9dbb6f8edc1b78893fbd0
Author: Günther Deschner 
Date:   Sun Feb 8 00:04:27 2009 +0100

s3-spoolss: use pidl for spoolss_AddForm.

Guenther

commit 5234f5e433847e6efd29e0c4a7d76a491818a92a
Author: Günther Deschner 
Date:   Sun Feb 8 00:03:00 2009 +0100

s3-spoolss: use rpccli_spoolss_AddForm in net and rpcclient.

Guenther

---

Summary of changes:
 source3/include/proto.h |   31 +
 source3/include/rpc_spoolss.h   |   49 ---
 source3/printing/nt_printing.c  |   61 --
 source3/rpc_client/cli_spoolss.c|  107 
 source3/rpc_parse/parse_spoolss.c   |  239 ---
 source3/rpc_server/srv_spoolss.c|   66 +-
 source3/rpc_server/srv_spoolss_nt.c |  155 +++
 source3/rpcclient/cmd_spoolss.c |  111 
 source3/utils/net_rpc_printer.c |   28 +++--
 9 files changed, 205 insertions(+), 642 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 6988788..f10152f 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4791,10 +4791,9 @@ bool get_a_builtin_ntform(UNISTR2 
*uni_formname,nt_forms_struct *form);
 bool get_a_builtin_ntform_by_string(const char *form_name, nt_forms_struct 
*form);
 int get_ntforms(nt_forms_struct **list);
 int write_ntforms(nt_forms_struct **list, int number);
-bool add_a_form(nt_forms_struct **list, const FORM *form, int *count);
-bool delete_a_form(nt_forms_struct **list, UNISTR2 *del_name, int *count, 
WERROR *ret);
-bool delete_a_form_by_string(nt_forms_struct **list, const char *del_name, int 
*count, WERROR *ret);
-void update_a_form(nt_forms_struct **list, const FORM *form, int count);
+bool add_a_form(nt_forms_struct **list, struct spoolss_AddFormInfo1 *form, int 
*count);
+bool delete_a_form(nt_forms_struct **list, const char *del_name, int *count, 
WERROR *ret);
+void update_a_form(nt_forms_struct **list, struct spoolss_AddFormInfo1 *form, 
int count);
 int get_ntdrivers(fstring **list, const char *architecture, uint32 version);
 const char *get_short_archi(const char *long_archi);
 WERROR clean_up_driver_struct(struct pipes_struct *rpc_pipe,
@@ -5469,14 +5468,6 @@ WERROR rpccli_spoolss_getprintprocessordirectory(struct 
rpc_pipe_client *cli,
  TALLOC_CTX

[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-4918-g6dc87c6

2009-02-09 Thread Günther Deschner
The branch, v3-3-test has been updated
   via  6dc87c67198f27c359370399022910ba77c1d44d (commit)
  from  b657020d0a3d43099e55956d13a7a73324888bcb (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -
commit 6dc87c67198f27c359370399022910ba77c1d44d
Author: Günther Deschner 
Date:   Mon Feb 9 00:06:36 2009 +0100

s3-rpcclient: fix getform command asprintf return code.

Guenther

---

Summary of changes:
 source/rpcclient/cmd_spoolss.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpcclient/cmd_spoolss.c b/source/rpcclient/cmd_spoolss.c
index 1e9001f..d36e062 100644
--- a/source/rpcclient/cmd_spoolss.c
+++ b/source/rpcclient/cmd_spoolss.c
@@ -1827,7 +1827,7 @@ static WERROR cmd_spoolss_getform(struct rpc_pipe_client 
*cli, TALLOC_CTX *mem_c
return WERR_NOMEM;
}
strupper_m(servername);
-   if (asprintf(&printername, "%s\\%s", servername, argv[1])) {
+   if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-619-g45f142f

2009-02-09 Thread Günther Deschner
The branch, master has been updated
   via  45f142fe29059accad5ff408e844ad3ae29e3b96 (commit)
  from  5d070483acf527ca20910c83d4735e1f99c32e24 (commit)

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


- Log -
commit 45f142fe29059accad5ff408e844ad3ae29e3b96
Author: Günther Deschner 
Date:   Mon Feb 9 00:06:36 2009 +0100

s3-rpcclient: fix getform command asprintf return code.

Guenther

---

Summary of changes:
 source3/rpcclient/cmd_spoolss.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 8003180..a7a7fef 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -1827,7 +1827,7 @@ static WERROR cmd_spoolss_getform(struct rpc_pipe_client 
*cli, TALLOC_CTX *mem_c
return WERR_NOMEM;
}
strupper_m(servername);
-   if (asprintf(&printername, "%s\\%s", servername, argv[1])) {
+   if (asprintf(&printername, "%s\\%s", servername, argv[1]) == -1) {
SAFE_FREE(servername);
return WERR_NOMEM;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-618-g5d07048

2009-02-09 Thread Tim Prouty
The branch, master has been updated
   via  5d070483acf527ca20910c83d4735e1f99c32e24 (commit)
  from  c7377b2c4d31b293a47d1cae85304fd7668a82f2 (commit)

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


- Log -
commit 5d070483acf527ca20910c83d4735e1f99c32e24
Author: todd stecher 
Date:   Thu Jan 29 08:08:35 2009 -0800

s3 OneFS: Fake Timestamps

This checkin enables setting arbitrary timestamps on files matching
the pattern stored in smb.conf. This was a customer request for a
specific workflow.

Changes include:
1) configuration state machine to avoid tons of string comparisons on
   each and every stat.

2) Code to adjust post-stat() times to match time now, or sloptime +
   time now.

---

Summary of changes:
 source3/modules/onefs.h |   58 
 source3/modules/onefs_streams.c |   84 -
 source3/modules/vfs_onefs.c |  114 +++
 3 files changed, 242 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/onefs.h b/source3/modules/onefs.h
index 9c1c164..2044ebe 100644
--- a/source3/modules/onefs.h
+++ b/source3/modules/onefs.h
@@ -53,6 +53,62 @@ enum onefs_acl_wire_format
 #define PARM_UNMAPPABLE_SIDS_IGNORE_LIST_DEFAULT NULL
 #define PARM_IGNORE_SACL "ignore sacl"
 #define PARM_IGNORE_SACL_DEFAULT false
+#define PARM_ATIME_NOW "atime now files"
+#define PARM_ATIME_SLOP"atime now slop"
+#define PARM_CTIME_NOW "ctime now files"
+#define PARM_CTIME_SLOP"ctime now slop"
+#define PARM_MTIME_NOW "mtime now files"
+#define PARM_MTIME_SLOP"mtime now slop"
+#define PARM_MTIME_STATIC  "mtime static files"
+#define PARM_ATIME_STATIC  "atime static files"
+
+#define IS_CTIME_NOW_PATH(conn,cfg,path)  ((conn) && is_in_path((path),\
+   (cfg)->ctime_now_list,(conn)->case_sensitive))
+#define IS_MTIME_NOW_PATH(conn,cfg,path)  ((conn) && is_in_path((path),\
+   (cfg)->mtime_now_list,(conn)->case_sensitive))
+#define IS_ATIME_NOW_PATH(conn,cfg,path)  ((conn) && is_in_path((path),\
+   (cfg)->atime_now_list,(conn)->case_sensitive))
+#define IS_MTIME_STATIC_PATH(conn,cfg,path)  ((conn) && is_in_path((path),\
+   (cfg)->mtime_static_list,(conn)->case_sensitive))
+#define IS_ATIME_STATIC_PATH(conn,cfg,path)  ((conn) && is_in_path((path),\
+   (cfg)->atime_static_list,(conn)->case_sensitive))
+
+/*
+ * Store some commonly evaluated parameters to avoid loadparm pain.
+ */
+
+#define ONEFS_VFS_CONFIG_INITIALIZED   0x0001
+
+#define ONEFS_VFS_CONFIG_FAKETIMESTAMPS0x0001
+
+
+struct onefs_vfs_config
+{
+   int32 init_flags;
+
+   /* data for fake timestamps */
+   int atime_slop;
+   int ctime_slop;
+   int mtime_slop;
+
+   /* Per-share list of files to fake the create time for. */
+name_compare_entry *ctime_now_list;
+
+   /* Per-share list of files to fake the modification time for. */
+   name_compare_entry *mtime_now_list;
+
+   /* Per-share list of files to fake the access time for. */
+   name_compare_entry *atime_now_list;
+
+   /* Per-share list of files to fake the modification time for. */
+   name_compare_entry *mtime_static_list;
+
+   /* The access  time  will  equal  the  create  time.  */
+   /* The  modification  time  will  equal  the  create  time.*/
+
+   /* Per-share list of files to fake the access time for. */
+   name_compare_entry *atime_static_list;
+};
 
 /*
  * vfs interface handlers
@@ -121,6 +177,8 @@ NTSTATUS onefs_samba_sd_to_sd(uint32 security_info_sent, 
SEC_DESC *psd,
 NTSTATUS onefs_split_ntfs_stream_name(TALLOC_CTX *mem_ctx, const char *fname,
  char **pbase, char **pstream);
 
+bool onefs_get_config(int snum, int config_type,
+ struct onefs_vfs_config *cfg);
 /*
  * System Interfaces
  */
diff --git a/source3/modules/onefs_streams.c b/source3/modules/onefs_streams.c
index 78b0fd6..615edf3 100644
--- a/source3/modules/onefs_streams.c
+++ b/source3/modules/onefs_streams.c
@@ -216,6 +216,58 @@ static void merge_stat(SMB_STRUCT_STAT *stream_sbuf,
stream_sbuf->st_flags |= base_sbuf->st_flags & dos_flags;
 }
 
+/* fake timestamps */
+static void onefs_adjust_stat_time(vfs_handle_struct *handle, const char 
*fname,
+  SMB_STRUCT_STAT *sbuf)
+{
+   struct onefs_vfs_config cfg;
+   struct timeval tv_now = {0, 0};
+   bool static_mtime = False;
+   bool static_atime = False;
+
+   if (!onefs_get_config(SNUM(handle->conn),
+ ONEFS_VFS_CONFIG_FAKETIMESTAMPS, &cfg)) {
+   return;
+   }
+
+   if (IS_MTIME_STATIC_PATH(handle->conn, &cfg, fn

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-617-gc7377b2

2009-02-09 Thread Karolin Seeger
The branch, master has been updated
   via  c7377b2c4d31b293a47d1cae85304fd7668a82f2 (commit)
  from  c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e (commit)

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


- Log -
commit c7377b2c4d31b293a47d1cae85304fd7668a82f2
Author: Björn Jacke 
Date:   Fri Jan 30 17:28:18 2009 +0100

look for nanosleep in librt, some Unix flavours have it there

---

Summary of changes:
 source3/configure.in |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/configure.in b/source3/configure.in
index 431d330..37ee9a1 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1042,6 +1042,7 @@ AC_CHECK_FUNCS(setenv strcasecmp fcvt fcvtl)
 AC_CHECK_FUNCS(syslog vsyslog timegm)
 AC_CHECK_FUNCS(setlocale nl_langinfo)
 AC_CHECK_FUNCS(nanosleep)
+AC_CHECK_LIB_EXT(rt, LIBS, nanosleep)
 AC_CHECK_FUNCS(mlock munlock mlockall munlockall)
 AC_CHECK_FUNCS(memalign posix_memalign hstrerror)
 AC_CHECK_HEADERS(sys/mman.h)


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-616-gc3b9b6c

2009-02-09 Thread Kai Blin
The branch, master has been updated
   via  c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e (commit)
  from  3a4c8cd492b9e8874724dff1d0fc0207cb74036b (commit)

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


- Log -
commit c3b9b6c8aae1dea8df5fc7bff873a015aaa92d6e
Author: Kai Blin 
Date:   Wed Feb 4 09:07:36 2009 +0100

async_sock: Use unix errnos instead of NTSTATUS

This also switches wb_reqtrans to use wbcErr instead of NTSTATUS as it would
be pointless to convert to errno first and to wbcErr later.

---

Summary of changes:
 lib/async_req/async_sock.c|  120 +++--
 lib/async_req/async_sock.h|9 ++-
 source3/Makefile.in   |5 +-
 source3/include/proto.h   |8 --
 source3/include/wbc_async.h   |   68 ++
 source3/lib/util_sock.c   |   18 ++--
 source3/lib/wb_reqtrans.c |  181 +
 source3/lib/wbclient.c|  138 +---
 source3/rpc_server/srv_pipe_hnd.c |9 +-
 source3/torture/torture.c |7 +-
 source3/winbindd/winbindd_proto.h |   21 -
 11 files changed, 373 insertions(+), 211 deletions(-)
 create mode 100644 source3/include/wbc_async.h


Changeset truncated at 500 lines:

diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c
index b992320..23ac937 100644
--- a/lib/async_req/async_sock.c
+++ b/lib/async_req/async_sock.c
@@ -95,6 +95,51 @@ struct async_syscall_state {
 };
 
 /**
+ * @brief Map async_req states to unix-style errnos
+ * @param[in]  req The async req to get the state from
+ * @param[out] err Pointer to take the unix-style errno
+ *
+ * @return true if the async_req is in an error state, false otherwise
+ */
+
+bool async_req_is_errno(struct async_req *req, int *err)
+{
+   enum async_req_state state;
+   uint64_t error;
+
+   if (!async_req_is_error(req, &state, &error)) {
+   return false;
+   }
+
+   switch (state) {
+   case ASYNC_REQ_USER_ERROR:
+   *err = (int)error;
+   break;
+   case ASYNC_REQ_TIMED_OUT:
+   *err = ETIME;
+   break;
+   case ASYNC_REQ_NO_MEMORY:
+   *err = ENOMEM;
+   break;
+   default:
+   *err = EIO;
+   break;
+   }
+   return true;
+}
+
+int async_req_simple_recv_errno(struct async_req *req)
+{
+   int err;
+
+   if (async_req_is_errno(req, &err)) {
+   return err;
+   }
+
+   return 0;
+}
+
+/**
  * @brief Create a new async syscall req
  * @param[in] mem_ctx  The memory context to hang the result off
  * @param[in] ev   The event context to work from
@@ -239,7 +284,7 @@ static void async_send_callback(struct tevent_context *ev,
struct param_send *p = &state->param.param_send;
 
if (state->syscall_type != ASYNC_SYSCALL_SEND) {
-   async_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
+   async_req_error(req, EIO);
return;
}
 
@@ -306,7 +351,7 @@ static void async_sendall_callback(struct tevent_context 
*ev,
struct param_sendall *p = &state->param.param_sendall;
 
if (state->syscall_type != ASYNC_SYSCALL_SENDALL) {
-   async_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
+   async_req_error(req, EIO);
return;
}
 
@@ -316,18 +361,18 @@ static void async_sendall_callback(struct tevent_context 
*ev,
state->sys_errno = errno;
 
if (state->result.result_ssize_t == -1) {
-   async_req_nterror(req, 
map_nt_error_from_unix(state->sys_errno));
+   async_req_error(req, state->sys_errno);
return;
}
 
if (state->result.result_ssize_t == 0) {
-   async_req_nterror(req, NT_STATUS_END_OF_FILE);
+   async_req_error(req, EOF);
return;
}
 
p->sent += state->result.result_ssize_t;
if (p->sent > p->length) {
-   async_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
+   async_req_error(req, EIO);
return;
}
 
@@ -374,9 +419,20 @@ struct async_req *sendall_send(TALLOC_CTX *mem_ctx, struct 
tevent_context *ev,
return result;
 }
 
-NTSTATUS sendall_recv(struct async_req *req)
+ssize_t sendall_recv(struct async_req *req, int *perr)
 {
-   return async_req_simple_recv_ntstatus(req);
+   struct async_syscall_state *state = talloc_get_type_abort(
+   req->private_data, struct async_syscall_state);
+   int err;
+
+   err = async_req_simple_recv_errno(req);
+
+   if (err != 0) {
+   *perr = err;
+   return -1;
+   }
+
+   return state->result.result_ssize_t;
 }
 
 /**
@@ -398,7 +454,7 @@ stat