#ifdef LDAP_PROCTITLE
char title[80];
#endif
- extern char *optarg;
- extern int optind;
#ifdef VMS
/* Pick up socket from inetd-type server on VMS */
#ifdef LDAP_DEBUG
ldap_debug = atoi( optarg );
if ( ldap_debug & LDAP_DEBUG_PACKETS )
- lber_debug = ldap_debug;
+ lber_int_debug = ldap_debug;
#else
fprintf( stderr, "Not compiled with -DLDAP_DEBUG!\n" );
#endif
conn_init();
}
- (void) memset( (void *) &sb, '\0', sizeof( sb ) );
- sb.sb_sd = clientsock;
- sb.sb_naddr = ( udp ) ? 1 : 0;
-#ifdef LDAP_CONNECTIONLESS
- sb.sb_addrs = (void **)saddrlist;
- sb.sb_fromaddr = &faddr;
- sb.sb_useaddr = saddrlist[ 0 ] = &saddr;
-#endif
- sb.sb_ber.ber_buf = NULL;
- sb.sb_ber.ber_ptr = NULL;
- sb.sb_ber.ber_end = NULL;
-
+ lber_pvt_sb_init( &sb );
+ lber_pvt_sb_set_desc( &sb, clientsock );
+ lber_pvt_sb_set_io( &sb, (udp) ? &lber_pvt_sb_io_udp :
+ &lber_pvt_sb_io_tcp, NULL );
timeout.tv_sec = idletime;
timeout.tv_usec = 0;
for ( ;; ) {
* already waiting for us on the client sock.
*/
- if ( sb.sb_ber.ber_ptr >= sb.sb_ber.ber_end ) {
+ if ( ! lber_pvt_sb_data_ready( &sb ) ) {
if ( (rc = select( dtblsize, &readfds, 0, 0,
udp ? 0 : &timeout )) < 1 ) {
#ifdef LDAP_DEBUG
}
}
- if ( sb.sb_ber.ber_ptr < sb.sb_ber.ber_end ||
+ if ( lber_pvt_sb_data_ready( &sb ) ||
FD_ISSET( clientsock, &readfds ) ) {
client_request( &sb, conns, udp );
} else {
Debug( LDAP_DEBUG_TRACE, "parent: catching child status\n", 0, 0, 0 );
#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