svn commit: samba r19963 - in branches/SAMBA_3_0/source: . include lib param registry rpc_server smbd
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: .
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: .
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
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
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: .
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
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
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
-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: .
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
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
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: .
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
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: .
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: .
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: .
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: .
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: .
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
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
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
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