summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2009-12-03Remove smb_fname duplicates that just keep the same information as in ↵Jeremy Allison1-13/+11
fsp->fsp_name. Moving towards making VFS_OPEN/VFS_MKDIR/VFS_RMDIR handle based... Jeremy.
2009-12-03Refactor reply_rmdir to use handle based code. AllJeremy Allison2-262/+298
calls are now handle based. Put rmdir into close.c and make it private. Jeremy.
2009-12-02Remove unneeded argument from can_set_delete_on_close(). EnsureJeremy Allison3-25/+18
can_set_delete_on_close() is correctly called before any setting of the disposition bit (clean up the do_unlink() call). Jeremy.
2009-12-02Fix bug #6837 - "Too many open files" when trying to access large number of ↵Jeremy Allison1-2/+0
files from Windows 7. Original patch by me fixed up with the correct open files number by jmaggard10@hotmail.com. 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-29s3: "check_magic" only looks at the sizeVolker Lendecke1-1/+1
2009-11-29s3: "disk_quotas" only looks at the devicenumberVolker Lendecke1-17/+13
2009-11-29s3: Pass the "fake dir create times" parameter to sys_*statVolker Lendecke2-14/+20
Step 0 to restore it as a per-share paramter
2009-11-26s3-smbd: no drsuapi server stubs yet in s3. Fixes the build, sorry.Günther Deschner1-1/+0
Guenther
2009-11-26s3-rpc: Avoid including every pipe's client and server stubs everywhere in ↵Günther Deschner2-0/+17
samba. Guenther
2009-11-25Make us pass RAW-CHKPATH with a case sensitive share.Jeremy Allison1-42/+105
I know Volker will look at this closely so here's the explaination :-). Originally on a case-sensitive share we simply did a stat (or lstat) call and returned success of fail based on the result. However this failed to take account of incoming paths with a wildcard (which must always fail, and with different error messages depending on whether the wildcard is the last component or in the path). Also it failed to take account of a stat fail with ENOENT due to a missing component of the path as the last component (which is ok as it could be a new file) or if the ENOENT was due to the missing component within the path (not the last component) - which must return the correct error. What this means is that with "case sensitive = yes" we do one more talloc call (to get the parent directory) and one more stat call (on the parent directory) in the case where the stat call fails. I think this is an acceptable overhead to enable case sensitive shares to return the correct error messages for applications. Volker please examine carefully :-). Jeremy.
2009-11-25Fix crash due to uninitialized pointer (not a problem in 3.4.x or below).Jeremy Allison1-2/+1
Jeremy.
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-24Remove call into reduce_name if case sensitive. This allows us to passJeremy Allison1-2/+1
RAW-CHKPATH when case sensitive = yes, but isn't the correct way to do it. I'm testing a larger patch to smbd/filename.c that should fix this correctly, and will add a torture test to ensure RAW-CHKPATH is run against a case sensitive share once this is done. Jeremy.
2009-11-24Allow us to pass RAW-CHKPATH with FILE_FLAG_POSIX_SEMANTICS set or withJeremy Allison2-4/+13
wide links = no. Jeremy.
2009-11-24Fix make test. Only do POSIX case conversion if FILE_FLAG_POSIX_SEMANTICS ↵Jeremy Allison1-8/+12
set. Doh ! Jeremy.
2009-11-23Restore NtCreateX case handling with FILE_FLAG_POSIX_SEMANTICS to the wayJeremy Allison1-5/+68
it worked in 3.3.x and 3.2.x. UCF_POSIX_PATHNAMES may no longer be needed, as lp_posix_pathnames() being set isn't the same as case handling from NtCreateX (lp_posix_pathnames() changes the STAT calls to LSTAT, not the case semantics). Jeremy.
2009-11-23Remove unused code.Jeremy Allison1-46/+0
Jeremy.
2009-11-23Proper fix for #6898 - Samba duplicates file content on appending. Pointed ↵Jeremy Allison2-13/+20
out by Volker.Restores the pathname handling for FILE_FLAG_POSIX_SEMANTICS but still prevents the O_APPEND problems. Jeremy.
2009-11-23Fix bug #6898 - Samba duplicates file content on appendingJeremy Allison1-0/+10
Clients using a Windows open call should not be able to set FILE_FLAG_POSIX_SEMANTICS in an open. Jeremy.
2009-11-23Revert "s3: Make the implicit reference to Protocol in mask_match() explicit"Volker Lendecke2-6/+4
This reverts commit e23d8a3d1f558a7e98ef2afd71e1d15c5b3a71bc.
2009-11-23Revert "s3: Make the implicit reference to Protocol in is_in_path() explicit"Volker Lendecke5-13/+7
This reverts commit f7b4151a64d8c6851e62255a7139fd00a5fc63a3.
2009-11-23Revert "s3: Make the implicit reference to get_Protocol in lp_use_sendfile() ↵Volker Lendecke1-4/+2
explicit" This reverts commit 6a149022976fe6a5579ec9afc7a4d2dcb44dc8af.
2009-11-23Revert "s3: Move the global variable Protocol to struct smbd_server_connection"Volker Lendecke13-59/+35
This reverts commit c85a4c9ba4a7de65a7850f6f9708df66bd24deea.
2009-11-23s3: Move a variable declaration to its only useVolker Lendecke1-1/+1
2009-11-23s3-printing: use spoolss types and structs while getting and deleting drivers.Günther Deschner1-33/+28
Guenther
2009-11-21s3: Move the global variable Protocol to struct smbd_server_connectionVolker Lendecke13-35/+59
2009-11-21s3: Make the implicit reference to get_Protocol in lp_use_sendfile() explicitVolker Lendecke1-2/+4
2009-11-21s3: Make the implicit reference to Protocol in is_in_path() explicitVolker Lendecke5-7/+13
2009-11-21s3: Make the implicit reference to Protocol in mask_match() explicitVolker Lendecke2-4/+6
2009-11-21s3: Tune if-conditions in a very hot codepathVolker Lendecke1-1/+1
This looks innocent, but it is visible in a netbench run. Due to boolean short-circuiting we don't have to execute the conditions on the right-hand side of the &&. So putting the less likely condition left gains a bit.
2009-11-20Fix logic bug where high bits tests was beingJeremy Allison1-1/+1
done on both Windows and POSIX mkdirs instead of only on Windows mkdir (as intended). The variable "file_attributes" had already had FILE_FLAG_POSIX_SEMANTICS removed above in the function if it had already been set. Jeremy.
2009-11-18s3: Replace some create_synthetic_smb_fname() callsVolker Lendecke6-104/+56
In very hot codepaths like the statcache copy_smb_filename and the subsequent recursive talloc_free is noticable in the CPU load.
2009-11-18s3: Do not talloc in readdirVolker Lendecke5-105/+145
This is a hot codepath (called from the stat cache)
2009-11-17Start removing SMB_STRUCT_STAT variables except forJeremy Allison1-15/+13
the directory enumeration code (which needs it). Jeremy.
2009-11-17Remove "store create time" code, cause create time to be storedJeremy Allison6-139/+188
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-16Don't overwrite a dynamic pointer with the address of a stackJeremy Allison2-16/+11
variable. Jeremy.
2009-11-12Fix bug 6891 - using windows explorer to change ownership on a folder fails ↵Jeremy Allison1-1/+11
with Bad File Descriptor. Jeremy.
2009-11-12s3: Fix debug messages in check_reduced_nameVolker Lendecke1-13/+24
2009-11-11Fix bug 6878 - Cannot change ACL's inherit flag.Jeremy Allison1-44/+108
Based on a patch submitted by Tsukasa Hamano <hamano@osstech.co.jp>, this is a change in the POSIX ACL mapping to deal with the lossy mapping for directory ACE entries: We have a lossy mapping: directory ACE entries CREATOR_OWNER ------\ (map to) +---> SMB_ACL_USER_OBJ owning sid ------/ CREATOR_GROUP ------\ (map to) +---> SMB_ACL_GROUP_OBJ primary group sid --/ on set. And on read of a directory ACL SMB_ACL_USER_OBJ ----> CREATOR_OWNER SMB_ACL_GROUP_OBJ ---> CREATOR_GROUP. Deal with this on set by duplicating owning sid and primary group sid ACE entries into the directory ACL. Jeremy.
2009-11-10s3-chgpasswd: split out a check_password_complexity() function.Günther Deschner1-22/+42
Guenther
2009-11-06Fix bug 6841 - "map acl inherit = yes" not working.Jeremy Allison1-8/+29
The code to read the new V2 SAMBA_PAI entries had two errors. Jeremy.
2009-11-05Got the logic simplification worked out so we still passJeremy Allison4-30/+45
BASE-DELAYWRITE and also RAW-CLOSE. Jeremy.
2009-11-05Revert commit "0551284dc08eb93ef7b2b2227a45e5ec21d482fb" - simplifyJeremy Allison3-11/+31
the logic. This was incorrect (I'll revisit this tomorrow). Jeremy.
2009-11-05Simplify the logic - remove extraneous argument and calls to ↵Jeremy Allison3-31/+11
set_close_write_time(). We were treating a file time set on close as a sticky write time set, and I don't think it is. I will add a torture test later to RAW-CLOSE to confirm this. Jeremy.
2009-11-05Fix explicit set of write time on close.Jeremy Allison1-1/+5
Jeremy.
2009-11-05Get closer to an accurate model of Windows timestamp changes.Jeremy Allison5-30/+53
"Normal" non truncate writes always cause the timestamp to be set on close. Once a close is done on a handle this can reset the sticky write time to current time also. Updated smbtorture4 confirms this. Jeremy.
2009-11-05s3: Fix a crash in notify_remove_onelevel when "change notify = no"Volker Lendecke1-0/+4
2009-11-05s3: Fix the talloc hierarchy in notify_remove_onelevelVolker Lendecke1-1/+1
We want to free the record early, not when talloc_tos() is free'ed.