Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 30b83245a22ebd5e4fa4739dd2aa1805373a7eb2)
|
|
(This used to be commit 9d3217bb28765e107c230fb90b578dcc6f5d4375)
|
|
(This used to be commit f91a3e0f7b7737c1d0667cd961ea950e2b93e592)
|
|
scan_directory).
Michael
(This used to be commit 15fc2427f91da697e0e91f7f34b0f0c6e230a9a5)
|
|
map_nt_error_from_unix() now assumes that it is called in
an error path and returns an error even for a given errno == 0.
The original behaviour of unix_convert() used the mapping
of errno == 0 ==> NT_STATUS_OK to return success through
an error path.
I think this must have been an oversight, and unix_convert() worked
only by coincidence (or because explicitly using the knowledge
of the conceptually wrong working of map_nt_error_from_unix().
This patch puts this straight by not interpreting errno == 0
as an error condition and proceeding in that case.
Jeremy - please check!
Michael
(This used to be commit ec5956ab0df1b3f567470b2481b73da9c3c67371)
|
|
one of our virtualised functions, such as db_open(), but error is only
set when a system call fails, and it is not uncommon for us to fail a
function internally without ever making a system call. That led to us
passing back success when a function had in fact failed.
I found two places where we relied on map_nt_error_from_unix()
returning success when errno==0, but lots and lots of places where we
relied on the reverse, so I fixed those two places.
map_nt_error_from_unix() will now always return an error, returning
NT_STATUS_UNSUCCESSFUL if errno is 0
(cherry picked from commit 69d40ca4c1af925d4b0e59ddc69ef8c26e6501d1)
(This used to be commit 834684a524a24bb4eb46b4af583d39947dc87d95)
|
|
I think chain_reply() is one of the most tricky parts of Samba. This recursion
needs to go away, we need to sequentially walk the chain list.
(This used to be commit af2b01d85188d2301580643f7e862e3e3988aadc)
|
|
Untested code is broken code.... Test follows later, it's quite an intrusive
change to libsmb/
(This used to be commit 0ff16e8573f3c312f10fc723648319fa1f514ac0)
|
|
(This used to be commit 1970eed1b79a5d9dc45eb96098d653ad62a20871)
|
|
(This used to be commit c63cb78b4c8a283c0eebe37ff2f60ddbfbfaac4a)
|
|
(This used to be commit e115e2582256c34e6905afc8c2929efd6ea61088)
|
|
case files. Reported by Daniel Johnson <Progman2000@usa.net>.
The smb_set_file_time() call to set the filetimes is failing
because it's using the unmodified name passed in by the
client, not the modified name (matching case on the
disk) that comes out from create_file().
Jeremy.
(This used to be commit 1706a33e78347d14a8b09fd21b87d57bad543bcd)
|
|
then don't allow create_file() to call down to
create_file_unixpath() with a stream name.
Jeremy.
(This used to be commit 167d611b525db6d103a7f83fd5a19792be4e7745)
|
|
This fixes various build warnings on our platform. I'm sure I haven't
caught them all, but it's a start.
(This used to be commit 6b73f259cb67d9dda9127907d706f9244a871fa3)
|
|
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 9abc9dc4dc13bd3e42f98eff64eacf24b51f5779)
|
|
This scans the list of pipes registered via rpc_pipe_register_commands instead
of using static tables.
(This used to be commit 283e6039989adea1c8921b3600b410cb67b6492a)
|
|
"acl group control"
parameter and make it only apply to owning group. Also added man page fix.
Jeremy.
(This used to be commit e98e080bad2c8b9f038a8f2dffcfeba1d5f392ce)
|
|
Jeremy.
(This used to be commit d85cbdbe296ec6de5bdbd66a90ca41345f55c837)
|
|
It does not really need the whole smb_request
(This used to be commit d3facf4cbdb2915168e91d64c2d8320f67524df8)
|
|
(This used to be commit 50427cbf6345d3f671e9ea321089c4b4244df972)
|
|
(This used to be commit 8dd94d448bc5ad067024c56c6ef498bc88a396b2)
|
|
(This used to be commit 510f45d01a19ce1c226755ac42a328241098b2e0)
|
|
(This used to be commit e2009c0b8dc229faf98ce189d2a906e58d3e1e63)
|
|
current_user
Reason: This is the main user of p->current_user which I would like to remove
(This used to be commit fd43059b3dfa8cdac9814de1c76f963ba5de9bcb)
|
|
Michael
(This used to be commit fae4c21b14b9d288e06f6b4b4e1527e2c6d58dca)
|
|
leaving panic or more appropriate action to callers.
This can for instance happen in a clustered setup, when
ctdb is not running. This allows for a more defined behaviour,
reducing chicken-egg-problems.
Michael
(This used to be commit 3b6541ff483d5fea4fd30bb6a01a560c05028d4e)
|
|
(This used to be commit 7db382588ac90fe250b72cf4cd07afb39fcae7c0)
|
|
Jeremy, setting "exists" to True in _dfs_Add prevented the initial creation of
a new symlink for me, because the SMB_VFS_UNLINK failed. This also exists in
3.2. I only check it into 3.3 as I would like you to look at it first.
Thanks,
Volker
(This used to be commit f58b098a4172949018e84c4d0c722d6eb9bba514)
|
|
(This used to be commit d031e6d8cabe2dd0b29e90d173d45843e145176a)
|
|
(This used to be commit 587bd636cb70d09600111ced040adaa55af35d0f)
|
|
(cherry picked from commit 4a996476297963d4cb300b4d45c23e83a493c339)
(This used to be commit 86cae83a7db87063ecd6e58eaa15f11441c45040)
|
|
At least form_junctions() does not initialize refcount, and I don't see it in
get_referred_path(). For the latters, the callers might initialize it. But even
if they did, I think parse_msdfs_symlink() should unconditionally return the
number of referrals it found. I don't think it makes sense to count them up
from somewhere else.
(This used to be commit 73172113484a2c6c9af014f59e84707716c61a7d)
|
|
(This used to be commit 1d7ad0dea7ebf7a46af6e695797e5132264307d6)
|
|
(This used to be commit 5f8a5e68ea166fbeda3af6e5ec381ec09d06f0f6)
|
|
This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function.
(This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
|
|
(This used to be commit 4c31cc0b62f532eafdc44398b29b773ad8cb0646)
|
|
(This used to be commit e895e44cc7d675d128430fb53c138e5e8736e59f)
|
|
No functional change, this is a preparation for more current_user ref removal
(This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
|
|
fsp_belongs_conn only used the vuid struct member anyway, and this is available
in the smb_request structure as well.
(This used to be commit 64e9372ab997739d46669c0cc4a4c6edb11d5e64)
|
|
check_fsp only used the vuid struct member anyway, and this is available in the
smb_request structure as well.
(This used to be commit 8d364c4c3311b406847158fc37e9208d298cf8ba)
|
|
Without this the changed checks in can_delete_file_in_directory give DELETE
access where there is none. So we can end up granting the ntcreate&x preparing
the unlink where we should not, which leads to a NT_STATUS_ACCESS_DENIED at
close time later, which in turn does *not* give the access denied error message
in the Windows GUI.
can_delete_file_in_directory will grant access now by looking at the directory
permissions.
(This used to be commit 51b5364c2afb3a18df4bec2bc1624760ccc01676)
|
|
With at least NFSv4 ACLs around the write permission for the owner is a bogus
check if we can delete a file in a directory. Like in Windows, there are two
ways which can grant us such: First, the DELETE permission on the file itself,
or if that does not help, the DELETE_CHILD permission on the directory. It
might be a bit more code that runs, but essentially we should end up with the
same set of syscalls in the non-acl case.
(This used to be commit daa9b056645a45edfb3a70e3536011ebe5678970)
|
|
Did not measure it, but I think a single write is better than a read and a
conditional branch
(This used to be commit abe1bed665ad8d1dbf9177dcbb9344b25df9594c)
|
|
Michael
(This used to be commit 7d5fb873bde0a84de522650945effeaf602c759e)
|
|
This is not needed anymore since user_can_access_file_acl() ist used.
Michael
(This used to be commit 3c349f773a52e3de693d3bb79f5060c9f1e01e41)
|
|
This is a security descriptor level function only.
Michael
(This used to be commit 5931540fa1681f026fed42df387d17e43c493c47)
|
|
(This used to be commit 4394235378f85ccb911d662d95f1545a14240bdf)
|
|
current_user_info was "only" used in a debug msg, and current_user.ut.uid is
also available via conn->server_info
(This used to be commit d0386914ff0f7b0f1edc3302fdc6a25f211712fa)
|
|
The current vuid is not only available there, it is also in the current
smb_request structure.
(This used to be commit c8fd5eef32a86888c7a28317f0fdf717a26b7d4c)
|
|
(This used to be commit b92cfd19b459caad34229dfe941cf15fd14a5ce0)
|