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

Karolin Seeger kseeger at samba.org
Tue Aug 19 12:02:17 GMT 2008


The branch, v3-3-stable has been updated
       via  a43bbfbe0464da4f3d6c90590245aa3d65739570 (commit)
       via  4fa3626436dd8d0929a66861360aacd8468f4ed6 (commit)
       via  5bdf450bd897d64baddb638a7929182eb6bd4c7b (commit)
       via  971c4b8d9790c8036d41773d8763b988d0c11161 (commit)
       via  cc9118016ae0d7c5320cc59da185b665e2626123 (commit)
       via  50442a588c1ef7f3e3e407df2076dffdb1b2fb0d (commit)
       via  c3c7bbbba5829c88715b940c452fee472560dcde (commit)
       via  f060d1bf7bdb29a71b9316b870bfe11033fce114 (commit)
       via  950a874bae45fdb389f46fd3ed002197e5b11e5d (commit)
       via  b2b680c069a2c448e22df6239acb82c494fb2527 (commit)
       via  4f70e1f695223ff79d2068440d6821847362d7ee (commit)
       via  2652f4c3316c90a49259f70fb49ff345b97a0f14 (commit)
       via  b5aad97ec9ed5155ad1a01cd831a75508b129c37 (commit)
       via  41319c26d6713dce9f16314b7bad945ddb6365b2 (commit)
       via  2fb2edeb0e940364d5b1cf55af8026f28ff36a49 (commit)
       via  eef565ec2ca80afe06c17fc304c17ce56b41aa14 (commit)
       via  2c9bc17aebc9893d8d860cf4d2a0fcb2e16e3040 (commit)
       via  620091855b535e5260eb2822e37ca8f34f17f9b4 (commit)
       via  16c835e3491f892d03459b35965d376c32f21d79 (commit)
       via  4cf6872c925b79dadff5261df283f08c7a2552f7 (commit)
       via  478208feec31d8191643d12c09710e85b3473ada (commit)
       via  ee5ab3a5f680bb11d5c299396f0f57c8fb305716 (commit)
       via  9f7d82ff330973992e63df01cfd47362a3d74634 (commit)
       via  5dba1dfdc24e5fbdb8cc6b82f0f83eb331addc8d (commit)
       via  da01df17e4690dfd08bed828706a00bfa5612914 (commit)
       via  b4fa6ecc8724f1817cb5152cefdeda9d2b9ba06f (commit)
       via  b055fe48d814cd627cf56b3d6e6b591b32ba5aae (commit)
       via  505263847a9d9f43e7feaf03669e55fac6c3940c (commit)
       via  d9e8557c450ffd075153ed0c650c50ce6a58c3b7 (commit)
       via  aa7fc4c698952b7e3748bc38d45e50f15cb0d0c9 (commit)
       via  4aae8a71fbd1f1914ef53a32197318114df6efde (commit)
      from  50d6d617e5b76c3566b719dffe0058c5a0599dd0 (commit)

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


- Log -----------------------------------------------------------------
commit a43bbfbe0464da4f3d6c90590245aa3d65739570
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Aug 19 14:01:40 2008 +0200

    VERSION: Update version string.
    
    Karolin

commit 4fa3626436dd8d0929a66861360aacd8468f4ed6
Author: Michael Adam <obnox at samba.org>
Date:   Tue Aug 19 13:29:24 2008 +0200

    build: fix linking cifs.upcall when nscd_flush_cache() is found.
    
    Michael
    (cherry picked from commit f9a4f1c66fc633c2f007c73e6155fd56533b8e0c)

commit 5bdf450bd897d64baddb638a7929182eb6bd4c7b
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Aug 19 11:53:28 2008 +0200

    smbspool: Fix printing on port 139.
    
    This one was introduced with 8eff35bc.
    Thanks to Noèl Köthe for tracking that down!
    
    Karolin
    (cherry picked from commit 250f5a40d6e80305220d7cdc6a8f8459d8d0de74)
    (cherry picked from commit d7a50f1b22f5ccc5d027f8c2eeb73fa335d49f81)

commit 971c4b8d9790c8036d41773d8763b988d0c11161
Author: Günther Deschner <gd at samba.org>
Date:   Wed Aug 13 13:59:08 2008 +0200

    netapi: add some remaining documentation fixes.
    
    Guenther
    (cherry picked from commit 4a4e90a3872d34791de43c3849c60e2f4e713d47)

commit cc9118016ae0d7c5320cc59da185b665e2626123
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 12 19:47:37 2008 +0200

    netapi: add doxygen documentation for NetUserModalsGet and NetUserModalsSet.
    
    Guenther
    (cherry picked from commit 93210f04c3b1e4fe977a395531ddc0387a65dab5)

commit 50442a588c1ef7f3e3e407df2076dffdb1b2fb0d
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 12 19:39:38 2008 +0200

    netapi: add doxygen documentation for NetLocalGroup{Add,Del,Set,Get}Members.
    
    Guenther
    (cherry picked from commit eee28804b7efc3089ce3528f13de6c930cf00adb)

commit c3c7bbbba5829c88715b940c452fee472560dcde
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 12 17:59:23 2008 +0200

    netapi: make libnetapi_open_ipc_connection static.
    
    Guenther
    (cherry picked from commit 0259914f8ff04514a8395d8e1af61aadd50c5efb)

commit f060d1bf7bdb29a71b9316b870bfe11033fce114
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 12 15:25:06 2008 +0200

    netapi: make non-implemented local calls default to remote "localhost" calls.
    
    Guenther
    (cherry picked from commit aa70e588803e3767796dc958b139f4ee464d8626)

commit 950a874bae45fdb389f46fd3ed002197e5b11e5d
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 12 12:49:19 2008 +0200

    netapi: add NetLocalGroupGetMembers example code.
    
    Guenther
    (cherry picked from commit bded298e022028d6237e25e1c785509bc983be9d)

commit b2b680c069a2c448e22df6239acb82c494fb2527
Author: Günther Deschner <gd at samba.org>
Date:   Mon Aug 11 20:39:14 2008 +0200

    netapi: let libnetapi_samr_lookup_and_open_alias return NTSTATUS.
    
    Guenther
    (cherry picked from commit dcf6d879a14a70ce5795eb8dcfbfe2fc5a8ad859)

commit 4f70e1f695223ff79d2068440d6821847362d7ee
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 16:52:53 2008 -0700

    Fix coverity CID: 594. Resource leak on error path.
    Jeremy.
    (cherry picked from commit 60718a203c1d90dbdcdcb2eaf6b37f6135fb411b)

commit 2652f4c3316c90a49259f70fb49ff345b97a0f14
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 16:45:34 2008 -0700

    Fix for bug #5688 from SATOH Fumiyasu <fumiyas at osstech.co.jp>. LPQ process is orphaned if socket address parameter is invalid.
    If the "socket address" parameter is a null string that is an invalid value for Samba 3.2 but valid for Samba 3.0.
    Jeremy.
    (cherry picked from commit f84bf454eef9e53b72c481ddd5d520d8c3e901d2)

commit b5aad97ec9ed5155ad1a01cd831a75508b129c37
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Aug 13 15:46:35 2008 -0700

    Fix for bug #5617, reported and patched by Bartosz Antosik antosik at gmail.com.
    xp/2003 explorer freezes browsing shares on samba ipv6 hosts. Caused by missing
    reply packet to SMB printclose packet.
    Jeremy
    (cherry picked from commit 086cb13da4cc95ab01c75a68db5631e35a658449)

commit 41319c26d6713dce9f16314b7bad945ddb6365b2
Author: Jim McDonough <jmcd at samba.org>
Date:   Wed Aug 13 18:03:51 2008 -0400

    Prevent NT_STATUS 0xF1000000 errors from appearing when
    dos errors are used and there is no error.  It should
    be mapped directly to NT_STATUS_OK.  smbclient to older
    servers didn't work.
    (cherry picked from commit af817c2817e56aa95ac8641537f13e77307e9eb8)

commit 2fb2edeb0e940364d5b1cf55af8026f28ff36a49
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Aug 13 19:46:16 2008 +0200

    Revert "Add winbind:online check timeout parameter"
    
    This reverts commit 9920473cc165e75ee9aa5cbb9e568eb5fb67e9e6.
    (cherry picked from commit 4985f2622ba9de7c8d7a661c89c5510300505b0b)

commit eef565ec2ca80afe06c17fc304c17ce56b41aa14
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Aug 13 18:17:53 2008 +0200

    Revert "If it is a forced DOS error, nt_errstr should say so"
    
    This reverts commit 68b79e073d940bcdef6ff9eb79a39657ff6e909e.
    
    Always, always build and run make test before checkin...
    (cherry picked from commit 64e26c59e1b9bea68501b2bcb1de572abfbde2e4)

commit 2c9bc17aebc9893d8d860cf4d2a0fcb2e16e3040
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Aug 13 17:40:30 2008 +0200

    If it is a forced DOS error, nt_errstr should say so
    (cherry picked from commit 68b79e073d940bcdef6ff9eb79a39657ff6e909e)

commit 620091855b535e5260eb2822e37ca8f34f17f9b4
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Aug 18 16:17:59 2008 -0700

    Make the change to smbcontrol for "all" to mean broadcast,
    and "smbd" to mean the main smb daemon. Update docs to match.
    Jeremy.
    (cherry picked from commit c361beca1ed4e896151c6445b881b40957cc1ce4)

commit 16c835e3491f892d03459b35965d376c32f21d79
Author: Jeff Layton <jlayton at redhat.com>
Date:   Mon Aug 18 13:49:59 2008 -0400

    cifs.upcall: enable building by default on linux
    
    When building on linux, default to building cifs.upcall. Throw a
    warning if ADS support is disabled or keyutils isn't installed.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    (cherry picked from commit 5a13b7c442f1b70f36dd336bfa8b3dac897bfa4c)

commit 4cf6872c925b79dadff5261df283f08c7a2552f7
Author: Jeff Layton <jlayton at redhat.com>
Date:   Mon Aug 18 13:49:59 2008 -0400

    cifs.upcall: move default install location to EPREFIX/sbin
    
    cifs.upcall links to libraries that live under /usr, so installing it
    in /sbin doesn't seem appropriate. Move it to EPREFIX/sbin instead
    (i.e. /usr/sbin).
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    (cherry picked from commit 9b0478984ed3d6ffa84e7eb6f7ef1e5fa3a0f1e3)

commit 478208feec31d8191643d12c09710e85b3473ada
Author: Igor Mammedov <niallain at gmail.com>
Date:   Mon Aug 18 09:56:23 2008 -0700

    Fix length error in wrapping spnego blob
    (cherry picked from commit 1cad62d347eca9d3af847fb297d0dc822de7560c)

commit ee5ab3a5f680bb11d5c299396f0f57c8fb305716
Author: Jeremy Allison <jra at samba.org>
Date:   Sat Aug 16 19:25:53 2008 -0700

    Fix bug 5696. The problem was when smbd
    was asking for a winbindd name to SID lookup of
    "Unix Group\name" where "name" was also a valid username,
    the winbindd passdb lookup of that name was losing the
    domain string info before calling lookup name (ie. lookup_name()
    was being called with just the string "name", not the
    full string "Unix Group\name").
    
    The passdb backend of winbindd has to cope with
    not only names from it's own global SAM domain,
    but it does lookups for BUILTIN and "Unix User"
    and "Unix Group" also, so making it guess by
    losing the domain string is "A Bad Idea" (tm) :-).
    
    Note that as winbind globally calls winbind_off()
    at startup, it's safe for winbind to call sys_getgrnam()
    to do the "Unix Group" lookup from inside lookup_name().
    
    Jeremy.
    (cherry picked from commit 99d9bfe60d219f6ef09c9a6967896867a86b8a0e)

commit 9f7d82ff330973992e63df01cfd47362a3d74634
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Aug 16 11:12:35 2008 +0200

    Attempt to fix Coverity ID 596
    
    Jeremy, please check & push if it's ok.
    (cherry picked from commit d591b2ed96451708fcf8e090f253fb006f2cf7eb)

commit 5dba1dfdc24e5fbdb8cc6b82f0f83eb331addc8d
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Aug 16 11:17:09 2008 +0200

    Attempt to fix Coverity ID 595
    
    is_ipaddress already dereferences "name", so the NULL check is pointless after
    calling it.
    (cherry picked from commit 740228aad72073bdbe1ebd96b9f44d914445816c)

commit da01df17e4690dfd08bed828706a00bfa5612914
Author: Jeff Layton <jlayton at redhat.com>
Date:   Sat Aug 16 06:09:29 2008 -0400

    mount.cifs: don't prompt for password on krb5 mounts
    
    krb5 mounts require that the user already have a valid krb5 ticket.
    Since we can't currently use the password entered, don't prompt for it.
    
    Also, switch to using strncmp instead of strcmp here.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    (cherry picked from commit c13874f5792f44d7530b1342f3a86b0d3bab9b2f)

commit b4fa6ecc8724f1817cb5152cefdeda9d2b9ba06f
Author: Herb Lewis <hlewis at panasas.com>
Date:   Fri Aug 15 15:30:38 2008 -0700

    I think the problem with these functions is that lookup_usergroups
    should never include the user SID.
    The comment for the function in winbindd/winbindd_ads.c says
    /* Lookup groups a user is a member of. */
    The following patch makes the wbinfo calls return the correct data
    before and after a login.
    binfo --user-domgroups and --user-sids
    (cherry picked from commit a2b985751fa6f02ac30c3cef3504a51676a43e92)

commit b055fe48d814cd627cf56b3d6e6b591b32ba5aae
Author: Michael Adam <obnox at samba.org>
Date:   Fri Aug 15 23:17:48 2008 +0200

    build: fix a typo in the installlibtalloc rule.
    
    The symlink liballoc.so -> libtalloc.so.1 would have been
    created unconditionally, independent of the existence of
    libtalloc.so.1.
    
    Michael
    (cherry picked from commit 04974818bda75c4315ad09b623e5df55c87dbc87)
    (cherry picked from commit ab46a73a88d334691c5a00311a02f9a2cbbec63a)

commit 505263847a9d9f43e7feaf03669e55fac6c3940c
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 14 21:54:14 2008 -0700

    Fix show-stopper for 3.2. Smbd depends on group SID
    position zero being the primary group sid. Authenicating
    via winbindd call returned a non-sorted sid list. This
    fixes is for both a winbindd call and a pac list from
    an info3 struct. Without this we mess up the
    primary group associated with created files. Found by
    Herb.
    Jeremy.
    (cherry picked from commit 8b44a19c6cf2bc74fcfa4fbc6199e50acd47e0d7)

commit d9e8557c450ffd075153ed0c650c50ce6a58c3b7
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 14 14:35:01 2008 -0700

    Make it clear that this is a temporary context byusing a talloc stackframe instead.
    Jeremy
    (cherry picked from commit 94d4f127c23454d87856886d7b461bc3a436248f)

commit aa7fc4c698952b7e3748bc38d45e50f15cb0d0c9
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Aug 14 10:40:14 2008 -0700

    Fix bug #5692 - Core dump in full_audit.so.
    There were some function mismatches in the various GET_NT_ACL modules (some places the fsp parameter has not been removed).
    Jeremy.
    (cherry picked from commit cb49b48e5cb1d8530292bac41052ef163fddec43)

commit 4aae8a71fbd1f1914ef53a32197318114df6efde
Author: Michael Adam <obnox at samba.org>
Date:   Thu Aug 14 17:50:47 2008 +0200

    Revert "Add a gpfs_prefetch module"
    
    This reverts commit fc9b30bed2d774dca6660b497cb50f982b23b885.
    
    Sorry, this got pushed by accident:
    
    "This can not go upstream yet because it uses the non-GPL libgpfs."
    
    Michael
    (cherry picked from commit a2c751a26b3f85e96e91c3a65c94c2e6fba30e3c)

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

Summary of changes:
 docs-xml/manpages-3/smbcontrol.1.xml               |   17 +-
 examples/VFS/skel_opaque.c                         |    2 +-
 source/Makefile.in                                 |   17 +-
 source/VERSION                                     |    4 +-
 source/auth/auth_util.c                            |   72 ++++--
 source/client/mount.cifs.c                         |    3 +-
 source/configure.in                                |   26 ++-
 source/lib/netapi/cm.c                             |   20 +-
 source/lib/netapi/examples/Makefile.in             |    6 +
 .../localgroup_getmembers.c}                       |   88 ++++---
 source/lib/netapi/getdc.c                          |   31 +--
 source/lib/netapi/group.c                          |   79 ++----
 source/lib/netapi/joindomain.c                     |   36 +--
 source/lib/netapi/localgroup.c                     |  238 +++++++---------
 source/lib/netapi/netapi.h                         |  111 +++++++-
 source/lib/netapi/netapi_private.h                 |   13 +-
 source/lib/netapi/serverinfo.c                     |   29 +--
 source/lib/netapi/user.c                           |   99 ++-----
 source/lib/util_sid.c                              |   34 +-
 source/libcli/nbt/nbtname.c                        |    2 +-
 source/libsmb/async_smb.c                          |    6 +
 source/libsmb/clikrb5.c                            |    2 +-
 source/modules/vfs_aixacl2.c                       |    2 +-
 source/modules/vfs_catia.c                         |    2 +-
 source/modules/vfs_full_audit.c                    |    5 +-
 source/modules/vfs_gpfs_prefetch.c                 |  308 --------------------
 source/rpc_server/srv_spoolss_nt.c                 |    6 +-
 source/smbd/reply.c                                |    2 +
 source/smbd/server.c                               |    3 +-
 source/utils/smbcontrol.c                          |    7 +-
 source/winbindd/winbindd_cm.c                      |   16 -
 source/winbindd/winbindd_passdb.c                  |   22 ++-
 source/winbindd/winbindd_util.c                    |    2 +-
 33 files changed, 544 insertions(+), 766 deletions(-)
 copy source/lib/netapi/examples/{group/group_enum.c => localgroup/localgroup_getmembers.c} (57%)
 delete mode 100644 source/modules/vfs_gpfs_prefetch.c


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/smbcontrol.1.xml b/docs-xml/manpages-3/smbcontrol.1.xml
index d7c7751..f8c31bb 100644
--- a/docs-xml/manpages-3/smbcontrol.1.xml
+++ b/docs-xml/manpages-3/smbcontrol.1.xml
@@ -58,23 +58,32 @@
 		on STDIN. An empty command line or a "q" will quit the 
 		program.</para></listitem>
 		</varlistentry>
-		
+
 		<varlistentry>
 		<term>destination</term>
 		<listitem><para>One of <parameter>nmbd</parameter>, <parameter>smbd</parameter> or a process ID.</para>
 
+		<para>The <parameter>all</parameter> destination causes the 
+		message to "broadcast" to all running daemons including nmbd and
+		winbind. This is a change for Samba 3.3, prior to this the
+		paramter smbd used to do this.</para>
+
 		<para>The <parameter>smbd</parameter> destination causes the 
-		message to "broadcast" to all smbd daemons.</para>
+		message to be sent to the smbd daemon specified in the 
+		<filename>smbd.pid</filename> file.</para>
 
 		<para>The <parameter>nmbd</parameter> destination causes the 
 		message to be sent to the nmbd daemon specified in the 
 		<filename>nmbd.pid</filename> file.</para>
 
+		<para>The <parameter>winbindd</parameter> destination causes the 
+		message to be sent to the winbind daemon specified in the 
+		<filename>winbindd.pid</filename> file.</para>
+
 		<para>If a single process ID is given, the message is sent 
 		to only that process.</para></listitem>
 		</varlistentry>
-		
-		
+
 		<varlistentry>
 		<term>message-type</term>
 		<listitem><para>Type of message to send. See 
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index bac035a..89d8ce5 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -307,7 +307,7 @@ static size_t skel_fget_nt_acl(vfs_handle_struct *handle, files_struct *fsp,
 	return 0;
 }
 
-static size_t skel_get_nt_acl(vfs_handle_struct *handle, files_struct *fsp,
+static size_t skel_get_nt_acl(vfs_handle_struct *handle,
 	const char *name, uint32 security_info, SEC_DESC **ppdesc)
 {
 	errno = ENOSYS;
diff --git a/source/Makefile.in b/source/Makefile.in
index aac58d3..d0eba62 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -176,9 +176,9 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
 
 # Note that all executable programs now provide for an optional executable suffix.
 
-SBIN_PROGS = bin/smbd at EXEEXT@ bin/nmbd at EXEEXT@ @SWAT_SBIN_TARGETS@ @EXTRA_SBIN_PROGS@
+SBIN_PROGS = bin/smbd at EXEEXT@ bin/nmbd at EXEEXT@ @SWAT_SBIN_TARGETS@ @EXTRA_SBIN_PROGS@ @CIFSUPCALL_PROGS@
 
-ROOT_SBIN_PROGS = @CIFSMOUNT_PROGS@ @CIFSUPCALL_PROGS@
+ROOT_SBIN_PROGS = @CIFSMOUNT_PROGS@
 
 BIN_PROGS1 = bin/smbclient at EXEEXT@ bin/net at EXEEXT@ bin/smbspool at EXEEXT@ \
 	bin/testparm at EXEEXT@ bin/smbstatus at EXEEXT@ bin/smbget at EXEEXT@
@@ -615,7 +615,6 @@ VFS_CACHEPRIME_OBJ = modules/vfs_cacheprime.o
 VFS_PREALLOC_OBJ = modules/vfs_prealloc.o
 VFS_COMMIT_OBJ = modules/vfs_commit.o
 VFS_GPFS_OBJ = modules/vfs_gpfs.o modules/gpfs.o modules/nfs4_acls.o
-VFS_GPFS_PREFETCH_OBJ = modules/vfs_gpfs_prefetch.o modules/gpfs.o
 VFS_NOTIFY_FAM_OBJ = modules/vfs_notify_fam.o
 VFS_READAHEAD_OBJ = modules/vfs_readahead.o
 VFS_TSMSM_OBJ = modules/vfs_tsmsm.o
@@ -1349,7 +1348,7 @@ bin/cifs.upcall at EXEEXT@: $(BINARY_PREREQS) $(CIFS_UPCALL_OBJ) $(LIBSMBCLIENT_OBJ
 	@$(CC) $(FLAGS) -o $@ $(CIFS_UPCALL_OBJ) $(DYNEXP) $(LDFLAGS) \
 		-lkeyutils $(LIBS) $(LIBSMBCLIENT_OBJ1) $(KRB5LIBS) \
 		$(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(WINBIND_LIBS) \
-		$(LIBTDB_LIBS)
+		$(LIBTDB_LIBS) $(NSCD_LIBS)
 
 bin/testparm at EXEEXT@: $(BINARY_PREREQS) $(TESTPARM_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
 	@echo Linking $@
@@ -1600,7 +1599,7 @@ installlibtalloc:: installdirs libtalloc
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBTALLOC_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)`
-	-if test -e $(LIBTALLOC_SHARD_TARGET_SONAME) ; then \
+	-if test -e $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)` ; \
 	fi
@@ -2355,10 +2354,6 @@ bin/gpfs. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_OBJ)
 	@echo "Building plugin $@"
 	@$(SHLD_MODULE) $(VFS_GPFS_OBJ)
 
-bin/gpfs_prefetch. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_PREFETCH_OBJ)
-	@echo "Building plugin $@"
-	@$(SHLD_MODULE) $(VFS_GPFS_PREFETCH_OBJ)
-
 bin/notify_fam. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NOTIFY_FAM_OBJ)
 	@echo "Building plugin $@"
 	@$(SHLD_MODULE) $(VFS_NOTIFY_FAM_OBJ) @SMB_FAM_LIBS@
@@ -2487,8 +2482,8 @@ installcifsmount:: @CIFSMOUNT_PROGS@
 	@$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSMOUNT_PROGS@
 
 installcifsupcall:: @CIFSUPCALL_PROGS@
-	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(ROOTSBINDIR)
-	@$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(ROOTSBINDIR) @CIFSUPCALL_PROGS@
+	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(SBINDIR)
+	@$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(SBINDIR) @CIFSUPCALL_PROGS@
 
 # Some symlinks are required for the 'probing' of modules.
 # This mechanism should go at some point..
diff --git a/source/VERSION b/source/VERSION
index 758956e..888e7fd 100644
--- a/source/VERSION
+++ b/source/VERSION
@@ -68,7 +68,7 @@ SAMBA_VERSION_RC_RELEASE=
 # e.g. SAMBA_VERSION_IS_SVN_SNAPSHOT=yes               #
 #  ->  "3.0.0-SVN-build-199"                           #
 ########################################################
-SAMBA_VERSION_IS_GIT_SNAPSHOT=yes
+SAMBA_VERSION_IS_GIT_SNAPSHOT=
 
 ########################################################
 # This can be set by vendors if they want...           #
@@ -84,7 +84,7 @@ SAMBA_VERSION_IS_GIT_SNAPSHOT=yes
 #       SAMBA_VERSION_VENDOR_FUNCTION                  #
 #                                                      #
 ########################################################
-SAMBA_VERSION_VENDOR_SUFFIX="test"
+SAMBA_VERSION_VENDOR_SUFFIX=
 SAMBA_VERSION_VENDOR_PATCH=
 
 ########################################################
diff --git a/source/auth/auth_util.c b/source/auth/auth_util.c
index a7fce46..9220df0 100644
--- a/source/auth/auth_util.c
+++ b/source/auth/auth_util.c
@@ -27,6 +27,34 @@
 #define DBGC_CLASS DBGC_AUTH
 
 /****************************************************************************
+ Ensure primary group SID is always at position 0 in a 
+ auth_serversupplied_info struct.
+****************************************************************************/
+
+static void sort_sid_array_for_smbd(auth_serversupplied_info *result,
+				const DOM_SID *pgroup_sid)
+{
+	unsigned int i;
+
+	if (!result->sids) {
+		return;
+	}
+
+	if (sid_compare(&result->sids[0], pgroup_sid)==0) {
+		return;
+	}
+
+	for (i = 1; i < result->num_sids; i++) {
+		if (sid_compare(pgroup_sid,
+				&result->sids[i]) == 0) {
+			sid_copy(&result->sids[i], &result->sids[0]);
+			sid_copy(&result->sids[0], pgroup_sid);
+			return;
+		}
+	}
+}
+
+/****************************************************************************
  Create a UNIX user on demand.
 ****************************************************************************/
 
@@ -641,39 +669,44 @@ NTSTATUS make_server_info_sam(auth_serversupplied_info **server_info,
 	return NT_STATUS_OK;
 }
 
-static NTSTATUS log_nt_token(TALLOC_CTX *tmp_ctx, NT_USER_TOKEN *token)
+static NTSTATUS log_nt_token(NT_USER_TOKEN *token)
 {
+	TALLOC_CTX *frame = talloc_stackframe();
 	char *command;
 	char *group_sidstr;
 	size_t i;
 
 	if ((lp_log_nt_token_command() == NULL) ||
 	    (strlen(lp_log_nt_token_command()) == 0)) {
+		TALLOC_FREE(frame);
 		return NT_STATUS_OK;
 	}
 
-	group_sidstr = talloc_strdup(tmp_ctx, "");
+	group_sidstr = talloc_strdup(frame, "");
 	for (i=1; i<token->num_sids; i++) {
 		group_sidstr = talloc_asprintf(
-			tmp_ctx, "%s %s", group_sidstr,
-			sid_string_talloc(tmp_ctx, &token->user_sids[i]));
+			frame, "%s %s", group_sidstr,
+			sid_string_talloc(frame, &token->user_sids[i]));
 	}
 
 	command = talloc_string_sub(
-		tmp_ctx, lp_log_nt_token_command(),
-		"%s", sid_string_talloc(tmp_ctx, &token->user_sids[0]));
-	command = talloc_string_sub(tmp_ctx, command, "%t", group_sidstr);
+		frame, lp_log_nt_token_command(),
+		"%s", sid_string_talloc(frame, &token->user_sids[0]));
+	command = talloc_string_sub(frame, command, "%t", group_sidstr);
 
 	if (command == NULL) {
+		TALLOC_FREE(frame);
 		return NT_STATUS_NO_MEMORY;
 	}
 
 	DEBUG(8, ("running command: [%s]\n", command));
 	if (smbrun(command, NULL) != 0) {
 		DEBUG(0, ("Could not log NT token\n"));
+		TALLOC_FREE(frame);
 		return NT_STATUS_ACCESS_DENIED;
 	}
 
+	TALLOC_FREE(frame);
 	return NT_STATUS_OK;
 }
 
@@ -684,16 +717,8 @@ static NTSTATUS log_nt_token(TALLOC_CTX *tmp_ctx, NT_USER_TOKEN *token)
 
 NTSTATUS create_local_token(auth_serversupplied_info *server_info)
 {
-	TALLOC_CTX *mem_ctx;
 	NTSTATUS status;
 	size_t i;
-	
-
-	mem_ctx = talloc_new(NULL);
-	if (mem_ctx == NULL) {
-		DEBUG(0, ("talloc_new failed\n"));
-		return NT_STATUS_NO_MEMORY;
-	}
 
 	/*
 	 * If winbind is not around, we can not make much use of the SIDs the
@@ -710,7 +735,7 @@ NTSTATUS create_local_token(auth_serversupplied_info *server_info)
 						    &server_info->utok.gid,
 						    &server_info->unix_name,
 						    &server_info->ptok);
-		
+
 	} else {
 		server_info->ptok = create_local_nt_token(
 			server_info,
@@ -722,10 +747,9 @@ NTSTATUS create_local_token(auth_serversupplied_info *server_info)
 	}
 
 	if (!NT_STATUS_IS_OK(status)) {
-		TALLOC_FREE(mem_ctx);
 		return status;
 	}
-	
+
 	/* Convert the SIDs to gids. */
 
 	server_info->utok.ngroups = 0;
@@ -746,12 +770,10 @@ NTSTATUS create_local_token(auth_serversupplied_info *server_info)
 					&server_info->utok.groups,
 					&server_info->utok.ngroups);
 	}
-	
-	debug_nt_user_token(DBGC_AUTH, 10, server_info->ptok);
 
-	status = log_nt_token(mem_ctx, server_info->ptok);
+	debug_nt_user_token(DBGC_AUTH, 10, server_info->ptok);
 
-	TALLOC_FREE(mem_ctx);
+	status = log_nt_token(server_info->ptok);
 	return status;
 }
 
@@ -1748,6 +1770,9 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
 		return nt_status;
 	}
 
+	/* Ensure the primary group sid is at position 0. */
+	sort_sid_array_for_smbd(result, &group_sid);
+
 	result->login_server = talloc_strdup(result,
 					     info3->base.logon_server.string);
 
@@ -1993,6 +2018,9 @@ NTSTATUS make_server_info_wbcAuthUserInfo(TALLOC_CTX *mem_ctx,
 		memcpy(&result->sids[i], &info->sids[i+2].sid, sizeof(result->sids[i]));
 	}
 
+	/* Ensure the primary group sid is at position 0. */
+	sort_sid_array_for_smbd(result, &group_sid);
+
 	/* ensure we are never given NULL session keys */
 
 	ZERO_STRUCT(zeros);
diff --git a/source/client/mount.cifs.c b/source/client/mount.cifs.c
index c7009e3..dd878aa 100644
--- a/source/client/mount.cifs.c
+++ b/source/client/mount.cifs.c
@@ -473,7 +473,8 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 			}
 		} else if (strncmp(data, "sec", 3) == 0) {
 			if (value) {
-				if (!strcmp(value, "none"))
+				if (!strncmp(value, "none", 4) ||
+				    !strncmp(value, "krb5", 4))
 					got_password = 1;
 			}
 		} else if (strncmp(data, "ip", 2) == 0) {
diff --git a/source/configure.in b/source/configure.in
index a53db4e..38819df 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -1056,7 +1056,7 @@ AC_TRY_LINK([#include <gpfs_gpl.h>],
 echo $samba_cv_HAVE_GPFS
 if test x"$samba_cv_HAVE_GPFS" = x"yes"; then
     AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL libs are available])
-    default_shared_modules="$default_shared_modules vfs_gpfs vfs_gpfs_prefetch"
+    default_shared_modules="$default_shared_modules vfs_gpfs"
 fi
 LIBS="$save_LIBS"
 
@@ -4048,7 +4048,7 @@ INSTALL_CIFSUPCALL=""
 UNINSTALL_CIFSUPCALL=""
 AC_MSG_CHECKING(whether to build cifs.upcall)
 AC_ARG_WITH(cifsupcall,
-[AS_HELP_STRING([--with-cifsupcall], [Include cifs.upcall (Linux only) support (default=no)])],
+[AS_HELP_STRING([--with-cifsupcall], [Include cifs.upcall (Linux only) support (default=yes)])],
 [ case "$withval" in
   no)
 	AC_MSG_RESULT(no)
@@ -4074,9 +4074,24 @@ AC_ARG_WITH(cifsupcall,
 	esac
     ;;
   esac ],
-[
-  AC_MSG_RESULT(no)
-  ]
+[ case "$host_os" in
+  *linux*)
+	if test x"$use_ads" != x"yes"; then
+		AC_MSG_WARN(ADS support should be enabled for building cifs.upcall)
+	elif test x"$HAVE_KEYUTILS_H" != "x1"; then
+		AC_MSG_WARN(keyutils package is required for cifs.upcall)
+	else
+		AC_MSG_RESULT(yes)
+		AC_DEFINE(WITH_CIFSUPCALL,1,[whether to build cifs.upcall])
+		CIFSUPCALL_PROGS="bin/cifs.upcall"
+		INSTALL_CIFSUPCALL="installcifsupcall"
+		UNINSTALL_CIFSUPCALL="uninstallcifsupcall"
+	fi
+	;;
+  *)
+	AC_MSG_RESULT(no)
+	;;
+  esac ]
 )
 
 
@@ -5986,7 +6001,6 @@ SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$SHLIBEXT", V
 SMB_MODULE(vfs_prealloc, \$(VFS_PREALLOC_OBJ), "bin/prealloc.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_commit, \$(VFS_COMMIT_OBJ), "bin/commit.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_gpfs, \$(VFS_GPFS_OBJ), "bin/gpfs.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_gpfs_prefetch, \$(VFS_GPFS_PREFETCH_OBJ), "bin/gpfs_prefetch.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_readahead, \$(VFS_READAHEAD_OBJ), "bin/readahead.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_tsmsm, \$(VFS_TSMSM_OBJ), "bin/tsmsm.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_fileid, \$(VFS_FILEID_OBJ), "bin/fileid.$SHLIBEXT", VFS)
diff --git a/source/lib/netapi/cm.c b/source/lib/netapi/cm.c
index 8ea31e5..a5c85bf 100644
--- a/source/lib/netapi/cm.c
+++ b/source/lib/netapi/cm.c
@@ -25,9 +25,9 @@
 /********************************************************************
 ********************************************************************/
 
-WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx,
-				     const char *server_name,
-				     struct cli_state **cli)
+static WERROR libnetapi_open_ipc_connection(struct libnetapi_ctx *ctx,
+					    const char *server_name,
+					    struct cli_state **cli)
 {
 	struct cli_state *cli_ipc = NULL;
 
@@ -161,17 +161,25 @@ static NTSTATUS pipe_cm_open(TALLOC_CTX *ctx,
 ********************************************************************/
 
 WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,
-			   struct cli_state *cli,
+			   const char *server_name,
 			   const struct ndr_syntax_id *interface,
+			   struct cli_state **pcli,
 			   struct rpc_pipe_client **presult)
 {
 	struct rpc_pipe_client *result = NULL;
 	NTSTATUS status;
+	WERROR werr;
+	struct cli_state *cli = NULL;
 
-	if (!cli || !presult) {
+	if (!presult) {
 		return WERR_INVALID_PARAM;
 	}
 
+	werr = libnetapi_open_ipc_connection(ctx, server_name, &cli);
+	if (!W_ERROR_IS_OK(werr)) {
+		return werr;
+	}
+
 	status = pipe_cm_open(ctx, cli, interface, &result);
 	if (!NT_STATUS_IS_OK(status)) {
 		libnetapi_set_error_string(ctx, "failed to open PIPE %s: %s",
@@ -182,6 +190,8 @@ WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,
 	}
 
 	*presult = result;
+	*pcli = cli;
+
 	return WERR_OK;
 }
 
diff --git a/source/lib/netapi/examples/Makefile.in b/source/lib/netapi/examples/Makefile.in
index 158df4f..0b7553c 100644
--- a/source/lib/netapi/examples/Makefile.in
+++ b/source/lib/netapi/examples/Makefile.in
@@ -47,6 +47,7 @@ PROGS = bin/getdc at EXEEXT@ \
 	bin/localgroup_addmembers at EXEEXT@ \
 	bin/localgroup_delmembers at EXEEXT@ \
 	bin/localgroup_setmembers at EXEEXT@ \
+	bin/localgroup_getmembers at EXEEXT@ \
 	bin/remote_tod at EXEEXT@
 
 all: $(PROGS)
@@ -106,6 +107,7 @@ LOCALGROUPENUM_OBJ = localgroup/localgroup_enum.o $(CMDLINE_OBJ)
 LOCALGROUPADDMEMBERS_OBJ = localgroup/localgroup_addmembers.o $(CMDLINE_OBJ)
 LOCALGROUPDELMEMBERS_OBJ = localgroup/localgroup_delmembers.o $(CMDLINE_OBJ)
 LOCALGROUPSETMEMBERS_OBJ = localgroup/localgroup_setmembers.o $(CMDLINE_OBJ)
+LOCALGROUPGETMEMBERS_OBJ = localgroup/localgroup_getmembers.o $(CMDLINE_OBJ)
 REMOTETOD_OBJ = server/remote_tod.o $(CMDLINE_OBJ)
 
 bin/getdc at EXEEXT@: $(BINARY_PREREQS) $(GETDC_OBJ)
@@ -228,6 +230,10 @@ bin/localgroup_setmembers at EXEEXT@: $(BINARY_PREREQS) $(LOCALGROUPSETMEMBERS_OBJ)
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(LOCALGROUPSETMEMBERS_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
 
+bin/localgroup_getmembers at EXEEXT@: $(BINARY_PREREQS) $(LOCALGROUPGETMEMBERS_OBJ)
+	@echo Linking $@
+	@$(CC) $(FLAGS) -o $@ $(LOCALGROUPGETMEMBERS_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
+
 bin/remote_tod at EXEEXT@: $(BINARY_PREREQS) $(REMOTETOD_OBJ)
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(REMOTETOD_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
diff --git a/source/lib/netapi/examples/group/group_enum.c b/source/lib/netapi/examples/localgroup/localgroup_getmembers.c
similarity index 57%
copy from source/lib/netapi/examples/group/group_enum.c
copy to source/lib/netapi/examples/localgroup/localgroup_getmembers.c
index fe2aee1..0589870 100644
--- a/source/lib/netapi/examples/group/group_enum.c
+++ b/source/lib/netapi/examples/localgroup/localgroup_getmembers.c
@@ -1,6 +1,6 @@
 /*
  *  Unix SMB/CIFS implementation.
- *  NetGroupEnum query
+ *  NetLocalGroupGetMembers query
  *  Copyright (C) Guenther Deschner 2008
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -32,18 +32,19 @@ int main(int argc, const char **argv)
 	NET_API_STATUS status;
 	struct libnetapi_ctx *ctx = NULL;
 	const char *hostname = NULL;
+	const char *groupname = NULL;
 	uint32_t level = 0;
 	uint8_t *buffer = NULL;
 	uint32_t entries_read = 0;
 	uint32_t total_entries = 0;
 	uint32_t resume_handle = 0;
-	int i;
 	char *sid_str = NULL;
+	int i;
 
-	struct GROUP_INFO_0 *info0 = NULL;
-	struct GROUP_INFO_1 *info1 = NULL;
-	struct GROUP_INFO_2 *info2 = NULL;
-	struct GROUP_INFO_3 *info3 = NULL;
+	struct LOCALGROUP_MEMBERS_INFO_0 *info0 = NULL;
+	struct LOCALGROUP_MEMBERS_INFO_1 *info1 = NULL;
+	struct LOCALGROUP_MEMBERS_INFO_2 *info2 = NULL;
+	struct LOCALGROUP_MEMBERS_INFO_3 *info3 = NULL;
 
 	poptContext pc;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list