X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=clients%2Fgopher%2Fgo500gw.c;h=9381acda5bd208da291e2d12edad3956118304cd;hb=21c70857f1029309d6bc5a5b6a93d7537494b742;hp=ce37e796ecbab9840b178aec49640fb633c182a6;hpb=b5494457d86d7b57b8de5fccda725e143c8e30bd;p=openldap diff --git a/clients/gopher/go500gw.c b/clients/gopher/go500gw.c index ce37e796ec..9381acda5b 100644 --- a/clients/gopher/go500gw.c +++ b/clients/gopher/go500gw.c @@ -13,7 +13,8 @@ #include "portable.h" #include -#include + +#include #include #include @@ -37,7 +38,10 @@ #include "lber.h" #include "ldap.h" + +#define ldap_debug debug #include "ldap_log.h" + #include "lutil.h" #include "disptmpl.h" @@ -45,6 +49,8 @@ #include "ldapconfig.h" int debug; +int ldap_syslog; +int ldap_syslog_level; int dosyslog; int inetd; int dtblsize; @@ -110,12 +116,7 @@ main (int argc, char **argv ) break; case 'd': /* debugging level */ - debug = atoi( optarg ); -#ifdef LDAP_DEBUG - ldap_debug = debug; -#else - fprintf( stderr, "warning: ldap debugging requires LDAP_DEBUG\n" ); -#endif + debug |= atoi( optarg ); break; case 'f': /* ldap filter file */ @@ -194,6 +195,15 @@ main (int argc, char **argv ) else myname = strdup( myname + 1 ); + if ( debug ) { + ber_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &debug); + ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &debug); + } + +#ifdef SIGPIPE + (void) SIGNAL( SIGPIPE, SIG_IGN ); +#endif + if ( dosyslog ) { #ifdef LOG_LOCAL3 openlog( myname, OPENLOG_OPTIONS, LOG_LOCAL3 ); @@ -236,7 +246,7 @@ main (int argc, char **argv ) do_queries( 0 ); - close( 0 ); + tcp_close( 0 ); exit( 0 ); } @@ -273,7 +283,7 @@ main (int argc, char **argv ) switch( pid = fork() ) { case 0: /* child */ - close( s ); + tcp_close( s ); do_queries( ns ); break; @@ -282,7 +292,7 @@ main (int argc, char **argv ) break; default: /* parent */ - close( ns ); + tcp_close( ns ); if ( debug ) fprintf( stderr, "forked child %d\n", pid ); break; @@ -345,10 +355,10 @@ wait4child( int sig ) if ( debug ) printf( "parent: catching child status\n" ); #ifdef HAVE_WAITPID - while (waitpid ((pid_t) -1, NULL, WAIT_FLAGS) > 0) + while (waitpid ((pid_t) -1, (int *) NULL, WAIT_FLAGS) > 0) ; /* NULL */ #else - while (wait3( &status, WAIT_FLAGS, 0 ) > 0 ) + while (wait4( (pid_t) -1, &status, WAIT_FLAGS, 0 ) > 0 ) ; /* NULL */ #endif @@ -387,7 +397,7 @@ do_queries( int s ) if ( debug ) { fprintf( stderr, "got %d bytes\n", len ); #ifdef LDAP_DEBUG - lber_bprint( buf, len ); + ber_bprint( buf, len ); #endif } @@ -402,7 +412,7 @@ do_queries( int s ) query = buf; /* strip off leading white space */ - while ( isspace( *query )) { + while ( isspace( (unsigned char) *query )) { ++query; --len; } @@ -556,7 +566,7 @@ do_menu( LDAP *ld, FILE *fp, char *dn ) { char **s; char *rdn = NULL; - FriendlyMap *fm = NULL; + LDAPFriendlyMap *fm = NULL; if ( strcmp( dn, "" ) != 0 ) { s = ldap_explode_dn( dn, 1 ); @@ -588,7 +598,7 @@ do_list( LDAP *ld, FILE *fp, char *dn ) int rc; LDAPMessage *e, *res; struct timeval timeout; - FriendlyMap *fm = NULL; + LDAPFriendlyMap *fm = NULL; static char *attrs[] = { "objectClass", 0 }; int deref = LDAP_DEREF_FINDING; @@ -791,8 +801,7 @@ do_search( LDAP *ld, FILE *fp, char *query ) } if ( count == 1 ) { - char *dn, **s, **oc; - int rc; + char *dn, **oc; e = ldap_first_entry( ld, res ); oc = ldap_get_values( ld, e, "objectClass" );