summaryrefslogtreecommitdiffstats
path: root/source3/lib/sysacls.c
Commit message (Collapse)AuthorAgeFilesLines
* build: Do not rely on sys.platform for ACL tests, combine UnixWare and ↵Andrew Bartlett2014-03-081-2/+2
| | | | | | | | | | | | | | | Solaris ACL tests This avoids issues with whatever sys.platform may return, fixes the order of arguments to the CHECK_FUNCS_IN call, and only runs after Linux-style POSIX ACL detection fails. Andrew Bartlett Change-Id: I930dff1e03c1cd1ceb8f3a35823ceb805694b66a Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Tested-by: Thomas Schulz <schulz@adi.com>
* s3-lib: Make it clear that we want to fall trough here.Andreas Schneider2012-12-211-0/+2
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Günther Deschner <gd@samba.org>
* vfs: Remove irixacl module (all the fucntions in it are unimplemented)Andrew Bartlett2012-10-111-37/+0
|
* vfs: Fix alternative posix and no-op sys acl implementations to take a mem_ctxAndrew Bartlett2012-10-111-22/+37
| | | | | | These were missed with the initial conversion to use a talloc context. Andrew Bartlett
* smbd: Add mem_ctx to sys_acl_init() and all callersAndrew Bartlett2012-10-111-6/+6
| | | | | | | | | | This changes from allocation on NULL to allocation on the supplied memory context. Currently that supplied context is talloc_tos() at the the final consumer of the ACL. Andrew Bartlett
* smbd: Remove pre-allocation of ACL array in sys_acl_init()Andrew Bartlett2012-09-121-12/+9
| | | | | | | | Instead, this is just handled with realloc in sys_acl_create_entry() This allows us to remove the size element from the SMB_ACL_T. Andrew Bartlett
* smbd-posix_acls: Use a IDL union to store the ACL entryAndrew Bartlett2012-09-121-9/+7
| | | | | | | This is a clearer, long-term-stable structure we can hash without risking it changing. Andrew Bartlett
* s3-sysacls: Remove sys_acl_free_qualifier() as it is a no-opAndrew Bartlett2012-08-151-5/+0
| | | | | Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Aug 15 05:23:18 CEST 2012 on sn-devel-104
* s3-sysacls: Remove sys_acl_free_acl() and replace with TALLOC_FREE()Andrew Bartlett2012-08-151-6/+0
|
* s3-smbd: Change allocation of smb_acl_t to talloc()Andrew Bartlett2012-08-151-10/+9
| | | | | | | | | The acl element is changed to be a talloc child, and is no longer one element longer than requested by virtue of the acl[1] base pointer. This also avoids one of the few remaining cases of over-allocation of a structure. Andrew Bartlett
* s3-lib/sysacls: Do not include an embedded \0 between ACL entries in ↵Andrew Bartlett2012-05-091-2/+3
| | | | | | | | | | | sys_acl_to_text() This makes it possible to print the entire string again. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed May 9 06:07:06 CEST 2012 on sn-devel-104
* s3-lib: Add const to sys_acl_to_textAndrew Bartlett2012-05-091-1/+1
|
* s3-lib: Fix indentation in sys_acl_to_text()Andrew Bartlett2012-05-091-2/+2
|
* s3-includes: only include acl prototypes when needed.Günther Deschner2011-04-141-0/+20
| | | | Guenther
* s3-includes: only include system/passwd.h when needed.Günther Deschner2011-03-301-0/+1
| | | | Guenther
* Remove redundant parameter fd from SMB_VFS_SYS_ACL_SET_FD().Michael Adam2008-01-081-14/+14
| | | | | Michael (This used to be commit 9296e93588c0e795cae770765050247ac1474a74)
* Remove redundant parameter fd from SMB_VFS_SYS_ACL_GET_FD().Michael Adam2008-01-071-13/+13
| | | | | Michael (This used to be commit 42663e8736e1a3dfb57e0aafdcbf5fec880da779)
* r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell2007-10-101-2/+1
| | | | (This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
* r23779: Change from v2 or later to v3 or later.Jeremy Allison2007-10-101-1/+1
| | | | | Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
* r21953: One format fix, clarify a condition that the IBMJeremy Allison2007-10-101-1/+1
| | | | | | checker was worried about. Jeremy. (This used to be commit 70eec7b8ae6a4992b43df853dffc21dd91498390)
* r18016: OpenBSD apparently does not have ENOTSUPVolker Lendecke2007-10-101-0/+20
| | | | (This used to be commit 8e087b7e462aaa14e3918cdfe125f8375d4d5fd8)
* r17804: Fix a enum/int mixup found by the IRIX compiler.Volker Lendecke2007-10-101-1/+1
| | | | | Volker (This used to be commit 3a1cf623765cd8b6615ad317d25cebc379c762a2)
* r17334: Some C++ warningsVolker Lendecke2007-10-101-4/+5
| | | | (This used to be commit 8ae7ed1f3cecbb5285313d17b5f9511e2e622f0b)
* r17179: Merge the vl-posixacls tmp branch into mainline. ItJim McDonough2007-10-101-2768/+153
| | | | | | | | | | | | | | | | | | modularizes our interface into the special posix API used on the system. Without this patch the specific API flavor is determined at compile time, something which severely limits usability on systems with more than one file system. Our first targets are AIX with its JFS and JFS2 APIs, at a later stage also GPFS. But it's certainly not limited to IBM stuff, this abstraction is also necessary for anything that copes with NFSv4 ACLs. For this we will check in handling very soon. Major contributions can be found in the copyright notices as well as the checkin log of the vl-posixacls branch. The final merge to 3_0 post-3.0.23 was done by Peter Somogyi <psomogyi@gamax.hu> (This used to be commit ca0c73f281a2a65a988094a46bb3e46a94011a53)
* r15525: fix compile error on HP-UX reported by Ryan NovosielskiGerald Carter2007-10-101-1/+0
| | | | (This used to be commit e439660f916050291107f699e32ba2872ba95fcf)
* r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison2007-10-101-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
* r5789: Patch from William Jojo <jojowil@hvcc.edu> - AIX has no default ACLs.Jeremy Allison2007-10-101-0/+7
| | | | | | Bug #2445. Jeremy. (This used to be commit c9b5e32650ef957841d488416922b948804474e2)
* r4305: Fix from Albert Chin (china@thewrittenword.com) to fix theJeremy Allison2007-10-101-5/+5
| | | | | | earlier malloc changes. Jeremy. (This used to be commit da7ef2517162740bc61a81ae814d48348aa513d5)
* r4291: More *alloc fixes inspired by Albert Chin (china@thewrittenword.com).Jeremy Allison2007-10-101-31/+30
| | | | | Jeremy (This used to be commit efc1b688cf9b1a17f1a6bf46d481280ed8bd0c46)
* r3693: Correctly detect errno for no acl/ea support.Jeremy Allison2007-10-101-0/+20
| | | | | Jeremy (This used to be commit 089a76f611187e2ba4c3363b657905d04576109e)
* updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell2002-07-151-14/+2
| | | | (This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
* dos2unix not used in HEAD anymore.Jeremy Allison2002-03-041-2/+2
| | | | | Jeremy. (This used to be commit d2af6382b4de232299529c30f2a7a39ea9b38507)
* Removed version number from file header.Tim Potter2002-01-301-2/+1
| | | | | Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
* Added HPUX ACL code.Jeremy Allison2001-12-151-0/+957
| | | | | Jeremy. (This used to be commit 6d03184f8c039ad81de47b5f3bde7dac5b2815ad)
* Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.Tim Potter2001-10-021-2/+0
| | | | (This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
* move to SAFE_FREE()Simo Sorce2001-09-171-35/+33
| | | | (This used to be commit 60e907b7e8e1c008463a88ed2b076344278986ef)
* Added Mike Davidsons Tru64 ACL patch.Jeremy Allison2001-08-101-13/+23
| | | | | Jeremy. (This used to be commit 8c5e5f8c84cab4273ca28d6b5f543dd5d5b464fb)
* Change all realloc() statements to Realloc() (ecxept for tdb.c)Simo Sorce2001-08-081-1/+1
| | | | | | | | changed some code to exploit the fact that Realloc(NULL, size) == malloc(size) fixed some possible mem leaks, or seg faults. thanks to andreas moroder (mallocs not checked in client/client.c, client/smbumount.c) (This used to be commit 7f33c01688b825ab2fa9bbb2730bff4f2fa352be)
* Fix from Michael Davidson <md@caldera.com> for DEC OSF/1 ACLs (ie.Jeremy Allison2001-07-261-6/+152
| | | | | | Digital UNIX). Jeremy. (This used to be commit 324ba0512ec84bb173c72be3dfd2447e0dc30e26)
* The big character set handling changeover!Andrew Tridgell2001-07-041-1/+1
| | | | | | | | This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
* Added patches to remove Linux specific XFS ACLs. These are now handled by theJeremy Allison2001-06-181-219/+0
| | | | | | | generic Linux ACL code. rpc_server/srv_samr_nt.c: Don't delete a policy handle before it's created. Jeremy. (This used to be commit db5b82e53a7061c4764d39ceb3df82e706aad42f)
* Fixed typo in Solaris and UnixWare ACLs.Jeremy Allison2001-06-091-1/+1
| | | | | Jeremy. (This used to be commit bd750def132d9a787728dc35c68df9166a15fbd7)
* Herb's IRIX fix for deleting default ACLs.Jeremy Allison2001-06-081-0/+5
| | | | | Jeremy. (This used to be commit 81b5a628d1471f71964b21817b9bec1ac80585c4)
* AIX has no default acls.Jeremy Allison2001-06-081-0/+6
| | | | | Jeremy. (This used to be commit 5853f1dc423a25276dafe7f3d284db534bfb41ff)
* Added sys_acl_delete_def_file for UnixWare and Solaris fromJeremy Allison2001-06-081-19/+56
| | | | | | Michael Davidson <michael_davidson@pacbell.net>. Jeremy. (This used to be commit 5668512ffa608810be0622832c9dbc7a2fda5a8f)
* Added sys_acl_delete_def_file() - needed as part of NT ACL editing fix.Jeremy Allison2001-06-081-7/+19
| | | | | | | Will add changes for other supported ACL systems shortly (Herb, I may need help with the IRIX one). Jeremy. (This used to be commit a8532b193d1fe123155a69dd70e433f8fc312bfc)
* AIX ACLs donated by IBM.Jeremy Allison2001-04-171-4/+883
| | | | | | Merge Andrew's fnmatch fix for WfW. Jeremy. (This used to be commit 1d4438f07745df3d02ed8ab3ef048e20016816b6)
* Added POSIX_ACL support for *BSD. Patch from jedgar@fxp.org. ChangedJeremy Allison2001-04-141-0/+9
| | | | | | | a bit to use AC_TRY_LINK to ensure functions are available for link instead of AC_TRY_COMPILE. Jeremy. (This used to be commit c23628746342b6afa28cb34b0b4eaa61189ad390)
* Michael Davidson <md@sco.COM> pointed out that acl_get_qualifier can potentiallyJeremy Allison2001-04-131-0/+28
| | | | | | | return a malloced area so added sys_acl_free_qualifier() calls to all supported ACL interfaces to code with this (only Linux needs actual free call). Jeremy. (This used to be commit 5870e6019b82d2088b99acdc0f84e9e4847a1fa5)
* Merged John's changes.Jeremy Allison2001-04-121-3/+3
| | | | | Jeremy. (This used to be commit add847778bf458238bf2a1b14ab71b8cdfd7aec0)