[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Stefan Metzmacher
The branch, master has been updated
   via  b4a730d s3:selftest: run smbtorture3 CHAIN1/CHAIN2 tests
  from  4aba775 tevent: don't force the nesting flag to false in the 
destructor

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


- Log -
commit b4a730d353d67df3e42c427afb8051015a5e175b
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 22:32:49 2011 +0200

s3:selftest: run smbtorture3 CHAIN1/CHAIN2 tests

metze

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 09:37:04 CEST 2011 on sn-devel-104

---

Summary of changes:
 source3/selftest/skip |1 -
 source3/selftest/tests.py |2 +-
 2 files changed, 1 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/selftest/skip b/source3/selftest/skip
index 4366ae6..5e68172 100644
--- a/source3/selftest/skip
+++ b/source3/selftest/skip
@@ -12,7 +12,6 @@
 ^samba3.smbtorture_s3.*.mangle
 ^samba3.smbtorture_s3.*.utable
 ^samba3.smbtorture_s3.*.pipe_number
-^samba3.smbtorture_s3.*.CHAIN1
 ^samba3.*base.charset
 ^samba3.*raw.acls
 ^samba3.*raw.composite
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 23e4c6e..a7e3ea5 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -56,7 +56,7 @@ tests=[ FDPASS, LOCK1, LOCK2, LOCK3, LOCK4, 
LOCK5, LOCK6, LOCK7,
 OPLOCK1, OPLOCK2, OPLOCK4, STREAMERROR,
 DIR, DIR1, DIR-CREATETIME, TCON, TCONDEV, RW1, RW2, 
RW3, RW-SIGNING,
 OPEN, XCOPY, RENAME, DELETE, DELETE-LN, PROPERTIES, W2K,
-TCON2, IOCTL, CHKPATH, FDSESS, LOCAL-SUBSTITUTE, CHAIN1,
+TCON2, IOCTL, CHKPATH, FDSESS, LOCAL-SUBSTITUTE, CHAIN1, 
CHAIN2,
 GETADDRINFO, POSIX, UID-REGRESSION-TEST, SHORTNAME-TEST,
 LOCAL-BASE64, LOCAL-GENCACHE, POSIX-APPEND,
 CASE-INSENSITIVE-CREATE, SMB2-BASIC,


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Andrew Tridgell
The branch, master has been updated
   via  6b3a12b s4-test: use standard process model for 'dc' server
   via  63e5b39 socket-wrapped: added wrappers for dup() and dup2()
  from  b4a730d s3:selftest: run smbtorture3 CHAIN1/CHAIN2 tests

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


- Log -
commit 6b3a12b0f4c38c87a1f1ff4227ab78ac7624289d
Author: Andrew Tridgell tri...@samba.org
Date:   Fri Aug 12 14:37:04 2011 +1000

s4-test: use standard process model for 'dc' server

this provides us with both 'standard' and 'single' process models in
selftest, ensuring that we test the standard process model in the
build farm

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

Autobuild-User: Andrew Tridgell tri...@samba.org
Autobuild-Date: Fri Aug 12 11:06:50 CEST 2011 on sn-devel-104

commit 63e5b395d00535c88274bafb9d5e4b0e9d753b36
Author: Andrew Tridgell tri...@samba.org
Date:   Fri Aug 12 14:28:03 2011 +1000

socket-wrapped: added wrappers for dup() and dup2()

The Samba4 standard process model uses dup() on incoming sockets as an
optimisation (it makes select() a tiny bit faster when used).

Adding dup() to socket wrapper allows us to use the standard process
model in selftest

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

---

Summary of changes:
 lib/socket_wrapper/socket_wrapper.c |  122 ++-
 lib/socket_wrapper/socket_wrapper.h |   11 +++
 selftest/target/Samba4.pm   |   32 --
 3 files changed, 143 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/socket_wrapper/socket_wrapper.c 
b/lib/socket_wrapper/socket_wrapper.c
index 2b52626..9469809 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -127,6 +127,8 @@
 #define real_writev writev
 #define real_socket socket
 #define real_close close
+#define real_dup dup
+#define real_dup2 dup2
 #endif
 
 #ifdef HAVE_GETTIMEOFDAY_TZ
@@ -225,7 +227,6 @@ struct socket_info
int connected;
int defer_connect;
 
-   char *path;
char *tmp_path;
 
struct sockaddr *myname;
@@ -2523,7 +2524,6 @@ _PUBLIC_ int swrap_close(int fd)
swrap_dump_packet(si, NULL, SWRAP_CLOSE_ACK, NULL, 0);
}
 
-   if (si-path) free(si-path);
if (si-myname) free(si-myname);
if (si-peername) free(si-peername);
if (si-tmp_path) {
@@ -2534,3 +2534,121 @@ _PUBLIC_ int swrap_close(int fd)
 
return ret;
 }
+
+_PUBLIC_ int swrap_dup(int fd)
+{
+   struct socket_info *si, *si2;
+   int fd2;
+
+   si = find_socket_info(fd);
+
+   if (!si) {
+   return real_dup(fd);
+   }
+
+   if (si-tmp_path) {
+   /* we would need reference counting to handle this */
+   errno = EINVAL;
+   return -1;
+   }
+
+   fd2 = real_dup(fd);
+   if (fd2 == -1) {
+   return -1;
+   }
+
+   si2 = (struct socket_info *)malloc(sizeof(struct socket_info));
+   if (si2 == NULL) {
+   real_close(fd2);
+   errno = ENOMEM;
+   return -1;
+   }
+
+   /* copy the whole structure, then duplicate pointer elements */
+   *si2 = *si;
+
+   si2-fd = fd2;
+
+   if (si2-myname) {
+   si2-myname = sockaddr_dup(si2-myname, si2-myname_len);
+   if (si2-myname == NULL) {
+   real_close(fd2);
+   errno = ENOMEM;
+   return -1;
+   }
+   }
+
+   if (si2-peername) {
+   si2-peername = sockaddr_dup(si2-peername, si2-peername_len);
+   if (si2-peername == NULL) {
+   real_close(fd2);
+   errno = ENOMEM;
+   return -1;
+   }
+   }
+
+   SWRAP_DLIST_ADD(sockets, si2);
+   return fd2;
+}
+
+_PUBLIC_ int swrap_dup2(int fd, int newfd)
+{
+   struct socket_info *si, *si2;
+   int fd2;
+
+   si = find_socket_info(fd);
+
+   if (!si) {
+   return real_dup2(fd, newfd);
+   }
+
+   if (si-tmp_path) {
+   /* we would need reference counting to handle this */
+   errno = EINVAL;
+   return -1;
+   }
+
+   if (find_socket_info(newfd)) {
+   /* dup2() does an implicit close of newfd, which we
+* need to emulate */
+   swrap_close(newfd);
+   }
+
+   fd2 = real_dup2(fd, newfd);
+   if (fd2 == -1) {
+   return -1;
+   }
+
+   si2 = (struct socket_info *)malloc(sizeof(struct socket_info));
+   if (si2 == NULL) {
+   real_close(fd2);
+   errno = ENOMEM;
+   return 

[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Stefan Metzmacher
The branch, master has been updated
   via  0d1a7fd s3:libsmb: keep the request order in 
cli_smb_req_unset_pending()
   via  edeb41a s3:libsmb: use tevent_req_defer_callback() unless there's 
only one request in cli_smb_received()
   via  02cb205 s3:libsmb: make use of cli_state_receive_next() in 
cli_smb_received()
   via  56d3c91 s3:libsmb: notify all request about failures in 
cli_smb_req_set_pending()
   via  4335a4f s3:libsmb: split out cli_state_receive_next() from 
cli_smb_req_set_pending()
   via  ca56711 s3:libsmb: use talloc_stackframe() in cli_smb_received()
   via  bae9324 s3:libsmb: call cli_smb_req_unset_pending() before 
tevent_req_done() also for chained requests
   via  d41d2e9 s3:libsmb: reset the destructor in 
cli_smb_req_unset_pending()
   via  c01b832 s3:libsmb: add cli_state_notify_pending() and use it
  from  6b3a12b s4-test: use standard process model for 'dc' server

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


- Log -
commit 0d1a7fda1ef5e1358228ab2b5e74b18a877e0732
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 08:39:15 2011 +0200

s3:libsmb: keep the request order in cli_smb_req_unset_pending()

metze

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 12:36:03 CEST 2011 on sn-devel-104

commit edeb41aa204ca9814602bee1c7d9be32e5f737b5
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:45:26 2011 +0200

s3:libsmb: use tevent_req_defer_callback() unless there's only one request 
in cli_smb_received()

Callers of tevent_req_done() (or similar functions) have to return directly.
Otherwise the callback could invalidate the current stack state,
which is likely to trigger segfaults.

If there was only one pending request and we just got the response
for that one, we can use tevent_req_done() directly.

Otherwise there're more pending requests and we need to call
cli_state_receive_next() or we got the response for chained requests.
Both means that we have to use tevent_req_defer_callback().

metze

commit 02cb2052d8c68a3ba6dc8a19f580f25039321a75
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:28:06 2011 +0200

s3:libsmb: make use of cli_state_receive_next() in cli_smb_received()

metze

commit 56d3c91af70809fbdd86de888ac983a41e070ca3
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:26:31 2011 +0200

s3:libsmb: notify all request about failures in cli_smb_req_set_pending()

It's up to the caller to notify the current request,
but we have to notify all other pending requests if
we're not able to read the next response from the server.

metze

commit 4335a4f1c6ad4e8dfcd4cc1bcd8b3ec2f258a4d8
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:16:02 2011 +0200

s3:libsmb: split out cli_state_receive_next() from cli_smb_req_set_pending()

metze

commit ca567117b028d8954453585bfb753e7f01c98319
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:07:55 2011 +0200

s3:libsmb: use talloc_stackframe() in cli_smb_received()

metze

commit bae9324e50c7513b2cae20bb352dbd01471c
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:18:58 2011 +0200

s3:libsmb: call cli_smb_req_unset_pending() before tevent_req_done() also 
for chained requests

metze

commit d41d2e93f4e13e7975bcd8d4b7dc125f81ef2559
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 12:18:26 2011 +0200

s3:libsmb: reset the destructor in cli_smb_req_unset_pending()

metze

commit c01b8326e05c4113e3e979e02061fbc47476dadd
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 09:35:38 2011 +0200

s3:libsmb: add cli_state_notify_pending() and use it

If we got a problem on the connection we need to notify every
pending request. But we need to make use of tevent_req_defer_callback()
before tevent_req_nterror(), otherwise the callback, triggered
by tevent_req_nterror(), could invalidate the state of current caller,
which will likely cause segfaults.

metze

---

Summary of changes:
 source3/libsmb/async_smb.c |  190 +++-
 1 files changed, 135 insertions(+), 55 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index ecc7780..488e953 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -132,6 +132,8 @@ void cli_smb_req_unset_pending(struct tevent_req *req)
return;
}
 
+   talloc_set_destructor(req, NULL);
+
if (num_pending == 1) {
/*
 * The pending read_smb tevent_req is a child of
@@ -160,7 +162,9 @@ void 

autobuild: intermittent test failure detected

2011-08-12 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1305/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba3.stderr
   http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba4.stderr
   http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba4.stdout
  
The top commit at the time of the failure was:

commit 6b3a12b0f4c38c87a1f1ff4227ab78ac7624289d
Author: Andrew Tridgell tri...@samba.org
Date:   Fri Aug 12 14:37:04 2011 +1000

s4-test: use standard process model for 'dc' server

this provides us with both 'standard' and 'single' process models in
selftest, ensuring that we test the standard process model in the
build farm

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

Autobuild-User: Andrew Tridgell tri...@samba.org
Autobuild-Date: Fri Aug 12 11:06:50 CEST 2011 on sn-devel-104


[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Stefan Metzmacher
The branch, master has been updated
   via  81d3f92 selftest:Samba4: test --domain-critical-only in 
provision_vampire_dc()
   via  f34f16f s3:samba-tool: add --domain-critical-only to samba-tool 
domain join
   via  5d6b848 s4:py/samba/join: add domain_critical_only=False to 
join_DC/join_RODC
   via  a3f2621 s4:py/samba/drs_utils: pass down req/req_level to 
self.net.replicate_chunk()
   via  daf5676 s4:libnet_vampire: don't keep the replication state if 
DRSUAPI_DRS_CRITICAL_ONLY was used
   via  47fcbd7 s4:libnet: passdown the DsGetNCChangesReq* to the 
libnet_BecomeDC_StoreChunk handler
   via  da7d22d selftest:target/Samba4: use the correct configuration in 
setup_vampire_dc()
  from  0d1a7fd s3:libsmb: keep the request order in 
cli_smb_req_unset_pending()

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


- Log -
commit 81d3f92155856891ee0ac74cada3bbdd3e7670e1
Author: Stefan Metzmacher me...@samba.org
Date:   Thu Aug 11 23:07:35 2011 +0200

selftest:Samba4: test --domain-critical-only in provision_vampire_dc()

This way only only replicate critical objects during the initial join
as DC, then we'll replicate the whole domain while 'samba' is running.

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 14:07:50 CEST 2011 on sn-devel-104

commit f34f16f7f87d39cd21ce43c51ccb5726ff44c959
Author: Stefan Metzmacher me...@samba.org
Date:   Mon Aug 8 11:15:35 2011 +0200

s3:samba-tool: add --domain-critical-only to samba-tool domain join

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

commit 5d6b8483943697cc10fe7e42fcf2d544f5758dbc
Author: Stefan Metzmacher me...@samba.org
Date:   Mon Aug 8 11:01:21 2011 +0200

s4:py/samba/join: add domain_critical_only=False to join_DC/join_RODC

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

commit a3f262182a65de04a41a336c7c08854723879065
Author: Stefan Metzmacher me...@samba.org
Date:   Mon Aug 8 10:47:12 2011 +0200

s4:py/samba/drs_utils: pass down req/req_level to self.net.replicate_chunk()

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

commit daf56768c6487dc94e6a337297d065a378fe237a
Author: Stefan Metzmacher me...@samba.org
Date:   Tue Aug 9 12:23:29 2011 +0200

s4:libnet_vampire: don't keep the replication state if 
DRSUAPI_DRS_CRITICAL_ONLY was used

In that case we have incomplete information and need to start
from 0 in the next run.

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

commit 47fcbd71ae811eb479fe479f4526fe11c0fa86b6
Author: Stefan Metzmacher me...@samba.org
Date:   Mon Aug 8 10:29:05 2011 +0200

s4:libnet: passdown the DsGetNCChangesReq* to the 
libnet_BecomeDC_StoreChunk handler

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

commit da7d22dadeec3bb41da0bd1e49c28ab20e83cf9f
Author: Stefan Metzmacher me...@samba.org
Date:   Tue Aug 9 12:20:54 2011 +0200

selftest:target/Samba4: use the correct configuration in setup_vampire_dc()

This allows TDB_NO_FSYNC=1 make -j test TESTS=vampire to work.

metze

Signed-off-by: Andrew Tridgell tri...@samba.org

---

Summary of changes:
 selftest/target/Samba4.pm   |4 +-
 source4/libnet/libnet_become_dc.c   |   25 
 source4/libnet/libnet_become_dc.h   |4 ++
 source4/libnet/libnet_vampire.c |   30 ++
 source4/libnet/py_net.c |   47 +--
 source4/scripting/python/samba/drs_utils.py |3 +-
 source4/scripting/python/samba/join.py  |   13 +-
 source4/scripting/python/samba/netcmd/domain.py |   12 -
 8 files changed, 126 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 89faf01..df5a8bb 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -1005,7 +1005,7 @@ sub provision_vampire_dc($$$)
$cmd .= 
SOCKET_WRAPPER_DEFAULT_IFACE=\$ret-{SOCKET_WRAPPER_DEFAULT_IFACE}\ ;
$cmd .= KRB5_CONFIG=\$ret-{KRB5_CONFIG}\ ;
$cmd .= $samba_tool domain join $ret-{CONFIGURATION} $dcvars-{REALM} 
DC --realm=$dcvars-{REALM};
-   $cmd .=  -U$dcvars-{DC_USERNAME}\%$dcvars-{DC_PASSWORD};
+   $cmd .=  -U$dcvars-{DC_USERNAME}\%$dcvars-{DC_PASSWORD} 
--domain-critical-only;
 
unless (system($cmd) == 0) {
warn(Join failed\n$cmd);
@@ -1525,6 +1525,7 @@ sub setup_vampire_dc($$$)
$cmd .= 
SOCKET_WRAPPER_DEFAULT_IFACE=\$env-{SOCKET_WRAPPER_DEFAULT_IFACE}\;
$cmd .=  KRB5_CONFIG=\$env-{KRB5_CONFIG}\;
$cmd .=  

[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Stefan Metzmacher
The branch, master has been updated
   via  42cde04 s3:smb2_server: make sure we prefer responses over requests 
on the client socket
  from  81d3f92 selftest:Samba4: test --domain-critical-only in 
provision_vampire_dc()

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


- Log -
commit 42cde0480bd6a5e2dddaa66917e1fa71e6a4edcd
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 5 20:34:43 2011 +0200

s3:smb2_server: make sure we prefer responses over requests on the client 
socket

metze

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 16:46:43 CEST 2011 on sn-devel-104

---

Summary of changes:
 source3/smbd/smb2_server.c |   64 +++
 1 files changed, 52 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index e40c594..6fc4b5d 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1826,6 +1826,8 @@ void smbd_smb2_request_dispatch_immediate(struct 
tevent_context *ctx,
}
 }
 
+static NTSTATUS smbd_smb2_request_next_incoming(struct smbd_server_connection 
*sconn);
+
 static void smbd_smb2_request_writev_done(struct tevent_req *subreq)
 {
struct smbd_smb2_request *req = tevent_req_callback_data(subreq,
@@ -1833,17 +1835,24 @@ static void smbd_smb2_request_writev_done(struct 
tevent_req *subreq)
struct smbd_server_connection *sconn = req-sconn;
int ret;
int sys_errno;
+   NTSTATUS status;
 
ret = tstream_writev_queue_recv(subreq, sys_errno);
TALLOC_FREE(subreq);
TALLOC_FREE(req);
if (ret == -1) {
-   NTSTATUS status = map_nt_error_from_unix(sys_errno);
+   status = map_nt_error_from_unix(sys_errno);
DEBUG(2,(smbd_smb2_request_writev_done: client write error 
%s\n,
nt_errstr(status)));
smbd_server_connection_terminate(sconn, nt_errstr(status));
return;
}
+
+   status = smbd_smb2_request_next_incoming(sconn);
+   if (!NT_STATUS_IS_OK(status)) {
+   smbd_server_connection_terminate(sconn, nt_errstr(status));
+   return;
+   }
 }
 
 NTSTATUS smbd_smb2_request_done_ex(struct smbd_smb2_request *req,
@@ -2450,12 +2459,47 @@ static NTSTATUS smbd_smb2_request_read_recv(struct 
tevent_req *req,
 
 static void smbd_smb2_request_incoming(struct tevent_req *subreq);
 
+static NTSTATUS smbd_smb2_request_next_incoming(struct smbd_server_connection 
*sconn)
+{
+   size_t max_send_queue_len;
+   size_t cur_send_queue_len;
+   struct tevent_req *subreq;
+
+   if (tevent_queue_length(sconn-smb2.recv_queue)  0) {
+   /*
+* if there is already a smbd_smb2_request_read
+* pending, we are done.
+*/
+   return NT_STATUS_OK;
+   }
+
+   max_send_queue_len = MAX(1, sconn-smb2.max_credits/16);
+   cur_send_queue_len = tevent_queue_length(sconn-smb2.send_queue);
+
+   if (cur_send_queue_len  max_send_queue_len) {
+   /*
+* if we have a lot of requests to send,
+* we wait until they are on the wire until we
+* ask for the next request.
+*/
+   return NT_STATUS_OK;
+   }
+
+   /* ask for the next request */
+   subreq = smbd_smb2_request_read_send(sconn, sconn-smb2.event_ctx, 
sconn);
+   if (subreq == NULL) {
+   return NT_STATUS_NO_MEMORY;
+   }
+   tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn);
+
+   return NT_STATUS_OK;
+}
+
 void smbd_smb2_first_negprot(struct smbd_server_connection *sconn,
 const uint8_t *inbuf, size_t size)
 {
NTSTATUS status;
struct smbd_smb2_request *req = NULL;
-   struct tevent_req *subreq;
 
DEBUG(10,(smbd_smb2_first_negprot: packet length %u\n,
 (unsigned int)size));
@@ -2484,13 +2528,11 @@ void smbd_smb2_first_negprot(struct 
smbd_server_connection *sconn,
return;
}
 
-   /* ask for the next request */
-   subreq = smbd_smb2_request_read_send(sconn, sconn-smb2.event_ctx, 
sconn);
-   if (subreq == NULL) {
-   smbd_server_connection_terminate(sconn, no memory for 
reading);
+   status = smbd_smb2_request_next_incoming(sconn);
+   if (!NT_STATUS_IS_OK(status)) {
+   smbd_server_connection_terminate(sconn, nt_errstr(status));
return;
}
-   tevent_req_set_callback(subreq, smbd_smb2_request_incoming, sconn);
 
sconn-num_requests++;
 }
@@ -2542,13 +2584,11 @@ static void smbd_smb2_request_incoming(struct 
tevent_req *subreq)

Re: autobuild: intermittent test failure detected

2011-08-12 Thread Stefan (metze) Metzmacher
Hi Tridge,

 The autobuild log of the failure is available here:
 
http://git.samba.org/autobuild.flakey/2011-08-12-1305/flakey.log
 
 The samba3 build logs are available here:
 
http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba3.stderr
http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba3.stdout
 
 The source4 build logs are available here:
 
http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba4.stderr
http://git.samba.org/autobuild.flakey/2011-08-12-1305/samba4.stdout
   
 The top commit at the time of the failure was:
 
 commit 6b3a12b0f4c38c87a1f1ff4227ab78ac7624289d
 Author: Andrew Tridgell tri...@samba.org
 Date:   Fri Aug 12 14:37:04 2011 +1000
 
 s4-test: use standard process model for 'dc' server
 
 this provides us with both 'standard' and 'single' process models in
 selftest, ensuring that we test the standard process model in the
 build farm
 
 Pair-Programmed-With: Andrew Bartlett abart...@samba.org

I fear this change made autobuild a bit more unstable I saw the following
error a few times today:

[1064/1145 in 1h2m11s] samba4.nbt.winsreplication(dc)
Test if we always get back the same assoc_ctx
Setup wrepl connections
UNEXPECTED(failure): samba4.nbt.winsreplication.assoc_ctx2
REASON: _StringException: _StringException:
../source4/torture/nbt/winsreplication.c:200: status was
NT_STATUS_HOST_UNREACHABLE, expected NT_STATUS_OK: Incorrect status

I also noticed that samba4 make test needs over 1h 20 now.

metze



signature.asc
Description: OpenPGP digital signature


autobuild: intermittent test failure detected

2011-08-12 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1900/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1900/samba3.stderr
   http://git.samba.org/autobuild.flakey/2011-08-12-1900/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2011-08-12-1900/samba4.stderr
   http://git.samba.org/autobuild.flakey/2011-08-12-1900/samba4.stdout
  
The top commit at the time of the failure was:

commit 42cde0480bd6a5e2dddaa66917e1fa71e6a4edcd
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 5 20:34:43 2011 +0200

s3:smb2_server: make sure we prefer responses over requests on the client 
socket

metze

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 16:46:43 CEST 2011 on sn-devel-104


[SCM] Samba Shared Repository - branch master updated

2011-08-12 Thread Stefan Metzmacher
The branch, master has been updated
   via  eeb0298 s3:smb2cli: pass more fields to 
smb2cli_req_create()/smb2cli_req_send()
   via  28c4d2d s3:smb2cli: allow 32bit dyn_len in 
smb2cli_req_create()/smb2cli_req_send()
   via  b41d44e s3:libsmb: keep a cli_smb_state-one_way
   via  c485df9 s3:libsmb: abstract the incoming dispatch function via a 
function pointer
   via  58003b5 s3:libsmb: split out cli_state_dispatch_smb1() from 
cli_smb_received()
   via  9b15963 s3:libsmb: add missing TALLOC_FREE(frame) to 
cli_smb_received()
  from  42cde04 s3:smb2_server: make sure we prefer responses over requests 
on the client socket

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


- Log -
commit eeb0298ac1ba70d5114b48d7de4549e80d83e709
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 17:26:13 2011 +0200

s3:smb2cli: pass more fields to smb2cli_req_create()/smb2cli_req_send()

The caller should take care of the global cli_state values.

metze

Autobuild-User: Stefan Metzmacher me...@samba.org
Autobuild-Date: Fri Aug 12 19:38:27 CEST 2011 on sn-devel-104

commit 28c4d2d0f318d017e356cf8e80ff0da516346fee
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 17:23:04 2011 +0200

s3:smb2cli: allow 32bit dyn_len in smb2cli_req_create()/smb2cli_req_send()

metze

commit b41d44eda3ae7d72b3ddcfbd749b19f900bcd958
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 17:40:04 2011 +0200

s3:libsmb: keep a cli_smb_state-one_way

This moves the SMB1 specific stuff to cli_smb_req_create(),
instead of having it in the core dispatching code.

metze

commit c485df9530fda65fb1a2142f53c60638d2ca1923
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 14:50:09 2011 +0200

s3:libsmb: abstract the incoming dispatch function via a function pointer

This will allow handling of SMB2 in future.

metze

commit 58003b5a77910ec54fd84f71a26e582af0f83e98
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 14:41:23 2011 +0200

s3:libsmb: split out cli_state_dispatch_smb1() from cli_smb_received()

metze

commit 9b15963695ab196380834af703e9f193092a2263
Author: Stefan Metzmacher me...@samba.org
Date:   Fri Aug 12 14:44:44 2011 +0200

s3:libsmb: add missing TALLOC_FREE(frame) to cli_smb_received()

metze

---

Summary of changes:
 source3/include/client.h |   11 +++
 source3/libsmb/async_smb.c   |  144 ++
 source3/libsmb/smb2cli_base.c|   26 --
 source3/libsmb/smb2cli_base.h|   16 +++-
 source3/libsmb/smb2cli_close.c   |6 +-
 source3/libsmb/smb2cli_create.c  |6 +-
 source3/libsmb/smb2cli_flush.c   |6 +-
 source3/libsmb/smb2cli_negprot.c |5 +-
 source3/libsmb/smb2cli_query_directory.c |6 +-
 source3/libsmb/smb2cli_read.c|6 +-
 source3/libsmb/smb2cli_session.c |   11 ++-
 source3/libsmb/smb2cli_tcon.c|   12 ++-
 source3/libsmb/smb2cli_write.c   |6 +-
 13 files changed, 183 insertions(+), 78 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/client.h b/source3/include/client.h
index f44e52f..79ce709 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -128,6 +128,17 @@ struct cli_state {
struct tevent_req *read_smb_req;
struct tevent_queue *outgoing;
struct tevent_req **pending;
+   /*
+* The incoming dispatch function should return:
+* - NT_STATUS_RETRY, if more incoming PDUs are expected.
+* - NT_STATUS_OK, if no more processing is desired, e.g.
+* the dispatch function called
+* tevent_req_done().
+* - All other return values disconnect the connection.
+*/
+   NTSTATUS (*dispatch_incoming)(struct cli_state *cli,
+ TALLOC_CTX *frame,
+ uint8_t *inbuf);
} conn;
 
struct {
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index 488e953..5f2a644 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -89,6 +89,8 @@ struct cli_smb_state {
int chain_num;
int chain_length;
struct tevent_req **chained_requests;
+
+   bool one_way;
 };
 
 static uint16_t cli_alloc_mid(struct cli_state *cli)
@@ -228,6 +230,9 @@ bool cli_smb_req_set_pending(struct tevent_req *req)
 }
 
 static void cli_smb_received(struct tevent_req *subreq);
+static NTSTATUS cli_state_dispatch_smb1(struct cli_state *cli,
+   

Re: autobuild: intermittent test failure detected

2011-08-12 Thread tridge
Hi Metze,

   s4-test: use standard process model for 'dc' server
   
   this provides us with both 'standard' and 'single' process models in
   selftest, ensuring that we test the standard process model in the
   build farm
   
   Pair-Programmed-With: Andrew Bartlett abart...@samba.org
  
  I fear this change made autobuild a bit more unstable I saw the following
  error a few times today:

The change really is quite important. We have previously only been
testing S4 in single mode in the build farm, which doesn't represent
how real users run it. A bug was introduced in tevent a while ago
which broke standard mode, and we didn't even notice.

If this has made some tests less stable then we need to fix those
tests. Perhaps the timing is less predictable in standard mode.

  I also noticed that samba4 make test needs over 1h 20 now.

It has needed well over an hour for a while now. The big jump was the
change to run all the s3 tests in the top level build.

Cheers, Tridge