[SCM] Samba Shared Repository - branch master updated
Volker Lendecke
vlendec at samba.org
Tue Sep 25 16:23:03 MDT 2012
The branch, master has been updated
via 7600fd8 s3: Factor out calculate_open_access_flags
via e0de443 s3: Slightly simplify smbd_smb2_request_process_negprot
via 1b403d4 s3: Fix some blank line endings
via 11af163 s3: Fix a typo
via 0feb341 pysmbd: Fix cut&paste errors
from 8090046 pyntdb: Fix init function for ntdb python module.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7600fd8b0cef3f1de99204ebdd14115a5f36c958
Author: Volker Lendecke <vl at samba.org>
Date: Tue Sep 4 09:22:49 2012 +0200
s3: Factor out calculate_open_access_flags
Autobuild-User(master): Volker Lendecke <vl at samba.org>
Autobuild-Date(master): Wed Sep 26 00:22:56 CEST 2012 on sn-devel-104
commit e0de443af80ee6231f4deddc5c7b4534d8c11f83
Author: Volker Lendecke <vl at samba.org>
Date: Wed Sep 12 16:43:36 2012 +0200
s3: Slightly simplify smbd_smb2_request_process_negprot
Remove a nested if-statement
commit 1b403d46c7a94645c72fead6758d81f5b20298cc
Author: Volker Lendecke <vl at samba.org>
Date: Mon Sep 24 14:11:05 2012 -0700
s3: Fix some blank line endings
commit 11af163df89f504da6d9b0878fe99e2941a1d6d6
Author: Volker Lendecke <vl at samba.org>
Date: Tue Sep 25 10:34:49 2012 -0700
s3: Fix a typo
commit 0feb341502ee5ff1f7d6cff41496a99ba47280d2
Author: Volker Lendecke <vl at samba.org>
Date: Mon Sep 24 14:18:42 2012 -0700
pysmbd: Fix cut&paste errors
-----------------------------------------------------------------------
Summary of changes:
source3/smbd/open.c | 48 ++++++++++++++++++++++++++++--------------
source3/smbd/pysmbd.c | 17 ++++++++-------
source3/smbd/smb2_negprot.c | 8 ++----
3 files changed, 44 insertions(+), 29 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 34d5526..2785d6f 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1869,6 +1869,35 @@ static int disposition_to_open_flags(uint32_t create_disposition)
return ret;
}
+static int calculate_open_access_flags(uint32_t access_mask,
+ int oplock_request,
+ uint32_t private_flags)
+{
+ int flags;
+
+ /*
+ * Note that we ignore the append flag as append does not
+ * mean the same thing under DOS and Unix.
+ */
+
+ if ((access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) ||
+ (oplock_request & FORCE_OPLOCK_BREAK_TO_NONE)) {
+ /* DENY_DOS opens are always underlying read-write on the
+ file handle, no matter what the requested access mask
+ says. */
+ if ((private_flags & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS) ||
+ access_mask & (FILE_READ_ATTRIBUTES|FILE_READ_DATA|
+ FILE_READ_EA|FILE_EXECUTE)) {
+ flags = O_RDWR;
+ } else {
+ flags = O_WRONLY;
+ }
+ } else {
+ flags = O_RDONLY;
+ }
+ return flags;
+}
+
/****************************************************************************
Open a file with a share mode. Passed in an already created files_struct *.
****************************************************************************/
@@ -2123,21 +2152,8 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
* mean the same thing under DOS and Unix.
*/
- if ((access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) ||
- (oplock_request & FORCE_OPLOCK_BREAK_TO_NONE)) {
- /* DENY_DOS opens are always underlying read-write on the
- file handle, no matter what the requested access mask
- says. */
- if ((private_flags & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS) ||
- access_mask & (FILE_READ_ATTRIBUTES|FILE_READ_DATA|
- FILE_READ_EA|FILE_EXECUTE)) {
- flags = O_RDWR;
- } else {
- flags = O_WRONLY;
- }
- } else {
- flags = O_RDONLY;
- }
+ flags = calculate_open_access_flags(access_mask, oplock_request,
+ private_flags);
/*
* Currently we only look at FILE_WRITE_THROUGH for create options.
@@ -2592,7 +2608,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
}
/*
- * At this point onwards, we can guarentee that the share entry
+ * At this point onwards, we can guarantee that the share entry
* is locked, whether we created the file or not, and that the
* deny mode is compatible with all current opens.
*/
diff --git a/source3/smbd/pysmbd.c b/source3/smbd/pysmbd.c
index 9b9b358..4012e6e 100644
--- a/source3/smbd/pysmbd.c
+++ b/source3/smbd/pysmbd.c
@@ -1,7 +1,7 @@
/*
Unix SMB/CIFS implementation.
- Set NT and POSIX ACLs and other VFS operations from Python
-
+ Set NT and POSIX ACLs and other VFS operations from Python
+
Copyrigyt (C) Andrew Bartlett 2012
Copyright (C) Jeremy Allison 1994-2009.
Copyright (C) Andreas Gruenbacher 2002.
@@ -51,7 +51,7 @@ static NTSTATUS set_sys_acl_no_snum(const char *fname,
}
if (!(conn->params = talloc(conn, struct share_params))) {
- DEBUG(0,("get_nt_acl_no_snum: talloc() failed!\n"));
+ DEBUG(0,("set_sys_acl_no_snum: talloc() failed!\n"));
TALLOC_FREE(conn);
return NT_STATUS_NO_MEMORY;
}
@@ -65,7 +65,8 @@ static NTSTATUS set_sys_acl_no_snum(const char *fname,
ret = SMB_VFS_SYS_ACL_SET_FILE( conn, fname, acltype, theacl);
if (ret != 0) {
status = map_nt_error_from_unix_common(ret);
- DEBUG(0,("set_nt_acl_no_snum: fset_nt_acl returned zero.\n"));
+ DEBUG(0,("set_sys_acl_no_snum: SMB_VFS_SYS_ACL_SET_FILE "
+ "returned zero.\n"));
}
conn_free(conn);
@@ -216,17 +217,17 @@ static SMB_ACL_T make_simple_acl(gid_t gid, mode_t chmod_mode)
TALLOC_FREE(acl);
return NULL;
}
-
+
if (sys_acl_set_tag_type(entry, SMB_ACL_GROUP) != 0) {
TALLOC_FREE(acl);
return NULL;
}
-
+
if (sys_acl_set_qualifier(entry, &gid) != 0) {
TALLOC_FREE(acl);
return NULL;
}
-
+
if (sys_acl_set_permset(entry, &mode_group) != 0) {
TALLOC_FREE(acl);
return NULL;
@@ -379,7 +380,7 @@ static PyObject *py_smbd_get_nt_acl(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "si", &fname, &security_info_wanted))
return NULL;
-
+
sd = get_nt_acl_no_snum(tmp_ctx, fname, security_info_wanted);
py_sd = py_return_ndr_struct("samba.dcerpc.security", "descriptor", sd, sd);
diff --git a/source3/smbd/smb2_negprot.c b/source3/smbd/smb2_negprot.c
index 11ec2a5..6adc581 100644
--- a/source3/smbd/smb2_negprot.c
+++ b/source3/smbd/smb2_negprot.c
@@ -255,11 +255,9 @@ NTSTATUS smbd_smb2_request_process_negprot(struct smbd_smb2_request *req)
}
if ((protocol >= PROTOCOL_SMB2_24) &&
- (lp_smb_encrypt(-1) != SMB_SIGNING_OFF))
- {
- if (in_capabilities & SMB2_CAP_ENCRYPTION) {
- capabilities |= SMB2_CAP_ENCRYPTION;
- }
+ (lp_smb_encrypt(-1) != SMB_SIGNING_OFF) &&
+ (in_capabilities & SMB2_CAP_ENCRYPTION)) {
+ capabilities |= SMB2_CAP_ENCRYPTION;
}
/*
--
Samba Shared Repository
More information about the samba-cvs
mailing list