[SCM] Samba Shared Repository - branch v3-2-stable updated - release-3-2-3-95-g7787122

Karolin Seeger kseeger at samba.org
Tue Sep 16 07:55:45 GMT 2008


The branch, v3-2-stable has been updated
       via  7787122c5cc8e05e0479704804eafcae4bdf103d (commit)
       via  468e3b91d27f691ba6315eeb0fdcee22a4e4fdb9 (commit)
       via  44dba8a3f83f4e20a1284f0a5a6ae9985d573071 (commit)
       via  5843283891fea066d59265a930f58903f0dca429 (commit)
       via  18c7ebdff74c08ea1c3696a001be1dedeb3ccf52 (commit)
       via  f16f12feefc54fa407d5b9539e73a782dc15b12a (commit)
       via  3cbed0e4f196af56ca9a1fe7b219c4b86bfcb5cb (commit)
       via  06b7980f5b3dee9d17c31ed03688296f523ae393 (commit)
      from  bc66e91b9eb44f897b5a422d7daf5db1e19a0442 (commit)

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


- Log -----------------------------------------------------------------
commit 7787122c5cc8e05e0479704804eafcae4bdf103d
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Sep 16 09:54:12 2008 +0200

    WHATSNEW: Update changes since 3.2.3.
    
    Karolin
    (cherry picked from commit bf38373c978c8e1fd4c33d024e9608fe5083c344)

commit 468e3b91d27f691ba6315eeb0fdcee22a4e4fdb9
Author: Karolin Seeger <kseeger at samba.org>
Date:   Mon Sep 15 16:33:16 2008 +0200

    man cifs.upcall: Fix typo, wrap lines.
    
    Karolin
    (cherry picked from commit c4f361a17f51e4897ac2faafc65ebc8349e19001)
    (cherry picked from commit da7a60a82bfecbf5b1a10bdbccf4682fd92b65bb)

commit 44dba8a3f83f4e20a1284f0a5a6ae9985d573071
Author: Timur <timur at FreeBSD.org>
Date:   Mon Sep 15 18:43:26 2008 -0700

    Fix aio on FreeBSD.
    (cherry picked from commit 144b1bb05a734e15369d6d59636b6849d9405af5)

commit 5843283891fea066d59265a930f58903f0dca429
Author: Timur <timur at FreeBSD.org>
Date:   Mon Sep 15 18:24:58 2008 -0700

    Fix display of POSIX ACLs.
    (cherry picked from commit faa732c245c9296ff4cd4a56f353c3d5d1b0d202)

commit 18c7ebdff74c08ea1c3696a001be1dedeb3ccf52
Author: Timur <timur at FreeBSD.org>
Date:   Mon Sep 15 18:19:01 2008 -0700

    Fix cut and paste error in quota code.
    (cherry picked from commit c2a05d4ed34aa8185a7d236e8d7b1493d67a3068)

commit f16f12feefc54fa407d5b9539e73a782dc15b12a
Author: Steven Danneman <steven.danneman at isilon.com>
Date:   Mon Sep 15 17:55:22 2008 -0700

    Simple fix for warning:
    
    Compiling utils/sharesec.c
    utils/sharesec.c: In function `change_share_sec':
    utils/sharesec.c:404: warning: 'sd' might be used uninitialized in this function
    (cherry picked from commit 931abf7898f574fcf70c239b2ad5c180ff6bb8e8)

commit 3cbed0e4f196af56ca9a1fe7b219c4b86bfcb5cb
Author: Steven Danneman <steven.danneman at isilon.com>
Date:   Mon Sep 15 16:28:30 2008 -0700

    Fix build warning on FreeBSD
    
    Fix for the following build warning:
    
    Compiling torture/cmd_vfs.c
    torture/cmd_vfs.c: In function `cmd_open':
    torture/cmd_vfs.c:275: warning: unsigned int format, different type arg (arg 3)
    torture/cmd_vfs.c: In function `cmd_mknod':
    torture/cmd_vfs.c:992: warning: unsigned int format, different type arg (arg 3)
    
    sccanf had mismatched types for mode_t between formating parameter and var args.
    (cherry picked from commit d10c386472175ceb312b9bcca07822a6df66a266)

commit 06b7980f5b3dee9d17c31ed03688296f523ae393
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 15 14:13:23 2008 -0700

    Fix bug 5761 "open of mangled directory name results in 'is a stream name'"
    reported by Regan Heath <Regan.Heath at BridgeHeadSoftware.com>.
    Jeremy.
    (cherry picked from commit 1b839eb9e4a6312e638d1856d1225b170525da7e)

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

Summary of changes:
 WHATSNEW.txt                          |    9 +++++++++
 docs-xml/manpages-3/cifs.upcall.8.xml |    6 +++++-
 source/client/client.c                |    4 ++--
 source/configure.in                   |   15 +++++++++++++++
 source/smbd/aio.c                     |   17 ++++++++++++++++-
 source/smbd/open.c                    |   10 +++++++---
 source/smbd/quotas.c                  |    4 ++--
 source/torture/cmd_vfs.c              |    4 ++--
 source/utils/sharesec.c               |    2 +-
 9 files changed, 59 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index eddf9bb..d6c5be9 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -36,6 +36,8 @@ o   Jeremy Allison <jra at samba.org>
     * BUG 5729: Explicitly allow "-valid".
     * BUG 5745: Fix Kerberos authentication with (lib)smbclient.
     * BUG 5751: Fix showing of ACLs on DFS in (lib)smbclient.
+    * BUG 5761: Fix opening of mangled directory name (resulted
+      'is a stream name').
     * Fix the wcache_invalidate_samlogon calls.
     * Add st_birthtime and friends for accurate create times on *BSD and MacOSX.
     * Clarify usage of "force create mode".
@@ -47,6 +49,7 @@ o   Gerald (Jerry) Carter <jerry at samba.org>
 
 
 o   Steven Danneman <steven.danneman at isilon.com>
+    * Fix build warnings.
     * Cleanup of DC enumeration in get_dcs().
 
 
@@ -90,6 +93,12 @@ o   Simo Sorce <idra at samba.org>
     * BUG 5571: Fix group memeberships in Winbind.
 
 
+o   Timur <timur at FreeBSD.org>
+    * Fix cut and paste error in quota code.
+    * Fix display of POSIX ACLs.
+    * Fix aio on FreeBSD.
+
+
 o   Andrew Tridgell <tridge at samba.org>
     * Avoid a race condition in glibc between AIO and setresuid().
     * Add missing become root for AIO operations.
diff --git a/docs-xml/manpages-3/cifs.upcall.8.xml b/docs-xml/manpages-3/cifs.upcall.8.xml
index 3c1bb24..5faf0f7 100644
--- a/docs-xml/manpages-3/cifs.upcall.8.xml
+++ b/docs-xml/manpages-3/cifs.upcall.8.xml
@@ -62,7 +62,11 @@ to be run that way.</para>
 
 <refsect1>
 	<title>CONFIGURATION FOR KEYCTL</title>
-	<para>cifs.upcall is designed to be called from the kernel via the request-key callout program. This requres that request-key be told where and how to call this program. The current cifs.upcall program handles two different key types:</para>
+	<para>cifs.upcall is designed to be called from the kernel via the
+	request-key callout program. This requires that request-key be told
+	where and how to call this program. The current cifs.upcall program
+	handles two different key types:
+	</para>
 
 	<variablelist>
 		<varlistentry>
diff --git a/source/client/client.c b/source/client/client.c
index 9446c27..d794f8f 100644
--- a/source/client/client.c
+++ b/source/client/client.c
@@ -3036,7 +3036,7 @@ static int cmd_getfacl(void)
 				break;
 			case SMB_POSIX_ACL_GROUP:
 				uorg = IVAL(retbuf,SMB_POSIX_ACL_HEADER_SIZE+(i*SMB_POSIX_ACL_ENTRY_SIZE)+2);
-				d_printf("group:%u", uorg);
+				d_printf("group:%u:", uorg);
 				break;
 			case SMB_POSIX_ACL_MASK:
 				d_printf("mask::");
@@ -3073,7 +3073,7 @@ static int cmd_getfacl(void)
 				break;
 			case SMB_POSIX_ACL_GROUP:
 				uorg = IVAL(retbuf,SMB_POSIX_ACL_HEADER_SIZE+((i+num_file_acls)*SMB_POSIX_ACL_ENTRY_SIZE)+2);
-				d_printf("default:group:%u", uorg);
+				d_printf("default:group:%u:", uorg);
 				break;
 			case SMB_POSIX_ACL_MASK:
 				d_printf("default:mask::");
diff --git a/source/configure.in b/source/configure.in
index 548dea4..d56d628 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -858,6 +858,21 @@ if test x"$samba_cv_sig_atomic_t" = x"yes"; then
    AC_DEFINE(HAVE_SIG_ATOMIC_T_TYPE,1,[Whether we have the atomic_t variable type])
 fi
 
+AC_CACHE_CHECK([for struct sigevent type],samba_cv_struct_sigevent, [
+    AC_TRY_COMPILE([
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#include <signal.h>],[struct sigevent s;],
+	samba_cv_struct_sigevent=yes,samba_cv_struct_sigevent=no)])
+if test x"$samba_cv_struct_sigevent" = x"yes"; then
+   AC_DEFINE(HAVE_STRUCT_SIGEVENT,1,[Whether we have the struct sigevent])
+   AC_CHECK_MEMBERS([struct sigevent.sigev_value.sival_ptr,struct sigevent.sigev_value.sigval_ptr], , ,
+	[#include <signal.h>])
+fi
+
 AC_CACHE_CHECK([for struct timespec type],samba_cv_struct_timespec, [
     AC_TRY_COMPILE([
 #include <sys/types.h>
diff --git a/source/smbd/aio.c b/source/smbd/aio.c
index 7427536..c3fd0a2 100644
--- a/source/smbd/aio.c
+++ b/source/smbd/aio.c
@@ -24,7 +24,17 @@
 
 /* The signal we'll use to signify aio done. */
 #ifndef RT_SIGNAL_AIO
-#define RT_SIGNAL_AIO (SIGRTMIN+3)
+#ifndef SIGRTMIN
+#define SIGRTMIN	NSIG
+#endif
+#define RT_SIGNAL_AIO	(SIGRTMIN+3)
+#endif
+
+#ifndef HAVE_STRUCT_SIGEVENT_SIGEV_VALUE_SIVAL_PTR
+#ifdef HAVE_STRUCT_SIGEVENT_SIGEV_VALUE_SIGVAL_PTR
+#define sival_int	sigval_int
+#define sival_ptr	sigval_ptr
+#endif
 #endif
 
 /****************************************************************************
@@ -581,6 +591,11 @@ static bool handle_aio_completed(struct aio_extra *aio_ex, int *perr)
 {
 	int err;
 
+	if(!aio_ex) {
+	        DEBUG(3, ("handle_aio_completed: Non-existing aio_ex passed\n"));
+		return false;
+	}
+
 	/* Ensure the operation has really completed. */
 	if (SMB_VFS_AIO_ERROR(aio_ex->fsp, &aio_ex->acb) == EINPROGRESS) {
 		DEBUG(10,( "handle_aio_completed: operation mid %u still in "
diff --git a/source/smbd/open.c b/source/smbd/open.c
index ea10cdc..afe8d5e 100644
--- a/source/smbd/open.c
+++ b/source/smbd/open.c
@@ -1854,7 +1854,8 @@ NTSTATUS open_file_ntcreate(connection_struct *conn,
 
 	/* Handle strange delete on close create semantics. */
 	if ((create_options & FILE_DELETE_ON_CLOSE)
-	    && (is_ntfs_stream_name(fname)
+	    && (((conn->fs_capabilities & FILE_NAMED_STREAMS)
+			&& is_ntfs_stream_name(fname))
 		|| can_set_initial_delete_on_close(lck))) {
 		status = can_set_delete_on_close(fsp, True, new_dos_attributes);
 
@@ -2118,7 +2119,9 @@ NTSTATUS open_directory(connection_struct *conn,
 		 (unsigned int)create_disposition,
 		 (unsigned int)file_attributes));
 
-	if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) && is_ntfs_stream_name(fname)) {
+	if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS) &&
+			(conn->fs_capabilities & FILE_NAMED_STREAMS) &&
+			is_ntfs_stream_name(fname)) {
 		DEBUG(2, ("open_directory: %s is a stream name!\n", fname));
 		return NT_STATUS_NOT_A_DIRECTORY;
 	}
@@ -2961,7 +2964,8 @@ NTSTATUS create_file(connection_struct *conn,
 			 * Check to see if this is a mac fork of some kind.
 			 */
 
-			if (is_ntfs_stream_name(fname)) {
+			if ((conn->fs_capabilities & FILE_NAMED_STREAMS) &&
+					is_ntfs_stream_name(fname)) {
 				status = NT_STATUS_OBJECT_PATH_NOT_FOUND;
 				goto fail;
 			}
diff --git a/source/smbd/quotas.c b/source/smbd/quotas.c
index f47e89b..b6f748d 100644
--- a/source/smbd/quotas.c
+++ b/source/smbd/quotas.c
@@ -544,7 +544,7 @@ static bool nfs_quotas(char *nfspath, uid_t euser_id, SMB_BIG_UINT *bsize, SMB_B
 	*bsize = gqr.getquota_rslt_u.gqr_rquota.rq_bsize;
 	*dsize = D.dqb_bsoftlimit;
 
-	if (D.dqb_curblocks == D.dqb_curblocks == 1)
+	if (D.dqb_curblocks == 1)
 		*bsize = 512;
 
 	if (D.dqb_curblocks > D.dqb_bsoftlimit) {
@@ -1104,7 +1104,7 @@ static bool nfs_quotas(char *nfspath, uid_t euser_id, SMB_BIG_UINT *bsize, SMB_B
 	*bsize = gqr.getquota_rslt_u.gqr_rquota.rq_bsize;
 	*dsize = D.dqb_bsoftlimit;
 
-	if (D.dqb_curblocks == D.dqb_curblocks == 1)
+	if (D.dqb_curblocks == 1)
 		*bsize = DEV_BSIZE;
 
 	if (D.dqb_curblocks > D.dqb_bsoftlimit) {
diff --git a/source/torture/cmd_vfs.c b/source/torture/cmd_vfs.c
index 2840088..dddd5be 100644
--- a/source/torture/cmd_vfs.c
+++ b/source/torture/cmd_vfs.c
@@ -272,7 +272,7 @@ static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
 		flagstr++;
 	}
 	if ((flags & O_CREAT) && argc == 4) {
-		if (sscanf(argv[3], "%o", &mode) == 0) {
+		if (sscanf(argv[3], "%ho", (unsigned short *)&mode) == 0) {
 			printf("open: error=-1 (invalid mode!)\n");
 			return NT_STATUS_UNSUCCESSFUL;
 		}
@@ -989,7 +989,7 @@ static NTSTATUS cmd_mknod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
 		return NT_STATUS_OK;
 	}
 
-	if (sscanf(argv[2], "%o", &mode) == 0) {
+	if (sscanf(argv[2], "%ho", (unsigned short *)&mode) == 0) {
 		printf("open: error=-1 (invalid mode!)\n");
 		return NT_STATUS_UNSUCCESSFUL;
 	}
diff --git a/source/utils/sharesec.c b/source/utils/sharesec.c
index 9409690..46f9ecd 100644
--- a/source/utils/sharesec.c
+++ b/source/utils/sharesec.c
@@ -401,7 +401,7 @@ static void sort_acl(SEC_ACL *the_acl)
 
 static int change_share_sec(TALLOC_CTX *mem_ctx, const char *sharename, char *the_acl, enum acl_mode mode)
 {
-	SEC_DESC *sd;
+	SEC_DESC *sd = NULL;
 	SEC_DESC *old = NULL;
 	size_t sd_size = 0;
 	uint32 i, j;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list