2007-08-20 [paul] 2.10.0cvs136
authorPaul Mangan <paul@claws-mail.org>
Mon, 20 Aug 2007 12:46:12 +0000 (12:46 +0000)
committerPaul Mangan <paul@claws-mail.org>
Mon, 20 Aug 2007 12:46:12 +0000 (12:46 +0000)
* src/browseldap.c
* src/editldap.c
* src/ldapctrl.c
* src/ldapquery.c
* src/ldapquery.h
* src/ldapserver.c
* src/ldaputil.c
add debug_prints
patch by Michael Rasmussen

ChangeLog
PATCHSETS
configure.ac
src/browseldap.c
src/editldap.c
src/ldapctrl.c
src/ldapquery.c
src/ldapquery.h
src/ldapserver.c
src/ldaputil.c

index 0614d475080f07ac0cebb5b4b9c697c38a5e479b..f74e6edca63899713689cbd07fe0277a135b5e71 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2007-08-20 [paul]      2.10.0cvs136
+
+       * src/browseldap.c
+       * src/editldap.c
+       * src/ldapctrl.c
+       * src/ldapquery.c
+       * src/ldapquery.h
+       * src/ldapserver.c
+       * src/ldaputil.c
+               add debug_prints
+               patch by Michael Rasmussen
+
 2007-08-19 [colin]     2.10.0cvs135
 
        * src/imap.c
index c08af97fcfc79c0241a7e672a895c191d378e4da..f613ccb1ed0f052d0b51c643084b01044a83ce0f 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.4.82 -r 1.1.4.83 src/etpan/imap-thread.c;  ) > 2.10.0cvs133.patchset
 ( cvs diff -u -r 1.179.2.181 -r 1.179.2.182 src/imap.c;  ) > 2.10.0cvs134.patchset
 ( cvs diff -u -r 1.179.2.182 -r 1.179.2.183 src/imap.c;  ) > 2.10.0cvs135.patchset
+( cvs diff -u -r 1.2.4.17 -r 1.2.4.18 src/browseldap.c;  cvs diff -u -r 1.8.2.24 -r 1.8.2.25 src/editldap.c;  cvs diff -u -r 1.2.2.11 -r 1.2.2.12 src/ldapctrl.c;  cvs diff -u -r 1.3.2.20 -r 1.3.2.21 src/ldapquery.c;  cvs diff -u -r 1.4.2.11 -r 1.4.2.12 src/ldapquery.h;  cvs diff -u -r 1.4.2.11 -r 1.4.2.12 src/ldapserver.c;  cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/ldaputil.c;  ) > 2.10.0cvs136.patchset
index 2b78e444dd2211e647e6263524b6dad7c0fcfaf7..a9decff6b6b1170c7c4c8333f931c87340c93437 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=10
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=135
+EXTRA_VERSION=136
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 476f2d5efbcfbcf8bd3ed05570910d8587b528c7..e7fcf8f01a64aa7fc8a8c3fe9d21bf506e5ad42f 100644 (file)
@@ -114,12 +114,13 @@ static gint browse_callback_entry(
        GList *node;
        NameValuePair *nvp;
 
-       /* printf( "browse_callback_entry...\n" ); */
+       debug_print("browse_callback_entry...\n");
        pthread_mutex_lock( & _browseMutex_ );
        /* Append contents to end of display queue */
        node = listValues;
        while( node ) {
                nvp = ( NameValuePair * ) node->data;
+               debug_print("adding to list: %s->%s\n", nvp->name, nvp->value);
                _displayQueue_ = g_list_append( _displayQueue_, nvp );
                node->data = NULL;
                node = g_list_next( node );
@@ -141,6 +142,7 @@ static gint browse_callback_entry(
 static gint browse_callback_end(
                LdapQuery *qry, gint queryID, gint status, gpointer data )
 {
+       debug_print("search completed\n");
        _searchComplete_ = TRUE;
        return 0;
 }
@@ -212,6 +214,7 @@ static void browse_create( void ) {
        GtkWidget *close_btn;
        gint top;
 
+       debug_print("creating browse widget\n");
        window = gtk_dialog_new();
        gtk_widget_set_size_request( window, BROWSELDAP_WIDTH, BROWSELDAP_HEIGHT );
        gtk_container_set_border_width( GTK_CONTAINER(window), 0 );
@@ -321,6 +324,7 @@ static gboolean browse_idle( gpointer data ) {
                        nvp = ( NameValuePair * ) node->data;
                        text[COL_NAME]  = nvp->name;
                        text[COL_VALUE] = nvp->value;
+                       debug_print("Adding row to list: %s->%s\n", nvp->name, nvp->value);
                        gtk_clist_append(
                                GTK_CLIST(browseldap_dlg.list_entry), text );
 
@@ -378,13 +382,16 @@ gboolean browseldap_entry( AddressDataSource *ds, const gchar *dn ) {
                GTK_LABEL(browseldap_dlg.label_server ),
                ldapsvr_get_name( server ) );
 
+       debug_print("browsing server: %s\n", ldapsvr_get_name(server));
        /* Setup search */
        _searchComplete_ = FALSE;
        _queryID_ = ldaplocate_search_setup(
                        server, dn, browse_callback_entry, browse_callback_end );
+       debug_print("query id: %d\n", _queryID_);
        _browseIdleID_ = g_idle_add( ( GtkFunction ) browse_idle, NULL );
 
        /* Start search */
+       debug_print("starting search\n");
        ldaplocate_search_start( _queryID_ );
 
        /* Display dialog */
@@ -392,6 +399,7 @@ gboolean browseldap_entry( AddressDataSource *ds, const gchar *dn ) {
        gtk_widget_hide( browseldap_dlg.window );
 
        /* Stop query */
+       debug_print("stopping search\n");
        ldaplocate_search_stop( _queryID_ );
 
        if( _browseIdleID_ != 0 ) {
index 391b511ded8efacbed616816b18c9ea513b2d3f0..6bbca3d7d2ad6e4445d3f55a01ce6506c9cf244b 100644 (file)
@@ -106,6 +106,7 @@ static gboolean editldap_validate_criteria( gchar *criteria ) {
                        *ptr = ' ';
                ptr++;
        }
+       debug_print("cleaned criteria list: %s\n", criteria);
 
        /* Parse string */
        splitStr = g_strsplit( criteria, " ", 0 );
@@ -242,6 +243,7 @@ static void edit_ldap_server_check( void ) {
        g_strchomp( sPass ); g_strchug( sPass );
        if( *sHost != '\0' ) {
                /* Test connection to server */
+               debug_print("ldap server: %s\nport: %d\nssl: %d\ntls: %d\nbindDN: %s\n", sHost, iPort, ssl, tls, sBind);
                if( ldaputil_test_connect( sHost, iPort, ssl, tls ) ) {
                        /* Attempt to read base DN */
                        baseDN = ldaputil_read_basedn( sHost, iPort, sBind, sPass, iTime, ssl, tls );
@@ -266,6 +268,7 @@ static void edit_ldap_server_check( void ) {
 
        if( sBaseDN ) {
                /* Load search DN */
+               debug_print("baseDN: %s\n", sBaseDN);
                gtk_entry_set_text(GTK_ENTRY(ldapedit.entry_baseDN), sBaseDN);
                g_free( sBaseDN );
        }
@@ -299,6 +302,7 @@ static void edit_ldap_basedn_select( void ) {
        g_strchomp( sHost ); g_strchug( sHost );
        g_strchomp( sBind ); g_strchug( sBind );
        g_strchomp( sPass ); g_strchug( sPass );
+       debug_print("ldap server: %s\nport: %d\nssl: %d\ntls: %d\nbindDN: %s\n", sHost, iPort, ssl, tls, sBind);
        selectDN = edit_ldap_basedn_selection( sHost, iPort, sBase, iTime, sBind, sPass, ssl, tls );
        if( selectDN ) {
                gtk_entry_set_text(GTK_ENTRY(ldapedit.entry_baseDN), selectDN);
@@ -325,6 +329,7 @@ static void addressbook_edit_ldap_dialog_create( gboolean *cancelled ) {
        GtkWidget *hsbox;
        GtkWidget *statusbar;
 
+       debug_print("creating edit_ldap_dialog\n");
        window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "editldap");
        gtk_widget_set_size_request(window, 450, -1);
        gtk_container_set_border_width(GTK_CONTAINER(window), 0);
@@ -383,6 +388,7 @@ static void editldap_update_port (GtkToggleButton *ssl_btn, gpointer data) {
        gtk_spin_button_set_value(
                GTK_SPIN_BUTTON( ldapedit.spinbtn_port ), 
                        val ? LDAPCTL_DFL_SSL_PORT:LDAPCTL_DFL_PORT );
+       debug_print("Setting port: %d\n", val ? LDAPCTL_DFL_SSL_PORT:LDAPCTL_DFL_PORT);
 }
 
 static void addressbook_edit_ldap_page_basic( gint pageNum, gchar *pageLbl ) {
@@ -1039,6 +1045,7 @@ AdapterDSource *addressbook_edit_ldap(
        tls = gtk_toggle_button_get_active(
                        GTK_TOGGLE_BUTTON( ldapedit.enable_tls ) );
 #endif
+       debug_print("saving server config:\nname: %s\nhost: %s\nbase: %s\ncriteria: %s\nbind: %s\nport: %d\ntime: %d\nmax_entries: %d\ntimeout: %d\ndynamic: %d\ncheck_match: %d\n",sName, sHost, sBase, sCrit, sBind, iPort, iTime, iMaxE, iAge, bSrch, bMatch);
        fin = FALSE;
        if( *sName == '\0' ) fin = TRUE;
        if( *sHost == '\0' ) fin = TRUE;
index 891019f4bcc62bd436b5b81b58daca07c628e630..11b38b81efd2f34005f2dc9996963d01f1cfdf18 100644 (file)
@@ -34,6 +34,7 @@
 #include "ldapctrl.h"
 #include "mgutils.h"
 #include "editaddress_other_attributes_ldap.h"
+#include "common/utils.h"
 
 /**
  * Create new LDAP control block object.
@@ -77,6 +78,7 @@ LdapControl *ldapctl_create( void ) {
 void ldapctl_set_host( LdapControl* ctl, const gchar *value ) {
        ctl->hostName = mgu_replace_string( ctl->hostName, value );
        g_strstrip( ctl->hostName );
+       debug_print("setting hostname: %s\n", ctl->hostName);
 }
 
 /**
@@ -91,6 +93,7 @@ void ldapctl_set_port( LdapControl* ctl, const gint value ) {
        else {
                ctl->port = LDAPCTL_DFL_PORT;
        }
+       debug_print("setting port: %d\n", ctl->port);
 }
 
 /**
@@ -101,6 +104,7 @@ void ldapctl_set_port( LdapControl* ctl, const gint value ) {
 void ldapctl_set_base_dn( LdapControl* ctl, const gchar *value ) {
        ctl->baseDN = mgu_replace_string( ctl->baseDN, value );
        g_strstrip( ctl->baseDN );
+       debug_print("setting baseDN: %s\n", ctl->baseDN);
 }
 
 /**
@@ -111,6 +115,7 @@ void ldapctl_set_base_dn( LdapControl* ctl, const gchar *value ) {
 void ldapctl_set_bind_dn( LdapControl* ctl, const gchar *value ) {
        ctl->bindDN = mgu_replace_string( ctl->bindDN, value );
        g_strstrip( ctl->bindDN );
+       debug_print("setting bindDN: %s\n", ctl->bindDN);
 }
 
 /**
@@ -121,6 +126,7 @@ void ldapctl_set_bind_dn( LdapControl* ctl, const gchar *value ) {
 void ldapctl_set_bind_password( LdapControl* ctl, const gchar *value ) {
        ctl->bindPass = mgu_replace_string( ctl->bindPass, value );
        g_strstrip( ctl->bindPass );
+       debug_print("setting bindPassword");
 }
 
 /**
@@ -135,6 +141,7 @@ void ldapctl_set_max_entries( LdapControl* ctl, const gint value ) {
        else {
                ctl->maxEntries = LDAPCTL_MAX_ENTRIES;
        }
+       debug_print("setting maxEntries: %d\n", ctl->maxEntries);
 }
 
 /**
@@ -149,6 +156,7 @@ void ldapctl_set_timeout( LdapControl* ctl, const gint value ) {
        else {
                ctl->timeOut = LDAPCTL_DFL_TIMEOUT;
        }
+       debug_print("setting timeOut: %d\n", ctl->timeOut);
 }
 
 /**
@@ -166,6 +174,7 @@ void ldapctl_set_max_query_age( LdapControl* ctl, const gint value ) {
        else {
                ctl->maxQueryAge = value;
        }
+       debug_print("setting maxAge: %d\n", ctl->maxQueryAge);
 }
 
 /**
@@ -187,6 +196,7 @@ void ldapctl_set_matching_option( LdapControl* ctl, const gint value ) {
        else {
                ctl->matchingOption = value;
        }
+       debug_print("setting matchingOption: %d\n", ctl->matchingOption);
 }
 
 /**
@@ -196,10 +206,12 @@ void ldapctl_set_matching_option( LdapControl* ctl, const gint value ) {
  */
 void ldapctl_set_tls( LdapControl* ctl, const gboolean value ) {
        ctl->enableTLS = value;
+       debug_print("setting TLS: %d\n", ctl->enableTLS);
 }
 
 void ldapctl_set_ssl( LdapControl* ctl, const gboolean value ) {
        ctl->enableSSL = value;
+       debug_print("setting SSL: %d\n", ctl->enableSSL);
 }
 
 /**
@@ -236,6 +248,7 @@ void ldapctl_criteria_list_add( LdapControl *ctl, gchar *attr ) {
        g_return_if_fail( ctl != NULL );
        if( attr != NULL ) {
                if( mgu_list_test_unq_nc( ctl->listCriteria, attr ) ) {
+                       debug_print("adding to criteria list: %s\n", attr);
                        ctl->listCriteria = g_list_append(
                                ctl->listCriteria, g_strdup( attr ) );
                }
@@ -249,6 +262,7 @@ void ldapctl_criteria_list_add( LdapControl *ctl, gchar *attr ) {
 static void ldapctl_clear( LdapControl *ctl ) {
        g_return_if_fail( ctl != NULL );
 
+       debug_print("clearing ldap controller members\n");
        /* Free internal stuff */
        g_free( ctl->hostName );
        g_free( ctl->baseDN );
@@ -289,6 +303,7 @@ static void ldapctl_clear( LdapControl *ctl ) {
 void ldapctl_free( LdapControl *ctl ) {
        g_return_if_fail( ctl != NULL );
 
+       debug_print("releasing requested memory for ldap controller\n");
        /* Free internal stuff */
        ldapctl_clear( ctl );
 
@@ -350,6 +365,7 @@ void ldapctl_copy( const LdapControl *ctlFrom, LdapControl *ctlTo ) {
        g_return_if_fail( ctlFrom != NULL );
        g_return_if_fail( ctlTo != NULL );
 
+       debug_print("ldap controller copy\n");
        /* Lock both objects */
        pthread_mutex_lock( ctlFrom->mutexCtl );
        pthread_mutex_lock( ctlTo->mutexCtl );
@@ -463,6 +479,7 @@ static gchar *ldapctl_build_ldap_criteria(
                g_free( p2 );
        }
        g_free( term );
+       debug_print("search criteria: %s\n", crit);
        return crit;
 }
 
@@ -544,6 +561,7 @@ gchar *ldapctl_format_criteria( LdapControl *ctl, const gchar *searchVal ) {
                retVal = p2;
                g_free( p1 );
        }
+       debug_print("current search string: %s\n", retVal);
        return retVal;
 }
 
@@ -576,6 +594,7 @@ char **ldapctl_attribute_array( LdapControl *ctl ) {
        i = 0;
        while( node ) {
                ptrArray[ i++ ] = node->data;
+               /*debug_print("adding search attribute: %s\n", (gchar *) node->data);*/
                node = g_list_next( node );
        }
        ptrArray[ i ] = NULL;
@@ -651,6 +670,7 @@ gchar *ldapctl_get_default_criteria() {
        while (*attrs) {
                retVal = g_strdup_printf("%s, %s", retVal, *attrs++);
        }
+       debug_print("default search criteria: %s\n", retVal);
        return retVal;
 }
 
@@ -674,6 +694,7 @@ GList *ldapctl_get_default_criteria_list() {
                        item = g_strndup(criteria, strlen(criteria) - 1);
                else
                        item = g_strdup(criteria);
+               debug_print("adding attribute to list: %s\n", item);
                attr_list = g_list_append(attr_list, g_strdup(item));
                g_free(item);
        }
@@ -696,6 +717,7 @@ gboolean ldapctl_compare_list(GList *l1, GList *l2) {
        while (l1 && l2) {
                first = (gchar *) l1->data;
                second = (gchar *) l2->data;
+               /*debug_print("comparing: %s = %s\n", first, second);*/
                if ( ! (first && second) || strcmp(first, second) != 0) {
                        return FALSE;
                }
index 13cce85aab43fb4a3f3df2f9b4cd9973aa2c2e64..a13af7b759d25cc863f9be85e6244513fca38c38 100644 (file)
@@ -39,6 +39,7 @@
 
 #include "addritem.h"
 #include "addrcache.h"
+#include "common/utils.h"
 
 /*
  * Key for thread specific data.
@@ -125,6 +126,7 @@ void ldapqry_set_name( LdapQuery* qry, const gchar *value ) {
 void ldapqry_set_search_value( LdapQuery *qry, const gchar *value ) {
        ADDRQUERY_SEARCHVALUE(qry) = mgu_replace_string( ADDRQUERY_SEARCHVALUE(qry), value );
        g_strstrip( ADDRQUERY_SEARCHVALUE(qry) );
+       debug_print("search value: %s\n", ADDRQUERY_SEARCHVALUE(qry));
 }
 
 /**
@@ -382,7 +384,7 @@ static GSList *ldapqry_add_list_values(
 
        if( ( vals = ldap_get_values_len( ld, entry, attr ) ) != NULL ) {
                for( i = 0; vals[i] != NULL; i++ ) {
-                       /* printf( "lv\t%s: %s\n", attr, vals[i] ); */
+                       /*debug_print("lv\t%s: %s\n", attr, vals[i]->bv_val);*/
                        list = g_slist_append( list, g_strndup( vals[i]->bv_val, vals[i]->bv_len) );
                }
        }
@@ -403,7 +405,7 @@ static GSList *ldapqry_add_single_value( LDAP *ld, LDAPMessage *entry, char *att
 
        if( ( vals = ldap_get_values_len( ld, entry, attr ) ) != NULL ) {
                if( vals[0] != NULL ) {
-                       /* printf( "sv\t%s: %s\n", attr, vals[0] ); */
+                       debug_print("sv\t%s: %s\n", attr, vals[0]->bv_val);
                        list = g_slist_append( list, g_strndup( vals[0]->bv_val, vals[0]->bv_len ));
                }
        }
@@ -514,7 +516,9 @@ static GList *ldapqry_build_items_fl(
                addrcache_id_email( cache, email );
                addrcache_person_add_email( cache, person, email );
                addritem_person_add_email( person, email );
-               /*addritem_print_item_email(email, stdout);*/
+               /*if (debug_get_mode()) {
+                       addritem_print_item_email(email, stdout);
+               }*/
                listReturn = g_list_append( listReturn, email );
                nodeAddress = g_slist_next( nodeAddress );
        }
@@ -552,7 +556,7 @@ static GList *ldapqry_process_single_entry(
        listReturn = NULL;
        ctl = qry->control;
        dnEntry = ldap_get_dn( ld, e );
-       /* printf( "DN: %s\n", dnEntry ); */
+       debug_print( "DN: %s\n", dnEntry );
 
        /* Process all attributes */
        for( attribute = ldap_first_attribute( ld, e, &ber ); attribute != NULL;
@@ -650,11 +654,15 @@ static gint ldapqry_connect( LdapQuery *qry ) {
        gchar *uri = NULL;
 
        /* Initialize connection */
-       /* printf( "===ldapqry_connect===\n" ); */
-       /* ldapqry_print( qry, stdout ); */
+       if (debug_get_mode()) {
+               debug_print("===ldapqry_connect===\n");
+               /*ldapqry_print(qry, stdout);*/
+       }
        ctl = qry->control;
-       /* ldapctl_print( ctl, stdout ); */
-       /* printf( "======\n" ); */
+       /*if (debug_get_mode()) {
+               ldapctl_print(ctl, stdout);
+               debug_print("======\n");
+       }*/
        ldapqry_touch( qry );
        qry->startTime = qry->touchTime;
        qry->elapsedTime = -1;
@@ -676,9 +684,7 @@ static gint ldapqry_connect( LdapQuery *qry ) {
        }
        ldapqry_touch( qry );
 
-       /*
-       printf( "connected to LDAP host %s on port %d\n", ctl->hostName, ctl->port );
-       */
+       debug_print("connected to LDAP host %s on port %d\n", ctl->hostName, ctl->port);
 
 #ifdef USE_LDAP_TLS
        /* Handle TLS */
@@ -693,8 +699,8 @@ static gint ldapqry_connect( LdapQuery *qry ) {
                        ADDRQUERY_RETVAL(qry) = LDAPRC_TLS;
                        rc = ldap_start_tls_s( ld, NULL, NULL );
                        
-                       /* printf( "rc=%d\n", rc );
-                       printf( "LDAP Status: set_option: %s\n", ldap_err2string( rc ) ); */
+                       debug_print("rc=%d\n", rc);
+                       debug_print("LDAP Status: set_option: %s\n", ldap_err2string( rc ) );
                        
                        if( rc != LDAP_SUCCESS ) {
                                return ADDRQUERY_RETVAL(qry);
@@ -707,14 +713,11 @@ static gint ldapqry_connect( LdapQuery *qry ) {
        ADDRQUERY_RETVAL(qry) = LDAPRC_BIND;
        if( ctl->bindDN ) {
                if( * ctl->bindDN != '\0' ) {
-                       /* printf( "binding...\n" ); */
+                       debug_print("binding...\n");
                        rc = claws_ldap_simple_bind_s( ld, ctl->bindDN, ctl->bindPass );
-                       /* printf( "rc=%d\n", rc ); */
+                       debug_print("rc=%d\n", rc);
                        if( rc != LDAP_SUCCESS ) {
-                               /*
-                               printf( "LDAP Error: ldap_simple_bind_s: %s\n",
-                                       ldap_err2string( rc ) );
-                               */
+                               debug_print("LDAP Error: ldap_simple_bind_s: %s\n",     ldap_err2string(rc));
                                return ADDRQUERY_RETVAL(qry);
                        }
                }
@@ -784,7 +787,7 @@ static gint ldapqry_search_retrieve( LdapQuery *qry ) {
 
        /* Create LDAP search string */
        criteria = ldapctl_format_criteria( ctl, ADDRQUERY_SEARCHVALUE(qry) );
-       /* printf( "Search criteria ::%s::\n", criteria ); */
+       debug_print("Search criteria ::%s::\n", criteria);
 
        /*
         * Execute the search - this step may take some time to complete
@@ -793,6 +796,8 @@ static gint ldapqry_search_retrieve( LdapQuery *qry ) {
        ADDRQUERY_RETVAL(qry) = LDAPRC_TIMEOUT;
        rc = ldap_search_ext_s( ld, ctl->baseDN, LDAP_SCOPE_SUBTREE, criteria,
                attribs, 0, NULL, NULL, &timeout, 0, &result );
+       debug_print("LDAP Error: ldap_search_st: %d\n", rc);
+       debug_print("LDAP Error: ldap_search_st: %s\n", ldap_err2string(rc));
        ldapctl_free_attribute_array( attribs );
        g_free( criteria );
        criteria = NULL;
@@ -813,17 +818,13 @@ static gint ldapqry_search_retrieve( LdapQuery *qry ) {
                searchFlag = TRUE;
        }
        else {
-               /*
-               printf( "LDAP Error: ldap_search_st: %d\n", rc );
-               printf( "LDAP Error: ldap_search_st: %s\n", ldap_err2string( rc ) );
-               */
+               debug_print("LDAP Error: ldap_search_st: %d\n", rc);
+               debug_print("LDAP Error: ldap_search_st: %s\n", ldap_err2string(rc));
                return ADDRQUERY_RETVAL(qry);
        }
        ADDRQUERY_RETVAL(qry) = LDAPRC_STOP_FLAG;
 
-       /*
-       printf( "Total results are: %d\n", ldap_count_entries( ld, result ) );
-       */
+       debug_print("Total results are: %d\n", ldap_count_entries(ld, result));
 
        /* Process results */
        first = TRUE;
@@ -858,10 +859,12 @@ static gint ldapqry_search_retrieve( LdapQuery *qry ) {
                        qry->callBackEntry( qry, ADDRQUERY_ID(qry), listEMail, qry->data );
                }
                else {
-                       /*GList *node = listEMail;
-                       while (node) {
-                               addritem_print_item_email(node->data, stdout);
-                               node = g_list_next(node);
+                       /*if (debug_get_mode()) {
+                               GList *node = listEMail;
+                               while (node) {
+                                       addritem_print_item_email(node->data, stdout);
+                                       node = g_list_next(node);
+                               }
                        }*/
                        g_list_free( listEMail );
                }
@@ -944,16 +947,12 @@ static gint ldapqry_search( LdapQuery *qry ) {
                qry->server->addressCache->dataRead = TRUE;
                qry->server->addressCache->accessFlag = FALSE;
                if( ldapqry_get_stop_flag( qry ) ) {
-                       /*
-                       printf( "Search was terminated prematurely\n" );
-                       */
+                       debug_print("Search was terminated prematurely\n");
                }
                else {
                        ldapqry_touch( qry );
                        qry->completed = TRUE;
-                       /*
-                       printf( "Search ran to completion\n" );
-                       */
+                       debug_print("Search ran to completion\n");
                }
        }
        ldapqry_set_stop_flag( qry, TRUE );
@@ -981,9 +980,7 @@ gint ldapqry_read_data_th( LdapQuery *qry ) {
        ldapqry_touch( qry );
        if( ldapqry_check_search( qry ) ) {
                if( ADDRQUERY_RETVAL(qry) == LDAPRC_SUCCESS ) {
-                       /*
-                       printf( "Starting LDAP search thread\n");
-                       */
+                       debug_print("Starting LDAP search thread\n");
                        ldapqry_set_busy_flag( qry, TRUE );
                        qry->thread = g_malloc0( sizeof( pthread_t ) );
 
@@ -1004,9 +1001,7 @@ static void ldapqry_destroyer( void * ptr ) {
        LdapQuery *qry;
 
        qry = ( LdapQuery * ) ptr;
-       /*
-       printf( "ldapqry_destroyer::%d::%s\n", (int) pthread_self(), ADDRQUERY_NAME(qry) );
-       */
+       debug_print("ldapqry_destroyer::%d::%s\n", (int) pthread_self(), ADDRQUERY_NAME(qry));
 
        /* Perform any destruction here */
        if( qry->control != NULL ) {
@@ -1024,12 +1019,10 @@ static void ldapqry_destroyer( void * ptr ) {
 void ldapqry_cancel( LdapQuery *qry ) {
        g_return_if_fail( qry != NULL );
 
-       /*
-       printf( "cancelling::%d::%s\n", (int) pthread_self(), ADDRQUERY_NAME(qry) );
-       */
+       debug_print("cancelling::%d::%s\n", (int) pthread_self(), ADDRQUERY_NAME(qry));
        if( ldapqry_get_busy_flag( qry ) ) {
                if( qry->thread ) {
-                       /* printf( "calling pthread_cancel\n" ); */
+                       debug_print("calling pthread_cancel\n");
                        pthread_cancel( * qry->thread );
                }
        }
@@ -1040,15 +1033,13 @@ void ldapqry_cancel( LdapQuery *qry ) {
  * any LDAP queries to initialize thread specific data.
  */
 void ldapqry_initialize( void ) {
-       /* printf( "ldapqry_initialize...\n" ); */
+       debug_print("ldapqry_initialize...\n");
        if( ! _queryThreadInit_ ) {
-               /*
-               printf( "ldapqry_initialize::creating thread specific area\n" );
-               */
+               debug_print("ldapqry_initialize::creating thread specific area\n");
                pthread_key_create( &_queryThreadKey_, ldapqry_destroyer );
                _queryThreadInit_ = TRUE;
        }
-       /* printf( "ldapqry_initialize... done!\n" ); */
+       debug_print("ldapqry_initialize... done!\n");
 }
 
 /**
@@ -1231,15 +1222,11 @@ static gint ldapqry_locate_retrieve( LdapQuery *qry ) {
        }
        ADDRQUERY_RETVAL(qry) = LDAPRC_SEARCH;
        if( rc != LDAP_SUCCESS ) {
-               /*
-               printf( "LDAP Error: ldap_search_st: %s\n", ldap_err2string( rc ) );
-               */
+               debug_print("LDAP Error: ldap_search_st: %s\n", ldap_err2string(rc));
                return ADDRQUERY_RETVAL(qry);
        }
 
-       /*
-       printf( "Total results are: %d\n", ldap_count_entries( ld, result ) );
-       */
+       debug_print("Total results are: %d\n", ldap_count_entries(ld, result));
 
        /* Process results */
        ADDRQUERY_RETVAL(qry) = LDAPRC_STOP_FLAG;
@@ -1343,6 +1330,20 @@ gboolean ldapquery_remove_results( LdapQuery *qry ) {
        return retVal;
 }
 
+void ldapqry_print(LdapQuery *qry, FILE *stream) {
+       ldapsvr_print_data(qry->server, stream);
+       ldapctl_print(qry->control, stream);
+       fprintf(stream, "entriesRead: %d\n", qry->entriesRead);
+       fprintf(stream, "elapsedTime: %d\n", qry->elapsedTime);
+       fprintf(stream, "stopFlag: %d\n", qry->stopFlag);
+       fprintf(stream, "busyFlag: %d\n", qry->busyFlag);
+       fprintf(stream, "agedFlag: %d\n", qry->agedFlag);
+       fprintf(stream, "completed: %d\n", qry->completed);
+       fprintf(stream, "startTime: %d\n", (int) qry->startTime);
+       fprintf(stream, "touchTime: %d\n", (int) qry->touchTime);
+       fprintf(stream, "data: %s\n", (gchar *) qry->data);
+}
+
 #endif /* USE_LDAP */
 
 /*
index eb5458e1b49f7c9b72c05fa3fa506e8586aed429..78db1738152bf53d4d7fdc727caa654f99a7d245 100644 (file)
@@ -68,6 +68,7 @@ struct _NameValuePair {
 };
 
 /* Function prototypes */
+void ldapqry_print(LdapQuery *qry, FILE *stream);
 void ldapqry_initialize                ( void );
 LdapQuery *ldapqry_create      ( void );
 void ldapqry_set_control       ( LdapQuery *qry, LdapControl *ctl );
index 8a59212e45c496ee479926f1cee3f5651b2ab56f..b18f34225e5885347b6672128efd591cbcbccb72 100644 (file)
@@ -90,6 +90,7 @@ gchar *ldapsvr_get_name( LdapServer *server ) {
 void ldapsvr_set_name( LdapServer* server, const gchar *value ) {
        g_return_if_fail( server != NULL );
        addrcache_set_name( server->addressCache, value );
+       debug_print("setting name: %s\n", value);
 }
 
 /**
@@ -143,6 +144,7 @@ gboolean ldapsvr_get_accessed( LdapServer *server ) {
 void ldapsvr_set_accessed( LdapServer *server, const gboolean value ) {
        g_return_if_fail( server != NULL );
        server->addressCache->accessFlag = value;
+       debug_print("setting accessFlag: %d\n", value);
 }
 
 /**
@@ -163,6 +165,7 @@ gboolean ldapsvr_get_modified( LdapServer *server ) {
 void ldapsvr_set_modified( LdapServer *server, const gboolean value ) {
        g_return_if_fail( server != NULL );
        server->addressCache->modified = value;
+       debug_print("setting modified: %d\n", value);
 }
 
 /**
@@ -193,6 +196,7 @@ gboolean ldapsvr_get_search_flag( LdapServer *server ) {
 void ldapsvr_set_search_flag( LdapServer *server, const gboolean value ) {
        g_return_if_fail( server != NULL );
        server->searchFlag = value;
+       debug_print("setting searchFlag: %d\n", value);
 }
 
 /**
@@ -347,17 +351,15 @@ void ldapsvr_execute_query( LdapServer *server, LdapQuery *qry ) {
        ldapqry_initialize();
 
        /* Perform query */     
-       /* printf( "ldapsvr_execute_query::checking query...\n" ); */
+       debug_print("ldapsvr_execute_query::checking query...\n");
        if( ldapqry_check_search( qry ) ) {
-               /* printf( "ldapsvr_execute_query::reading with thread...\n" ); */
+               debug_print("ldapsvr_execute_query::reading with thread...\n");
                ldapqry_read_data_th( qry );
-               /*
-               if( qry->retVal == LDAPRC_SUCCESS ) {
-                       printf( "ldapsvr_execute_query::SUCCESS with thread...\n" );
+               if(qry->server->retVal == LDAPRC_SUCCESS) {
+                       debug_print("ldapsvr_execute_query::SUCCESS with thread...\n");
                }
-               */
        }
-       /* printf( "ldapsvr_execute_query... terminated\n" ); */
+       debug_print("ldapsvr_execute_query... terminated\n");
 }
 
 /**
@@ -467,7 +469,7 @@ void ldapsvr_retire_query( LdapServer *server ) {
        LdapControl *ctl;
        ItemFolder *folder;
 
-       /* printf( "ldapsvr_retire_query\n" ); */
+       debug_print("ldapsvr_retire_query\n");
        g_return_if_fail( server != NULL );
        ctl = server->control;
        maxAge = ctl->maxQueryAge;
@@ -489,9 +491,7 @@ void ldapsvr_retire_query( LdapServer *server ) {
                ldapqry_age( qry, maxAge );
                if( qry->agedFlag ) {
                        /* Delete folder associated with query */
-                       /*
-                       printf( "deleting folder... ::%s::\n", ADDRQUERY_NAME(qry) );
-                       */
+                       debug_print("deleting folder... ::%s::\n", ADDRQUERY_NAME(qry));
                        ldapqry_delete_folder( qry );
                        listDelete = g_list_append( listDelete, qry );
                }
@@ -700,7 +700,7 @@ gint ldapsvr_read_data( LdapServer *server )
 {
        g_return_val_if_fail( server != NULL, -1 );
 
-       //printf( "...addrbook_read_data :%s:\n", addrcache_get_name( server->addressCache ) );
+       debug_print("...addrbook_read_data :%s:\n", addrcache_get_name(server->addressCache));
        
        addrcache_clear(server->addressCache);
        ldapsvr_free_all_query( server );
index 3b14d2d1818a80467752016b855eb4eb3021df05..0c0a273adf489a56e5a69c06c8d7c0340e36e0f2 100644 (file)
@@ -33,6 +33,7 @@
 #include <ldap.h>
 #include <lber.h>
 #include <errno.h>
+#include "common/utils.h"
 
 #define SYLDAP_TEST_FILTER   "(objectclass=*)"
 #define SYLDAP_SEARCHBASE_V2 "cn=config"
@@ -204,6 +205,7 @@ int claws_ldap_simple_bind_s( LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *pa
                cred.bv_len = 0;
        }
 
+       debug_print("binding: DN->%s\n", dn);
        return ldap_sasl_bind_s( ld, dn, LDAP_SASL_SIMPLE, &cred,
                NULL, NULL, NULL );
 }
@@ -238,6 +240,7 @@ GList *ldaputil_read_basedn(
        uri = g_strdup_printf("ldap%s://%s:%d",
                        ssl?"s":"",
                        host, port);
+       debug_print("URI: %s\n", uri);
        rc = ldap_initialize(&ld, uri);
        g_free(uri);
        
@@ -274,9 +277,15 @@ GList *ldaputil_read_basedn(
 
        /* Test for LDAP version 3 */
        baseDN = ldaputil_test_v3( ld, tov, &rc );
+       if (baseDN) {
+               debug_print("Using LDAP v3\n");
+       }
 
        if( baseDN == NULL && !LDAP_API_ERROR(rc) ) {
                baseDN = ldaputil_test_v2( ld, tov );
+               if (baseDN) {
+                       debug_print("Using LDAP v2\n");
+               }
        }
        if (ld && !LDAP_API_ERROR(rc))
                ldap_unbind_ext( ld, NULL, NULL );
@@ -306,6 +315,7 @@ gboolean ldaputil_test_connect( const gchar *host, const gint port, int ssl, int
        uri = g_strdup_printf("ldap%s://%s:%d",
                                ssl?"s":"",
                                host, port);
+       debug_print("URI: %s\n", uri);
        ldap_initialize(&ld, uri);
        g_free(uri);
        if (ld == NULL)