Build status as of Sun Mar 22 00:00:02 2009

2009-03-21 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2009-03-21 
00:00:30.0 +
+++ /home/build/master/cache/broken_results.txt 2009-03-22 00:00:17.0 
+
@@ -1,4 +1,4 @@
-Build status as of Sat Mar 21 00:00:02 2009
+Build status as of Sun Mar 22 00:00:02 2009
 
 Build counts:
 Tree Total  Broken Panic 
@@ -6,16 +6,16 @@
 ccache   30 5  0 
 ctdb 0  0  0 
 distcc   0  0  0 
-ldb  29 30 0 
-libreplace   28 11 0 
+ldb  30 30 0 
+libreplace   30 11 0 
 lorikeet-heimdal 27 14 0 
 pidl 21 3  0 
 ppp  13 0  0 
-rsync30 10 0 
+rsync29 10 0 
 samba-docs   0  0  0 
 samba-gtk5  5  0 
 samba_3_X_devel 29 28 0 
-samba_3_X_test 27 25 1 
+samba_3_X_test 28 25 1 
 samba_4_0_test 30 29 1 
 smb-build29 6  0 
 talloc   30 30 0 


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-644-g59dff57

2009-03-21 Thread Volker Lendecke
The branch, master has been updated
   via  59dff5745528a3efe585cdeb03e2bedd6b2e404a (commit)
  from  986c2e01cca0be993f1e52d3a27819f4044bfe4b (commit)

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


- Log -
commit 59dff5745528a3efe585cdeb03e2bedd6b2e404a
Author: Volker Lendecke 
Date:   Sat Mar 21 23:57:14 2009 +0100

Document talloc_zero_array()

---

Summary of changes:
 lib/talloc/talloc.h |   16 
 1 files changed, 16 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index 9806bdd..ae488ba 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -426,6 +426,22 @@ typedef void TALLOC_CTX;
 
 #define talloc_zero_size(ctx, size) _talloc_zero(ctx, size, __location__)
 
+/**
+ * \def talloc_zero_array(ctx, type, count)
+ * \brief Allocate a 0-initialized array
+ * \param ctx The talloc context to hang the result off
+ * \param type The type that we want to allocate
+ * \param count The number of "type" elements you want to allocate
+ * \return The allocated result, properly cast to "type *"
+ * \ingroup talloc_array
+ *
+ * The talloc_zero_array() macro is equivalent to:
+ *
+ * \code
+ * ptr = talloc_array(ctx, type, count);
+ * if (ptr) memset(ptr, sizeof(type) * count);
+ * \endcode
+ */
 #define talloc_zero_array(ctx, type, count) (type *)_talloc_zero_array(ctx, 
sizeof(type), count, #type)
 
 /**


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-643-g986c2e0

2009-03-21 Thread Volker Lendecke
The branch, master has been updated
   via  986c2e01cca0be993f1e52d3a27819f4044bfe4b (commit)
  from  3f81649b8dcadb3bd424f41d803dbd59f770b9ba (commit)

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


- Log -
commit 986c2e01cca0be993f1e52d3a27819f4044bfe4b
Author: Volker Lendecke 
Date:   Sat Mar 21 23:49:30 2009 +0100

Document talloc_parent, talloc_parent_name and talloc_is_parent

---

Summary of changes:
 lib/talloc/talloc.h |   29 +
 1 files changed, 29 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index d103d6f..9806bdd 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -849,7 +849,25 @@ const char *talloc_get_name(const void *ptr);
 void *talloc_check_name(const void *ptr, const char *name);
 
 void *_talloc_get_type_abort(const void *ptr, const char *name, const char 
*location);
+
+/**
+ * \brief Return the parent chunk of a pointer
+ * \param ptr The talloc pointer to inspect
+ * \return The talloc parent of "ptr"
+ * \ingroup talloc_basic
+ *
+ * Return the parent chunk of a pointer
+ */
 void *talloc_parent(const void *ptr);
+
+/**
+ * \brief Return a talloc chunk's parent name
+ * \param ptr The talloc pointer to inspect
+ * \return The name of ptr's parent chunk
+ * \ingroup talloc_basic
+ *
+ * Return a talloc chunk's parent name
+ */
 const char *talloc_parent_name(const void *ptr);
 
 /**
@@ -1149,6 +1167,17 @@ size_t talloc_get_size(const void *ctx);
  */
 void *talloc_find_parent_byname(const void *ctx, const char *name);
 void talloc_show_parents(const void *context, FILE *file);
+
+/**
+ * \brief Check if a context is parent of a talloc chunk
+ * \param context The assumed talloc context
+ * \param ptr The talloc chunk to check
+ * \return Is context an anchestor of ptr
+ * \ingroup talloc_basic
+ *
+ * talloc_is_parent() checks if context is referenced in the talloc
+ * hierarchy above ptr. Return 1 if this is the case, 0 if not.
+ */
 int talloc_is_parent(const void *context, const void *ptr);
 
 /**


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-642-g3f81649

2009-03-21 Thread Volker Lendecke
The branch, master has been updated
   via  3f81649b8dcadb3bd424f41d803dbd59f770b9ba (commit)
   via  2ce70d4f5a30973b4cc083dbbb38b519007a31bd (commit)
   via  02662d56c64f367bffa2febba9a396c15454cfdb (commit)
  from  27944ed7452207ef3c686ff6bcd9c4e1cb7f36d8 (commit)

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


- Log -
commit 3f81649b8dcadb3bd424f41d803dbd59f770b9ba
Author: Volker Lendecke 
Date:   Sat Mar 21 20:02:50 2009 +0100

Document TALLOC_FREE()

commit 2ce70d4f5a30973b4cc083dbbb38b519007a31bd
Author: Volker Lendecke 
Date:   Sat Mar 21 20:02:42 2009 +0100

Document _talloc

commit 02662d56c64f367bffa2febba9a396c15454cfdb
Author: Volker Lendecke 
Date:   Sat Mar 21 20:02:19 2009 +0100

Add a talloc_internal "module"

---

Summary of changes:
 lib/talloc/talloc.h |   30 +-
 1 files changed, 29 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index e44d924..d103d6f 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -125,6 +125,15 @@
  */
 
 /**
+ * \defgroup talloc_internal Internal routines
+ *
+ * To achieve type-safety, talloc.h defines a lot of macros with type
+ * casts. These macros define the user interface to the internal routines you
+ * find here. You should not really use these routines directly but go through
+ * the external API.
+ */
+
+/**
  * \defgroup talloc_undoc Default group of undocumented stuff
  *
  * This should be empty...
@@ -624,9 +633,28 @@ typedef void TALLOC_CTX;
 #define talloc_append_string(c, s, a) 
(s?talloc_strdup_append(s,a):talloc_strdup(c, a))
 #endif
 
+/**
+ * \def TALLOC_FREE(ctx)
+ * \brief talloc_free a chunk and NULL out the pointer
+ * \param ctx The chunk to be freed
+ * \ingroup talloc_basic
+ *
+ * TALLOC_FREE() frees a pointer and sets it to NULL. Use this if you want
+ * immediate feedback (i.e. crash) if you use a pointer after having free'ed
+ * it.
+ */
 #define TALLOC_FREE(ctx) do { talloc_free(ctx); ctx=NULL; } while(0)
 
-/* The following definitions come from talloc.c  */
+/**
+ * \brief Allocate untyped, unnamed memory
+ * \param context The talloc context to hang the result off
+ * \param size Number of char's that you want to allocate
+ * \return The allocated memory chunk
+ * \ingroup talloc_internal
+ *
+ * Essentially the same as talloc_size() without setting the chunk name to the
+ * current file/line number.
+ */
 void *_talloc(const void *context, size_t size);
 
 /**


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-639-g27944ed

2009-03-21 Thread Volker Lendecke
The branch, master has been updated
   via  27944ed7452207ef3c686ff6bcd9c4e1cb7f36d8 (commit)
  from  db447d0c476699dbf7fa0567c67f5938674ec811 (commit)

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


- Log -
commit 27944ed7452207ef3c686ff6bcd9c4e1cb7f36d8
Author: Volker Lendecke 
Date:   Sat Mar 21 19:48:54 2009 +0100

Document talloc_pool()

---

Summary of changes:
 lib/talloc/talloc.h |   35 +++
 1 files changed, 35 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index 4adc67b..e44d924 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -628,6 +628,41 @@ typedef void TALLOC_CTX;
 
 /* The following definitions come from talloc.c  */
 void *_talloc(const void *context, size_t size);
+
+/**
+ * \brief Allocate a talloc pool
+ * \param context The talloc context to hang the result off
+ * \param size Size of the talloc pool
+ * \result The talloc pool
+ * \ingroup talloc_basic
+ *
+ * A talloc pool is a pure optimization for specific situations. In the
+ * release process for Samba 3.2 we found out that we had become considerably
+ * slower than Samba 3.0 was. Profiling showed that malloc(3) was a large CPU
+ * consumer in benchmarks. For Samba 3.2 we have internally converted many
+ * static buffers to dynamically allocated ones, so malloc(3) being beaten
+ * more was no surprise. But it made us slower.
+ *
+ * talloc_pool() is an optimization to call malloc(3) a lot less for the use
+ * pattern Samba has: The SMB protocol is mainly a request/response protocol
+ * where we have to allocate a certain amount of memory per request and free
+ * that after the SMB reply is sent to the client.
+ *
+ * talloc_pool() creates a talloc chunk that you can use as a talloc parent
+ * exactly as you would use any other ::TALLOC_CTX. The difference is that
+ * when you talloc a child of this pool, no malloc(3) is done. Instead, talloc
+ * just increments a pointer inside the talloc_pool. This also works
+ * recursively. If you use the child of the talloc pool as a parent for
+ * grand-children, their memory is also taken from the talloc pool.
+ *
+ * If you talloc_free() children of a talloc pool, the memory is not given
+ * back to the system. Instead, free(3) is only called if the talloc_pool()
+ * itself is released with talloc_free().
+ *
+ * The downside of a talloc pool is that if you talloc_move() a child of a
+ * talloc pool to a talloc parent outside the pool, the whole pool memory is
+ * not free(3)'ed until that moved chunk is also talloc_free()ed.
+ */
 void *talloc_pool(const void *context, size_t size);
 void _talloc_set_destructor(const void *ptr, int (*destructor)(void *));
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-638-gdb447d0

2009-03-21 Thread Volker Lendecke
The branch, master has been updated
   via  db447d0c476699dbf7fa0567c67f5938674ec811 (commit)
   via  cfce2d3611f225244fadf3d27d76371827fd6422 (commit)
   via  ba42320c7e9f5ccbd32eccbfb1f2d77e13b3a318 (commit)
   via  3f9c30022a53a37ad829f8882a9a5161fcadda8b (commit)
   via  d21212c9192b41a3fdc7e96cb9bf0125a1dc6c2d (commit)
   via  f55e84e904173bed8dc9099ad523ca1e7be12355 (commit)
  from  3b73cdb41201dd545e019e8e8313f6b8c51c7226 (commit)

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


- Log -
commit db447d0c476699dbf7fa0567c67f5938674ec811
Author: Volker Lendecke 
Date:   Sat Mar 21 16:58:54 2009 +0100

Reformatting

commit cfce2d3611f225244fadf3d27d76371827fd6422
Author: Volker Lendecke 
Date:   Sat Mar 21 16:52:13 2009 +0100

Add some initial hook to the front page

commit ba42320c7e9f5ccbd32eccbfb1f2d77e13b3a318
Author: Volker Lendecke 
Date:   Sat Mar 21 16:50:58 2009 +0100

Add a default "undocumented" module

commit 3f9c30022a53a37ad829f8882a9a5161fcadda8b
Author: Volker Lendecke 
Date:   Sat Mar 21 16:40:33 2009 +0100

Delete talloc_guide.txt

commit d21212c9192b41a3fdc7e96cb9bf0125a1dc6c2d
Author: Volker Lendecke 
Date:   Sat Mar 21 12:43:08 2009 +0100

Convert the contents of talloc_guide.txt to doxygen-style talloc.h comments

talloc_guide.txt was partly outdated, and as going through talloc.h now 
shows
it was incomplete.

commit f55e84e904173bed8dc9099ad523ca1e7be12355
Author: Volker Lendecke 
Date:   Sat Mar 21 10:17:24 2009 +0100

Add a basic Doxyfile for talloc

---

Summary of changes:
 lib/talloc/Doxyfile |8 +
 lib/talloc/talloc.h | 1041 ++-
 lib/talloc/talloc_guide.txt |  694 
 3 files changed, 1048 insertions(+), 695 deletions(-)
 create mode 100644 lib/talloc/Doxyfile
 delete mode 100644 lib/talloc/talloc_guide.txt


Changeset truncated at 500 lines:

diff --git a/lib/talloc/Doxyfile b/lib/talloc/Doxyfile
new file mode 100644
index 000..0ccf563
--- /dev/null
+++ b/lib/talloc/Doxyfile
@@ -0,0 +1,8 @@
+OUTPUT_DIRECTORY   = doc
+PROJECT_NAME   = Talloc
+OPTIMIZE_OUTPUT_FOR_C  = YES
+GENERATE_LATEX = NO
+GENERATE_MAN   = YES
+MACRO_EXPANSION= YES
+EXPAND_ONLY_PREDEF = YES
+PREDEFINED = PRINTF_ATTRIBUTE(x,y)=
diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index 5c8d5c5..4adc67b 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -29,7 +29,134 @@
 #include 
 #include 
 
-/* this is only needed for compatibility with the old talloc */
+/** \mainpage
+ *
+ * \section intro_sec Introduction
+ *
+ * Talloc is a hierarchical, reference counted memory pool system with
+ * destructors. Quite a mouthful really, but not too bad once you get used to
+ * it.
+ *
+ * Perhaps the biggest difference from other memory pool systems is that there
+ * is no distinction between a "talloc context" and a "talloc pointer". Any
+ * pointer returned from talloc() is itself a valid talloc context. This means
+ * you can do this:
+ *
+ * \code
+ * struct foo *X = talloc(mem_ctx, struct foo);
+ * X->name = talloc_strdup(X, "foo");
+ * \endcode
+ *
+ * and the pointer X->name would be a "child" of the talloc context "X" which
+ * is itself a child of mem_ctx. So if you do talloc_free(mem_ctx) then it is
+ * all destroyed, whereas if you do talloc_free(X) then just X and X->name are
+ * destroyed, and if you do talloc_free(X->name) then just the name element of
+ * X is destroyed.
+ *
+ * If you think about this, then what this effectively gives you is an n-ary
+ * tree, where you can free any part of the tree with talloc_free().
+ *
+ * To start, you should probably first look at the definitions of
+ * ::TALLOC_CTX, talloc_init(), talloc() and talloc_free().
+ *
+ * \section named_blocks Named blocks
+ *
+ * Every talloc chunk has a name that can be used as a dynamic type-checking
+ * system. If for some reason like a callback function you had to cast a
+ * "struct foo *" to a "void *" variable, later you can safely reassign the
+ * "void *" pointer to a "struct foo *" by using the talloc_get_type() or
+ * talloc_get_type_abort() macros.
+ *
+ * \code
+ * struct foo *X = talloc_get_type_abort(ptr, struct foo);
+ * \endcode
+ *
+ * This will abort if "ptr" does not contain a pointer that has been created
+ * with talloc(mem_ctx, struct foo).
+ *
+ * \section multi_threading Multi-Threading
+ *
+ * talloc itself does not deal with threads. It is thread-safe (assuming the
+ * underlying "malloc" is), as long as each thread uses different memory
+ * contexts.
+ *
+ * If two threads uses the same context then they need to synchronize in order
+ * to be safe. In particular:
+ *
+ *
+ * - when using talloc_enable_leak_report(), giving directly NULL as a
+ *   pare

[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-632-g3b73cdb

2009-03-21 Thread Stefan Metzmacher
The branch, master has been updated
   via  3b73cdb41201dd545e019e8e8313f6b8c51c7226 (commit)
   via  431fc718c13d259748ac20019997241981639c95 (commit)
   via  593ab6ac00c217f6d661b4babface40a0b0dd4ce (commit)
   via  6ef1442360a35284e498eea701fc2eab43c5 (commit)
   via  66dc53ee017d74a6f610bbe04337f064901fe2a1 (commit)
  from  62ab39dde37f5570b336b9db5b4e3c2e4640e877 (commit)

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


- Log -
commit 3b73cdb41201dd545e019e8e8313f6b8c51c7226
Author: Stefan Metzmacher 
Date:   Wed Jan 28 10:10:12 2009 +0100

s3:nmbd: implement a MAILSLOT => CLDAP proxy for NETLOGON_SAMLOGON requests

This will be used as part a the franky setup, where nmbd will forward
the MAILSLOT requests to the local samba4 CLDAP server.

"nmbd_proxy_logon:cldap_server = 127.0.0.1" would configure
and activate this feature.

metze

commit 431fc718c13d259748ac20019997241981639c95
Author: Stefan Metzmacher 
Date:   Fri Mar 20 16:18:47 2009 +0100

selftest/Samba3: always use the same timeout for all servers

metze

commit 593ab6ac00c217f6d661b4babface40a0b0dd4ce
Author: Stefan Metzmacher 
Date:   Fri Mar 20 16:11:14 2009 +0100

s4:selftest: rename SMBD_VALGRIND => SAMBA_VALGRIND

metze

commit 6ef1442360a35284e498eea701fc2eab43c5
Author: Stefan Metzmacher 
Date:   Fri Mar 20 15:13:39 2009 +0100

s4:smbd: the name of the binary is "samba" now

metze

commit 66dc53ee017d74a6f610bbe04337f064901fe2a1
Author: Stefan Metzmacher 
Date:   Fri Mar 20 16:27:17 2009 +0100

socket_wrapper: fix connect() for dgram sockets, if the destination isn't 
there yet

metze

---

Summary of changes:
 lib/socket_wrapper/socket_wrapper.c |   10 +-
 selftest/target/Samba3.pm   |   32 +++---
 selftest/target/Samba4.pm   |8 +-
 source3/include/proto.h |2 +
 source3/nmbd/nmbd.c |6 +
 source3/nmbd/nmbd_processlogon.c|  238 +++
 source3/samba4.mk   |   12 +-
 source4/selftest/config.mk  |   12 +-
 source4/smbd/server.c   |2 +-
 9 files changed, 285 insertions(+), 37 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/socket_wrapper/socket_wrapper.c 
b/lib/socket_wrapper/socket_wrapper.c
index 44082e7..1d35c8d 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -1686,10 +1686,14 @@ _PUBLIC_ int swrap_connect(int s, const struct sockaddr 
*serv_addr, socklen_t ad
ret = sockaddr_convert_to_un(si, (const struct sockaddr *)serv_addr, 
addrlen, &un_addr, 0, NULL);
if (ret == -1) return -1;
 
-   swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_SEND, NULL, 0);
+   if (si->type == SOCK_DGRAM) {
+   ret = 0;
+   } else {
+   swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_SEND, NULL, 0);
 
-   ret = real_connect(s, (struct sockaddr *)&un_addr, 
-  sizeof(struct sockaddr_un));
+   ret = real_connect(s, (struct sockaddr *)&un_addr,
+  sizeof(struct sockaddr_un));
+   }
 
/* to give better errors */
if (ret == -1 && errno == ENOENT) {
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 2b96226..78aafa7 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -126,9 +126,8 @@ sub setup_dc($$)
$dc_options);
 
$self->check_or_start($vars,
- ($ENV{NMBD_MAXTIME} or 2700),
- ($ENV{WINBINDD_MAXTIME} or 2700),
- ($ENV{SMBD_MAXTIME} or 2700));
+ ($ENV{SMBD_MAXTIME} or 2700),
+  "yes", "yes", "yes");
 
$self->wait_for_start($vars);
 
@@ -163,9 +162,8 @@ sub setup_member($$$)
system($cmd) == 0 or die("Join failed\n$cmd");
 
$self->check_or_start($ret,
- ($ENV{NMBD_MAXTIME} or 2700),
- ($ENV{WINBINDD_MAXTIME} or 2700),
- ($ENV{SMBD_MAXTIME} or 2700));
+ ($ENV{SMBD_MAXTIME} or 2700),
+  "yes", "yes", "yes");
 
$self->wait_for_start($ret);
 
@@ -212,8 +210,8 @@ sub read_pid($$)
return $pid;
 }
 
-sub check_or_start() {
-   my ($self, $env_vars, $nmbd_maxtime, $winbindd_maxtime, $smbd_maxtime) 
= @_;
+sub check_or_start($) {
+   my ($self, $env_vars, $maxtime, $nmbd, $winbindd, $smbd) = @_;
 
unlink($env_vars->{NMBD_TEST_LOG});
print "STARTING NMBD...";
@@ -229,13 +227,13 @@ sub check_or_start() {
$ENV{NSS_WRAPPER_PASSWD} = $env_vars->