+/* $OpenLDAP$ */
/*
* main.c: for rcpt500 (X.500 email query responder)
*
#include "portable.h"
#include <stdio.h>
-#include <stdlib.h>
+
+#include <ac/stdlib.h>
#include <ac/ctype.h>
#include <ac/signal.h>
#include <ac/syslog.h>
#include <ac/unistd.h>
-#include "ldapconfig.h"
+#include "ldap_defaults.h"
#include "rcpt500.h"
int dosyslog = 0;
char *prog, *usage = "%s [-l] [-U] [-h ldaphost] [-p ldapport] [-b searchbase] [-a] [-z sizelimit] [-u dapuser] [-f filterfile] [-t templatefile] [-c rdncount]\n";
struct msginfo msg;
int c, errflg;
- char *replytext;
*reply = '\0';
}
if ( errflg || optind < argc ) {
fprintf( stderr, usage, prog );
- exit( 1 );
+ exit( EXIT_FAILURE );
}
#ifdef SIGPIPE
*/
#ifdef LOG_DAEMON
openlog( prog, OPENLOG_OPTIONS, LOG_DAEMON );
-#else
+#elif LOG_DEBUG
openlog( prog, OPENLOG_OPTIONS );
#endif
}
if ( dosyslog ) {
syslog( LOG_INFO, "processing command \"%s %s\" from %s",
( msg.msg_command < 0 ) ? "Unknown" :
- cmds[ msg.msg_command ].cmd_text,
+ rcpt_cmds[ msg.msg_command ].cmd_text,
( msg.msg_arg == NULL ) ? "" : msg.msg_arg, msg.msg_replyto );
}
/*
sprintf( reply, "Your request was interpreted as: %s %s\n\n",
- cmds[ msg.msg_command ].cmd_text, msg.msg_arg );
+ rcpt_cmds[ msg.msg_command ].cmd_text, msg.msg_arg );
*/
- (*cmds[ msg.msg_command ].cmd_handler)( &msg, reply );
+ (*rcpt_cmds[ msg.msg_command ].cmd_handler)( &msg, reply );
if ( send_reply( &msg, reply ) < 0 ) {
if ( dosyslog ) {
{
char *hdr;
- for ( hdr = buf + offset; isspace( *hdr ); ++hdr ) {
+ for ( hdr = buf + offset; isspace( (unsigned char) *hdr ); ++hdr ) {
;
}
if (( hdr = strdup( hdr )) == NULL ) {
if ( dosyslog ) {
syslog( LOG_ERR, "strdup: %m" );
}
- exit( 1 );
+ exit( EXIT_FAILURE );
}
while ( 1 ) {
*linep = fgets( buf, MAXSIZE, fp );
buf[ strlen( buf ) - 1 ] = '\0'; /* remove trailing newline */
- if ( *linep == NULL || !isspace( **linep )) {
+ if ( *linep == NULL || !isspace( (unsigned char) **linep )) {
break;
}
if (( hdr = realloc( hdr, strlen( hdr ) +
if ( dosyslog ) {
syslog( LOG_ERR, "realloc: %m" );
}
- exit( 1 );
+ exit( EXIT_FAILURE );
}
strcat( hdr, "\n" );
strcat( hdr, *linep );
p = text;
for ( s = argbuf; *p != '\0'; ++p ) {
- *s++ = TOLOWER( *p );
+ *s++ = TOLOWER( (unsigned char) *p );
}
*s = '\0';
- for ( i = 0; cmds[ i ].cmd_text != NULL; ++i ) {
- if (( s = strstr( argbuf, cmds[ i ].cmd_text )) != NULL
- && isspace( *(s + strlen( cmds[ i ].cmd_text )))) {
- strcpy( argbuf, text + (s - argbuf) + strlen( cmds[ i ].cmd_text ));
+ for ( i = 0; rcpt_cmds[ i ].cmd_text != NULL; ++i ) {
+ if (( s = strstr( argbuf, rcpt_cmds[ i ].cmd_text )) != NULL
+ && isspace( (unsigned char) s[ strlen( rcpt_cmds[ i ].cmd_text ) ] )) {
+ strcpy( argbuf, text + (s - argbuf) + strlen( rcpt_cmds[ i ].cmd_text ));
*argp = argbuf;
- while ( isspace( **argp )) {
+ while ( isspace( (unsigned char) **argp )) {
++(*argp);
}
return( i );