[Freeipa-devel] [PATCH] 0008 Documentation improvement, configuration check

Adam Tkac atkac at redhat.com
Tue Feb 28 13:46:44 UTC 2012


On 02/28/2012 02:44 PM, Petr Spacek wrote:
> On 02/24/2012 01:42 PM, Petr Spacek wrote:
>> Hello,
>>
>> this patch is documentation improvement & configuration check for
>> situations, where persistent search and zone refresh are enabled at same
>> time. (Which is not allowed.)
>>
>> It's related to fix https://fedorahosted.org/bind-dyndb-ldap/ticket/43 -
>> hold bind and plugin global settings in LDAP.
>>
>
> ... there is the forgotten patch :-)

Ack, push it to master, please.

>
>
> bind-dyndb-ldap-pspacek-0008-Documentation-improvement-add-configuration-check.patch
>
>
>  From 2e4165fd1d8ee3efd5b61c5a1da76e73ea8385d7 Mon Sep 17 00:00:00 2001
> From: Petr Spacek<pspacek at redhat.com>
> Date: Fri, 24 Feb 2012 13:37:04 +0100
> Subject: [PATCH] Documentation improvement, add configuration check.
>   Signed-off-by: Petr Spacek<pspacek at redhat.com>
>
> ---
>   README             |   16 ++++++++++------
>   src/zone_manager.c |   10 +++++++++-
>   2 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/README b/README
> index 2770c46..914abdc 100644
> --- a/README
> +++ b/README
> @@ -179,10 +179,11 @@ cache_ttl (default 120)
>
>   zone_refresh (default 0)
>   	Interval (in seconds) of how often the LDAP driver should query the
> -	LDAP server for changes in zone settings. Currently, this is only
> -	the idnsUpdatePolicy attribute which specifies the update policy for
> -	a zone. If this option is set to 0, the LDAP driver will never refresh
> -	the settings.
> +	LDAP server for changes in zone settings. If this option is set to 0,
> +	the LDAP driver will never refresh the settings.
> +	Currently, global settings in idnsConfigObject and zone specific
> +	settings in idnsZone attributes are refreshed.
> +	Value is ignored if persistent search (psearch) is enabled.
>
>   timeout (default 10)
>   	Timeout (in seconds) of the queries to the LDAP server. If the LDAP
> @@ -197,8 +198,10 @@ fake_mname (default "")
>
>   psearch (default no)
>   	Set this option to "yes" if you would like to use persistent search
> -	query for zone records. When server supports persistent search
> -	your zones will be automatically update when they change in LDAP.
> +	query for zone records and global settings. When server supports
> +	persistent search your zones and configuration will be automatically
> +	update when they change in LDAP.
> +	Enabling psearch disables zone_refresh.
>
>   reconnect_interval (default 60)
>   	Time (in seconds) after that the plugin should try to connect to LDAP
> @@ -260,6 +263,7 @@ sync_ptr = idnsAllowSyncPTR
>   zone_refresh = idnsZoneRefresh
>
>   Forward policy option cannot be set without setting forwarders at the same time.
> +Zone refresh interval is ignored on target server if psearch is enabled.
>
>
>   6. License
> diff --git a/src/zone_manager.c b/src/zone_manager.c
> index 5ca47fd..c8a144f 100644
> --- a/src/zone_manager.c
> +++ b/src/zone_manager.c
> @@ -113,12 +113,14 @@ manager_create_db_instance(isc_mem_t *mctx, const char *name,
>   	isc_result_t result;
>   	db_instance_t *db_inst = NULL;
>   	unsigned int zone_refresh;
> +	isc_boolean_t psearch;
>   	isc_timermgr_t *timer_mgr;
>   	isc_interval_t interval;
>   	isc_timertype_t timer_type = isc_timertype_inactive;
>   	isc_task_t *task;
>   	setting_t manager_settings[] = {
>   		{ "zone_refresh", default_uint(0) },
> +		{ "psearch", default_boolean(0) },
>   		end_of_settings
>   	};
>
> @@ -140,6 +142,7 @@ manager_create_db_instance(isc_mem_t *mctx, const char *name,
>
>   	/* Parse settings. */
>   	manager_settings[0].target =&zone_refresh;
> +	manager_settings[1].target =&psearch;
>   	CHECK(set_settings(manager_settings, argv));
>
>   	CHECKED_MEM_GET_PTR(mctx, db_inst);
> @@ -158,7 +161,12 @@ manager_create_db_instance(isc_mem_t *mctx, const char *name,
>   	timer_mgr = dns_dyndb_get_timermgr(dyndb_args);
>   	isc_interval_set(&interval, zone_refresh, 0);
>
> -	if (zone_refresh) {
> +	if (zone_refresh&&  psearch) {
> +		log_error("Zone refresh and persistent search are enabled at same time! "
> +				"Only persistent search will be used.");
> +	}
> +
> +	if (zone_refresh&&  !psearch) {
>   		timer_type = isc_timertype_ticker;
>   	} else {
>   		timer_type = isc_timertype_inactive;




More information about the Freeipa-devel mailing list