summaryrefslogtreecommitdiffstats
path: root/source/groupdb/mapping.c
Commit message (Collapse)AuthorAgeFilesLines
* Add fix from Simo for bug #5540 - missing code to substituteJeremy Allison2008-07-141-3/+6
| | | | | %u. Make this the same as other uses. Jeremy.
* groupdb: readd groupdb:backend parametric optionStefan Metzmacher2008-04-121-2/+20
| | | | | | | | This reverts c5adb92c020e38644baf1afc8fc570a518cd6307. The reason is that ldb doesn't work for cluster setups yet. metze
* Fix flags in call of lookup_name() in pdb_default_create_alias().Michael Adam2007-12-171-1/+1
| | | | | | Use new flag LOOKUP_NAME_LOCAL. Michael
* Replace sid_string_static by sid_string_dbg in DEBUGsVolker Lendecke2007-12-151-1/+1
|
* Remove all pstring from groupdb/Jeremy Allison2007-11-131-34/+95
| | | | Jeremy.
* [crash fix] don't use already free'ed memoryStefan Metzmacher2007-10-241-2/+2
| | | | | | | | (found by "make valgrindtest" and my "start winbindd on make test" patch) metze (cherry picked from commit fe21e48489852720a05b305b251e4f5cbb200f7a) (cherry picked from commit 26d8a1ad20c10da495970c584983fbd261b4946e)
* RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison2007-10-181-9/+9
| | | | | | | bugs in various places whilst doing this (places that assumed BOOL == int). I also need to fix the Samba4 pidl generation (next checkin). Jeremy.
* r25405: Fix formatting as per metze's commentsGerald Carter2007-10-101-1/+1
|
* r25393: Removed unused variableGerald Carter2007-10-101-2/+0
|
* r25380: Remove the groupdb:mapping parameter as discussed in the following ↵Gerald Carter2007-10-101-14/+2
| | | | | | thread: http://lists.samba.org/archive/samba-technical/2007-June/053747.html
* r25024: Fix a whole bunch of Coverity bugsVolker Lendecke2007-10-101-0/+1
| | | | | | The callers of get_domain_group_from_sid() with some justification expected map->gid to be initialized when get_domain_group_from_sid returned True.
* r23801: The FSF has moved around a lot. This fixes their Mass Ave address.Andrew Tridgell2007-10-101-2/+1
|
* r23779: Change from v2 or later to v3 or later.Jeremy Allison2007-10-101-1/+1
| | | | Jeremy.
* r23510: Tidy calls to smb_panic by removing trailing newlines. Print theJames Peach2007-10-101-1/+1
| | | | failed expression in SMB_ASSERT.
* r23323: merged ldb changes from 3.0.26Andrew Tridgell2007-10-101-11/+87
|
* r22787: More from Karolin: Make map_unix_group() static to net_sam.c, add "netVolker Lendecke2007-10-101-64/+0
| | | | sam unmapunixgroup"
* r22786: Some cleanup by Karolin Seeger: Remove unused pdb_find_alias, and changeVolker Lendecke2007-10-101-16/+0
| | | | | | return values of some alias-releated pdb functions from BOOL to NTSTATUS Thanks :-)
* r22554: Fix an assumption that TALLOC_ARRAY(.., 0) != NULL.Volker Lendecke2007-10-101-2/+7
| | | | Volker
* r20090: Fix a class of bugs found by James Peach. EnsureJeremy Allison2007-10-101-1/+1
| | | | | | | | | | | | | we never mix malloc and talloc'ed contexts in the add_XX_to_array() and add_XX_to_array_unique() calls. Ensure that these calls always return False on out of memory, True otherwise and always check them. Ensure that the relevent parts of the conn struct and the nt_user_tokens are TALLOC_DESTROYED not SAFE_FREE'd. James - this should fix your crash bug in both branches. Jeremy.
* r18867: change the group mapping code to use ldb instead of tdbAndrew Tridgell2007-10-101-648/+1
| | | | See the discussion of this on the samba-technical list
* r18703: Fix the annoying effect that happens when nscd is running:Günther Deschner2007-10-101-1/+16
| | | | | | | | | We usually do not get the results from user/group script modifications immediately. A lot of users do add nscd restart/refresh commands into their scripts to workaround that while we could flush the nscd caches directly using libnscd. Guenther
* r18271: Big change:Gerald Carter2007-10-101-7/+7
| | | | | | | | | | | * autogenerate lsa ndr code * rename 'enum SID_NAME_USE' to 'enum lsa_SidType' * merge a log more security descriptor functions from gen_ndr/ndr_security.c in SAMBA_4_0 The most embarassing thing is the "#define strlen_m strlen" We need a real implementation in SAMBA_3_0 which I'll work on after this code is in.
* r17669: Remove RID algorithm support from unmapped users and groupsGerald Carter2007-10-101-1/+1
| | | | when using smbpasswd
* r17554: CleanupVolker Lendecke2007-10-101-531/+450
|
* r17550: Fix a few bugs in the tdb_multikey code. Thanks to tridge for ↵Volker Lendecke2007-10-101-4/+4
| | | | | | | | pointing them out. Volker
* r17470: This is the group mapping rewrite announced a few days ago. I'm ↵Volker Lendecke2007-10-101-293/+473
| | | | | | | | | | | | | | | | afraid it's more than 1000 lines of patch, but doing it in smaller pieces is hardly possible. Anybody interested please look over this. The patch is not really interesting, just look at the new groupdb/mapping.c file. Jerry, one entry for the 3.0.24 release notes: smbd will refuse to start if we have overlapping mappings in group_mapping.tdb. With the old db a unix gid can be mapped to two different SIDs. This will be refused with the new code. Volker
* r17468: To minimize the diff later on, pre-commit some changes ↵Volker Lendecke2007-10-101-113/+103
| | | | | | | | independently: Change internal mapping.c functions to return NTSTATUS instead of BOOL. Volker
* r17465: Get rid of add_initial_entry. In the two places it was called in it ↵Volker Lendecke2007-10-101-25/+0
| | | | | | | | seemed a bit pointless to me. Volker
* r17463: A bit of cleanup work:Volker Lendecke2007-10-101-68/+4
| | | | | | | | | | | | Remove some unused code: pdb_find_alias is not used anymore, and nobody I think has ever used the pdb_nop operations for group mapping. smbpasswd and tdb use the default ones and ldap has its own. Make the functions pdb_getgr* return NTSTATUS instead of BOOL. Nobody right now really makes use of it, but it feels wrong to throw away information so early. Volker
* r17451: Change pdb_getgrsid not to take a DOM_SID but a const DOM_SID * as anVolker Lendecke2007-10-101-13/+13
| | | | | | argument. Volker
* r15101: Little step towards getting Samba4 tdb into 3: tdb_lock_bystring ↵Volker Lendecke2007-10-101-1/+1
| | | | | | | | | does not have the timeout argument in Samba4. Add a new routine tdb_lock_bystring_with_timeout. Volker
* r14634: Many bug fixes thanks to train rides and overnight stays in airportsGerald Carter2007-10-101-0/+1
| | | | | | | | | | | | | | | | | | * Finally fix parsing idmap uid/gid ranges not to break with spaces surrounding the '-' * Allow local groups to renamed by adding info level 2 to _samr_set_aliasinfo() * Fix parsing bug in _samr_del_dom_alias() reply * Prevent root from being deleted via Samba * Prevent builting groups from being renamed or deleted * Fix bug in pdb_tdb that broke renaming user accounts * Make sure winbindd is running when trying to create the Administrators and Users BUILTIN groups automatically from smbd (and not just check the winbind nexted groups parameter value). * Have the top level rid allocator verify that the RID it is about to grant is not already assigned in our own SAM (retries up to 250 times). This fixes passdb with existing SIDs assigned to users from the RID algorithm but not monotonically allocating the RIDs from passdb.
* r14457: Add a few more special cases for RID 513 in the samr code.Gerald Carter2007-10-101-1/+17
| | | | | | Now that I know what all the requirements for this group are I can generalize the code some more and make it cleaner. But at least this is working with lusrmgr.msc on XP and 2k now.
* r14403: * modifies create_local_nt_token() to create a BUILTIN\AdministratorsGerald Carter2007-10-101-52/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | group IFF sid_to_gid(S-1-5-32-544) fails and 'winbind nested groups = yes' * Add a SID domain to the group mapping enumeration passdb call to fix the checks for local and builtin groups. The SID can be NULL if you want the old semantics for internal maintenance. I only updated the tdb group mapping code. * remove any group mapping from the tdb that have a gid of -1 for better consistency with pdb_ldap.c. The fixes the problem with calling add_group_map() in the tdb code for unmapped groups which might have had a record present. * Ensure that we distinguish between groups in the BUILTIN and local machine domains via getgrnam() Other wise BUILTIN\Administrators & SERVER\Administrators would resolve to the same gid. * Doesn't strip the global_sam_name() from groups in the local machine's domain (this is required to work with 'winbind default domain' code) Still todo. * Fix fallback Administrators membership for root and domain Admins if nested groups = no or winbindd is not running * issues with "su - user -c 'groups'" command * There are a few outstanding issues with BUILTIN\Users that Windows apparently tends to assume. I worked around this presently with a manual group mapping but I do not think this is a good solution. So I'll probably add some similar as I did for Administrators.
* r13955: Fix Coverity ID 139.Volker Lendecke2007-10-101-1/+1
| | | | | | | Not a bug in the strictest sense, more a clarification. This whole routine assumes new_gid != NULL anyway, so there's no point in checking. Volker
* r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison2007-10-101-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()Gerald Carter2007-10-101-1/+1
| | | | macro which sets the freed pointer to NULL.
* r13494: Merge the stuff I've done in head the last days.Volker Lendecke2007-10-101-9/+8
| | | | Volker
* r13316: Let the carnage begin....Gerald Carter2007-10-101-105/+90
| | | | Sync with trunk as off r13315
* r12438: Remove an unused functionVolker Lendecke2007-10-101-28/+0
|
* r12185: Cosmetic cleanupVolker Lendecke2007-10-101-32/+3
|
* r12182: Cosmetic cleanupVolker Lendecke2007-10-101-35/+25
|
* r12051: Merge across the lookup_name and lookup_sid work. Lets see how the ↵Volker Lendecke2007-10-101-2/+13
| | | | | | | | build farm reacts :-) Volker
* r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison2007-10-101-32/+32
| | | | | x86_64 box. Jeremy.
* r10656: BIG merge from trunk. Features not copied overGerald Carter2007-10-101-16/+44
| | | | | | | * \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck)
* r7130: remove 'winbind enable local accounts' code from the 3.0 treeGerald Carter2007-10-101-37/+1
|
* r6769: Fix bugzilla #2538 and #2527. Unused variables found by Jason Mader.Tim Potter2007-10-101-4/+2
|
* r6351: This is quite a large and intrusive patch, but there are not many ↵Volker Lendecke2007-10-101-47/+0
| | | | | | | | | | | | | | | | pieces that can be taken out of it, so I decided to commit this in one lump. It changes the passdb enumerating functions to use ldap paged results where possible. In particular the samr calls querydispinfo, enumdomusers and friends have undergone significant internal changes. I have tested this extensively with rpcclient and a bit with usrmgr.exe. More tests and the merge to trunk will follow later. The code is based on a first implementation by Günther Deschner, but has evolved quite a bit since then. Volker
* r6263: Get rid of generate_wellknown_sids, they are const static and ↵Volker Lendecke2007-10-101-2/+0
| | | | | | | | initializable statically. Volker
* r6225: get rid of warnings from my compiler about nested externsHerb Lewis2007-10-101-2/+2
|