summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-01SMB2: Fix rename on Windows 7.Ira Cooper1-8/+0
This removes some code Jeremy (jra) suspected was bad. It turns out that the command window rename command will not work with the offending code in place. With it removed the bug is gone, and rename works.
2010-05-31s3-build: only use ndr_security.h where needed.Günther Deschner1-0/+1
Guenther
2010-05-29s3:smbd Use the right num_sidsSimo Sorce1-1/+1
We use s_i->ptok->num_sids everywhere else in this call and then suddenly we reference s_i->num_sids
2010-05-20Fix bug #7410 - samba sends "raw" inode number as uniqueid with unix ↵Jeremy Allison1-7/+26
extensions. Move to a consistent get_FileIndex() function for all inode returns, that checks if st_dev on the file is identical to the top directory dev_t of the exported share, and if so uses the raw 64-bit inode number. If it isn't (we've traversed a mount point) - return what we used to do for Windows which is the concatination of the bottom 32-bits of the inode with the 32-bit device number. We can get more creative with this over time (hashing?) if we want as now all inode returns go through this single function. Jeremy.
2010-05-19Fix bug 7442 - Samba returns incorrect SMB2 QFS device info.Jeremy Allison1-2/+9
Add the correct devicetype and characteristics for this info level. Jeremy.
2010-05-18Implement missing info level SMB_FILE_LINK_INFORMATION.Jeremy Allison1-5/+99
Fix bug #7435 - SMB2 hardlink fails (invalid level). Found at the Microsoft plugsharing plugfest. Jeremy.
2010-05-18s3: Remove use of iconv_convenience.Jelmer Vernooij1-2/+0
2010-05-13Fix bug 7399 - SMB2: QUERY_DIRECTORY is returning invalid values.Jeremy Allison1-0/+10
The end_data argument to smbd_dirptr_lanman2_entry() must include the safety margin, as internally it's actually used to allow detection of string name pushes that were truncated. Ensure space_remaining can never go negative due to padding. Jeremy.
2010-05-11Fix more SMB2-OPLOCK bugs. Only 3 more issues to address then we're good to ↵Jeremy Allison1-1/+9
go on this test. Jeremy.
2010-05-07This patch looks bigger than it is. It does 2 things. 1). Renames smbpid -> ↵Jeremy Allison1-14/+14
smblctx in our locking code. 2). Widens smblctx to 64-bits internally. Preparing to use the SMB2 handle as the locking context. Jeremy.
2010-05-06s3: only include gen_ndr headers where needed.Günther Deschner1-0/+1
This shrinks include/includes.h.gch by the size of 7 MB and reduces build time as follows: ccache build w/o patch real 4m21.529s ccache build with patch real 3m6.402s pch build w/o patch real 4m26.318s pch build with patch real 3m6.932s Guenther
2010-04-29Carefully label SMB1-specific locking calls.Jeremy Allison1-1/+1
Jeremy.
2010-04-29Attempt to fix bug #7399 - SMB2: QUERY_DIRECTORY is returning invalid values.Jeremy Allison1-6/+17
Based on an initial patch from Ira Cooper <samba@ira.wakeful.net>. Jeremy.
2010-04-23s3-smbd: group print relate data in own structureSimo Sorce1-1/+6
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