summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
AgeCommit message (Collapse)AuthorFilesLines
2008-11-02Remove some direct inbuf references by adding smbreq_bufremVolker Lendecke1-2/+2
2008-11-02Simplify params of srvstr_pull_buf_talloc()Volker Lendecke1-9/+7
Now that "req" is available everywhere, use it. Rename srvstr_pull_buf_talloc() to srvstr_pull_req()
2008-11-02Add srvstr_get_path_req[_wcard]Volker Lendecke1-107/+53
2008-11-01Remove a bunch of direct inbuf references by adding "buf" to smb_requestVolker Lendecke1-51/+42
2008-11-01In reply_copy, don't write to inbuf when splitting directory and maskVolker Lendecke1-19/+14
2008-11-01In reply_search(), don't write to inbuf when splitting directory and maskVolker Lendecke1-16/+10
2008-11-01Apply some const to get_lock_*()Volker Lendecke1-3/+6
2008-11-01Add a "buflen" struct member to smb_requestVolker Lendecke1-15/+7
This removes some explicit inbuf references and also removes a pointless check in reply_echo. The buflen can never be more than 64k, this is just a 16 bit value.
2008-10-19Fix nonempty blank linesVolker Lendecke1-91/+91
2008-10-19Inline the once-used macro "init_dfsroot"Volker Lendecke1-1/+6
2008-10-14Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij1-46/+46
2008-10-13Use "struct files_struct" for pipes instead of smb_np_structVolker Lendecke1-7/+0
2008-10-13Pass struct smb_request to file_freeVolker Lendecke1-15/+15
on the way to get rid of chain_fsp
2008-10-13Pass struct smb_request to file_newVolker Lendecke1-1/+1
Goal is to remove the chain_fsp global variable
2008-10-13Pass struct smb_request to file_fspVolker Lendecke1-21/+21
The goal is to get rid of the chain_fsp global variable
2008-10-08Remove unused CHECK_FSP macroVolker Lendecke1-3/+2
2008-10-03Simply our main loop processing. A lot :-). Correctly use events for all the ↵Jeremy Allison1-3/+0
previous "special" cases. A step on the way to adding signals to the events and being able to merge the S3 event system with the S4 one. Jeremy.
2008-09-30Fix the make test problem Karolin reported. Now rename_open_files actually ↵Jeremy Allison1-2/+2
works correctly we must emit the change notify before we change the name, not before. Jeremy.
2008-09-05Write times code update.Jeremy Allison1-2/+4
Ok, here's the fix for the write times breakage with the new tests in S4 smbtorture. The key is keeping in the share mode struct the "old_file_time" as the real write time, set by all the write and allocation calls, and the "changed_write_time" as the "sticky" write time - set by the SET_FILE_TIME calls. We can set them independently (although I kept the optimization of not setting the "old_file_time" is a "changed_write_time" was already set, as we'll never see it. This allows us to update the write time immediately on the SMBwrite truncate case, SET_END_OF_FILE and SET_ALLOCATION_SIZE calls, whilst still have the 2 second delay on the "normal" SMBwrite, SMBwriteX calls. I think in a subsequent patch I'd like to change the name of these from "old_file_time" to "write_time" and "changed_write_time" to "sticky_write_time" to make this clearer. I think I also fixed a bug in Metze's original code in that once a write timestamp had been set from a "normal" SMBwriteX call the fsp->update_write_time_triggered variable was set and then never reset - thus meaning the write timestamp would never get updated again on subsequent SMBwriteX's. The new code checks the update_write_time_event event instead, and doesn't update is there's an event already scheduled. Metze especially, please check this over for your understanding. Jeremy. (This used to be commit 6f20585419046c4aca1f7d6c863cf79eb6ae53b0)
2008-09-01Slightly simplify logic: remove an else branchVolker Lendecke1-14/+11
(This used to be commit 56ecec50130aa948a431427285aed4b28a5647e8)
2008-08-27Add st_birthtime and friends for accurate create times on systems that ↵Jeremy Allison1-3/+4
support it (*BSD and MacOSX). Should have done this ages ago, sorry. Jeremy. (This used to be commit 4c3a9558906f213948c3bdc081be73f8fed148cb)
2008-08-26EINVAL is also a valid error return, meaning "this filesystemAndrew Tridgell1-2/+3
cannot do sendfile for this file" (This used to be commit 737f664604b28f230be63bfc2f3d516fd9eb1c63)
2008-08-14Fix for bug #5617, reported and patched by Bartosz Antosik antosik@gmail.com.Jeremy Allison1-0/+2
xp/2003 explorer freezes browsing shares on samba ipv6 hosts. Caused by missing reply packet to SMB printclose packet. Jeremy (This used to be commit ecf2b906f476e4a764d0e53eed84b9b75a2062c0)
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-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-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-06-26Remove current_user reference from printfsp.cVolker Lendecke1-1/+1
(This used to be commit 510f45d01a19ce1c226755ac42a328241098b2e0)
2008-06-19Remove current_user references from trans2.cVolker Lendecke1-0/+31
This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function. (This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
2008-06-19Remove reference to current_user from reply.cVolker Lendecke1-4/+3
(This used to be commit e895e44cc7d675d128430fb53c138e5e8736e59f)
2008-06-19Remove the "current_user" arg from fsp_belongs_connVolker Lendecke1-2/+2
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 Lendecke1-19/+19
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-04-08Fix the build of reply_setattrE().Günther Deschner1-2/+2
How ever could this compile ? Guenther (This used to be commit 02f5f35e5ed3b061cfd020d0b13014c72fced5f4)
2008-04-07smbd: make it possible to disable get_file_infos() on searchesStefan Metzmacher1-2/+11
metze (This used to be commit 404a865a34c3a7c67131b3f99e92c11b2abe3e39)
2008-04-07smbd: implement the strange write time update logicStefan Metzmacher1-22/+39
We now never call file_ntimes() directly, every update is done via smb_set_file_time(). This let samba3 pass the BASE-DELAYWRITE test. The write time is only updated 2 seconds after the first write() on any open handle to the current time (not the time of the first write). Each handle which had write requests updates the write time to the current time on close(). If the write time is set explicit via setfileinfo or setpathinfo the write time is visible directly and a following close on the same handle doesn't update the write time. metze (This used to be commit 2eab212ea2e1bfd8fa716c2c89b2c042f7ba12ea)
2008-04-07locking: store the write time in the locking.tdbStefan Metzmacher1-1/+2
This is needed to implement the strange write time update logic later. We need to store 2 time timestamps to distinguish between the time the file system had before the first client opened the file and a forced timestamp update. metze (This used to be commit 6aaa2ce0eeb46f6735ec984a2e7aadde7a7f456d)
2008-03-28Fix missing '&&'.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 251df53811e4272b629575a4b50c29a99715ccf9)
2008-03-28Only allow sendfile on non-stream fsp's. Should fix make test for streamsJeremy Allison1-2/+2
as sendfile isn't implemented in the streams vfs modules yet. Jeremy. (This used to be commit eef53e9603d4f3d892ffe00b061def5d717ca481)
2008-03-28printclose has only 1 vwvVolker Lendecke1-1/+1
(This used to be commit 99d980125054cbfef8ec85a31e83aa18a6e0bce3)
2008-03-11Allow us to pass RAW-RENAME by testing that the connection structJeremy Allison1-1/+1
connection paths are equal, not just the conn structs themselves. Jeremy. (This used to be commit 632f3fe66fbcbe3cc25d070c3885177264f5ad65)
2008-03-11Try and fix bug #5315, as well as S4 torture tests RAW-OPLOCK BATCH19,Jeremy Allison1-7/+8
BATCH20 and RAW-RENAME. Jeremy. (This used to be commit 9065792d4bc42522f12f9732de3c0ad82c72a2d3)
2008-02-22Don't use fname after create_file has been calledVolker Lendecke1-11/+11
create_file calls unix_convert internally, so modifies fname. So we can't use "fname" after create_file has returned. Use fsp->fsp_name instead. Found during a lengthy debugging session with Karolin testing the xattr_tdb module... (This used to be commit 183fe570469963923864b732817a87f8660341ed)
2008-02-08Fix some typos.Karolin Seeger1-1/+1
Karolin (This used to be commit 2bec0a1fb7857e6fb8ec15e5f597b2d4125f105b)
2008-02-06Change the file time before we change the file mode.Alexander Bokovoy1-6/+6
This doesn't matter for most applications, but for offline files it matters as it allows you to set files offline from windows clients even with HSM systems that refuse to offline newly created files. Merge from Tridge's v3-0-ctdb tree. (This used to be commit 7da6c675440b0253ab37ee6097f769a2e45c7b7b)
2008-02-02Convert read_data() to NTSTATUSVolker Lendecke1-4/+5
(This used to be commit af40b71023f8c4a2133d996ea698c72b97624043)
2008-02-02Make get_srv_read_error static to process.cVolker Lendecke1-2/+2
(This used to be commit 9e2947039ef70cab8bbd6027182d9c721eac3194)
2008-02-02Convert read_smb_length to return NTSTATUSVolker Lendecke1-9/+3
(This used to be commit 5750c3a51b4ddac635a98195d1621b24f91bad3f)
2008-01-30Re-enable async I/O for non-TSM systemsVolker Lendecke1-9/+2
The logic was wrong: A "SMB_VFS_AIO_FORCE()==False" disabled async I/O, whereas a "SMB_VFS_AIO_FORCE()==True" should enforce it regardless of other settings. Alexander, please check! (This used to be commit 46882ad9927c95caadeb7fb03c1d7491bbe1fb22)
2008-01-20Fix some "set but never used" warningsVolker Lendecke1-3/+1
(This used to be commit 4a6dadc5178f4861e9c032321939db3b639734b5)
2008-01-20Don't test split_ntfs_stream_nameVolker Lendecke1-3/+0
This is a hot code path, and if it has a :, the name will be split later on anyway. (This used to be commit 9f7f6b812d89decea1456ccdc37978e645d11a63)