summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2008-08-12Make sure to always set errno on error path in OpenDir (and hence ↵Michael Adam1-0/+1
scan_directory). Michael (This used to be commit 15fc2427f91da697e0e91f7f34b0f0c6e230a9a5)
2008-08-12Fix unix_convert() for "*" after changing map_nt_error_from_unix().Michael Adam1-1/+1
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)
2008-08-12I found lots of places where we assume error will be set when callingAndrew Tridgell1-2/+2
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)
2008-08-10fix smb_len calculation for chained requestsVolker Lendecke1-3/+5
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)
2008-08-10Fix andx offset calculation for more than 2 chained requestsVolker Lendecke1-1/+7
Untested code is broken code.... Test follows later, it's quite an intrusive change to libsmb/ (This used to be commit 0ff16e8573f3c312f10fc723648319fa1f514ac0)
2008-07-27Fix a debug messageVolker Lendecke1-1/+1
(This used to be commit 1970eed1b79a5d9dc45eb96098d653ad62a20871)
2008-07-27Remove a pointless CONST_DISCARDVolker Lendecke1-1/+1
(This used to be commit c63cb78b4c8a283c0eebe37ff2f60ddbfbfaac4a)
2008-07-27Make create_conn_struct() publicVolker Lendecke1-1/+1
(This used to be commit e115e2582256c34e6905afc8c2929efd6ea61088)
2008-07-25Fix bug creating files using DOS clients with mixedJeremy Allison1-1/+1
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)
2008-07-24If we're not allowing streams on this conn ptr,Jeremy Allison1-0/+5
then don't allow create_file() to call down to create_file_unixpath() with a stream name. Jeremy. (This used to be commit 167d611b525db6d103a7f83fd5a19792be4e7745)
2008-07-22Fix various build warningsZach Loafman1-1/+2
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)
2008-07-20Refactoring: Change calling conventions for cli_rpc_pipe_open_noauthVolker Lendecke1-2/+3
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS (This used to be commit 9abc9dc4dc13bd3e42f98eff64eacf24b51f5779)
2008-07-19Introduce is_known_pipenameVolker Lendecke2-46/+2
This scans the list of pipes registered via rpc_pipe_register_commands instead of using static tables. (This used to be commit 283e6039989adea1c8921b3600b410cb67b6492a)
2008-07-03Patch from SATOH Fumiyasu <fumiyas@osstech.co.jp> for bug #5202. Re-activate ↵Jeremy Allison1-14/+26
"acl group control" parameter and make it only apply to owning group. Also added man page fix. Jeremy. (This used to be commit e98e080bad2c8b9f038a8f2dffcfeba1d5f392ce)
2008-07-01Two more fixes from Jim Brown <jim.brown@miami.edu> for SGI compiler warnings.Jeremy Allison1-1/+1
Jeremy. (This used to be commit d85cbdbe296ec6de5bdbd66a90ca41345f55c837)
2008-06-28Let send_trans_reply work on only the inbufVolker Lendecke2-53/+56
It does not really need the whole smb_request (This used to be commit d3facf4cbdb2915168e91d64c2d8320f67524df8)
2008-06-28Factor out create_outbuf, creating an outbuf just given an inbufVolker Lendecke1-9/+20
(This used to be commit 50427cbf6345d3f671e9ea321089c4b4244df972)
2008-06-26Fix a debug messageVolker Lendecke1-1/+1
(This used to be commit 8dd94d448bc5ad067024c56c6ef498bc88a396b2)
2008-06-26Remove current_user reference from printfsp.cVolker Lendecke2-2/+2
(This used to be commit 510f45d01a19ce1c226755ac42a328241098b2e0)
2008-06-26remove unused extern current_user from lanman.cVolker Lendecke1-2/+0
(This used to be commit e2009c0b8dc229faf98ce189d2a906e58d3e1e63)
2008-06-26Change print_access_check to take auth_serversupplied_info instead of ↵Volker Lendecke1-6/+12
current_user Reason: This is the main user of p->current_user which I would like to remove (This used to be commit fd43059b3dfa8cdac9814de1c76f963ba5de9bcb)
2008-06-26smbd: untangle logic in smbd_messaging_context() slightly.Michael Adam1-2/+5
Michael (This used to be commit fae4c21b14b9d288e06f6b4b4e1527e2c6d58dca)
2008-06-26smbd: don't panic if messaging_init() fails but return NULLMichael Adam1-1/+1
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)
2008-06-24Move the responsibility to keep the cwd from srv_dfs_nt to msdfs.cVolker Lendecke1-17/+53
(This used to be commit 7db382588ac90fe250b72cf4cd07afb39fcae7c0)
2008-06-22Remove the "exists" parameter from create_msdfs_linkVolker Lendecke1-11/+11
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-22Reduce memory usage in form_junctions() a little bitVolker Lendecke1-0/+1
(This used to be commit d031e6d8cabe2dd0b29e90d173d45843e145176a)
2008-06-22Fix an abort in junction_to_local_pathVolker Lendecke1-1/+1
(This used to be commit 587bd636cb70d09600111ced040adaa55af35d0f)
2008-06-22Fix a crash in _dfs_EnumVolker Lendecke1-0/+2
(cherry picked from commit 4a996476297963d4cb300b4d45c23e83a493c339) (This used to be commit 86cae83a7db87063ecd6e58eaa15f11441c45040)
2008-06-22Fix an uninitialized variable access in callers of parse_msdfs_symlinkVolker Lendecke1-1/+2
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-21Fix a double-closedir() in form_junctions()Volker Lendecke1-1/+0
(This used to be commit 1d7ad0dea7ebf7a46af6e695797e5132264307d6)
2008-06-19Remove current_user references from nttrans.cVolker Lendecke1-3/+2
(This used to be commit 5f8a5e68ea166fbeda3af6e5ec381ec09d06f0f6)
2008-06-19Remove current_user references from trans2.cVolker Lendecke3-4/+35
This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function. (This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
2008-06-19Remove some current_user references from trans2.cVolker Lendecke1-19/+25
(This used to be commit 4c31cc0b62f532eafdc44398b29b773ad8cb0646)
2008-06-19Remove reference to current_user from reply.cVolker Lendecke1-4/+3
(This used to be commit e895e44cc7d675d128430fb53c138e5e8736e59f)
2008-06-19Wrap the unix token info in a unix_user_token in auth_serversupplied_infoVolker Lendecke10-41/+43
No functional change, this is a preparation for more current_user ref removal (This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
2008-06-19Remove the "current_user" arg from fsp_belongs_connVolker Lendecke2-5/+5
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-19Remove the "current_user" arg from check_fspVolker Lendecke3-24/+24
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-19RWX on a file does not imply DELETE accessVolker Lendecke1-1/+1
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-19Fix checks in can_delete_file_in_directory()Volker Lendecke1-6/+15
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-19Remove some codeVolker Lendecke1-12/+4
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-18file_access: add a function header comment for can_access_file_acl().Michael Adam1-0/+3
Michael (This used to be commit 7d5fb873bde0a84de522650945effeaf602c759e)
2008-06-18smbd/dir.c: remove unneeded stat buf parameter from user_can_read_file()Michael Adam1-4/+2
This is not needed anymore since user_can_access_file_acl() ist used. Michael (This used to be commit 3c349f773a52e3de693d3bb79f5060c9f1e01e41)
2008-06-17file_access: remove unneeded stat buf parameter from can_access_file_acl().Michael Adam2-4/+4
This is a security descriptor level function only. Michael (This used to be commit 5931540fa1681f026fed42df387d17e43c493c47)
2008-06-17Add some debug to notifyVolker Lendecke1-0/+6
(This used to be commit 4394235378f85ccb911d662d95f1545a14240bdf)
2008-06-15Remove the current_user references from open.cVolker Lendecke1-6/+4
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-15Remove the current_user reference from fake_file.cVolker Lendecke2-5/+5
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-15Remove unused "extern struct current_user" from dir.cVolker Lendecke1-2/+0
(This used to be commit b92cfd19b459caad34229dfe941cf15fd14a5ce0)
2008-06-15Remove the reference to current_user from file_access.cVolker Lendecke1-8/+6
conn holds the current user info (This used to be commit 093bc5f2b33ebf90e04bc17e51b1695b1b932bf2)
2008-06-14Move connection-specific vuid cache clear to uid.cVolker Lendecke3-16/+25
(This used to be commit 1025f687910ce40283c7344ed67ebd5bf31217b7)
2008-06-14Slight refactoring for check_user_ok: It only needs vuid and server_infoVolker Lendecke1-20/+18
(This used to be commit 68944ea1ea7a0a63b08cbfc703f5ee29d2627696)