summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
AgeCommit message (Collapse)AuthorFilesLines
2008-09-23Fix bug #5783 FindFirst fails where search pattern == mangled filename.Jeremy Allison1-6/+7
That was an old and subtle bug. Jeremy.
2008-09-10When requesting UNIX info levels on findfirst/findnext, don't play games ↵Jeremy Allison1-1/+5
with write time, just return what the underlying filesystem says. Trying not to confuse UNIX apps any more than necessary. Jeremy. (This used to be commit b81a4dd003957a611ea190979d828b75d07a1f80)
2008-09-08Fix calculation of useable_space for trans2 and nttrans repliesVolker Lendecke1-6/+9
When alignment was in place, we pretended to send more data/params according to the param_offset/param_length and data_offset/data_length parameters than would actually fit into the SMB according to the NBSS length field. (This used to be commit ef3c132b8455c6fe4d0bb9f0be881040a806a4ed)
2008-09-05Write times code update.Jeremy Allison1-5/+7
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-06-19Remove current_user references from trans2.cVolker Lendecke1-2/+2
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 the "current_user" arg from check_fspVolker Lendecke1-4/+4
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-05-20Cleanup size_t return values in callers of convert_string_allocateTim Prouty1-8/+16
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-10Remove "user" from connection_structVolker Lendecke1-3/+6
(This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5)
2008-05-05Remove connection_struct->mem_ctx, connection_struct is its own parentVolker Lendecke1-1/+1
(This used to be commit 559180f7d30606d1999399d954ceedc798c669a4)
2008-05-02Rename inherit_access_acl() -> inherit_access_posix_acl() to make use clear.Jeremy Allison1-1/+1
Jeremy. (This used to be commit b739c7f1cdb2b19a380b06681b00dcf490d788a9)
2008-04-28Fix bug found by Igor Mammedov <niallain@gmail.com> where we areJeremy Allison1-14/+42
not returning a directory value for a QPATHINFO on a msdfs link with a non-dfs path. Windows does this. Jeremy. (This used to be commit fbd99071f99cadd21aa2b8971f745a323a9cda13)
2008-04-07Rewrite the wrap checks to deal with gcc 4.x optimisations.Jeremy Allison1-30/+46
Karolin, please pull once Volker has reviewed. Thanks. Jeremy. (This used to be commit 09852899cadc48abe2f2651ecbceaf881198e648)
2008-04-07smbd: make it possible to disable get_file_infos() on searchesStefan Metzmacher1-5/+14
metze (This used to be commit 404a865a34c3a7c67131b3f99e92c11b2abe3e39)
2008-04-07locking: combine get_delete_on_close_flag() and get_write_time() into ↵Stefan Metzmacher1-8/+5
get_file_infos() This means we need to fetch the record only once. metze (This used to be commit 4130b873291d39e363184fe4e38dc1f24ebe5056)
2008-04-07smbd: implement the strange write time update logicStefan Metzmacher1-40/+45
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-11Metze pointed out this we don't need FILE_ATTRIBUTE_READ here.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 923aa9f330cb370221af6b66cf0f237a9bd06f8e)
2008-03-11Try and fix bug #5315, as well as S4 torture tests RAW-OPLOCK BATCH19,Jeremy Allison1-1/+2
BATCH20 and RAW-RENAME. Jeremy. (This used to be commit 9065792d4bc42522f12f9732de3c0ad82c72a2d3)
2008-03-11Fix S3 to pass the test_raw_oplock_exclusive3 test.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 028302fac53083d66c969b876db1d831e53b8e35)
2008-03-08Fix some typosVolker Lendecke1-1/+1
(This used to be commit cfa1b838144800c0758969921b8904fd62e46c07)
2008-02-22Don't use fname after create_file has been calledVolker Lendecke1-2/+2
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-01-26Fix uninitialized variablesVolker Lendecke1-1/+2
Thanks to Corinna Vinschen (This used to be commit aba8c17599f0be82cff33229bb107814d88faafe)
2008-01-22Get Samba version or capability information from WindowsCorinna Vinschen1-1/+3
On Jan 22 13:31, Volker Lendecke wrote: > On Tue, Jan 22, 2008 at 11:33:17AM +0100, Corinna Vinschen wrote: > > Right. I changed samba_gitcommitdate from time_t to NTTIME and shortened > > samba_version_string to 28 bytes. New patch below. > > Ok, pushed with some modifications. You might want to review > that. Reviewed and tested. Looks good, thank you! Below you'll find a tiny patch to add the git commit date. It seems I simply missed its existence in version.h :( Tested on Windows XP. Thanks, Corinna * source/smbd/trans2.c (samba_extended_info_version): Fill out samba_gitcommitdate member with GIT commit timestamp. (This used to be commit a33d0797585b5cdd304ac1eb6966b9c7c799bab6)
2008-01-22Move samba_extended_info_version to smbd/trans2.cVolker Lendecke1-0/+32
This is right now only used there, and in version.c it gave linker errors because some binaries (e.g. smbmnt) don't link in time.o (This used to be commit 1f0eaaa5911f893c822465a26fe49ab65afb0730)
2008-01-22Get Samba version or capability information from WindowsCorinna Vinschen1-0/+7
On Jan 21 16:18, Danilo Almeida wrote: > Corina wrote: > > > + time_t samba_gitcommitdate; > > And: > > > + SIVAL(pdata,28,extended_info.samba_gitcommitdate); > > + memcpy(pdata+32,extended_info.samba_version_string,32); > > Note that you are dropping bits on a system w/64-bit time_t, and that this has the 2038 problem. Right. I changed samba_gitcommitdate from time_t to NTTIME and shortened samba_version_string to 28 bytes. New patch below. Thanks, Corinna (This used to be commit 28aa1c199d3a22cda34afcaab49c0561eeb0abcb)
2008-01-22Hide streams from the EA APIVolker Lendecke1-2/+6
(This used to be commit e9bb3d5067b74a29beb778f85687829778e42b5b)
2008-01-22Fix get_ea_names_from_file for many EAsVolker Lendecke1-1/+1
Found by the IBM checker (This used to be commit 8741a9b37496e78b28d59d844aaba12f269171e0)
2008-01-20Activate SMB_QUERY_FILE_STREAM_INFOVolker Lendecke1-5/+6
gcolley was right, my nt4 does not blue screen with it (This used to be commit 9f2b5dc1865ca109e1e34c91548479ad9b26f450)
2008-01-19Add the STREAMINFO vfs callVolker Lendecke1-13/+99
Based on jpeach's work, modified the streaminfo prototype Make use of it in trans2.c together with marshall_stream_info() (This used to be commit c34d729c7c0600a8f11bf7e489a634a4e37fe88e)
2008-01-19Add get_ea_names_from_file to sanely list posix xattrsVolker Lendecke1-49/+142
Refactor get_ea_list_from_file to use that. (This used to be commit aec357a456798050abe565d2a744ed5f17ad5901)
2008-01-19Make get_ea_value publicVolker Lendecke1-8/+15
(This used to be commit 0aa406bbba8699063ea3758b19dca24cf42ff15a)
2008-01-18Actually test vl's new code and make it work to fix the build farm :-).Jeremy Allison1-8/+12
Jeremy. (This used to be commit 63defd3e9d4ba3f02f36ec5ad7b73463f31962a1)
2008-01-18Always return nlink=1 for directoriesVolker Lendecke1-7/+2
I did not test it, but it should not affect cifsfs, there are special posix calls that also return the stat information unfiltered. (This used to be commit e96cf1309e45628f4c27d03f77a4eef5e00602df)
2008-01-17Remove is_remotestorage() call from VFS. We already have statvfs() there to ↵Alexander Bokovoy1-6/+4
handle FS capabilities. As discussed with Volker, it is better to calculate FS capabilities at connection time. We already do this with help of VFS statvfs() call which allows to fill-in system-specific attributes including FS capabilities. So just re-use it if you want to represent additional capabilities in your modules. The only caution is that you need to call underlying statvfs() call to actually get system-specific capabilities (and other fields) added. Then add module-specific ones. (This used to be commit e342ca0d931f9a5c8ec9e472dc9c63f1fe012b3a)
2008-01-16Add support for offline files support, remote storage, and Async I/O force ↵Alexander Bokovoy1-8/+15
operations to VFS Offline files support and remote storage are for allowing communication with backup and archiving tools that mark files moved to a tape library as offline. We translate this info into corresponding CIFS offline file attribute and mark an exported volume as remote storage. Async I/O force is to allow selective redirection of I/O operations to asynchronous processing in case it is viable at VFS module discretion. It is needed for proper handling of offline files as performing regular I/O on offline file will block smbd. Signed-off-by: Alexander Bokovoy <ab@samba.org>(This used to be commit 875208724e39564fe81385dfe36e6c963e79e101)
2008-01-10use talloc_tos in a few more placesVolker Lendecke1-1/+1
(This used to be commit 65dd869bea351010c67f02046ae4134bdada1a4c)
2008-01-09Make use of talloc_pool in the main codepaths. Remove the sub-contexts.Jeremy Allison1-20/+5
Jeremy. (This used to be commit bc932b8ad4396f76b71c43efe9a6346f89c3632c)
2008-01-08Remove redundant parameter fd from SMB_VFS_FSETXATTR().Michael Adam1-1/+1
Michael (This used to be commit 0bd2643463a9160c8a1c7e1c2f8cca7b89060e09)
2008-01-08Remove redundant parameter fd from SMB_VFS_FREMOVEXATTR().Michael Adam1-1/+1
Michael (This used to be commit bfc3b5a27f707d3e4b8d5d66192891e22365fbb3)
2008-01-08Remove redundant parameter fd from SMB_VFS_FLISTXATTR().Michael Adam1-1/+1
Michael (This used to be commit 167649b3b8bc293f8434ffc9fb5f80463e4e75be)
2008-01-08Remove redundant parameter fd from SMB_VFS_FGETXATTR().Michael Adam1-1/+1
Michael (This used to be commit 2cb739a82dc6bb194d60718cc74b26ee7c1c46a7)
2008-01-07Remove redundant parameter fd from SMB_VFS_SYS_ACL_GET_FD().Michael Adam1-1/+1
Michael (This used to be commit 42663e8736e1a3dfb57e0aafdcbf5fec880da779)
2008-01-07Remove redundant parameter fd from SMB_VFS_FSTAT().Michael Adam1-2/+2
Michael (This used to be commit 0b86c420be94d295f6917a220b5d699f65b46711)
2008-01-04Now conn is part of smb_request, we don't need it asJeremy Allison1-4/+6
an extra parameter. This cleans up quite a few places we were passing it around without needing it. Jeremy. (This used to be commit 8f36def18e9f980e8db522e1de41e80cfd5f466e)
2008-01-04We dont' modify the smb header for crypto anymore.Jeremy Allison1-1/+1
Jeremy. (This used to be commit f5b6b6dac66b4ecc113985a7e7db1855b324c465)
2008-01-04Refactor the crypto code after a very helpful conversationJeremy Allison1-28/+41
with Volker. Mostly making sure we have data on the incoming packet type, not stored in the smb header. Jeremy. (This used to be commit c4e5a505043965eec77b5bb9bc60957e8f3b97c8)
2008-01-02Convert call_trans2open to create_file()Volker Lendecke1-57/+16
(This used to be commit 22138572bd2b9ae379b01098566e38e132653968)
2007-12-29Allow encryption context setup on IPC$.Jeremy Allison1-7/+27
Jeremy. (This used to be commit 5d424cb3060af89bde50bc7fe2989e3c1b8e91b2)
2007-12-29Remove tiny code duplicationVolker Lendecke1-4/+4
sid_size did the same as ndr_size_dom_sid (This used to be commit 8aec5d09ba023413bd8ecbdfbc7d23904df94389)