1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

474 Commits

Author SHA1 Message Date
Stefan Metzmacher
3308087bae r3971: fix compiler warnings
metze
(This used to be commit 234166606dc86b9e98226cff94b3869ec173671e)
2007-10-10 13:06:09 -05:00
Stefan Metzmacher
daea5e8c8c r3969: fix compiler warnings
metze
(This used to be commit 7d24b98f3ff55049a7c0d430c15e0a060b4aa2d3)
2007-10-10 13:06:09 -05:00
Stefan Metzmacher
1814aad561 r3962: fix compiler warnings
metze
(This used to be commit 3bfb732187211d450db842a7533e4c7e915b6ce4)
2007-10-10 13:06:08 -05:00
Andrew Tridgell
f2a605eeab r3939: - added "posix:fakeoplocks" option for testing with oplocks forced on
- 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-10 13:06:06 -05:00
Jelmer Vernooij
d95a256d1b r3881: Split up the LIBNDR_GEN subsystem into NDR_* and RPC_NDR_* subsystems.
This reduces the total size of the samba binaries from 119 Mb to 73 Mb.
Next step will be to have the build system obtain some of this information
by itself, so that we don't have to write ~10 lines per interface manually.
(This used to be commit 16d905f6b0cbec591eebc44ee2ac9516a5730378)
2007-10-10 13:06:01 -05:00
Andrew Tridgell
0b691afe81 r3836: - fixed the handling of NT_STATUS_BUFFER_TOO_SMALL in nttrans server
- fixed revision number on default DACL

- fixed DACL_PRESENT bit in acl query

with these fixes cacls.exe and the GUI ACL editor in w2k both work
against pvfs. The GUI editor is slow as it times out looking up the
SID -> name mappings.
(This used to be commit 4468018cb63fd884920c2b0f5235bded50c6b5db)
2007-10-10 13:05:58 -05:00
Andrew Tridgell
85215a9a26 r3835: - added testing of setting an initial ACL on a file using NTTRANS create
- added support for initial ACLs in pvfs backend
(This used to be commit 05ee9179f74d243aa22fa00be7873c5db76a8ad1)
2007-10-10 13:05:58 -05:00
Andrew Tridgell
837909e3ab r3834: - fixed XATTR_NTACL_NAME
- pvfs now passes RAW-ACLS
(This used to be commit 2e19edaa4ebc96b3e95e0b55c4fae8eaefd642b2)
2007-10-10 13:05:58 -05:00
Andrew Tridgell
82da254ece r3833: NTACL is a better xattr name than DosAcl (tpot suggested this)
(This used to be commit 17911eea5995c12a2300dd3928612c77f8f0883e)
2007-10-10 13:05:58 -05:00
Andrew Tridgell
bc7b4abc3a r3832: added NT ACL query/set to the posix NTVFS backend. The default ACL is
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-10 13:05:57 -05:00
Andrew Tridgell
696fdc8cf9 r3806: added support to smb_server and pvfs for the NTTRANS Create call. This
call has an optional sec_desc and ea_list.
(This used to be commit 8379ad14e3d51a848a99865d9ce8d56a301e8a3c)
2007-10-10 13:05:56 -05:00
Andrew Tridgell
db95baf55e r3803: fixed detection of xattr support
(This used to be commit b7e4ec4550dd2d15714784e5fb29789be9ca8623)
2007-10-10 13:05:55 -05:00
Andrew Tridgell
f4e5f3a498 r3801: added allocation size rounding. This is needed for ifstest.
(This used to be commit 8a6fa43156667f75e058c7d44b1c15a6cf7067b2)
2007-10-10 13:05:55 -05:00
Andrew Tridgell
856f663adc r3800: - fixed delete-on-close behaviour for streams
- 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-10 13:05:55 -05:00
Andrew Tridgell
5a34ef4df6 r3799: - added the bit for FS_ATTR_NAMED_STREAMS support into qfsinfo filesystem attribute reply
- pvfs passes the RAW-STREAMS test
(This used to be commit c1a48a7542a52df734b54031f405d574e4c891e3)
2007-10-10 13:05:55 -05:00
Andrew Tridgell
ae7caf08c1 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.
(This used to be commit b6452c4a2068cf7e837778559da002ae191b508a)
2007-10-10 13:05:54 -05:00
Andrew Tridgell
187412f3da 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
(This used to be commit e7afd4403cc1b7e0928776929f8988aa6f15640b)
2007-10-10 13:05:50 -05:00
Andrew Tridgell
24a40fb412 r3741: FILE_ATTRIBUTE_DIRECTORY is illegal in open of a file
(This used to be commit ad7815fababe5783df5e8fb4a490921a5af693d6)
2007-10-10 13:05:49 -05:00
Jelmer Vernooij
31ded4901b r3737: - Get rid of the register_subsystem() and register_backend() functions.
- Re-disable tdbtool (it was building fine on my Debian box but other
					machines were having problems)
(This used to be commit 0d7bb2c40b7a9ed59df3f8944133ea562697e814)
2007-10-10 13:05:48 -05:00
Jelmer Vernooij
8e16d8a76f r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
 - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
2007-10-10 13:05:47 -05:00
Andrew Tridgell
f0b954968c r3729: permission changes on directories always include the FILE_ATTRIBUTE_DIRECTORY bit
(This used to be commit 5af815ffc3531e4ae4a6844e9f754656d9acf76e)
2007-10-10 13:05:47 -05:00
Andrew Tridgell
1b2b72ff61 r3718: added support for the ntrename level in pvfs_rename().
(This used to be commit 3d50982f5419b9a5c53f2b82a2313669cdeaaa21)
2007-10-10 13:05:46 -05:00
Andrew Tridgell
1c59d825af r3717: - expanded the RAW-RENAME test a little
- added support for wildcard rename in pvfs

- made more consistent use of pvfs_map_errno()
(This used to be commit e255d1c3a811c480a850452aaf636d9fa36f69fe)
2007-10-10 13:05:46 -05:00
Andrew Tridgell
94c6fde541 r3694: added support for the RENAME_INFORMATION level of setfileinfo and
setpathinfo. pvfs now passes the RAW-SFILEINFO test.
(This used to be commit 31ac31398ba52dfc554e58edaa7ae257caf5fdc6)
2007-10-10 13:05:45 -05:00
Andrew Tridgell
e7810eeab7 r3658: use handle->fd == -1 as the primary indicator of a directory. This
fixes a directory creation problem from WinXP
(This used to be commit 4b3afc6c395b430e7e56d8ebe0ddf85c556a5df5)
2007-10-10 13:05:42 -05:00
Andrew Tridgell
cc0e670156 r3635: fixed the crash from the BASE-DISCONNECT test
(This used to be commit bdabb3f836d56ab0af9201321c00c8b385e053a5)
2007-10-10 13:05:41 -05:00
Andrew Tridgell
47b91c97cd r3631: a couple of tweaks to the talloc hierarchy for async requests in
pvfs. This prevents a possible crash due to free ordering on
unexpected disconnect.
(This used to be commit bfca9eb7cb7a2caf3a232d538808ff2ade8e1ca9)
2007-10-10 13:05:41 -05:00
Andrew Tridgell
c077300a22 r3618: - this adds the special case for DENY_DOS semantics, as shown by the BASE-DENYDOS test.
- pvfs now passes BASE-DENY1 and BASE-DENYDOS.
(This used to be commit aa09df22ee729c02552638859236d9068e9748ae)
2007-10-10 13:05:40 -05:00
Andrew Tridgell
19fc6e8f51 r3615: split out struct pvfs_file_handle from struct pvfs_file. This is in
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-10 13:05:40 -05:00
Andrew Tridgell
0c5f2ba38e r3597: implement a suggestion from abartlet. By taking a refernce to the
database in the opendb lck, we ensure that the database is not closed
before the lock is gone. That ensures the lock destructor doesn't work
on a closed database.
(This used to be commit 218e01441aa1def3e8e884c8d618a95c9ffdfc1b)
2007-10-10 13:05:37 -05:00
Andrew Tridgell
8e7f33e93d r3596: MODE_INFORMATION tests now pass. Only RENAME_INFORMATION level left to
support RAW-SFILEINFO
(This used to be commit 20fc3a25ef775fc366711501ca83914335e8fae1)
2007-10-10 13:05:37 -05:00
Andrew Tridgell
2db915e065 r3595: - fixed a talloc_free ordering problem on cleanup with pending requests
- 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-10 13:05:37 -05:00
Jelmer Vernooij
71db46ea66 r3586: Fix some of the issues with the module init functions.
Both subsystems and modules can now have init functions, which can be
specified in .mk files (INIT_FUNCTION = ...)

The build system will define :
 - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal
 - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on

This removes the hack with the "static bool Initialised = " and the
"lazy_init" functions
(This used to be commit 7a8244761bfdfdfb48f8264d76951ebdfbf7bd8a)
2007-10-10 13:05:36 -05:00
Andrew Tridgell
f458460842 r3580: - on file overwrite in ntcreatex we need to replace the file permissions.
- pvfs now passes BASE-OPENATTR

- pvfs also passes the BASE-DEFER_OPEN test, but it is not a well
  formed test for regular running so I am removing it from the list of
  tests to run in test_posix.sh (the test is covered better by RAW-MUX
  anyway)
(This used to be commit cb76bd218ed4194ea151264d495aa902ddf03b3c)
2007-10-10 13:05:35 -05:00
Andrew Tridgell
b5acd1963a r3575: fixed attribute normalisation in xattr code. RAW-SEARCH now passes again.
(This used to be commit 66bdc6e78c2c7ce4e215919959f0d0623ef06723)
2007-10-10 13:05:33 -05:00
Andrew Tridgell
a9158e0d47 r3574: the RAW-OPEN test changes broke a couple of the other tests. This
fixes most of them, although RAW-SEARCH still fails (due to an
interaction with the new xattr code)
(This used to be commit 09b4652b40c4cfca027765178bd5a0adbaa666c2)
2007-10-10 13:05:33 -05:00
Andrew Tridgell
439c1524fb r3573: added trans2open support to smbd and pvfs, and fine-tuned the open->generic ntvfs mapping code.
(This used to be commit ed844192d7f7ed487290f719df65f256a5b0b9bc)
2007-10-10 13:05:33 -05:00
Andrew Tridgell
d8ddb03e90 r3550: fixed initial attribute on file create (inlusion of FILE_ATTRIBUTE_ARCHIVE)
(This used to be commit b07feaafd16e42e84ba51004a6a9d4a3cb8f9a37)
2007-10-10 13:05:31 -05:00
Andrew Tridgell
12f4a44cf5 r3549: added support for DOS extended attribute lists (name/value pairs)
stored in posix xattrs
(This used to be commit bad6a88371264cffce2bf5d6ce904b7b357081de)
2007-10-10 13:05:31 -05:00
Andrew Tridgell
9fe5fa11d6 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.
(This used to be commit c54253ed1b7dce1d14f43e747da61089aea87094)
2007-10-10 13:05:30 -05:00
Andrew Tridgell
0a8dff9e47 r3544: fixed some #include lines to make them more consistent
(This used to be commit a1a0118bd3f1cae034a1c564d05c3aa8019ff932)
2007-10-10 13:05:30 -05:00
Andrew Tridgell
1d97e7b9d8 r3540: added testing of SMBntcancel in the open/open/close mux
testing. Interestingly, w2k3 does not allow the cancel of an
outstanding async open request, whereas it does allow the cancel of an
outstanding async lock request. To support this I have changed the
pvfs_wait interface to provide a enum on why the event is happening,
so the callback can decide what to do.
(This used to be commit f23d6a28008a13588cde24b5012ec21e488ac47a)
2007-10-10 13:05:30 -05:00
Andrew Tridgell
80eef3ea66 r3539: much nicer async open delay code.
The previous code didn't handle the case where the file got renamed or
deleted while waiting for the sharing violation delay. To handle this
we need to make the 2nd open a full open call, including the name
resolve call etc. Luckily this simplifies the logic.

I also expanded the RAW-MUX test to include the case where we do
open/open/open/close/close, with the 3rd open async, and that open
gets retried after both the first close and the 2nd close, with the
first retry failing and the 2nd retry working. The tests the "async
reply after a async reply" logic in pvfs_open().
(This used to be commit eded2ad9c91f5ba587ef4f7f5f5a6dceb4b51ff3)
2007-10-10 13:05:29 -05:00
Andrew Tridgell
b2617daeb6 r3532: make sharing violation delay in pvfs configurable with "posix:sharedelay = usecs"
(This used to be commit c4758776491e5ed9f5b8c387226d1e75bc70eb2e)
2007-10-10 13:05:29 -05:00
Andrew Tridgell
39cd0639e9 r3531: add support for RAW_OPEN_MKNEW, RAW_OPEN_CREATE and RAW_OPEN_CTEMP in pvfs
(This used to be commit 1d2f0a55c1de01cbbf6552371584847223841bc3)
2007-10-10 13:05:29 -05:00
Andrew Tridgell
8fa7f264c6 r3530: make sure we match ntvfs_async_state_pop() with ntvfs_async_state_push()
(This used to be commit 730ae0600e6c75a7048f7aaf3995604e8cdbba39)
2007-10-10 13:05:29 -05:00
Andrew Tridgell
c870ae8b89 r3528: added support for the SMBntcancel() operation, which cancels any
outstanding async operation (triggering an immediate timeout).

pvfs now passes the RAW-MUX test
(This used to be commit 3423e2f41461d054067ef168b9b986f62cc8f77c)
2007-10-10 13:05:28 -05:00
Andrew Tridgell
00a1262f89 r3522: added async support to most of the ntvfs_map_*() functions, allowing functions like
SMBopenx, SMBread and SMBwrite to be performed async
(This used to be commit 9e80eb18ae8c4a4a8cdf2f32f0c869fbbc3832b4)
2007-10-10 13:05:28 -05:00
Andrew Tridgell
dde0705807 r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is
  closed by another user, allowing it to be opened by the waiting user.

- added a sane set of timeval manipulation routines

- converted all the events code and code that uses it to use struct
  timeval instead of time_t, which allows for microsecond resolution
  instead of 1 second resolution. This was needed for doing the pvfs
  deferred open code, and is why the patch is so big.
(This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
2007-10-10 13:05:23 -05:00
Andrew Tridgell
a99b6219a8 r3481: split out client.h and events.h
(This used to be commit c6f486574470a311e0d336c026103f131451e21e)
2007-10-10 13:05:20 -05:00