1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

993 Commits

Author SHA1 Message Date
Tim Prouty
ae649782df s3: Fix smbd to correctly return INVALID_LEVEL on set_file_end_of_file_info for paths
This allows smbd to pass the freshly updated RAW-SFILEINFO-END-OF-FILE
torture test.
2009-12-01 11:12:51 -08:00
Tim Prouty
af610a6f26 s3 setfileinfo: Open with FILE_WRITE_DATA when setting the file size
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-25 08:45:58 -08:00
Volker Lendecke
a1a81ef785 Revert "s3: Make the implicit reference to Protocol in mask_match() explicit"
This reverts commit e23d8a3d1f558a7e98ef2afd71e1d15c5b3a71bc.
2009-11-23 16:35:00 +01:00
Volker Lendecke
0f8e2a6ebb Revert "s3: Move the global variable Protocol to struct smbd_server_connection"
This reverts commit c85a4c9ba4a7de65a7850f6f9708df66bd24deea.
2009-11-23 16:34:59 +01:00
Volker Lendecke
c85a4c9ba4 s3: Move the global variable Protocol to struct smbd_server_connection 2009-11-21 20:49:17 +01:00
Volker Lendecke
e23d8a3d1f s3: Make the implicit reference to Protocol in mask_match() explicit 2009-11-21 20:49:16 +01:00
Volker Lendecke
d1c34d4054 s3: Replace some create_synthetic_smb_fname() calls
In very hot codepaths like the statcache copy_smb_filename and the subsequent
recursive talloc_free is noticable in the CPU load.
2009-11-18 23:16:13 +01:00
Jeremy Allison
a770caed0f Remove "store create time" code, cause create time to be stored
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-17 14:55:02 -08:00
Jeremy Allison
cbafe17bb3 Remove "Protocol" as an extern, and add accessor functions.
Jeremy.
2009-11-04 15:15:50 -08:00
Jeremy Allison
31ce8eeb44 Fix debug statements to use correct function name.
Jeremy.
2009-11-03 11:22:19 -08:00
Jeremy Allison
7ae10fb892 requires_resume_key is a bool not int.
Jeremy.
2009-11-03 11:21:02 -08:00
Jeremy Allison
6a61befe37 Fix more of the RAW-SEARCH test. Older info levels are
not 4 byte aligned (levels 1 - 3).
Jeremy.
2009-11-03 11:19:24 -08:00
Jeremy Allison
494d8271d4 Fix bug 6867 - trans2findnext returns reply_nterror(req, ntstatus) In a directory with a lot of files.
Jeremy.
2009-11-02 12:15:25 -08:00
Jeremy Allison
921aa99b37 Start fixing the RAW-STREAMS test - ensure that the xattr
used to store the stream info in streams_depot.so is not
seen in when enumerating EAs.
Jeremy.
2009-10-29 16:14:12 -07:00
Günther Deschner
700df9b27a s3-smbd: fix get_ea_names_from_file() and check for pnames pointer.
This fixes smbd from crashing all the time.

Jeremy, Volker, please check.

Guenther
2009-09-18 21:31:37 +02:00
Jeremy Allison
16836f9e9e We now pass the Microsoft SMB2 fileio test with EA's and streams...
Jeremy.
2009-09-17 09:29:07 -07:00
Jeremy Allison
ca2c93b9e5 Fix bug 6494 - Incorrect FileStatus returned in NT_CREATE_ANDX.
Lookup the EA and Stream status on CreateX.
Jeremy.
2009-09-14 15:30:05 -07:00
Volker Lendecke
a5cace128d s3:smbd: Add a "hidden" parameter "share:fake_fscaps"
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-09-09 22:03:22 +02:00
Jeremy Allison
c69f92d16d Second attempt at fix for bug 6529 - Offline files conflict with Vista and Office 2003.
Confirmation from reporter that this fixes the issue in master on ext3/ext4.
Back-ports to follow.
Jeremy.
2009-08-24 20:57:37 -07:00
Jeremy Allison
87d30a1968 Second part of fix for 6529 - Offline files conflict with Vista and Office 2003.
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-24 12:30:05 -07:00
Jeremy Allison
1af0aa92b3 Fix bug 6529 - Offline files conflict with Vista and Office 2003
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-21 21:44:21 -07:00
Stefan Metzmacher
e621b7a52e s3:smbd: add a generic smbd_dirptr_lanman2_entry() function
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-19 22:12:42 +02:00
Jeremy Allison
6a0c2946be Fix BASE-DELAYWRITE test by removing const from struct smb_filename
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-12 15:08:23 -07:00
Jeremy Allison
d6270df748 Add "store create time" parameter (docs to follow)
that stores the create time in the user.DosTimestamps EA.
Jeremy.
2009-08-12 13:00:54 -07:00
Jeremy Allison
c9dca82ed7 Refactor the use of create_time and change time to go
through functions. Will aid in making us pass RAW-SETFILEINFO.
Jeremy.
2009-08-10 15:07:53 -07:00
Jeremy Allison
d296c774c5 Move the checks for null timestamps down below the VFS_NTIMES
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-07 12:38:31 -07:00
Jeremy Allison
ea6819ae75 Correctly send out notify messages for timestamp changes.
"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-07 10:19:20 -07:00
Stefan Metzmacher
50f54250f4 s3:smbd: split the dir entry marshalling into smbd_marshall_dir_entry()
So that we can reuse it for SMB2 Find.

metze
2009-08-07 14:18:18 +02:00
Stefan Metzmacher
59c3f5e3ca s3:smbd: move dptr globals into struct smbd_server_connection
metze
2009-08-07 14:18:17 +02:00
Stefan Metzmacher
c50a03e4e2 s3:smbd: remove dirptr and dirpath from connection_struct
They're both only used in the context of a function,
so we can make them stack variables.

metze
2009-08-07 14:18:17 +02:00
Stefan Metzmacher
dfae090c5d s3:smbd: implement get_lanman2_dir_entry() on top of smbd_dirptr_get_entry()
metze
2009-08-07 14:18:16 +02:00
Jeremy Allison
e76af514c3 Put SMB_INFO_STANDARD back into setfileinfo, but do it right
this time :-).
Jeremy.
2009-08-06 12:50:16 -07:00
Jeremy Allison
301be8c99b We're not changing last write, but setting this to be 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-31 11:19:19 -07:00
Jeremy Allison
fc4e21bdae Tidy up treatment of ctime.
Jeremy.
2009-07-30 14:27:32 -07:00
Jeremy Allison
65165433ec Fix bug #6529 - Offline files conflict with Vista and Office 2003.
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-30 13:19:26 -07:00
Jeremy Allison
84bfd7395c Remove the extraneous logic in smb_set_info_standard - we
do the time twiddling logic at the smb_set_file_time level.
Jeremy.
2009-07-30 13:16:40 -07:00
Jeremy Allison
e411ec6a8a SMB_INFO_STANDARD is not a valid info level on set,
and was being read incorrectly anyway. Remove.
Jeremy.
2009-07-30 13:13:23 -07:00
Tim Prouty
f49f3fcb01 s3: Convert a few callers of unix_convert() over to filename_convert()
This patch also changes the unix convert flags to make sure the
correct semantics are preservered for allowing/disallowing wildcards
in the last component of the path.
2009-07-24 18:51:41 -07:00
Tim Prouty
7197ba3abd s3: Remove a few callers of get_full_smb_filename() 2009-07-24 18:51:40 -07:00
Tim Prouty
cd5133b112 s3: Simplify rename_internals() by passing in smb_filename structs 2009-07-24 15:10:45 -07:00
Tim Prouty
10324b177e s3: Allow filename_convert() to pass through unix_convert_flags and let the caller know if the path has a wildcard
This also eliminates the need for resolve_dfspath().
2009-07-24 15:10:45 -07:00
Tim Prouty
4b42927ec3 s3: Convert some callers of vfs_stat_smb_fname to SMB_VFS_STAT() 2009-07-22 09:51:17 -07:00
Tim Prouty
605649edc3 s3: plumb smb_filename through some of the trans2 posix_* functions 2009-07-21 12:04:59 -07:00
Tim Prouty
23c703a01e s3: Remove unnecessary callers of get_full_smb_filename
This often times means explicitly denying certain operations on a stream
as they are not supported or don't make sense at a particular level.  At
some point in the future these can be enabled, but for now it's better to
remove ambiguity
2009-07-21 12:04:59 -07:00
Tim Prouty
00e267008d s3: Remove the now unused fname parameter from filename_convert() 2009-07-21 12:04:59 -07:00
Tim Prouty
78ce9dd471 s3: Remove unnecessary fname argument from callers of filename_convert 2009-07-21 12:04:59 -07:00
Tim Prouty
6b49f28592 s3: Plumb smb_filename through map_open_params_to_ntcreate 2009-07-21 12:04:58 -07:00
Tim Prouty
5a8d70d465 s3: Change fsp->fsp_name to be an smb_filename struct! 2009-07-20 17:26:56 -07:00
Jeremy Allison
0bd13fda76 Fix Coverity CID 928. Removed check as this can never be null.
Jeremy.
2009-07-17 21:40:23 -07:00
Jeremy Allison
3036a9c7c1 Fix Coverity CID 929. Potential NULL deref after code refactoring.
Jeremy.
2009-07-17 21:36:55 -07:00