summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_setfileinfo.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r15734: This is a major change to the NTVFS subsystem:Stefan Metzmacher1-1/+1
- to use a struct ntvfs_handle instead of a uint16_t fnum. (to make it independend from the frontend protocol) - the allocation of handles now is provided by the frontend (smbsrv_*) via callbacks and not by each backend module - this also makes sure that file handles are only passed to the ntvfs subsystem when the tcon and session matches, so modules can rely on this and need to check this. - this allows multiple modules in the ntvfs module chain to allocate file handles. This can be used for virtual files like "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"... - also this will make SMB2 with 128 bit file handles possible metze (This used to be commit 287fc1c22d670f6e568014b420f7f4cb31dc7958)
2007-10-10r15057: fix access masks for getting and setting security_descriptorsStefan Metzmacher1-2/+9
I'll add some torture tests later... metze (This used to be commit ce045f4df37b6740f2bf849fd06ab51c682ea0b7)
2007-10-10r14947: add support for file truncate eventsAndrew Tridgell1-5/+8
(This used to be commit ed1b90407d8ef6e0216931cb3a89cc9a7789ead2)
2007-10-10r14933: fix the handling of notify filters to be much closer to the behaviourAndrew Tridgell1-5/+10
of w2k3. The behaviour is particularly tricky for rename. (This used to be commit 4d3b8d95498a328ffc08ecb62d9531b6bfe4e2b5)
2007-10-10r14925: trigger NOTIFY_ACTION_OLD_NAME and NOTIFY_ACTION_NEW_NAME events forAndrew Tridgell1-10/+4
renames, if in the same directory. For renames between directories generate NOTIFY_ACTION_REMOVED and NOTIFY_ACTION_ADDED (This used to be commit 2ac248edf05c3ee715165f2b33055de480743e87)
2007-10-10r14808: added notify_trigger() calls for rename and setfileinfo callsAndrew Tridgell1-0/+36
(This used to be commit adb4ea32e2d5506cb213ea4c0715918042fba084)
2007-10-10r14464: Don't include ndr_BASENAME.h files unless strictly required, insteadJelmer Vernooij1-1/+1
try to include just the BASENAME.h files (containing only structs) (This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
2007-10-10r14256: - rename smb_file -> smb_handleStefan Metzmacher1-9/+10
- move it into the in/out substructs again - allow file.path only on smb_fileinfo/smb_setfileinfo metze (This used to be commit be6d5298a2cdb7e7c61d70471bad445645af5963)
2007-10-10r14174: fix typosStefan Metzmacher1-1/+1
metze (This used to be commit 29240bae4488749b3f8a2b49bccad1601d1aa184)
2007-10-10r14157: - pass a struct ntvfs_request to the ntvfs layerStefan Metzmacher1-3/+3
(for now we just do #define ntvfs_request smbsrv_request, but it's the first step...) - rename ntvfs_openfile() -> ntvfs_open() - fix the talloc hierachie in some places in the ntvfs_map_*() code metze (This used to be commit ed9ed1f48f602354810937c0b0de850b44322191)
2007-10-10r13739: a fairly major overhaul of the opendb code to allow the BASE-DELETEAndrew Tridgell1-9/+5
test to pass. To try to make the code a bit more understandable, I moved to using an IDL description of the opendb tdb record format. One of the larger changes was to make directory opens and creates go via the opendb code, so directory operations now obey all the share mode restrictions, as well as delete on close semantics. I also changed the period over which the opendb locks are held, to try to minimise races due to two open operations happening at the same time. (This used to be commit cd2602d05725e1734b0862131dd91601c6b6d51a)
2007-10-10r9792: Rename StrCaseCmp -> strcasecmp_m. All these years I was thinkingJelmer Vernooij1-1/+1
StrCaseCmp was sys_strcasecmp, while it is in fact strcasecmp_m! (This used to be commit 200a8f6652cb2de7a8037a7a4c2a204b50aee2b1)
2007-10-10r5666: winxp will use a NTTIME of -1 to mean "don't change" in setfileinfoAndrew Tridgell1-8/+8
basic_info. Add null_nttime() as the equivalent of the existing null_time() call for cheecking for valid NTTIME values (This used to be commit 439ce2efbf7d2ba9b17d6b4bfaf651e781140715)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell1-2/+2
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4615: added acl checking on directory search in pvfsAndrew Tridgell1-1/+1
(This used to be commit 0e61a422bd9a1596a284c176f033e958bbeaa8ce)
2007-10-10r4584: fix pvfs backend to pass the new enhanced RAW-ACLS test. Easy once I ↵Andrew Tridgell1-1/+1
really the strange behaviour I saw was a w2k3 bug :-) (This used to be commit e729061bcde25d0565a72222e4720ca8074ef23f)
2007-10-10r4448: - fixed access_mask checking on acl setAndrew Tridgell1-5/+12
- honor the change ownership requests of acl set, changing the underlying unix owner/group - fix the access mask on file create with SEC_FLAG_MAXIMUM_ALLOWED (This used to be commit 5761fa35ab727b51ef1b52459911bafbdd788755)
2007-10-10r4409: fixed handling of zero access masks for the POSITION_INFORMATION ↵Andrew Tridgell1-1/+1
query/set levels (This used to be commit 75e7229476e1af6ab78fa5b41a7bb67df8e3d2dd)
2007-10-10r4408: added the remaining access check hooks into pvfs. All calls should ↵Andrew Tridgell1-3/+49
now have acl checking, and obey the various inheritance rules. (This used to be commit 5fe51807d6b97e68b65f152c0f405e5c5a025d21)
2007-10-10r4406: - don't call the xattr unlink hook on unlink unless the link count is ↵Andrew Tridgell1-6/+4
1, otherwise the xattrs of the remaining link are removed - fix the handling of attribute set on directories (This used to be commit fa44e3cce00b75656c85378c7825960540d2f282)
2007-10-10r4314: added ACL checking on unlinkAndrew Tridgell1-1/+1
(This used to be commit f25c469693517ed993e0379d8b07cd7eb235a669)
2007-10-10r4243: a sniff from kukks showed that the ea_set interface in trans2 ↵Andrew Tridgell1-19/+35
setfileinfo allows for multiple EAs to be set at once. This fixes all the ea code to allow for that. (This used to be commit b26828bef5d55e5eef0e34a164e76292df45e207)
2007-10-10r4011: get rid of rpc_secdes.h and replace it with a single sane set ofAndrew Tridgell1-2/+3
definitions for security access masks, in security.idl The previous definitions were inconsistently named, and contained many duplicate and misleading entries. I kept finding myself tripping up while using them. (This used to be commit 01c0fa722f80ceeb3f81f01987de95f365a2ed3d)
2007-10-10r3939: - added "posix:fakeoplocks" option for testing with oplocks forced onAndrew Tridgell1-0/+2
- added support for sticky write times after a setfileinfo, by using a write_time field in the DosAttrib xattr structure. (This used to be commit 4a52fae82d8305e999f94f1947daa21dab54cdfd)
2007-10-10r3832: added NT ACL query/set to the posix NTVFS backend. The default ACL isAndrew Tridgell1-0/+3
based on the current nttoken, which is completely wrong, but works as a start. The ACL is stored in the xattr system.DosAcl, using a NDR encoded IDL union with a version number to allow for future expansion. pvfs does not yet check the ACL for file access. At the moment the ACL is just query/set. We also need to do some RPC work to allow the windows ACL editor to be used. At the moment is queries the ACL fine, but displays an error when it fails to map the SIDs via rpc. (This used to be commit 3a1f20d874ab2d8b2a2f2485b7a705847abf1263)
2007-10-10r3806: added support to smb_server and pvfs for the NTTRANS Create call. ThisAndrew Tridgell1-3/+3
call has an optional sec_desc and ea_list. (This used to be commit 8379ad14e3d51a848a99865d9ce8d56a301e8a3c)
2007-10-10r3801: added allocation size rounding. This is needed for ifstest.Andrew Tridgell1-0/+4
(This used to be commit 8a6fa43156667f75e058c7d44b1c15a6cf7067b2)
2007-10-10r3800: - fixed delete-on-close behaviour for streamsAndrew Tridgell1-1/+7
- added a delete-on-close test to RAW-STREAMS - don't allow rename of streams at the moment (I need to work out if its supposed to be allowed first) (This used to be commit f4b2b1311da6e37ac0947a3419d89c77ebbd6b63)
2007-10-10r3798: added support for alternate data streams in xattrs into pvfs.Andrew Tridgell1-8/+20
The trickiest part about this was getting the sharing and locking rules right, as alternate streams are separate locking spaces from the main file for the purposes of byte range locking, and separate for most share violation rules. I suspect there are still problems with delete on close with alternate data streams. I'll look at that next. (This used to be commit b6452c4a2068cf7e837778559da002ae191b508a)
2007-10-10r3747: - added some of the infrastructure needed for streams support in pvfsAndrew Tridgell1-3/+13
(the IDL, and the load/save meta-data logic) - changed pvfs_resolve_name() to default to non-wildcard, needing PVFS_RESOLVE_WILDCARD to enable wildcards. Most callers don't want wildcards, so defaulting this way makes more sense. - fixed deletion of EAs (This used to be commit e7afd4403cc1b7e0928776929f8988aa6f15640b)
2007-10-10r3729: permission changes on directories always include the ↵Andrew Tridgell1-0/+1
FILE_ATTRIBUTE_DIRECTORY bit (This used to be commit 5af815ffc3531e4ae4a6844e9f754656d9acf76e)
2007-10-10r3717: - expanded the RAW-RENAME test a littleAndrew Tridgell1-1/+1
- added support for wildcard rename in pvfs - made more consistent use of pvfs_map_errno() (This used to be commit e255d1c3a811c480a850452aaf636d9fa36f69fe)
2007-10-10r3694: added support for the RENAME_INFORMATION level of setfileinfo andAndrew Tridgell1-10/+48
setpathinfo. pvfs now passes the RAW-SFILEINFO test. (This used to be commit 31ac31398ba52dfc554e58edaa7ae257caf5fdc6)
2007-10-10r3618: - this adds the special case for DENY_DOS semantics, as shown by the ↵Andrew Tridgell1-2/+2
BASE-DENYDOS test. - pvfs now passes BASE-DENY1 and BASE-DENYDOS. (This used to be commit aa09df22ee729c02552638859236d9068e9748ae)
2007-10-10r3615: split out struct pvfs_file_handle from struct pvfs_file. This is inAndrew Tridgell1-20/+73
preparation for adding code to pass the BASE-DENY1 and BASE-DENYDOS tests, which require a shared filesystem handle for some specific combinations of two DENY_DOS opens on the same connection. (This used to be commit 6e4fdf01d19051e3923d7703dbf990fc1722b09a)
2007-10-10r3595: - fixed a talloc_free ordering problem on cleanup with pending requestsAndrew Tridgell1-0/+31
- added initial support for MODE_INFORMATION in setfileinfo (I have no idea what "mode information" on a file is - it takes a value of 0, 2, 4 or 6. What could it be?) (This used to be commit e53ec2f6b68e1d19149c36ea8fcd25a204db38fb)
2007-10-10r3573: added trans2open support to smbd and pvfs, and fine-tuned the ↵Andrew Tridgell1-1/+7
open->generic ntvfs mapping code. (This used to be commit ed844192d7f7ed487290f719df65f256a5b0b9bc)
2007-10-10r3549: added support for DOS extended attribute lists (name/value pairs)Andrew Tridgell1-14/+64
stored in posix xattrs (This used to be commit bad6a88371264cffce2bf5d6ce904b7b357081de)
2007-10-10r3545: initial support for using extended attributes to hold extended dos ↵Andrew Tridgell1-1/+16
attributes of files. I decided to use IDL/NDR to encode the attribute, as it gives us a simple way to describe and extend the saved attributes. The xattr code needs to hook into quite a few more places in the pvfs code, but this at least gets the basics done. I will start encoding alternate data streams streams, DOS EAs etc soon using the same basic mechanism. I'll probably stick to "version 1" for the xattr.idl for quite a while even though it will be changing, as I don't expect anyone to be deploying this in production just yet. Once we have production users we will need to keep compatibility by supporting all the old version numbers in xattr.idl. (This used to be commit c54253ed1b7dce1d14f43e747da61089aea87094)
2007-10-10r3447: more include/system/XXX.h include filesAndrew Tridgell1-0/+1
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10r3351: handle far more operations on open directory handles. pvfs was failingAndrew Tridgell1-0/+7
with a wxp client because of qfileinfo operations on directories failing with NT_STATUS_INVALID_HANDLE after the fstat() failed (as pvfs sets f->fd to -1 for directories) (This used to be commit 1993128cb1dbf49db6e3e0387996ecf2a14b8d76)
2007-10-10r3258: fixed "don't change" attribute for RAW_SFILEINFO_BASIC_INFOAndrew Tridgell1-1/+1
(This used to be commit 51f84800d50f44ec47a34e1c922c6197eb794558)
2007-10-10r3247: FILE_ATTRIBUTE_NORMAL is only a null-op for setattr and setattre, not ↵Andrew Tridgell1-1/+1
basic_info (This used to be commit 36286e477c9bc7b6e268fffb123b565b6e897a44)
2007-10-10r3240: - update the rules for what error codes should be given on theAndrew Tridgell1-41/+172
different type of unlink an seach mismatches - wildcard directory listings that have attribute FILE_ATTRIBUTE_DIRECTORY and match "." or ".." should be failed. - don't set the write_time on SMBclose unless it is non-zero - added much better support for setfileinfo and setpathinfo in pvfs - better (and more efficient) handling of .. and . components in filenames (This used to be commit 9305b07af395a158cb9f0c1c9486f7122c79d357)
2007-10-10r3179: - fixed error return on utime failureAndrew Tridgell1-1/+1
- formatting fix (This used to be commit 8ca4d7c51e5c76aa28f600d49437a45a8a0d31a9)
2007-10-10r3161: pvfs now passes the RAW-SEEK testAndrew Tridgell1-0/+67
(This used to be commit a953d4a42c8fa3fe930c319d5157fc406a1035da)
2007-10-10r3160: recognise RAW_SFILEINFO_DISPOSITION_INFORMATION (fixes temporary ↵Andrew Tridgell1-0/+3
files from excel) (This used to be commit 1c05147f7103127c11b06bb0a812970577ace5f6)
2007-10-10r3153: pvfs now passes the first 9 of the BASE-DELETE testsAndrew Tridgell1-0/+13
(This used to be commit f8041feaebc9170763ce04d2dd90cfc1c7889c21)
2007-10-10r3133: - more consistent error checking in rename and setfileinfoAndrew Tridgell1-1/+1
- add paranoid checking of device/inode change during open to detect race conditions (This used to be commit 043361fed487ed494fa497ffde1007b3f3bc0c29)
2007-10-10r2751: this is a new ntvfs design which tries to solve:Stefan Metzmacher1-3/+4
- the stacking of modules - finding the modules private data - hide the ntvfs details from the calling layer - I set NTVFS_INTERFACE_VERSION 0 till we are closer to release (because we need to solve some async problems with the module stacking) metze (This used to be commit 3ff03b5cb21bb79afdd3b1609be9635f6688a539)