1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-03 12:58:35 +03:00

4118 Commits

Author SHA1 Message Date
Volker Lendecke
344941bb49 Move the responsibility to keep the cwd from srv_dfs_nt to msdfs.c
(This used to be commit 7db382588ac90fe250b72cf4cd07afb39fcae7c0)
2008-06-24 10:31:35 +02:00
Volker Lendecke
13ebf889b3 Remove the "exists" parameter from create_msdfs_link
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)
2008-06-22 20:45:53 +02:00
Volker Lendecke
a7e284c62d Reduce memory usage in form_junctions() a little bit
(This used to be commit d031e6d8cabe2dd0b29e90d173d45843e145176a)
2008-06-22 20:45:53 +02:00
Volker Lendecke
b4587a7c78 Fix an abort in junction_to_local_path
(This used to be commit 587bd636cb70d09600111ced040adaa55af35d0f)
2008-06-22 18:37:41 +02:00
Volker Lendecke
65f7457583 Fix a crash in _dfs_Enum
(cherry picked from commit 4a996476297963d4cb300b4d45c23e83a493c339)
(This used to be commit 86cae83a7db87063ecd6e58eaa15f11441c45040)
2008-06-22 13:08:47 +02:00
Volker Lendecke
62f69165f6 Fix an uninitialized variable access in callers of parse_msdfs_symlink
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)
2008-06-22 13:07:51 +02:00
Volker Lendecke
a8ae3bc317 Fix a double-closedir() in form_junctions()
(This used to be commit 1d7ad0dea7ebf7a46af6e695797e5132264307d6)
2008-06-21 16:49:00 +02:00
Volker Lendecke
be5dc4f3c8 Remove current_user references from nttrans.c
(This used to be commit 5f8a5e68ea166fbeda3af6e5ec381ec09d06f0f6)
2008-06-19 18:51:38 +02:00
Volker Lendecke
52664f62ba Remove current_user references from trans2.c
This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function.
(This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
2008-06-19 18:51:38 +02:00
Volker Lendecke
e901466061 Remove some current_user references from trans2.c
(This used to be commit 4c31cc0b62f532eafdc44398b29b773ad8cb0646)
2008-06-19 18:51:38 +02:00
Volker Lendecke
f1cd0bdbcc Remove reference to current_user from reply.c
(This used to be commit e895e44cc7d675d128430fb53c138e5e8736e59f)
2008-06-19 18:51:38 +02:00
Volker Lendecke
40f5eab5eb Wrap the unix token info in a unix_user_token in auth_serversupplied_info
No functional change, this is a preparation for more current_user ref removal
(This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
2008-06-19 18:51:37 +02:00
Volker Lendecke
e40b6e296a Remove the "current_user" arg from fsp_belongs_conn
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)
2008-06-19 18:51:37 +02:00
Volker Lendecke
49ca8efa91 Remove the "current_user" arg from check_fsp
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)
2008-06-19 18:51:37 +02:00
Volker Lendecke
156cd09899 RWX on a file does not imply DELETE access
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)
2008-06-19 15:27:41 +02:00
Volker Lendecke
066f6c856f Fix checks in can_delete_file_in_directory()
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)
2008-06-19 15:27:41 +02:00
Volker Lendecke
7df309c339 Remove some code
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)
2008-06-19 12:03:31 +02:00
Michael Adam
aedce263a8 file_access: add a function header comment for can_access_file_acl().
Michael
(This used to be commit 7d5fb873bde0a84de522650945effeaf602c759e)
2008-06-18 00:06:46 +02:00
Michael Adam
24e7f40687 smbd/dir.c: remove unneeded stat buf parameter from user_can_read_file()
This is not needed anymore since user_can_access_file_acl() ist used.

Michael
(This used to be commit 3c349f773a52e3de693d3bb79f5060c9f1e01e41)
2008-06-18 00:02:28 +02:00
Michael Adam
b172eb1d47 file_access: remove unneeded stat buf parameter from can_access_file_acl().
This is a security descriptor level function only.

Michael
(This used to be commit 5931540fa1681f026fed42df387d17e43c493c47)
2008-06-17 23:58:49 +02:00
Volker Lendecke
d314f7eab5 Add some debug to notify
(This used to be commit 4394235378f85ccb911d662d95f1545a14240bdf)
2008-06-17 10:48:40 +02:00
Volker Lendecke
b6c125e4e0 Remove the current_user references from open.c
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)
2008-06-15 13:41:16 +02:00
Volker Lendecke
d49de28f11 Remove the current_user reference from fake_file.c
The current vuid is not only available there, it is also in the current
smb_request structure.
(This used to be commit c8fd5eef32a86888c7a28317f0fdf717a26b7d4c)
2008-06-15 13:37:53 +02:00
Volker Lendecke
3a5e1cacf1 Remove unused "extern struct current_user" from dir.c
(This used to be commit b92cfd19b459caad34229dfe941cf15fd14a5ce0)
2008-06-15 11:40:33 +02:00
Volker Lendecke
704c99f340 Remove the reference to current_user from file_access.c
conn holds the current user info
(This used to be commit 093bc5f2b33ebf90e04bc17e51b1695b1b932bf2)
2008-06-15 11:39:31 +02:00
Volker Lendecke
101162257c Move connection-specific vuid cache clear to uid.c
(This used to be commit 1025f687910ce40283c7344ed67ebd5bf31217b7)
2008-06-14 19:49:49 +02:00
Volker Lendecke
82d4806ce6 Slight refactoring for check_user_ok: It only needs vuid and server_info
(This used to be commit 68944ea1ea7a0a63b08cbfc703f5ee29d2627696)
2008-06-14 19:49:49 +02:00
Volker Lendecke
ee6ee96af2 Group the access checks together in check_user_ok()
(This used to be commit 45662b5e8b3c7bc39cb33c5d7deb7e9a91f30a8b)
2008-06-14 19:49:49 +02:00
Volker Lendecke
b935f4a2dc Consistently use snum in check_user_ok
Most already used it, these two still used SNUM(conn), where the only caller of
this routine (change_to_user) had set snum = SNUM(conn).
(This used to be commit b14e59bfdbfb62494002e22d0665c4d420484245)
2008-06-14 19:49:49 +02:00
Volker Lendecke
ad538bf0ab Compare the pointer "vuser" to NULL, not 0
(This used to be commit 5c916549f002d5e4e06f24d396a2bdca73d384c7)
2008-06-14 19:49:49 +02:00
Jeremy Allison
d36434f312 Security fix for CVE-2008-1105: Boundary failure when parsing SMB responses
can result in a buffer overrun.
Jeremy.
(This used to be commit 23b825e9d2c74c5b940cf4d3aa56c18692259972)
2008-05-28 09:31:42 -07:00
Günther Deschner
611072fc1c Fix Bug #5285. (libcap header mismatch)
Can someone with gpfs available test this ? The only codepath using this
function is the modules/gpfs.c module. The fix resolves at least the build
issues Samba has with recent kernel / libcap versions by using the portable
cap_get_proc()/cap_set_proc() interface (instead of using capget/capset).

Guenther
(This used to be commit 177955141247a4eb56ba0d82dc1add7f52175c40)
2008-05-28 13:22:52 +02:00
Jeremy Allison
6811dc3fc2 Allow server manager to close open files selected by id.
Jeremy.
(This used to be commit 7eeed8bb41059ec2bddedb6a71deddeec7f33af2)
2008-05-27 11:25:46 -07:00
Jeremy Allison
ae51353107 Re-enable the evil "aio write behind" parameter.
Jeremy.
(This used to be commit 5d22ca00bcdf49dcb35468400ac8cc3c57808d0d)
2008-05-26 21:13:05 -07:00
Volker Lendecke
50ab871813 Remove some references to get_current_username() and current_user_info
(This used to be commit 344d69f95e217d16213eaa6b53141af6ab459708)
2008-05-25 11:43:57 +02:00
Volker Lendecke
320fadd8fc Remove the reference to current_user_info from share_access.c
This required to pass around the domain a bit
(This used to be commit 17b0db20d28d1b737c5e86b78106657e8ca5ce9c)
2008-05-25 11:43:57 +02:00
Volker Lendecke
f4d8141174 Remove reference to current_user_info from lanman.c
(This used to be commit f52d7c3faba4aa815d95883775f4859251406161)
2008-05-25 11:43:56 +02:00
Volker Lendecke
c38a1e06b5 Fix type error in debug message
(This used to be commit eb281532b1721ded39c39bb00c26202080dcd735)
2008-05-20 23:08:42 +02:00
Tim Prouty
fb37f15600 Cleanup size_t return values in callers of convert_string_allocate
This patch is the second iteration of an inside-out conversion to cleanup
functions in charcnv.c returning size_t == -1 to indicate failure.
(This used to be commit 6b189dabc562d86dcaa685419d0cb6ea276f100d)
2008-05-20 22:40:13 +02:00
Jeremy Allison
8ca459e067 Fix bug #5477 - recvfile code was broken.
Jeremy.
(This used to be commit 830337f054a6c0646d85df33d9958e99283e727a)
2008-05-20 12:09:48 -07:00
Karolin Seeger
bdcc7ddc1e sesssetup.c: Add debug message.
Log when we kill other smbd sessions like when we hit the VC == 0 case.
This one fixes BUG #5476.
Initial patch from Björn Jacke <bj@sernet.de>.

Karolin
(This used to be commit 1429f3b7cf293994b334052428fcdadcee162dea)
2008-05-20 11:09:06 +02:00
Jeremy Allison
c7f5d24d81 Restructuring of code to fix #5460. Remove search
by name code from conn, we were already doing the
same check in the dfs_redirect() function, so move
it into parse_dfs_path() instead.
Jeremy.
(This used to be commit 8a7c6df122c5e4a1d0f74ab0f1bc9376a0a8bcb1)
2008-05-19 13:11:00 -07:00
Volker Lendecke
e58729f0ea Simplify fake_file logic
(This used to be commit 93111ea0a1191e8547ad6cf112e2699d3bb3799b)
2008-05-16 23:18:50 +02:00
Jeremy Allison
96ef630ba3 Ensure we don't keep searching for sharename if it's
not the start of the list.
Jeremy.
(This used to be commit 15857534b76bc66ad122510100aa224f17250465)
2008-05-14 14:10:05 -07:00
Jeremy Allison
b8398d19af Fix debug message.
Jeremy.
(This used to be commit 08d168f0e5b8fb07e95a5118a839e0da53e9d363)
2008-05-13 15:25:26 -07:00
Jeremy Allison
b833615721 Second part of patch for bug #5460. Cope with pathnames
that don't look like \xxx\yyy, cope with arbitrary length.
Jeremy.
(This used to be commit 635035d999fcd8e06b70c8cb1137127c289dc9e6)
2008-05-13 15:02:11 -07:00
Jeremy Allison
bafe8d22fd Fix bug #5460. The problem is RHEL5.0 shipped a CIFS client
that sets the DFS bit on pathnames but doesn't
send DFS paths. This causes lookups to fail as
the smbd/msdfs.c code now just eats the first
two parts of the pathname and uses the rest as
the local path. The previous hostname check
used to protect us from that as we knew that
when the hostname was invalid it was a local
path (and a broken client).
I didn't want to put that check back in, but
came up with another idea - even though the
hostname can be a different one, the sharename
must be valid on this machine. So we can check
for a valid sharename instead.
Jeremy.
(This used to be commit e1cda82f6f7de3306a653af920756c1640057f2d)
2008-05-13 14:01:19 -07:00
Volker Lendecke
aac9e7d1ca With force user, we have the same base token for all vuids
(This used to be commit 0f19bc3f65bfc132aea1de1e76fcb4ee625a050f)
2008-05-11 00:25:27 +02:00
Volker Lendecke
6b6bb484a8 Fix a memleak in new auth_serversupplied code
(This used to be commit f23e970848b6e6655453fa65f6f160f624acfcff)
2008-05-11 00:23:36 +02:00
Volker Lendecke
4f9b325fb2 Fix a memleak
(This used to be commit 9891c7c30858a3bea9adbea1c5bfa5c6b1b85221)
2008-05-10 23:27:21 +02:00