summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r5185: make all the events data structures private to events.c. This willAndrew Tridgell1-7/+4
make it possible to add optimisations to the events code such as keeping the next timed event in a sorted list, and using epoll for file descriptor events. I also removed the loop events code, as it wasn't being used anywhere, and changed timed events to always be one-shot (as adding a new timed event in the event handler is so easy to do if needed) (This used to be commit d7b4b6de51342a65bf46fce772d313f92f8d73d3)
2007-10-10r5137: fix typesStefan Metzmacher1-1/+1
metze (This used to be commit add1c579375d08040f722946da31ee3862f9e7ac)
2007-10-10r5102: This is a major simplification of the logic for controlling top levelAndrew Tridgell2-6/+8
servers in smbd. The old code still contained a fairly bit of legacy from the time when smbd was only handling SMB connection. The new code gets rid of all of the smb_server specific code in smbd/, and creates a much simpler infrastructures for new server code. Major changes include: - simplified the process model code a lot. - got rid of the top level server and service structures completely. The top level context is now the event_context. This got rid of service.h and server.h completely (they were the most confusing parts of the old code) - added service_stream.[ch] for the helper functions that are specific to stream type services (services that handle streams, and use a logically separate process per connection) - got rid of the builtin idle_handler code in the service logic, as none of the servers were using it, and it can easily be handled by a server in future by adding its own timed_event to the event context. - fixed some major memory leaks in the rpc server code. - added registration of servers, rather than hard coding our list of possible servers. This allows for servers as modules in the future. - temporarily disabled the winbind code until I add the helper functions for that type of server - added error checking on service startup. If a configured server fails to startup then smbd doesn't startup. - cleaned up the command line handling in smbd, removing unused options (This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
2007-10-10r5050: make sure we translate the generic to the specific bits before doing aAndrew Tridgell1-5/+4
pvfs_access_check_unix(). Fixes a problem with the cifsfs filesystem (This used to be commit 8ebc61a2297176515d767ef0f67ec912293ab905)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell13-39/+39
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4956: - moved the definition of the mangle context structure into a ↵Andrew Tridgell2-36/+35
pvfs_shortname - made the mangle cache size configurable (This used to be commit 4adbd01812a53395f175bd6d8e402ad5451f7561)
2007-10-10r4944: every event_add_*() caller was having to call talloc_steal() to takeAndrew Tridgell1-2/+1
control of the event, so instead build that into the function. If you pass NULL as mem_ctx then it leaves it as a child of the events structure. (This used to be commit 7f981b9ed96f39027cbfd500f41e0c2be64cbb50)
2007-10-10r4943: Smplified the events handling code a lot. The first source ofAndrew Tridgell1-1/+1
complexity was that events didn't automatically cleanup themselves. This was because the events code was written before we had talloc destructors, so you needed to call event_remove_XX() to clean the event out of the event lists from every piece of code that used events. I have now added automatic event destructors, which in turn allowed me to simplify a lot of the calling code. The 2nd source of complexity was caused by the ref_count, which was needed to cope with event handlers destroying events while handling them, which meant the linked lists became invalid, so the ref_count ws used to mark events for later destruction. The new system is much simpler. I now have a ev->destruction_count, which is incremented in all event destructors. The event dispatch code checks for changes to this and handles it. (This used to be commit a3c7417cfeab429ffb22d5546b205818f531a7b4)
2007-10-10r4887: removed a bogus castAndrew Tridgell1-1/+1
(This used to be commit a034556faa5d15fee44a58be3aea8aee8ffae3c8)
2007-10-10r4728: split up server_services into:Stefan Metzmacher2-5/+5
- stream_socket services the smb, ldap and rpc service which sets up a srtam socket end then waits for connections and - task services which this you can create a seperate task that do something (this is also going through the process_model subsystem so with -M standard a new process for this created with -M thread a new thread ... I'll add datagram services later when we whave support for datagram sockets in lib/socket/ see the next commit as an example for service_task's metze (This used to be commit d5fa02746c6569b09b6e05785642da2fad3ba3e0)
2007-10-10r4615: added acl checking on directory search in pvfsAndrew Tridgell5-12/+24
(This used to be commit 0e61a422bd9a1596a284c176f033e958bbeaa8ce)
2007-10-10r4595: on create check access against parent not child ...Andrew Tridgell1-2/+2
(This used to be commit 5a1a17d3fc771b1e1c61297067f38c87901891d3)
2007-10-10r4591: - converted the other _p talloc functions to not need _pAndrew Tridgell3-6/+7
- added #if TALLOC_DEPRECATED around the _p functions - fixes the code that broke from the above while doing this I fixed quite a number of places that were incorrectly using the non type-safe talloc functions to use the type safe ones. Some were even doing multiplies for array allocation, which is potentially unsafe. (This used to be commit 6e7754abd0c225527fb38363996a6e241b87b37e)
2007-10-10r4584: fix pvfs backend to pass the new enhanced RAW-ACLS test. Easy once I ↵Andrew Tridgell5-20/+43
really the strange behaviour I saw was a w2k3 bug :-) (This used to be commit e729061bcde25d0565a72222e4720ca8074ef23f)
2007-10-10r4549: got rid of a lot more uses of plain talloc(), instead usingAndrew Tridgell3-3/+4
talloc_size() or talloc_array_p() where appropriate. also fixed a memory leak in pvfs_copy_file() (failed to free a memory context) (This used to be commit 89b74b53546e1570b11b3702f40bee58aed8c503)
2007-10-10r4547: - added talloc_new(ctx) macro that is a neater form of the common ↵Andrew Tridgell3-5/+5
talloc(ctx, 0) call. - cleaned up some talloc usage in various files I'd like to get to the point that we have no calls to talloc(), at which point we will rename talloc_p() to talloc(), to encourage everyone to use the typesafe functions. (This used to be commit e6c81d7c9f8a6938947d3c1c8a971a0d6d50b67a)
2007-10-10r4501: when copying files it is common for clients to copy the ACL. When theAndrew Tridgell1-2/+8
ACL is the default ACL this menas the copied file would have an xattr but the original would not. Avoid this by checking if the ACL being set is the original ACL, and avoid the copy. (This used to be commit 1df985a49b200a41eed39023aa668afb233f2e53)
2007-10-10r4464: added pvfs backend support for the special CREATOR_OWNER and ↵Andrew Tridgell3-1/+47
CREATOR_GROUP inheritance rules (This used to be commit 0a29fb45c310b4b8c348d187b8ff1833deaac6c3)
2007-10-10r4448: - fixed access_mask checking on acl setAndrew Tridgell4-9/+57
- 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-10r4423: give lp_parm_int() and lp_parm_ulong() default valuesStefan Metzmacher2-8/+2
metze (This used to be commit c44f4d44b51789916e50c9da93046d0a15245edc)
2007-10-10r4412: SEC_FILE_READ_ATTRIBUTE is always granted, even if not requested. ↵Andrew Tridgell1-0/+2
This was being done in the full ACL code, but not in the unix access check code, which meant that qfileinfo was failing for some parameters (This used to be commit 96d017e521f5a996a7a274682838855d077834bc)
2007-10-10r4411: when checking for create permissions, we need to check the parent, ↵Andrew Tridgell1-1/+1
not the child! (This used to be commit 30b4c20b1c9aea94dd2a0611b58860797d244e5a)
2007-10-10r4410: pvfs_rename_one() should not check for create permissions, as the renameAndrew Tridgell1-14/+7
is always in the same directory (This used to be commit babf3480a4c29ce28d9a4525c4174a3d765dcbab)
2007-10-10r4409: fixed handling of zero access masks for the POSITION_INFORMATION ↵Andrew Tridgell2-2/+2
query/set levels (This used to be commit 75e7229476e1af6ab78fa5b41a7bb67df8e3d2dd)
2007-10-10r4408: added the remaining access check hooks into pvfs. All calls should ↵Andrew Tridgell6-7/+159
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 Tridgell2-9/+9
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-10r4405: added acl inheritance to the mkdir and t2mkdir backends.Andrew Tridgell1-0/+14
(This used to be commit b44d4d17df8af4941740e5d5e0842ca01d8f403c)
2007-10-10r4403: - added ACL inheritance in the pvfs backend. ACLs are now inherited onAndrew Tridgell3-44/+287
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() (This used to be commit f4dfb63d5395a365961a21388639809fcd3112d0)
2007-10-10r4391: bring the default ACL inline with what w2k3 usesAndrew Tridgell2-74/+39
(This used to be commit 16967f7502ea6d2efa0fc08decc955a1516c3a02)
2007-10-10r4314: added ACL checking on unlinkAndrew Tridgell5-9/+31
(This used to be commit f25c469693517ed993e0379d8b07cd7eb235a669)
2007-10-10r4313: fixed a bug in handling new xattrs in the tdb xattr backendAndrew Tridgell1-2/+1
(This used to be commit c66b5a100c1b83adf034087fe2ce49fc77d84161)
2007-10-10r4264: fix acl handling on systems without xattr supportAndrew Tridgell1-11/+15
(This used to be commit 89845388ea82d9bfbdc6ca8da40f47437a270400)
2007-10-10r4263: added support for the trans2 RAW_SEARCH_EA_LIST informationAndrew Tridgell2-5/+26
level. This is quite a strange level that we've never seen before, but is used by the os2 workplace shell. note w2k screws up this level when unicode is negotiated, so it only passes the RAW-SEARCH test when you force non-unicode (This used to be commit 25189b8fbf6515d573e3398dc9fca56505dc37b9)
2007-10-10r4262: a sniff from kukks showed that the FILE_ATTRIBUTE_NORMAL handling inAndrew Tridgell2-12/+0
pvfs was not correct. This should fix a xcopy bug on OS/2. (This used to be commit 7251f1fcdd8980e9c49a58e665374025e07bb8d0)
2007-10-10r4261: added the RAW_FILEINFO_EA_LIST trans2 qfileinfo and qpathinfoAndrew Tridgell1-6/+52
level. Interestingly, this level did now show up on our trans2 scanner previously as we didn't have the FLAGS2_EXTENDED_ATTRIBUTES bit set in the client code. Now that we set that bit, new levels appear in windows servers. (This used to be commit 0b76d405a73e924dc2706f28bbf1084a59c9b393)
2007-10-10r4247: two more places that need the unlink hookAndrew Tridgell1-0/+5
(This used to be commit 795897b64f3c63baaf53a36eb1611293c2fd8974)
2007-10-10r4244: add more calls to pvfs_xattr_unlink_hook() on file/dir create, to try ↵Andrew Tridgell1-0/+4
to beat race conditions in the tdb xattr backend (This used to be commit 3ac840159881ce6eeac27ff0dc324e4d6ac0a70a)
2007-10-10r4243: a sniff from kukks showed that the ea_set interface in trans2 ↵Andrew Tridgell3-35/+58
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-10r4242: added support for storing xattrs in a tdb. This allows all advanced NTAndrew Tridgell8-68/+425
attributes (streams, EAs, NT ACLs, timestamps etc) to be used on filesystems that don't support xattrs. It also allows for large streams, although they are very inefficient. I won't enable this by default, as I really wrote it as a way of testing large stream support while still using ext3, but perhaps with a bit more work this could be generally usable. To enable this use: posix:eadb = /home/test/myeas.tdb (This used to be commit 0c927d912cb65754351189d3a0442004a14aa5c6)
2007-10-10r4230: now that we set the FLAGS2_EXTENDED_ATTRIBUTES flag, we should markAndrew Tridgell1-1/+1
empty EAs as being of size 4, not size 0 (This used to be commit 76bd6476785e4145437768caa702c01a7801590e)
2007-10-10r4205: fixed the default acl mapping from posix permissions to use the mappedAndrew Tridgell1-33/+33
uid->sid and gid->sid (This used to be commit 590e1a91bfc719c2d84a9a066fb4e0308b6d9803)
2007-10-10r4182: fixed trans2 mkdir, allowing mkdir with an initial EA listAndrew Tridgell1-0/+52
(This used to be commit 7d981c29c28391813c7f93245f64b3ee108378a4)
2007-10-10r4173: - new t2open code, that can cope with "create with EAs". Many thanksAndrew Tridgell1-36/+0
to kukks on #samba-technical for the sniffs that allowed me to work this out - much simpler ntvfs open generic mapping code - added t2open create with EA torture test to RAW-OPEN test (This used to be commit a56d95ad89b4f32a05974c4fe9a816d67aa369e3)
2007-10-10r4165: added a 100 element name cache to cope with some amount of seekingAndrew Tridgell2-23/+50
back to filenames that have been deleted. This fixes the new os/2 delete test. (This used to be commit 6d471db13ab132655a07e11533a559446e56fc00)
2007-10-10r4163: 2nd attempt at fixing the OS/2 "del *" problemAndrew Tridgell1-6/+0
(This used to be commit ae14905d9522dbdc1709ef110b9933adcb740a26)
2007-10-10r4162: this should fix the delete/findnext problem from OS/2 clients. ThanksAndrew Tridgell2-1/+7
again to kukks for the excellent and detailed bug report (This used to be commit 7dfffe4ac0d6858ae6848708df1baa11a6819680)
2007-10-10r4147: converted from NT_USER_TOKEN to struct security_tokenAndrew Tridgell1-1/+1
this is mostly just a tidyup, but also adds the privilege_mask, which I will be using shortly in ACL checking. note that I had to move the definition of struct security_token out of security.idl as pidl doesn't yet handle arrays of pointers, and the usual workaround (to use a intermediate structure) would make things too cumbersome for this structure, especially given we never encode it to NDR. (This used to be commit 7b446af09b8050746bfc2c50e9d56aa94397cc1a)
2007-10-10r4067: no matches in findnext is not an errorAndrew Tridgell1-5/+0
(This used to be commit 6da058a28ba44a02964d375c9e390fbd472bc2b6)
2007-10-10r4062: the RAW-ACLS test now passes. The SEC_STD_DELETE bit is rather strangeAndrew Tridgell1-0/+10
though - I expect we'll need to tweak that some more. (This used to be commit e3500811b90b8423ee7694609340f394957d1160)
2007-10-10r4056: modified the access check code based on results from RAW-ACLSAndrew Tridgell1-0/+41
test. Also added generic mapping bits for pvfs. We don't pass RAW-ACLS yet, but its close. (This used to be commit c7cbd966d49a5345ea326732587555d209c531fc)