LCOV - code coverage report
Current view: top level - source3/lib - ldap_debug_handler.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 9 15 60.0 %
Date: 2024-04-21 15:09:00 Functions: 1 2 50.0 %

          Line data    Source code
       1             : /*
       2             :  * Unix SMB/CIFS implementation.
       3             :  * Intercept libldap debug output.
       4             :  * Copyright (C) Michael Adam 2008
       5             :  *
       6             :  * This program is free software; you can redistribute it and/or modify it
       7             :  * under the terms of the GNU General Public License as published by the Free
       8             :  * Software Foundation; either version 3 of the License, or (at your option)
       9             :  * any later version.
      10             :  *
      11             :  * This program is distributed in the hope that it will be useful, but WITHOUT
      12             :  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13             :  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
      14             :  * more details.
      15             :  *
      16             :  * You should have received a copy of the GNU General Public License along with
      17             :  * this program; if not, see <http://www.gnu.org/licenses/>.
      18             :  */
      19             : 
      20             : #include "includes.h"
      21             : #include "smb_ldap.h"
      22             : 
      23             : #if defined(HAVE_LDAP) && defined(HAVE_LBER_LOG_PRINT_FN)
      24           0 : static void samba_ldap_log_print_fn(LDAP_CONST char *data)
      25             : {
      26           0 :         DEBUG(lp_ldap_debug_threshold(), ("[LDAP] %s", data));
      27           0 : }
      28             : #endif
      29             : 
      30           8 : void init_ldap_debugging(void)
      31             : {
      32             : #if defined(HAVE_LDAP) && defined(HAVE_LBER_LOG_PRINT_FN)
      33           0 :         int ret;
      34           7 :         int ldap_debug_level = lp_ldap_debug_level();
      35             : 
      36           7 :         ret = ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &ldap_debug_level);
      37           7 :         if (ret != LDAP_OPT_SUCCESS) {
      38           0 :                 DEBUG(10, ("Error setting LDAP debug level.\n"));
      39             :         }
      40             : 
      41           7 :         if (ldap_debug_level == 0) {
      42           2 :                 return;
      43             :         }
      44             : 
      45           5 :         ret = ber_set_option(NULL, LBER_OPT_LOG_PRINT_FN,
      46             :                              (void *)samba_ldap_log_print_fn);
      47           5 :         if (ret != LBER_OPT_SUCCESS) {
      48           0 :                 DEBUG(10, ("Error setting LBER log print function.\n"));
      49             :         }
      50             : #endif /* HAVE_LDAP && HAVE_LBER_LOG_PRINT_FN */
      51           1 : }

Generated by: LCOV version 1.14