svn commit: samba r19963 - in branches/SAMBA_3_0/source: . include lib param registry rpc_server smbd

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-30 07:38:40 + (Thu, 30 Nov 2006)
New Revision: 19963

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19963

Log:
Add 'registry shares = yes' and registry key security descriptors.

Added:
   branches/SAMBA_3_0/source/registry/reg_smbconf.c
Modified:
   branches/SAMBA_3_0/source/Makefile.in
   branches/SAMBA_3_0/source/include/reg_objects.h
   branches/SAMBA_3_0/source/lib/secdesc.c
   branches/SAMBA_3_0/source/param/loadparm.c
   branches/SAMBA_3_0/source/registry/reg_db.c
   branches/SAMBA_3_0/source/registry/reg_frontend.c
   branches/SAMBA_3_0/source/registry/reg_printing.c
   branches/SAMBA_3_0/source/registry/reg_shares.c
   branches/SAMBA_3_0/source/rpc_server/srv_srvsvc_nt.c
   branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c
   branches/SAMBA_3_0/source/smbd/lanman.c
   branches/SAMBA_3_0/source/smbd/msdfs.c
   branches/SAMBA_3_0/source/smbd/service.c


Changeset:
Sorry, the patch is too large (946 lines) to include; please use WebSVN to see 
it!
WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19963


svn commit: samba r19962 - in branches/SAMBA_3_0/source: .

2006-11-29 Thread jpeach
Author: jpeach
Date: 2006-11-30 06:26:11 + (Thu, 30 Nov 2006)
New Revision: 19962

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19962

Log:
Revert bogus change in r19961. In future I will check configure.in
as well as Makefile.in :(

Modified:
   branches/SAMBA_3_0/source/Makefile.in


Changeset:
Modified: branches/SAMBA_3_0/source/Makefile.in
===
--- branches/SAMBA_3_0/source/Makefile.in   2006-11-30 04:55:42 UTC (rev 
19961)
+++ branches/SAMBA_3_0/source/Makefile.in   2006-11-30 06:26:11 UTC (rev 
19962)
@@ -79,6 +79,7 @@
 AUTHLIBDIR = $(LIBDIR)/auth
 CONFIGLIBDIR = $(LIBDIR)/config
 CONFIGDIR = @configdir@
+VARDIR = @localstatedir@
 MANDIR = @mandir@
 DATADIR = @datadir@
 
@@ -1598,7 +1599,7 @@
 # is not used
 
 installdirs:
-   @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS) $(DESTDIR) 
$(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) 
$(MANDIR)
+   @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS) $(DESTDIR) 
$(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(PRIVATEDIR) $(PIDDIR) 
$(LOCKDIR) $(MANDIR)
 
 installservers: all installdirs
@$(SHELL) script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(prefix) 
$(SBINDIR) $(SBIN_PROGS)
@@ -1714,6 +1715,7 @@
@echo "  bindir:  $(BINDIR)"
@echo "  sbindir: $(SBINDIR)"
@echo "  libdir:  $(LIBDIR)"
+   @echo "  vardir:  $(VARDIR)"
@echo "  mandir:  $(MANDIR)"
@echo "  privatedir:  $(PRIVATE_DIR)"
@echo "  configdir:   $(CONFIGDIR)"



svn commit: samba r19961 - in branches/SAMBA_3_0/source: .

2006-11-29 Thread jpeach
Author: jpeach
Date: 2006-11-30 04:55:42 + (Thu, 30 Nov 2006)
New Revision: 19961

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19961

Log:
Remove VARDIR. Nothing is ever installed into this, so there's no
need to create it.

Modified:
   branches/SAMBA_3_0/source/Makefile.in


Changeset:
Modified: branches/SAMBA_3_0/source/Makefile.in
===
--- branches/SAMBA_3_0/source/Makefile.in   2006-11-30 03:25:07 UTC (rev 
19960)
+++ branches/SAMBA_3_0/source/Makefile.in   2006-11-30 04:55:42 UTC (rev 
19961)
@@ -79,7 +79,6 @@
 AUTHLIBDIR = $(LIBDIR)/auth
 CONFIGLIBDIR = $(LIBDIR)/config
 CONFIGDIR = @configdir@
-VARDIR = @localstatedir@
 MANDIR = @mandir@
 DATADIR = @datadir@
 
@@ -1599,7 +1598,7 @@
 # is not used
 
 installdirs:
-   @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS) $(DESTDIR) 
$(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(PRIVATEDIR) $(PIDDIR) 
$(LOCKDIR) $(MANDIR)
+   @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS) $(DESTDIR) 
$(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) 
$(MANDIR)
 
 installservers: all installdirs
@$(SHELL) script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(prefix) 
$(SBINDIR) $(SBIN_PROGS)
@@ -1715,7 +1714,6 @@
@echo "  bindir:  $(BINDIR)"
@echo "  sbindir: $(SBINDIR)"
@echo "  libdir:  $(LIBDIR)"
-   @echo "  vardir:  $(VARDIR)"
@echo "  mandir:  $(MANDIR)"
@echo "  privatedir:  $(PRIVATE_DIR)"
@echo "  configdir:   $(CONFIGDIR)"



svn commit: samba r19960 - in branches/SAMBA_4_0/source/lib/tdb: . common include tools

2006-11-29 Thread jra
Author: jra
Date: 2006-11-30 03:25:07 + (Thu, 30 Nov 2006)
New Revision: 19960

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19960

Log:
Add code to check for loops in the free list.
Should help us validate tdb's against corruption.
Jeremy.

Added:
   branches/SAMBA_4_0/source/lib/tdb/common/freelistcheck.c
Modified:
   branches/SAMBA_4_0/source/lib/tdb/common/freelist.c
   branches/SAMBA_4_0/source/lib/tdb/include/tdb.h
   branches/SAMBA_4_0/source/lib/tdb/libtdb.m4
   branches/SAMBA_4_0/source/lib/tdb/tools/tdbtest.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/tdb/common/freelist.c
===
--- branches/SAMBA_4_0/source/lib/tdb/common/freelist.c 2006-11-30 03:05:55 UTC 
(rev 19959)
+++ branches/SAMBA_4_0/source/lib/tdb/common/freelist.c 2006-11-30 03:25:07 UTC 
(rev 19960)
@@ -29,7 +29,7 @@
 #include "tdb_private.h"
 
 /* read a freelist record and check for simple errors */
-static int rec_free_read(struct tdb_context *tdb, tdb_off_t off, struct 
list_struct *rec)
+int rec_free_read(struct tdb_context *tdb, tdb_off_t off, struct list_struct 
*rec)
 {
if (tdb->methods->tdb_read(tdb, off, rec, sizeof(*rec),DOCONV()) == -1)
return -1;

Added: branches/SAMBA_4_0/source/lib/tdb/common/freelistcheck.c
===
--- branches/SAMBA_4_0/source/lib/tdb/common/freelistcheck.c2006-11-30 
03:05:55 UTC (rev 19959)
+++ branches/SAMBA_4_0/source/lib/tdb/common/freelistcheck.c2006-11-30 
03:25:07 UTC (rev 19960)
@@ -0,0 +1,108 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   trivial database library
+
+   Copyright (C) Jeremy Allison2006
+
+ ** NOTE! The following LGPL license applies to the tdb
+ ** library. This does NOT imply that all of Samba is released
+ ** under the LGPL
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#include "tdb_private.h"
+
+/* Check the freelist is good and contains no loops.
+   Very memory intensive - only do this as a consistency
+   checker. Heh heh - uses an in memory tdb as the storage
+   for the "seen" record list. For some reason this strikes
+   me as extremely clever as I don't have to write another tree
+   data structure implementation :-).
+ */
+
+static int seen_insert(struct tdb_context *mem_tdb, tdb_off_t rec_ptr)
+{
+   TDB_DATA key, data;
+
+   memset(&data, '\0', sizeof(data));
+   key.dptr = (char *)&rec_ptr;
+   key.dsize = sizeof(rec_ptr);
+   return tdb_store(mem_tdb, key, data, TDB_INSERT);
+}
+
+int tdb_validate_freelist(struct tdb_context *tdb, int *pnum_entries)
+{
+   struct tdb_context *mem_tdb = NULL;
+   struct list_struct rec;
+   tdb_off_t rec_ptr, last_ptr;
+   int ret = -1;
+
+   *pnum_entries = 0;
+
+   mem_tdb = tdb_open("flval", tdb->header.hash_size,
+   TDB_INTERNAL, O_RDWR, 0600);
+   if (!mem_tdb) {
+   return -1;
+   }
+
+   if (tdb_lock(tdb, -1, F_WRLCK) == -1) {
+   tdb_close(mem_tdb);
+   return 0;
+   }
+
+   last_ptr = FREELIST_TOP;
+
+   /* Store the FREELIST_TOP record. */
+   if (seen_insert(mem_tdb, last_ptr) == -1) {
+   ret = TDB_ERRCODE(TDB_ERR_CORRUPT, -1);
+   goto fail;
+   }
+
+   /* read in the freelist top */
+   if (tdb_ofs_read(tdb, FREELIST_TOP, &rec_ptr) == -1) {
+   goto fail;
+   }
+
+   while (rec_ptr) {
+
+   /* If we can't store this record (we've seen it
+  before) then the free list has a loop and must
+  be corrupt. */
+
+   if (seen_insert(mem_tdb, rec_ptr)) {
+   ret = TDB_ERRCODE(TDB_ERR_CORRUPT, -1);
+   goto fail;
+   }
+
+   if (rec_free_read(tdb, rec_ptr, &rec) == -1) {
+   goto fail;
+   }
+
+   /* move to the next record */
+   last_ptr = rec_ptr;
+   rec_ptr = rec.next;
+   *pnum_entries += 1;
+   }
+
+   ret = 0;
+
+  fail:
+
+   tdb_close(mem_tdb);
+   tdb_unlock(tdb, -1, F_WRLCK);
+   return 

svn commit: samba r19959 - in branches/SAMBA_3_0/source/tdb: . common include tools

2006-11-29 Thread jra
Author: jra
Date: 2006-11-30 03:05:55 + (Thu, 30 Nov 2006)
New Revision: 19959

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19959

Log:
Allow tdb to be built standalone in Samba3.
Add code to check for loops in the free list.
Should help us validate tdb's against corruption.
Jeremy.

Added:
   branches/SAMBA_3_0/source/tdb/common/freelistcheck.c
Modified:
   branches/SAMBA_3_0/source/tdb/Makefile.in
   branches/SAMBA_3_0/source/tdb/autogen.sh
   branches/SAMBA_3_0/source/tdb/common/freelist.c
   branches/SAMBA_3_0/source/tdb/config.m4
   branches/SAMBA_3_0/source/tdb/include/tdb.h
   branches/SAMBA_3_0/source/tdb/tools/tdbtest.c


Changeset:
Modified: branches/SAMBA_3_0/source/tdb/Makefile.in
===
--- branches/SAMBA_3_0/source/tdb/Makefile.in   2006-11-30 00:09:34 UTC (rev 
19958)
+++ branches/SAMBA_3_0/source/tdb/Makefile.in   2006-11-30 03:05:55 UTC (rev 
19959)
@@ -12,12 +12,12 @@
 VPATH = @srcdir@:@libreplacedir@
 srcdir = @srcdir@
 builddir = @builddir@
-CFLAGS = -I$(srcdir)/include -Iinclude [EMAIL PROTECTED]@ @CFLAGS@
+CFLAGS = -I$(srcdir)/include -Iinclude -I../include [EMAIL PROTECTED]@ @CFLAGS@
 
 .PHONY: test
 
 PROGS = bin/tdbtool bin/tdbtorture
-TDB_OBJ = @TDBOBJ@ @LIBREPLACEOBJ@
+TDB_OBJ = @TDBOBJ@
 
 DIRS = bin common tools
 

Modified: branches/SAMBA_3_0/source/tdb/autogen.sh
===
--- branches/SAMBA_3_0/source/tdb/autogen.sh2006-11-30 00:09:34 UTC (rev 
19958)
+++ branches/SAMBA_3_0/source/tdb/autogen.sh2006-11-30 03:05:55 UTC (rev 
19959)
@@ -3,7 +3,7 @@
 rm -rf autom4te.cache
 rm -f configure config.h.in
 
-IPATHS="-I libreplace -I lib/replace -I ../libreplace -I ../replace"
+IPATHS="-I libreplace -I lib/replace -I ../libreplace -I ../replace -I 
../lib/replace"
 autoconf $IPATHS || exit 1
 autoheader $IPATHS || exit 1
 

Modified: branches/SAMBA_3_0/source/tdb/common/freelist.c
===
--- branches/SAMBA_3_0/source/tdb/common/freelist.c 2006-11-30 00:09:34 UTC 
(rev 19958)
+++ branches/SAMBA_3_0/source/tdb/common/freelist.c 2006-11-30 03:05:55 UTC 
(rev 19959)
@@ -29,7 +29,7 @@
 #include "tdb_private.h"
 
 /* read a freelist record and check for simple errors */
-static int rec_free_read(struct tdb_context *tdb, tdb_off_t off, struct 
list_struct *rec)
+int rec_free_read(struct tdb_context *tdb, tdb_off_t off, struct list_struct 
*rec)
 {
if (tdb->methods->tdb_read(tdb, off, rec, sizeof(*rec),DOCONV()) == -1)
return -1;

Added: branches/SAMBA_3_0/source/tdb/common/freelistcheck.c
===
--- branches/SAMBA_3_0/source/tdb/common/freelistcheck.c2006-11-30 
00:09:34 UTC (rev 19958)
+++ branches/SAMBA_3_0/source/tdb/common/freelistcheck.c2006-11-30 
03:05:55 UTC (rev 19959)
@@ -0,0 +1,108 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   trivial database library
+
+   Copyright (C) Jeremy Allison2006
+
+ ** NOTE! The following LGPL license applies to the tdb
+ ** library. This does NOT imply that all of Samba is released
+ ** under the LGPL
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#include "tdb_private.h"
+
+/* Check the freelist is good and contains no loops.
+   Very memory intensive - only do this as a consistency
+   checker. Heh heh - uses an in memory tdb as the storage
+   for the "seen" record list. For some reason this strikes
+   me as extremely clever as I don't have to write another tree
+   data structure implementation :-).
+ */
+
+static int seen_insert(struct tdb_context *mem_tdb, tdb_off_t rec_ptr)
+{
+   TDB_DATA key, data;
+
+   memset(&data, '\0', sizeof(data));
+   key.dptr = (char *)&rec_ptr;
+   key.dsize = sizeof(rec_ptr);
+   return tdb_store(mem_tdb, key, data, TDB_INSERT);
+}
+
+int tdb_validate_freelist(struct tdb_context *tdb, int *pnum_entries)
+{
+   struct tdb_context *mem_tdb = NULL;
+   struct list_struct rec;
+   tdb_off_t rec_ptr, last_ptr;
+   int ret = -1;
+
+   *pnum_entries = 0;
+
+   mem_tdb = tdb_open("flval", tdb->header.hash_size,
+   

svn commit: samba r19958 - in branches/SAMBA_3_0/source/nsswitch: .

2006-11-29 Thread jra
Author: jra
Date: 2006-11-30 00:09:34 + (Thu, 30 Nov 2006)
New Revision: 19958

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19958

Log:
Add check for WINBIND_OFFLINE key.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-11-29 23:20:22 UTC 
(rev 19957)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-11-30 00:09:34 UTC 
(rev 19958)
@@ -1022,6 +1022,9 @@
 
pidfile_create("winbindd");
 
+   /* Ensure all cache and idmap caches are consistent
+  before we startup. */
+
if (winbindd_validate_cache()) {
/* We have a bad cache, but luckily we
   just deleted it. Restart ourselves */
@@ -1051,9 +1054,6 @@
exit(1);
}

-   /* Ensure all cache and idmap caches are consistent
-  before we startup. */
-
/* React on 'smbcontrol winbindd reload-config' in the same way
   as to SIGHUP signal */
message_register(MSG_SMB_CONF_UPDATED, msg_reload_services);

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-11-29 23:20:22 UTC 
(rev 19957)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-11-30 00:09:34 UTC 
(rev 19958)
@@ -2663,6 +2663,11 @@
return 0;
 }
 
+static int validate_offline(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
 /***
  A list of all possible cache tdb keys with associated validation
  functions.
@@ -2685,6 +2690,7 @@
{"UA", validate_ua},
{"GM/", validate_gm},
{"TRUSTDOMS/", validate_trustdoms},
+   {"WINBINDD_OFFLINE", validate_offline},
{NULL, NULL}
 };
 



Build status as of Thu Nov 30 00:00:02 2006

2006-11-29 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2006-11-29 
00:00:54.0 +
+++ /home/build/master/cache/broken_results.txt 2006-11-30 00:00:59.0 
+
@@ -1,22 +1,22 @@
-Build status as of Wed Nov 29 00:00:02 2006
+Build status as of Thu Nov 30 00:00:02 2006
 
 Build counts:
 Tree Total  Broken Panic 
 SOC  0  0  0 
 build_farm   0  0  0 
-ccache   42 8  0 
+ccache   44 8  0 
 ctdb 0  0  0 
-distcc   3  0  0 
-ldb  40 2  0 
-libreplace   39 2  0 
-lorikeet-heimdal 34 17 0 
+distcc   2  0  0 
+ldb  43 4  0 
+libreplace   41 2  0 
+lorikeet-heimdal 36 19 0 
 ppp  17 0  0 
-rsync42 5  0 
+rsync44 5  0 
 samba0  0  0 
 samba-docs   0  0  0 
-samba4   41 30 1 
-samba_3_041 13 0 
-smb-build39 2  0 
-talloc   42 1  0 
-tdb  41 2  0 
+samba4   42 31 0 
+samba_3_043 16 0 
+smb-build41 2  0 
+talloc   44 2  0 
+tdb  43 2  0 
 


svn commit: samba r19957 - in branches/SAMBA_3_0/source: lib/replace/system nsswitch

2006-11-29 Thread jra
Author: jra
Date: 2006-11-29 23:20:22 + (Wed, 29 Nov 2006)
New Revision: 19957

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19957

Log:
Initial framework to make winbindd robust
against tdb corruption. Needs fleshing out
(and I forgot one record type) and needs helpful
suggestion from Volker to validate freelist,
but should give an idea of how this will look.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/lib/replace/system/wait.h
   branches/SAMBA_3_0/source/nsswitch/wbinfo.c
   branches/SAMBA_3_0/source/nsswitch/winbindd.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/replace/system/wait.h
===
--- branches/SAMBA_3_0/source/lib/replace/system/wait.h 2006-11-29 22:10:15 UTC 
(rev 19956)
+++ branches/SAMBA_3_0/source/lib/replace/system/wait.h 2006-11-29 23:20:22 UTC 
(rev 19957)
@@ -36,4 +36,6 @@
 #define SIGNAL_CAST (RETSIGTYPE (*)(int))
 #endif
 
+#include 
+
 #endif

Modified: branches/SAMBA_3_0/source/nsswitch/wbinfo.c
===
--- branches/SAMBA_3_0/source/nsswitch/wbinfo.c 2006-11-29 22:10:15 UTC (rev 
19956)
+++ branches/SAMBA_3_0/source/nsswitch/wbinfo.c 2006-11-29 23:20:22 UTC (rev 
19957)
@@ -1182,7 +1182,7 @@
OPT_GROUP_INFO,
 };
 
-int main(int argc, char **argv)
+int main(int argc, char **argv, char **envp)
 {
int opt;
 

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-11-29 22:10:15 UTC 
(rev 19956)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd.c   2006-11-29 23:20:22 UTC 
(rev 19957)
@@ -879,7 +879,7 @@
 
 struct winbindd_state server_state;   /* Server state information */
 
-int main(int argc, char **argv)
+int main(int argc, char **argv, char **envp)
 {
pstring logfile;
static BOOL Fork = True;
@@ -1022,6 +1022,17 @@
 
pidfile_create("winbindd");
 
+   if (winbindd_validate_cache()) {
+   /* We have a bad cache, but luckily we
+  just deleted it. Restart ourselves */
+   int i;
+   /* Ensure we have no open low fd's. */
+   for (i = 3; i < 100; i++) {
+   close(i);
+   }
+   return execve(argv[0], argv, envp);
+   }
+
 #if HAVE_SETPGID
/*
 * If we're interactive we want to set our own process group for
@@ -1040,6 +1051,9 @@
exit(1);
}

+   /* Ensure all cache and idmap caches are consistent
+  before we startup. */
+
/* React on 'smbcontrol winbindd reload-config' in the same way
   as to SIGHUP signal */
message_register(MSG_SMB_CONF_UPDATED, msg_reload_services);

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-11-29 22:10:15 UTC 
(rev 19956)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-11-29 23:20:22 UTC 
(rev 19957)
@@ -2594,6 +2594,236 @@
return global_winbindd_offline_state;
 }
 
+/***
+ Validate functions for all possible cache tdb keys.
+***/
+
+static int validate_seqnum(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_ns(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_sn(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_u(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_loc_pol(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_pwd_pol(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_cred(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_ul(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_gl(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_ug(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_ua(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_gm(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+static int validate_trustdoms(TDB_DATA kbuf, TDB_DATA dbuf)
+{
+   return 0;
+}
+
+/***
+ A list of all possible cache tdb keys with associated validation
+ functions.
+***/
+
+struct key_val_struct {
+   const char *keyname;
+   int (*validate_data_fn)(TDB_DATA kbuf, TDB_DATA dbuf);
+} key_val[] = {
+   {"SEQNUM/", validate_seqnum},
+   {"N

Re: svn commit: samba r19955 - in branches/SAMBA_3_0_24/source: . lib lib/ldb lib/ldb/common lib/ldb/examples lib/ldb/include lib/ldb/ldb_ildap lib/ldb/ldb_ldap lib/ldb/ldb_tdb lib/ldb/man lib/ldb/mod

2006-11-29 Thread Gerald (Jerry) Carter
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tridge,

>  > I'll leave that to others. I *knew* I should not have touchec this
>  > anymore. Never.
> 
> Could you leave it a few hours until I've had a chance to be part of
> this discussion? I've only just woken up and I find that my work has
> tried and executed while I was asleep.

Just to clarify, this was a release decision for 3.0.24 only.
I was only based on what to include in 3.0.24.
I was a little nervous about bring in the new group mapping
code to that release anyways.  Please see the other messages
I've sent.




jerry
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFbgdpIR7qMdg1EfYRAh/dAJoCExm/NtcjMXQXQRw1lZneMHKO6gCePAV1
DZWY53firQqtQ94K5qY3FXM=
=wE0Q
-END PGP SIGNATURE-


svn commit: samba r19956 - in branches/SAMBA_4_0/source/libnet: .

2006-11-29 Thread mimir
Author: mimir
Date: 2006-11-29 22:10:15 + (Wed, 29 Nov 2006)
New Revision: 19956

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19956

Log:
remove unused function


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_user.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-11-29 20:40:37 UTC 
(rev 19955)
+++ branches/SAMBA_4_0/source/libnet/libnet_user.c  2006-11-29 22:10:15 UTC 
(rev 19956)
@@ -31,64 +31,6 @@
 #include "libcli/security/security.h"
 
 
-/**
- * Verify, before actually doing anything with user accounts, whether
- * required domain is already opened and thus ready for operation.
- * If it is not, or if the opened domain is not the one requested, open
- * the requested domain.
- */
-static struct composite_context* domain_opened(struct libnet_context *ctx,
-  const char *domain_name,
-  struct composite_context 
*parent_ctx,
-  struct libnet_DomainOpen 
*domain_open,
-  void (*continue_fn)(struct 
composite_context*),
-  void (*monitor)(struct 
monitor_msg*))
-{
-   struct composite_context *domopen_req;
-
-   if (domain_name == NULL) {
-   /*
-* Try to guess the domain name from credentials,
-* if it's not been explicitly specified.
-*/
-
-   if (policy_handle_empty(&ctx->samr.handle)) {
-   domain_open->in.domain_name = 
cli_credentials_get_domain(ctx->cred);
-   domain_open->in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
-
-   } else {
-   composite_error(parent_ctx, 
NT_STATUS_INVALID_PARAMETER);
-   return parent_ctx;
-   }
-
-   } else {
-   /*
-* The domain name has been specified, so check whether the same
-* domain is already opened. If it is - just return NULL. Start
-* opening a new domain otherwise.
-*/
-
-   if (policy_handle_empty(&ctx->samr.handle) ||
-   !strequal(domain_name, ctx->samr.name)) {
-   domain_open->in.domain_name = domain_name;
-   domain_open->in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; 

-
-   } else {
-   /* domain has already been opened and it's the same 
domain
-  as requested */
-   return NULL;
-   }
-   }
-
-   /* send request to open the domain */
-   domopen_req = libnet_DomainOpen_send(ctx, domain_open, monitor);
-   if (composite_nomem(domopen_req, parent_ctx)) return parent_ctx;
-   
-   composite_continue(parent_ctx, domopen_req, continue_fn, parent_ctx);
-   return parent_ctx;
-}
-
-
 struct create_user_state {
struct libnet_CreateUser r;
struct libnet_DomainOpen domain_open;



Re: svn commit: samba r19955 - in branches/SAMBA_3_0_24/source: . lib lib/ldb lib/ldb/common lib/ldb/examples lib/ldb/include lib/ldb/ldb_ildap lib/ldb/ldb_ldap lib/ldb/ldb_tdb lib/ldb/man lib/ldb/mod

2006-11-29 Thread tridge
Volker,

 > I'll leave that to others. I *knew* I should not have touchec this
 > anymore. Never.

Could you leave it a few hours until I've had a chance to be part of
this discussion? I've only just woken up and I find that my work has
tried and executed while I was asleep.

I have a conference in Sydney today (GPLv3 conference), but if we can
stay the execution for a few hours then maybe I can convince you and
Jerry that the dire predictions over indexing are way out of
proportion to the problem.

Cheers, Tridge



svn commit: samba r19955 - in branches/SAMBA_3_0_24/source: . lib lib/ldb lib/ldb/common lib/ldb/examples lib/ldb/include lib/ldb/ldb_ildap lib/ldb/ldb_ldap lib/ldb/ldb_tdb lib/ldb/man lib/ldb/modules

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 20:40:37 + (Wed, 29 Nov 2006)
New Revision: 19955

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19955

Log:
I'll leave that to others. I *knew* I should not have touchec this
anymore. Never.

Volker

Added:
   branches/SAMBA_3_0_24/source/lib/ldb/
Modified:
   branches/SAMBA_3_0_24/source/Makefile.in
   branches/SAMBA_3_0_24/source/lib/ldb/common/
   branches/SAMBA_3_0_24/source/lib/ldb/examples/
   branches/SAMBA_3_0_24/source/lib/ldb/include/
   branches/SAMBA_3_0_24/source/lib/ldb/ldb_ildap/
   branches/SAMBA_3_0_24/source/lib/ldb/ldb_ldap/
   branches/SAMBA_3_0_24/source/lib/ldb/ldb_tdb/
   branches/SAMBA_3_0_24/source/lib/ldb/man/
   branches/SAMBA_3_0_24/source/lib/ldb/modules/
   branches/SAMBA_3_0_24/source/lib/ldb/samba/
   branches/SAMBA_3_0_24/source/lib/ldb/swig/
   branches/SAMBA_3_0_24/source/lib/ldb/tests/
   branches/SAMBA_3_0_24/source/lib/ldb/tools/


Changeset:
Modified: branches/SAMBA_3_0_24/source/Makefile.in
===
--- branches/SAMBA_3_0_24/source/Makefile.in2006-11-29 20:03:19 UTC (rev 
19954)
+++ branches/SAMBA_3_0_24/source/Makefile.in2006-11-29 20:40:37 UTC (rev 
19955)
@@ -153,13 +153,15 @@
 BIN_PROGS3 = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL 
PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ 
+BIN_PROGS4 = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL 
PROTECTED]@ \
+   bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ 
 
 TORTURE_PROGS = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@
 
-BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) @EXTRA_BIN_PROGS@
+BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) $(BIN_PROGS4) 
@EXTRA_BIN_PROGS@
 
 EVERYTHING_PROGS = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
@@ -379,7 +381,7 @@
 CP437_OBJ = modules/CP437.o
 CHARSET_MACOSXFS_OBJ = modules/charset_macosxfs.o
 
-GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_tdb.o
+GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_ldb.o
 
 PROFILE_OBJ = profile/profile.o
 PROFILES_OBJ = utils/profiles.o \
@@ -469,7 +471,7 @@
$(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
$(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) \
$(REGISTRY_OBJ) $(POPT_LIB_OBJ) \
-   $(BUILDOPT_OBJ) $(SMBLDAP_OBJ)
+   $(BUILDOPT_OBJ) $(SMBLDAP_OBJ) $(LDB_OBJ)
 
 PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_aix.o \
printing/print_cups.o printing/print_generic.o \
@@ -503,7 +505,7 @@
   $(LOCKING_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \
   $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ) \
   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) $(LIBMSRPC_GEN_OBJ) 
$(LIBMSRPC_OBJ) \
-   $(PASSCHANGE_OBJ)
+   $(PASSCHANGE_OBJ) $(LDB_OBJ)
 
 STATUS_OBJ = utils/status.o utils/status_profile.o \
 $(LOCKING_OBJ) $(PARAM_OBJ) \
@@ -531,12 +533,12 @@
 SMBPASSWD_OBJ = utils/smbpasswd.o utils/passwd_util.o $(PASSCHANGE_OBJ) \
$(PARAM_OBJ) $(SECRETS_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
$(GROUPDB_OBJ) $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
-   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) 
$(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ)
+   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) 
$(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ) $(LDB_OBJ)
 
 PDBEDIT_OBJ = utils/pdbedit.o utils/passwd_util.o $(PARAM_OBJ) $(PASSDB_OBJ) \
$(LIBSAMBA_OBJ) $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
$(SECRETS_OBJ) $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) libsmb/asn1.o \
-   $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) libsmb/errormap.o
+   $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) $(LDB_OBJ) libsmb/errormap.o
 
 SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ)
 
@@ -553,7 +555,7 @@
  $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_GEN_OBJ) 
$(LIBMSRPC_OBJ) \
  $(READLINE_OBJ) $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) \
 $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \
-$(SMBLDAP_OBJ) $(DCUTIL_OBJ)
+$(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(LDB_OBJ)
 
 PAM_WINBIND_OBJ = nsswitch/pam_winbind.o $(WBCOMMON_OBJ) \
  @LIBREPLACE_OBJS@ @SOCKET_WRAPPER_OBJS@ @BUILD_INIPARSER@
@@ -563,7 +565,7 @@
   $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
   $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
   $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(RPC_PARSE_OBJ) \
-  $(SECRETS_OBJ) $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ)
+  $(SECRETS_OBJ)

svn commit: samba r19954 - in branches/SAMBA_4_0/source/lib/ldb/common: .

2006-11-29 Thread metze
Author: metze
Date: 2006-11-29 20:03:19 + (Wed, 29 Nov 2006)
New Revision: 19954

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19954

Log:
allow more special dn's:

this works now against w2k3:

bin/ldbedit -U administrator%test -H ldap://w2k3-101/ -b 
"" -s base
bin/ldbedit -U administrator%test -H ldap://w2k3-101/ -b 
"" -s base
bin/ldbedit -U administrator%test -H ldap://w2k3-101/ -b 
"" -s 
base

and we should try to implement this in the server too...

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
===
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c   2006-11-29 19:50:51 UTC 
(rev 19953)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c   2006-11-29 20:03:19 UTC 
(rev 19954)
@@ -93,6 +93,16 @@
 * exploded_dn control is used */
dn->special = true;
/* FIXME: add a GUID string to ldb_dn structure */
+   } else if (strncasecmp(strdn, "special = true;
+   /* FIXME: add a SID string to ldb_dn structure */
+   } else if (strncasecmp(strdn, "special = true;
+   /* FIXME: add a WKGUID string to ldb_dn structure */
}
dn->linearized = talloc_strdup(dn, strdn);
} else {



svn commit: samba r19953 - in branches/SAMBA_3_0_24/source: . lib

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 19:50:51 + (Wed, 29 Nov 2006)
New Revision: 19953

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19953

Log:
Remove ldb for 3.0.24. Thanks to Tridge for making this so easy!

Now to dig up the multikey stuff

Volker

Removed:
   branches/SAMBA_3_0_24/source/lib/ldb/
Modified:
   branches/SAMBA_3_0_24/source/Makefile.in


Changeset:
Modified: branches/SAMBA_3_0_24/source/Makefile.in
===
--- branches/SAMBA_3_0_24/source/Makefile.in2006-11-29 18:44:54 UTC (rev 
19952)
+++ branches/SAMBA_3_0_24/source/Makefile.in2006-11-29 19:50:51 UTC (rev 
19953)
@@ -153,15 +153,13 @@
 BIN_PROGS3 = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL 
PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ 
-BIN_PROGS4 = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL 
PROTECTED]@ \
-   bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ 
 
 TORTURE_PROGS = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@
 
-BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) $(BIN_PROGS4) 
@EXTRA_BIN_PROGS@
+BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) @EXTRA_BIN_PROGS@
 
 EVERYTHING_PROGS = bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
bin/[EMAIL PROTECTED]@ bin/[EMAIL PROTECTED]@ \
@@ -381,7 +379,7 @@
 CP437_OBJ = modules/CP437.o
 CHARSET_MACOSXFS_OBJ = modules/charset_macosxfs.o
 
-GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_ldb.o
+GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_tdb.o
 
 PROFILE_OBJ = profile/profile.o
 PROFILES_OBJ = utils/profiles.o \
@@ -471,7 +469,7 @@
$(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
$(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) \
$(REGISTRY_OBJ) $(POPT_LIB_OBJ) \
-   $(BUILDOPT_OBJ) $(SMBLDAP_OBJ) $(LDB_OBJ)
+   $(BUILDOPT_OBJ) $(SMBLDAP_OBJ)
 
 PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_aix.o \
printing/print_cups.o printing/print_generic.o \
@@ -505,7 +503,7 @@
   $(LOCKING_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \
   $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ) \
   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) $(LIBMSRPC_GEN_OBJ) 
$(LIBMSRPC_OBJ) \
-   $(PASSCHANGE_OBJ) $(LDB_OBJ)
+   $(PASSCHANGE_OBJ)
 
 STATUS_OBJ = utils/status.o utils/status_profile.o \
 $(LOCKING_OBJ) $(PARAM_OBJ) \
@@ -533,12 +531,12 @@
 SMBPASSWD_OBJ = utils/smbpasswd.o utils/passwd_util.o $(PASSCHANGE_OBJ) \
$(PARAM_OBJ) $(SECRETS_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \
$(GROUPDB_OBJ) $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
-   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) 
$(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ) $(LDB_OBJ)
+   $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) 
$(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ)
 
 PDBEDIT_OBJ = utils/pdbedit.o utils/passwd_util.o $(PARAM_OBJ) $(PASSDB_OBJ) \
$(LIBSAMBA_OBJ) $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
$(SECRETS_OBJ) $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) libsmb/asn1.o \
-   $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) $(LDB_OBJ) libsmb/errormap.o
+   $(RPC_PARSE_OBJ1) $(DOSERR_OBJ) libsmb/errormap.o
 
 SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ)
 
@@ -555,7 +553,7 @@
  $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_GEN_OBJ) 
$(LIBMSRPC_OBJ) \
  $(READLINE_OBJ) $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) \
 $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \
-$(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(LDB_OBJ)
+$(SMBLDAP_OBJ) $(DCUTIL_OBJ)
 
 PAM_WINBIND_OBJ = nsswitch/pam_winbind.o $(WBCOMMON_OBJ) \
  @LIBREPLACE_OBJS@ @SOCKET_WRAPPER_OBJS@ @BUILD_INIPARSER@
@@ -565,7 +563,7 @@
   $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
   $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
   $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(RPC_PARSE_OBJ) \
-  $(SECRETS_OBJ) $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) 
$(LDB_OBJ)
+  $(SECRETS_OBJ) $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ)
 
 CAC_OBJ = $(LIBSMBCLIENT_OBJ) \
 libmsrpc/libmsrpc.o libmsrpc/libmsrpc_internal.o \
@@ -582,7 +580,7 @@
 
 LIBBIGBALLOFMUD_OBJ = $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) \
$(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(RPC_PARSE_OBJ) 
$(PASSDB_OBJ) \
-   $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) $(SMBLDAP_OBJ) $(LDB_OBJ)
+   $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) $(SMBLDAP_OBJ)
 
 CLIENT_OBJ1 = client/client.o client/clitar.o rpc_client/cli_pipe.o \

svn commit: samba r19952 - in branches/SAMBA_4_0/source/lib/replace/test: .

2006-11-29 Thread paulg
Author: paulg
Date: 2006-11-29 18:44:54 + (Wed, 29 Nov 2006)
New Revision: 19952

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19952

Log:
Fix socketpair() test case to write to fd(1) and read from fd(0) because
when pipe files are substituting for unix domain sockets, pipes provide
only uni-directional i/o capabilities.


Modified:
   branches/SAMBA_4_0/source/lib/replace/test/testsuite.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/replace/test/testsuite.c
===
--- branches/SAMBA_4_0/source/lib/replace/test/testsuite.c  2006-11-29 
17:55:21 UTC (rev 19951)
+++ branches/SAMBA_4_0/source/lib/replace/test/testsuite.c  2006-11-29 
18:44:54 UTC (rev 19952)
@@ -390,14 +390,14 @@
return false;
}
 
-   if (write(sock[0], "automatisch", 12) == -1) {
+   if (write(sock[1], "automatisch", 12) == -1) {
printf("failure: socketpair [\n"
   "write() failed: %s\n"
   "]\n", strerror(errno));
return false;
}
 
-   if (read(sock[1], buf, 12) == -1) {
+   if (read(sock[0], buf, 12) == -1) {
printf("failure: socketpair [\n"
   "read() failed: %s\n"
   "]\n", strerror(errno));



svn commit: samba r19951 - in branches/SAMBA_4_0/source/librpc/idl: .

2006-11-29 Thread metze
Author: metze
Date: 2006-11-29 17:55:21 + (Wed, 29 Nov 2006)
New Revision: 19951

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19951

Log:
this statement is true...

metze
Modified:
   branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl
===
--- branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl2006-11-29 15:46:57 UTC 
(rev 19950)
+++ branches/SAMBA_4_0/source/librpc/idl/drsuapi.idl2006-11-29 17:55:21 UTC 
(rev 19951)
@@ -198,9 +198,8 @@
} drsuapi_DsReplicaCoursorCtrEx;
 
typedef [public] bitmap {
-   /* the _WRITEABLE flag seems to indicate a replication with all 
attributes,
-* and I'm currently always on error when it's set, but w2k and 
w2k3 uses it
-* in the dc join
+   /* the _WRITEABLE flag indicates a replication with all 
attributes
+*
 * --metze
 */
DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE  
= 0x0010,



svn commit: samba r19950 - in branches/SAMBA_3_0/source/lib: .

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 15:46:57 + (Wed, 29 Nov 2006)
New Revision: 19950

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19950

Log:
talloc_destroy is replaced these days
Modified:
   branches/SAMBA_3_0/source/lib/sharesec.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/sharesec.c
===
--- branches/SAMBA_3_0/source/lib/sharesec.c2006-11-29 15:40:26 UTC (rev 
19949)
+++ branches/SAMBA_3_0/source/lib/sharesec.c2006-11-29 15:46:57 UTC (rev 
19950)
@@ -179,8 +179,7 @@
 out:
  
prs_mem_free(&ps);
-   if (mem_ctx)
-   talloc_destroy(mem_ctx);
+   TALLOC_FREE(mem_ctx);
return ret;
 }
 



svn commit: samba r19949 - in branches/SAMBA_4_0/source/libnet: .

2006-11-29 Thread metze
Author: metze
Date: 2006-11-29 15:40:26 + (Wed, 29 Nov 2006)
New Revision: 19949

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19949

Log:
add comment that the configuration_dn needs to be looked up
it's not under the domain_dn if the domain is a child domain
in the forest

metze
Modified:
   branches/SAMBA_4_0/source/libnet/libnet_site.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_site.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_site.c  2006-11-29 12:39:33 UTC 
(rev 19948)
+++ branches/SAMBA_4_0/source/libnet/libnet_site.c  2006-11-29 15:40:26 UTC 
(rev 19949)
@@ -78,6 +78,7 @@
}
 
/* Generate the CN=Configuration,... DN. */
+/* TODO: look it up! */
config_dn_str = talloc_asprintf(tmp_ctx, "CN=Configuration,%s", 
r->in.domain_dn_str);
if (!config_dn_str) {
r->out.error_string = NULL;



svn commit: samba r19948 - in branches/SAMBA_3_0/source/registry: .

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 12:39:33 + (Wed, 29 Nov 2006)
New Revision: 19948

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19948

Log:
Fix a memleak
Modified:
   branches/SAMBA_3_0/source/registry/reg_frontend.c


Changeset:
Modified: branches/SAMBA_3_0/source/registry/reg_frontend.c
===
--- branches/SAMBA_3_0/source/registry/reg_frontend.c   2006-11-29 10:51:00 UTC 
(rev 19947)
+++ branches/SAMBA_3_0/source/registry/reg_frontend.c   2006-11-29 12:39:33 UTC 
(rev 19948)
@@ -310,8 +310,10 @@
return WERR_NOMEM;
}
 
-   if ( !(W_ERROR_IS_OK(result = regdb_open()) ) )
+   if ( !(W_ERROR_IS_OK(result = regdb_open()) ) ) {
+   TALLOC_FREE(key);
return result;
+   }
 
talloc_set_destructor(key, regkey_destructor);




svn commit: samba r19947 - in branches/SAMBA_3_0/source: registry rpc_server services

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 10:51:00 + (Wed, 29 Nov 2006)
New Revision: 19947

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19947

Log:
Change regkey_open_internal to take the parent key and a talloc_ctx as
arguments. This also replaces regkey_close_internal by TALLOC_FREE.

Volker
Modified:
   branches/SAMBA_3_0/source/registry/reg_frontend.c
   branches/SAMBA_3_0/source/rpc_server/srv_eventlog_nt.c
   branches/SAMBA_3_0/source/rpc_server/srv_winreg_nt.c
   branches/SAMBA_3_0/source/services/services_db.c


Changeset:
Modified: branches/SAMBA_3_0/source/registry/reg_frontend.c
===
--- branches/SAMBA_3_0/source/registry/reg_frontend.c   2006-11-29 08:51:18 UTC 
(rev 19946)
+++ branches/SAMBA_3_0/source/registry/reg_frontend.c   2006-11-29 10:51:00 UTC 
(rev 19947)
@@ -290,44 +290,67 @@
 /***
 ***/
 
-WERROR regkey_open_internal( REGISTRY_KEY **regkey, const char *path, 
+static int regkey_destructor(REGISTRY_KEY *key)
+{
+   return regdb_close();
+}
+
+WERROR regkey_open_internal( TALLOC_CTX *mem_ctx, REGISTRY_KEY *parent,
+REGISTRY_KEY **regkey, const char *name,
  NT_USER_TOKEN *token, uint32 access_desired )
 {
WERROR  result = WERR_OK;
-   REGISTRY_KEY*keyinfo;
+   REGISTRY_KEY*key;
REGSUBKEY_CTR   *subkeys = NULL;
-   uint32 access_granted;
-   
-   if ( !(W_ERROR_IS_OK(result = regdb_open()) ) )
-   return result;
+   size_t path_len;
 
-   DEBUG(7,("regkey_open_internal: name = [%s]\n", path));
+   DEBUG(7,("regkey_open_internal: name = [%s]\n", name));
 
-   if ( !(*regkey = TALLOC_ZERO_P(NULL, REGISTRY_KEY)) ) {
-   regdb_close();
+   if ( !(key = TALLOC_ZERO_P(mem_ctx, REGISTRY_KEY)) ) {
return WERR_NOMEM;
}
+
+   if ( !(W_ERROR_IS_OK(result = regdb_open()) ) )
+   return result;
+
+   talloc_set_destructor(key, regkey_destructor);

-   keyinfo = *regkey;
-   
/* initialization */

-   keyinfo->type = REG_KEY_GENERIC;
-   if (!(keyinfo->name = talloc_strdup(keyinfo, path))) {
+   key->type = REG_KEY_GENERIC;
+   if (!(key->name = talloc_strdup(key, name))) {
result = WERR_NOMEM;
goto done;
}
 
+   if (parent != NULL) {
+   char *tmp;
+   if (!(tmp = talloc_asprintf(key, "%s%s%s", 
+   parent ? parent->name : "",
+   parent ? "\\" : "", 
+   key->name))) {
+   result = WERR_NOMEM;
+   goto done;
+   }
+   TALLOC_FREE(key->name);
+   key->name = tmp;
+   }
+
+   path_len = strlen( key->name );
+   if ( (path_len != 0) && (key->name[path_len-1] == '\\') ) {
+   key->name[path_len-1] = '\0';
+   }
+
/* Tag this as a Performance Counter Key */
 
-   if( StrnCaseCmp(path, KEY_HKPD, strlen(KEY_HKPD)) == 0 )
-   keyinfo->type = REG_KEY_HKPD;
+   if( StrnCaseCmp(key->name, KEY_HKPD, strlen(KEY_HKPD)) == 0 )
+   key->type = REG_KEY_HKPD;

/* Look up the table of registry I/O operations */
 
-   if ( !(keyinfo->hook = reghook_cache_find( keyinfo->name )) ) {
-   DEBUG(0,("open_registry_key: Failed to assigned a REGISTRY_HOOK 
to [%s]\n",
-   keyinfo->name ));
+   if ( !(key->hook = reghook_cache_find( key->name )) ) {
+   DEBUG(0,("open_registry_key: Failed to assigned a "
+"REGISTRY_HOOK to [%s]\n", key->name ));
result = WERR_BADFILE;
goto done;
}
@@ -335,40 +358,31 @@
/* check if the path really exists; failed is indicated by -1 */
/* if the subkey count failed, bail out */
 
-   if ( !(subkeys = TALLOC_ZERO_P( keyinfo, REGSUBKEY_CTR )) ) {
+   if ( !(subkeys = TALLOC_ZERO_P( key, REGSUBKEY_CTR )) ) {
result = WERR_NOMEM;
goto done;
}
 
-   if ( fetch_reg_keys( keyinfo, subkeys ) == -1 )  {
+   if ( fetch_reg_keys( key, subkeys ) == -1 )  {
result = WERR_BADFILE;
goto done;
}

TALLOC_FREE( subkeys );
 
-   if ( !regkey_access_check( keyinfo, access_desired, &access_granted, 
token ) ) {
+   if ( !regkey_access_check( key, access_desired, &key->access_granted,
+  token ) ) {
result = WERR_ACCESS_DENIED;
goto done;
}
+
+   *regkey = key;
+   re

svn commit: samba r19946 - in branches/SAMBA_3_0/source/librpc: gen_ndr idl

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 08:51:18 + (Wed, 29 Nov 2006)
New Revision: 19946

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19946

Log:
in SetKeySec, sd is just a [in,ref] ptr
Modified:
   branches/SAMBA_3_0/source/librpc/gen_ndr/cli_winreg.c
   branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_winreg.c
   branches/SAMBA_3_0/source/librpc/gen_ndr/srv_winreg.c
   branches/SAMBA_3_0/source/librpc/gen_ndr/winreg.h
   branches/SAMBA_3_0/source/librpc/idl/winreg.idl


Changeset:
Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/cli_winreg.c
===
--- branches/SAMBA_3_0/source/librpc/gen_ndr/cli_winreg.c   2006-11-29 
08:11:33 UTC (rev 19945)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/cli_winreg.c   2006-11-29 
08:51:18 UTC (rev 19946)
@@ -739,7 +739,6 @@
}

/* Return variables */
-   *sd = *r.out.sd;

/* Return result */
return werror_to_ntstatus(r.out.result);

Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_winreg.c
===
--- branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_winreg.c   2006-11-29 
08:11:33 UTC (rev 19945)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/ndr_winreg.c   2006-11-29 
08:51:18 UTC (rev 19946)
@@ -2875,8 +2875,6 @@
NDR_CHECK(ndr_push_KeySecurityData(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->in.sd));
}
if (flags & NDR_OUT) {
-   if (r->out.sd == NULL) return NT_STATUS_INVALID_PARAMETER_MIX;
-   NDR_CHECK(ndr_push_KeySecurityData(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->out.sd));
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
}
return NT_STATUS_OK;
@@ -2887,8 +2885,6 @@
TALLOC_CTX *_mem_save_handle_0;
TALLOC_CTX *_mem_save_sd_0;
if (flags & NDR_IN) {
-   ZERO_STRUCT(r->out);
-
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.handle);
}
@@ -2904,17 +2900,8 @@
NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_KeySecurityData(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->in.sd));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 
LIBNDR_FLAG_REF_ALLOC);
-   NDR_PULL_ALLOC(ndr, r->out.sd);
-   *r->out.sd = *r->in.sd;
}
if (flags & NDR_OUT) {
-   if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
-   NDR_PULL_ALLOC(ndr, r->out.sd);
-   }
-   _mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
-   NDR_PULL_SET_MEM_CTX(ndr, r->out.sd, LIBNDR_FLAG_REF_ALLOC);
-   NDR_CHECK(ndr_pull_KeySecurityData(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->out.sd));
-   NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, 
LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
}
return NT_STATUS_OK;
@@ -2944,10 +2931,6 @@
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "winreg_SetKeySecurity");
ndr->depth++;
-   ndr_print_ptr(ndr, "sd", r->out.sd);
-   ndr->depth++;
-   ndr_print_KeySecurityData(ndr, "sd", r->out.sd);
-   ndr->depth--;
ndr_print_WERROR(ndr, "result", r->out.result);
ndr->depth--;
}

Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/srv_winreg.c
===
--- branches/SAMBA_3_0/source/librpc/gen_ndr/srv_winreg.c   2006-11-29 
08:11:33 UTC (rev 19945)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/srv_winreg.c   2006-11-29 
08:51:18 UTC (rev 19946)
@@ -1499,8 +1499,6 @@
if (DEBUGLEVEL >= 10)
NDR_PRINT_IN_DEBUG(winreg_SetKeySecurity, &r);

-   ZERO_STRUCT(r.out);
-   r.out.sd = r.in.sd;
r.out.result = _winreg_SetKeySecurity(p, r.in.handle, r.in.access_mask, 
r.in.sd);

if (p->rng_fault_state) {

Modified: branches/SAMBA_3_0/source/librpc/gen_ndr/winreg.h
===
--- branches/SAMBA_3_0/source/librpc/gen_ndr/winreg.h   2006-11-29 08:11:33 UTC 
(rev 19945)
+++ branches/SAMBA_3_0/source/librpc/gen_ndr/winreg.h   2006-11-29 08:51:18 UTC 
(rev 19946)
@@ -406,7 +406,6 @@
} in;
 
struct {
-   struct KeySecurityData *sd;/* [ref] */
WERROR result;
} out;
 

Modified: branches/SAMBA_3_0/source/librpc/idl/winreg.idl
===
--- branches/SAMBA_3_0/source/librpc/idl/winreg.idl 2006-11-29 08:11:33 UTC 
(rev 19945)
+++ branches/SAMBA_3_0/source/librpc/idl/winreg.idl 2006-11-29 08:51:18 UTC 
(rev 19946)
@@ -275,7 +275,7 @@
WERROR winreg_SetK

svn commit: samba r19945 - in branches: SAMBA_3_0/source/passdb SAMBA_3_0_24/source/passdb

2006-11-29 Thread vlendec
Author: vlendec
Date: 2006-11-29 08:11:33 + (Wed, 29 Nov 2006)
New Revision: 19945

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19945

Log:
Fix a segfault -- lookup_rids needs to init the names even on failure
Modified:
   branches/SAMBA_3_0/source/passdb/lookup_sid.c
   branches/SAMBA_3_0_24/source/passdb/lookup_sid.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/lookup_sid.c
===
--- branches/SAMBA_3_0/source/passdb/lookup_sid.c   2006-11-29 06:26:12 UTC 
(rev 19944)
+++ branches/SAMBA_3_0/source/passdb/lookup_sid.c   2006-11-29 08:11:33 UTC 
(rev 19945)
@@ -406,7 +406,9 @@
 
if (!winbind_lookup_rids(tmp_ctx, domain_sid, num_rids, rids,
 domain_name, &my_names, &my_types)) {
+   *domain_name = "";
for (i=0; i