summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
AgeCommit message (Collapse)AuthorFilesLines
2009-01-08s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher1-7/+1
The goal is to move all this variables into a big context structure. metze
2009-01-04s3: Allow renames of streams via NTRENAME and fix stream error codes on renameTim Prouty1-10/+15
The test_streams_rename2 test in RAW-STREAMS verifies these changes
2008-12-31Rename parent_dirname_talloc() to parent_dirname()Volker Lendecke1-2/+2
2008-12-31recvfile can't be used for printing so farVolker Lendecke1-0/+4
2008-12-31Fix an ancient uninitialized variable readVolker Lendecke1-1/+2
The callers of open_file_ntcreate expect *psbuf to be filled correctly
2008-12-19Fix bug #5986 - Editing a stream is broken (rename problems).Jeremy Allison1-1/+3
Jeremy.
2008-12-09s3: [3/3]: Fix a delete on close divergence from windows and the associated ↵Tim Prouty1-2/+0
torture test This third patch cleans up by removing all of the code that is made obsolete by the first patch. It should cause no functional changes.
2008-12-03s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty1-9/+9
This replaces the is_dos_path bool with a more future-proof argument. The next step is to plumb INTERNAL_OPEN_ONLY through this flag instead of overridding the oplock_request.
2008-12-03s3: Modify direct callers of open_file_ntcreate and open_directory to call ↵Tim Prouty1-47/+104
SMB_VFS_CREATE_FILE
2008-12-03s3: Modify direct callers of create_file_unix_path to call SMB_VFS_CREATE_FILETim Prouty1-2/+4
2008-12-03s3: Add new "is_dos_path" argument to SMB_VFS_CREATE_FILETim Prouty1-0/+3
Now unix paths can be differentiated from windows paths so the underlying create_file implementations can convert paths correctly.
2008-12-03s3: Add SMB_VFS_CREATE_FILE to the vfs layerTim Prouty1-48/+51
Modify all callers of create_file to go through SMB_VFS_CREATE_FILE
2008-12-01s3:smbd: give the correct error when trying to replace a streamStefan Metzmacher1-0/+6
metze
2008-12-01s3:smbd: correctly verify stream names to pass RAW-STREAMSStefan Metzmacher1-1/+35
metze
2008-12-01s3:smbd: '|' isn't allowed in windows filenamesStefan Metzmacher1-1/+1
metze
2008-11-21First part of fix for bug #5903 - vfs_streams_xattr breaks contents of the file.Jeremy Allison1-1/+8
Restructures parts of open code so that fsp must be allocated before calling open_file_ntcreate(_internal). Also fix up file ref-counting inside files.c. Jeremy.
2008-11-11Fix bug 5889. "delete veto files = no" seems to break.Jeremy Allison1-4/+11
Jeremy.
2008-11-08change CHECK_READ to use smb_request instead of inbufVolker Lendecke1-3/+3
2008-11-04Add construct_reply_common_req wrapperVolker Lendecke1-2/+2
The goal is to remove the remaining direct calls to construct_reply_common.
2008-11-02Remove some inbuf references by adding "cmd" to smb_requestVolker Lendecke1-8/+6
2008-11-02Remove the inbuf reference from map_checkpath_error()Volker Lendecke1-4/+4
2008-11-02Remove a bunch of direct inbuf references by adding "vwv" to smb_requestVolker Lendecke1-109/+106
2008-11-02Rename "inbuf" to "base_ptr" in srvstr_get_path_*Volker Lendecke1-5/+5
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)