Build status as of Wed Oct 29 00:00:02 2008

2008-10-28 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2008-10-28 
00:00:49.0 +
+++ /home/build/master/cache/broken_results.txt 2008-10-29 00:00:36.0 
+
@@ -1,4 +1,4 @@
-Build status as of Tue Oct 28 00:00:02 2008
+Build status as of Wed Oct 29 00:00:02 2008
 
 Build counts:
 Tree Total  Broken Panic 
@@ -14,9 +14,9 @@
 rsync34 10 0 
 samba-docs   0  0  0 
 samba-gtk8  8  0 
-samba_3_X_devel 31 18 0 
-samba_3_X_test 30 17 0 
-samba_4_0_test 33 26 5 
+samba_3_X_devel 30 19 0 
+samba_3_X_test 29 17 0 
+samba_4_0_test 32 29 0 
 smb-build32 7  0 
 talloc   34 33 0 
 tdb  34 12 0 


[SCM] Samba Shared Repository - branch master updated - 67c5aca1e871ccd3675a0cc586753134f76239e9

2008-10-28 Thread Stefan Metzmacher
The branch, master has been updated
   via  67c5aca1e871ccd3675a0cc586753134f76239e9 (commit)
   via  b99926ca5e3791f578a833de5ca3ed7bd4bab443 (commit)
   via  8160cd1595520719268d20f2a17fd25c72bed4c9 (commit)
  from  7a4d937fd9e80e27d58584bc1a4d3dddc88ba74d (commit)

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


- Log -
commit 67c5aca1e871ccd3675a0cc586753134f76239e9
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Tue Oct 28 17:14:53 2008 +0100

RAW-ACLS: test the behavior of NULL DACL vs. empty DACL

This is based on the torture test attached to bug 4284
by Matthias Dieter Wallnöfer <[EMAIL PROTECTED]>.

metze

commit b99926ca5e3791f578a833de5ca3ed7bd4bab443
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Tue Oct 28 17:13:21 2008 +0100

s4: ntvfs/posix: to set a DACL at open time SEC_DESC_DACL_PRESENT must be 
set

metze

commit 8160cd1595520719268d20f2a17fd25c72bed4c9
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Tue Oct 28 17:10:51 2008 +0100

s4: libcli/security: a NULL DACL allows access

This fixes bug 4284.

metze

---

Summary of changes:
 source4/libcli/security/access_check.c |   13 +--
 source4/ntvfs/posix/pvfs_open.c|6 +-
 source4/torture/raw/acls.c |  244 
 3 files changed, 250 insertions(+), 13 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/libcli/security/access_check.c 
b/source4/libcli/security/access_check.c
index d5a0a13..af6a3d6 100644
--- a/source4/libcli/security/access_check.c
+++ b/source4/libcli/security/access_check.c
@@ -99,21 +99,12 @@ NTSTATUS sec_access_check(const struct security_descriptor 
*sd,
}
}
 
-   /* dacl not present allows access */
-   if (!(sd->type & SEC_DESC_DACL_PRESENT)) {
+   /* a NULL dacl allows access */
+   if ((sd->type & SEC_DESC_DACL_PRESENT) && sd->dacl == NULL) {
*access_granted = access_desired;
return NT_STATUS_OK;
}
 
-#if 0
-   /* tridge: previously we had empty dacl denying access, but
-  that can lead to undeletable directories, where
-  nobody can change the ACL on a directory */
-   if (sd->dacl == NULL || sd->dacl->num_aces == 0) {
-   return NT_STATUS_ACCESS_DENIED;
-   }
-#endif
-
/* the owner always gets SEC_STD_WRITE_DAC, SEC_STD_READ_CONTROL and 
SEC_STD_DELETE */
if ((bits_remaining & 
(SEC_STD_WRITE_DAC|SEC_STD_READ_CONTROL|SEC_STD_DELETE)) &&
security_token_has_sid(token, sd->owner_sid)) {
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index 8a32f01..fe3c915 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -106,6 +106,7 @@ static NTSTATUS pvfs_open_setup_eas_acl(struct pvfs_state 
*pvfs,
union smb_open *io)
 {
NTSTATUS status;
+   struct security_descriptor *sd;
 
/* setup any EAs that were asked for */
if (io->ntcreatex.in.ea_list) {
@@ -117,8 +118,9 @@ static NTSTATUS pvfs_open_setup_eas_acl(struct pvfs_state 
*pvfs,
}
}
 
+   sd = io->ntcreatex.in.sec_desc;
/* setup an initial sec_desc if requested */
-   if (io->ntcreatex.in.sec_desc) {
+   if (sd && (sd->type & SEC_DESC_DACL_PRESENT)) {
union smb_setfileinfo set;
 /* 
  * TODO: set the full ACL! 
@@ -129,7 +131,7 @@ static NTSTATUS pvfs_open_setup_eas_acl(struct pvfs_state 
*pvfs,
  */
set.set_secdesc.in.file.ntvfs = f->ntvfs;
set.set_secdesc.in.secinfo_flags = SECINFO_DACL;
-   set.set_secdesc.in.sd = io->ntcreatex.in.sec_desc;
+   set.set_secdesc.in.sd = sd;
 
status = pvfs_acl_set(pvfs, req, name, fd, SEC_STD_WRITE_DAC, 
&set);
} else {
diff --git a/source4/torture/raw/acls.c b/source4/torture/raw/acls.c
index 95e7282..a07da8a 100644
--- a/source4/torture/raw/acls.c
+++ b/source4/torture/raw/acls.c
@@ -248,6 +248,249 @@ done:
} \
 } while (0)
 
+/*
+  test using NTTRANS CREATE to create a file with a null ACL set
+*/
+static bool test_nttrans_create_null_dacl(struct torture_context *tctx,
+ struct smbcli_state *cli)
+{
+   NTSTATUS status;
+   union smb_open io;
+   const char *fname = BASEDIR "\\acl3.txt";
+   bool ret = true;
+   int fnum = -1;
+   union smb_fileinfo q;
+   union smb_setfileinfo s;
+   struct security_descriptor *sd = security_descriptor_initialise(tctx);
+   struct security_acl dacl;
+
+   printf("TESTING SEC_DESC WITH A NULL DACL\n");
+
+   io.generic.level = RAW_OPEN_NTTRANS_CREATE;
+   io.ntcreatex.in.root_fid = 0;
+   io.ntc

[SCM] Samba Shared Repository - branch master updated - 7a4d937fd9e80e27d58584bc1a4d3dddc88ba74d

2008-10-28 Thread Stefan Metzmacher
The branch, master has been updated
   via  7a4d937fd9e80e27d58584bc1a4d3dddc88ba74d (commit)
   via  6bc9fb887fa685a595b019c5ad6fc77f2fa3e914 (commit)
  from  2b29b7186459d945ec448694164bfe4239b30d72 (commit)

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


- Log -
commit 7a4d937fd9e80e27d58584bc1a4d3dddc88ba74d
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Tue Oct 28 12:21:44 2008 +0100

s4: lsa-server: fix crash bugs related to [out,ref] ** changes

metze

commit 6bc9fb887fa685a595b019c5ad6fc77f2fa3e914
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Tue Oct 28 12:20:59 2008 +0100

selftest: move gdb_* and valgrind_* scripts to selftest/

metze

---

Summary of changes:
 selftest/gdb_backtrace  |   87 +++
 selftest/gdb_backtrace_test.c   |   42 +
 selftest/gdb_run|   20 
 selftest/selftest.pl|2 +-
 selftest/target/Samba4.pm   |2 +-
 selftest/valgrind_run   |9 
 source4/rpc_server/lsa/dcesrv_lsa.c |8 ++--
 source4/script/gdb_backtrace|   87 ---
 source4/script/gdb_backtrace_test.c |   42 -
 source4/script/gdb_run  |   20 
 source4/script/valgrind_run |9 
 source4/selftest/config.mk  |   13 +++--
 12 files changed, 171 insertions(+), 170 deletions(-)
 create mode 100755 selftest/gdb_backtrace
 create mode 100644 selftest/gdb_backtrace_test.c
 create mode 100755 selftest/gdb_run
 create mode 100755 selftest/valgrind_run
 delete mode 100755 source4/script/gdb_backtrace
 delete mode 100644 source4/script/gdb_backtrace_test.c
 delete mode 100755 source4/script/gdb_run
 delete mode 100755 source4/script/valgrind_run


Changeset truncated at 500 lines:

diff --git a/selftest/gdb_backtrace b/selftest/gdb_backtrace
new file mode 100755
index 000..826381e
--- /dev/null
+++ b/selftest/gdb_backtrace
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+BASENAME=`basename $0`
+
+if [ -n "$VALGRIND" -o -n "$SMBD_VALGRIND" ]; then
+   echo "${BASENAME}: Not running debugger under valgrind"
+   exit 1
+fi
+
+# we want everything on stderr, so the program is not disturbed
+exec 1>&2
+
+BASENAME=`basename $0`
+UNAME=`uname`
+
+PID=$1
+BINARY=$2
+
+test x"${PID}" = x"" && {
+   echo "Usage: ${BASENAME}  []"
+   exit 1
+}
+
+DB_LIST="gdb"
+case "${UNAME}" in
+   #
+   # on Tru64 we need to try ladebug first
+   # because gdb crashes itself...
+   #
+   OSF1)
+   DB_LIST="ladebug ${DB_LIST}"
+   ;;
+esac
+
+for DB in ${DB_LIST}; do
+   DB_BIN=`which ${DB} 2>/dev/null | grep '^/'`
+   test x"${DB_BIN}" != x"" && {
+   break
+   }
+done
+
+test x"${DB_BIN}" = x"" && {
+   echo "${BASENAME}: ERROR: No debugger found."
+   exit 1
+}
+
+#
+# we first try to use /proc/${PID}/exe
+# then fallback to the binary from the commandline
+# then we search for the commandline argument with
+# 'which'
+#
+test -f "/proc/${PID}/exe" && BINARY="/proc/${PID}/exe"
+test x"${BINARY}" = x"" && BINARY="/proc/${PID}/exe"
+test -f "${BINARY}" || BINARY=`which ${BINARY}`
+
+test -f "${BINARY}" || {
+   echo "${BASENAME}: ERROR: Cannot find binary '${BINARY}'."
+   exit 1
+}
+
+echo "${BASENAME}: Trying to use ${DB_BIN} on ${BINARY} on PID ${PID}"
+
+BATCHFILE_PRE=/tmp/gdb_backtrace_pre.$$
+BATCHFILE_MAIN=/tmp/gdb_backtrace_main.$$
+case "${DB}" in
+   ladebug)
+cat << EOF  > ${BATCHFILE_PRE}
+set \$stoponattach
+EOF
+
+cat << EOF  > ${BATCHFILE_MAIN}
+where
+quit
+EOF
+   ${DB_BIN} -c "${BATCHFILE_MAIN}" -i "${BATCHFILE_PRE}" -pid "${PID}" 
"${BINARY}"
+   ;;
+   gdb)
+cat << EOF  > ${BATCHFILE_MAIN}
+set height 1000
+bt full
+quit
+EOF
+   ${DB_BIN} -x "${BATCHFILE_MAIN}" "${BINARY}" "${PID}"
+   ;;
+esac
+/bin/rm -f ${BATCHFILE_PRE} ${BATCHFILE_MAIN}
diff --git a/selftest/gdb_backtrace_test.c b/selftest/gdb_backtrace_test.c
new file mode 100644
index 000..506784f
--- /dev/null
+++ b/selftest/gdb_backtrace_test.c
@@ -0,0 +1,42 @@
+/*
+
+add a usefull tool to test the gdb_backtrace script
+
+just compile it with
+cc -g -o gdb_backtrace_test gdb_backtrace_test.c
+
+and run it in the same directory where your gdb_backtrace script is.
+
+2006 - Stefan Metzmacher <[EMAIL PROTECTED]>
+
+*/
+#include 
+#include 
+#include 
+#include 
+#include 
+
+static const char *prog;
+
+static void sig_fault(int sig)
+{
+   int ret;
+   char cmdstr[200];
+
+   snprintf(cmdstr, sizeof(cmdstr),
+"./gdb_backtrace %u %s",
+getpid(), prog);
+   printf("sig_fault start: %s\n", cmdstr);
+   ret = system(cmdstr);
+   printf("sig_fault end: %d\n", ret);
+}
+
+int main(int argc, const char *

[SCM] Samba Shared Repository - branch master updated - 2b29b7186459d945ec448694164bfe4239b30d72

2008-10-28 Thread Stefan Metzmacher
The branch, master has been updated
   via  2b29b7186459d945ec448694164bfe4239b30d72 (commit)
  from  698b7fd43658d9e96d28f26c9e1dae5e770bb57f (commit)

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


- Log -
commit 2b29b7186459d945ec448694164bfe4239b30d72
Author: Stefan Metzmacher <[EMAIL PROTECTED]>
Date:   Mon Oct 27 11:35:07 2008 +0100

s4: import lorikeet-heimdal-200810271034

metze

---

Summary of changes:
 source4/heimdal/kdc/524.c  |   94 ++--
 source4/heimdal/kdc/default_config.c   |  150 ++--
 source4/heimdal/kdc/digest.c   |  220 +++---
 source4/heimdal/kdc/headers.h  |   54 +-
 source4/heimdal/kdc/kaserver.c |   86 ++--
 source4/heimdal/kdc/kdc.h  |   58 +-
 source4/heimdal/kdc/kdc_locl.h |   54 +-
 source4/heimdal/kdc/kerberos4.c|  132 ++--
 source4/heimdal/kdc/kerberos5.c|  340 +-
 source4/heimdal/kdc/krb5tgs.c  |   50 +-
 source4/heimdal/kdc/kx509.c|   92 ++--
 source4/heimdal/kdc/log.c  |   58 +-
 source4/heimdal/kdc/misc.c |   56 +-
 source4/heimdal/kdc/pkinit.c   |  218 +++---
 source4/heimdal/kdc/process.c  |   72 +-
 source4/heimdal/kdc/rx.h   |   50 +-
 source4/heimdal/kdc/windc.c|   60 +-
 source4/heimdal/kdc/windc_plugin.h |   58 +-
 source4/heimdal/kpasswd/kpasswd.c  |   60 +-
 source4/heimdal/kpasswd/kpasswd_locl.h |   52 +-
 source4/heimdal/kuser/kinit.c  |  252 ---
 source4/heimdal/kuser/kuser_locl.h |   70 ++-
 source4/heimdal/lib/asn1/asn1_gen.c|   64 +-
 source4/heimdal/lib/asn1/der.c |   50 +-
 source4/heimdal/lib/asn1/der.h |   50 +-
 source4/heimdal/lib/asn1/der_cmp.c |   56 +-
 source4/heimdal/lib/asn1/der_copy.c|   58 +-
 source4/heimdal/lib/asn1/der_format.c  |   56 +-
 source4/heimdal/lib/asn1/der_free.c|   50 +-
 source4/heimdal/lib/asn1/der_get.c |   84 +-
 source4/heimdal/lib/asn1/der_length.c  |   52 +-
 source4/heimdal/lib/asn1/der_locl.h|   50 +-
 source4/heimdal/lib/asn1/der_put.c |   88 ++--
 source4/heimdal/lib/asn1/extra.c   |   58 +-
 source4/heimdal/lib/asn1/gen.c |   78 +-
 source4/heimdal/lib/asn1/gen_copy.c|   64 +-
 source4/heimdal/lib/asn1/gen_decode.c  |  110 ++--
 source4/heimdal/lib/asn1/gen_encode.c  |   68 +-
 source4/heimdal/lib/asn1/gen_free.c|   58 +-
 source4/heimdal/lib/asn1/gen_glue.c|   52 +-
 source4/heimdal/lib/asn1/gen_length.c  |   68 +-
 source4/heimdal/lib/asn1/gen_locl.h|   50 +-
 source4/heimdal/lib/asn1/gen_seq.c |   58 +-
 source4/heimdal/lib/asn1/hash.c|   50 +-
 source4/heimdal/lib/asn1/hash.h|   52 +-
 source4/heimdal/lib/asn1/heim_asn1.h   |   50 +-
 source4/heimdal/lib/asn1/lex.c |   68 +-
 source4/heimdal/lib/asn1/lex.h |   50 +-
 source4/heimdal/lib/asn1/lex.l |   68 +-
 source4/heimdal/lib/asn1/main.c|   50 +-
 source4/heimdal/lib/asn1/parse.c   |   34 +-
 source4/heimdal/lib/asn1/parse.y   |   86 ++--
 source4/heimdal/lib/asn1/symbol.c  |2 +-
 source4/heimdal/lib/asn1/symbol.h  |   82 +-
 source4/heimdal/lib/asn1/timegm.c  |   62 +-
 source4/heimdal/lib/com_err/com_err.c  |   68 +-
 source4/heimdal/lib/com_err/com_err.h  |   50 +-
 source4/heimdal/lib/com_err/com_right.h|   50 +-
 source4/heimdal/lib/com_err/compile_et.c   |   87 ++-
 source4/heimdal/lib/com_err/compile_et.h   |   50 +-
 source4/heimdal/lib/com_err/error.c|   71 +-
 source4/heimdal/lib/com_err/lex.c  |   52 +-
 source4/heimdal/lib/com_err/lex.h  |   50 +-
 source4/heimdal/lib/com_err/lex.l  |   52 +-
 source4/heimdal/lib/com_err/parse.c|   52 +-
 source4/heimdal/lib/com_err/parse.y|   56 +-
 source4/heimdal/lib/gssapi/gssapi/gssapi.h |   56 +-
 source4/heimdal/lib/gssapi/gssapi/gssapi_krb5.h|   77 ++-
 source4/heimdal/lib/gssapi/gssapi/gssapi_spnego.h  |   50 +-
 source4/heimdal/lib/gssapi/krb5/8003.c |   78 +-
 .../heimdal/lib/gssapi/krb5/accept_sec