[SCM] Samba Shared Repository - branch v3-3-stable updated - release-3-2-0pre2-3799-g3a8b971

Karolin Seeger kseeger at samba.org
Fri Aug 22 07:50:22 GMT 2008


The branch, v3-3-stable has been updated
       via  3a8b971978f7e94fe32ff985950a1a6d807ae318 (commit)
       via  d1457f28399cd967d82246921658ee6f887e6b2d (commit)
       via  604bb0626f6afe5125676043c4a05a05fc5d2642 (commit)
       via  df4dec002faaeb432de48cb2109a0df71d751875 (commit)
       via  7a1cbe3ad9d50b579a2a2e553d141745b60d707a (commit)
       via  5e61672ee2c47b9ddb36df7dbc09e7f6df5cbb74 (commit)
       via  8f1c0cb1ce6b94433442e4a16efdb1fb587d6072 (commit)
       via  f5bd5ef97b21626daba25e796657a6cac47c7207 (commit)
       via  b03d13a11288f422c0320a640ba2dc1d3e2e75fe (commit)
       via  c93c427b95c1ccfb4293ff8f9c5b47c7b273759b (commit)
       via  ac4685561b36dfc5c1d097e7f8debbe0c0907c0b (commit)
       via  95ae5230339af1b73cf4733ae421d6a5db8d8c54 (commit)
       via  b63d5bb88fc97308b5c4c869ba36b375116fbe58 (commit)
       via  10a3200cbe8d06520e9c098f695d394e5d463e30 (commit)
       via  3c6daac35d8da35a4c3ee62352a6a768d672b28b (commit)
       via  6dd28fade5fe49f70a63772e164a533631e477b1 (commit)
       via  d0a7a556a751e4a1c22a9e55ea2d3f4704d33d95 (commit)
       via  7b273543e46648f15d686766f8e09d55b1d7c3fb (commit)
       via  2fec5908f9bf80a1dfef735c54b0a0520165466f (commit)
       via  3169a315aed3fa24e473635247982b40c1f1306c (commit)
       via  1ca6af892e5ce19a304367d3c02b3179d45f6744 (commit)
       via  b9cd19b6345b4dc0b96cefbb56065f89d5544ea3 (commit)
       via  9f18f009fc4cf25e296529f4844ef40afcfd4b5c (commit)
       via  2a69f0f2b755e29c758245942987587928b24831 (commit)
       via  10f5ec8b7f1fa43d5dc99988678d4a560498c411 (commit)
       via  c1b1aace9ad8878893cdcaf24a60b5d54c25ae69 (commit)
       via  381a3bff4828adb0f1e12ab17c11e185087ba263 (commit)
      from  7aa04ad3750ca04688897b3cc3ebc916086f2a27 (commit)

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


- Log -----------------------------------------------------------------
commit 3a8b971978f7e94fe32ff985950a1a6d807ae318
Author: Karolin Seeger <kseeger at samba.org>
Date:   Fri Aug 22 09:13:45 2008 +0200

    WHATSNEW: Start to sum up major enhancements sinc 3.2.
    
    Karolin
    (cherry picked from commit d4441d5780c05b224fb48a51cbf0f9286f2bd716)

commit d1457f28399cd967d82246921658ee6f887e6b2d
Author: Jeff Layton <jlayton at redhat.com>
Date:   Thu Aug 21 21:38:45 2008 -0400

    cifs.upcall: fix build warning
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    (cherry picked from commit 9d9020192bba5ece21e752d5065fa59acb303b7c)

commit 604bb0626f6afe5125676043c4a05a05fc5d2642
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 21 15:26:39 2008 -0700

    Fix broken net rpc join message when DC can't be found. Ensure we pass in a domain name.
    Jeremy.
    (cherry picked from commit d0e6c07316aa8ed6d54df2050fbee252f5d2e4f3)

commit df4dec002faaeb432de48cb2109a0df71d751875
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 21 15:05:35 2008 +0200

    Fix Bug #5710 and make machine account password changing work again.
    
    When we negotiated NETLOGON_NEG_PASSWORD_SET2 we need to use
    NetrServerPasswordSet2 to change the machine password.
    
    Tested with NT4, W2k, W2k3 and W2k8.
    
    Guenther
    (cherry picked from commit 5820360451e4db0fad0472f814cae667b2ea51fd)
    (cherry picked from commit 6fc73f4e5e11c5784687015f10d9247412f0c8d4)

commit 7a1cbe3ad9d50b579a2a2e553d141745b60d707a
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 21 10:24:26 2008 -0700

    Fix bug 5698 - mixup of TALLOC/malloc. Spotted by Douglas Wegscheid <Douglas_E_Wegscheid at whirlpool.com>.
    Jeremy.
    (cherry picked from commit df94605667924dec5361bfe063f413add714ec89)

commit 5e61672ee2c47b9ddb36df7dbc09e7f6df5cbb74
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 21 15:02:03 2008 +0200

    re-run make idl.
    
    Guenther
    (cherry picked from commit f24cef9fa7be45212744d39b7c66804e64147afd)
    (cherry picked from commit 23c00d9495f56fa35d4d6558710888e9572256d3)

commit 8f1c0cb1ce6b94433442e4a16efdb1fb587d6072
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 21 15:01:36 2008 +0200

    IDL: fix IDL for netr_ServerPasswordSet2().
    
    Guenther
    (cherry picked from commit 7b312a0abc6de5a51555ccfbde7f8f78fc11d043)
    (cherry picked from commit 8aba998ea8271447da5da9f2ef4df563bf8e8079)

commit f5bd5ef97b21626daba25e796657a6cac47c7207
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 21 10:57:36 2008 +0200

    gitignore: add examples/libsmbclient/Makefile.internal - a generated file
    
    Michael
    (cherry picked from commit 25fed055c0ee1d892b902caae2a1188977316f14)
    (cherry picked from commit 2be233688ad963c50372632b50e182c319cb50ab)

commit b03d13a11288f422c0320a640ba2dc1d3e2e75fe
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 21 10:50:49 2008 +0200

    build: add [clean_]libsmbclient_examples targets to top level Makefile
    
    Michael
    (cherry picked from commit b476400f0afcaf4e1a37b9f0b358f01dc7a194be)
    (cherry picked from commit deff17f597f05b4599b8da081feb8520df5cea90)

commit c93c427b95c1ccfb4293ff8f9c5b47c7b273759b
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 21 10:49:57 2008 +0200

    libsmbclient examples: source/bin to the library search path for smbwrapper build
    
    Michael
    (cherry picked from commit fe62098666a16b31b025867f273d407e77152c4c)
    (cherry picked from commit 9a4d8c2942a6c790e751f94e8b3fcee53ce2f3e9)

commit ac4685561b36dfc5c1d097e7f8debbe0c0907c0b
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 21 10:48:44 2008 +0200

    libsmbclient examples: add Makefile.internal.in for building from a samba source
    
    Without needing to install libsmbclient to /usr/local/samba first.
    
    Michael
    (cherry picked from commit f0e47bce2e98131812e96fb88cc3d1fe939e8d6c)
    (cherry picked from commit b51cf452174fa02b79f0572226885496da19f36f)

commit 95ae5230339af1b73cf4733ae421d6a5db8d8c54
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 21 10:41:11 2008 +0200

    libsmbclient examples: fix prototype for readlink
    
    Michael
    (cherry picked from commit 28688cfd57c322937f2c63087380c377bd961018)
    (cherry picked from commit 0c32f449915dd98cefa9171f2a7f917d15afe7c2)

commit b63d5bb88fc97308b5c4c869ba36b375116fbe58
Author: Michael Adam <obnox at samba.org>
Date:   Wed Aug 13 15:59:14 2008 +0200

    Put prototypes of modules/vfs_irixacl.c to new modules/vfs_irixacl.h.
    
    Thereby (hopefully) fixing the potential build problems with IRIX acls.
    
    Michael
    (cherry picked from commit 61c201d416bbc37950b980e8598b7ef1292336bc)
    (cherry picked from commit f68b0d02879ddfb6a7faad8f7bb4fe51ce4c2f09)

commit 10a3200cbe8d06520e9c098f695d394e5d463e30
Author: Michael Adam <obnox at samba.org>
Date:   Wed Aug 13 15:58:06 2008 +0200

    Put prototypes of modules/vfs_hpuxacl.c to new modules/vfs_hpuxacl.h.
    
    Thereby (hopefully) fixing the potential build problems with HPUX acls.
    
    Michael
    (cherry picked from commit 4f2a1de990dc9063a1db877c06a5c1d68924edcf)
    (cherry picked from commit 50b0bd094ec0aa86ab0b6e109f7539b04d877e9f)

commit 3c6daac35d8da35a4c3ee62352a6a768d672b28b
Author: Michael Adam <obnox at samba.org>
Date:   Wed Aug 13 15:56:44 2008 +0200

    Put prototypes of modules/vfs_solarisacl.c to new modules/vfs_solarisacl.h.
    
    Thereby (hopefully) fixing the potential build problems with solaris acls.
    
    Michael
    (cherry picked from commit 8413c05afcde65006fa7c8743f30b53cc33c1729)
    (cherry picked from commit 2482f86705320ae578fcccc3fc8a285c5c2c059f)

commit 6dd28fade5fe49f70a63772e164a533631e477b1
Author: Michael Adam <obnox at samba.org>
Date:   Wed Aug 13 15:31:53 2008 +0200

    Put prototypes of modules/vfs_tru64acl.c to new modules/vfs_tru64acl.h.
    
    Thereby (hopefully) fixing the build with tru64 acls.
    
    Michael
    (cherry picked from commit 1ab64b69850489a2648a2543da6d0e1157df68bc)
    (cherry picked from commit 19008ca631320a07949a5516abdc382fb78e1711)

commit d0a7a556a751e4a1c22a9e55ea2d3f4704d33d95
Author: Michael Adam <obnox at samba.org>
Date:   Wed Aug 13 15:28:38 2008 +0200

    Put prototypes of modules/vfs_posixacl.c into new modules/vfs_posixacl.h.
    
    Michael
    (cherry picked from commit 876f6793434174051084b17f3b02bd1bbb24ec44)
    (cherry picked from commit ec75422f1a09d92ac4034287a950b9172589474e)

commit 7b273543e46648f15d686766f8e09d55b1d7c3fb
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 18:03:13 2008 +0200

    winbindd: consistently use false/true.
    
    Guenther
    (cherry picked from commit e8619121d16d086f1ab186051d0ecdc83c02e5b5)
    (cherry picked from commit 2985eebbecd6da17ed628e01664b1cad08ab3285)

commit 2fec5908f9bf80a1dfef735c54b0a0520165466f
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 18:31:35 2008 +0200

    winbindd: use set_auth_errors (avoid code duplication).
    
    Guenther
    (cherry picked from commit ae35a5110ea03d8ff27f320cdc685e5623715a2a)
    (cherry picked from commit 25417a1af56236807b0be70fb8b1237ebdbb0f45)

commit 3169a315aed3fa24e473635247982b40c1f1306c
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 18:31:10 2008 +0200

    winbindd: fill_in_password_policy (to avoid redundant code).
    
    Guenther
    (cherry picked from commit dbfa7ba14c9f1a4d7a1e7205dd0b3ea2fc2e6131)
    (cherry picked from commit 29a2b8d585863e449ee09aca38fea122f9386f4f)

commit 1ca6af892e5ce19a304367d3c02b3179d45f6744
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 16:19:54 2008 +0200

    pam_winbind: some doxygen fixes.
    
    Guenther
    (cherry picked from commit f2a2ed315e393353110aa7760b4eca4f1f49ca21)
    (cherry picked from commit ba3a68e17ba991b173925fb45e8db6aaa17a6bf9)

commit b9cd19b6345b4dc0b96cefbb56065f89d5544ea3
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 15:09:12 2008 +0200

    wbinfo: use wbinfo_prompt_pass() everywhere.
    
    Guenther
    (cherry picked from commit 687ef28874eb311b3e3919c3a38a22e5186d4c1b)
    (cherry picked from commit 135e1d72ccfee32665ff3686147ea67ef7b7ef64)

commit 9f18f009fc4cf25e296529f4844ef40afcfd4b5c
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 15:32:37 2008 +0200

    wbinfo: add wbinfo_prompt_pass.
    
    Guenther
    (cherry picked from commit 7cf6ed68236e7dd64657cb1087a5a687d6f59ad1)
    (cherry picked from commit fd65b8a4312c5672a29ccbd8c72f363d078c1f89)

commit 2a69f0f2b755e29c758245942987587928b24831
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 20:56:47 2008 +0200

    pam_winbind: use pam error string function to display result.
    
    Guenther
    (cherry picked from commit 8504a92ac55d6936df051be66207a59a76bf32a3)
    (cherry picked from commit 9d35ad449dd5be133490e131c848184b9b3dd84f)

commit 10f5ec8b7f1fa43d5dc99988678d4a560498c411
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 17:40:26 2008 +0200

    pam_winbind: add _pam_error_code_str().
    
    Guenther
    (cherry picked from commit 693f90fd2394309ce40d3ca5fc007543058b342a)
    (cherry picked from commit 8f84afadf2ade599294d37d1c87e1f62801e1975)

commit c1b1aace9ad8878893cdcaf24a60b5d54c25ae69
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 13:07:51 2008 +0200

    pam_winbind: use integer constants.
    
    Guenther
    (cherry picked from commit 8d19b2ceb131ca2a0fd983cdb4fd17acdad9c26e)
    (cherry picked from commit 88b9737fe31d60916a34b8c7e9191be34b44b26c)

commit 381a3bff4828adb0f1e12ab17c11e185087ba263
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 01:18:24 2008 +0200

    winbindd: kill some trailing/leading whitespace.
    
    Guenther
    (cherry picked from commit b5bb7844952a87b123551b478b60bfe232afc308)
    (cherry picked from commit 4522e687e91da043de1da23c284a4814ccda547c)

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                 |    1 +
 WHATSNEW.txt                               |   44 +++-
 examples/libsmbclient/Makefile.internal.in |  138 +++++++++
 examples/libsmbclient/smbwrapper/Makefile  |    2 +-
 examples/libsmbclient/smbwrapper/wrapper.c |    2 +-
 source/Makefile.in                         |   11 +
 source/client/cifs.upcall.c                |    3 +-
 source/configure.in                        |    1 +
 source/include/includes.h                  |   20 ++
 source/include/proto.h                     |   18 --
 source/lib/util_str.c                      |    5 +-
 source/librpc/gen_ndr/cli_netlogon.c       |    6 +-
 source/librpc/gen_ndr/cli_netlogon.h       |    6 +-
 source/librpc/gen_ndr/ndr_netlogon.c       |   38 ++-
 source/librpc/gen_ndr/netlogon.h           |    4 +-
 source/librpc/idl/netlogon.idl             |    6 +-
 source/libsmb/trusts_util.c                |   75 ++++--
 source/modules/vfs_hpuxacl.h               |   58 ++++
 source/modules/vfs_irixacl.h               |   45 +++
 source/modules/vfs_posixacl.h              |   46 +++
 source/modules/vfs_solarisacl.h            |   45 +++
 source/modules/vfs_tru64acl.h              |   45 +++
 source/nsswitch/pam_winbind.c              |  111 ++++++--
 source/nsswitch/pam_winbind.h              |   28 +-
 source/nsswitch/wbinfo.c                   |   66 +++--
 source/utils/net_util.c                    |    5 +-
 source/winbindd/winbindd_pam.c             |  440 +++++++++++++---------------
 27 files changed, 909 insertions(+), 360 deletions(-)
 create mode 100644 examples/libsmbclient/Makefile.internal.in
 create mode 100644 source/modules/vfs_hpuxacl.h
 create mode 100644 source/modules/vfs_irixacl.h
 create mode 100644 source/modules/vfs_posixacl.h
 create mode 100644 source/modules/vfs_solarisacl.h
 create mode 100644 source/modules/vfs_tru64acl.h


Changeset truncated at 500 lines:

diff --git a/.gitignore b/.gitignore
index ca09083..edb1b3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,6 +65,7 @@ examples/libsmbclient/testutime
 examples/libsmbclient/testwrite
 examples/libsmbclient/testtruncate
 examples/libsmbclient/tree
+examples/libsmbclient/Makefile.internal
 source/librpc/gen_ndr/cli_krb5pac.*
 source/librpc/gen_ndr/cli_messaging.*
 source/librpc/gen_ndr/cli_misc.*
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 539a1c6..066ff69 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -10,7 +10,49 @@ system at https://bugzilla.samba.org/.
 
 Major enhancements in Samba 3.3.0 include:
 
-o
+ Conifguration/installation:
+ o Splitting of library directory into library directory and separate
+   modules directory.
+
+ File Serving:
+ o Extended Cluster support.
+
+ Winbind:
+ o Simplyfied idmap configuration.
+
+ Administrative tools:
+ o New 'net rpc vampire keytab' command.
+
+
+Winbind idmap backend changes
+=============================
+
+The idmap configuration has changed with version 3.3 to something that
+allows a smoother upgrade path from pre-3.0.25 configurations that use
+"idmap backend". The reason for this change is that to many, also to Samba
+developers, the 3.0.25 style configuration with "idmap config" turned out
+to be very complex. Version 3.3 no longer deprecates the "idmap backend"
+parameter, instead with "idmap backend" the default idmap backend is
+specified.
+
+Accordingly, the "idmap config <domain> : default = yes" setting is no
+longer being looked at. As another simplification, there can be only one
+allocating backend.
+
+The alloc backend defaults to the default backend, which should be able to
+allocate IDs. In the default distribution the tdb and ldap backends can
+allocate, the ad and rid backends can not. The idmap alloc range is now
+being set with the "old" parameters "idmap uid" and "idmap gid".
+
+
+
+######################################################################
+Changes
+#######
+
+smb.conf changes
+----------------
+
 
 
 ######################################################################
diff --git a/examples/libsmbclient/Makefile.internal.in b/examples/libsmbclient/Makefile.internal.in
new file mode 100644
index 0000000..dd4518f
--- /dev/null
+++ b/examples/libsmbclient/Makefile.internal.in
@@ -0,0 +1,138 @@
+# Makefile.internal.in for building the libsmbclient examples
+# from within a samba build.
+#
+# Use Makfile for building the examples with a libsmbclient
+# installed to /usr/local/samba
+
+CC = @CC@
+
+SAMBA_DIR = ../../source
+SAMBA_INCLUDES = -I$(SAMBA_DIR)/include
+SAMBA_LIBPATH = -L$(SAMBA_DIR)/bin
+
+GTK_CFLAGS = `gtk-config --cflags`
+GTK_LIBS  = `gtk-config --libs`
+
+#GTK_CFLAGS = `pkg-config gtk+-2.0 --cflags`
+#GTK_LIBS = `pkg-config gtk+-2.0 --libs`
+
+FLAGS = @CPPFLAGS@ @CFLAGS@ $(GTK_CFLAGS) $(SAMBA_INCLUDES)
+
+PICFLAG=@PICFLAG@
+LDFLAGS= $(SAMBA_LIBPATH) @PIE_LDFLAGS@ @LDFLAGS@
+
+EXTERNAL_LIBS = @LIBS@ @LDAP_LIBS@ @KRB5_LIBS@ @NSCD_LIBS@
+LIBSMBCLIENT_LIBS = -lwbclient -lsmbclient -ltalloc -ltdb -ldl -lresolv
+CMDLINE_LIBS = @POPTLIBS@
+LIBS = $(EXTERNAL_LIBS) $(LIBSMBCLIENT_LIBS)
+
+# Compile a source file. (.c --> .o)
+COMPILE_CC = $(CC) -I. $(FLAGS) $(PICFLAG) -c $< -o $@
+COMPILE = $(COMPILE_CC)
+
+MAKEDIR = || exec false; \
+	  if test -d "$$dir"; then :; else \
+	  echo mkdir "$$dir"; \
+	  mkdir -p "$$dir" >/dev/null 2>&1 || \
+	  test -d "$$dir" || \
+	  mkdir "$$dir" || \
+	  exec false; fi || exec false
+
+TESTS=	testsmbc \
+	testacl \
+	testacl2 \
+	testacl3 \
+	testbrowse \
+	testbrowse2 \
+	teststat \
+	teststat2 \
+	teststat3 \
+	testtruncate \
+	testchmod \
+	testutime \
+	testread \
+	testwrite
+
+#	tree \
+
+all:	$(TESTS) smbsh
+
+.c.o:
+	@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
+	dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
+	@echo Compiling $*.c
+	@$(COMPILE) && exit 0;\
+		echo "The following command failed:" 1>&2;\
+		echo "$(COMPILE_CC)" 1>&2;\
+		$(COMPILE_CC) >/dev/null 2>&1
+
+testsmbc: testsmbc.o
+	@echo Linking testsmbc
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
+
+tree: tree.o
+	@echo Linking tree
+	@$(CC) $(GTK_CFLAGS) $(FLAGS) $(LDFLAGS) -o $@ $< $(GTK_LIBS) $(LIBS)
+
+testacl: testacl.o
+	@echo Linking testacl
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testacl2: testacl2.o
+	@echo Linking testacl2
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testacl3: testacl3.o
+	@echo Linking testacl3
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testbrowse: testbrowse.o
+	@echo Linking testbrowse
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testbrowse2: testbrowse2.o
+	@echo Linking testbrowse2
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+teststat: teststat.o
+	@echo Linking teststat
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+teststat2: teststat2.o
+	@echo Linking teststat2
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+teststat3: teststat3.o
+	@echo Linking teststat3
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testtruncate: testtruncate.o
+	@echo Linking testtruncate
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testchmod: testchmod.o
+	@echo Linking testchmod
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testutime: testutime.o
+	@echo Linking testutime
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testread: testread.o
+	@echo Linking testread
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testwrite: testwrite.o
+	@echo Linking testwrite
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+testctx: testctx.o
+	@echo Linking testctx
+	@$(CC) $(FLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(CMDLINE_LIBS)
+
+smbsh:
+	make -C smbwrapper
+
+clean:
+	@rm -f *.o *~ $(TESTS)
+	@make -C smbwrapper clean
diff --git a/examples/libsmbclient/smbwrapper/Makefile b/examples/libsmbclient/smbwrapper/Makefile
index 7f5c17c..eb47005 100644
--- a/examples/libsmbclient/smbwrapper/Makefile
+++ b/examples/libsmbclient/smbwrapper/Makefile
@@ -3,7 +3,7 @@ DEFS = -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
 
 CFLAGS = -I$(SAMBA_INCL) $(EXTLIB_INCL)
 
-LDFLAGS = -L/usr/local/samba/lib
+LDFLAGS = -L/usr/local/samba/lib -L../../../source/bin
 
 SMBINCLUDE = -I../../../source/include
 CFLAGS= -fpic -g -O0 $(DEFS) $(SMBINCLUDE)
diff --git a/examples/libsmbclient/smbwrapper/wrapper.c b/examples/libsmbclient/smbwrapper/wrapper.c
index 958e006..3811b04 100644
--- a/examples/libsmbclient/smbwrapper/wrapper.c
+++ b/examples/libsmbclient/smbwrapper/wrapper.c
@@ -1109,7 +1109,7 @@ int utimes(const char *name, const struct timeval *tvp)
         return (* smbw_libc.utimes)((char *) name, (struct timeval *) tvp);
 }
 
-int readlink(const char *path, char *buf, size_t bufsize)
+ssize_t readlink(const char *path, char *buf, size_t bufsize)
 {
         check_init("readlink");
         
diff --git a/source/Makefile.in b/source/Makefile.in
index 100618d..4e15bf7 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -2720,3 +2720,14 @@ valgrindtest:: all torture timelimit
 	 SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
 	 VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
 	 PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}"
+
+
+##
+## Examples:
+##
+
+libsmbclient_examples:
+	$(MAKE) -C ../examples/libsmbclient -f Makefile.internal
+
+clean_libsmbclient_examples:
+	$(MAKE) -C ../examples/libsmbclient -f Makefile.internal clean
diff --git a/source/client/cifs.upcall.c b/source/client/cifs.upcall.c
index fd3ed17..cf5f1c3 100644
--- a/source/client/cifs.upcall.c
+++ b/source/client/cifs.upcall.c
@@ -222,7 +222,8 @@ int main(const int argc, char *const argv[])
 	uid_t uid;
 	int kernel_upcall_version;
 	int c, use_cifs_service_prefix = 0;
-	char *buf, *oid, *hostname = NULL;
+	char *buf, *hostname = NULL;
+	const char *oid;
 
 	openlog(prog, 0, LOG_DAEMON);
 
diff --git a/source/configure.in b/source/configure.in
index 38819df..5508d9b 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -6164,6 +6164,7 @@ AC_OUTPUT(Makefile
 	  pkgconfig/wbclient.pc
 	  pkgconfig/netapi.pc
 	  pkgconfig/smbsharemodes.pc
+	  ../examples/libsmbclient/Makefile.internal
 	  )
 
 #################################################
diff --git a/source/include/includes.h b/source/include/includes.h
index 8eb0ee5..fa385cb 100644
--- a/source/include/includes.h
+++ b/source/include/includes.h
@@ -794,6 +794,26 @@ enum flush_reason_enum {
 #include "proto.h"
 #endif
 
+#if defined(HAVE_POSIX_ACLS)
+#include "modules/vfs_posixacl.h"
+#endif
+
+#if defined(HAVE_TRU64_ACLS)
+#include "modules/vfs_tru64acl.h"
+#endif
+
+#if defined(HAVE_SOLARIS_ACLS) || defined(HAVE_UNIXWARE_ACLS)
+#include "modules/vfs_solarisacl.h"
+#endif
+
+#if defined(HAVE_HPUX_ACLS)
+#include "modules/vfs_hpuxacl.h"
+#endif
+
+#if defined(HAVE_IRIX_ACLS)
+#include "modules/vfs_irixacl.h"
+#endif
+
 #ifdef HAVE_LDAP
 #include "ads_protos.h"
 #endif
diff --git a/source/include/proto.h b/source/include/proto.h
index 0e089b0..3d0d419 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -5360,24 +5360,6 @@ ssize_t vfswrap_llistxattr(struct vfs_handle_struct *handle, const char *path, c
 ssize_t vfswrap_flistxattr(struct vfs_handle_struct *handle, struct files_struct *fsp, char *list, size_t size);
 NTSTATUS vfs_default_init(void);
 
-/* The following definitions come from modules/vfs_posixacl.c  */
-
-SMB_ACL_T posixacl_sys_acl_get_file(vfs_handle_struct *handle,
-				    const char *path_p,
-				    SMB_ACL_TYPE_T type);
-SMB_ACL_T posixacl_sys_acl_get_fd(vfs_handle_struct *handle,
-				  files_struct *fsp);
-int posixacl_sys_acl_set_file(vfs_handle_struct *handle,
-			      const char *name,
-			      SMB_ACL_TYPE_T type,
-			      SMB_ACL_T theacl);
-int posixacl_sys_acl_set_fd(vfs_handle_struct *handle,
-			    files_struct *fsp,
-			    SMB_ACL_T theacl);
-int posixacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
-				     const char *path);
-NTSTATUS vfs_posixacl_init(void);
-
 /* The following definitions come from nmbd/asyncdns.c  */
 
 int asyncdns_fd(void);
diff --git a/source/lib/util_str.c b/source/lib/util_str.c
index 5f26cc8..9f952ab 100644
--- a/source/lib/util_str.c
+++ b/source/lib/util_str.c
@@ -2008,6 +2008,7 @@ bool str_list_sub_basic( char **list, const char *smb_name,
 
 bool str_list_substitute(char **list, const char *pattern, const char *insert)
 {
+	TALLOC_CTX *ctx = list;
 	char *p, *s, *t;
 	ssize_t ls, lp, li, ld, i, d;
 
@@ -2030,7 +2031,7 @@ bool str_list_substitute(char **list, const char *pattern, const char *insert)
 			t = *list;
 			d = p -t;
 			if (ld) {
-				t = (char *) SMB_MALLOC(ls +ld +1);
+				t = TALLOC_ARRAY(ctx, char, ls +ld +1);
 				if (!t) {
 					DEBUG(0,("str_list_substitute: "
 						"Unable to allocate memory"));
@@ -2038,7 +2039,7 @@ bool str_list_substitute(char **list, const char *pattern, const char *insert)
 				}
 				memcpy(t, *list, d);
 				memcpy(t +d +li, p +lp, ls -d -lp +1);
-				SAFE_FREE(*list);
+				TALLOC_FREE(*list);
 				*list = t;
 				ls += ld;
 				s = t +d +li;
diff --git a/source/librpc/gen_ndr/cli_netlogon.c b/source/librpc/gen_ndr/cli_netlogon.c
index 2ddb165..d6ac8b9 100644
--- a/source/librpc/gen_ndr/cli_netlogon.c
+++ b/source/librpc/gen_ndr/cli_netlogon.c
@@ -1504,9 +1504,9 @@ NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
 					const char *account_name /* [in] [charset(UTF16)] */,
 					enum netr_SchannelType secure_channel_type /* [in]  */,
 					const char *computer_name /* [in] [charset(UTF16)] */,
-					struct netr_Authenticator credential /* [in]  */,
-					struct netr_CryptPassword new_password /* [in]  */,
-					struct netr_Authenticator *return_authenticator /* [out] [ref] */)
+					struct netr_Authenticator *credential /* [in] [ref] */,
+					struct netr_Authenticator *return_authenticator /* [out] [ref] */,
+					struct netr_CryptPassword *new_password /* [in] [ref] */)
 {
 	struct netr_ServerPasswordSet2 r;
 	NTSTATUS status;
diff --git a/source/librpc/gen_ndr/cli_netlogon.h b/source/librpc/gen_ndr/cli_netlogon.h
index 2968732..2033315 100644
--- a/source/librpc/gen_ndr/cli_netlogon.h
+++ b/source/librpc/gen_ndr/cli_netlogon.h
@@ -239,9 +239,9 @@ NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
 					const char *account_name /* [in] [charset(UTF16)] */,
 					enum netr_SchannelType secure_channel_type /* [in]  */,
 					const char *computer_name /* [in] [charset(UTF16)] */,
-					struct netr_Authenticator credential /* [in]  */,
-					struct netr_CryptPassword new_password /* [in]  */,
-					struct netr_Authenticator *return_authenticator /* [out] [ref] */);
+					struct netr_Authenticator *credential /* [in] [ref] */,
+					struct netr_Authenticator *return_authenticator /* [out] [ref] */,
+					struct netr_CryptPassword *new_password /* [in] [ref] */);
 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
 				       const char *server_name /* [in] [unique,charset(UTF16)] */,
diff --git a/source/librpc/gen_ndr/ndr_netlogon.c b/source/librpc/gen_ndr/ndr_netlogon.c
index ba05ebc..b43a157 100644
--- a/source/librpc/gen_ndr/ndr_netlogon.c
+++ b/source/librpc/gen_ndr/ndr_netlogon.c
@@ -12310,8 +12310,14 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet2(struct ndr_push *ndr,
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16)));
 		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
-		NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
-		NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
+		if (r->in.credential == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
+		if (r->in.new_password == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
 	}
 	if (flags & NDR_OUT) {
 		if (r->out.return_authenticator == NULL) {
@@ -12327,7 +12333,9 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr,
 {
 	uint32_t _ptr_server_name;
 	TALLOC_CTX *_mem_save_server_name_0;
+	TALLOC_CTX *_mem_save_credential_0;
 	TALLOC_CTX *_mem_save_return_authenticator_0;
+	TALLOC_CTX *_mem_save_new_password_0;
 	if (flags & NDR_IN) {
 		ZERO_STRUCT(r->out);
 
@@ -12364,8 +12372,20 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet2(struct ndr_pull *ndr,
 		}
 		NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t)));
 		NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16));
-		NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential));
-		NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, &r->in.new_password));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.credential);
+		}
+		_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC(ndr, r->in.new_password);
+		}
+		_mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
+		NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
+		NDR_CHECK(ndr_pull_netr_CryptPassword(ndr, NDR_SCALARS, r->in.new_password));
+		NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
 		NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
 		ZERO_STRUCTP(r->out.return_authenticator);
 	}
@@ -12401,8 +12421,14 @@ _PUBLIC_ void ndr_print_netr_ServerPasswordSet2(struct ndr_print *ndr, const cha
 		ndr_print_string(ndr, "account_name", r->in.account_name);
 		ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
 		ndr_print_string(ndr, "computer_name", r->in.computer_name);
-		ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential);
-		ndr_print_netr_CryptPassword(ndr, "new_password", &r->in.new_password);
+		ndr_print_ptr(ndr, "credential", r->in.credential);
+		ndr->depth++;
+		ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
+		ndr->depth--;
+		ndr_print_ptr(ndr, "new_password", r->in.new_password);
+		ndr->depth++;
+		ndr_print_netr_CryptPassword(ndr, "new_password", r->in.new_password);
+		ndr->depth--;
 		ndr->depth--;
 	}
 	if (flags & NDR_OUT) {
diff --git a/source/librpc/gen_ndr/netlogon.h b/source/librpc/gen_ndr/netlogon.h
index 9e86051..1cea1f0 100644
--- a/source/librpc/gen_ndr/netlogon.h
+++ b/source/librpc/gen_ndr/netlogon.h
@@ -1355,8 +1355,8 @@ struct netr_ServerPasswordSet2 {
 		const char *account_name;/* [charset(UTF16)] */
 		enum netr_SchannelType secure_channel_type;
 		const char *computer_name;/* [charset(UTF16)] */
-		struct netr_Authenticator credential;
-		struct netr_CryptPassword new_password;
+		struct netr_Authenticator *credential;/* [ref] */
+		struct netr_CryptPassword *new_password;/* [ref] */
 	} in;
 
 	struct {
diff --git a/source/librpc/idl/netlogon.idl b/source/librpc/idl/netlogon.idl
index 98cf1e7..74535fc 100644
--- a/source/librpc/idl/netlogon.idl
+++ b/source/librpc/idl/netlogon.idl
@@ -1182,9 +1182,9 @@ interface netlogon
 		[in]  [string,charset(UTF16)] uint16 account_name[],
 		[in]  netr_SchannelType secure_channel_type,
 		[in]  [string,charset(UTF16)] uint16 computer_name[],


-- 
Samba Shared Repository


More information about the samba-cvs mailing list