samba.git
9 years agos4:auth Move struct auth_usersupplied_info to a common location
Andrew Bartlett [Tue, 4 May 2010 06:44:08 +0000 (16:44 +1000)]
s4:auth Move struct auth_usersupplied_info to a common location

This also changes the calling convention slightly - we should always
allocate this with talloc_zero() to allow some elements to be
optional.  Some elements may only make sense in Samba3, which I hope
will use this common structure.

Andrew Bartlett

9 years agowaf: enable gccdeps in developer mode
Andrew Tridgell [Mon, 9 Aug 2010 06:39:13 +0000 (16:39 +1000)]
waf: enable gccdeps in developer mode

there are some bugs in the waf builtin preproc this that avoids

9 years agos4-build: fixed library name in dcerpc_server.pc.in
Andrew Tridgell [Mon, 9 Aug 2010 06:38:33 +0000 (16:38 +1000)]
s4-build: fixed library name in dcerpc_server.pc.in

Thanks to Metze for spotting this

9 years agondr: allow ndr_print to print DATA_BLOB
Andrew Tridgell [Mon, 9 Aug 2010 06:37:52 +0000 (16:37 +1000)]
ndr: allow ndr_print to print DATA_BLOB

this prints DATA_BLOB structures using the ndr->print() calls

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
9 years agodnsp: dnsp_name is 2 byte aligned
Andrew Tridgell [Mon, 9 Aug 2010 06:36:50 +0000 (16:36 +1000)]
dnsp: dnsp_name is 2 byte aligned

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
9 years agos3:idmap: fix sid_to_unixid for builtin and own domain.
Michael Adam [Fri, 13 Aug 2010 15:26:36 +0000 (17:26 +0200)]
s3:idmap: fix sid_to_unixid for builtin and own domain.

The old idmap code created a new mapping if asking the backends failed.
Now with the new layering, if passdb (which is used for our own domain
and builtin), then we need to continue and ask the backends, giving
tdb or whatever the default backend is a chance to create a mapping.

9 years agos3:idmap: fix spacing/indentation
Michael Adam [Fri, 13 Aug 2010 14:15:38 +0000 (16:15 +0200)]
s3:idmap: fix spacing/indentation

9 years agos3:idmap_ldap: use idmap_rw_new_mapping in idmap_ldap_new_mapping
Michael Adam [Wed, 23 Jun 2010 10:02:31 +0000 (12:02 +0200)]
s3:idmap_ldap: use idmap_rw_new_mapping in idmap_ldap_new_mapping

9 years agos3:idmap_ldap: add idmap_rw_ops to idmap_ldap_context and init in db_init()
Michael Adam [Wed, 23 Jun 2010 10:18:35 +0000 (12:18 +0200)]
s3:idmap_ldap: add idmap_rw_ops to idmap_ldap_context and init in db_init()

9 years agos3:idmap_tdb: use idmap_rw_new_mapping in idmap_tdb_new_mapping
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

9 years agos3:idmap_tdb: add idmap_rw_ops to idmap_tdb_context and initialize them in init_db
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

9 years agos3:idmap_tdb2: use idmap_rw_new_mapping in idmap_tdb2_new_mapping
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

9 years agos3:idmap_tdb2: add rw_ops to idmap_tdb2_context and initialize in idmap_tdb2_db_init
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

9 years agos3:idmap: add abstract idmap_rw new_mapping mechanism without registering backends
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

9 years agos3:idmap_ad: untangle two assignments from checks
Michael Adam [Tue, 22 Jun 2010 12:13:55 +0000 (14:13 +0200)]
s3:idmap_ad: untangle two assignments from checks

9 years agos3:idmap_ad: remove unused filter_low_id and filter_high_id from idmap_ad_context
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.

9 years agos3:idmap_ad: use range from idmap_domain in idmap_ad_sids_to_unixids()
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()

9 years agos3:idmap_ad: use range from idmap_domain in idmap_ad_unixids_to_sids()
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()

9 years agos3:idmap_rid: remove a comment that does not apply in that place.
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.

9 years agos3:idmap_rid: remove unused domain_name from the idmap_rid_context.
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.

9 years agos3:idmap_rid: remove range from 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.

9 years agos3:idmap_rid: use range from idmap_domain in idmap_rid_sid_to_id()
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()

9 years agos3:idmap_rid: use ranges from idmap_domain struct in idmap_rid_id_to_sid()
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()

9 years agos3:idmap_rid: remove unused talloc context var from idmap_rid_sids_to_unixids()
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()

9 years agos3:idmap_rid: remove unused talloc context arg from idmap_rid_sid_to_id()
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()

9 years agos3:idmap_rid: remove unused talloc context var from idmap_rid_unixids_to_sids()
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()

9 years agos3:idmap_rid: remove unused talloc ctx argument from idmap_rid_id_to_sid()
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()

9 years agos3:idmap_rid: untangle assignment from check in idmap_rid_initialize()
Michael Adam [Mon, 21 Jun 2010 15:28:37 +0000 (17:28 +0200)]
s3:idmap_rid: untangle assignment from check in idmap_rid_initialize()

9 years agos3:idmap_ldap: add my (C)
Michael Adam [Wed, 23 Jun 2010 10:39:59 +0000 (12:39 +0200)]
s3:idmap_ldap: add my (C)

9 years agos3:idmap_ldap: create mappings for unmapped sids in idmap_ldap_sids_to_unixids()
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()

9 years agos3:idmap_ldap: add a idmap_ldap_new_mapping().
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.

9 years agos3:idmap_ldap: add idmap_ldap_get_new_id() to allocate a new id given a domain
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.

9 years agos3:idmap_ldap: move idmap_ldap_set_mapping() further up.
Michael Adam [Thu, 17 Jun 2010 18:15:25 +0000 (20:15 +0200)]
s3:idmap_ldap: move idmap_ldap_set_mapping() further up.

9 years agos3:idmap_ldap: make idmap_ldap_alloc_context a member of idmap_ldap_context
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

9 years agos3:idmap_ldap: call idmap_ldap_alloc_init from idmap_ldap_init.
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.

9 years agos3:idmap_ldap: remove the (now unused) range from idmap_ldap_alloc_context
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

9 years agos3:idmap_ldap: use ranges from idmap domain in idmap_ldap_allocate_id()
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.

9 years agos3:idmap_ldap: add idmap_domain arg to idmap_ldap_alloc_init and verify_idpool
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.

9 years agos3:idmap_ldap: remove unused filter range from struct idmap_ldap_context
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

9 years agos3:idmap_ldap: don't load ranges - they have been loaded into struct idmap_domain
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

9 years agos3:idmap_ldap: use filter range from idmap domain, not idmap_ldap_context
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

9 years agos3:idmap_ldap: re-implement allocate_id in idmap methods.
Michael Adam [Tue, 22 Jun 2010 12:49:00 +0000 (14:49 +0200)]
s3:idmap_ldap: re-implement allocate_id in idmap methods.

9 years agos3:idmap_tdb: add my (C)
Michael Adam [Thu, 17 Jun 2010 07:39:11 +0000 (09:39 +0200)]
s3:idmap_tdb: add my (C)

9 years agos3:idmap_tdb: properly initialize the idmap_tdb context with zero
Michael Adam [Tue, 22 Jun 2010 07:01:32 +0000 (09:01 +0200)]
s3:idmap_tdb: properly initialize the idmap_tdb context with zero

9 years agos3:idmap_tdb: prevent opening the idmap db more than once.
Michael Adam [Thu, 17 Jun 2010 07:35:52 +0000 (09:35 +0200)]
s3:idmap_tdb: prevent opening the idmap db more than once.

9 years agos3:idmap_tdb: rewrite sids_to_unixids to create mappings for unmapped sids.
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.

9 years agos3:idmap_tdb: add a idmap_tdb_new_mapping().
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.

9 years agos3:idmap_tdb: move the set_mapping code up
Michael Adam [Thu, 17 Jun 2010 06:43:11 +0000 (08:43 +0200)]
s3:idmap_tdb: move the set_mapping code up

9 years agos3:idmap_tdb: use transaction wrapper for idmap_tdb_set_mapping().
Michael Adam [Thu, 17 Jun 2010 06:35:28 +0000 (08:35 +0200)]
s3:idmap_tdb: use transaction wrapper for idmap_tdb_set_mapping().

9 years agos3:idmap_tdb: remove unused struct idmap_tdb_state.
Michael Adam [Thu, 17 Jun 2010 07:47:27 +0000 (09:47 +0200)]
s3:idmap_tdb: remove unused struct idmap_tdb_state.

9 years agos3:idmap_tdb: remove unused idmap_alloc_db
Michael Adam [Thu, 17 Jun 2010 06:17:39 +0000 (08:17 +0200)]
s3:idmap_tdb: remove unused idmap_alloc_db

9 years agos3:idmap_tdb: remove unused idmap_tdb_alloc_close().
Michael Adam [Thu, 17 Jun 2010 06:17:06 +0000 (08:17 +0200)]
s3:idmap_tdb: remove unused idmap_tdb_alloc_close().

9 years agos3:idmap_tdb: give idmap_domain arg to idmap_tdb_allocate_id and use ctx->db
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

9 years agos3:idmap_tdb: call idmap_tdb_init_hwm() from idmap_tdb_open_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().

9 years agos3:idmap_tdb: move idmap_tdb_init_hwm up.
Michael Adam [Thu, 17 Jun 2010 06:11:19 +0000 (08:11 +0200)]
s3:idmap_tdb: move idmap_tdb_init_hwm up.

9 years agos3:idmap_tdb: remove unused idmap_tdb_load_ranges()
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.

9 years agos3:idmap_tdb: have idmap_tdb_open_db take an idmap_domain struct as argument
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.

9 years agos3:idmap_tdb: rename idmap_tdb_alloc_init->idmap_tdb_init_hwm and use db from idmap_t...
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

9 years agos3:idmap_tdb: move definition of struct idmap_tdb_context up.
Michael Adam [Thu, 17 Jun 2010 05:51:15 +0000 (07:51 +0200)]
s3:idmap_tdb: move definition of struct idmap_tdb_context up.

9 years agos3:idmap_tdb: remove filter_low_id,filter_high_id from idmap_tdb_context
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.

9 years agos3:idmap_tdb: add idmap domain arg to idmap_tdb_upgrade and use domain range
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

9 years agos3:idmap_tdb: use filter from idmap_domain rather than from idmap_tdb_context
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

9 years agos3:idmap_tdb: give idmap domain argument to idmap_tdb_sid_to_id
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.

9 years agos3:idmap_tdb: give idmap domain argument to idmap_tdb_id_to_sid
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.

9 years agos3:idmap_tdb: implement allocate_id in idmap methods for tdb backend
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

9 years agos3:idmap_tdb: add idmap_tdb_get_new_id() to allocate a new id given a domain
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.

9 years agos3:idmap_tdb: convert idmap_tdb_allocate_id() to use transaction wrappers
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

9 years agos3:idmap_tdb: remove an extra blank line
Michael Adam [Tue, 15 Jun 2010 07:12:49 +0000 (09:12 +0200)]
s3:idmap_tdb: remove an extra blank line

9 years agos3:idmap_tdb2: add my (C)
Michael Adam [Thu, 17 Jun 2010 07:39:24 +0000 (09:39 +0200)]
s3:idmap_tdb2: add my (C)

9 years agos3:idmap_tdb2: move idmap_tdb2_new_mapping() up. spare a prototype.
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.

9 years agos3:idmap_tdb2: get rid of an extra variable in idmap_tdb2_db_init().
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().

9 years agos3:idmap_tdb2: move idmap_tdb2_set_mapping() up to its _action callback.
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.

9 years agos3:idmap_tdb2: use the right talloc context for db_open in idmap_tdb2_open_db()
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()

9 years agos3:idmap_tdb2: don't check whether sid is already mapped in idmap_tdb2_new_mapping().
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.

9 years agos3:idmap_tdb2: add the db_context to the idmap_tdb2_context
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

9 years agos3:idmap_tdb2: talloc_zero (instead of talloc) the idmap_tdb2_context
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

9 years agos3:idmap_tdb2: rename idmap_tdb2_alloc_load -> idmap_tdb2_init_hwm
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

9 years agos3:idmap_tdb2: move idmap_tdb2_alloc_load() up to reduce need for prototype
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

9 years agos3:idmap_tdb2: remove unused idmap_tdb2_state and idmap_tdb2_load_ranges
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

9 years agos3:idmap_tdb2: give idmap_tdb2_alloc_load() and idmap domain arguemnt
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

9 years agos3:idmap_tdb2: add an idmap_domain struct argument to idmap_tdb2_open_db()
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()

9 years agos3:idmap_tdb2: remove filter_low_id and filter_high_id from idmap_tdb2_context
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.

9 years agos3:idmap_tdb2: don't parse config and fill filter_low_id and filter_high_id
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.

9 years agos3:idmap_tdb2: honour the "idmap read only" flag in the tdb2 module.
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.

9 years agos3:idmap_tdb2: use range from idmap_domain in idmap_tdb2_allocate_id
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

9 years agos3:idmap_tdb2: use filter from idmap_domain rather than from idmap_tdb2_context
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

9 years agos3:idmap_tdb2: pass idmap_domain (not idmap_tdb2_context) to idmap_tdb2_sid_to_id
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

9 years agos3:idmap_tdb2: pass idmap_domain instead of idmap_tdb2_context to idmap_tdb2_unixids_...
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.

9 years agos3:idmap_tdb2: also support idmap script for named domains
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"

9 years agos3:idmap_tdb2: move the idmap script from idmap_tdb2_state to idmap_tdb2_context
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.

9 years agos3:idmap_tdb2: remove use of idmap_tdb2_state from idmap_tdb2_allocate_id
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.

9 years agos3:idmap_tdb2: move definition of struct idmap_tdb2_context up.
Michael Adam [Wed, 16 Jun 2010 13:31:05 +0000 (15:31 +0200)]
s3:idmap_tdb2: move definition of struct idmap_tdb2_context up.

9 years agos3:idmap_tdb2: open the db after loading the ranges in idmap_tdb2_db_init().
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().

9 years agos3:idmap_tdb2: add allocation of new mappings to idmap_tdb2_sids_to_unixids
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!).

9 years agos3:idmap_tdb2: re-implement allocated_id in idmap methods.
Michael Adam [Tue, 22 Jun 2010 12:47:11 +0000 (14:47 +0200)]
s3:idmap_tdb2: re-implement allocated_id in idmap methods.

9 years agos3:idmap: add idmap_unix_id_is_in_range() for checking an id against an idmap range
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

9 years agos3:idmap: don't check range for passdb idmap domain
Michael Adam [Tue, 22 Jun 2010 14:29:13 +0000 (16:29 +0200)]
s3:idmap: don't check range for passdb idmap domain

9 years agos3:idmap: parse ranges and "read only" in idmap_init_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().

9 years agos3:idmap: add a read_only flag to the idmap_domain struct.
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.

9 years agos3:idmap: add low_id and high_id to the idmap_domain struct
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.