summaryrefslogtreecommitdiffstats
path: root/source3/smbd/reply.c
Commit message (Collapse)AuthorAgeFilesLines
* This patch looks bigger than it is. It does 2 things. 1). Renames smbpid -> ↵Jeremy Allison2010-05-071-30/+30
| | | | | | smblctx in our locking code. 2). Widens smblctx to 64-bits internally. Preparing to use the SMB2 handle as the locking context. Jeremy.
* smbd: move printfile_offset() within write_file()Simo Sorce2010-04-301-12/+4
|
* Carefully label SMB1-specific locking calls.Jeremy Allison2010-04-291-1/+1
| | | | Jeremy.
* s3-smbd: group print relate data in own structureSimo Sorce2010-04-231-1/+6
|
* Fix issue with aio where r/w lock wasn't kept across aio read operations.Jeremy Allison2010-04-051-26/+52
| | | | | | | | Change schedule_aio_read_and_X/schedule_aio_write_and_X to return NTSTATUS. Move the grant and release of the lock into the aio code. Jeremy
* Make smbd_lock_socket/smbd_unlock_socket recursive with a ref_count.Jeremy Allison2010-03-311-13/+4
| | | | | | | | | As these always call exit_server, make that part of the function. Use _internal functions for the echo client. Metze please check ! Jeremy.
* Fix bug 7310 - DOS attribute inconsistency with MS OfficeJeremy Allison2010-03-311-0/+15
| | | | | | On rename we need to set the archive bit on the renamed file. Jeremy
* Fix for bug #7233 - print fails with jobs >4GB from Win7 clients.Jeremy Allison2010-03-301-4/+12
| | | | | | | Contains for by Sebastian Kloska <oncaphillis@snafu.de>. Submitter confirms this fixes the problem. Jeremy.
* Revert the part of bug fix #7233 - print fails with jobs >4GB from Win7 clients.Jeremy Allison2010-03-261-22/+4
| | | | | | | Submitter reports print file corruption after 2GB when SMBwrite etc. always write at EOF. Still working on the fix. Jeremy.
* Fix bug #7233 - print fails with jobs >4GB from Win7 clients.Jeremy Allison2010-03-241-25/+53
| | | | | | Ensure we always write at end-of-file for older write calls. Jeremy.
* s3:smbd: disallow readbraw and writebraw if the echo handler is activeStefan Metzmacher2010-03-221-0/+17
| | | | metze
* s3:smbd: disable sendfile if the echo handler is activeStefan Metzmacher2010-03-221-0/+4
| | | | metze
* s3:smbd: let reply_readbraw_error use the locked socketStefan Metzmacher2010-03-221-0/+11
| | | | metze
* Fix bug #7234 - Symlink delete fails but incorrectly reports success to client.Jeremy Allison2010-03-101-1/+1
| | | | | | Typo called LSTAT instead of STAT in the unlink by pathname path. Jeremy.
* Fix for bug #7189 - Open txt files with notepad on samba shares creates problem.Jeremy Allison2010-03-051-2/+16
| | | | | | | | | | Ensure we don't use any of the create_options for Samba private use. Add a new parameter to the VFS_CREATE call (private_flags) which is only used internally. Renumber NTCREATEX_OPTIONS_PRIVATE_DENY_DOS and NTCREATEX_OPTIONS_PRIVATE_DENY_FCB to match the S4 code). Rev. the VFS interface to version 28. Jeremy.
* s3/smbd: change locking behavior when "lock spin time = 0".Steven Danneman2010-02-121-6/+15
| | | | | | | | | | | | | | | | | | | | | The "lock spin time" parameter mimics the following Windows setting which by default is 250ms in Windows and 200ms in Samba. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\LockViolationDelay When a client sends repeated, non-blocking, contending BRL requests to a Windows server, after the first Windows starts treating these requests as timed blocking locks with the above timeout. As an efficiency, I've changed the behavior when this setting is 0, to skip this logic and treat all requests as non-blocking locks. This gives the smbd server behavior similar to the 3.0 release with the do_spin_lock() implementation. I've also changed the blocking lock parameter in the call from push_blocking_lock_request() to true as all requests made in this path are blocking by definition.
* Fix bug #7033 - SMBrmdir call always returns true, even on failure to delete ↵Jeremy Allison2010-01-121-2/+6
| | | | | | | | | | | a directory. There is a codepath missing to propagate back error returns from the rmdir POSIX call inside close_directory when delete on close is set. This means doing an rmdir on a Windows command line will always report success, even when the directory was not deleted. This fix adds that codepath back into Samba. Jeremy.
* Rename reply_doserror() -> reply_force_doserror().Jeremy Allison2009-12-211-12/+12
| | | | | | | Rewrite all calls to reply_nterror(NT_STATUS_DOS()) to reply_force_doserror() and update the comment in smbd/error.c Jeremy.
* Remove all calls to reply_doserror - turn them intoJeremy Allison2009-12-211-46/+47
| | | | | | | correct reply_nterror calls. Next rename reply_doserror -> reply_force_doserror and plumb in when NT_STATUS_DOS is used. Jeremy.
* reply_doserror() doesn't force DOS errors on the wire.Jeremy Allison2009-12-181-10/+10
| | | | | | | | | | | Start migrating uses of reply_doserror() to reply_nterror() with the correct mapping. Eventually we'll get to the point where we can change reply_doserror() to force a DOS error code on the wire, and can change calls to reply_nterror(req, NT_STATUS_DOS()) - which *does* force DOS errors on the wire - to reply_doserror(). Which might actually make the server code look like it's making sense. Jeremy.
* Make Samba3 pass the RAW-LOCK test as Windows.Jeremy Allison2009-12-041-0/+24
| | | | | | | Implement the win7 NT_STATUS_INVALID_LOCK_RANGE. Make smbd behave as Windows does in canceling locks. Jeremy.
* Refactor reply_rmdir to use handle based code. AllJeremy Allison2009-12-031-260/+40
| | | | | | calls are now handle based. Put rmdir into close.c and make it private. Jeremy.
* Remove unneeded argument from can_set_delete_on_close(). EnsureJeremy Allison2009-12-021-19/+11
| | | | | | can_set_delete_on_close() is correctly called before any setting of the disposition bit (clean up the do_unlink() call). Jeremy.
* Revert "s3: Make the implicit reference to Protocol in mask_match() explicit"Volker Lendecke2009-11-231-4/+3
| | | | This reverts commit e23d8a3d1f558a7e98ef2afd71e1d15c5b3a71bc.
* Revert "s3: Make the implicit reference to Protocol in is_in_path() explicit"Volker Lendecke2009-11-231-2/+1
| | | | This reverts commit f7b4151a64d8c6851e62255a7139fd00a5fc63a3.
* Revert "s3: Make the implicit reference to get_Protocol in lp_use_sendfile() ↵Volker Lendecke2009-11-231-4/+2
| | | | | | explicit" This reverts commit 6a149022976fe6a5579ec9afc7a4d2dcb44dc8af.
* Revert "s3: Move the global variable Protocol to struct smbd_server_connection"Volker Lendecke2009-11-231-17/+11
| | | | This reverts commit c85a4c9ba4a7de65a7850f6f9708df66bd24deea.
* s3: Move the global variable Protocol to struct smbd_server_connectionVolker Lendecke2009-11-211-11/+17
|
* s3: Make the implicit reference to get_Protocol in lp_use_sendfile() explicitVolker Lendecke2009-11-211-2/+4
|
* s3: Make the implicit reference to Protocol in is_in_path() explicitVolker Lendecke2009-11-211-1/+2
|
* s3: Make the implicit reference to Protocol in mask_match() explicitVolker Lendecke2009-11-211-3/+4
|
* s3: Tune if-conditions in a very hot codepathVolker Lendecke2009-11-211-1/+1
| | | | | | This looks innocent, but it is visible in a netbench run. Due to boolean short-circuiting we don't have to execute the conditions on the right-hand side of the &&. So putting the less likely condition left gains a bit.
* s3: Do not talloc in readdirVolker Lendecke2009-11-181-43/+51
| | | | This is a hot codepath (called from the stat cache)
* Start removing SMB_STRUCT_STAT variables except forJeremy Allison2009-11-171-15/+13
| | | | | the directory enumeration code (which needs it). Jeremy.
* Remove "store create time" code, cause create time to be storedJeremy Allison2009-11-171-2/+1
| | | | | | | | | | | | in the "user.DOSATTRIB" EA. From the docs: In Samba 3.5.0 and above the "user.DOSATTRIB" extended attribute has been extended to store the create time for a file as well as the DOS attributes. This is done in a backwards compatible way so files created by Samba 3.5.0 and above can still have the DOS attribute read from this extended attribute by earlier versions of Samba, but they will not be able to read the create time stored there. Storing the create time separately from the normal filesystem meta-data allows Samba to faithfully reproduce NTFS semantics on top of a POSIX filesystem. Passes make test but will need more testing. Jeremy.
* Don't overwrite a dynamic pointer with the address of a stackJeremy Allison2009-11-161-8/+5
| | | | | variable. Jeremy.
* Got the logic simplification worked out so we still passJeremy Allison2009-11-051-3/+3
| | | | | BASE-DELAYWRITE and also RAW-CLOSE. Jeremy.
* Revert commit "0551284dc08eb93ef7b2b2227a45e5ec21d482fb" - simplifyJeremy Allison2009-11-051-3/+3
| | | | | the logic. This was incorrect (I'll revisit this tomorrow). Jeremy.
* Simplify the logic - remove extraneous argument and calls to ↵Jeremy Allison2009-11-051-3/+3
| | | | | | | | set_close_write_time(). We were treating a file time set on close as a sticky write time set, and I don't think it is. I will add a torture test later to RAW-CLOSE to confirm this. Jeremy.
* Get closer to an accurate model of Windows timestamp changes.Jeremy Allison2009-11-051-3/+3
| | | | | | | | "Normal" non truncate writes always cause the timestamp to be set on close. Once a close is done on a handle this can reset the sticky write time to current time also. Updated smbtorture4 confirms this. Jeremy.
* Remove "Protocol" as an extern, and add accessor functions.Jeremy Allison2009-11-041-7/+5
| | | | Jeremy.
* Cope with old CIFSFS clients that use SMBunlink to removeJeremy Allison2009-10-081-2/+11
| | | | | symlinks instead of trans2:posix_unlink. Jeremy.
* Remove lots of duplicate code and move it into oneJeremy Allison2009-10-021-60/+21
| | | | | | function vfs_stat_fsp(). Stops code looking at fsp->posix_open except for exceptional circumstances. Jeremy.
* s3: Add a new VFS op called SMB_VFS_TRANSLATE_NAMEAravind Srinivasan2009-08-281-8/+42
| | | | | | | | | | | This vop is designed to work in tandem with SMB_VFS_READDIR to allow vfs modules to make modifications to arbitrary filenames before they're consumed by callers. Subsequently the core directory enumeration code in smbd is now changed to free the memory that may be allocated in a module. This vop enables the new version of catia in the following patch. Signed-off-by: Tim Prouty <tprouty@samba.org>
* s3:streams: check for :$DATA only in the backend (fix bug #6642)Stefan Metzmacher2009-08-271-3/+0
| | | | | | | We need to allow "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION" to pass check_path(), so that the Quota Dialog works. metze
* Add "store create time" parameter (docs to follow)Jeremy Allison2009-08-121-1/+1
| | | | | that stores the create time in the user.DosTimestamps EA. Jeremy.
* Refactor the use of create_time and change time to goJeremy Allison2009-08-101-1/+1
| | | | | through functions. Will aid in making us pass RAW-SETFILEINFO. Jeremy.
* s3:smbd: move dptr globals into struct smbd_server_connectionStefan Metzmacher2009-08-071-12/+15
| | | | metze
* s3:smbd: remove dirptr and dirpath from connection_structStefan Metzmacher2009-08-071-14/+19
| | | | | | | They're both only used in the context of a function, so we can make them stack variables. metze
* s3:smbd: add a smbd_server_connection pointer to connection_structStefan Metzmacher2009-08-071-3/+2
| | | | | | | This can be NULL for faked connection structs used in the rpc server or printing code. metze