1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-29 16:23:52 +03:00
Commit Graph

28 Commits

Author SHA1 Message Date
Stefan Metzmacher
c214996391 r7458: don't look at components[-1] :-)
we now survive the RAW-UNLINK test without crashing

metze
2007-10-10 13:17:55 -05:00
Andrew Tridgell
ec32b22ed5 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
2007-10-10 13:09:15 -05:00
Andrew Tridgell
89b74b5354 r4549: got rid of a lot more uses of plain talloc(), instead using
talloc_size() or talloc_array_p() where appropriate.

also fixed a memory leak in pvfs_copy_file() (failed to free a memory
context)
2007-10-10 13:08:25 -05:00
Andrew Tridgell
f4dfb63d53 r4403: - added ACL inheritance in the pvfs backend. ACLs are now inherited on
file and directory creation via ntcreatex. pvfs now passes the
  inheritance test in RAW-ACLS

- cleaned up the error handling a bit in pvfs_open()
2007-10-10 13:07:43 -05:00
Andrew Tridgell
0928b1f5b6 r4037: fixed a bunch of "might be uninitialised" warnings after enabling -O1 in my compile 2007-10-10 13:06:16 -05:00
Andrew Tridgell
c1a48a7542 r3799: - added the bit for FS_ATTR_NAMED_STREAMS support into qfsinfo filesystem attribute reply
- pvfs passes the RAW-STREAMS test
2007-10-10 13:05:55 -05:00
Andrew Tridgell
b6452c4a20 r3798: added support for alternate data streams in xattrs into pvfs.
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.
2007-10-10 13:05:54 -05:00
Andrew Tridgell
e7afd4403c r3747: - added some of the infrastructure needed for streams support in pvfs
(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
2007-10-10 13:05:50 -05:00
Andrew Tridgell
31ac31398b r3694: added support for the RENAME_INFORMATION level of setfileinfo and
setpathinfo. pvfs now passes the RAW-SFILEINFO test.
2007-10-10 13:05:45 -05:00
Andrew Tridgell
4b3afc6c39 r3658: use handle->fd == -1 as the primary indicator of a directory. This
fixes a directory creation problem from WinXP
2007-10-10 13:05:42 -05:00
Andrew Tridgell
c54253ed1b r3545: initial support for using extended attributes to hold extended dos 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.
2007-10-10 13:05:30 -05:00
Andrew Tridgell
264ce91810 r3447: more include/system/XXX.h include files 2007-10-10 13:05:12 -05:00
Andrew Tridgell
498799e426 r3353: don't reference dos.attrib unless its initialised 2007-10-10 13:05:00 -05:00
Andrew Tridgell
1993128cb1 r3351: handle far more operations on open directory handles. pvfs was failing
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)
2007-10-10 13:04:58 -05:00
Andrew Tridgell
32dccf91cf r3288: - updated the path processing in pvfs to pass the RAW-CHKPATH test. This
rather extensive test reveals some really bizarre error code
  handling in w2k3.

- extended and simplified the RAW-CHKPATH test, making it easier to
  read (note that Samba3 fails the new tests - jra may wish to look)

- marked RAW-CHKPATH as pass for pvfs
2007-10-10 13:04:50 -05:00
Andrew Tridgell
9305b07af3 r3240: - update the rules for what error codes should be given on the
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
2007-10-10 13:04:45 -05:00
Andrew Tridgell
d84ade90ce r3227: added a per-share option "case insensitive filesystem", that tells the
backend that the underlying filesystem is case insensitive, so it can
bypass the directory search if the name is not found.
2007-10-10 13:04:43 -05:00
Andrew Tridgell
41adb385f1 r3198: check for too many .. components in filenames
pvfs now passes RAW-MKDIR
2007-10-10 13:04:40 -05:00
Andrew Tridgell
043361fed4 r3133: - more consistent error checking in rename and setfileinfo
- add paranoid checking of device/inode change during open to detect race conditions
2007-10-10 13:02:25 -05:00
Andrew Tridgell
c6a922dbd8 r2984: fixed the error code for a non-terminal component of a path name not existing 2007-10-10 12:59:54 -05:00
Andrew Tridgell
0acf95d84c r2931: use next_codepoint() to ensure we properly handle multi-byte characters in pvfs_unix_path() 2007-10-10 12:59:49 -05:00
Andrew Tridgell
0a475175c5 r2928: - fixed the handling of reserved names (rejecting them with ACCESS_DENIED)
- don't check for '.' specially in checking for legal names. Longhorn
  doesn't do this any more, and its a real pain. Longhorn allows for
  filenames ending in '.', and with as many '.' elements as you like.
2007-10-10 12:59:49 -05:00
Andrew Tridgell
ed52d69e8a r2927: imported the hash2 name mangling code from Samba3 into Samba4, but
heavily modified to suit the Samba4 architecture.

Samba4 with posix backend now passes the BASE-MANGLE test
2007-10-10 12:59:49 -05:00
Andrew Tridgell
749fa73544 r2893: added very primitive name mangling support to pvfs 2007-10-10 12:59:45 -05:00
Andrew Tridgell
11c852170b r2786: - match on both long and short name for search posix backend
- a final name component of . is illegal
2007-10-10 12:59:33 -05:00
Andrew Tridgell
f84c0af35c r2561: completely redid the ntvfs module chaining code, You can now do something like:
ntvfs handler = nbench posix

and the nbench pass-thru module will be called before the posix
module. The chaining logic is now much saner, and less racy, with each
level in the chain getting its own private pointer rather than relying
on save/restore logic in the pass-thru module.

The only pass-thru module we have at the moment is the nbench one
(which records all traffic in a nbench compatibe format), but I plan
on soon writing a "unixuid" pass-thru module that will implement the
setegid()/setgroups()/seteuid() logic for standard posix uid
handling. This separation of the posix backend from the uid handling
should simplify the code, and make development easier.

I also modified the nbench module so it can do multiple chaining, so
if you want to you can do:

   ntvfs module = nbench nbench posix

and it will save 2 copies of the log file in /tmp. This is really only
useful for testing at the moment until we have more than one pass-thru
module.
2007-10-10 12:59:06 -05:00
Andrew Tridgell
f2fa7fe565 r2436: the second big lump of posix vfs code.
this is still just a skeleton, and many of the functions are just
based on the simple vfs backend, they are there to allow me to run
smbtorture tests against the real parts of the posix backend.
2007-10-10 12:58:52 -05:00
Andrew Tridgell
40d5cae5eb r2404: the first large lump of posix vfs stuff.
this is still very much a skeleton (with many limbs missing too!). I
am committing this early to get some feedback on the approach taken.
2007-10-10 12:58:48 -05:00