[Freeipa-devel] [PATCH 0024] Add debug message to ldap_cache_addrdatalist()

Adam Tkac atkac at redhat.com
Fri Jul 13 11:17:34 UTC 2012


On Tue, Jul 10, 2012 at 03:15:03PM +0200, Petr Spacek wrote:
> Hello,
> 
> this patch adds an debug message to ldap_cache_addrdatalist().
> 
> It is very useful for persistent search debugging.

Hi,

although idea of the patch is fine, I don't think that statements which allocate
memory should be in the "cleanup" path.

What about this (generally used in BIND):

ldap_cache_getrdatalist() {
...
char namebuf[DNS_NAME_FORMATSIZE];
...
cleanup:
    dns_name_format(name, namebuf, sizeof(namebuf));
    log_debug(20, "%s", namebuf);
}

Or you can put this entire code into "if (isc_log_debuglevel() >= 20)" statement
to save some CPU cycles...

Regards, Adam

> From 29a95bb7480802bfd9f10ccdffca6158eedf4581 Mon Sep 17 00:00:00 2001
> From: Petr Spacek <pspacek at redhat.com>
> Date: Thu, 28 Jun 2012 13:52:38 +0200
> Subject: [PATCH] Add debug message to ldap_cache_addrdatalist()
> 
> ---
>  src/cache.c |   14 ++++++++++++++
>  1 files changed, 14 insertions(+), 0 deletions(-)
> 
> diff --git a/src/cache.c b/src/cache.c
> index c8afb99babd9de5263f0926ffd509e52fb87d8cd..2125d97bec2429307d3e0d16c31f9a2cc4bc1d00 100644
> --- a/src/cache.c
> +++ b/src/cache.c
> @@ -26,6 +26,7 @@
>  
>  #include <dns/rbt.h>
>  #include <dns/result.h>
> +#include <dns/log.h>
>  
>  #include <string.h>
>  
> @@ -207,6 +208,19 @@ ldap_cache_getrdatalist(isc_mem_t *mctx, ldap_cache_t *cache,
>  
>  cleanup:
>  	UNLOCK(&cache->mutex);
> +
> +	if (isc_log_getdebuglevel(dns_lctx) >= 20) {
> +		char *dns_str = NULL;
> +		if (dns_name_tostring(name, &dns_str, mctx) == ISC_R_SUCCESS) {
> +			log_debug(20, "cache search for '%s': %s", dns_str,
> +						isc_result_totext(result));
> +			isc_mem_free(mctx, dns_str);
> +		} else {
> +			log_debug(20, "cache search for '<DNS2STRERR>': %s",
> +						isc_result_totext(result));
> +		}
> +	}
> +
>  	return result;
>  }
>  
> -- 
> 1.7.7.6
> 


-- 
Adam Tkac, Red Hat, Inc.




More information about the Freeipa-devel mailing list