Michael Adam [Wed, 23 Jun 2010 10:02:31 +0000 (12:02 +0200)]
s3:idmap_tdb: use idmap_rw_new_mapping in idmap_tdb_new_mapping
Michael Adam [Wed, 23 Jun 2010 10:12:37 +0000 (12:12 +0200)]
s3:idmap_tdb: add idmap_rw_ops to idmap_tdb_context and initialize them in init_db
Michael Adam [Wed, 23 Jun 2010 10:02:31 +0000 (12:02 +0200)]
s3:idmap_tdb2: use idmap_rw_new_mapping in idmap_tdb2_new_mapping
Michael Adam [Wed, 23 Jun 2010 10:01:47 +0000 (12:01 +0200)]
s3:idmap_tdb2: add rw_ops to idmap_tdb2_context and initialize in idmap_tdb2_db_init
Michael Adam [Mon, 31 May 2010 15:12:32 +0000 (17:12 +0200)]
s3:idmap: add abstract idmap_rw new_mapping mechanism without registering backends
Michael Adam [Tue, 22 Jun 2010 12:13:55 +0000 (14:13 +0200)]
s3:idmap_ad: untangle two assignments from checks
Michael Adam [Tue, 22 Jun 2010 12:12:14 +0000 (14:12 +0200)]
s3:idmap_ad: remove unused filter_low_id and filter_high_id from idmap_ad_context
The filter range from the idmap_domain is used now.
Michael Adam [Tue, 22 Jun 2010 12:09:57 +0000 (14:09 +0200)]
s3:idmap_ad: use range from idmap_domain in idmap_ad_sids_to_unixids()
Michael Adam [Tue, 22 Jun 2010 11:13:57 +0000 (13:13 +0200)]
s3:idmap_ad: use range from idmap_domain in idmap_ad_unixids_to_sids()
Michael Adam [Tue, 22 Jun 2010 10:47:41 +0000 (12:47 +0200)]
s3:idmap_rid: remove a comment that does not apply in that place.
Probably got copied from a different location.
Michael Adam [Tue, 22 Jun 2010 10:44:22 +0000 (12:44 +0200)]
s3:idmap_rid: remove unused domain_name from the idmap_rid_context.
Michael Adam [Tue, 22 Jun 2010 10:42:52 +0000 (12:42 +0200)]
s3:idmap_rid: remove range from idmap_rid_context()
Now, the idmap_domain range that is centrally parsed is used.
Michael Adam [Tue, 22 Jun 2010 10:42:06 +0000 (12:42 +0200)]
s3:idmap_rid: use range from idmap_domain in idmap_rid_sid_to_id()
Michael Adam [Tue, 22 Jun 2010 10:38:19 +0000 (12:38 +0200)]
s3:idmap_rid: use ranges from idmap_domain struct in idmap_rid_id_to_sid()
Michael Adam [Tue, 22 Jun 2010 10:32:35 +0000 (12:32 +0200)]
s3:idmap_rid: remove unused talloc context var from idmap_rid_sids_to_unixids()
Michael Adam [Tue, 22 Jun 2010 10:31:41 +0000 (12:31 +0200)]
s3:idmap_rid: remove unused talloc context arg from idmap_rid_sid_to_id()
Michael Adam [Tue, 22 Jun 2010 10:30:58 +0000 (12:30 +0200)]
s3:idmap_rid: remove unused talloc context var from idmap_rid_unixids_to_sids()
Michael Adam [Tue, 22 Jun 2010 10:29:57 +0000 (12:29 +0200)]
s3:idmap_rid: remove unused talloc ctx argument from idmap_rid_id_to_sid()
Michael Adam [Mon, 21 Jun 2010 15:28:37 +0000 (17:28 +0200)]
s3:idmap_rid: untangle assignment from check in idmap_rid_initialize()
Michael Adam [Wed, 23 Jun 2010 10:39:59 +0000 (12:39 +0200)]
s3:idmap_ldap: add my (C)
Michael Adam [Thu, 17 Jun 2010 19:55:02 +0000 (21:55 +0200)]
s3:idmap_ldap: create mappings for unmapped sids in idmap_ldap_sids_to_unixids()
Michael Adam [Thu, 17 Jun 2010 18:19:46 +0000 (20:19 +0200)]
s3:idmap_ldap: add a idmap_ldap_new_mapping().
High level function to create a new mapping for an unmapped sid.
This builds logic that used to reside in the top level idmap code
in the backend.
Michael Adam [Thu, 17 Jun 2010 18:18:27 +0000 (20:18 +0200)]
s3:idmap_ldap: add idmap_ldap_get_new_id() to allocate a new id given a domain
Currently this only works with the default domain, calling out
to idmap_ldap_allocate_id(). In the future this will be extended
to also work for non-default domains.
Michael Adam [Thu, 17 Jun 2010 18:15:25 +0000 (20:15 +0200)]
s3:idmap_ldap: move idmap_ldap_set_mapping() further up.
Michael Adam [Thu, 17 Jun 2010 17:45:39 +0000 (19:45 +0200)]
s3:idmap_ldap: make idmap_ldap_alloc_context a member of idmap_ldap_context
this hides this beneath the idmap structure and removes a global variable
Michael Adam [Thu, 17 Jun 2010 17:17:48 +0000 (19:17 +0200)]
s3:idmap_ldap: call idmap_ldap_alloc_init from idmap_ldap_init.
The alloc subsystem is now subordinate to the idmap system.
Michael Adam [Thu, 17 Jun 2010 17:03:46 +0000 (19:03 +0200)]
s3:idmap_ldap: remove the (now unused) range from idmap_ldap_alloc_context
Michael Adam [Thu, 17 Jun 2010 17:03:12 +0000 (19:03 +0200)]
s3:idmap_ldap: use ranges from idmap domain in idmap_ldap_allocate_id()
Second step in removing the idmap range from the idmap_ldap_alloc_context.
Michael Adam [Thu, 17 Jun 2010 16:59:28 +0000 (18:59 +0200)]
s3:idmap_ldap: add idmap_domain arg to idmap_ldap_alloc_init and verify_idpool
First step in removing idmap ranges from the idmap_ldap_alloc_context.
The range from the domain is to be used now.
Michael Adam [Thu, 17 Jun 2010 08:16:54 +0000 (10:16 +0200)]
s3:idmap_ldap: remove unused filter range from struct idmap_ldap_context
Michael Adam [Thu, 17 Jun 2010 08:16:20 +0000 (10:16 +0200)]
s3:idmap_ldap: don't load ranges - they have been loaded into struct idmap_domain
Michael Adam [Thu, 17 Jun 2010 08:00:49 +0000 (10:00 +0200)]
s3:idmap_ldap: use filter range from idmap domain, not idmap_ldap_context
Michael Adam [Tue, 22 Jun 2010 12:49:00 +0000 (14:49 +0200)]
s3:idmap_ldap: re-implement allocate_id in idmap methods.
Michael Adam [Thu, 17 Jun 2010 07:39:11 +0000 (09:39 +0200)]
s3:idmap_tdb: add my (C)
Michael Adam [Tue, 22 Jun 2010 07:01:32 +0000 (09:01 +0200)]
s3:idmap_tdb: properly initialize the idmap_tdb context with zero
Michael Adam [Thu, 17 Jun 2010 07:35:52 +0000 (09:35 +0200)]
s3:idmap_tdb: prevent opening the idmap db more than once.
Michael Adam [Thu, 17 Jun 2010 06:53:54 +0000 (08:53 +0200)]
s3:idmap_tdb: rewrite sids_to_unixids to create mappings for unmapped sids.
Michael Adam [Thu, 17 Jun 2010 06:44:04 +0000 (08:44 +0200)]
s3:idmap_tdb: add a idmap_tdb_new_mapping().
High level function to create a new mapping for an unmapped sid.
This builds logic that used to reside in the top level idmap code
in the backend. To be called inside a transaction to guarantee
atomicity of the operation.
Michael Adam [Thu, 17 Jun 2010 06:43:11 +0000 (08:43 +0200)]
s3:idmap_tdb: move the set_mapping code up
Michael Adam [Thu, 17 Jun 2010 06:35:28 +0000 (08:35 +0200)]
s3:idmap_tdb: use transaction wrapper for idmap_tdb_set_mapping().
Michael Adam [Thu, 17 Jun 2010 07:47:27 +0000 (09:47 +0200)]
s3:idmap_tdb: remove unused struct idmap_tdb_state.
Michael Adam [Thu, 17 Jun 2010 06:17:39 +0000 (08:17 +0200)]
s3:idmap_tdb: remove unused idmap_alloc_db
Michael Adam [Thu, 17 Jun 2010 06:17:06 +0000 (08:17 +0200)]
s3:idmap_tdb: remove unused idmap_tdb_alloc_close().
Michael Adam [Thu, 17 Jun 2010 06:16:05 +0000 (08:16 +0200)]
s3:idmap_tdb: give idmap_domain arg to idmap_tdb_allocate_id and use ctx->db
instead of alloc_db
Michael Adam [Thu, 17 Jun 2010 06:12:43 +0000 (08:12 +0200)]
s3:idmap_tdb: call idmap_tdb_init_hwm() from idmap_tdb_open_db().
Michael Adam [Thu, 17 Jun 2010 06:11:19 +0000 (08:11 +0200)]
s3:idmap_tdb: move idmap_tdb_init_hwm up.
Michael Adam [Thu, 17 Jun 2010 06:07:40 +0000 (08:07 +0200)]
s3:idmap_tdb: remove unused idmap_tdb_load_ranges()
The idmap_tdb_state (which should actually be called idmap_tdb_alloc_context)
is being removed since the alloc part is combined with the id mapping part.
Michael Adam [Wed, 23 Jun 2010 08:53:29 +0000 (10:53 +0200)]
s3:idmap_tdb: have idmap_tdb_open_db take an idmap_domain struct as argument
the other arguments are not needed any more and are removed.
Michael Adam [Thu, 17 Jun 2010 05:56:46 +0000 (07:56 +0200)]
s3:idmap_tdb: rename idmap_tdb_alloc_init->idmap_tdb_init_hwm and use db from idmap_tdb_context
instead of the special idmap_alloc_db
Michael Adam [Thu, 17 Jun 2010 05:51:15 +0000 (07:51 +0200)]
s3:idmap_tdb: move definition of struct idmap_tdb_context up.
Michael Adam [Thu, 17 Jun 2010 05:43:14 +0000 (07:43 +0200)]
s3:idmap_tdb: remove filter_low_id,filter_high_id from idmap_tdb_context
These are now taken from the idmap_domain struct.
Michael Adam [Thu, 17 Jun 2010 07:46:08 +0000 (09:46 +0200)]
s3:idmap_tdb: add idmap domain arg to idmap_tdb_upgrade and use domain range
Michael Adam [Thu, 17 Jun 2010 05:42:00 +0000 (07:42 +0200)]
s3:idmap_tdb: use filter from idmap_domain rather than from idmap_tdb_context
Michael Adam [Thu, 17 Jun 2010 05:35:28 +0000 (07:35 +0200)]
s3:idmap_tdb: give idmap domain argument to idmap_tdb_sid_to_id
instead of idmap_tdb_context. This is in preparation of using the
filter from the idmap_domain struct.
Michael Adam [Thu, 17 Jun 2010 05:32:12 +0000 (07:32 +0200)]
s3:idmap_tdb: give idmap domain argument to idmap_tdb_id_to_sid
instead of idmap_tdb_context. This is in preparation of using the
filter from the idmap_domain struct.
Michael Adam [Tue, 22 Jun 2010 12:41:31 +0000 (14:41 +0200)]
s3:idmap_tdb: implement allocate_id in idmap methods for tdb backend
Michael Adam [Wed, 16 Jun 2010 07:26:17 +0000 (09:26 +0200)]
s3:idmap_tdb: add idmap_tdb_get_new_id() to allocate a new id given a domain
Currently this only works with the default domain, calling out
to idmap_tdb_allocate_id(). In the future this will be extended
to also work for non-default domains.
Michael Adam [Wed, 16 Jun 2010 07:19:21 +0000 (09:19 +0200)]
s3:idmap_tdb: convert idmap_tdb_allocate_id() to use transaction wrappers
Michael Adam [Tue, 15 Jun 2010 07:12:49 +0000 (09:12 +0200)]
s3:idmap_tdb: remove an extra blank line
Michael Adam [Thu, 17 Jun 2010 07:39:24 +0000 (09:39 +0200)]
s3:idmap_tdb2: add my (C)
Michael Adam [Wed, 23 Jun 2010 09:30:56 +0000 (11:30 +0200)]
s3:idmap_tdb2: move idmap_tdb2_new_mapping() up. spare a prototype.
Michael Adam [Wed, 16 Jun 2010 07:31:53 +0000 (09:31 +0200)]
s3:idmap_tdb2: get rid of an extra variable in idmap_tdb2_db_init().
Michael Adam [Thu, 17 Jun 2010 06:23:25 +0000 (08:23 +0200)]
s3:idmap_tdb2: move idmap_tdb2_set_mapping() up to its _action callback.
Michael Adam [Thu, 17 Jun 2010 06:04:53 +0000 (08:04 +0200)]
s3:idmap_tdb2: use the right talloc context for db_open in idmap_tdb2_open_db()
Michael Adam [Wed, 16 Jun 2010 20:02:54 +0000 (22:02 +0200)]
s3:idmap_tdb2: don't check whether sid is already mapped in 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.
Michael Adam [Wed, 16 Jun 2010 15:40:12 +0000 (17:40 +0200)]
s3:idmap_tdb2: add the db_context to the idmap_tdb2_context
this removes the idmap_tdb2 global variable
Michael Adam [Wed, 16 Jun 2010 20:36:33 +0000 (22:36 +0200)]
s3:idmap_tdb2: talloc_zero (instead of talloc) the idmap_tdb2_context
Michael Adam [Wed, 16 Jun 2010 15:30:07 +0000 (17:30 +0200)]
s3:idmap_tdb2: rename idmap_tdb2_alloc_load -> idmap_tdb2_init_hwm
Michael Adam [Wed, 16 Jun 2010 15:28:34 +0000 (17:28 +0200)]
s3:idmap_tdb2: move idmap_tdb2_alloc_load() up to reduce need for prototype
Michael Adam [Wed, 16 Jun 2010 15:26:26 +0000 (17:26 +0200)]
s3:idmap_tdb2: remove unused idmap_tdb2_state and idmap_tdb2_load_ranges
Michael Adam [Wed, 16 Jun 2010 15:24:40 +0000 (17:24 +0200)]
s3:idmap_tdb2: give idmap_tdb2_alloc_load() and idmap domain arguemnt
and use the ranges from the idmap domain for checking the HWM values
Michael Adam [Wed, 16 Jun 2010 15:21:27 +0000 (17:21 +0200)]
s3:idmap_tdb2: add an idmap_domain struct argument to idmap_tdb2_open_db()
Michael Adam [Wed, 16 Jun 2010 15:31:52 +0000 (17:31 +0200)]
s3:idmap_tdb2: remove filter_low_id and filter_high_id from idmap_tdb2_context
Now these are taken from the idmap_domain struct.
Michael Adam [Wed, 16 Jun 2010 15:17:44 +0000 (17:17 +0200)]
s3:idmap_tdb2: don't parse config and fill filter_low_id and filter_high_id
into idmap_tdb2_context in idmap_tdb2_db_init().
Now these are taken from the idmap_domain struct instead.
Michael Adam [Tue, 1 Jun 2010 14:45:51 +0000 (16:45 +0200)]
s3:idmap_tdb2: honour the "idmap read only" flag in the tdb2 module.
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.
Michael Adam [Wed, 16 Jun 2010 15:14:51 +0000 (17:14 +0200)]
s3:idmap_tdb2: use range from idmap_domain in idmap_tdb2_allocate_id
Michael Adam [Wed, 16 Jun 2010 15:12:44 +0000 (17:12 +0200)]
s3:idmap_tdb2: use filter from idmap_domain rather than from idmap_tdb2_context
Michael Adam [Wed, 16 Jun 2010 15:06:17 +0000 (17:06 +0200)]
s3:idmap_tdb2: pass idmap_domain (not idmap_tdb2_context) to idmap_tdb2_sid_to_id
Michael Adam [Wed, 16 Jun 2010 14:02:07 +0000 (16:02 +0200)]
s3:idmap_tdb2: pass idmap_domain instead of idmap_tdb2_context to 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.
Michael Adam [Wed, 16 Jun 2010 13:49:30 +0000 (15:49 +0200)]
s3:idmap_tdb2: also support idmap script for named domains
this can be configured via "idmap config DOMAIN : script = foobar"
Michael Adam [Wed, 16 Jun 2010 13:47:23 +0000 (15:47 +0200)]
s3:idmap_tdb2: move the idmap script from idmap_tdb2_state to idmap_tdb2_context
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.
Michael Adam [Wed, 16 Jun 2010 13:31:55 +0000 (15:31 +0200)]
s3:idmap_tdb2: remove use of idmap_tdb2_state from idmap_tdb2_allocate_id
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.
Michael Adam [Wed, 16 Jun 2010 13:31:05 +0000 (15:31 +0200)]
s3:idmap_tdb2: move definition of struct idmap_tdb2_context up.
Michael Adam [Wed, 16 Jun 2010 13:08:16 +0000 (15:08 +0200)]
s3:idmap_tdb2: open the db after loading the ranges in idmap_tdb2_db_init().
Michael Adam [Thu, 29 Jul 2010 21:13:54 +0000 (23:13 +0200)]
s3:idmap_tdb2: add allocation of new mappings to idmap_tdb2_sids_to_unixids
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!).
Michael Adam [Tue, 22 Jun 2010 12:47:11 +0000 (14:47 +0200)]
s3:idmap_tdb2: re-implement allocated_id in idmap methods.
Michael Adam [Wed, 16 Jun 2010 14:59:26 +0000 (16:59 +0200)]
s3:idmap: add idmap_unix_id_is_in_range() for checking an id against an idmap range
Michael Adam [Tue, 22 Jun 2010 14:29:13 +0000 (16:29 +0200)]
s3:idmap: don't check range for passdb idmap domain
Michael Adam [Wed, 16 Jun 2010 14:07:55 +0000 (16:07 +0200)]
s3:idmap: parse ranges and "read only" in idmap_init_domain().
Michael Adam [Thu, 29 Jul 2010 15:51:13 +0000 (17:51 +0200)]
s3:idmap: add a read_only flag to the idmap_domain struct.
This will be used to mark "allocating backends" (tdb, tdb2, ldap) read-only.
Michael Adam [Wed, 16 Jun 2010 14:05:34 +0000 (16:05 +0200)]
s3:idmap: add low_id and high_id to the idmap_domain struct
This global data will replace the backend-specific filter_low_id
and filter_high_id. The presence of a range is generic to all
idmap configs.
Michael Adam [Mon, 31 May 2010 13:55:01 +0000 (15:55 +0200)]
s3:docs: fix net manpage to reflect removal of net "idmap secret alloc" feature
Michael Adam [Mon, 31 May 2010 13:00:38 +0000 (15:00 +0200)]
s3:net: remove the "net idmap secret alloc" functionality.
This is now not available any more, since allocation is moved
below the id mapping layer. The functionality could be
reintroduced on a per domain basis as an e.g
"net idmap secret <domain> alloc" command.
Michael Adam [Fri, 30 Jul 2010 13:15:47 +0000 (15:15 +0200)]
s3:docs: add documentation for new "idmap read only" parameter
Michael Adam [Tue, 1 Jun 2010 13:35:01 +0000 (15:35 +0200)]
s3:loadparm: add new boolean parameter "idmap read only"
This will be used to be able to put the default idmap config
read only. This can make sense for instance with the tdb2
idmap backend and using the idmap script feature.
Michael Adam [Fri, 30 Jul 2010 13:01:37 +0000 (15:01 +0200)]
s3:docs: remove documentation of removed parameter "idmap alloc backend"
Michael Adam [Mon, 31 May 2010 13:53:27 +0000 (15:53 +0200)]
s3:loadparm: remove parameter "idmap alloc backend"
Michael Adam [Mon, 31 May 2010 09:56:55 +0000 (11:56 +0200)]
s3:idmap: remove unused definition of idmap_alloc_methods.
Allocation is now completely handled in the allocating backends.
Michael Adam [Mon, 31 May 2010 09:55:18 +0000 (11:55 +0200)]
s3:idmap: remove idmap_alloc_context from idmap.c
The registering of alloc backends is being removed.
The idmap backends are responsible for initializing
their alloc code on their own if necessary.
No list of alloc backends is maintained any more in the top level.
Michael Adam [Mon, 31 May 2010 09:47:04 +0000 (11:47 +0200)]
s3:idmap: remove the alloc methods list from idmap.c
The registering of alloc backends is being removed.
The idmap backends are responsible for initializing
their alloc code on their own if necessary.
No list of alloc backends is maintained any more in the top level.