autobuild: intermittent test failure detected

2012-05-28 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/2012-05-29-0421/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2012-05-29-0421/samba3.stderr
   http://git.samba.org/autobuild.flakey/2012-05-29-0421/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2012-05-29-0421/samba4.stderr
   http://git.samba.org/autobuild.flakey/2012-05-29-0421/samba4.stdout
  
The top commit at the time of the failure was:

commit 27503cea09f207be23679162e9570ef40ee7fe61
Author: Alexander Bokovoy 
Date:   Mon May 28 19:03:00 2012 +0300

freebsd9: support both WAF MIT krb5 build and autoconf build against MIT 
krb5

System-provided Heimdal Kerberos in FreeBSD 9 lacks proper support for 
parsing MS PAC.
This leaves us with MIT krb5 package from ports or embedded Heimdal in 
source4.
MIT krb5 from ports is 1.9.2, it supports all needed features for AD 
support in smbd,
as well as WAF MIT krb5 build. In order to use it, one needs to install 
'krb5' package.

Autoconf build:
  --with-krb5=/usr/local

WAF build:
  --with-system-mitkrb5 /usr/local

or otherwise krb5-config from system Heimdal will overtake and break the 
detection, leaving
you with a mixture of Kerberos libraries from different locations.

WAF build accepts multiple paths as sub-arguments of the 
--with-system-mitkrb5 and searches
through them for krb5-config, i.e. /usr/local /usr/kerberos ...

Autobuild-User: Alexander Bokovoy 
Autobuild-Date: Mon May 28 23:40:30 CEST 2012 on sn-devel-104


[SCM] Samba Shared Repository - branch master updated

2012-05-28 Thread Alexander Bokovoy
The branch, master has been updated
   via  27503ce freebsd9: support both WAF MIT krb5 build and autoconf 
build against MIT krb5
  from  e4c59a6 s4:ntvfs/ipc: fix protocol specific processing of pipe names

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


- Log -
commit 27503cea09f207be23679162e9570ef40ee7fe61
Author: Alexander Bokovoy 
Date:   Mon May 28 19:03:00 2012 +0300

freebsd9: support both WAF MIT krb5 build and autoconf build against MIT 
krb5

System-provided Heimdal Kerberos in FreeBSD 9 lacks proper support for 
parsing MS PAC.
This leaves us with MIT krb5 package from ports or embedded Heimdal in 
source4.
MIT krb5 from ports is 1.9.2, it supports all needed features for AD 
support in smbd,
as well as WAF MIT krb5 build. In order to use it, one needs to install 
'krb5' package.

Autoconf build:
  --with-krb5=/usr/local

WAF build:
  --with-system-mitkrb5 /usr/local

or otherwise krb5-config from system Heimdal will overtake and break the 
detection, leaving
you with a mixture of Kerberos libraries from different locations.

WAF build accepts multiple paths as sub-arguments of the 
--with-system-mitkrb5 and searches
through them for krb5-config, i.e. /usr/local /usr/kerberos ...

Autobuild-User: Alexander Bokovoy 
Autobuild-Date: Mon May 28 23:40:30 CEST 2012 on sn-devel-104

---

Summary of changes:
 source3/m4/aclocal.m4|1 +
 wscript  |   19 +--
 wscript_configure_system_mitkrb5 |   27 +++
 3 files changed, 37 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/m4/aclocal.m4 b/source3/m4/aclocal.m4
index a4db42e..5d9ce30 100644
--- a/source3/m4/aclocal.m4
+++ b/source3/m4/aclocal.m4
@@ -412,6 +412,7 @@ AC_DEFUN(LIB_REMOVE_USR_LIB,[
 -Wl,-rpath-Wl,/usr/lib/) l="";;
 -Wl,-rpath-Wl,/usr/lib64) l="";;
 -Wl,-rpath-Wl,/usr/lib64/) l="";;
+-rpath=/usr/lib:*) l="-rpath=${i#-rpath=*:}";;
 *)
s=" "
 if test x"[$]ac_new_flags" = x""; then
diff --git a/wscript b/wscript
index 56dee2e..168e17d 100755
--- a/wscript
+++ b/wscript
@@ -17,6 +17,20 @@ samba_dist.DIST_BLACKLIST('.gitignore .bzrignore')
 # install in /usr/local/samba by default
 Options.default_prefix = '/usr/local/samba'
 
+# This callback optionally takes a list of paths as arguments:
+# --with-system_mitkrb5 /path/to/krb5 /another/path
+def system_mitkrb5_callback(option, opt, value, parser):
+setattr(parser.values, option.dest, True)
+value = []
+for arg in parser.rargs:
+# stop on --foo like options
+if arg[:2] == "--" and len(arg) > 2:
+break
+value.append(arg)
+if len(value)>0:
+del parser.rargs[:len(value)]
+setattr(parser.values, option.dest, value)
+
 def set_options(opt):
 opt.BUILTIN_DEFAULT('NONE')
 opt.PRIVATE_EXTENSION_DEFAULT('samba4')
@@ -33,8 +47,9 @@ def set_options(opt):
 opt.RECURSE('lib/util')
 
 opt.add_option('--with-system-mitkrb5',
-   help='enable system MIT krb5 build (includes Samba 4 client 
and Samba 3 code base)',
-   action='store_true', dest='with_system_mitkrb5', 
default=False)
+   help='enable system MIT krb5 build (includes Samba 4 client 
and Samba 3 code base).'+
+'You may specify list of paths where Kerberos is 
installed (e.g. /usr/local /usr/kerberos) to search krb5-config',
+   action='callback', callback=system_mitkrb5_callback, 
dest='with_system_mitkrb5', default=False)
 
 opt.add_option('--without-ad-dc',
help='disable AD DC functionality (enables Samba 4 client 
and Samba 3 code base). Requires system MIT krb5',
diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5
index 805c452..0f7e404 100644
--- a/wscript_configure_system_mitkrb5
+++ b/wscript_configure_system_mitkrb5
@@ -13,17 +13,23 @@ def krb5_define_syslib(conf, lib, deps):
 
 Logs.info("Looking for kerberos features")
 conf.find_program('krb5-config.heimdal', var='HEIMDAL_KRB5_CONFIG')
-conf.find_program('krb5-config', var='KRB5_CONFIG')
+
+if isinstance(Options.options.with_system_mitkrb5, list):
+path_krb5_config = [x+'/bin' for x in Options.options.with_system_mitkrb5]
+else:
+path_krb5_config = None
+
+conf.find_program('krb5-config', path_list=path_krb5_config, var='KRB5_CONFIG')
 if conf.env.KRB5_CONFIG:
-conf.check_cfg(path="krb5-config", args="--cflags --libs",
+conf.check_cfg(path=conf.env.KRB5_CONFIG, args="--cflags --libs",
package="", uselib_store="KRB5")
 krb5_define_syslib(conf, "krb5", conf.env['LIB_KRB5'])
-for lib in conf.env['LIB_KRB5']:
-krb5_define_syslib(conf, lib, lib)

[SCM] Samba Shared Repository - branch master updated

2012-05-28 Thread Stefan Metzmacher
The branch, master has been updated
   via  e4c59a6 s4:ntvfs/ipc: fix protocol specific processing of pipe names
   via  ac4d23e s3:selftest: run rpc.samba3.smb[1|2]-pipe-name
   via  69fd1bb s3:rpc_server: don't do any magic in is_known_pipename() 
anymore
   via  abf566c s3:smbd: fix reply_open_pipe_and_X() to behave like windows 
(2008 R2)
   via  e262db6 s3:smbd: only strip \ off the name if present (for 
ntcreatex)
   via  6777e34 s3:rpc_server: return OBJECT_NAME_NOT_FOUND instead of 
PIPE_NOT_AVAILABLE
   via  98c14ca s3:smb2_create: do not remove leading backslash from pipe 
names
   via  081b484 s4:torture/samba3rpc: add smb1-pipe-name
   via  c211216 s4:torture/samba3rpc: add smb2-pipe-name
   via  697c88d s3:cli_np_tstream: pass a leading backslash for the pipe 
name for SMB1
   via  1e5010f s3:rpc_client: tstream_cli_np_open_send() doesn't expect a 
leading backslash
  from  4688107 s3:libsmb: get rid of cli_ucs2

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


- Log -
commit e4c59a66aa8ea113c38cc9c2f04a825983ee4fdc
Author: Stefan Metzmacher 
Date:   Mon May 28 19:44:04 2012 +0200

s4:ntvfs/ipc: fix protocol specific processing of pipe names

metze

Autobuild-User: Stefan Metzmacher 
Autobuild-Date: Mon May 28 21:48:47 CEST 2012 on sn-devel-104

commit ac4d23ebeb21c5f00c13b79c17c666ac54b6f08d
Author: Stefan Metzmacher 
Date:   Mon May 28 15:56:14 2012 +0200

s3:selftest: run rpc.samba3.smb[1|2]-pipe-name

metze

commit 69fd1bb66e757212f8866db23f95626fb9d1c573
Author: Stefan Metzmacher 
Date:   Mon May 28 16:49:23 2012 +0200

s3:rpc_server: don't do any magic in is_known_pipename() anymore

The callers have to check if they allow something else than
the raw pipe file name.

If we allow more than windows allows, we risks Samba specific
client behavior. E.g. winbindd only works against Samba servers.

metze

commit abf566ca994b8e2b47ab3da69cde67568bca8d71
Author: Stefan Metzmacher 
Date:   Mon May 28 18:23:50 2012 +0200

s3:smbd: fix reply_open_pipe_and_X() to behave like windows (2008 R2)

See rpc.samba3.smb1-pipe-name.

metze

commit e262db6c3173e977b08f1db37ae11e391246cc30
Author: Stefan Metzmacher 
Date:   Mon May 28 16:40:36 2012 +0200

s3:smbd: only strip \\ off the name if present (for ntcreatex)

metze

commit 6777e345b1512345e8b74dfe0956982afc59895e
Author: Stefan Metzmacher 
Date:   Mon May 28 16:27:29 2012 +0200

s3:rpc_server: return OBJECT_NAME_NOT_FOUND instead of PIPE_NOT_AVAILABLE

metze

commit 98c14ca61cb372795cb0ccb63430290b57ede086
Author: Stefan Metzmacher 
Date:   Mon May 28 15:25:53 2012 +0200

s3:smb2_create: do not remove leading backslash from pipe names

metze

commit 081b484181525878108cf4e430a1bf9d285f351c
Author: Stefan Metzmacher 
Date:   Mon May 28 16:23:22 2012 +0200

s4:torture/samba3rpc: add smb1-pipe-name

metze

commit c211216e43bb86c981f3badb1b38e0bda389df10
Author: Stefan Metzmacher 
Date:   Mon May 28 15:38:00 2012 +0200

s4:torture/samba3rpc: add smb2-pipe-name

metze

commit 697c88d6b194259260c802a2a66215d5aa89726d
Author: Stefan Metzmacher 
Date:   Mon May 28 15:29:17 2012 +0200

s3:cli_np_tstream: pass a leading backslash for the pipe name for SMB1

metze

commit 1e5010fd9978e0d65c25a7f2cbea399813e21d26
Author: Stefan Metzmacher 
Date:   Mon May 28 18:43:29 2012 +0200

s3:rpc_client: tstream_cli_np_open_send() doesn't expect a leading backslash

This fixes winbindd against a windows server using SMB2.

metze

---

Summary of changes:
 source3/libsmb/cli_np_tstream.c   |   14 ++-
 source3/rpc_client/rpc_transport_np.c |4 +
 source3/rpc_server/srv_pipe.c |   15 +--
 source3/rpc_server/srv_pipe_hnd.c |2 +-
 source3/selftest/tests.py |1 +
 source3/smbd/nttrans.c|6 +-
 source3/smbd/pipes.c  |   26 ++-
 source3/smbd/smb2_create.c|5 -
 source4/ntvfs/ipc/vfs_ipc.c   |8 +-
 source4/torture/rpc/samba3rpc.c   |  336 +
 10 files changed, 383 insertions(+), 34 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/cli_np_tstream.c b/source3/libsmb/cli_np_tstream.c
index f7e609d..9d5d013 100644
--- a/source3/libsmb/cli_np_tstream.c
+++ b/source3/libsmb/cli_np_tstream.c
@@ -151,8 +151,20 @@ struct tevent_req *tstream_cli_np_open_send(TALLOC_CTX 
*mem_ctx,
}
 
if (state->is_smb1) {
+   const char *smb1_npipe;
+
+   /*
+* Windows and newer Samba versions allow
+* the pipe name without leading backslash,
+* but we should better behave like windows clients
+ 

[SCM] Samba Shared Repository - branch v3-5-test updated

2012-05-28 Thread Karolin Seeger
The branch, v3-5-test has been updated
   via  0529cf9 Fix bug #8882 - Broken processing of %U with vfs_full_audit 
when force user is set.
  from  76c570f s3-utils: Use ads_do_search_retry in net ads search

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


- Log -
commit 0529cf9d039d0ae449f4b167952b42b2039238be
Author: Jeremy Allison 
Date:   Mon Apr 23 16:19:50 2012 -0700

Fix bug #8882 - Broken processing of %U with vfs_full_audit when force user 
is set.

When doing a "force user" we need to remember what the "sanitized_username"
was from the original connect.

---

Summary of changes:
 source3/smbd/service.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index bc2cdaf..2de9384 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -746,6 +746,14 @@ connection_struct *make_connection_snum(struct 
smbd_server_connection *sconn,
return NULL;
}
 
+   /* We don't want to replace the original sanitized_username
+  as it is the original user given in the connect attempt.
+  This is used in '%U' substitutions. */
+   TALLOC_FREE(forced_serverinfo->sanitized_username);
+   forced_serverinfo->sanitized_username =
+   talloc_move(forced_serverinfo,
+   &conn->server_info->sanitized_username);
+
TALLOC_FREE(conn->server_info);
conn->server_info = forced_serverinfo;
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-6-test updated

2012-05-28 Thread Karolin Seeger
The branch, v3-6-test has been updated
   via  f68121d Fix bug #8882 - Broken processing of %U with vfs_full_audit 
when force user is set.
  from  04a9988 s3-utils: Use ads_do_search_retry in net ads search

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


- Log -
commit f68121db6f78680a328acec11f475ccca3184412
Author: Jeremy Allison 
Date:   Mon Apr 23 17:49:49 2012 -0700

Fix bug #8882 - Broken processing of %U with vfs_full_audit when force user 
is set.

When doing a "force user" we need to remember what the "sanitized_username"
was from the original connect.

---

Summary of changes:
 source3/smbd/service.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index f57e57f..6c8c8d3 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -696,6 +696,14 @@ NTSTATUS set_conn_force_user_group(connection_struct 
*conn, int snum)
return status;
}
 
+   /* We don't want to replace the original sanitized_username
+  as it is the original user given in the connect attempt.
+  This is used in '%U' substitutions. */
+   TALLOC_FREE(forced_serverinfo->sanitized_username);
+   forced_serverinfo->sanitized_username =
+   talloc_move(forced_serverinfo,
+   &conn->session_info->sanitized_username);
+
TALLOC_FREE(conn->session_info);
conn->session_info = forced_serverinfo;
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-6-test updated

2012-05-28 Thread Karolin Seeger
The branch, v3-6-test has been updated
   via  04a9988 s3-utils: Use ads_do_search_retry in net ads search
   via  0f58ea6 s3-libads: Use a reducing page size to try and cope with a 
slow LDAP server
   via  483a01e s3-winbindd: Always map the LDAP error code to an NTSTATUS
   via  80e60a8 s3-libads: Map LDAP_TIMELIMIT_EXCEEDED as 
NT_STATUS_IO_TIMEOUT
  from  7965801 Fix the loop unrolling inside resolve_ads(). If we don't 
get an IP list don't use interpret_string_addr(), as this only returns one 
address, use interpret_string_addr_internal() instead.

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


- Log -
commit 04a9988ffa60b0ca32923da20a0d25d14aa460e4
Author: Andrew Bartlett 
Date:   Fri May 18 22:02:57 2012 +1000

s3-utils: Use ads_do_search_retry in net ads search

This makes it possible to search against a slow server, as will
fallback from 1000 to (eventually) 125 users at a time.

Andrew Bartlett

The last 4 patches address big #8943 (Slow but responsive DC can lock up
winbindd for > 10 minutes at a time).

commit 0f58ea6c58d78c845aa3fda22c238f126620d226
Author: Andrew Bartlett 
Date:   Fri May 18 22:01:14 2012 +1000

s3-libads: Use a reducing page size to try and cope with a slow LDAP server

If we cannot get 1000 users downloaded in 15seconds, try with 500, 250
and then 125 users at a time.

Andrew Bartlett

commit 483a01ea7f50227cb5328c52d8b71a2a31e7acea
Author: Andrew Bartlett 
Date:   Fri May 18 17:40:59 2012 +1000

s3-winbindd: Always map the LDAP error code to an NTSTATUS

We do this so that we catch LDAP_TIMELIMIT_EXCEEDED as 
NT_STATUS_IO_TIMEOUT, which
has special handling in winbindd_cache.c

Andrew Bartlett

commit 80e60a8f824f3d709fc45ec11e3ee0a161a622d8
Author: Andrew Bartlett 
Date:   Fri May 18 17:38:48 2012 +1000

s3-libads: Map LDAP_TIMELIMIT_EXCEEDED as NT_STATUS_IO_TIMEOUT

This allows Samba to then handle this error in the same way it would for 
RPC connections

Andrew Bartlett

---

Summary of changes:
 source3/include/ads.h   |1 +
 source3/libads/ads_status.c |3 +++
 source3/libads/ads_struct.c |4 
 source3/libads/ldap.c   |4 ++--
 source3/libads/ldap_utils.c |7 +++
 source3/utils/net_ads.c |2 +-
 source3/winbindd/winbindd_ads.c |   24 
 7 files changed, 38 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/ads.h b/source3/include/ads.h
index 8a8ce28..5d43275 100644
--- a/source3/include/ads.h
+++ b/source3/include/ads.h
@@ -61,6 +61,7 @@ typedef struct ads_struct {
time_t current_time;
char *schema_path;
char *config_path;
+   int ldap_page_size;
} config;
 
/* info about the current LDAP connection */
diff --git a/source3/libads/ads_status.c b/source3/libads/ads_status.c
index a9e59ed..8039534 100644
--- a/source3/libads/ads_status.c
+++ b/source3/libads/ads_status.c
@@ -81,6 +81,9 @@ NTSTATUS ads_ntstatus(ADS_STATUS status)
if (status.err.rc == LDAP_SUCCESS) {
return NT_STATUS_OK;
}
+   if (status.err.rc == LDAP_TIMELIMIT_EXCEEDED) {
+   return NT_STATUS_IO_TIMEOUT;
+   }
return NT_STATUS_LDAP(status.err.rc);
 #endif
 #ifdef HAVE_KRB5
diff --git a/source3/libads/ads_struct.c b/source3/libads/ads_struct.c
index b6c8e99..e2e7df5 100644
--- a/source3/libads/ads_struct.c
+++ b/source3/libads/ads_struct.c
@@ -149,6 +149,10 @@ ADS_STRUCT *ads_init(const char *realm,
 
ads->auth.flags = wrap_flags;
 
+   /* Start with a page size of 1000 when the connection is new,
+* we will drop it by half we get a timeout.   */
+   ads->config.ldap_page_size = 1000;
+
return ads;
 }
 
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 90c645c..e62a4b4 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -930,11 +930,11 @@ static ADS_STATUS ads_do_paged_search_args(ADS_STRUCT 
*ads,
 
cookie_be = ber_alloc_t(LBER_USE_DER);
if (*cookie) {
-   ber_printf(cookie_be, "{iO}", (ber_int_t) 1000, *cookie);
+   ber_printf(cookie_be, "{iO}", (ber_int_t) 
ads->config.ldap_page_size, *cookie);
ber_bvfree(*cookie); /* don't need it from last time */
*cookie = NULL;
} else {
-   ber_printf(cookie_be, "{io}", (ber_int_t) 1000, "", 0);
+   ber_printf(cookie_be, "{io}", (ber_int_t) 
ads->config.ldap_page_size, "", 0);
}
ber_flatten(cookie_be, &cookie_bv);
PagedResults.ldctl_oid = CONST_DISCARD(char *, ADS_PAGE_CTL_OID);
diff --git a/s

[SCM] Samba Shared Repository - branch v3-5-test updated

2012-05-28 Thread Karolin Seeger
The branch, v3-5-test has been updated
   via  76c570f s3-utils: Use ads_do_search_retry in net ads search
   via  8572ce0 s3-libads: Use a reducing page size to try and cope with a 
slow LDAP server
   via  5daa8d2 s3-winbindd: Always map the LDAP error code to an NTSTATUS
   via  d113c69 s3-libads: Map LDAP_TIMELIMIT_EXCEEDED as 
NT_STATUS_IO_TIMEOUT
  from  b9d3f82 Fix the loop unrolling inside resolve_ads().

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


- Log -
commit 76c570fe6be4d6b5b254ec3264a97cb13864a6df
Author: Andrew Bartlett 
Date:   Fri May 18 22:02:57 2012 +1000

s3-utils: Use ads_do_search_retry in net ads search

This makes it possible to search against a slow server, as will
fallback from 1000 to (eventually) 125 users at a time.

Andrew Bartlett

The last 4 patches addres bug #8943 (Slow but responsive DC can lock up 
winbindd
for > 10 minutes at a time).

commit 8572ce0e5ff17bfe0df2823078119be9182a0378
Author: Andrew Bartlett 
Date:   Fri May 18 22:01:14 2012 +1000

s3-libads: Use a reducing page size to try and cope with a slow LDAP server

If we cannot get 1000 users downloaded in 15seconds, try with 500, 250
and then 125 users at a time.

Andrew Bartlett

commit 5daa8d2f7fa7d15ac6d6b0238e299f69c70be024
Author: Andrew Bartlett 
Date:   Fri May 18 17:40:59 2012 +1000

s3-winbindd: Always map the LDAP error code to an NTSTATUS

We do this so that we catch LDAP_TIMELIMIT_EXCEEDED as 
NT_STATUS_IO_TIMEOUT, which
has special handling in winbindd_cache.c

Andrew Bartlett

commit d113c69edb57c7a3d72e3ab122cec44858a5313e
Author: Andrew Bartlett 
Date:   Fri May 18 17:38:48 2012 +1000

s3-libads: Map LDAP_TIMELIMIT_EXCEEDED as NT_STATUS_IO_TIMEOUT

This allows Samba to then handle this error in the same way it would for 
RPC connections

Andrew Bartlett

---

Summary of changes:
 source3/include/ads.h   |1 +
 source3/libads/ads_status.c |3 +++
 source3/libads/ads_struct.c |4 
 source3/libads/ldap.c   |4 ++--
 source3/libads/ldap_utils.c |7 +++
 source3/utils/net_ads.c |2 +-
 source3/winbindd/winbindd_ads.c |   28 ++--
 7 files changed, 40 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/ads.h b/source3/include/ads.h
index 62d51ce..ff3dc12 100644
--- a/source3/include/ads.h
+++ b/source3/include/ads.h
@@ -108,6 +108,7 @@ typedef struct ads_struct {
time_t current_time;
char *schema_path;
char *config_path;
+   int ldap_page_size;
} config;
 
/* info about the current LDAP connection */
diff --git a/source3/libads/ads_status.c b/source3/libads/ads_status.c
index 6680766..392e82f 100644
--- a/source3/libads/ads_status.c
+++ b/source3/libads/ads_status.c
@@ -79,6 +79,9 @@ NTSTATUS ads_ntstatus(ADS_STATUS status)
if (status.err.rc == LDAP_SUCCESS) {
return NT_STATUS_OK;
}
+   if (status.err.rc == LDAP_TIMELIMIT_EXCEEDED) {
+   return NT_STATUS_IO_TIMEOUT;
+   }
return NT_STATUS_LDAP(status.err.rc);
 #endif
 #ifdef HAVE_KRB5
diff --git a/source3/libads/ads_struct.c b/source3/libads/ads_struct.c
index aef35ad..2d9ea17 100644
--- a/source3/libads/ads_struct.c
+++ b/source3/libads/ads_struct.c
@@ -148,6 +148,10 @@ ADS_STRUCT *ads_init(const char *realm,
 
ads->auth.flags = wrap_flags;
 
+   /* Start with a page size of 1000 when the connection is new,
+* we will drop it by half we get a timeout.   */
+   ads->config.ldap_page_size = 1000;
+
return ads;
 }
 
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index f18ded1..99ec2e4 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -924,11 +924,11 @@ static ADS_STATUS ads_do_paged_search_args(ADS_STRUCT 
*ads,
 
cookie_be = ber_alloc_t(LBER_USE_DER);
if (*cookie) {
-   ber_printf(cookie_be, "{iO}", (ber_int_t) 1000, *cookie);
+   ber_printf(cookie_be, "{iO}", (ber_int_t) 
ads->config.ldap_page_size, *cookie);
ber_bvfree(*cookie); /* don't need it from last time */
*cookie = NULL;
} else {
-   ber_printf(cookie_be, "{io}", (ber_int_t) 1000, "", 0);
+   ber_printf(cookie_be, "{io}", (ber_int_t) 
ads->config.ldap_page_size, "", 0);
}
ber_flatten(cookie_be, &cookie_bv);
PagedResults.ldctl_oid = CONST_DISCARD(char *, ADS_PAGE_CTL_OID);
diff --git a/source3/libads/ldap_utils.c b/source3/libads/ldap_utils.c
index 871449a..dee3c03 100644
--- a/source3/libads/ldap_utils.c
+++ b/source3/lib

[SCM] Samba Shared Repository - branch master updated

2012-05-28 Thread Stefan Metzmacher
The branch, master has been updated
   via  4688107 s3:libsmb: get rid of cli_ucs2
   via  93ed99d s3:libsmb: get rid of clisigning routines
   via  f7f73c4 s3:libsmb: get rid of cli_has_async_calls
   via  764b5e5 s3:libsmb: get rid of cli_negprot
   via  82895ab s3:libsmb: get rid of cli_state_disconnect
   via  1ff8c40 s3:libsmb: get rid of cli_state_server_time_zone
   via  278ba99 s3:libsmb: get rid of cli_state_security_mode
   via  5f10bd9 s3:libsmb: get rid of cli_state_server_gss_blob
   via  2be7e23 s3:libsmb: get rid of cli_state_server_challenge
   via  ab052c7 s3:libsmb: get rid of cli_state_encryption_on
   via  6c18a66 s3:libsmb: get rid of cli_state_max_requests
   via  7c69ca0 s3:libsmb: get rid of cli_state_server_session_key
   via  3c9c06a s3:libsmb: get rid of cli_state_capabilities
   via  d8c0646 s3:libsmb: get rid of cli_state_protocol
   via  4f6f4ea s3:libsmb: get rid of cli_state_remote_name
   via  987e81b s3:libsmb: get rid of cli_state_*_sockaddr
   via  8e24e7f s3:libsmb: get rid of cli_sockopt
   via  f43231c s3:libsmb: remove unused (un)set_pending functions
  from  bf38a5d Avoid all(), as it's not available in Python 2.4.

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


- Log -
commit 4688107800216a86646bc4838f7a485bae091370
Author: Luk Claes 
Date:   Sat May 26 12:14:51 2012 +0200

s3:libsmb: get rid of cli_ucs2

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

Autobuild-User: Stefan Metzmacher 
Autobuild-Date: Mon May 28 16:58:03 CEST 2012 on sn-devel-104

commit 93ed99d6ffb948e9ddde9ddc7280b33fc86adc75
Author: Luk Claes 
Date:   Sat May 26 12:07:38 2012 +0200

s3:libsmb: get rid of clisigning routines

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit f7f73c4dbad4dc47e3f37cd09f90470c2e54a4c2
Author: Luk Claes 
Date:   Sat May 26 11:45:09 2012 +0200

s3:libsmb: get rid of cli_has_async_calls

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 764b5e56108362a53acf8f435203dd1e56ecd2ce
Author: Luk Claes 
Date:   Sun May 20 17:54:29 2012 +0200

s3:libsmb: get rid of cli_negprot

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 82895ab22fb19fabe43ec29365dbe33da0b917f2
Author: Luk Claes 
Date:   Sun May 20 16:26:25 2012 +0200

s3:libsmb: get rid of cli_state_disconnect

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 1ff8c404a64ea583b8265441edfb78c3613134dd
Author: Luk Claes 
Date:   Sat May 19 18:50:27 2012 +0200

s3:libsmb: get rid of cli_state_server_time_zone

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 278ba9928ab0f36c933f3190aee136bbc964055a
Author: Luk Claes 
Date:   Sat May 19 18:47:31 2012 +0200

s3:libsmb: get rid of cli_state_security_mode

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 5f10bd9fe4d8738564ea9674645b6521c131dccf
Author: Luk Claes 
Date:   Sat May 19 18:44:48 2012 +0200

s3:libsmb: get rid of cli_state_server_gss_blob

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 2be7e23b99db92cf55421607a67911f0ecae3790
Author: Luk Claes 
Date:   Sat May 19 18:42:56 2012 +0200

s3:libsmb: get rid of cli_state_server_challenge

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit ab052c7ff0cdaa7b64c20e2d658e4c46d6c66234
Author: Luk Claes 
Date:   Sat May 19 18:39:44 2012 +0200

s3:libsmb: get rid of cli_state_encryption_on

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 6c18a66f3e84b8587deb25390e5ee9f6d531a3be
Author: Luk Claes 
Date:   Sat May 19 18:35:51 2012 +0200

s3:libsmb: get rid of cli_state_max_requests

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 7c69ca09d0a847262b3e5981c12331c70bf1ce35
Author: Luk Claes 
Date:   Sat May 19 18:32:51 2012 +0200

s3:libsmb: get rid of cli_state_server_session_key

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 3c9c06ac05635dc0af3b29b15c3f568cbf57afdd
Author: Luk Claes 
Date:   Sat May 19 18:23:40 2012 +0200

s3:libsmb: get rid of cli_state_capabilities

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit d8c0646a5db34a390ceeb853e50c2d098b992c85
Author: Luk Claes 
Date:   Sat May 19 18:09:30 2012 +0200

s3:libsmb: get rid of cli_state_protocol

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 4f6f4ea93c83fa5154f450e2e43649467e4c2b32
Author: Luk Claes 
Date:   Sat May 19 17:31:50 2012 +0200

s3:libsmb: get rid of cli_state_remote_name

Signed-off-by: Luk Claes 
Signed-off-by: Stefan Metzmacher 

commit 987e81b0ee681a25a8e3308169626a2206e3fd26
Author: Luk Claes 
Date:   S