]> arthur.barton.de Git - netatalk.git/blobdiff - etc/papd/main.c
remove '\n' char in log messages.
[netatalk.git] / etc / papd / main.c
index 94e3ec0ec594ee8a620829c12179b9f16c3e9cff..4283510c8496217a84eb98c211cd76cca08c29ec 100644 (file)
@@ -1,14 +1,16 @@
 /*
- * $Id: main.c,v 1.14 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: main.c,v 1.18.6.1 2004-05-12 21:21:49 didg Exp $
  *
  * Copyright (c) 1990,1995 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
  */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif /* HAVE_CONFIG_H */
 
+#include <string.h>
+
 #include <sys/param.h>
 #include <sys/time.h>
 #include <sys/uio.h>
@@ -18,7 +20,7 @@
 #include <sys/file.h>
 #endif /* sun && __svr4__ */
 #include <sys/socket.h>
-#include <syslog.h>
+#include <atalk/logger.h>
 
 /* POSIX.1 sys/wait.h check */
 #include <sys/types.h>
@@ -80,13 +82,13 @@ struct printer      defprinter;
 struct printer *printers = NULL;
 
 int            debug = 0;
-char           *conffile = _PATH_PAPDCONF;
+static char    *conffile = _PATH_PAPDCONF;
 char           *printcap = _PATH_PAPDPRINTCAP;
 unsigned char  connid, quantum, sock, oquantum = PAP_MAXQUANTUM;
 char           *cannedstatus = PIPED_STATUS;
 struct printer *printer = NULL;
 char           *version = VERSION;
-static char      *pidfile = _PATH_PAPDLOCK;
+static char    *pidfile = _PATH_PAPDLOCK;
 
 char           *uamlist;
 char           *uampath = _PATH_PAPDUAMPATH;
@@ -94,7 +96,7 @@ char          *uampath = _PATH_PAPDUAMPATH;
 /* Prototypes for locally used functions */
 int getstatus( struct printer *pr, char *buf );
 int rprintcap( struct printer *pr );
-void getprinters( char *cf );
+static void getprinters( char *cf );
 
 
 /* this only needs to be used by the server process */
@@ -119,11 +121,11 @@ die( n )
     for ( pr = printers; pr; pr = pr->p_next ) {
        if ( pr->p_flags & P_REGISTERED ) {
            if ( nbp_unrgstr( pr->p_name, pr->p_type, pr->p_zone, &addr ) < 0 ) {
-               syslog( LOG_ERR, "can't unregister %s:%s@%s\n", pr->p_name,
+               LOG(log_error, logtype_papd, "can't unregister %s:%s@%s", pr->p_name,
                        pr->p_type, pr->p_zone );
                papd_exit( n + 1 );
            }
-           syslog( LOG_ERR, "unregister %s:%s@%s\n", pr->p_name, pr->p_type,
+           LOG(log_error, logtype_papd, "unregister %s:%s@%s", pr->p_name, pr->p_type,
                    pr->p_zone );
        }
     }
@@ -141,17 +143,17 @@ reap()
     while (( pid = wait3( &status, WNOHANG, 0 )) > 0 ) {
        if ( WIFEXITED( status )) {
            if ( WEXITSTATUS( status )) {
-               syslog( LOG_ERR, "child %d exited with %d", pid,
+               LOG(log_error, logtype_papd, "child %d exited with %d", pid,
                        WEXITSTATUS( status ));
            } else {
-               syslog( LOG_INFO, "child %d done", pid );
+               LOG(log_info, logtype_papd, "child %d done", pid );
            }
        } else {
            if ( WIFSIGNALED( status )) {
-               syslog( LOG_ERR, "child %d killed with %d", pid,
+               LOG(log_error, logtype_papd, "child %d killed with %d", pid,
                        WTERMSIG( status ));
            } else {
-               syslog( LOG_ERR, "child %d died", pid );
+               LOG(log_error, logtype_papd, "child %d died", pid );
            }
        }
     }
@@ -271,32 +273,33 @@ int main( ac, av )
 #ifdef ultrix
     openlog( p, LOG_PID );
 #else /* ultrix */
-    openlog( p, LOG_NDELAY|LOG_PID, LOG_LPR );
+    set_processname(p);
+    syslog_setup(log_debug, logtype_default, logoption_ndelay|logoption_pid, logfacility_lpr );
 #endif /* ultrix */
 
-    syslog( LOG_INFO, "restart (%s)", version );
+    LOG(log_info, logtype_papd, "restart (%s)", version );
 
     for ( pr = printers; pr; pr = pr->p_next ) {
        if (( pr->p_flags & P_SPOOLED ) && rprintcap( pr ) < 0 ) {
-           syslog( LOG_ERR, "printcap problem: %s", pr->p_printer );
+           LOG(log_error, logtype_papd, "printcap problem: %s", pr->p_printer );
        }
        if (( pr->p_atp = atp_open( ATADDR_ANYPORT, &pr->p_addr )) == NULL ) {
-           syslog( LOG_ERR, "atp_open: %m" );
+           LOG(log_error, logtype_papd, "atp_open: %m" );
            papd_exit( 1 );
        }
        if ( nbp_rgstr( atp_sockaddr( pr->p_atp ), pr->p_name, pr->p_type,
                pr->p_zone ) < 0 ) {
-           syslog( LOG_ERR, "can't register %s:%s@%s", pr->p_name, pr->p_type,
+           LOG(log_error, logtype_papd, "can't register %s:%s@%s", pr->p_name, pr->p_type,
                    pr->p_zone );
            die( 1 );
        }
        if ( pr->p_flags & P_AUTH ) {
-               syslog( LOG_INFO, "Authentication enabled: %s", pr->p_name );
+               LOG(log_info, logtype_papd, "Authentication enabled: %s", pr->p_name );
        }
        else {
-               syslog( LOG_INFO, "Authentication disabled: %s", pr->p_name );
+               LOG(log_info, logtype_papd, "Authentication disabled: %s", pr->p_name );
        }
-       syslog( LOG_INFO, "register %s:%s@%s", pr->p_name, pr->p_type,
+       LOG(log_info, logtype_papd, "register %s:%s@%s", pr->p_name, pr->p_type,
                pr->p_zone );
        pr->p_flags |= P_REGISTERED;
     }
@@ -306,7 +309,7 @@ int main( ac, av )
     sigemptyset( &sv.sa_mask );
     sv.sa_flags = SA_RESTART;
     if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
-       syslog( LOG_ERR, "sigaction: %m" );
+       LOG(log_error, logtype_papd, "sigaction: %m" );
        papd_exit( 1 );
     }
 
@@ -314,7 +317,7 @@ int main( ac, av )
     sigemptyset( &sv.sa_mask );
     sv.sa_flags = SA_RESTART;
     if ( sigaction( SIGCHLD, &sv, 0 ) < 0 ) {
-       syslog( LOG_ERR, "sigaction: %m" );
+       LOG(log_error, logtype_papd, "sigaction: %m" );
        papd_exit( 1 );
     }
 
@@ -335,7 +338,7 @@ int main( ac, av )
            if ( errno == EINTR ) {
                continue;
            }
-           syslog( LOG_ERR, "select: %m" );
+           LOG(log_error, logtype_papd, "select: %m" );
            papd_exit( 1 );
        }
 
@@ -359,7 +362,7 @@ int main( ac, av )
                atpb.atp_rreqdata = cbuf;
                atpb.atp_rreqdlen = sizeof( cbuf );
                if ( atp_rreq( pr->p_atp, &atpb ) < 0 ) {
-                   syslog( LOG_ERR, "atp_rreq: %m" );
+                   LOG(log_error, logtype_papd, "atp_rreq: %m" );
                    continue;
                }
 
@@ -375,7 +378,7 @@ int main( ac, av )
                    rbuf[ 2 ] = rbuf[ 3 ] = 0;
 
                    if (( pr->p_flags & P_SPOOLED ) && rprintcap( pr ) != 0 ) {
-                       syslog( LOG_ERR, "printcap problem: %s",
+                       LOG(log_error, logtype_papd, "printcap problem: %s",
                                pr->p_printer );
                        rbuf[ 2 ] = rbuf[ 3 ] = 0xff;
                        err = 1;
@@ -388,7 +391,7 @@ int main( ac, av )
                     */
                    if (( atp = atp_open( ATADDR_ANYPORT, 
                                          &pr->p_addr)) == NULL ) {
-                       syslog( LOG_ERR, "atp_open: %m" );
+                       LOG(log_error, logtype_papd, "atp_open: %m" );
                        rbuf[ 2 ] = rbuf[ 3 ] = 0xff;
                        err = 1;
                    }
@@ -404,7 +407,7 @@ int main( ac, av )
                     * This may error out if we lose a route, so we won't die().
                     */
                    if ( atp_sresp( pr->p_atp, &atpb ) < 0 ) {
-                       syslog( LOG_ERR, "atp_sresp: %m" );
+                       LOG(log_error, logtype_papd, "atp_sresp: %m" );
                        continue;
                    }
 
@@ -414,7 +417,7 @@ int main( ac, av )
 
                    switch ( c = fork()) {
                    case -1 :
-                       syslog( LOG_ERR, "fork: %m" );
+                       LOG(log_error, logtype_papd, "fork: %m" );
                        continue;
 
                    case 0 : /* child */
@@ -422,7 +425,7 @@ int main( ac, av )
 
                        if (( printer->p_flags & P_SPOOLED ) &&
                                chdir( printer->p_spool ) < 0 ) {
-                           syslog( LOG_ERR, "chdir %s: %m", printer->p_spool );
+                           LOG(log_error, logtype_papd, "chdir %s: %m", printer->p_spool );
                            exit( 1 );
                        }
 
@@ -430,7 +433,7 @@ int main( ac, av )
                        sigemptyset( &sv.sa_mask );
                        sv.sa_flags = SA_RESTART;
                        if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
-                           syslog( LOG_ERR, "sigaction: %m" );
+                           LOG(log_error, logtype_papd, "sigaction: %m" );
                            exit( 1 );
                        }
 
@@ -439,14 +442,14 @@ int main( ac, av )
                        }
                        sat.sat_port = sock;
                        if ( session( atp, &sat ) < 0 ) {
-                           syslog( LOG_ERR, "bad session" );
+                           LOG(log_error, logtype_papd, "bad session" );
                            exit( 1 );
                        }
                        exit( 0 );
                        break;
 
                    default : /* parent */
-                       syslog( LOG_INFO, "child %d for \"%s\" from %u.%u",
+                       LOG(log_info, logtype_papd, "child %d for \"%s\" from %u.%u",
                                c, pr->p_name, ntohs( sat.sat_addr.s_net ),
                                sat.sat_addr.s_node);
                        atp_close( atp );
@@ -468,12 +471,12 @@ int main( ac, av )
                     * This may error out if we lose a route, so we won't die().
                     */
                    if ( atp_sresp( pr->p_atp, &atpb ) < 0 ) {
-                       syslog( LOG_ERR, "atp_sresp: %m" );
+                       LOG(log_error, logtype_papd, "atp_sresp: %m" );
                    }
                    break;
 
                default :
-                   syslog( LOG_ERR, "Bad request from %u.%u!",
+                   LOG(log_error, logtype_papd, "Bad request from %u.%u!",
                            ntohs( sat.sat_addr.s_net ), sat.sat_addr.s_node );
                    continue;
                    break;
@@ -493,7 +496,7 @@ int main( ac, av )
                 * This may error out if we lose a route, so we won't die().
                 */
                if ( atp_sresp( pr->p_atp, &atpb ) < 0 ) {
-                   syslog( LOG_ERR, "atp_sresp: %m" );
+                   LOG(log_error, logtype_papd, "atp_sresp: %m" );
                }
 #endif /* notdef */
            }
@@ -537,21 +540,23 @@ int getstatus( pr, buf )
 }
 
 char   *pgetstr();
-char   *getpname();
+char   *getpname(char **area, int bufsize);
+
+#define PF_CONFBUFFER  1024
 
-void getprinters( cf )
+static void getprinters( cf )
     char       *cf;
 {
-    char               buf[ 1024 ], area[ 1024 ], *a, *p, *name, *type, *zone;
+    char               buf[ PF_CONFBUFFER ], area[ PF_CONFBUFFER ], *a, *p, *name, *type, *zone;
     struct printer     *pr;
     int                        c;
 
-    while (( c = getprent( cf, buf )) > 0 ) {
+    while (( c = getprent( cf, buf, PF_CONFBUFFER )) > 0 ) {
        a = area;
        /*
         * Get the printer's nbp name.
         */
-       if (( p = getpname( &a )) == NULL ) {
+       if (( p = getpname( &a, PF_CONFBUFFER )) == NULL ) {
            fprintf( stderr, "No printer name\n" );
            exit( 1 );
        }
@@ -705,7 +710,7 @@ int rprintcap( pr )
      */
     if ( pr->p_flags & P_SPOOLED ) {
        if ( pgetent( printcap, buf, pr->p_printer ) != 1 ) {
-           syslog( LOG_ERR, "No such printer: %s", pr->p_printer );
+           LOG(log_error, logtype_papd, "No such printer: %s", pr->p_printer );
            return( -1 );
        }
 
@@ -720,7 +725,7 @@ int rprintcap( pr )
            pr->p_spool = defprinter.p_spool;
        } else {
            if (( pr->p_spool = (char *)malloc( strlen( p ) + 1 )) == NULL ) {
-               syslog( LOG_ERR, "malloc: %m" );
+               LOG(log_error, logtype_papd, "malloc: %m" );
                exit( 1 );
            }
            strcpy( pr->p_spool, p );
@@ -744,7 +749,7 @@ int rprintcap( pr )
            } else {
                if (( pr->p_role =
                        (char *)malloc( strlen( p ) + 1 )) == NULL ) {
-                   syslog( LOG_ERR, "malloc: %m" );
+                   LOG(log_error, logtype_papd, "malloc: %m" );
                    exit( 1 );
                }
                strcpy( pr->p_role, p );
@@ -770,7 +775,7 @@ int rprintcap( pr )
        if (( p = pgetstr( "pc", &a )) != NULL ) {
            if (( pr->p_pagecost_msg =
                    (char *)malloc( strlen( p ) + 1 )) == NULL ) {
-               syslog( LOG_ERR, "malloc: %m" );
+               LOG(log_error, logtype_papd, "malloc: %m" );
                exit( 1 );
            }
            strcpy( pr->p_pagecost_msg, p );
@@ -795,7 +800,7 @@ int rprintcap( pr )
            pr->p_lock = defprinter.p_lock;
        } else {
            if (( pr->p_lock = (char *)malloc( strlen( p ) + 1 )) == NULL ) {
-               syslog( LOG_ERR, "malloc: %m" );
+               LOG(log_error, logtype_papd, "malloc: %m" );
                exit( 1 );
            }
            strcpy( pr->p_lock, p );