summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
AgeCommit message (Collapse)AuthorFilesLines
2010-04-08Simplify call_trans2qfilepathinfo() and smbd_do_qfilepathinfo()Jeremy Allison1-17/+4
Remove the bool ms_dfs_link parameter from smbd_do_qfilepathinfo. It is not possible for this to be a DFS link. Remove the check_msdfs_link() call from call_trans2qfilepathinfo() - the call to filename_convert() above with a ucf_flags of zero *MUST* catch a DFS link and return NT_STATUS_PATH_NOT_COVERED in this case, so the code below checking for msdfs links is redundent. Don't add this to 3.5.x, as it's an optimization but not needed to fix bug #7339 - MSDFS is non-functional in 3.5.x. Jeremy.
2010-04-08Fix bug #7339 - MSDFS is non-functional in 3.5.xJeremy Allison1-0/+1
In the refactoring around filename_convert, the split between the functions resolve_dfspath() and resolve_dfspath_wcard() was lost, leaving us only with resolve_dfspath_wcard(). Internally resolve_dfspath_wcard() calls dfs_redirect() only with a "allow_wcards" flag of true, wheras the old resolve_dfspath() would call with a value of false. The loss of this case causes dfs_redirect to always masquerade DFS links as directories, even when they are being queried directly by a trans2 QPATHINFO call. We should only masquerade DFS links as directories when called from a SMBsearch or trans2 findfirst/findnext - which was the intent of the "allow_wcards" flag. This patch adds back an allow_wcards bool parameter to resolve_dfspath_wcard(). This bool is set from the state of the ucf_flags when filename_convert() is called. I will follow this up with a new smbclient-based torture test that will prevent us from ever regressing our DFS support again. Jeremy.
2010-03-22s3:smbd: disable SMB encryption when the echo handler is activeStefan Metzmacher1-0/+10
metze
2010-03-15Fix bug #7188 - Logic error in check of total_data for call_trans2mkdir()Jeremy Allison1-16/+13
Make ea data checks identical for trans2open and trans2mkdir. Jeremy.
2010-03-05Fix for bug #7189 - Open txt files with notepad on samba shares creates problem.Jeremy Allison1-2/+10
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.
2010-02-25Fix up debug info on smb2_rename code.Jeremy Allison1-9/+3
Jeremy.
2010-02-25Implement rename/move in SMB2 from Windows7.Jeremy Allison1-0/+109
Jeremy.
2010-02-05Remove now unused variable.Jeremy Allison1-1/+0
Jeremy.
2010-02-05Fix bug 7104 - "wide links" and "unix extensions" are incompatible.Jeremy Allison1-36/+0
Change parameter "wide links" to default to "no". Ensure "wide links = no" if "unix extensions = yes" on a share. Fix man pages to refect this. Remove "within share" checks for a UNIX symlink set - even if widelinks = no. The server will not follow that link anyway. Correct DEBUG message in check_reduced_name() to add missing "\n" so it's really clear when a path is being denied as it's outside the enclosing share path. Jeremy.
2009-12-21Rename reply_doserror() -> reply_force_doserror().Jeremy Allison1-1/+1
Rewrite all calls to reply_nterror(NT_STATUS_DOS()) to reply_force_doserror() and update the comment in smbd/error.c Jeremy.
2009-12-21Remove all calls to reply_doserror - turn them intoJeremy Allison1-17/+17
correct reply_nterror calls. Next rename reply_doserror -> reply_force_doserror and plumb in when NT_STATUS_DOS is used. Jeremy.
2009-12-15Ensure dos_mode can return FILE_ATTRIBUTE_NORMAL, then filter the returned ↵Jeremy Allison1-10/+5
attributes by protocol level. This makes us consistant in returning DOS attrs across all replies. Tested on OS/2 by Günter Kukkukk. Jeremy.
2009-12-02Remove unneeded argument from can_set_delete_on_close(). EnsureJeremy Allison1-4/+5
can_set_delete_on_close() is correctly called before any setting of the disposition bit (clean up the do_unlink() call). Jeremy.
2009-12-01Ensure we don't see the xattr used to store NT security (visible when xattr_tdbJeremy Allison1-1/+1
is used). Allows make test to pass with acl_xattr.so prepended to the vfs modules. Jeremy.
2009-12-01s3: Fix smbd to correctly return INVALID_LEVEL on set_file_end_of_file_info ↵Tim Prouty1-5/+26
for paths This allows smbd to pass the freshly updated RAW-SFILEINFO-END-OF-FILE torture test.
2009-11-25s3 setfileinfo: Open with FILE_WRITE_DATA when setting the file sizeTim Prouty1-1/+1
This matches what is outlined here: http://msdn.microsoft.com/en-us/library/ms804363.aspx This is also inline with how winXP/win7 handle this. See RAW-SFILEINFO-END-OF-FILE* in smbtorture4.
2009-11-23Revert "s3: Make the implicit reference to Protocol in mask_match() explicit"Volker Lendecke1-2/+1
This reverts commit e23d8a3d1f558a7e98ef2afd71e1d15c5b3a71bc.
2009-11-23Revert "s3: Move the global variable Protocol to struct smbd_server_connection"Volker Lendecke1-8/+6
This reverts commit c85a4c9ba4a7de65a7850f6f9708df66bd24deea.
2009-11-21s3: Move the global variable Protocol to struct smbd_server_connectionVolker Lendecke1-6/+8
2009-11-21s3: Make the implicit reference to Protocol in mask_match() explicitVolker Lendecke1-1/+2
2009-11-18s3: Replace some create_synthetic_smb_fname() callsVolker Lendecke1-22/+9
In very hot codepaths like the statcache copy_smb_filename and the subsequent recursive talloc_free is noticable in the CPU load.
2009-11-17Remove "store create time" code, cause create time to be storedJeremy Allison1-1/+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.
2009-11-04Remove "Protocol" as an extern, and add accessor functions.Jeremy Allison1-4/+2
Jeremy.
2009-11-03Fix debug statements to use correct function name.Jeremy Allison1-13/+13
Jeremy.
2009-11-03requires_resume_key is a bool not int.Jeremy Allison1-7/+2
Jeremy.
2009-11-03Fix more of the RAW-SEARCH test. Older info levels areJeremy Allison1-2/+9
not 4 byte aligned (levels 1 - 3). Jeremy.
2009-11-02Fix bug 6867 - trans2findnext returns reply_nterror(req, ntstatus) In a ↵Jeremy Allison1-12/+16
directory with a lot of files. Jeremy.
2009-10-29Start fixing the RAW-STREAMS test - ensure that the xattrJeremy Allison1-0/+1
used to store the stream info in streams_depot.so is not seen in when enumerating EAs. Jeremy.
2009-09-18s3-smbd: fix get_ea_names_from_file() and check for pnames pointer.Günther Deschner1-1/+3
This fixes smbd from crashing all the time. Jeremy, Volker, please check. Guenther
2009-09-17We now pass the Microsoft SMB2 fileio test with EA's and streams...Jeremy Allison1-0/+59
Jeremy.
2009-09-14Fix bug 6494 - Incorrect FileStatus returned in NT_CREATE_ANDX.Jeremy Allison1-2/+8
Lookup the EA and Stream status on CreateX. Jeremy.
2009-09-09s3:smbd: Add a "hidden" parameter "share:fake_fscaps"Volker Lendecke1-0/+3
This is needed to support some special app I've just come across where I had to set the SPARSE_FILES bit (0x40) to make it work against Samba at all. There might be others to fake. This is definitely a "Don't touch if you don't know what you're doing" thing, so I decided to make this an undocumented parametric parameter. I know this sucks, so feel free to beat me up on this. But I don't think it will hurt.
2009-08-24Second attempt at fix for bug 6529 - Offline files conflict with Vista and ↵Jeremy Allison1-59/+47
Office 2003. Confirmation from reporter that this fixes the issue in master on ext3/ext4. Back-ports to follow. Jeremy.
2009-08-24Second part of fix for 6529 - Offline files conflict with Vista and Office 2003.Jeremy Allison1-0/+11
ext4 may be able to store ns timestamps, but the only API to *set* timestamps takes usec, not nsec. Round to usec on set requests. Jeremy.
2009-08-21Fix bug 6529 - Offline files conflict with Vista and Office 2003Jeremy Allison1-0/+9
On filesystems that can't store less than one second timestamps, round the incoming timestamp set requests so the client can't discover that a time set request has been truncated by the filesystem. Needs backporting to 3.4, 3.3, 3.2 and (even) 3.0. Jeremy
2009-08-19s3:smbd: add a generic smbd_dirptr_lanman2_entry() functionStefan Metzmacher1-46/+193
This can we used by SMB2, the key difference between SMB1 and SMB2 is that with SMB2 entries are aligned to 8 bytes and there's no padding at the end of the last entry. metze
2009-08-12Fix BASE-DELAYWRITE test by removing const from struct smb_filenameJeremy Allison1-20/+18
in smbd_do_qfilepathinfo(). update_stat_ex_mtime() modifies the stat struct inside the smb_fname so don't make a copy of that stat struct, use it directly - it's meant to be updated and represent the state of the file we're returning. Jeremy.
2009-08-12Add "store create time" parameter (docs to follow)Jeremy Allison1-4/+5
that stores the create time in the user.DosTimestamps EA. Jeremy.
2009-08-10Refactor the use of create_time and change time to goJeremy Allison1-15/+23
through functions. Will aid in making us pass RAW-SETFILEINFO. Jeremy.
2009-08-07Move the checks for null timestamps down below the VFS_NTIMESJeremy Allison1-30/+3
layer (as it's done in onefs). This simplifies greatly the code in smb_set_file_time() w.r.t. changenotify messages. Jeremy.
2009-08-07Correctly send out notify messages for timestamp changes.Jeremy Allison1-5/+3
"change time" has no notify message, so don't send anything out when we change it. Use FILE_NOTIFY_CHANGE_CREATION correctly when changing the create time. Jeremy.
2009-08-07s3:smbd: split the dir entry marshalling into smbd_marshall_dir_entry()Stefan Metzmacher1-443/+482
So that we can reuse it for SMB2 Find. metze
2009-08-07s3:smbd: move dptr globals into struct smbd_server_connectionStefan Metzmacher1-10/+13
metze
2009-08-07s3:smbd: remove dirptr and dirpath from connection_structStefan Metzmacher1-22/+24
They're both only used in the context of a function, so we can make them stack variables. metze
2009-08-07s3:smbd: implement get_lanman2_dir_entry() on top of smbd_dirptr_get_entry()Stefan Metzmacher1-229/+215
metze
2009-08-06Put SMB_INFO_STANDARD back into setfileinfo, but do it rightJeremy Allison1-0/+45
this time :-). Jeremy.
2009-07-31We're not changing last write, but setting this to be ↵Jeremy Allison1-1/+1
FILE_NOTIFY_CHANGE_CREATION doesn't work. So use FILE_NOTIFY_CHANGE_LAST_WRITE (now seems to reliably fix bug #6529 - Offline files conflict with Vista and Office 2003. Jeremy.
2009-07-30Tidy up treatment of ctime.Jeremy Allison1-5/+7
Jeremy.
2009-07-30Fix bug #6529 - Offline files conflict with Vista and Office 2003.Jeremy Allison1-0/+16
We need to send a notify message when a timestamp is changed that can't be reflected in the underlying POSIX filesystem. Jeremy.
2009-07-30Remove the extraneous logic in smb_set_info_standard - weJeremy Allison1-26/+8
do the time twiddling logic at the smb_set_file_time level. Jeremy.