summaryrefslogtreecommitdiffstats
path: root/source/groupdb
Commit message (Collapse)AuthorAgeFilesLines
* r22650: sync up with SMABA_3_0_25 as of svn r22649Gerald Carter2007-05-031-2/+7
|
* r22510: pull patches from SAMBA_3_0_25 and update release notes for 3.0.25rc3Gerald Carter2007-04-251-6/+6
|
* r21585: Start syncing the monster that will become 3.0.25pre1Gerald Carter2007-02-283-654/+723
| | | | | | | | Still todo: * release notes * few minor outstanding patches * additional idmap man pages
* r19018: staging for a 3.0.23d on Tuesday (I think we have sufficient changes ↵Gerald Carter2006-10-011-1/+16
| | | | to warrant one)
* r17727: Start pulling in changes for 3.0.23cGerald Carter2006-08-231-1/+1
|
* r15101: Little step towards getting Samba4 tdb into 3: tdb_lock_bystring ↵Volker Lendecke2006-04-171-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 Carter2006-03-221-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 Carter2006-03-151-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 Carter2006-03-151-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 Lendecke2006-03-071-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 Allison2006-03-071-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 Carter2006-02-201-1/+1
| | | | macro which sets the freed pointer to NULL.
* r13494: Merge the stuff I've done in head the last days.Volker Lendecke2006-02-131-9/+8
| | | | Volker
* r13316: Let the carnage begin....Gerald Carter2006-02-031-105/+90
| | | | Sync with trunk as off r13315
* r12438: Remove an unused functionVolker Lendecke2005-12-221-28/+0
|
* r12185: Cosmetic cleanupVolker Lendecke2005-12-111-32/+3
|
* r12182: Cosmetic cleanupVolker Lendecke2005-12-111-35/+25
|
* r12051: Merge across the lookup_name and lookup_sid work. Lets see how the ↵Volker Lendecke2005-12-031-2/+13
| | | | | | | | build farm reacts :-) Volker
* r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison2005-10-181-32/+32
| | | | | x86_64 box. Jeremy.
* r10656: BIG merge from trunk. Features not copied overGerald Carter2005-09-301-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 Carter2005-05-311-37/+1
|
* r6769: Fix bugzilla #2538 and #2527. Unused variables found by Jason Mader.Tim Potter2005-05-131-4/+2
|
* r6351: This is quite a large and intrusive patch, but there are not many ↵Volker Lendecke2005-04-151-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 Lendecke2005-04-091-2/+0
| | | | | | | | initializable statically. Volker
* r6225: get rid of warnings from my compiler about nested externsHerb Lewis2005-04-061-2/+2
|
* r6092: This much const causes the compiler on Fedora Core 2Jeremy Allison2005-03-281-1/+1
| | | | | to throw up. Jeremy.
* r6080: Port some of the non-critical changes from HEAD to 3_0. The main one ↵Volker Lendecke2005-03-271-5/+36
| | | | | | | | is the change in pdb_enum_alias_memberships to match samr.idl a bit closer. Volker
* r5647: Caches are good for performance, but you get a consistency problem.Volker Lendecke2005-03-031-0/+2
| | | | | | Fix bug # 2401. Volker
* r5264: Log with loglevel 0 when account-administration scripts fail.Günther Deschner2005-02-071-5/+5
| | | | Guenther
* r4724: Add support for Windows privileges in Samba 3.0Gerald Carter2005-01-131-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (based on Simo's code in trunk). Rewritten with the following changes: * privilege set is based on a 32-bit mask instead of strings (plans are to extend this to a 64 or 128-bit mask before the next 3.0.11preX release). * Remove the privilege code from the passdb API (replication to come later) * Only support the minimum amount of privileges that make sense. * Rewrite the domain join checks to use the SeMachineAccountPrivilege instead of the 'is a member of "Domain Admins"?' check that started all this. Still todo: * Utilize the SePrintOperatorPrivilege in addition to the 'printer admin' parameter * Utilize the SeAddUserPrivilege for adding users and groups * Fix some of the hard coded _lsa_*() calls * Start work on enough of SAM replication to get privileges from one Samba DC to another. * Come up with some management tool for manipultaing privileges instead of user manager since it is buggy when run on a 2k client (haven't tried xp). Works ok on NT4.
* r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison2004-12-071-4/+4
| | | | | | | | | allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy.
* r3566: Completely replace the queryuseraliases call. The previous ↵Volker Lendecke2004-11-051-10/+25
| | | | | | | | | | | | | | implementation does not exactly match what you would expect. XP workstations during login actually do this, so we should better become a bit more correct. The LDAP query issued is not really fully optimal, but it is a lot faster and more correct than what was there before. The change in passdb.h makes it possible that queryuseraliases is done with a single ldap query. Volker
* r3561: Since we have tdb_reopen_all() after all forks, the local_pid logic ↵Volker Lendecke2004-11-051-4/+1
| | | | | | | | | | | is not correct anymore. If we actually open the tdb before the fork, we end up opening the tdb twice. Jerry, jra, this also happens in the locking and printing subsystems. You might want to check it there (not that it actually happens right now, but this gave me some confusion lately...). Volker
* r2865: Add static and remove unused functions that only cload the blame-gameAndrew Bartlett2004-10-081-122/+0
| | | | | | | in finding out who is causing the massive performance problems with large LDAP directories. Andrew Bartlett
* r2753: Workaround for the (rather broken) _samr_query_useraliases rpc-call.Günther Deschner2004-09-291-14/+1
| | | | | | | | | | | | | | _samr_query_useraliases shows up with all kind of very weird memberships (global-groups, machine-accounts, etc.). Sometimes even if there is no alias-membership at all. One of the biggest mistakes is to convert any unix-group the user is a member of, into an alias by default in get_group_from_gid. get_alias_user_groups should be rewritten to use pdb_enum_alias_memberships. Guenther
* r116: volker's patch for local group and group nestingGerald Carter2004-04-071-1/+459
|
* r39: * importing .cvsignore filesGerald Carter2004-04-051-2/+0
| | | | * updateing WHATSNEW with vl's change
* r4: merge in the SAMBA_3_0 branch from cvsCVS Import User2004-04-041-496/+137
| | | | | | | | to checkout try this: svn co svn+ssh://svn.samba.org/home/svn/samba/branches/SAMBA_3_0 samba-3_0-work metze
* r2: import HEAD into svn+ssh://svn.samba.org/home/svn/samba/trunkCVS Import User2004-04-042-0/+1440
metze