summaryrefslogtreecommitdiff
path: root/source3/winbindd/idmap_tdb2.c
AgeCommit message (Collapse)AuthorFilesLines
2010-08-26s3-build: use dbwrap.h only where needed.Günther Deschner1-0/+1
Guenther
2010-08-26s3-idmap: only include idmap headers where needed.Günther Deschner1-0/+1
Guenther
2010-08-14s3:idmap_tdb2: use idmap_rw_new_mapping in idmap_tdb2_new_mappingMichael Adam1-34/+6
2010-08-14s3:idmap_tdb2: add rw_ops to idmap_tdb2_context and initialize in ↵Michael Adam1-0/+12
idmap_tdb2_db_init
2010-08-14s3:idmap_tdb2: add my (C)Michael Adam1-0/+1
2010-08-14s3:idmap_tdb2: move idmap_tdb2_new_mapping() up. spare a prototype.Michael Adam1-55/+51
2010-08-14s3:idmap_tdb2: get rid of an extra variable in idmap_tdb2_db_init().Michael Adam1-1/+0
2010-08-14s3:idmap_tdb2: move idmap_tdb2_set_mapping() up to its _action callback.Michael Adam1-61/+62
2010-08-14s3:idmap_tdb2: use the right talloc context for db_open in idmap_tdb2_open_db()Michael Adam1-1/+1
2010-08-14s3:idmap_tdb2: don't check whether sid is already mapped in ↵Michael Adam1-22/+0
idmap_tdb2_new_mapping(). idmap_tdb2_new_mapping() is called from inside a transaction only with sids, that have been verified not to be mapped directly before that in the same transaction.
2010-08-14s3:idmap_tdb2: add the db_context to the idmap_tdb2_contextMichael Adam1-19/+32
this removes the idmap_tdb2 global variable
2010-08-14s3:idmap_tdb2: talloc_zero (instead of talloc) the idmap_tdb2_contextMichael Adam1-1/+1
2010-08-14s3:idmap_tdb2: rename idmap_tdb2_alloc_load -> idmap_tdb2_init_hwmMichael Adam1-5/+4
2010-08-14s3:idmap_tdb2: move idmap_tdb2_alloc_load() up to reduce need for prototypeMichael Adam1-36/+35
2010-08-14s3:idmap_tdb2: remove unused idmap_tdb2_state and idmap_tdb2_load_rangesMichael Adam1-51/+0
2010-08-14s3:idmap_tdb2: give idmap_tdb2_alloc_load() and idmap domain arguemntMichael Adam1-7/+7
and use the ranges from the idmap domain for checking the HWM values
2010-08-14s3:idmap_tdb2: add an idmap_domain struct argument to idmap_tdb2_open_db()Michael Adam1-9/+9
2010-08-14s3:idmap_tdb2: remove filter_low_id and filter_high_id from idmap_tdb2_contextMichael Adam1-2/+0
Now these are taken from the idmap_domain struct.
2010-08-14s3:idmap_tdb2: don't parse config and fill filter_low_id and filter_high_idMichael Adam1-43/+1
into idmap_tdb2_context in idmap_tdb2_db_init(). Now these are taken from the idmap_domain struct instead.
2010-08-14s3:idmap_tdb2: honour the "idmap read only" flag in the tdb2 module.Michael Adam1-1/+1
Note that this will not prevent the idmap script from writing its mappings to the database, but no new unix ids will be allocated via the allocator and hence no new mappings will be autogenerated.
2010-08-14s3:idmap_tdb2: use range from idmap_domain in idmap_tdb2_allocate_idMichael Adam1-4/+1
2010-08-14s3:idmap_tdb2: use filter from idmap_domain rather than from idmap_tdb2_contextMichael Adam1-12/+6
2010-08-14s3:idmap_tdb2: pass idmap_domain (not idmap_tdb2_context) to ↵Michael Adam1-7/+5
idmap_tdb2_sid_to_id
2010-08-14s3:idmap_tdb2: pass idmap_domain instead of idmap_tdb2_context to ↵Michael Adam1-6/+7
idmap_tdb2_unixids_to_sids The reason for this will become apparent later: The ranges are being moved to the idmap_domain: They are universal.
2010-08-14s3:idmap_tdb2: also support idmap script for named domainsMichael Adam1-0/+5
this can be configured via "idmap config DOMAIN : script = foobar"
2010-08-14s3:idmap_tdb2: move the idmap script from idmap_tdb2_state to idmap_tdb2_contextMichael Adam1-15/+11
The state (aka idmap_tdb2_alloc_context) is being removed. The (global) idmap script was wrong there anyways. It belongs to the per-domain context.
2010-08-14s3:idmap_tdb2: remove use of idmap_tdb2_state from idmap_tdb2_allocate_idMichael Adam1-4/+8
idmap_tdb2_state should actually be called idmap_tdb2_alloc_context. This is being removed as the idmap and allocation is moved together. We use the idmap_tdb2_context * that is sitting in dom->private_data. This contains the same ranges as those in the state anyways. Later, when we can also allocate for named domains, this will become necessary anyways.
2010-08-14s3:idmap_tdb2: move definition of struct idmap_tdb2_context up.Michael Adam1-4/+5
2010-08-14s3:idmap_tdb2: open the db after loading the ranges in idmap_tdb2_db_init().Michael Adam1-3/+5
2010-08-14s3:idmap_tdb2: add allocation of new mappings to idmap_tdb2_sids_to_unixidsMichael Adam1-22/+173
This moves the new_mapping feature inside the tdb2 backend to make creations of mappings atomic. Note: The new internal function idmap_tdb2_get_new_id() that is used to allocate a new unix id is prepared to function for multiple explicitly configured idmap domains, but currently it does only work for the default domain. The extended allocation support requires extension of the data base format to store multiple counters (per domain). This will be added in a later step (TODO!).
2010-08-14s3:idmap_tdb2: re-implement allocated_id in idmap methods.Michael Adam1-0/+1
2010-08-14s3:idmap_tdb2: remove unused idmap_tdb2_alloc_init().Michael Adam1-12/+0
2010-08-14s3:idmap_tdb2: remove unused idmap_tdb2_alloc_close().Michael Adam1-9/+0
2010-08-14s3:idmap_tdb2: remove unused idmap_alloc_methods.Michael Adam1-6/+0
2010-08-14s3:idmap_tdb2: don't call smb_register_idmap_alloc() in idmap_tdb2_initMichael Adam1-9/+0
The registering of alloc backends is being removed. The idmap backends are responsible for initializing their alloc code on their own if necessary.
2010-08-14s3:idmap: remove the set_mapping method from the idmap APIMichael Adam1-1/+0
2010-08-14s3:idmap: remove unused method set_id_hwm from idmap APIMichael Adam1-12/+0
Michael
2010-08-14s3:idmap: remove unused alloc method get_id_hwm from idmap APIMichael Adam1-49/+0
Michael
2010-08-14s3:idmap: remove unused method dump_data() from the idmap APIMichael Adam1-11/+0
Michael
2010-08-14s3:idmap: remove the remove_mapping method from API and backendsMichael Adam1-12/+0
Michael
2010-08-14s3:idmap_tdb2: fix a debug messageMichael Adam1-1/+1
2010-05-20s3:winbind:idmap_tdb2_set_mapping: untangle assignment from checkMichael Adam1-1/+2
2010-04-29s3: range-check idmap script outputVolker Lendecke1-0/+13
Not doing so results in the id mapping succeeding once unchecked and later on being refused, because when reading from the tdb we do the checks.
2010-04-29s3: Fix an uninitialized variable in idmap_tdb2_sid_to_id()Volker Lendecke1-0/+1
When we find an invalid record in the database, there's no point in checking the non-existing value against the range limits.
2010-04-29s3: Fix some nonempty blank linesVolker Lendecke1-14/+14
2009-08-20s3-idmap: fix two uninitialized variable warnings in idmap_tdb2.Günther Deschner1-3/+3
Guenther
2009-07-29s3:winbind: use transaction in idmap_tdb2_allocate_id_action().Michael Adam1-1/+1
This uses the new dbwrap_trans_change_uint32_atomic() instead of dbwrap_change_uint32_atomic(). Now all db write operations in idmap_tdb2.c are using transactions. Michael
2009-07-29s3:dbwrap: change dbwrap_change_uint32_atomic() to return NTSTATUS not uint32_t.Michael Adam1-4/+2
Michael
2009-07-29s3:winbind: in idmap_tdb2_sid_to_id(), use transaction wrapped stores.Michael Adam1-9/+15
When a mapping is not found, then the idmap script is called (if defined). When this gives a reply for the desired sid, this reply is stored in the db. This patch wraps theses two store operations into a transaction by re-using the idmap_tdb2_set_mapping_action() function previously defined for idmap_tdb2_set_mapping(). Michael
2009-07-29s3:winbind: in idmap_tdb2_id_to_sid(), use transaction wrapped stores.Michael Adam1-9/+12
When a mapping is not found, then the idmap script is called (if defined). When this gives a reply for the desired id, this reply is stored in the db. This patch wraps theses two store operations into a transaction by re-using the idmap_tdb2_set_mapping_action() function previously defined for idmap_tdb2_set_mapping(). Michael