#undef AFS
#undef BSD4_4
#undef CNID_DB
+#undef DISABLE_LOGGER
+#undef LOGFILEPATH
#undef DEBUG
#undef DLSYM_PREPEND_UNDERSCORE
#undef DID_MTAB
/*
- * $Id: asingle.c,v 1.6 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: asingle.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#endif /* HAVE_FCNTL_H */
#include <time.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <ctype.h>
#include <stdio.h>
#ifdef HAVE_UNISTD_H
/*
- * $Id: hqx.c,v 1.8 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: hqx.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <ctype.h>
#include <stdio.h>
#include <atalk/adouble.h>
/*
- * $Id: macbin.c,v 1.8 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: macbin.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#endif /* HAVE_UNISTD_H */
#include <string.h>
#include <strings.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <ctype.h>
#include <stdio.h>
#include <time.h>
/*
- * $Id: megatron.c,v 1.6 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: megatron.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <ctype.h>
#include <stdio.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netatalk/endian.h>
#include "asingle.h"
#include "megatron.h"
/*
- * $Id: nad.c,v 1.8 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: nad.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <errno.h>
#include <stdio.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <dirent.h>
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
-dnl $Id: configure.in,v 1.144 2001-12-16 18:37:57 srittau Exp $
+dnl $Id: configure.in,v 1.145 2002-01-04 04:45:46 sibaz Exp $
dnl configure.in for netatalk
AC_INIT(bin/adv1tov2/adv1tov2.c)
)
AC_ARG_WITH(pkgconfdir,
- [ --with-pkgconfdir=DIR package specific configuration in DIR
+ [ --with-pkgconfdir=DIR package specific configuration in DIR
[[SYSCONF/netatalk]]],
- PKGCONFDIR="$withval",
- PKGCONFDIR="${sysconfdir}/netatalk"
+ PKGCONFDIR="$withval",
+ PKGCONFDIR="${sysconfdir}/netatalk"
+)
+
+AC_ARG_WITH(logfile,
+ [ --with-logfile=PATH path for file used by logger [/var/log/netatalk.log]
+ use --without-logfile to disable logger],
+ if test "$withval" = "no"; then
+ AC_DEFINE(DISABLE_LOGGER, 1)
+ AC_MSG_RESULT([logger disabled])
+ elif test "$withval" != "yes"; then
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, $withval)
+ AC_MSG_RESULT([logfile set to $withval])
+ else
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+ AC_MSG_RESULT([logfile set to default])
+ fi,
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+ AC_MSG_RESULT([logfile set to default])
)
AC_ARG_WITH(cracklib,
/*
- * $Id: timelord.c,v 1.6 2001-08-30 13:14:53 srittau Exp $
+ * $Id: timelord.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1992 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_SGTTY_H */
#include <errno.h>
#include <signal.h>
-#include <syslog.h>
+#pragma warn "testing 123"
+#include <atalk/logger.h>
#include <stdio.h>
#include <string.h>
#ifdef HAVE_NETDB_H
goaway(int signal)
{
if ( nbp_unrgstr( server, "TimeLord", "*", NULL ) < 0 ) {
- syslog( LOG_ERR, "Can't unregister %s", server );
+ LOG(log_error, logtype_default, "Can't unregister %s", server );
exit( 1 );
}
- syslog( LOG_INFO, "going down" );
+ LOG(log_info, logtype_default, "going down" );
exit( 0 );
}
#ifdef ultrix
openlog( p, LOG_PID );
#else /* ultrix */
- openlog( p, LOG_NDELAY|LOG_PID, LOG_DAEMON );
+ set_processname(p);
+ syslog_setup(log_debug, logtype_default, logoption_ndelay|logoption_pid, logfacility_daemon );
#endif /* ultrix */
/* allocate memory */
memset (&sat.sat_addr, 0, sizeof (sat.sat_addr));
if (( atp = atp_open( ATADDR_ANYPORT, &sat.sat_addr )) == NULL ) {
- syslog( LOG_ERR, "main: atp_open: %s", strerror( errno ) );
+ LOG(log_error, logtype_default, "main: atp_open: %s", strerror( errno ) );
exit( 1 );
}
if ( nbp_rgstr( atp_sockaddr( atp ), server, "TimeLord", "*" ) < 0 ) {
- syslog( LOG_ERR, "Can't register %s", server );
+ LOG(log_error, logtype_default, "Can't register %s", server );
exit( 1 );
}
- syslog( LOG_INFO, "%s:TimeLord started", server );
+ LOG(log_info, logtype_default, "%s:TimeLord started", server );
signal(SIGHUP, goaway);
signal(SIGTERM, goaway);
bzero( &sat, sizeof( struct sockaddr_at ));
atpb.atp_rreqdlen = sizeof( buf );
if ( atp_rreq( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "main: atp_rreq: %s", strerror( errno ) );
+ LOG(log_error, logtype_default, "main: atp_rreq: %s", strerror( errno ) );
exit( 1 );
}
if ( atpb.atp_rreqdlen > 5 ) {
bcopy( p + 1, &mtime, sizeof( long ));
mtime = ntohl( mtime );
- syslog( LOG_INFO, "gettime from %s %s was %lu",
+ LOG(log_info, logtype_default, "gettime from %s %s was %lu",
(*( p + 5 ) == '\0' ) ? "<unknown>" : p + 5,
( *p == 0 ) ? "at boot" : "in chooser",
mtime );
} else {
- syslog( LOG_INFO, "gettime" );
+ LOG(log_info, logtype_default, "gettime" );
}
if ( gettimeofday( &tv, &tz ) < 0 ) {
- syslog( LOG_ERR, "main: gettimeofday: %s", strerror( errno ) );
+ LOG(log_error, logtype_default, "main: gettimeofday: %s", strerror( errno ) );
exit( 1 );
}
if (( tm = gmtime( &tv.tv_sec )) == 0 ) {
break;
default :
- syslog( LOG_ERR, bad );
+ LOG(log_error, logtype_default, bad );
resp = TL_BAD;
bcopy( &resp, buf, sizeof( long ));
atpb.atp_sresiov = &iov;
atpb.atp_sresiovcnt = 1;
if ( atp_sresp( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "main: atp_sresp: %s", strerror( errno ) );
+ LOG(log_error, logtype_default, "main: atp_sresp: %s", strerror( errno ) );
exit( 1 );
}
}
--- /dev/null
+
+=============================================================================
+ The logger
+
+This document explains the function and hence api of libatalk/util/logger.c
+it was written on 4th January 2002, by Simon Bazley (sibaz@sibaz.com)
+
+=============================================================================
+
+
+The logger was written to provide a means of storing log messages relating to
+netatalk in a file rather than using the syslog facility. The feature list
+was increased to include a number of ideas culminating in the current code.
+
+-----------------------------------------------------------------------------
+ Feature list
+
+1) logging to syslog (old behaviour).
+2) logging the file name and line number of the caller.
+3) logging to a file.
+4) allowing callers to specify what logical area of code the log comes from.
+4) maintaining different log levels for different logical areas of code.
+5) logging separate files for separate areas if required.
+
+-----------------------------------------------------------------------------
+ Method
+
+The logger works by storing an array of data containers each responsible for
+logging to a single file.
+Initally the array is initalised containing NULL references to the data,
+except for the zeroth position with contains the defaults (default data is
+statically defined in the logger code, but can be overridden easily).
+As calls are made to the log_setup and syslog_setup functions with unused
+code area references, new memory is allocated then a pointer to that memory
+stored in the array. It is intended that all data containers are setup and
+initialised early on in the program life cycle. There is no means to erase
+initialised data containers other than by calling the log_close function,
+which should only be done after the last log messages has been sent. Logger
+behaviour is unspecified after log_close has been called.
+
+=============================================================================
+ API Functions
+=============================================================================
+
+-----------------------------------------------------------------------------
+ void log_init();
+Log_init allocates and zeros memory for the global data containers, then
+sets up then copies the statically defined default loggers into the zero
+position. It is called by both of the setup functions and will only do
+anything if the global data hasn't already been initialised.
+Its only made externally accessibly for completeness, and need never be used.
+
+-----------------------------------------------------------------------------
+ bool log_setup(char *filename, enum loglevels loglevel,
+ enum logtypes logtype, int display_options);
+log_setup specifies the filename and the loglevel that should be used when
+logging logs with the specified logtype. The display_options indicate what
+system stuff should be prepended to each line in the log file, in the same
+way as the parameters in an openlog call. The options defined in the logger.h
+file correspond to equivalents in the syslog.h file. The values they represent
+are equivalent in both files, but should not be assumed.
+Some logoptions not in syslog have been added, see logger.h for details.
+
+-----------------------------------------------------------------------------
+ void syslog_setup(enum loglevels loglevel, enum logtypes logtype,
+ int display_options, int facility);
+syslog_setup is equivalent to the log_setup call but setups data to log to the
+syslogger for the area specified instead of a file. syslog_setup will call
+openlog for each call to syslog_setup. The facility parameter is stored, but
+used purely in this call to openlog. I assume it you call syslog_setup
+multiple times with different values for display_options and facility, only the
+last call is used. Refer to syslog(3) for more details.
+The display options are global and are only stored once regardless of the
+logtype. The value is only used by the logger used in-so-far-as the option is
+not a feature of the syslogger.
+The loglevel of the given logtype is stored even though the syslogger is used.
+The loglevel passed to each call to LOG is translated before being sent to the
+syslogger. The assumtion is that a log_severe (for example) applies only to
+netatalk and hence should not be translated to LOG_CRIT, but instead LOG_ERR
+is used. (this translation is implemented in the function at the end of the
+logger.c file. This means should you want to you could log debug messages to
+the syslogger without having to alter the syslogger for every other
+application.
+Some logoptions not in syslog have been added, see logger.h for details.
+
+-----------------------------------------------------------------------------
+ void log_close();
+log_close simply frees up all the memory and closes any open files. Ideally
+you could then recall log_setup and start again, but I think its too permanent
+for that. This also closes up the syslogger.
+
+-----------------------------------------------------------------------------
+ void set_processname(char *processname);
+set_processname stores the name of the funning process for use in identifying
+the caller in each line in the log. This is equivalent to the parameter used
+in the call to openlog, but since it is global for the process it seemed
+sensible to separate it from every log_setup call.
+
+-----------------------------------------------------------------------------
+ make_log_func set_log_location(char *srcfilename, int srclinenumber);
+This sets up the temporary variables indicating the caller name and line number
+logged in calls to make_log_entry. The return value is a pointer to the
+make_log_entry function, thus enabling a single command to call both functions,
+hidden behind a macro (the LOG macro, see later).
+
+-----------------------------------------------------------------------------
+ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
+ char *message, ...);
+make_log_entry is an equivalent function to syslog except for the logtype
+parameter. The logtype given indicates which area of code the call has come
+from and is used to determine which log_setup call is used to log the message.
+
+-----------------------------------------------------------------------------
+ void load_proccessname_from_proc();
+This function can be called instead of set_processname, to determine the
+processname from the /proc file system instead of from a given parameter. This
+probably only works on linux, but is included because it was the original
+method used to get the procname.
+
+-----------------------------------------------------------------------------
+ LOG Macro
+This is actually defined as a call to set_log_location with parameters
+__FILE__ and __LINE__. This returns a pointer to the make_log_entry function
+which is then what the compiler will use to pass the given parameters to.
+What this means on the face of it is the LOG Macro can be considered to be this
+ void LOG(enum loglevels loglevel, enum logtypes logtype,
+ char *message, ...);
+
+-----------------------------------------------------------------------------
+ LogTypes
+logtypes have been mentioned earlier. They specify the logical area of the
+code that a log call has come from. This information is then used in a
+number of ways (see earlier).
+logtypes is infact an enum defined in the logger.h file. To add a new
+logtype for a new area of code, add a new item to the logtypes enum, and a
+corresponding string to the LOGTYPE_STRING_IDENTIFIERS macro.
+The string identifier is used as part of the message string for each log
+message.
+
+=============================================================================
+ API in brief
+=============================================================================
+-----------------------------------------------------------------------------
+ SyslogSetup in brief
+To setup the logger for use in a new application, call set_processname with
+the proccess's name, then call syslog_setup with your prefered default loglevel
+and the default logtype (logtype_default). The display_options and facility
+are dependant on how you choose to display your logs.
+
+For Example:
+
+set_processname("afpd");
+syslog_setup(log_debug, logtype_default, logoption_ndelay | logoption_pid,
+ logfacility_daemon);
+
+this sets the default loglevel to debug and the display options to include the
+pid with the each log message. The syslogger is told the application is of
+type LOG_DAEMON
+Make further calls to syslog_setup if other logtypes should have a different
+loglevel.
+
+-----------------------------------------------------------------------------
+ LogSetup in brief
+Logsetup is similar to syslogsetup except multiple calls are more common.
+First setup the filename and loglevel for the default logtype then call
+log_setup with the filename and loglevel for any logtypes that should take
+nondefault parameters. A NULL filename indicates that the default filename
+should be used (this removes the need to store multiple instances of the same string).
+
+For Example:
+
+log_setup("/var/log/netatalk.log", log_debug, logtype_default,
+ logoption_ndelay | logoption_pid);
+
+-----------------------------------------------------------------------------
+ Logging in brief
+Logging is very similar to using the syslogger, just call the LOG macro in
+your code with the level of that log message, and the area of code it applies
+to (or logtype_default if you can't think of one), and a message. The message
+is passed with identical parameters to that in an sprintf statement. Give a
+format string as first parameter, then any variables in that string as extra
+parameters.
+The logger will only log the message if the loglevel given is more severe
+(lower in value) than that given in the call to logsetup for the given logtype
+(or default logtype if your given one is uninitialised).
+
+For Example:
+
+ LOG(log_info, logtype_logger, "Logger %d setup complete", n);
+
+
/*
- * $Id: afp_asp.c,v 1.8 2001-12-10 20:16:53 srittau Exp $
+ * $Id: afp_asp.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* Copyright (c) 1990,1993 Regents of The University of Michigan.
#include <stdlib.h>
#include <string.h>
#include <signal.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
(*obj->logout)();
asp_close( asp );
- syslog(LOG_INFO, "%.2fKB read, %.2fKB written",
+ LOG(log_info, logtype_default, "%.2fKB read, %.2fKB written",
asp->read_count / 1024.0, asp->write_count / 1024.0);
}
asp_attention(asp, AFPATTN_SHUTDOWN);
if ( asp_shutdown( asp ) < 0 ) {
- syslog( LOG_ERR, "afp_die: asp_shutdown: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_die: asp_shutdown: %s", strerror(errno) );
}
afp_asp_close(child);
it.it_value.tv_sec = 300;
it.it_value.tv_usec = 0;
if ( setitimer( ITIMER_REAL, &it, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_timedown: setitimer: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_timedown: setitimer: %s", strerror(errno) );
afp_asp_die(1);
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGALRM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_timedown: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_timedown: sigaction: %s", strerror(errno) );
afp_asp_die(1);
}
}
sigemptyset( &action.sa_mask );
action.sa_flags = SA_RESTART;
if ( sigaction( SIGHUP, &action, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_over_asp: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_over_asp: sigaction: %s", strerror(errno) );
afp_asp_die(1);
}
sigemptyset( &action.sa_mask );
action.sa_flags = SA_RESTART;
if ( sigaction( SIGTERM, &action, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_over_asp: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_over_asp: sigaction: %s", strerror(errno) );
afp_asp_die(1);
}
- syslog( LOG_INFO, "session from %u.%u:%u on %u.%u:%u",
+ LOG(log_info, logtype_default, "session from %u.%u:%u on %u.%u:%u",
ntohs( asp->asp_sat.sat_addr.s_net ),
asp->asp_sat.sat_addr.s_node, asp->asp_sat.sat_port,
ntohs( atp_sockaddr( asp->asp_atp )->sat_addr.s_net ),
if(stat(addr_filename, &cap_st) == 0) {
if(unlink(addr_filename) == 0) {
- syslog(LOG_INFO, "removed %s", addr_filename);
+ LOG(log_info, logtype_default, "removed %s", addr_filename);
} else {
- syslog(LOG_INFO, "error removing %s: %s",
+ LOG(log_info, logtype_default, "error removing %s: %s",
addr_filename, strerror(errno));
}
} else {
- syslog(LOG_INFO, "error stat'ing %s: %s",
+ LOG(log_info, logtype_default, "error stat'ing %s: %s",
addr_filename, strerror(errno));
}
}
afp_asp_close(obj);
- syslog( LOG_INFO, "done" );
+ LOG(log_info, logtype_default, "done" );
if ( obj->options.flags & OPTION_DEBUG ) {
printf( "done\n" );
#ifdef AFS
if ( writtenfork ) {
if ( flushfork( writtenfork ) < 0 ) {
- syslog( LOG_ERR, "main flushfork: %m" );
+ LOG(log_error, logtype_default, "main flushfork: %m" );
}
writtenfork = NULL;
}
asp->commands, asp->cmdlen,
asp->data, &asp->datalen);
} else {
- syslog( LOG_ERR, "bad function %X", func );
+ LOG(log_error, logtype_default, "bad function %X", func );
asp->datalen = 0;
reply = AFPERR_NOOP;
}
}
if ( asp_cmdreply( asp, reply ) < 0 ) {
- syslog( LOG_ERR, "asp_cmdreply: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "asp_cmdreply: %s", strerror(errno) );
afp_asp_die(1);
}
break;
asp->commands, asp->cmdlen,
asp->data, &asp->datalen);
} else {
- syslog( LOG_ERR, "(write) bad function %X", func );
+ LOG(log_error, logtype_default, "(write) bad function %X", func );
asp->datalen = 0;
reply = AFPERR_NOOP;
}
bprint( asp->data, asp->datalen );
}
if ( asp_wrtreply( asp, reply ) < 0 ) {
- syslog( LOG_ERR, "asp_wrtreply: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "asp_wrtreply: %s", strerror(errno) );
afp_asp_die(1);
}
break;
* Bad asp packet. Probably should have asp filter them,
* since they are typically things like out-of-order packet.
*/
- syslog( LOG_INFO, "main: asp_getrequest: %d", reply );
+ LOG(log_info, logtype_default, "main: asp_getrequest: %d", reply );
break;
}
/*
- * $Id: afp_config.c,v 1.13 2001-12-16 19:45:17 jmarcus Exp $
+ * $Id: afp_config.c,v 1.14 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#include <ctype.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/socket.h>
#include <netinet/in.h>
SLPHandle hslp;
err = SLPOpen("en", SLP_FALSE, &hslp);
if (err != SLP_OK) {
- syslog(LOG_ERR, "dsi_cleanup: Error opening SRVLOC handle");
+ LOG(log_error, logtype_default, "dsi_cleanup: Error opening SRVLOC handle");
goto srvloc_dereg_err;
}
SRVLOC_callback,
&callbackerr);
if (err != SLP_OK) {
- syslog(LOG_ERR, "dsi_cleanup: Error unregistering %s from SRVLOC", srvloc_url);
+ LOG(log_error, logtype_default, "dsi_cleanup: Error unregistering %s from SRVLOC", srvloc_url);
goto srvloc_dereg_err;
}
if (callbackerr != SLP_OK) {
- syslog(LOG_ERR, "dsi_cleanup: Error in callback while trying to unregister %s from SRVLOC (%d)", srvloc_url, callbackerr);
+ LOG(log_error, logtype_default, "dsi_cleanup: Error in callback while trying to unregister %s from SRVLOC (%d)", srvloc_url, callbackerr);
goto srvloc_dereg_err;
}
if (!(asp = asp_getsession(config->obj.handle, server_children,
config->obj.options.tickleval))) {
- syslog( LOG_ERR, "main: asp_getsession: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: asp_getsession: %s", strerror(errno) );
exit( 1 );
}
if (!(dsi = dsi_getsession(config->obj.handle, server_children,
config->obj.options.tickleval))) {
- syslog( LOG_ERR, "main: dsi_getsession: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: dsi_getsession: %s", strerror(errno) );
exit( 1 );
}
return NULL;
if ((atp = atp_open(ATADDR_ANYPORT, &options->ddpaddr)) == NULL) {
- syslog( LOG_ERR, "main: atp_open: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: atp_open: %s", strerror(errno) );
free(config);
return NULL;
}
if ((asp = asp_init( atp )) == NULL) {
- syslog( LOG_ERR, "main: asp_init: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: asp_init: %s", strerror(errno) );
atp_close(atp);
free(config);
return NULL;
/* register asp server */
Obj = (char *) options->hostname;
if (nbp_name(options->server, &Obj, &Type, &Zone )) {
- syslog( LOG_ERR, "main: can't parse %s", options->server );
+ LOG(log_error, logtype_default, "main: can't parse %s", options->server );
goto serv_free_return;
}
/* make sure we're not registered */
nbp_unrgstr(Obj, Type, Zone, &options->ddpaddr);
if (nbp_rgstr( atp_sockaddr( atp ), Obj, Type, Zone ) < 0 ) {
- syslog( LOG_ERR, "Can't register %s:%s@%s", Obj, Type, Zone );
+ LOG(log_error, logtype_default, "Can't register %s:%s@%s", Obj, Type, Zone );
free(config->obj.Obj);
free(config->obj.Type);
free(config->obj.Zone);
goto serv_free_return;
}
- syslog( LOG_INFO, "%s:%s@%s started on %u.%u:%u (%s)", Obj, Type, Zone,
+ LOG(log_info, logtype_default, "%s:%s@%s started on %u.%u:%u (%s)", Obj, Type, Zone,
ntohs( atp_sockaddr( atp )->sat_addr.s_net ),
atp_sockaddr( atp )->sat_addr.s_node,
atp_sockaddr( atp )->sat_port, VERSION );
#endif /* USE_SRVLOC */
if ((config = (AFPConfig *) calloc(1, sizeof(AFPConfig))) == NULL) {
- syslog( LOG_ERR, "DSIConfigInit: malloc(config): %s", strerror(errno) );
+ LOG(log_error, logtype_default, "DSIConfigInit: malloc(config): %s", strerror(errno) );
return NULL;
}
options->ipaddr, options->port,
options->flags & OPTION_PROXY,
options->server_quantum)) == NULL) {
- syslog( LOG_ERR, "main: dsi_init: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: dsi_init: %s", strerror(errno) );
free(config);
return NULL;
}
if (options->flags & OPTION_PROXY) {
- syslog(LOG_INFO, "ASIP proxy initialized for %s:%d (%s)",
+ LOG(log_info, logtype_default, "ASIP proxy initialized for %s:%d (%s)",
inet_ntoa(dsi->server.sin_addr), ntohs(dsi->server.sin_port),
VERSION);
} else {
- syslog(LOG_INFO, "ASIP started on %s:%d(%d) (%s)",
+ LOG(log_info, logtype_default, "ASIP started on %s:%d(%d) (%s)",
inet_ntoa(dsi->server.sin_addr), ntohs(dsi->server.sin_port),
dsi->serversock, VERSION);
}
#ifdef USE_SRVLOC
err = SLPOpen("en", SLP_FALSE, &hslp);
if (err != SLP_OK) {
- syslog(LOG_ERR, "DSIConfigInit: Error opening SRVLOC handle");
+ LOG(log_error, logtype_default, "DSIConfigInit: Error opening SRVLOC handle");
goto srvloc_reg_err;
}
* show up int the Network Browser. */
afpovertcp = getservbyname("afpovertcp", "tcp");
if (strlen(options->hostname) > (sizeof(srvloc_url) - strlen(inet_ntoa(dsi->server.sin_addr)) - 21)) {
- syslog(LOG_ERR, "DSIConfigInit: Hostname is too long for SRVLOC");
+ LOG(log_error, logtype_default, "DSIConfigInit: Hostname is too long for SRVLOC");
goto srvloc_reg_err;
}
if (dsi->server.sin_port == afpovertcp->s_port) {
SRVLOC_callback,
&callbackerr);
if (err != SLP_OK) {
- syslog(LOG_ERR, "DSIConfigInit: Error registering %s with SRVLOC", srvloc_url);
+ LOG(log_error, logtype_default, "DSIConfigInit: Error registering %s with SRVLOC", srvloc_url);
goto srvloc_reg_err;
}
if (callbackerr != SLP_OK) {
- syslog(LOG_ERR, "DSIConfigInit: Error in callback trying to register %s with SRVLOC", srvloc_url);
+ LOG(log_error, logtype_default, "DSIConfigInit: Error in callback trying to register %s with SRVLOC", srvloc_url);
goto srvloc_reg_err;
}
- syslog(LOG_INFO, "Sucessfully registered %s with SRVLOC", srvloc_url);
+ LOG(log_info, logtype_default, "Sucessfully registered %s with SRVLOC", srvloc_url);
srvloc_reg_err:
SLPClose(hslp);
if ((refcount = (unsigned char *)
calloc(1, sizeof(unsigned char))) == NULL) {
- syslog( LOG_ERR, "AFPConfigInit: calloc(refcount): %s", strerror(errno) );
+ LOG(log_error, logtype_default, "AFPConfigInit: calloc(refcount): %s", strerror(errno) );
return NULL;
}
/*
- * $Id: afp_dsi.c,v 1.15 2002-01-03 17:29:10 sibaz Exp $
+ * $Id: afp_dsi.c,v 1.16 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* Copyright (c) 1990,1993 Regents of The University of Michigan.
#endif /* HAVE_SYS_STAT_H */
#include <netinet/in.h>
#include <arpa/inet.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/dsi.h>
#include <atalk/compat.h>
dsi_close(dsi);
/* UAM had syslog control; afpd needs to reassert itself */
- openlog( "afpd", LOG_NDELAY|LOG_PID, LOG_DAEMON);
- syslog(LOG_INFO, "%.2fKB read, %.2fKB written",
+ set_processname("afpd");
+ syslog_setup(log_debug, logtype_default, logoption_ndelay | logoption_pid, logfacility_daemon);
+ LOG(log_info, logtype_default, "%.2fKB read, %.2fKB written",
dsi->read_count/1024.0, dsi->write_count/1024.0);
}
afp_dsi_close(child.obj);
if (sig) /* if no signal, assume dieing because logins are disabled &
don't log it (maintenance mode)*/
- syslog(LOG_INFO, "Connection terminated");
+ LOG(log_info, logtype_default, "Connection terminated");
if (sig == SIGTERM || sig == SIGALRM) {
exit( 0 );
}
it.it_value.tv_sec = 300;
it.it_value.tv_usec = 0;
if ( setitimer( ITIMER_REAL, &it, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_timedown: setitimer: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_timedown: setitimer: %s", strerror(errno) );
afp_dsi_die(1);
}
sigaddset(&sv.sa_mask, SIGTERM);
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGALRM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_timedown: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_timedown: sigaction: %s", strerror(errno) );
afp_dsi_die(1);
}
}
if ((child.flags & CHILD_RUNNING) || (child.tickle++ < child.obj->options.timeout)) {
dsi_tickle(child.obj->handle);
} else { /* didn't receive a tickle. close connection */
- syslog(LOG_ERR, "afp_alarm: child timed out");
+ LOG(log_error, logtype_default, "afp_alarm: child timed out");
afp_dsi_die(1);
}
}
sigaddset(&action.sa_mask, SIGTERM);
action.sa_flags = SA_RESTART;
if ( sigaction( SIGHUP, &action, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_over_dsi: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_over_dsi: sigaction: %s", strerror(errno) );
afp_dsi_die(1);
}
sigaddset(&action.sa_mask, SIGHUP);
action.sa_flags = SA_RESTART;
if ( sigaction( SIGTERM, &action, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_over_dsi: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_over_dsi: sigaction: %s", strerror(errno) );
afp_dsi_die(1);
}
sigaddset(&action.sa_mask, SIGUSR2);
action.sa_flags = SA_RESTART;
if ( sigaction( SIGUSR2, &action, 0) < 0 ) {
- syslog( LOG_ERR, "afp_over_dsi: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_over_dsi: sigaction: %s", strerror(errno) );
afp_dsi_die(1);
}
#endif /* SERVERTEXT */
switch(cmd) {
case DSIFUNC_CLOSE:
afp_dsi_close(obj);
- syslog(LOG_INFO, "done");
+ LOG(log_info, logtype_default, "done");
if (obj->options.flags & OPTION_DEBUG )
printf("done\n");
return;
#ifdef AFS
if ( writtenfork ) {
if ( flushfork( writtenfork ) < 0 ) {
- syslog( LOG_ERR, "main flushfork: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main flushfork: %s", strerror(errno) );
}
writtenfork = NULL;
}
dsi->data, &dsi->datalen);
child.flags &= ~CHILD_RUNNING;
} else {
- syslog(LOG_ERR, "bad function %X", function);
+ LOG(log_error, logtype_default, "bad function %X", function);
dsi->datalen = 0;
err = AFPERR_NOOP;
}
}
if (!dsi_cmdreply(dsi, err)) {
- syslog(LOG_ERR, "dsi_cmdreply(%d): %s", dsi->socket, strerror(errno) );
+ LOG(log_error, logtype_default, "dsi_cmdreply(%d): %s", dsi->socket, strerror(errno) );
afp_dsi_die(1);
}
break;
dsi->data, &dsi->datalen);
child.flags &= ~CHILD_RUNNING;
} else {
- syslog( LOG_ERR, "(write) bad function %x", function);
+ LOG(log_error, logtype_default, "(write) bad function %x", function);
dsi->datalen = 0;
err = AFPERR_NOOP;
}
}
if (!dsi_wrtreply(dsi, err)) {
- syslog( LOG_ERR, "dsi_wrtreply: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "dsi_wrtreply: %s", strerror(errno) );
afp_dsi_die(1);
}
break;
* between server and client. if things are correct,
* we need to flush the rest of the packet if necessary. */
default:
- syslog(LOG_INFO,"afp_dsi: spurious command %d", cmd);
+ LOG(log_info, logtype_default,"afp_dsi: spurious command %d", cmd);
dsi_writeinit(dsi, dsi->data, DSI_DATASIZ);
dsi_writeflush(dsi);
break;
/*
- * $Id: afp_options.c,v 1.15 2001-12-15 06:25:44 jmarcus Exp $
+ * $Id: afp_options.c,v 1.16 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* Copyright (c) 1990,1993 Regents of The University of Michigan.
#endif /* HAVE_UNISTD_H */
#include <sys/param.h>
#include <sys/socket.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netinet/in.h>
#include <arpa/inet.h>
struct in_addr inaddr;
if (inet_aton(c, &inaddr) && (opt = strdup(c))) {
if (!gethostbyaddr((const char *) &inaddr, sizeof(inaddr), AF_INET))
- syslog(LOG_INFO, "WARNING: can't find %s\n", opt);
+ LOG(log_info, logtype_default, "WARNING: can't find %s\n", opt);
options->ipaddr = opt;
}
}
}
#ifdef ultrix
- openlog( p, LOG_PID );
+ openlog( p, LOG_PID ); /* ultrix only */
#else /* ultrix */
- openlog( p, LOG_NDELAY|LOG_PID, LOG_DAEMON);
+ set_processname(p);
+ syslog_setup(log_debug, logtype_default, logoption_ndelay|logoption_pid, logfacility_daemon);
#endif /* ultrix */
return 1;
/*
- * $Id: afs.c,v 1.6 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: afs.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
*/
#include <string.h>
#include <sys/types.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netatalk/endian.h>
#include <netinet/in.h>
#include <afs/venus.h>
ucase( realm );
if ( *realm == '\0' ) {
if ( krb_get_lrealm( realm, 1 ) != KSUCCESS ) {
- syslog( LOG_ERR, "krb_get_lrealm failed" );
+ LOG(log_error, logtype_default, "krb_get_lrealm failed" );
return( AFPERR_BADUAM );
}
}
ibuf += len;
newpw[ len ] = '\0';
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"changing password for <%s>.<%s>@<%s>", name, instance, realm );
ka_StringToKey( oldpw, realm, &oldkey );
return( AFPERR_BADUAM );
}
- syslog( LOG_DEBUG, "password changed succeeded" );
+ LOG(log_debug, logtype_default, "password changed succeeded" );
return( AFP_OK );
}
/*
- * $Id: appl.c,v 1.5 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: appl.c,v 1.6 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <netatalk/endian.h>
/*
- * $Id: auth.c,v 1.21 2002-01-03 17:29:10 sibaz Exp $
+ * $Id: auth.c,v 1.22 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <pwd.h>
#include <grp.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef TRU64
#include <netdb.h>
*data++ = num;
while ((uams = uams->uam_prev) != &uam_login) {
if (strstr(authlist, uams->uam_path)) {
- syslog(LOG_INFO, "uam: \"%s\" available", uams->uam_name);
+ LOG(log_info, logtype_default, "uam: \"%s\" available", uams->uam_name);
len = strlen( uams->uam_name);
*data++ = len;
memcpy( data, uams->uam_name, len );
#endif /* ADMIN_GRP */
/* UAM had syslog control; afpd needs to reassert itself */
- openlog( "afpd", LOG_NDELAY|LOG_PID, LOG_DAEMON);
+ set_processname("afpd");
+ syslog_setup(log_debug, logtype_default, logoption_ndelay|logoption_pid, logfacility_daemon);
if ( pwd->pw_uid == 0 ) { /* don't allow root login */
- syslog( LOG_ERR, "login: root login denied!" );
+ LOG(log_error, logtype_default, "login: root login denied!" );
return AFPERR_NOTAUTH;
}
- syslog( LOG_INFO, "login %s (uid %d, gid %d)", pwd->pw_name,
+ LOG(log_info, logtype_default, "login %s (uid %d, gid %d)", pwd->pw_name,
pwd->pw_uid, pwd->pw_gid );
if (obj->proto == AFPPROTO_ASP) {
sprintf(nodename, "%s/net%d.%dnode%d", obj->options.authprintdir,
addr_net / 256, addr_net % 256, addr_node);
- syslog(LOG_INFO, "registering %s (uid %d) on %u.%u as %s",
+ LOG(log_info, logtype_default, "registering %s (uid %d) on %u.%u as %s",
pwd->pw_name, pwd->pw_uid, addr_net, addr_node, nodename);
if (stat(nodename, &stat_buf) == 0) { /* file exists */
fclose(fp);
chown( nodename, pwd->pw_uid, -1 );
} else { /* somebody is messing with us */
- syslog( LOG_ERR, "print authfile %s is not a normal file, it will not be modified", nodename );
+ LOG(log_error, logtype_default, "print authfile %s is not a normal file, it will not be modified", nodename );
}
} else { /* file 'nodename' does not exist */
fp = fopen(nodename, "w");
if (initgroups( pwd->pw_name, pwd->pw_gid ) < 0) {
#ifdef RUN_AS_USER
- syslog(LOG_INFO, "running with uid %d", geteuid());
+ LOG(log_info, logtype_default, "running with uid %d", geteuid());
#else /* RUN_AS_USER */
- syslog(LOG_ERR, "login: %s", strerror(errno));
+ LOG(log_error, logtype_default, "login: %s", strerror(errno));
return AFPERR_BADUAM;
#endif /* RUN_AS_USER */
/* Basically if the user is in the admin group, we stay root */
if (( ngroups = getgroups( NGROUPS, groups )) < 0 ) {
- syslog( LOG_ERR, "login: getgroups: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "login: getgroups: %s", strerror(errno) );
return AFPERR_BADUAM;
}
#ifdef ADMIN_GRP
#ifdef DEBUG
- syslog(LOG_INFO, "obj->options.admingid == %d", obj->options.admingid);
+ LOG(log_info, logtype_default, "obj->options.admingid == %d", obj->options.admingid);
#endif /* DEBUG */
if (obj->options.admingid != 0) {
int i;
if (groups[i] == obj->options.admingid) admin = 1;
}
}
- if (admin) syslog( LOG_INFO, "admin login -- %s", pwd->pw_name );
+ if (admin) LOG(log_info, logtype_default, "admin login -- %s", pwd->pw_name );
if (!admin)
#endif /* DEBUG */
#ifdef TRU64
SIA_BEU_REALLOGIN ) != SIASUCCESS )
return AFPERR_BADUAM;
- syslog( LOG_INFO, "session from %s (%s)", hostname,
+ LOG(log_info, logtype_default, "session from %s (%s)", hostname,
inet_ntoa( dsi->client.sin_addr ) );
if (setegid( pwd->pw_gid ) < 0 || seteuid( pwd->pw_uid ) < 0) {
- syslog( LOG_ERR, "login: %m" );
+ LOG(log_error, logtype_default, "login: %m" );
return AFPERR_BADUAM;
}
}
#else /* TRU64 */
if (setegid( pwd->pw_gid ) < 0 || seteuid( pwd->pw_uid ) < 0) {
- syslog( LOG_ERR, "login: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "login: %s", strerror(errno) );
return AFPERR_BADUAM;
}
#endif /* TRU64 */
char *ibuf, *rbuf;
int ibuflen, *rbuflen;
{
- syslog(LOG_INFO, "logout %s", obj->username);
+ LOG(log_info, logtype_default, "logout %s", obj->username);
obj->exit(0);
return AFP_OK;
}
if ((len + 1) & 1) /* pad byte */
ibuf++;
- syslog(LOG_INFO, "changing password for <%s>", username);
+ LOG(log_info, logtype_default, "changing password for <%s>", username);
if (( pwd = uam_getname( username, sizeof(username))) == NULL )
return AFPERR_PARAM;
ibuflen -= (ibuf - start);
len = uam->u.uam_changepw(obj, username, pwd, ibuf, ibuflen,
rbuf, rbuflen);
- syslog(LOG_INFO, "password change %s.",
+ LOG(log_info, logtype_default, "password change %s.",
(len == AFPERR_AUTHCONT) ? "continued" :
(len ? "failed" : "succeeded"));
return len;
while (p) {
strncpy(name + len, p, sizeof(name) - len);
- syslog(LOG_DEBUG, "uam: loading (%s)", name);
+ LOG(log_debug, logtype_default, "uam: loading (%s)", name);
/*
if ((stat(name, &st) == 0) && (mod = uam_load(name, p))) {
*/
if (stat(name, &st) == 0) {
if ((mod = uam_load(name, p))) {
uam_attach(&uam_modules, mod);
- syslog(LOG_INFO, "uam: %s loaded", p);
+ LOG(log_info, logtype_default, "uam: %s loaded", p);
} else {
- syslog(LOG_INFO, "uam: %s load failure",p);
+ LOG(log_info, logtype_default, "uam: %s load failure",p);
}
} else {
- syslog(LOG_INFO, "uam: uam not found (status=%d)", stat(name, &st));
+ LOG(log_info, logtype_default, "uam: uam not found (status=%d)", stat(name, &st));
}
p = strtok(NULL, ",");
}
/*
- * $Id: codepage.c,v 1.6 2001-12-03 05:03:38 jmarcus Exp $
+ * $Id: codepage.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 2000 Adrian Sun
* All Rights Reserved. See COPYRIGHT.
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netatalk/endian.h>
int fd, i, quantum, rules;
if ((fd = open(path, O_RDONLY)) < 0) {
- syslog(LOG_ERR, "%s: failed to open codepage", path);
+ LOG(log_error, logtype_default, "%s: failed to open codepage", path);
return -1;
}
/* Read the codepage file header. */
if(read(fd, buf, sizeof(buf)) != sizeof(buf)) {
- syslog( LOG_ERR, "%s: failed to read codepage header", path);
+ LOG(log_error, logtype_default, "%s: failed to read codepage header", path);
goto codepage_fail;
}
cur += sizeof(id);
id = ntohs(id);
if (id != CODEPAGE_FILE_ID) {
- syslog( LOG_ERR, "%s: not a codepage", path);
+ LOG(log_error, logtype_default, "%s: not a codepage", path);
goto codepage_fail;
}
/* check the version number */
if (*cur++ != CODEPAGE_FILE_VERSION) {
- syslog( LOG_ERR, "%s: codepage version not supported", path);
+ LOG(log_error, logtype_default, "%s: codepage version not supported", path);
goto codepage_fail;
}
rules = *cur++;
if (codepage_init(vol, rules, quantum) < 0) {
- syslog( LOG_ERR, "%s: Unable to allocate memory", path);
+ LOG(log_error, logtype_default, "%s: Unable to allocate memory", path);
goto codepage_fail;
}
while (read(fd, buf, i) == i) {
if (*buf & CODEPAGE_RULE_MTOU) {
if (add_code(vol->v_mtoupage, buf + 1, buf + 1 + quantum) < 0) {
- syslog(LOG_ERR, "unable to allocate memory for mtoupage");
+ LOG(log_error, logtype_default, "unable to allocate memory for mtoupage");
break;
}
}
if (*buf & CODEPAGE_RULE_UTOM) {
if (add_code(vol->v_utompage, buf + 1 + quantum, buf + 1) < 0) {
- syslog(LOG_ERR, "unable to allocate memory for utompage");
+ LOG(log_error, logtype_default, "unable to allocate memory for utompage");
break;
}
}
/*
- * $Id: desktop.c,v 1.10 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: desktop.c,v 1.11 2002-01-04 04:45:47 sibaz Exp $
*
* See COPYRIGHT.
*/
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/time.h>
*adts = '/';
if (( si.sdt_fd = open( dtf, flags, ad_mode( dtf, mode ))) < 0 ) {
- syslog( LOG_ERR, "iconopen: open %s: %s", dtf, strerror(errno) );
+ LOG(log_error, logtype_default, "iconopen: open %s: %s", dtf, strerror(errno) );
return -1;
}
} else {
if (lseek( si.sdt_fd, (off_t) 0L, SEEK_SET ) < 0) {
close(si.sdt_fd);
si.sdt_fd = -1;
- syslog( LOG_ERR, "afp_addicon: lseek: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_addicon: lseek: %s", strerror(errno) );
cc = AFPERR_PARAM;
goto addicon_err;
}
}
if ( lseek( si.sdt_fd, (off_t) rsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_addicon: lseek: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_addicon: lseek: %s", strerror(errno) );
cc = AFPERR_PARAM;
}
}
*/
addicon_err:
if ( cc < 0 ) {
- syslog( LOG_ERR, "afp_addicon: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_addicon: %s", strerror(errno) );
if (obj->proto == AFPPROTO_DSI) {
dsi_writeinit(obj->handle, rbuf, buflen);
dsi_writeflush(obj->handle);
}
if ( writev( si.sdt_fd, iov, iovcnt ) < 0 ) {
- syslog( LOG_ERR, "afp_addicon: writev: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_addicon: writev: %s", strerror(errno) );
return( AFPERR_PARAM );
}
break;
/* add headers at end of file */
if ((cc == 0) && (write(si.sdt_fd, imh, sizeof(imh)) < 0)) {
- syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
if ((cc = write(si.sdt_fd, rbuf, iovcnt)) < 0) {
- syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
}
if ((cc = write(si.sdt_fd, rbuf, iovcnt)) < 0) {
- syslog(LOG_ERR, "afp_addicon: write: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_addicon: write: %s", strerror(errno));
dsi_writeflush(dsi);
return AFPERR_PARAM;
}
memcpy( &bsize, ih + 10, sizeof( bsize ));
bsize = ntohs(bsize);
if ( lseek( si.sdt_fd, (off_t) bsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_iconinfo: lseek: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_iconinfo: lseek: %s", strerror(errno) );
return( AFPERR_PARAM );
}
if ( si.sdt_index == iindex ) {
if ( lseek( si.sdt_fd, (off_t) 0L, SEEK_SET ) < 0 ) {
close(si.sdt_fd);
si.sdt_fd = -1;
- syslog(LOG_ERR, "afp_geticon: lseek: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_geticon: lseek: %s", strerror(errno));
return( AFPERR_PARAM );
}
memcpy( &rsize, ih + 10, sizeof( rsize ));
rsize = ntohs( rsize );
if ( lseek( si.sdt_fd, (off_t) rsize, SEEK_CUR ) < 0 ) {
- syslog( LOG_ERR, "afp_geticon: lseek: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_geticon: lseek: %s", strerror(errno) );
return( AFPERR_PARAM );
}
offset += rsize;
}
if ( rc < 0 ) {
- syslog(LOG_ERR, "afp_geticon: read: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_geticon: read: %s", strerror(errno));
return( AFPERR_PARAM );
}
return AFP_OK;
geticon_exit:
- syslog(LOG_INFO, "afp_geticon: %s", strerror(errno));
+ LOG(log_info, logtype_default, "afp_geticon: %s", strerror(errno));
dsi_readdone(dsi);
obj->exit(1);
return AFP_OK;
/*
- * $Id: directory.c,v 1.24 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: directory.c,v 1.25 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdeskowner: %s",
+ LOG(log_error, logtype_default, "setdirparam: setdeskowner: %s",
strerror(errno) );
if (!isad) {
err = AFPERR_PARAM;
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdirowner: %s",
+ LOG(log_error, logtype_default, "setdirparam: setdirowner: %s",
strerror(errno) );
break;
}
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdeskowner: %m" );
+ LOG(log_error, logtype_default, "setdirparam: setdeskowner: %m" );
if (!isad) {
err = AFPERR_PARAM;
goto setdirparam_done;
goto setdirparam_done;
break;
default :
- syslog( LOG_ERR, "setdirparam: setdirowner: %s",
+ LOG(log_error, logtype_default, "setdirparam: setdirowner: %s",
strerror(errno) );
break;
}
err = AFPERR_VLOCK;
goto setdirparam_done;
default :
- syslog( LOG_ERR, "setdirparam: setdeskmode: %s",
+ LOG(log_error, logtype_default, "setdirparam: setdeskmode: %s",
strerror(errno) );
break;
err = AFPERR_PARAM;
err = AFPERR_VLOCK;
goto setdirparam_done;
default :
- syslog( LOG_ERR, "setdirparam: setdirmode: %s",
+ LOG(log_error, logtype_default, "setdirparam: setdirmode: %s",
strerror(errno) );
err = AFPERR_PARAM;
goto setdirparam_done;
renamedir_done:
if ((buf = (char *) realloc( dir->d_name, len + 1 )) == NULL ) {
- syslog( LOG_ERR, "renamedir: realloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "renamedir: realloc: %s", strerror(errno) );
return AFPERR_MISC;
}
dir->d_name = buf;
/*
- * $Id: enumerate.c,v 1.12 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: enumerate.c,v 1.13 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <dirent.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#endif /* USE_LASTDID */
if ((cdir = dirnew(namlen + 1)) == NULL) {
- syslog( LOG_ERR, "adddir: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "adddir: malloc: %s", strerror(errno) );
return NULL;
}
strcpy( cdir->d_name, name );
#ifndef CNID_DB
if (edir->d_name) {
if (strcmp(edir->d_name, cdir->d_name)) {
- syslog(LOG_INFO, "WARNING: DID conflict for '%s' and '%s'. Are these the same file?", edir->d_name, cdir->d_name);
+ LOG(log_info, logtype_default, "WARNING: DID conflict for '%s' and '%s'. Are these the same file?", edir->d_name, cdir->d_name);
}
free(cdir->d_name);
free(cdir);
if ( sd.sd_buflen == 0 ) {
if (( sd.sd_buf = (char *)malloc( SDBUFBRK )) == NULL ) {
- syslog( LOG_ERR, "afp_enumerate: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_enumerate: malloc: %s", strerror(errno) );
*rbuflen = 0;
return AFPERR_MISC;
}
start = sd.sd_buf;
if ((buf = (char *) realloc( sd.sd_buf, sd.sd_buflen +
SDBUFBRK )) == NULL ) {
- syslog( LOG_ERR, "afp_enumerate: realloc: %s",
+ LOG(log_error, logtype_default, "afp_enumerate: realloc: %s",
strerror(errno) );
closedir(dp);
*rbuflen = 0;
sd.sd_last++;
if ( stat( sd.sd_last, &st ) < 0 ) {
- syslog( LOG_DEBUG, "afp_enumerate: stat %s: %s",
+ LOG(log_debug, logtype_default, "afp_enumerate: stat %s: %s",
sd.sd_last, strerror(errno) );
sd.sd_last += len + 1;
continue;
/*
- * $Id: file.c,v 1.34 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: file.c,v 1.35 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/mman.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/param.h>
u_char achar, fdType[4];
#ifdef DEBUG
- syslog(LOG_INFO, "begin getfilparams:");
+ LOG(log_info, logtype_default, "begin getfilparams:");
#endif /* DEBUG */
upath = mtoupath(vol, path);
if ( ad_open( upath, ADFLAGS_HF, O_RDONLY, 0, adp) < 0 ) {
isad = 0;
} else if ( fstat( ad_hfileno( adp ), &hst ) < 0 ) {
- syslog( LOG_ERR, "getfilparams fstat: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "getfilparams fstat: %s", strerror(errno) );
}
data = buf;
*buflen = data - buf;
#ifdef DEBUG
- syslog(LOG_INFO, "end getfilparams:");
+ LOG(log_info, logtype_default, "end getfilparams:");
#endif /* DEBUG */
return( AFP_OK );
#endif /* FORCE_UIDGID */
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_createfile:");
+ LOG(log_info, logtype_default, "begin afp_createfile:");
#endif /* DEBUG */
*rbuflen = 0;
setvoltime(obj, vol );
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_createfile");
+ LOG(log_info, logtype_default, "end afp_createfile");
#endif /* DEBUG */
#ifdef FORCE_UIDGID
u_int16_t vid, bitmap;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_setfilparams:");
+ LOG(log_info, logtype_default, "begin afp_setfilparams:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_setfilparams:");
+ LOG(log_info, logtype_default, "end afp_setfilparams:");
#endif /* DEBUG */
return( rc );
#endif /* FORCE_UIDGID */
#ifdef DEBUG
- syslog(LOG_INFO, "begin setfilparams:");
+ LOG(log_info, logtype_default, "begin setfilparams:");
#endif /* DEBUG */
upath = mtoupath(vol, path);
}
#ifdef DEBUG
- syslog(LOG_INFO, "end setfilparams:");
+ LOG(log_info, logtype_default, "end setfilparams:");
#endif /* DEBUG */
return err;
/* existence check moved to afp_moveandrename */
#ifdef DEBUG
- syslog(LOG_INFO, "begin renamefile:");
+ LOG(log_info, logtype_default, "begin renamefile:");
#endif /* DEBUG */
if ( rename( src, dst ) < 0 ) {
ad_close( &ad, ADFLAGS_HF );
#ifdef DEBUG
- syslog(LOG_INFO, "end renamefile:");
+ LOG(log_info, logtype_default, "end renamefile:");
#endif /* DEBUG */
return( AFP_OK );
u_int16_t svid, dvid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_copyfile:");
+ LOG(log_info, logtype_default, "begin afp_copyfile:");
#endif /* DEBUG */
*rbuflen = 0;
#endif /* DROPKLUDGE */
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_copyfile:");
+ LOG(log_info, logtype_default, "end afp_copyfile:");
#endif /* DEBUG */
return( retvalue );
ssize_t cc;
#ifdef DEBUG
- syslog(LOG_INFO, "begin copy_all:");
+ LOG(log_info, logtype_default, "begin copy_all:");
#endif /* DEBUG */
while (buflen > 0) {
}
#ifdef DEBUG
- syslog(LOG_INFO, "end copy_all:");
+ LOG(log_info, logtype_default, "end copy_all:");
#endif /* DEBUG */
return AFP_OK;
ssize_t cc;
#ifdef DEBUG
- syslog(LOG_INFO, "begin copyfile:");
+ LOG(log_info, logtype_default, "begin copyfile:");
#endif /* DEBUG */
if (newname) {
}
#ifdef DEBUG
- syslog(LOG_INFO, "end copyfile:");
+ LOG(log_info, logtype_default, "end copyfile:");
#endif /* DEBUG */
return( AFP_OK );
int openmode = O_RDWR;
#ifdef DEBUG
- syslog(LOG_INFO, "begin deletefile:");
+ LOG(log_info, logtype_default, "begin deletefile:");
#endif /* DEBUG */
while(1) {
ad_close( &ad, adflags );
#ifdef DEBUG
- syslog(LOG_INFO, "end deletefile:");
+ LOG(log_info, logtype_default, "end deletefile:");
#endif /* DEBUG */
return err;
u_short vid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_createid:");
+ LOG(log_info, logtype_default, "begin afp_createid:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "ending afp_createid...:");
+ LOG(log_info, logtype_default, "ending afp_createid...:");
#endif /* DEBUG */
switch (errno) {
return AFPERR_ACCESS;
break;
default:
- syslog(LOG_ERR, "afp_createid: cnid_add: %m");
+ LOG(log_error, logtype_default, "afp_createid: cnid_add: %m");
return AFPERR_PARAM;
}
}
u_int16_t vid, bitmap;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_resolveid:");
+ LOG(log_info, logtype_default, "begin afp_resolveid:");
#endif /* DEBUG */
*rbuflen = 0;
memcpy(rbuf, ibuf, sizeof(bitmap));
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_resolveid:");
+ LOG(log_info, logtype_default, "end afp_resolveid:");
#endif /* DEBUG */
return AFP_OK;
u_short vid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_deleteid:");
+ LOG(log_info, logtype_default, "begin afp_deleteid:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_deleteid:");
+ LOG(log_info, logtype_default, "end afp_deleteid:");
#endif /* DEBUG */
return err;
u_int16_t vid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_exchangefiles:");
+ LOG(log_info, logtype_default, "begin afp_exchangefiles:");
#endif /* DEBUG */
*rbuflen = 0;
#endif /* CNID_DB */
#ifdef DEBUG
- syslog(LOG_INFO, "ending afp_exchangefiles:");
+ LOG(log_info, logtype_default, "ending afp_exchangefiles:");
#endif /* DEBUG */
return AFP_OK;
/*
- * $Id: filedir.c,v 1.19 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: filedir.c,v 1.20 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_CONFIG_H */
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
int uid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin matchfile2dirperms:");
+ LOG(log_info, logtype_default, "begin matchfile2dirperms:");
#endif /* DEBUG */
if (stat(upath, &st ) < 0)
- syslog(LOG_ERR, "Could not stat %s: %s", upath, strerror(errno));
+ LOG(log_error, logtype_default, "Could not stat %s: %s", upath, strerror(errno));
strcpy (adpath, "./.AppleDouble/");
strcat (adpath, upath);
if (( dir = dirsearch( vol, did )) == NULL ) {
- syslog(LOG_ERR, "matchfile2dirperms: Unable to get directory info.");
+ LOG(log_error, logtype_default, "matchfile2dirperms: Unable to get directory info.");
return( AFPERR_NOOBJ );
}
else if (stat(".", &sb) < 0) {
- syslog(LOG_ERR,
+ LOG(log_error, logtype_default,
"matchfile2dirperms: Error checking directory \"%s\": %s",
dir->d_name, strerror(errno));
return(AFPERR_NOOBJ );
seteuid(0);
if (lchown(upath, sb.st_uid, sb.st_gid) < 0)
{
- syslog(LOG_ERR,
+ LOG(log_error, logtype_default,
"matchfile2dirperms: Error changing owner/gid of %s: %s",
upath, strerror(errno));
return (AFPERR_ACCESS);
}
if (chmod(upath,(st.st_mode&0777&~default_options.umask)| S_IRGRP| S_IROTH) < 0)
{
- syslog(LOG_ERR,
+ LOG(log_error, logtype_default,
"matchfile2dirperms: Error adding file read permissions: %s",
strerror(errno));
return (AFPERR_ACCESS);
}
#ifdef DEBUG
else
- syslog(LOG_INFO,
+ LOG(log_info, logtype_default,
"matchfile2dirperms: Added S_IRGRP and S_IROTH: %s",
strerror(errno));
#endif /* DEBUG */
if (lchown(adpath, sb.st_uid, sb.st_gid) < 0)
{
- syslog(LOG_ERR,
+ LOG(log_error, logtype_default,
"matchfile2dirperms: Error changing AppleDouble owner/gid %s: %s",
adpath, strerror(errno));
return (AFPERR_ACCESS);
}
if (chmod(adpath, (st.st_mode&0777&~default_options.umask)| S_IRGRP| S_IROTH) < 0)
{
- syslog(LOG_ERR,
+ LOG(log_error, logtype_default,
"matchfile2dirperms: Error adding AD file read permissions: %s",
strerror(errno));
return (AFPERR_ACCESS);
}
#ifdef DEBUG
else
- syslog(LOG_INFO,
+ LOG(log_info, logtype_default,
"matchfile2dirperms: Added S_IRGRP and S_IROTH to AD: %s",
strerror(errno));
#endif /* DEBUG */
}
#ifdef DEBUG
else
- syslog(LOG_INFO,
+ LOG(log_info, logtype_default,
"matchfile2dirperms: No ownership change necessary.");
#endif /* DEBUG */
} /* end else if stat success */
seteuid(uid); /* Restore process ownership to normal */
#ifdef DEBUG
- syslog(LOG_INFO, "end matchfile2dirperms:");
+ LOG(log_info, logtype_default, "end matchfile2dirperms:");
#endif /* DEBUG */
return (AFP_OK);
u_int16_t fbitmap, dbitmap, vid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_getfildirparams:");
+ LOG(log_info, logtype_default, "begin afp_getfildirparams:");
#endif /* DEBUG */
*rbuflen = 0;
*rbuf = 0;
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_getfildirparams:");
+ LOG(log_info, logtype_default, "end afp_getfildirparams:");
#endif /* DEBUG */
return( AFP_OK );
int did, rc;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_setfildirparams:");
+ LOG(log_info, logtype_default, "begin afp_setfildirparams:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_setfildirparams:");
+ LOG(log_info, logtype_default, "end afp_setfildirparams:");
#endif /* DEBUG */
return( rc );
#endif /* CNID_DB */
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_rename:");
+ LOG(log_info, logtype_default, "begin afp_rename:");
#endif /* DEBUG */
*rbuflen = 0;
isad = 0;
}
if ((buf = realloc( odir->d_name, plen + 1 )) == NULL ) {
- syslog( LOG_ERR, "afp_rename: realloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_rename: realloc: %s", strerror(errno) );
if (isad) {
ad_flush(&ad, ADFLAGS_HF); /* in case of create */
ad_close(&ad, ADFLAGS_HF);
return AFPERR_MISC;
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_rename:");
+ LOG(log_info, logtype_default, "end afp_rename:");
#endif /* DEBUG */
return( AFP_OK );
u_int16_t vid;
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_delete:");
+ LOG(log_info, logtype_default, "begin afp_delete:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_delete:");
+ LOG(log_info, logtype_default, "end afp_delete:");
#endif /* DEBUG */
return( rc );
#endif /* DROPKLUDGE */
#ifdef DEBUG
- syslog(LOG_INFO, "begin afp_moveandrename:");
+ LOG(log_info, logtype_default, "begin afp_moveandrename:");
#endif /* DEBUG */
*rbuflen = 0;
}
#ifdef DEBUG
- syslog(LOG_INFO, "end afp_moveandrename:");
+ LOG(log_info, logtype_default, "end afp_moveandrename:");
#endif /* DEBUG */
return( rc );
return 0;
/*
#ifdef DEBUG
- syslog(LOG_DEBUG, "veto_file \"%s\", \"%s\"", veto_str, path);
+ LOG(log_debug, logtype_default, "veto_file \"%s\", \"%s\"", veto_str, path);
#endif
*/
for(i=0, j=0; veto_str[i] != '\0'; i++) {
/*
- * $Id: fork.c,v 1.12 2001-12-03 05:03:38 jmarcus Exp $
+ * $Id: fork.c,v 1.13 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <dirent.h>
#include <string.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <sys/stat.h>
} else {
aint = ad_getentrylen( ofork->of_ad, ADEID_RFORK );
if ( ad_refresh( ofork->of_ad ) < 0 ) {
- syslog( LOG_ERR, "getforkparams: ad_refresh: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "getforkparams: ad_refresh: %s", strerror(errno) );
return( AFPERR_PARAM );
}
/* See afp_closefork() for why this is bad */
goto openfork_err;
break;
default:
- syslog( LOG_ERR, "afp_openfork: ad_open: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_openfork: ad_open: %s", strerror(errno) );
ret = AFPERR_PARAM;
goto openfork_err;
break;
goto openfork_err;
break;
default:
- syslog( LOG_ERR, "afp_openfork: ad_open: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_openfork: ad_open: %s", strerror(errno) );
goto openfork_err;
break;
}
break;
default:
*rbuflen = 0;
- syslog( LOG_ERR, "afp_openfork: ad_lock: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_openfork: ad_lock: %s", strerror(errno) );
return( AFPERR_PARAM );
}
}
*rbuflen = 0;
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_setforkparams: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_setforkparams: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
goto afp_setfork_err;
if (ad_flush( ofork->of_ad, ADFLAGS_HF ) < 0) {
- syslog( LOG_ERR, "afp_setforkparams: ad_flush: %s",
+ LOG(log_error, logtype_default, "afp_setforkparams: ad_flush: %s",
strerror(errno) );
return( AFPERR_PARAM );
}
#ifdef AFS
if ( flushfork( ofork ) < 0 ) {
- syslog( LOG_ERR, "afp_setforkparams: flushfork: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_setforkparams: flushfork: %s", strerror(errno) );
}
#endif /* AFS */
ibuf += sizeof(ofrefnum);
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_bytelock: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_bytelock: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
cc = ad_read(ofork->of_ad, eid, offset, rbuf, *rbuflen);
if ( cc < 0 ) {
- syslog( LOG_ERR, "afp_read: ad_read: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_read: ad_read: %s", strerror(errno) );
*rbuflen = 0;
return( AFPERR_PARAM );
}
ibuf += sizeof( u_short );
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_read: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_read: of_find: %s", strerror(errno) );
err = AFPERR_PARAM;
goto afp_read_err;
}
if (errno == EINVAL)
goto afp_read_loop;
else {
- syslog(LOG_ERR, "afp_read: ad_readfile: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_read: ad_readfile: %s", strerror(errno));
goto afp_read_exit;
}
}
goto afp_read_done;
afp_read_exit:
- syslog(LOG_ERR, "afp_read: %s", strerror(errno));
+ LOG(log_error, logtype_default, "afp_read: %s", strerror(errno));
dsi_readdone(dsi);
ad_tmplock(ofork->of_ad, eid, ADLOCK_CLR, saveoff, reqcount);
obj->exit(1);
memcpy(&ofrefnum, ibuf, sizeof( ofrefnum ));
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_flushfork: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_flushfork: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
if ( flushfork( ofork ) < 0 ) {
- syslog( LOG_ERR, "afp_flushfork: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_flushfork: %s", strerror(errno) );
}
return( AFP_OK );
if ( ad_dfileno( ofork->of_ad ) != -1 &&
fsync( ad_dfileno( ofork->of_ad )) < 0 ) {
- syslog( LOG_ERR, "flushfork: dfile(%d) %s",
+ LOG(log_error, logtype_default, "flushfork: dfile(%d) %s",
ad_dfileno(ofork->of_ad), strerror(errno) );
err = -1;
}
err = -1;
if (err < 0)
- syslog( LOG_ERR, "flushfork: hfile(%d) %s",
+ LOG(log_error, logtype_default, "flushfork: hfile(%d) %s",
ad_hfileno(ofork->of_ad), strerror(errno) );
}
memcpy(&ofrefnum, ibuf, sizeof( ofrefnum ));
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_closefork: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_closefork: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
}
if ( ad_close( ofork->of_ad, adflags ) < 0 ) {
- syslog( LOG_ERR, "afp_closefork: ad_close: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_closefork: ad_close: %s", strerror(errno) );
return( AFPERR_PARAM );
}
case ENOSPC :
return( AFPERR_DFULL );
default :
- syslog( LOG_ERR, "afp_write: ad_write: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_write: ad_write: %s", strerror(errno) );
return( AFPERR_PARAM );
}
}
ibuf += sizeof( reqcount );
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_write: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_write: of_find: %s", strerror(errno) );
err = AFPERR_PARAM;
goto afp_write_err;
}
case AFPPROTO_ASP:
if (asp_wrtcont(obj->handle, rbuf, rbuflen) < 0) {
*rbuflen = 0;
- syslog( LOG_ERR, "afp_write: asp_wrtcont: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_write: asp_wrtcont: %s", strerror(errno) );
return( AFPERR_PARAM );
}
cc = AFPERR_DFULL;
break;
default :
- syslog( LOG_ERR, "afp_write: ad_writefile: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_write: ad_writefile: %s", strerror(errno) );
goto afp_write_loop;
}
dsi_writeflush(dsi);
*rbuflen = 0;
if (( ofork = of_find( ofrefnum )) == NULL ) {
- syslog( LOG_ERR, "afp_getforkparams: of_find: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_getforkparams: of_find: %s", strerror(errno) );
return( AFPERR_PARAM );
}
/*
- * $Id: main.c,v 1.15 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: main.c,v 1.16 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/stat.h>
#include <sys/param.h>
#include <sys/uio.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/time.h>
#include <sys/socket.h>
dsi_kill(sig);
switch( sig ) {
case SIGTERM :
- syslog( LOG_INFO, "shutting down on signal %d", sig );
+ LOG(log_info, logtype_default, "shutting down on signal %d", sig );
break;
case SIGHUP :
/* w/ a configuration file, we can force a re-read if we want */
if ((nologin + 1) & 1) {
AFPConfig *config;
- syslog(LOG_INFO, "re-reading configuration file");
+ LOG(log_info, logtype_default, "re-reading configuration file");
for (config = configs; config; config = config->next)
if (config->server_cleanup)
config->server_cleanup(config);
configfree(configs, NULL);
if (!(configs = configinit(&default_options))) {
- syslog(LOG_ERR, "config re-read: no servers configured");
+ LOG(log_error, logtype_default, "config re-read: no servers configured");
afp_exit(1);
}
FD_ZERO(&save_rfds);
FD_SET(config->fd, &save_rfds);
}
} else {
- syslog(LOG_INFO, "disallowing logins");
+ LOG(log_info, logtype_default, "disallowing logins");
auth_unload();
}
break;
default :
- syslog( LOG_ERR, "afp_goaway: bad signal" );
+ LOG(log_error, logtype_default, "afp_goaway: bad signal" );
}
if ( sig == SIGTERM ) {
AFPConfig *config;
* XXX: this should really be setup after the initial connections. */
if (!(server_children = server_child_alloc(default_options.connections,
CHILD_NFORKS))) {
- syslog( LOG_ERR, "main: server_child alloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: server_child alloc: %s", strerror(errno) );
afp_exit(1);
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGCHLD, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sv.sa_mask, SIGTERM);
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGHUP, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "main: sigaction: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "main: sigaction: %s", strerror(errno) );
afp_exit(1);
}
sigaddset(&sigs, SIGTERM);
sigprocmask(SIG_BLOCK, &sigs, NULL);
if (!(configs = configinit(&default_options))) {
- syslog(LOG_ERR, "main: no servers configured: %s\n", strerror(errno));
+ LOG(log_error, logtype_default, "main: no servers configured: %s\n", strerror(errno));
afp_exit(1);
}
sigprocmask(SIG_UNBLOCK, &sigs, NULL);
if (select(FD_SETSIZE, &rfds, NULL, NULL, NULL) < 0) {
if (errno == EINTR)
continue;
- syslog(LOG_ERR, "main: can't wait for input: %s", strerror(errno));
+ LOG(log_error, logtype_default, "main: can't wait for input: %s", strerror(errno));
break;
}
/*
- * $Id: messages.c,v 1.12 2002-01-03 17:29:10 sibaz Exp $
+ * $Id: messages.c,v 1.13 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <string.h>
#include <atalk/afp.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
sprintf(filename, "%s/message.%d", SERVERTEXT, getpid());
#ifdef DEBUG
- syslog(LOG_DEBUG, "Reading file %s ", filename);
+ LOG(log_debug, logtype_default, "Reading file %s ", filename);
#endif /* DEBUG */
message=fopen(filename, "r");
if (message==NULL) {
- syslog(LOG_INFO, "Unable to open file %s", filename);
+ LOG(log_info, logtype_default, "Unable to open file %s", filename);
sprintf(filename, "%s/message", SERVERTEXT);
message=fopen(filename, "r");
}
/* Delete will probably fail otherwise, but let's try anyways */
euid = geteuid();
if (seteuid(0) < 0) {
- syslog(LOG_ERR, "Could not switch back to root: %m");
+ LOG(log_error, logtype_default, "Could not switch back to root: %m");
}
rc = unlink(filename);
/* Drop privs again, failing this is very bad */
if (seteuid(euid) < 0) {
- syslog(LOG_ERR, "Could not switch back to uid %d: %m", euid);
+ LOG(log_error, logtype_default, "Could not switch back to uid %d: %m", euid);
}
if (rc < 0) {
- syslog(LOG_ERR, "Error deleting %s: %m", filename);
+ LOG(log_error, logtype_default, "Error deleting %s: %m", filename);
}
#ifdef DEBUG
else {
- syslog(LOG_INFO, "Deleted %s", filename);
+ LOG(log_info, logtype_default, "Deleted %s", filename);
}
- syslog(LOG_INFO, "Set server message to \"%s\"", servermesg);
+ LOG(log_info, logtype_default, "Set server message to \"%s\"", servermesg);
#endif /* DEBUG */
}
free(filename);
/*
- * $Id: nfsquota.c,v 1.5 2001-12-03 05:03:38 jmarcus Exp $
+ * $Id: nfsquota.c,v 1.6 2002-01-04 04:45:47 sibaz Exp $
*
* parts of this are lifted from the bsd quota program and are
* therefore under the following copyright:
#include <sys/socket.h>
#include <sys/param.h> /* for DEV_BSIZE */
#include <sys/time.h> /* <rpc/rpc.h> on ultrix doesn't include this */
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_NETDB_H
#include <netdb.h>
/* figure out the host and path */
if ((hostpath = strchr(vol->v_gvs, ':')) == NULL) {
- syslog(LOG_ERR, "can't find hostname for %s", vol->v_gvs);
+ LOG(log_error, logtype_default, "can't find hostname for %s", vol->v_gvs);
return AFPERR_PARAM;
}
if(callaurpc(vol, RQUOTAPROG, RQUOTAVERS, RQUOTAPROC_GETQUOTA,
(xdrproc_t) xdr_getquota_args, (char *) &gq_args,
(xdrproc_t) xdr_getquota_rslt, (char *) &gq_rslt) != 0) {
- syslog(LOG_INFO, "nfsquota: can't retrieve nfs quota information. \
+ LOG(log_info, logtype_default, "nfsquota: can't retrieve nfs quota information. \
make sure that rpc.rquotad is running on %s.", vol->v_gvs);
*hostpath = ':';
return AFPERR_PARAM;
break;
case Q_EPERM:
- syslog(LOG_ERR, "nfsquota: quota permission error, host: %s\n",
+ LOG(log_error, logtype_default, "nfsquota: quota permission error, host: %s\n",
vol->v_gvs);
break;
break;
default:
- syslog(LOG_INFO, "bad rpc result, host: %s\n", vol->v_gvs);
+ LOG(log_info, logtype_default, "bad rpc result, host: %s\n", vol->v_gvs);
break;
}
/*
- * $Id: ofork.c,v 1.7 2001-12-03 05:03:38 jmarcus Exp $
+ * $Id: ofork.c,v 1.8 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1996 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <string.h>
#include <sys/stat.h> /* works around a bug */
#include <sys/param.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <atalk/adouble.h>
for ( refnum = 0; refnum < nforks; refnum++ ) {
if (oforks[ refnum ] != NULL && (oforks[refnum]->of_vol == vol) &&
flushfork( oforks[ refnum ] ) < 0 ) {
- syslog( LOG_ERR, "of_flush: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "of_flush: %s", strerror(errno) );
}
}
return( 0 );
}
}
if ( i == nforks ) {
- syslog(LOG_ERR, "of_alloc: maximum number of forks exceeded.");
+ LOG(log_error, logtype_default, "of_alloc: maximum number of forks exceeded.");
return( NULL );
}
of_refnum = refnum % nforks;
if (( oforks[ of_refnum ] =
(struct ofork *)malloc( sizeof( struct ofork ))) == NULL ) {
- syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "of_alloc: malloc: %s", strerror(errno) );
return NULL;
}
of = oforks[of_refnum];
if (!ad) {
ad = malloc( sizeof( struct adouble ) );
if (!ad) {
- syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "of_alloc: malloc: %s", strerror(errno) );
return NULL;
}
* of long unicode names */
if (( of->of_name =(char *)malloc(MACFILELEN + 1)) ==
NULL ) {
- syslog( LOG_ERR, "of_alloc: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "of_alloc: malloc: %s", strerror(errno) );
if (!ad)
free(of->of_ad);
free(of);
/*
- * $Id: quota.c,v 1.13 2001-12-10 20:16:54 srittau Exp $
+ * $Id: quota.c,v 1.14 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/afp.h>
static struct fs_data fsd;
if ( getmnt(0, &fsd, 0, STAT_ONE, file ) < 0 ) {
- syslog(LOG_INFO, "special: getmnt %s: %m", file );
+ LOG(log_info, logtype_default, "special: getmnt %s: %m", file );
return( NULL );
}
if ( vol->v_qfd == -1 && vol->v_gvs == NULL) {
if (( p = mountp( vol->v_path, &vol->v_nfs)) == NULL ) {
- syslog( LOG_INFO, "getquota: mountp %s fails", vol->v_path );
+ LOG(log_info, logtype_default, "getquota: mountp %s fails", vol->v_path );
return( AFPERR_PARAM );
}
if (vol->v_nfs) {
if (( vol->v_gvs = (char *)malloc( strlen( p ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "getquota: malloc: %m" );
+ LOG(log_error, logtype_default, "getquota: malloc: %m" );
return AFPERR_MISC;
}
strcpy( vol->v_gvs, p );
} else {
sprintf( buf, "%s/quotas", p );
if (( vol->v_qfd = open( buf, O_RDONLY, 0 )) < 0 ) {
- syslog( LOG_INFO, "open %s: %m", buf );
+ LOG(log_info, logtype_default, "open %s: %m", buf );
return( AFPERR_PARAM );
}
}
#else
if ( vol->v_gvs == NULL ) {
if (( p = special( vol->v_path, &vol->v_nfs )) == NULL ) {
- syslog( LOG_INFO, "getquota: special %s fails", vol->v_path );
+ LOG(log_info, logtype_default, "getquota: special %s fails", vol->v_path );
return( AFPERR_PARAM );
}
if (( vol->v_gvs = (char *)malloc( strlen( p ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "getquota: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "getquota: malloc: %s", strerror(errno) );
return AFPERR_MISC;
}
strcpy( vol->v_gvs, p );
}
#else /* ultrix */
if ( gettimeofday( &tv, 0 ) < 0 ) {
- syslog( LOG_ERR, "overquota: gettimeofday: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "overquota: gettimeofday: %s", strerror(errno) );
return( AFPERR_PARAM );
}
if ( !dqblk->dqb_btimelimit || dqblk->dqb_btimelimit > tv.tv_sec ) {
/*
- * $Id: switch.c,v 1.4 2001-12-03 05:03:38 jmarcus Exp $
+ * $Id: switch.c,v 1.5 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1991 Regents of The University of Michigan.
* All Rights Reserved.
#include <stdio.h> /* to pick up NULL */
#include <sys/stat.h> /* works around a bug */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/afp.h>
#include <atalk/uam.h>
char *ibuf, *rbuf;
int ibuflen, *rbuflen;
{
- syslog( LOG_INFO, "afp_null handle %d", *ibuf );
+ LOG(log_info, logtype_default, "afp_null handle %d", *ibuf );
*rbuflen = 0;
return( AFPERR_NOOP );
}
postauth_switch[id] = *new;
break;
default:
- syslog(LOG_DEBUG, "uam_afpserver_action: unknown switch %d[%d]",
+ LOG(log_debug, logtype_default, "uam_afpserver_action: unknown switch %d[%d]",
which, id);
return -1;
}
/*
- * $Id: uam.c,v 1.17 2001-12-10 20:16:54 srittau Exp $
+ * $Id: uam.c,v 1.18 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
#include <ctype.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/time.h>
void *module;
if ((module = mod_open(path)) == NULL) {
- syslog(LOG_ERR, "uam_load(%s): failed to load: %s", name, mod_error());
+ LOG(log_error, logtype_default, "uam_load(%s): failed to load: %s", name, mod_error());
return NULL;
}
if ((mod = (struct uam_mod *) malloc(sizeof(struct uam_mod))) == NULL) {
- syslog(LOG_ERR, "uam_load(%s): malloc failed", name);
+ LOG(log_error, logtype_default, "uam_load(%s): malloc failed", name);
goto uam_load_fail;
}
if ((p = strchr(buf, '.')))
*p = '\0';
if ((mod->uam_fcn = mod_symbol(module, buf)) == NULL) {
- syslog(LOG_ERR, "uam_load(%s): mod_symbol error for symbol %s",
+ LOG(log_error, logtype_default, "uam_load(%s): mod_symbol error for symbol %s",
name,
buf);
goto uam_load_err;
}
if (mod->uam_fcn->uam_type != UAM_MODULE_SERVER) {
- syslog(LOG_ERR, "uam_load(%s): attempted to load a non-server module",
+ LOG(log_error, logtype_default, "uam_load(%s): attempted to load a non-server module",
name);
goto uam_load_err;
}
if (!mod->uam_fcn->uam_setup ||
((*mod->uam_fcn->uam_setup)(name) < 0)) {
- syslog(LOG_ERR, "uam_load(%s): uam_setup failed", name);
+ LOG(log_error, logtype_default, "uam_load(%s): uam_setup failed", name);
goto uam_load_err;
}
if ((uam = auth_uamfind(type, name, strlen(name)))) {
if (strcmp(uam->uam_path, path)) {
/* it exists, but it's not the same module. */
- syslog(LOG_ERR, "uam_register: \"%s\" already loaded by %s",
+ LOG(log_error, logtype_default, "uam_register: \"%s\" already loaded by %s",
name, path);
return -1;
}
#ifndef DISABLE_SHELLCHECK
if (!p) {
- syslog( LOG_INFO, "illegal shell %s for %s", pwd->pw_shell, pwd->pw_name);
+ LOG(log_info, logtype_default, "illegal shell %s for %s", pwd->pw_shell, pwd->pw_name);
return -1;
}
#endif /* DISABLE_SHELLCHECK */
/*
- * $Id: uid.c,v 1.7 2002-01-03 17:29:10 sibaz Exp $
+ * $Id: uid.c,v 1.8 2002-01-04 04:45:47 sibaz Exp $
* code: jeff@univrel.pr.uconn.edu
*
* These functions are abstracted here, so that all calls for resolving
#include <stdio.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
/* functions for username and group */
#include <pwd.h>
uidgidset **pair;
{
if ( seteuid ( (*pair)->uid ) < 0 )
- syslog( LOG_ERR, "restore_uidgid: unable to seteuid '%s': %m",
+ LOG(log_error, logtype_default, "restore_uidgid: unable to seteuid '%s': %m",
(*pair)->uid );
if ( setegid ( (*pair)->gid ) < 0 )
- syslog( LOG_ERR, "restore_uidgid: unable to setegid '%s': %m",
+ LOG(log_error, logtype_default, "restore_uidgid: unable to setegid '%s': %m",
(*pair)->gid );
} /* end function void restore_uidgid ( pair ) */
/* check to see if we have to switch users */
if ( uid = user_to_uid ( (this_volume)->v_forceuid ) ) {
if ( seteuid ( uid ) < 0 )
- syslog( LOG_ERR, "set_uidgid: unable to seteuid '%s': %m",
+ LOG(log_error, logtype_default, "set_uidgid: unable to seteuid '%s': %m",
(this_volume)->v_forceuid );
} /* end of checking for (this_volume)->v_forceuid */
/* check to see if we have to switch groups */
if ( gid = group_to_gid ( (this_volume)->v_forcegid ) ) {
if ( seteuid ( gid ) < 0 )
- syslog( LOG_ERR, "set_uidgid: unable to setegid '%s': %m",
+ LOG(log_error, logtype_default, "set_uidgid: unable to setegid '%s': %m",
(this_volume)->v_forcegid );
} /* end of checking for (this_volume)->v_forcegid */
/*
- * $Id: unix.c,v 1.27 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: unix.c,v 1.28 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/types.h>
#include <sys/param.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netatalk/endian.h>
#include <dirent.h>
#include <limits.h>
if ( statfs( vol->v_path, &sfs ) < 0 ) {
- syslog(LOG_ERR, "ustatfs_getvolspace unable to stat %s", vol->v_path);
+ LOG(log_error, logtype_default, "ustatfs_getvolspace unable to stat %s", vol->v_path);
return( AFPERR_PARAM );
}
else { /* if S_IWOTH and not S_IROTH */
uid=geteuid();
if ( seteuid(0) < 0) {
- syslog( LOG_ERR, "stickydirmode: unable to seteuid root: %m");
+ LOG(log_error, logtype_default, "stickydirmode: unable to seteuid root: %m");
}
if ( retval=chmod( name, ( (DIRBITS | mode | S_ISVTX) & 0777 & ~default_options.umask) ) < 0) {
- syslog( LOG_ERR, "stickydirmode: chmod \"%s\": %m", name );
+ LOG(log_error, logtype_default, "stickydirmode: chmod \"%s\": %m", name );
return(AFPERR_ACCESS);
} else {
#ifdef DEBUG
- syslog( LOG_INFO, "stickydirmode: (debug) chmod \"%s\": %m", name );
+ LOG(log_info, logtype_default, "stickydirmode: (debug) chmod \"%s\": %m", name );
#endif /* DEBUG */
seteuid(uid);
} /* end getting retval */
* group writable, in which case chmod will fail.
*/
if ( (chmod( name, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0) && errno != EPERM) {
- syslog( LOG_ERR, "stickydirmode: chmod \"%s\": %s",
+ LOG(log_error, logtype_default, "stickydirmode: chmod \"%s\": %s",
name, strerror(errno) );
retval = -1;
}
}
if (( desk = opendir( "." )) == NULL ) {
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
+ LOG(log_error, logtype_default, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
}
return( -1 );
}
strcat( modbuf, subp->d_name );
/* XXX: need to preserve special modes */
if (stat(modbuf, &st) < 0) {
- syslog( LOG_ERR, "setdeskmode: stat %s: %s",
+ LOG(log_error, logtype_default, "setdeskmode: stat %s: %s",
modbuf, strerror(errno) );
continue;
}
if (S_ISDIR(st.st_mode)) {
if ( chmod( modbuf, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s",
modbuf, strerror(errno) );
}
} else if ( chmod( modbuf, mode & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s",
modbuf, strerror(errno) );
}
closedir( sub );
/* XXX: need to preserve special modes */
if ( chmod( deskp->d_name, (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskmode: chmod %s: %s",
+ LOG(log_error, logtype_default, "setdeskmode: chmod %s: %s",
deskp->d_name, strerror(errno) );
}
}
closedir( desk );
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
+ LOG(log_error, logtype_default, "setdeskmode: chdir %s: %s", wd, strerror(errno) );
return -1;
}
/* XXX: need to preserve special modes */
if ( chmod( ".AppleDesktop", (DIRBITS | mode) & 0777 & ~default_options.umask ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskmode: chmod .AppleDesktop: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setdeskmode: chmod .AppleDesktop: %s", strerror(errno) );
}
return( 0 );
}
DIR *dir;
if (( dir = opendir( "." )) == NULL ) {
- syslog( LOG_ERR, "setdirmode: opendir .: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setdirmode: opendir .: %s", strerror(errno) );
return( -1 );
}
continue;
}
if ( stat( dirp->d_name, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirmode: stat %s: %s",
+ LOG(log_error, logtype_default, "setdirmode: stat %s: %s",
dirp->d_name, strerror(errno) );
continue;
}
if (( dir = opendir( ".AppleDouble" )) == NULL ) {
if (noadouble)
goto setdirmode_noadouble;
- syslog( LOG_ERR, "setdirmode: opendir .AppleDouble: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setdirmode: opendir .AppleDouble: %s", strerror(errno) );
return( -1 );
}
strcpy( buf, ".AppleDouble" );
strcat( buf, dirp->d_name );
if ( stat( buf, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirmode: stat %s: %s", buf, strerror(errno) );
+ LOG(log_error, logtype_default, "setdirmode: stat %s: %s", buf, strerror(errno) );
continue;
}
}
if (( desk = opendir( "." )) == NULL ) {
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
+ LOG(log_error, logtype_default, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
}
return( -1 );
}
strcat( modbuf, subp->d_name );
/* XXX: add special any uid, ignore group bits */
if ( chown( modbuf, uid, gid ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskown: chown %s: %s",
+ LOG(log_error, logtype_default, "setdeskown: chown %s: %s",
modbuf, strerror(errno) );
}
}
closedir( sub );
/* XXX: add special any uid, ignore group bits */
if ( chown( deskp->d_name, uid, gid ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskowner: chown %s: %s",
+ LOG(log_error, logtype_default, "setdeskowner: chown %s: %s",
deskp->d_name, strerror(errno) );
}
}
closedir( desk );
if ( chdir( wd ) < 0 ) {
- syslog( LOG_ERR, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
+ LOG(log_error, logtype_default, "setdeskowner: chdir %s: %s", wd, strerror(errno) );
return -1;
}
if ( chown( ".AppleDesktop", uid, gid ) < 0 && errno != EPERM ) {
- syslog( LOG_ERR, "setdeskowner: chown .AppleDesktop: %s",
+ LOG(log_error, logtype_default, "setdeskowner: chown .AppleDesktop: %s",
strerror(errno) );
}
return( 0 );
continue;
};
if ( stat( dirp->d_name, &st ) < 0 ) {
- syslog( LOG_ERR, "setdirowner: stat %s: %s",
+ LOG(log_error, logtype_default, "setdirowner: stat %s: %s",
dirp->d_name, strerror(errno) );
continue;
}
if (( st.st_mode & S_IFMT ) == S_IFREG ) {
if ( chown( dirp->d_name, uid, gid ) < 0 && errno != EPERM ) {
- syslog( LOG_DEBUG, "setdirowner: chown %s: %s",
+ LOG(log_debug, logtype_default, "setdirowner: chown %s: %s",
dirp->d_name, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
*m = '\0';
strcat( buf, dirp->d_name );
if ( chown( buf, uid, gid ) < 0 && errno != EPERM ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d %s: %s",
+ LOG(log_debug, logtype_default, "setdirowner: chown %d/%d %s: %s",
uid, gid, buf, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
* We cheat: we know that chown doesn't do anything.
*/
if ( stat( ".AppleDouble", &st ) < 0 ) {
- syslog( LOG_ERR, "setdirowner: stat .AppleDouble: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setdirowner: stat .AppleDouble: %s", strerror(errno) );
return( -1 );
}
if ( gid && gid != st.st_gid && chown( ".AppleDouble", uid, gid ) < 0 &&
errno != EPERM ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d .AppleDouble: %s",
+ LOG(log_debug, logtype_default, "setdirowner: chown %d/%d .AppleDouble: %s",
uid, gid, strerror(errno) );
/* return ( -1 ); Sometimes this is okay */
}
}
if ( gid && gid != st.st_gid && chown( ".", uid, gid ) < 0 &&
errno != EPERM ) {
- syslog( LOG_DEBUG, "setdirowner: chown %d/%d .: %s",
+ LOG(log_debug, logtype_default, "setdirowner: chown %d/%d .: %s",
uid, gid, strerror(errno) );
}
/*
- * $Id: volume.c,v 1.17 2002-01-03 17:49:38 sibaz Exp $
+ * $Id: volume.c,v 1.18 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_CONFIG_H */
#include <sys/time.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
}
/* debug: show which codepage directory we are using */
- syslog(LOG_DEBUG, "using codepage directory: %s", page);
+ LOG(log_debug, logtype_default, "using codepage directory: %s", page);
return page;
}
} else if (val) {
/* ignore unknown options */
- syslog(LOG_DEBUG, "ignoring unknown volume option: %s", tmp);
+ LOG(log_debug, logtype_default, "ignoring unknown volume option: %s", tmp);
} else {
/* we'll assume it's a volume name. */
if (( volume =
(struct vol *)calloc(1, sizeof( struct vol ))) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "creatvol: malloc: %s", strerror(errno) );
return -1;
}
if (( volume->v_name =
(char *)malloc( vlen + 1 )) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "creatvol: malloc: %s", strerror(errno) );
free(volume);
return -1;
}
if (( volume->v_path =
(char *)malloc( strlen( path ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "creatvol: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "creatvol: malloc: %s", strerror(errno) );
free(volume->v_name);
free(volume);
return -1;
if ( em == NULL ) {
if (( em =
(struct extmap *)malloc( sizeof( struct extmap ))) == NULL ) {
- syslog( LOG_ERR, "setextmap: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setextmap: malloc: %s", strerror(errno) );
return;
}
em->em_next = extmap;
}
volfree(save_options, NULL);
if ( fclose( fp ) != 0 ) {
- syslog( LOG_ERR, "readvolfile: fclose: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "readvolfile: fclose: %s", strerror(errno) );
}
return( 0 );
}
data = rbuf + 5;
for ( vcnt = 0, volume = volumes; volume; volume = volume->v_next ) {
if ( stat( volume->v_path, &st ) < 0 ) {
- syslog( LOG_INFO, "afp_getsrvrparms: stat %s: %s",
+ LOG(log_info, logtype_default, "afp_getsrvrparms: stat %s: %s",
volume->v_path, strerror(errno) );
continue; /* can't access directory */
}
*rbuflen = data - rbuf;
data = rbuf;
if ( gettimeofday( &tv, 0 ) < 0 ) {
- syslog( LOG_ERR, "afp_getsrvrparms: gettimeofday: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_getsrvrparms: gettimeofday: %s", strerror(errno) );
*rbuflen = 0;
return AFPERR_PARAM;
}
if (( volume->v_flags & AFPVOL_OPEN ) == 0 ) {
if ((dir = dirnew(strlen(volume->v_name) + 1)) == NULL) {
- syslog( LOG_ERR, "afp_openvol: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "afp_openvol: malloc: %s", strerror(errno) );
ret = AFPERR_MISC;
goto openvol_err;
}
* [RS] */
if ( gettimeofday( &tv, 0 ) < 0 ) {
- syslog( LOG_ERR, "setvoltime: gettimeofday: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setvoltime: gettimeofday: %s", strerror(errno) );
return;
}
if( utime( vol->v_path, NULL ) < 0 ) {
/*
- * $Id: aep.c,v 1.6 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: aep.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <string.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netatalk/at.h>
end = data + len;
if ( data + 2 > end || *data != DDPTYPE_AEP ||
*( data + 1 ) != AEPOP_REQUEST ) {
- syslog( LOG_INFO, "aep_packet malformed packet" );
+ LOG(log_info, logtype_default, "aep_packet malformed packet" );
return 1;
}
*( data + 1 ) = AEPOP_REPLY;
if ( sendto( ap->ap_fd, data, len, 0, (struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "aep sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "aep sendto: %s", strerror(errno) );
return 1;
}
/*
- * $Id: config.c,v 1.10 2001-12-31 20:01:17 srittau Exp $
+ * $Id: config.c,v 1.11 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#ifdef TRU64
#include <sys/mbuf.h>
/* check if old conf is writable */
if ( stat( path, &st ) == 0 ) {
if (( st.st_mode & S_IWUSR ) == 0 ) {
- syslog( LOG_INFO, "%s not writable, won't rewrite", path );
+ LOG(log_info, logtype_default, "%s not writable, won't rewrite", path );
return( -1 );
}
mode = st.st_mode;
sprintf( newpath, "%.*s/%s", (int)(p - path), path, _PATH_ATALKDTMP );
}
if (( fd = open( newpath, O_WRONLY|O_CREAT|O_TRUNC, mode )) < 0 ) {
- syslog( LOG_ERR, "%s: %s", newpath, strerror(errno) );
+ LOG(log_error, logtype_default, "%s: %s", newpath, strerror(errno) );
return( -1 );
}
if (( newconf = fdopen( fd, "w" )) == NULL ) {
- syslog( LOG_ERR, "fdreopen %s: %s", newpath, strerror(errno) );
+ LOG(log_error, logtype_default, "fdreopen %s: %s", newpath, strerror(errno) );
return( -1 );
}
if (( conf = fopen( path, "r" )) == NULL && cf ) {
- syslog( LOG_ERR, "%s: %s", path, strerror(errno) );
+ LOG(log_error, logtype_default, "%s: %s", path, strerror(errno) );
return( -1 );
}
while ( conf == NULL || fgets( line, sizeof( line ), conf ) != NULL ) {
if ( conf != NULL && ( argv = parseline( line )) == NULL ) {
if ( fputs( line, newconf ) == EOF ) {
- syslog( LOG_ERR, "fputs: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "fputs: %s", strerror(errno) );
return( -1 );
}
freeline( argv );
fclose( newconf );
if ( rename( newpath, path ) < 0 ) {
- syslog( LOG_ERR, "rename %s to %s: %s", newpath, path, strerror(errno) );
+ LOG(log_error, logtype_default, "rename %s to %s: %s", newpath, path, strerror(errno) );
return( -1 );
}
return( 0 );
strcpy( device, "/dev/" );
strcat( device, iface->i_name );
if (( p = strpbrk( device, "0123456789" )) == NULL ) {
- syslog( LOG_ERR, "plumb: invalid device: %s", device );
+ LOG(log_error, logtype_default, "plumb: invalid device: %s", device );
return -1;
}
ppa = atoi( p );
*p = '\0';
if (( fd = open( device, O_RDWR, 0 )) < 0 ) {
- syslog( LOG_ERR, "%s: %m", device );
+ LOG(log_error, logtype_default, "%s: %m", device );
return -1;
}
if ( ioctl( fd, I_PUSH, "ddp" ) < 0 ) {
- syslog( LOG_ERR, "I_PUSH: %m" );
+ LOG(log_error, logtype_default, "I_PUSH: %m" );
close(fd);
return -1;
}
if ( ioctl( fd, IF_UNITSEL, ppa ) < 0 ) {
- syslog( LOG_ERR, "IF_UNITSEL: %m" );
+ LOG(log_error, logtype_default, "IF_UNITSEL: %m" );
close(fd);
return -1;
}
return -1;
}
- syslog( LOG_INFO, "plumbed %s%d", device, ppa );
+ LOG(log_info, logtype_default, "plumbed %s%d", device, ppa );
}
return( 0 );
/*
- * $Id: main.c,v 1.11 2001-12-10 20:16:55 srittau Exp $
+ * $Id: main.c,v 1.12 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <net/route.h>
#include <signal.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
continue;
#endif /* SIOCDIFADDR != SIOCATALKDIFADDR */
#endif /* SIOCATALKIFADDR */
- syslog( LOG_ERR, "difaddr(%u.%u): %s",
+ LOG(log_error, logtype_default, "difaddr(%u.%u): %s",
ntohs(iface->i_addr.sat_addr.s_net),
iface->i_addr.sat_addr.s_node, strerror(errno));
}
if ( iface->i_time < 3 ) {
if ( iface->i_flags & IFACE_PHASE1 ) {
if (rtmp_request( iface ) < 0) {
- syslog(LOG_ERR, "rtmp_request: %s", strerror(errno));
+ LOG(log_error, logtype_default, "rtmp_request: %s", strerror(errno));
atalkd_exit(1);
}
newrtmpdata = 1;
} else {
if (zip_getnetinfo( iface ) < 0) {
- syslog(LOG_ERR, "zip_getnetinfo: %s", strerror(errno));
+ LOG(log_error, logtype_default, "zip_getnetinfo: %s", strerror(errno));
atalkd_exit(1);
}
sentzipq = 1;
* No seed info, and we've got multiple interfaces.
* Wait forever.
*/
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"as_timer multiple interfaces, no seed" );
- syslog( LOG_INFO, "as_timer can't configure %s",
+ LOG(log_info, logtype_default, "as_timer can't configure %s",
iface->i_name );
- syslog( LOG_INFO, "as_timer waiting for router" );
+ LOG(log_info, logtype_default, "as_timer waiting for router" );
iface->i_time = 0;
continue;
} else {
for ( zt = iface->i_czt; zt; zt = zt->zt_next ) {
if (addzone( iface->i_rt, zt->zt_len,
zt->zt_name) < 0) {
- syslog(LOG_ERR, "addzone: %s", strerror(errno));
+ LOG(log_error, logtype_default, "addzone: %s", strerror(errno));
atalkd_exit(1);
}
}
iface->i_rt->rt_flags |= RTMPTAB_HASZONES;
}
if ( iface->i_flags & IFACE_PHASE1 ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"as_timer configured %s phase 1 from seed",
iface->i_name );
setaddr( iface, IFACE_PHASE1,
iface->i_caddr.sat_addr.s_net,
iface->i_caddr.sat_addr.s_net );
} else {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"as_timer configured %s phase 2 from seed",
iface->i_name );
}
if ( looproute( iface, RTMP_ADD )) { /* -1 or 1 */
- syslog( LOG_ERR,
+ LOG(log_error, logtype_default,
"as_timer: can't route %u.%u to loop: %s",
ntohs( iface->i_addr.sat_addr.s_net ),
iface->i_addr.sat_addr.s_node,
* Configure for no router operation. Wait for a route
* to become available in rtmp_packet().
*/
- syslog( LOG_INFO, "config for no router" );
+ LOG(log_info, logtype_default, "config for no router" );
if ( iface->i_flags & IFACE_PHASE2 ) {
iface->i_rt->rt_firstnet = 0;
0, htons( STARTUP_LASTNET ));
}
if ( looproute( iface, RTMP_ADD ) ) { /* -1 or 1 */
- syslog( LOG_ERR,
+ LOG(log_error, logtype_default,
"as_timer: can't route %u.%u to loopback: %s",
ntohs( iface->i_addr.sat_addr.s_net ),
iface->i_addr.sat_addr.s_node,
* our zone has gone away.
*/
if ( ++gate->g_state >= RTMPTAB_BAD ) {
- syslog( LOG_INFO, "as_timer gateway %u.%u down",
+ LOG(log_info, logtype_default, "as_timer gateway %u.%u down",
ntohs( gate->g_sat.sat_addr.s_net ),
gate->g_sat.sat_addr.s_node );
rtmp = gate->g_rt;
} else {
rtmp->rt_hops = RTMPHOPS_POISON;
if ((cc = rtmp_replace( rtmp )) < 0) {
- syslog(LOG_ERR, "rtmp_replace: %s", strerror(errno));
+ LOG(log_error, logtype_default, "rtmp_replace: %s", strerror(errno));
atalkd_exit(1);
}
if (cc) {
gate->g_iface->i_rt->rt_flags &= ~RTMPTAB_HASZONES;
}
- syslog( LOG_INFO, "as_timer last gateway down" );
+ LOG(log_info, logtype_default, "as_timer last gateway down" );
/* Set netrange to 0-fffe. */
if ( gate->g_iface->i_flags & IFACE_PHASE2 ) {
} else {
rtmp->rt_hops = RTMPHOPS_POISON;
if ((cc = rtmp_replace( rtmp )) < 0) {
- syslog(LOG_ERR, "rtmp_replace: %s", strerror(errno));
+ LOG(log_error, logtype_default, "rtmp_replace: %s", strerror(errno));
atalkd_exit(1);
}
if (cc)
if ( sendto( zap->ap_fd, packet, cc, 0,
(struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "as_timer sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "as_timer sendto: %s", strerror(errno) );
}
sentzipq = 1;
* ask about, and warn that we can't get it's zone.
*/
if ( rtmp->rt_nzq++ == 3 ) {
- syslog( LOG_INFO, "as_timer can't get zone for %u",
+ LOG(log_info, logtype_default, "as_timer can't get zone for %u",
ntohs( rtmp->rt_firstnet ));
}
if ( rtmp->rt_nzq > 3 ) {
if ( sendto( zap->ap_fd, packet, cc, 0, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "as_timer sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "as_timer sendto: %s", strerror(errno) );
}
}
}
if ( sendto( rap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "as_timer sendto %u.%u (%u): %s",
+ LOG(log_error, logtype_default, "as_timer sendto %u.%u (%u): %s",
ntohs( sat.sat_addr.s_net ),
sat.sat_addr.s_node,
ntohs( iface->i_rt->rt_firstnet ),
if ( sendto( rap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "as_timer sendto %u.%u (%u): %s",
+ LOG(log_error, logtype_default, "as_timer sendto %u.%u (%u): %s",
ntohs( sat.sat_addr.s_net ),
sat.sat_addr.s_node,
ntohs( iface->i_rt->rt_firstnet ),
if ( stable && !noparent ) {
noparent = 1;
- syslog( LOG_INFO, "ready %d/%d/%d", stabletimer, newrtmpdata,
+ LOG(log_info, logtype_default, "ready %d/%d/%d", stabletimer, newrtmpdata,
sentzipq );
if ( !debug ) {
/*
* Seems like we could get here more than once...
*/
if ( kill( getpid(), SIGSTOP ) < 0 ) {
- syslog( LOG_ERR, "as_timer: kill-self failed!" );
+ LOG(log_error, logtype_default, "as_timer: kill-self failed!" );
atalkd_exit( 1 );
}
}
for ( lr = zt->zt_rt; lr; lr = lr->l_next ) {
rtmp = (struct rtmptab *)lr->l_data;
if ( rtmp->rt_iprev == 0 && rtmp->rt_gate != 0 ) {
- syslog( LOG_ERR, "%.*s has %u-%u (unused)\n",
+ LOG(log_error, logtype_default, "%.*s has %u-%u (unused)\n",
zt->zt_len, zt->zt_name, ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ));
atalkd_exit(1);
}
}
if ( lz == 0 ) {
- syslog( LOG_ERR, "no map from %u-%u to %.*s\n",
+ LOG(log_error, logtype_default, "no map from %u-%u to %.*s\n",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
zt->zt_len, zt->zt_name );
FILE *rtmpdebug;
if (( rtmpdebug = fopen( _PATH_ATALKDEBUG, "w" )) == NULL ) {
- syslog( LOG_ERR, "rtmp: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "rtmp: %s", strerror(errno) );
}
for ( iface = interfaces; iface; iface = iface->i_next ) {
for ( rt = gate->g_rt; rt; rt = rt->rt_next ) {
if ( rt->rt_iprev ) {
if ( gateroute( RTMP_DEL, rt ) < 0 ) {
- syslog( LOG_ERR, "as_down remove %u-%u failed: %s",
+ LOG(log_error, logtype_default, "as_down remove %u-%u failed: %s",
ntohs( rt->rt_firstnet ),
ntohs( rt->rt_lastnet ),
strerror(errno) );
}
if ( iface->i_flags & IFACE_LOOP ) {
if (looproute( iface, RTMP_DEL )) {
- syslog( LOG_ERR, "as_down remove %s %u.%u failed: %s",
+ LOG(log_error, logtype_default, "as_down remove %s %u.%u failed: %s",
iface->i_name, ntohs( iface->i_addr.sat_addr.s_net ),
iface->i_addr.sat_addr.s_node,
strerror(errno) );
}
}
- syslog( LOG_INFO, "done" );
+ LOG(log_info, logtype_default, "done" );
atalkd_exit( 0 );
}
#ifdef ultrix
openlog( prog, LOG_PID );
#else /* ultrix */
- openlog( prog, LOG_PID, LOG_DAEMON );
+ set_processname(prog);
+ syslog_setup(log_debug, logtype_default, logoption_pid, logfacility_daemon );
#endif /* ultrix */
- syslog( LOG_INFO, "restart (%s)", version );
+ LOG(log_info, logtype_default, "restart (%s)", version );
/*
* Socket for use in routing ioctl()s. Can't add routes to our
*/
#ifdef BSD4_4
if (( rtfd = socket( PF_ROUTE, SOCK_RAW, AF_APPLETALK )) < 0 ) {
- syslog( LOG_ERR, "route socket: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "route socket: %s", strerror(errno) );
atalkd_exit( 1 );
}
if ( shutdown( rtfd, 0 ) < 0 ) {
- syslog( LOG_ERR, "route shutdown: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "route shutdown: %s", strerror(errno) );
atalkd_exit( 1 );
}
#else /* BSD4_4 */
if (( rtfd = socket( AF_APPLETALK, SOCK_DGRAM, 0 )) < 0 ) {
- syslog( LOG_ERR, "route socket: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "route socket: %s", strerror(errno) );
atalkd_exit( 1 );
}
#endif /* BSD4_4 */
sigaddset( &sv.sa_mask, SIGTERM );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGTERM, &sv, NULL) < 0 ) {
- syslog( LOG_ERR, "sigterm: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sigterm: %s", strerror(errno) );
atalkd_exit( 1 );
}
sigaddset( &sv.sa_mask, SIGTERM );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGUSR1, &sv, NULL) < 0 ) {
- syslog( LOG_ERR, "sigusr1: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sigusr1: %s", strerror(errno) );
atalkd_exit( 1 );
}
sigaddset( &sv.sa_mask, SIGTERM );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGALRM, &sv, NULL) < 0 ) {
- syslog( LOG_ERR, "sigalrm: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sigalrm: %s", strerror(errno) );
atalkd_exit( 1 );
}
it.it_value.tv_sec = 10L;
it.it_value.tv_usec = 0L;
if ( setitimer( ITIMER_REAL, &it, NULL) < 0 ) {
- syslog( LOG_ERR, "setitimer: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "setitimer: %s", strerror(errno) );
atalkd_exit( 1 );
}
errno = 0;
continue;
} else {
- syslog( LOG_ERR, "select: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "select: %s", strerror(errno) );
atalkd_exit( 1 );
}
}
fromlen = sizeof( struct sockaddr_at );
if (( c = recvfrom( ap->ap_fd, Packet, sizeof( Packet ),
0, (struct sockaddr *)&sat, &fromlen )) < 0 ) {
- syslog( LOG_ERR, "recvfrom: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "recvfrom: %s", strerror(errno) );
continue;
}
#ifdef DEBUG
#endif /* DEBUG */
#ifdef __svr4__
if ( sighold( SIGALRM ) || sighold( SIGUSR1 )) {
- syslog( LOG_ERR, "sighold: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sighold: %s", strerror(errno) );
atalkd_exit( 1 );
}
#else /* __svr4__ */
sigmask( SIGUSR1 ));
#endif /* __svr4__ */
if (( *ap->ap_packet )( ap, &sat, Packet, c ) < 0) {
- syslog(LOG_ERR, "ap->ap_packet: %s", strerror(errno));
+ LOG(log_error, logtype_default, "ap->ap_packet: %s", strerror(errno));
atalkd_exit(1);
}
#endif /* DEBUG */
#ifdef __svr4__
if ( sigrelse( SIGUSR1 ) || sigrelse( SIGALRM )) {
- syslog( LOG_ERR, "sigrelse: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sigrelse: %s", strerror(errno) );
atalkd_exit( 1 );
}
#else /* __svr4__ */
/* consistency */
if ( iface->i_flags & IFACE_ADDR ) {
- syslog( LOG_ERR, "bootaddr OOPS!" );
+ LOG(log_error, logtype_default, "bootaddr OOPS!" );
atalkd_exit(1);
}
}
} else if (rtmp_request( iface ) < 0) {
- syslog(LOG_ERR, "bootaddr (rtmp_request): %s", strerror(errno));
+ LOG(log_error, logtype_default, "bootaddr (rtmp_request): %s", strerror(errno));
atalkd_exit(1);
}
}
} else if (zip_getnetinfo( iface ) < 0) {
- syslog(LOG_ERR, "bootaddr (zip_getnetinfo): %s", strerror(errno));
+ LOG(log_error, logtype_default, "bootaddr (zip_getnetinfo): %s", strerror(errno));
atalkd_exit(1);
}
}
if ( iface->i_ports == NULL ) { /* allocate port structures */
for ( i = 0, as = atserv; i < atservNATSERV; i++, as++ ) {
if (( se = getservbyname( as->as_name, "ddp" )) == NULL ) {
- syslog( LOG_INFO, "%s: service unknown", as->as_name );
+ LOG(log_info, logtype_default, "%s: service unknown", as->as_name );
} else {
as->as_port = ntohs( se->s_port );
}
if (( ap = (struct atport *)malloc( sizeof( struct atport ))) ==
NULL ) {
- syslog( LOG_ERR, "malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "malloc: %s", strerror(errno) );
atalkd_exit( 1 );
}
ap->ap_fd = 0;
memcpy( iface->i_addr.sat_zero, &nr, sizeof( struct netrange ));
if ( ifconfig( iface->i_name, SIOCSIFADDR, &iface->i_addr )) {
- syslog( LOG_ERR, "setifaddr: %s (%u-%u): %s. try specifying a \
+ LOG(log_error, logtype_default, "setifaddr: %s (%u-%u): %s. try specifying a \
smaller net range.", iface->i_name, ntohs(first), ntohs(last), strerror(errno));
atalkd_exit( 1 );
}
if ( ifconfig( iface->i_name, SIOCGIFADDR, &iface->i_addr )) {
- syslog( LOG_ERR, "getifaddr: %s: %s", iface->i_name, strerror(errno) );
+ LOG(log_error, logtype_default, "getifaddr: %s: %s", iface->i_name, strerror(errno) );
atalkd_exit( 1 );
}
/* open ports */
i = 1; /* enable broadcasts */
#ifdef __svr4__
- syslog(LOG_INFO, "setsockopt incompatible w/ Solaris STREAMS module.");
+ LOG(log_info, logtype_default, "setsockopt incompatible w/ Solaris STREAMS module.");
#endif /* __svr4__ */
for ( ap = iface->i_ports; ap; ap = ap->ap_next ) {
if (( ap->ap_fd = socket( AF_APPLETALK, SOCK_DGRAM, 0 )) < 0 ) {
- syslog( LOG_ERR, "socket: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "socket: %s", strerror(errno) );
atalkd_exit( 1 );
}
#ifndef __svr4__
if ( bind( ap->ap_fd, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "bind %u.%u:%u: %s",
+ LOG(log_error, logtype_default, "bind %u.%u:%u: %s",
ntohs( sat.sat_addr.s_net ),
sat.sat_addr.s_node, sat.sat_port, strerror(errno) );
#ifdef SIOCDIFADDR
/*
- * $Id: multicast.c,v 1.8 2001-12-10 20:16:55 srittau Exp $
+ * $Id: multicast.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <net/route.h>
#endif /* TRU64 */
#include <net/if.h>
-#include <syslog.h>
+#include <atalk/logger.h>
/* work around for FreeBSD */
#if defined(__FreeBSD__) && (__FreeBSD__ >= 2)
if (!zt->zt_bcast &&
(zt->zt_bcast = (u_char *) malloc(sizeof( ethermulti ))) == NULL) {
- syslog( LOG_ERR, "zone_bcast malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "zone_bcast malloc: %s", strerror(errno) );
return -1;
}
/*
- * $Id: nbp.c,v 1.7 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: nbp.c,v 1.8 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdlib.h>
#include <string.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/socket.h>
data += SZ_NBPHDR;
if ( sendto( fd, packet, data - packet, 0, (struct sockaddr *)to,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "sendto: %s", strerror(errno) );
}
}
end = data + len;
if ( data >= end ) {
- syslog( LOG_INFO, "nbp_packet malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet malformed packet" );
return 1;
}
if ( *data++ != DDPTYPE_NBP ) {
- syslog( LOG_INFO, "nbp_packet bad ddp type" );
+ LOG(log_info, logtype_default, "nbp_packet bad ddp type" );
return 1;
}
if ( data + SZ_NBPHDR + SZ_NBPTUPLE > end ) {
- syslog( LOG_INFO, "nbp_packet: malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet: malformed packet" );
return 1;
}
memcpy( &nh, data, SZ_NBPHDR );
nbpop = data; /* remember for fwd and brrq */
data += SZ_NBPHDR;
if ( nh.nh_cnt != 1 ) {
- syslog( LOG_INFO, "nbp_packet: bad tuple count (%d/%d)", nh.nh_cnt,
+ LOG(log_info, logtype_default, "nbp_packet: bad tuple count (%d/%d)", nh.nh_cnt,
nh.nh_op );
return 1;
}
/* object */
if ( data >= end || ( *data < 0 || *data > 32 ) || data + *data > end ) {
- syslog( LOG_INFO, "nbp_packet: malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet: malformed packet" );
return 1;
}
nn.nn_objlen = *data++;
/* type */
if ( data >= end || ( *data < 0 || *data > 32 ) || data + *data > end ) {
- syslog( LOG_INFO, "nbp_packet: malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet: malformed packet" );
return 1;
}
nn.nn_typelen = *data++;
/* zone */
if ( data >= end || ( *data < 0 || *data > 32 ) || data + *data > end ) {
- syslog( LOG_INFO, "nbp_packet: malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet: malformed packet" );
return 1;
}
zonep = data; /* remember for fwd */
data += nn.nn_zonelen;
if ( data != end ) {
- syslog( LOG_INFO, "nbp_packet: malformed packet" );
+ LOG(log_info, logtype_default, "nbp_packet: malformed packet" );
return 1;
}
/* calculate and save multicast address */
if (zone_bcast(zt) < 0) {
- syslog(LOG_ERR, "nbp_packet: zone_bcast");
+ LOG(log_error, logtype_default, "nbp_packet: zone_bcast");
return -1;
}
if ( zt == (struct ziptab *)l->l_data ) {
/* add multicast */
if (addmulti(iface->i_name, zt->zt_bcast) < 0) {
- syslog( LOG_ERR, "nbp_packet: addmulti: %s",
+ LOG(log_error, logtype_default, "nbp_packet: addmulti: %s",
strerror(errno) );
return -1;
}
if (( ntab = (struct nbptab *)malloc( sizeof( struct nbptab )))
== 0 ) {
- syslog( LOG_ERR, "nbp_packet: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "nbp_packet: malloc: %s", strerror(errno) );
return -1;
}
memcpy( &ntab->nt_nve, &nn, sizeof( struct nbpnve ));
if ( sendto( ap->ap_fd, data - len, len, 0, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "nbp brrq sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "nbp brrq sendto: %s", strerror(errno) );
}
locallkup = 1;
}
}
if ( !iface ) {
- syslog( LOG_ERR, "nbp_packet: \
+ LOG(log_error, logtype_default, "nbp_packet: \
Can't find route's interface!" );
return -1;
}
}
}
if ( !ap ) {
- syslog( LOG_ERR, "nbp_packet: Can't find port!" );
+ LOG(log_error, logtype_default, "nbp_packet: Can't find port!" );
return -1;
}
if ( sendto( ap->ap_fd, data - len, len, 0,
(struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "nbp brrq sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "nbp brrq sendto %u.%u: %s",
ntohs( sat.sat_addr.s_net ), sat.sat_addr.s_node,
strerror(errno) );
continue;
from->sat_addr.s_node = ATADDR_BCAST;
if ( sendto( ap->ap_fd, data - len, len, 0, (struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "nbp fwd sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "nbp fwd sendto %u.%u: %s",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
strerror(errno) );
return 0;
if ( sendto( ap->ap_fd, packet, cc, 0,
(struct sockaddr *)&nn.nn_sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "nbp lkup sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "nbp lkup sendto %u.%u: %s",
ntohs( nn.nn_sat.sat_addr.s_net ),
nn.nn_sat.sat_addr.s_node,
strerror(errno) );
if ( sendto( ap->ap_fd, packet, cc, 0,
(struct sockaddr *)&nn.nn_sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "nbp lkup sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "nbp lkup sendto %u.%u: %s",
ntohs( nn.nn_sat.sat_addr.s_net ),
nn.nn_sat.sat_addr.s_node,
strerror(errno) );
break;
default :
- syslog( LOG_INFO, "nbp_packet: bad op (%d)", nh.nh_op );
+ LOG(log_info, logtype_default, "nbp_packet: bad op (%d)", nh.nh_op );
return 1;
}
/*
- * $Id: rtmp.c,v 1.10 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: rtmp.c,v 1.11 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdlib.h>
#include <string.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/socket.h>
* configuration with RTMP.
*/
if ( iface->i_flags & IFACE_PHASE2 ) {
- syslog( LOG_INFO, "rtmp_config ignoring data" );
+ LOG(log_info, logtype_default, "rtmp_config ignoring data" );
return 0;
}
if ( rh->rh_net != iface->i_addr.sat_addr.s_net ) {
if (( iface->i_flags & IFACE_SEED ) &&
rh->rh_net != iface->i_caddr.sat_addr.s_net) {
- syslog( LOG_ERR, "rtmp_config net mismatch %u != %u",
+ LOG(log_error, logtype_default, "rtmp_config net mismatch %u != %u",
ntohs( rh->rh_net ),
ntohs( iface->i_addr.sat_addr.s_net ));
return 1;
return -1;
if (cc) {
- syslog( LOG_ERR, "rtmp_config: can't route %u.%u to loopback: %s",
+ LOG(log_error, logtype_default, "rtmp_config: can't route %u.%u to loopback: %s",
ntohs( iface->i_addr.sat_addr.s_net ),
iface->i_addr.sat_addr.s_node,
strerror(errno) );
}
- syslog( LOG_INFO, "rtmp_config configured %s", iface->i_name );
+ LOG(log_info, logtype_default, "rtmp_config configured %s", iface->i_name );
iface->i_flags |= IFACE_CONFIG;
if ( iface == ciface ) {
ciface = ciface->i_next;
}
}
if ( lr == NULL ) {
- syslog( LOG_ERR, "rtmp_copyzones z -> r without r -> z, abort" );
+ LOG(log_error, logtype_default, "rtmp_copyzones z -> r without r -> z, abort" );
return -1;
}
}
{
struct gate *gate;
- syslog(LOG_INFO, "rtmp_free: %u-%u", ntohs(rtmp->rt_firstnet),
+ LOG(log_info, logtype_default, "rtmp_free: %u-%u", ntohs(rtmp->rt_firstnet),
ntohs(rtmp->rt_lastnet));
if ( rtmp->rt_iprev ) {
rtmp_delinuse( rtmp );
struct gate *gate;
struct rtmptab *rtmp, *found = NULL;
- syslog(LOG_INFO, "rtmp_replace %u-%u", ntohs(replace->rt_firstnet),
+ LOG(log_info, logtype_default, "rtmp_replace %u-%u", ntohs(replace->rt_firstnet),
ntohs(replace->rt_lastnet));
for ( iface = interfaces; iface; iface = iface->i_next ) {
if ((replace->rt_iface != iface) &&
if ( i ) { /* can we get here without r being set? */
if ( r->rt_firstnet != rtmp->rt_firstnet ||
r->rt_lastnet != rtmp->rt_lastnet ) {
- syslog( LOG_INFO, "rtmp_new netrange mismatch %u-%u != %u-%u",
+ LOG(log_info, logtype_default, "rtmp_new netrange mismatch %u-%u != %u-%u",
ntohs( r->rt_firstnet ), ntohs( r->rt_lastnet ),
ntohs( rtmp->rt_firstnet ), ntohs( rtmp->rt_lastnet ));
return 1;
end = data + len;
if ( data >= end ) {
- syslog( LOG_INFO, "rtmp_packet no data" );
+ LOG(log_info, logtype_default, "rtmp_packet no data" );
return 1;
}
* Response and Data.
*/
if ( data + sizeof( struct rtmprdhdr ) > end ) {
- syslog( LOG_INFO, "rtmp_packet no data header" );
+ LOG(log_info, logtype_default, "rtmp_packet no data header" );
return 1;
}
memcpy( &rh, data, sizeof( struct rtmprdhdr ));
/* check rh address against from address */
if ( rh.rh_nodelen != 8 ) {
- syslog( LOG_INFO, "rtmp_packet bad node len (%d)", rh.rh_nodelen );
+ LOG(log_info, logtype_default, "rtmp_packet bad node len (%d)", rh.rh_nodelen );
return 1;
}
if (( from->sat_addr.s_net != 0 &&
from->sat_addr.s_net != rh.rh_net ) ||
from->sat_addr.s_node != rh.rh_node ) {
- syslog( LOG_INFO, "rtmp_packet address mismatch" );
+ LOG(log_info, logtype_default, "rtmp_packet address mismatch" );
return 1;
}
if ( iface->i_flags & IFACE_NOROUTER ) {
/* remove addr to loopback route */
if ((cc = looproute( iface, RTMP_DEL )) < 0) {
- syslog(LOG_ERR, "rtmp_packet: looproute");
+ LOG(log_error, logtype_default, "rtmp_packet: looproute");
return -1;
}
if (cc)
- syslog( LOG_ERR, "rtmp_packet: can't remove loopback: %s",
+ LOG(log_error, logtype_default, "rtmp_packet: can't remove loopback: %s",
strerror(errno) );
iface->i_flags &= ~IFACE_NOROUTER;
iface->i_time = 0;
- syslog( LOG_INFO, "rtmp_packet router has become available" );
+ LOG(log_info, logtype_default, "rtmp_packet router has become available" );
}
if ( iface->i_flags & IFACE_PHASE1 ) {
if (rtmp_config( &rh, iface ) < 0) {
- syslog(LOG_ERR, "rtmp_packet: rtmp_config");
+ LOG(log_error, logtype_default, "rtmp_packet: rtmp_config");
return -1;
}
} else if (zip_getnetinfo( iface ) < 0) {
- syslog(LOG_ERR, "rtmp_packet: zip_getnetinfo");
+ LOG(log_error, logtype_default, "rtmp_packet: zip_getnetinfo");
return -1;
}
return 0;
* Parse first tuple. For phase 2, verify that net is correct.
*/
if ( data + SZ_RTMPTUPLE > end ) {
- syslog( LOG_INFO, "rtmp_packet missing first tuple" );
+ LOG(log_info, logtype_default, "rtmp_packet missing first tuple" );
return 1;
}
memcpy( &rt, data, SZ_RTMPTUPLE );
if ( rt.rt_net == 0 ) {
if ( rt.rt_dist != 0x82 ) {
- syslog( LOG_INFO, "rtmp_packet bad phase 1 version" );
+ LOG(log_info, logtype_default, "rtmp_packet bad phase 1 version" );
return 1;
}
* no extended tuples in this packet.
*/
if ( data + SZ_RTMPTUPLE > end ) {
- syslog( LOG_INFO, "rtmp_packet missing second tuple" );
+ LOG(log_info, logtype_default, "rtmp_packet missing second tuple" );
return 1;
}
memcpy( &rt, data, SZ_RTMPTUPLE );
data += SZ_RTMPTUPLE;
} else if ( rt.rt_dist & 0x80 ) {
if ( data + SZ_RTMPTUPLE > end ) {
- syslog( LOG_INFO, "rtmp_packet missing first range-end" );
+ LOG(log_info, logtype_default, "rtmp_packet missing first range-end" );
return 1;
}
memcpy( &xrt, data, SZ_RTMPTUPLE );
data += SZ_RTMPTUPLE;
if ( xrt.rt_dist != 0x82 ) {
- syslog( LOG_INFO, "rtmp_packet bad phase 2 version" );
+ LOG(log_info, logtype_default, "rtmp_packet bad phase 2 version" );
return 1;
}
*/
if ( rt.rt_net != iface->i_rt->rt_firstnet ||
xrt.rt_net != iface->i_rt->rt_lastnet ) {
- syslog( LOG_INFO, "rtmp_packet interface mismatch" );
+ LOG(log_info, logtype_default, "rtmp_packet interface mismatch" );
return 1;
}
} else {
* might just as well check it.
if ( rt.rt_net != iface->i_rt->rt_firstnet ||
rt.rt_net != iface->i_rt->rt_lastnet ) {
- syslog( LOG_INFO, "rtmp_packet phase 1 interface mismatch" );
+ LOG(log_info, logtype_default, "rtmp_packet phase 1 interface mismatch" );
return 1;
}
*/
#else /* PHASE1NET */
- syslog( LOG_INFO, "rtmp_packet bad first tuple" );
+ LOG(log_info, logtype_default, "rtmp_packet bad first tuple" );
return 1;
#endif /* PHASE1NET */
}
}
if ( !gate ) { /* new gateway */
if (( gate = (struct gate *)malloc( sizeof( struct gate ))) == 0 ) {
- syslog( LOG_ERR, "rtmp_packet: malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "rtmp_packet: malloc: %s", strerror(errno) );
return -1;
}
gate->g_next = iface->i_gate;
iface->i_gate->g_prev = gate;
}
iface->i_gate = gate;
- syslog( LOG_INFO, "rtmp_packet gateway %u.%u up",
+ LOG(log_info, logtype_default, "rtmp_packet gateway %u.%u up",
ntohs( gate->g_sat.sat_addr.s_net ),
gate->g_sat.sat_addr.s_node );
}
* ugly.)
*/
if ( rtmp->rt_firstnet != rt.rt_net ) {
- syslog( LOG_INFO, "rtmp_packet firstnet mismatch %u!=%u",
+ LOG(log_info, logtype_default, "rtmp_packet firstnet mismatch %u!=%u",
ntohs( rtmp->rt_firstnet ), ntohs( rt.rt_net ));
return 1;
}
if ( rt.rt_dist & 0x80 ) {
if (( rtmp->rt_flags & RTMPTAB_EXTENDED ) == 0 ) {
- syslog( LOG_INFO, "rtmp_packet extended mismatch %u",
+ LOG(log_info, logtype_default, "rtmp_packet extended mismatch %u",
ntohs( rtmp->rt_firstnet ));
return 1;
}
if ( rtmp->rt_lastnet != xrt.rt_net ) {
- syslog( LOG_INFO, "rtmp_packet lastnet mismatch %u!=%u",
+ LOG(log_info, logtype_default, "rtmp_packet lastnet mismatch %u!=%u",
ntohs( rtmp->rt_lastnet ), ntohs( xrt.rt_net ));
return 1;
}
} else {
if ( rtmp->rt_flags & RTMPTAB_EXTENDED ) {
- syslog( LOG_INFO, "rtmp_packet !extended mismatch %u",
+ LOG(log_info, logtype_default, "rtmp_packet !extended mismatch %u",
ntohs( rtmp->rt_firstnet ));
return 1;
}
if ( rtmp->rt_lastnet != rt.rt_net ) {
- syslog( LOG_INFO, "rtmp_packet lastnet mismatch %u!=%u",
+ LOG(log_info, logtype_default, "rtmp_packet lastnet mismatch %u!=%u",
ntohs( rtmp->rt_lastnet ), ntohs( rt.rt_net ));
return 1;
}
rtmp->rt_hops = ( rt.rt_dist & 0x7f ) + 1;
}
if (rtmp_replace( rtmp ) < 0) {
- syslog(LOG_ERR, "rtmp_packet: rtmp_replace");
+ LOG(log_error, logtype_default, "rtmp_packet: rtmp_replace");
return -1;
}
}
rtmp->rt_hops = ( rt.rt_dist & 0x7f ) + 1;
if ( rtmp->rt_hops > ( rt.rt_dist & 0x7f ) + 1 ) {
if (rtmp_new( rtmp ) < 0) {
- syslog(LOG_ERR, "rtmp_packet: rtmp_new");
+ LOG(log_error, logtype_default, "rtmp_packet: rtmp_new");
return -1;
}
}
rtmp->rt_next = 0;
}
} else if (( rt.rt_dist & 0x7f ) + 1 > RTMPHOPS_MAX ) {
- syslog( LOG_INFO, "rtmp_packet bad hop count from %u.%u for %u",
+ LOG(log_info, logtype_default, "rtmp_packet bad hop count from %u.%u for %u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
ntohs( rt.rt_net ));
} else { /* new for router */
if (( rtmp = newrt(iface)) == NULL ) {
- syslog( LOG_ERR, "rtmp_packet: newrt: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "rtmp_packet: newrt: %s", strerror(errno) );
return -1;
}
rtmp->rt_firstnet = rt.rt_net;
}
if (rtmp_new( rtmp ) < 0) {
- syslog(LOG_ERR, "rtmp_packet: rtmp_new");
+ LOG(log_error, logtype_default, "rtmp_packet: rtmp_new");
return -1;
}
}
data += SZ_RTMPTUPLE;
if ( rt.rt_dist & 0x80 ) {
if ( data + SZ_RTMPTUPLE > end ) {
- syslog( LOG_INFO, "rtmp_packet missing range-end" );
+ LOG(log_info, logtype_default, "rtmp_packet missing range-end" );
return 1;
}
memcpy( &xrt, data, SZ_RTMPTUPLE );
* Make sure we've processed the whole packet.
*/
if ( data != end ) {
- syslog( LOG_INFO, "rtmp_packet length and count mismatch" );
+ LOG(log_info, logtype_default, "rtmp_packet length and count mismatch" );
}
break;
if ( sendto( ap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "as_timer sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "as_timer sendto: %s", strerror(errno) );
}
} else if ( *data == 2 || *data == 3 ) {
#ifdef DEBUG
from->sat_addr.s_node );
#endif /* DEBUG */
} else {
- syslog( LOG_INFO, "rtmp_packet unknown request from %u.%u\n",
+ LOG(log_info, logtype_default, "rtmp_packet unknown request from %u.%u\n",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
}
break;
default :
- syslog( LOG_INFO, "rtmp_packet bad ddp type from %u.%u",
+ LOG(log_info, logtype_default, "rtmp_packet bad ddp type from %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 0;
}
struct atport *ap;
char *data, packet[ 2 ];
- syslog( LOG_INFO, "rtmp_request for %s", iface->i_name );
+ LOG(log_info, logtype_default, "rtmp_request for %s", iface->i_name );
for ( ap = iface->i_ports; ap; ap = ap->ap_next ) {
if ( ap->ap_packet == rtmp_packet ) {
}
}
if ( ap == 0 ) {
- syslog( LOG_ERR, "rtmp_request can't find rtmp socket!" );
+ LOG(log_error, logtype_default, "rtmp_request can't find rtmp socket!" );
return -1;
}
sat.sat_port = ap->ap_port;
if ( sendto( ap->ap_fd, packet, data - packet, 0, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "rtmp_request sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "rtmp_request sendto: %s", strerror(errno) );
return -1;
}
return 0;
struct sockaddr_at dst, loop;
if ( cmd == RTMP_DEL && ( iface->i_flags & IFACE_LOOP ) == 0 ) {
- syslog( LOG_ERR, "looproute panic no route" );
+ LOG(log_error, logtype_default, "looproute panic no route" );
return -1;
}
if ( cmd == RTMP_ADD && ( iface->i_flags & IFACE_LOOP )) {
- syslog( LOG_ERR, "looproute panic two routes" );
+ LOG(log_error, logtype_default, "looproute panic two routes" );
return -1;
}
(struct sockaddr *) &dst,
(struct sockaddr *) &gate,
RTF_UP | RTF_GATEWAY )) {
- syslog( LOG_ERR, "route: %u -> %u.%u: %s", net,
+ LOG(log_error, logtype_default, "route: %u -> %u.%u: %s", net,
ntohs( gate.sat_addr.s_net ), gate.sat_addr.s_node,
strerror(errno) );
continue;
(struct sockaddr_at *) &dst,
(struct sockaddr_at *) &gate,
RTF_UP | RTF_GATEWAY )) {
- syslog( LOG_ERR, "route: %u -> %u.%u: %m", net,
+ LOG(log_error, logtype_default, "route: %u -> %u.%u: %m", net,
ntohs( gate.sat_addr.s_net ), gate.sat_addr.s_node );
continue;
}
/*
- * $Id: zip.c,v 1.9 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: zip.c,v 1.10 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <errno.h>
#include <sys/param.h>
#include <sys/types.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <sys/time.h>
}
}
if ( l == 0 ) {
- syslog( LOG_ERR, "zonecheck: %.*s not in zone list", czt->zt_len,
+ LOG(log_error, logtype_default, "zonecheck: %.*s not in zone list", czt->zt_len,
czt->zt_name );
return( -1 ); /* configured zone not found in net zones */
}
;
if ( cztcnt != ztcnt ) {
- syslog( LOG_ERR, "zonecheck: %d configured zones, %d zones found",
+ LOG(log_error, logtype_default, "zonecheck: %d configured zones, %d zones found",
cztcnt, ztcnt );
return( -1 ); /* more net zones than configured zones */
}
end = data + len;
if ( data >= end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
switch( *data++ ) {
case DDPTYPE_ZIP :
if ( data + sizeof( struct ziphdr ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
memcpy( &zh, data, sizeof( struct ziphdr ));
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %s",
+ LOG(log_error, logtype_default, "zip reply sendto: %s",
strerror(errno) );
}
if ( sendto( ap->ap_fd, packet, reply - packet,
0, (struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %s",
+ LOG(log_error, logtype_default, "zip reply sendto: %s",
strerror(errno) );
}
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %s",
+ LOG(log_error, logtype_default, "zip reply sendto: %s",
strerror(errno) );
}
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %s",
+ LOG(log_error, logtype_default, "zip reply sendto: %s",
strerror(errno) );
}
}
}
}
if ( gate == NULL ) {
- syslog( LOG_INFO, "zip reply from non-gateway %u.%u",
+ LOG(log_info, logtype_default, "zip reply from non-gateway %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
do {
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip reply short (%d)", len );
+ LOG(log_info, logtype_default, "zip reply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
/* XXX */
if ( rtmp->rt_gate == NULL &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_default, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
zlen = *data++;
if ( zlen > 32 || zlen <= 0 ) {
- syslog( LOG_INFO, "zip reply bad packet" );
+ LOG(log_info, logtype_default, "zip reply bad packet" );
return 1;
}
if ( data + zlen > end ) {
- syslog( LOG_INFO, "zip reply short (%d)", len );
+ LOG(log_info, logtype_default, "zip reply short (%d)", len );
return 1;
}
memcpy( zname, data, zlen );
* telling us about the entry.
*/
if ( rtmp == 0 ) {
- syslog( LOG_INFO, "zip skip reply %u from %u.%u (no rtmp)",
+ LOG(log_info, logtype_default, "zip skip reply %u from %u.%u (no rtmp)",
ntohs( firstnet ), ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
/*
* no good if rtmp is the interface's route).
*/
} else if ( rtmp->rt_iprev == NULL && rtmp->rt_prev != NULL ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"zip skip reply %u-%u from %u.%u (rtmp not in use)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
* net to verify our interface's zone(s).
*/
} else if (( rtmp->rt_flags & RTMPTAB_ZIPQUERY ) == 0 ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"zip skip reply %u-%u from %u.%u (no query)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
from->sat_addr.s_node );
} else {
if (addzone( rtmp, zlen, zname ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_default, "zip_packet: addzone");
return -1;
}
rtmp->rt_flags |= RTMPTAB_HASZONES;
/* XXX */
if ( rtmp->rt_gate == 0 &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_default, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
}
}
if ( gate == NULL ) {
- syslog( LOG_INFO, "zip ereply from non-gateway %u.%u",
+ LOG(log_info, logtype_default, "zip ereply from non-gateway %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
* at the top of the do-while loop, below.
*/
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_default, "zip ereply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
}
}
if ( rtmp == NULL ) {
- syslog( LOG_INFO, "zip ereply %u from %u.%u (no rtmp)",
+ LOG(log_info, logtype_default, "zip ereply %u from %u.%u (no rtmp)",
ntohs( firstnet ), ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
return 1;
}
if ( rtmp->rt_iprev == 0 ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_default,
"zip ereply %u-%u from %u.%u (rtmp not in use)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
}
if (( rtmp->rt_flags & RTMPTAB_ZIPQUERY ) == 0 ) {
- syslog( LOG_INFO, "zip ereply %u-%u from %u.%u (no query)",
+ LOG(log_info, logtype_default, "zip ereply %u-%u from %u.%u (no query)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
ntohs( from->sat_addr.s_net ),
* a big deal, and it makes the end condition cleaner.
*/
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_default, "zip ereply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
/* check route */
if ( firstnet != rtmp->rt_firstnet ) {
- syslog( LOG_INFO, "zip ereply with multiple nets" );
+ LOG(log_info, logtype_default, "zip ereply with multiple nets" );
return 1;
}
zlen = *data++;
if ( zlen > 32 || zlen <= 0 ) {
- syslog( LOG_INFO, "zip ereply bad zone length (%d)", zlen );
+ LOG(log_info, logtype_default, "zip ereply bad zone length (%d)", zlen );
return 1;
}
if ( data + zlen > end ) {
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_default, "zip ereply short (%d)", len );
return 1;
}
memcpy( zname, data, zlen );
data += zlen;
if (addzone( rtmp, zlen, zname ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_default, "zip_packet: addzone");
return -1;
}
} while ( data < end );
/* XXX */
if ( rtmp->rt_gate == 0 &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_default, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
}
if ( zh.zh_zero != 0 || data + 2 * sizeof( u_short ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
memcpy( &lastnet, data, sizeof( u_short ));
data += sizeof( u_short );
if ( firstnet != 0 || lastnet != 0 || data >= end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
zlen = *data++;
if ( zlen < 0 || zlen > 32 ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
memcpy( zname, data, zlen );
/* multicast */
*data++ = 6; /* sizeof ??? */
if (zone_bcast(zt) < 0) {
- syslog(LOG_ERR, "zip_packet: zone_bcast");
+ LOG(log_error, logtype_default, "zip_packet: zone_bcast");
return -1;
}
memcpy(data, zt->zt_bcast, 6);
if ( sendto( ap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip gni sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "zip gni sendto %u.%u: %s",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
strerror(errno) );
return 1;
/*
* Ignore ZIP GNIReplys which are either late or unsolicited.
*/
- syslog( LOG_DEBUG, "zip gnireply from %u.%u (%s %x)",
+ LOG(log_debug, logtype_default, "zip gnireply from %u.%u (%s %x)",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
iface->i_name, iface->i_flags );
if (( iface->i_flags & ( IFACE_CONFIG|IFACE_PHASE1 )) ||
( iface->i_flags & IFACE_ADDR ) == 0 ) {
- syslog( LOG_DEBUG, "zip ignoring gnireply" );
+ LOG(log_debug, logtype_default, "zip ignoring gnireply" );
return 1;
}
if ( data + 2 * sizeof( u_short ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
* default zone is.
*/
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
if ( *data++ != 0 ) {
- syslog( LOG_INFO, "zip_packet unsolicited zone" );
+ LOG(log_info, logtype_default, "zip_packet unsolicited zone" );
return 1;
}
/* skip multicast (should really check it) */
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
data += *data + 1;
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_default, "zip_packet malformed packet" );
return 1;
}
if ( iface->i_czt->zt_len != *data ||
strndiacasecmp( iface->i_czt->zt_name,
data + 1, *data ) != 0 ) {
- syslog( LOG_ERR, "default zone mismatch on %s",
+ LOG(log_error, logtype_default, "default zone mismatch on %s",
iface->i_name );
- syslog( LOG_ERR, "%.*s != %.*s",
+ LOG(log_error, logtype_default, "%.*s != %.*s",
iface->i_czt->zt_len, iface->i_czt->zt_name,
*data, data + 1 );
- syslog( LOG_ERR, "Seed error! Exiting!" );
+ LOG(log_error, logtype_default, "Seed error! Exiting!" );
return -1;
}
}
if (addzone( iface->i_rt, *data, data + 1 ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_default, "zip_packet: addzone");
return -1;
}
if ( firstnet != iface->i_rt->rt_firstnet ||
lastnet != iface->i_rt->rt_lastnet ) {
if ( iface->i_flags & IFACE_SEED ) {
- syslog( LOG_ERR, "netrange mismatch on %s",
+ LOG(log_error, logtype_default, "netrange mismatch on %s",
iface->i_name );
- syslog( LOG_ERR, "%u-%u != %u-%u",
+ LOG(log_error, logtype_default, "%u-%u != %u-%u",
ntohs( firstnet ), ntohs( lastnet ),
ntohs( iface->i_rt->rt_firstnet ),
ntohs( iface->i_rt->rt_lastnet ));
- syslog( LOG_ERR, "Seed error! Exiting!" );
+ LOG(log_error, logtype_default, "Seed error! Exiting!" );
return -1;
}
/* add addr to loopback route */
if ( looproute( iface, RTMP_ADD )) { /* -1 or 1 */
- syslog( LOG_ERR,
+ LOG(log_error, logtype_default,
"zip_packet: can't route %u.%u to loopback: %s",
ntohs( iface->i_addr.sat_addr.s_net ),
iface->i_addr.sat_addr.s_node,
return -1;
}
- syslog( LOG_INFO, "zip_packet configured %s from %u.%u",
+ LOG(log_info, logtype_default, "zip_packet configured %s from %u.%u",
iface->i_name, ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
iface->i_flags |= IFACE_CONFIG;
break;
default :
- syslog( LOG_INFO, "zip_packet bad zip op from %u.%u\n",
+ LOG(log_info, logtype_default, "zip_packet bad zip op from %u.%u\n",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
}
break;
case DDPTYPE_ATP :
if ( data + sizeof( struct atphdr ) > end ) {
- syslog( LOG_INFO, "zip atp malformed packet" );
+ LOG(log_info, logtype_default, "zip atp malformed packet" );
return 1;
}
memcpy( &ah, data, sizeof( struct atphdr ));
data += sizeof( struct atphdr );
if ( ah.atphd_ctrlinfo != ATP_TREQ ) {
- syslog( LOG_INFO, "zip atp bad control" );
+ LOG(log_info, logtype_default, "zip atp bad control" );
return 1;
}
ah.atphd_ctrlinfo = ATP_TRESP | ATP_EOM;
if ( ah.atphd_bitmap != 1 ) {
- syslog( LOG_ERR, "zip atp bad bitmap" );
+ LOG(log_error, logtype_default, "zip atp bad bitmap" );
return 1;
}
ah.atphd_bitmap = 0;
data += sizeof( u_short );
index = ntohs( index );
if ( data != end ) {
- syslog( LOG_INFO, "zip atp malformed packet" );
+ LOG(log_info, logtype_default, "zip atp malformed packet" );
return 1;
}
switch ( zipop ) {
case ZIPOP_GETMYZONE :
if ( index != 0 ) {
- syslog( LOG_INFO, "zip atp gmz bad index" );
+ LOG(log_info, logtype_default, "zip atp gmz bad index" );
return 1;
}
}
zt = (struct ziptab *)iface->i_rt->rt_zt->l_data;
if ( data + 1 + zt->zt_len > end ) {
- syslog( LOG_INFO, "zip atp gmz reply too long" );
+ LOG(log_info, logtype_default, "zip atp gmz reply too long" );
return 1;
}
*data++ = zt->zt_len;
break;
default :
- syslog( LOG_INFO, "zip atp bad option" );
+ LOG(log_info, logtype_default, "zip atp bad option" );
return 1;
}
if ( sendto( ap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip atp sendto %u.%u: %s",
+ LOG(log_error, logtype_default, "zip atp sendto %u.%u: %s",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
strerror(errno) );
return 1;
break;
default :
- syslog( LOG_INFO, "zip_packet bad ddp type from %u.%u\n",
+ LOG(log_info, logtype_default, "zip_packet bad ddp type from %u.%u\n",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
char *data, packet[ 40 ];
u_short net;
- syslog( LOG_INFO, "zip_getnetinfo for %s", iface->i_name );
+ LOG(log_info, logtype_default, "zip_getnetinfo for %s", iface->i_name );
for ( ap = iface->i_ports; ap; ap = ap->ap_next ) {
if ( ap->ap_packet == zip_packet ) {
}
}
if ( ap == 0 ) {
- syslog( LOG_ERR, "zip_getnetinfo can't find zip socket!" );
+ LOG(log_error, logtype_default, "zip_getnetinfo can't find zip socket!" );
return -1;
}
if ( sendto( ap->ap_fd, packet, data - packet, 0, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip_getnetinfo sendto: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "zip_getnetinfo sendto: %s", strerror(errno) );
return -1;
}
return 0;
}
}
if (( l = (struct list *)malloc( sizeof( struct list ))) == NULL ) {
- syslog( LOG_ERR, "add_list malloc: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "add_list malloc: %s", strerror(errno) );
return -1;
}
}
if ( zt == NULL ) {
if (( zt = newzt( len, zone )) == NULL ) {
- syslog( LOG_ERR, "addzone newzt: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "addzone newzt: %s", strerror(errno) );
return -1;
}
if ( ziptab == NULL ) {
if (cc) {
if ( !exists ) {
- syslog( LOG_ERR, "addzone corrupted route/zone mapping" );
+ LOG(log_error, logtype_default, "addzone corrupted route/zone mapping" );
return -1;
}
/*
return 0;
}
if ( exists ) {
- syslog( LOG_ERR, "addzone corrupted zone/route mapping" );
+ LOG(log_error, logtype_default, "addzone corrupted zone/route mapping" );
return -1;
}
return 0;
/*
- * $Id: auth.c,v 1.4 2001-06-25 20:13:45 rufustfirefly Exp $
+ * $Id: auth.c,v 1.5 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <ctype.h>
#include <pwd.h>
#include <grp.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include "uam_auth.h"
strncpy(name + len, p, sizeof(name) - len);
if ((stat(name, &st) == 0) && (mod = uam_load(name, p))) {
uam_attach(&uam_modules, mod);
- syslog(LOG_INFO, "uam: %s loaded", p);
+ LOG(log_info, logtype_default, "uam: %s loaded", p);
}
p = strtok(NULL, ",");
}
/*
- * $Id: comment.c,v 1.6 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: comment.c,v 1.7 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <stdio.h>
#include <stdlib.h>
if (( cs = (struct comstate *)malloc( sizeof( struct comstate ))) ==
NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
}
}
if ( comment == NULL || comment->c_handler != handler ) {
- syslog( LOG_ERR, "comswitch: can't find handler!" );
+ LOG(log_error, logtype_default, "comswitch: can't find handler!" );
return( -1 );
}
compop();
/*
- * $Id: file.c,v 1.8 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: file.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <stdio.h>
#include <stdlib.h>
/*
- * $Id: headers.c,v 1.8 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: headers.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <stdio.h>
/*
- * $Id: lp.c,v 1.11 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: lp.c,v 1.12 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_CONFIG_H */
#include <sys/param.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <sys/stat.h>
free( lp.lp_person );
}
if (( lp.lp_person = (char *)malloc( strlen( person ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
strcpy( lp.lp_person, person );
free( lp.lp_host );
}
if (( lp.lp_host = (char *)malloc( strlen( host ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
strcpy( lp.lp_host, host );
free( lp.lp_job );
}
if (( lp.lp_job = (char *)malloc( strlen( job ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
for ( p = job, q = lp.lp_job; *p != '\0'; p++, q++ ) {
if ((cap_file = fopen(addr_filename, "r")) != NULL) {
if (fscanf(cap_file, "%s", username) != EOF) {
if (getpwnam(username) != NULL ) {
- syslog(LOG_INFO, "CAP authenticated %s", username);
+ LOG(log_info, logtype_default, "CAP authenticated %s", username);
lp_person(username);
authenticated = 1;
} else {
- syslog(LOG_INFO, "CAP error: invalid username: '%s'", username);
+ LOG(log_info, logtype_default, "CAP error: invalid username: '%s'", username);
}
} else {
- syslog(LOG_INFO, "CAP error: could not read username");
+ LOG(log_info, logtype_default, "CAP error: could not read username");
}
} else {
- syslog(LOG_INFO, "CAP error: %m");
+ LOG(log_info, logtype_default, "CAP error: %m");
}
} else {
- syslog(LOG_INFO, "CAP error: %m");
+ LOG(log_info, logtype_default, "CAP error: %m");
}
}
}
if ( authenticated == 0 ) {
- syslog( LOG_ERR, "lp_init: must authenticate" );
+ LOG(log_error, logtype_default, "lp_init: must authenticate" );
spoolerror( out, "Authentication required." );
return( -1 );
}
if (( printer->p_flags & P_ACCOUNT ) && printer->p_pagecost > 0 &&
! ABS_canprint( lp.lp_person, printer->p_role,
printer->p_srvid, cost, balance )) {
- syslog( LOG_ERR, "lp_init: no ABS funds" );
+ LOG(log_error, logtype_default, "lp_init: no ABS funds" );
spoolerror( out, "No ABS funds available." );
return( -1 );
}
}
if ( gethostname( hostname, sizeof( hostname )) < 0 ) {
- syslog( LOG_ERR, "gethostname: %m" );
+ LOG(log_error, logtype_default, "gethostname: %m" );
exit( 1 );
}
if ( lp.lp_flags & LP_INIT ) {
- syslog( LOG_ERR, "lp_init: already inited, die!" );
+ LOG(log_error, logtype_default, "lp_init: already inited, die!" );
abort();
}
if ( printer->p_flags & P_SPOOLED ) {
/* check if queuing is enabled: mode & 010 on lock file */
if ( stat( printer->p_lock, &st ) < 0 ) {
- syslog( LOG_ERR, "lp_init: %s: %m", printer->p_lock );
+ LOG(log_error, logtype_default, "lp_init: %s: %m", printer->p_lock );
spoolerror( out, NULL );
return( -1 );
}
if ( st.st_mode & 010 ) {
- syslog( LOG_INFO, "lp_init: queuing is disabled" );
+ LOG(log_info, logtype_default, "lp_init: queuing is disabled" );
spoolerror( out, "Queuing is disabled." );
return( -1 );
}
if (( fd = open( ".seq", O_RDWR|O_CREAT, 0661 )) < 0 ) {
- syslog( LOG_ERR, "lp_init: can't create .seq" );
+ LOG(log_error, logtype_default, "lp_init: can't create .seq" );
spoolerror( out, NULL );
return( -1 );
}
if ( flock( fd, LOCK_EX ) < 0 ) {
- syslog( LOG_ERR, "lp_init: can't lock .seq" );
+ LOG(log_error, logtype_default, "lp_init: can't lock .seq" );
spoolerror( out, NULL );
return( -1 );
}
n = 0;
if (( len = read( fd, buf, sizeof( buf ))) < 0 ) {
- syslog( LOG_ERR, "lp_init read: %m" );
+ LOG(log_error, logtype_default, "lp_init read: %m" );
spoolerror( out, NULL );
return( -1 );
}
return( -1 );
}
if ( lp.lp_flags & LP_OPEN ) {
- syslog( LOG_ERR, "lp_open already open" );
+ LOG(log_error, logtype_default, "lp_open already open" );
abort();
}
if (lp.lp_person != NULL) {
if((pwent = getpwnam(lp.lp_person)) != NULL) {
if(setreuid(pwent->pw_uid, pwent->pw_uid) != 0) {
- syslog(LOG_INFO, "setreuid error: %m");
+ LOG(log_info, logtype_default, "setreuid error: %m");
}
} else {
- syslog(LOG_INFO, "Error getting username (%s)", lp.lp_person);
+ LOG(log_info, logtype_default, "Error getting username (%s)", lp.lp_person);
}
}
if (( lp.lp_stream = popen( printer->p_printer, "w" )) == NULL ) {
- syslog( LOG_ERR, "lp_open popen %s: %m", printer->p_printer );
+ LOG(log_error, logtype_default, "lp_open popen %s: %m", printer->p_printer );
spoolerror( out, NULL );
return( -1 );
}
sprintf( name, "df%c%03d%s", lp.lp_letter++, lp.lp_seq, hostname );
if (( fd = open( name, O_WRONLY|O_CREAT|O_EXCL, 0660 )) < 0 ) {
- syslog( LOG_ERR, "lp_open %s: %m", name );
+ LOG(log_error, logtype_default, "lp_open %s: %m", name );
spoolerror( out, NULL );
return( -1 );
}
if (lp.lp_person != NULL) {
if ((pwent = getpwnam(lp.lp_person)) == NULL) {
- syslog(LOG_ERR, "getpwnam %s: no such user", lp.lp_person);
+ LOG(log_error, logtype_default, "getpwnam %s: no such user", lp.lp_person);
spoolerror( out, NULL );
return( -1 );
}
} else {
if ((pwent = getpwnam(printer->p_operator)) == NULL) {
- syslog(LOG_ERR, "getpwnam %s: no such user", printer->p_operator);
+ LOG(log_error, logtype_default, "getpwnam %s: no such user", printer->p_operator);
spoolerror( out, NULL );
return( -1 );
}
}
if (fchown(fd, pwent->pw_uid, -1) < 0) {
- syslog(LOG_ERR, "chown %s %s: %m", pwent->pw_name, name);
+ LOG(log_error, logtype_default, "chown %s %s: %m", pwent->pw_name, name);
spoolerror( out, NULL );
return( -1 );
}
if (( lp.lp_stream = fdopen( fd, "w" )) == NULL ) {
- syslog( LOG_ERR, "lp_open fdopen: %m" );
+ LOG(log_error, logtype_default, "lp_open fdopen: %m" );
spoolerror( out, NULL );
return( -1 );
}
}
if ( fwrite( buf, 1, len, lp.lp_stream ) != len ) {
- syslog( LOG_ERR, "lp_write: %m" );
+ LOG(log_error, logtype_default, "lp_write: %m" );
abort();
}
return( 0 );
for ( letter = 'A'; letter < lp.lp_letter; letter++ ) {
sprintf( name, "df%c%03d%s", letter, lp.lp_seq, hostname );
if ( unlink( name ) < 0 ) {
- syslog( LOG_ERR, "lp_cancel unlink %s: %m", name );
+ LOG(log_error, logtype_default, "lp_cancel unlink %s: %m", name );
}
}
if ( printer->p_flags & P_SPOOLED ) {
sprintf( tfname, "tfA%03d%s", lp.lp_seq, hostname );
if (( fd = open( tfname, O_WRONLY|O_EXCL|O_CREAT, 0660 )) < 0 ) {
- syslog( LOG_ERR, "lp_print %s: %m", tfname );
+ LOG(log_error, logtype_default, "lp_print %s: %m", tfname );
return 0;
}
if (( cfile = fdopen( fd, "w" )) == NULL ) {
- syslog( LOG_ERR, "lp_print %s: %m", tfname );
+ LOG(log_error, logtype_default, "lp_print %s: %m", tfname );
return 0;
}
fprintf( cfile, "H%s\n", hostname ); /* XXX lp_host? */
sprintf( cfname, "cfA%03d%s", lp.lp_seq, hostname );
if ( link( tfname, cfname ) < 0 ) {
- syslog( LOG_ERR, "lp_print can't link %s to %s: %m", cfname,
+ LOG(log_error, logtype_default, "lp_print can't link %s to %s: %m", cfname,
tfname );
return 0;
}
unlink( tfname );
if (( s = lp_conn_unix()) < 0 ) {
- syslog( LOG_ERR, "lp_print: lp_conn_unix: %m" );
+ LOG(log_error, logtype_default, "lp_print: lp_conn_unix: %m" );
return 0;
}
sprintf( buf, "\1%s\n", printer->p_printer );
n = strlen( buf );
if ( write( s, buf, n ) != n ) {
- syslog( LOG_ERR, "lp_print write: %m" );
+ LOG(log_error, logtype_default, "lp_print write: %m" );
return 0;
}
if ( read( s, buf, 1 ) != 1 ) {
- syslog( LOG_ERR, "lp_print read: %m" );
+ LOG(log_error, logtype_default, "lp_print read: %m" );
return 0;
}
lp_disconn_unix( s );
if ( buf[ 0 ] != '\0' ) {
- syslog( LOG_ERR, "lp_print lpd said %c: %m", buf[ 0 ] );
+ LOG(log_error, logtype_default, "lp_print lpd said %c: %m", buf[ 0 ] );
return 0;
}
}
- syslog( LOG_INFO, "lp_print queued" );
+ LOG(log_info, logtype_default, "lp_print queued" );
return 0;
}
struct sockaddr_un saun;
if (( s = socket( AF_UNIX, SOCK_STREAM, 0 )) < 0 ) {
- syslog( LOG_ERR, "lp_conn_unix socket: %m" );
+ LOG(log_error, logtype_default, "lp_conn_unix socket: %m" );
return( -1 );
}
memset( &saun, 0, sizeof( struct sockaddr_un ));
strcpy( saun.sun_path, _PATH_DEVPRINTER );
if ( connect( s, (struct sockaddr *)&saun,
strlen( saun.sun_path ) + 2 ) < 0 ) {
- syslog( LOG_ERR, "lp_conn_unix connect %s: %m", saun.sun_path );
+ LOG(log_error, logtype_default, "lp_conn_unix connect %s: %m", saun.sun_path );
close( s );
return( -1 );
}
struct hostent *hp;
if (( sp = getservbyname( "printer", "tcp" )) == NULL ) {
- syslog( LOG_ERR, "printer/tcp: unknown service\n" );
+ LOG(log_error, logtype_default, "printer/tcp: unknown service\n" );
return( -1 );
}
if ( gethostname( hostname, sizeof( hostname )) < 0 ) {
- syslog( LOG_ERR, "gethostname: %m" );
+ LOG(log_error, logtype_default, "gethostname: %m" );
exit( 1 );
}
if (( hp = gethostbyname( hostname )) == NULL ) {
- syslog( LOG_ERR, "%s: unknown host\n", hostname );
+ LOG(log_error, logtype_default, "%s: unknown host\n", hostname );
return( -1 );
}
if (( privfd = rresvport( &port )) < 0 ) {
- syslog( LOG_ERR, "lp_connect: socket: %m" );
+ LOG(log_error, logtype_default, "lp_connect: socket: %m" );
close( privfd );
return( -1 );
}
if ( connect( privfd, (struct sockaddr *)&sin,
sizeof( struct sockaddr_in )) < 0 ) {
- syslog( LOG_ERR, "lp_connect: %m" );
+ LOG(log_error, logtype_default, "lp_connect: %m" );
close( privfd );
return( -1 );
}
int n, s;
if (( s = lp_conn_inet()) < 0 ) {
- syslog( LOG_ERR, "lp_rmjob: %m" );
+ LOG(log_error, logtype_default, "lp_rmjob: %m" );
return( -1 );
}
sprintf( buf, "\5%s %s %d\n", printer->p_printer, lp.lp_person, job );
n = strlen( buf );
if ( write( s, buf, n ) != n ) {
- syslog( LOG_ERR, "lp_rmjob write: %m" );
+ LOG(log_error, logtype_default, "lp_rmjob write: %m" );
lp_disconn_inet( s );
return( -1 );
}
while (( n = read( s, buf, sizeof( buf ))) > 0 ) {
- syslog( LOG_DEBUG, "read %.*s", n, buf );
+ LOG(log_debug, logtype_default, "read %.*s", n, buf );
}
lp_disconn_inet( s );
int n, len, s;
if (( s = lp_conn_unix()) < 0 ) {
- syslog( LOG_ERR, "lp_queue: %m" );
+ LOG(log_error, logtype_default, "lp_queue: %m" );
return( -1 );
}
sprintf( buf, "\3%s\n", printer->p_printer );
n = strlen( buf );
if ( write( s, buf, n ) != n ) {
- syslog( LOG_ERR, "lp_queue write: %m" );
+ LOG(log_error, logtype_default, "lp_queue write: %m" );
lp_disconn_unix( s );
return( -1 );
}
/*
- * $Id: magics.c,v 1.8 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: magics.c,v 1.9 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <stdio.h>
#include <string.h>
/* set up spool file */
if ( lp_open( outfile, sat ) < 0 ) {
- syslog( LOG_ERR, "lp_open failed" );
+ LOG(log_error, logtype_default, "lp_open failed" );
spoolerror( outfile, "Ignoring job." );
}
}
if ( in->pf_state & PF_BOT ) {
in->pf_state &= ~PF_BOT;
if ( lp_open( out, sat ) < 0 ) {
- syslog( LOG_ERR, "lp_open failed" );
+ LOG(log_error, logtype_default, "lp_open failed" );
spoolerror( out, "Ignoring job." );
}
} else {
if ( stop - p >= strlen( Query ) &&
strncmp( p, Query, strlen( Query )) == 0 ) {
if ( comswitch( magics, cm_psquery ) < 0 ) {
- syslog( LOG_ERR, "cm_psswitch: can't find psquery!" );
+ LOG(log_error, logtype_default, "cm_psswitch: can't find psquery!" );
exit( 1 );
}
} else {
if ( comswitch( magics, cm_psadobe ) < 0 ) {
- syslog( LOG_ERR, "cm_psswitch: can't find psadobe!" );
+ LOG(log_error, logtype_default, "cm_psswitch: can't find psadobe!" );
exit( 1 );
}
}
/*
- * $Id: main.c,v 1.14 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: main.c,v 1.15 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1990,1995 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#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>
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_default, "can't unregister %s:%s@%s\n", 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_default, "unregister %s:%s@%s\n", pr->p_name, pr->p_type,
pr->p_zone );
}
}
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_default, "child %d exited with %d", pid,
WEXITSTATUS( status ));
} else {
- syslog( LOG_INFO, "child %d done", pid );
+ LOG(log_info, logtype_default, "child %d done", pid );
}
} else {
if ( WIFSIGNALED( status )) {
- syslog( LOG_ERR, "child %d killed with %d", pid,
+ LOG(log_error, logtype_default, "child %d killed with %d", pid,
WTERMSIG( status ));
} else {
- syslog( LOG_ERR, "child %d died", pid );
+ LOG(log_error, logtype_default, "child %d died", pid );
}
}
}
#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_default, "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_default, "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_default, "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_default, "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_default, "Authentication enabled: %s", pr->p_name );
}
else {
- syslog( LOG_INFO, "Authentication disabled: %s", pr->p_name );
+ LOG(log_info, logtype_default, "Authentication disabled: %s", pr->p_name );
}
- syslog( LOG_INFO, "register %s:%s@%s", pr->p_name, pr->p_type,
+ LOG(log_info, logtype_default, "register %s:%s@%s", pr->p_name, pr->p_type,
pr->p_zone );
pr->p_flags |= P_REGISTERED;
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "sigaction: %m" );
+ LOG(log_error, logtype_default, "sigaction: %m" );
papd_exit( 1 );
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGCHLD, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "sigaction: %m" );
+ LOG(log_error, logtype_default, "sigaction: %m" );
papd_exit( 1 );
}
if ( errno == EINTR ) {
continue;
}
- syslog( LOG_ERR, "select: %m" );
+ LOG(log_error, logtype_default, "select: %m" );
papd_exit( 1 );
}
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_default, "atp_rreq: %m" );
continue;
}
rbuf[ 2 ] = rbuf[ 3 ] = 0;
if (( pr->p_flags & P_SPOOLED ) && rprintcap( pr ) != 0 ) {
- syslog( LOG_ERR, "printcap problem: %s",
+ LOG(log_error, logtype_default, "printcap problem: %s",
pr->p_printer );
rbuf[ 2 ] = rbuf[ 3 ] = 0xff;
err = 1;
*/
if (( atp = atp_open( ATADDR_ANYPORT,
&pr->p_addr)) == NULL ) {
- syslog( LOG_ERR, "atp_open: %m" );
+ LOG(log_error, logtype_default, "atp_open: %m" );
rbuf[ 2 ] = rbuf[ 3 ] = 0xff;
err = 1;
}
* 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_default, "atp_sresp: %m" );
continue;
}
switch ( c = fork()) {
case -1 :
- syslog( LOG_ERR, "fork: %m" );
+ LOG(log_error, logtype_default, "fork: %m" );
continue;
case 0 : /* child */
if (( printer->p_flags & P_SPOOLED ) &&
chdir( printer->p_spool ) < 0 ) {
- syslog( LOG_ERR, "chdir %s: %m", printer->p_spool );
+ LOG(log_error, logtype_default, "chdir %s: %m", printer->p_spool );
exit( 1 );
}
sigemptyset( &sv.sa_mask );
sv.sa_flags = SA_RESTART;
if ( sigaction( SIGTERM, &sv, 0 ) < 0 ) {
- syslog( LOG_ERR, "sigaction: %m" );
+ LOG(log_error, logtype_default, "sigaction: %m" );
exit( 1 );
}
}
sat.sat_port = sock;
if ( session( atp, &sat ) < 0 ) {
- syslog( LOG_ERR, "bad session" );
+ LOG(log_error, logtype_default, "bad session" );
exit( 1 );
}
exit( 0 );
break;
default : /* parent */
- syslog( LOG_INFO, "child %d for \"%s\" from %u.%u",
+ LOG(log_info, logtype_default, "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 );
* 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_default, "atp_sresp: %m" );
}
break;
default :
- syslog( LOG_ERR, "Bad request from %u.%u!",
+ LOG(log_error, logtype_default, "Bad request from %u.%u!",
ntohs( sat.sat_addr.s_net ), sat.sat_addr.s_node );
continue;
break;
* 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_default, "atp_sresp: %m" );
}
#endif /* notdef */
}
*/
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_default, "No such printer: %s", pr->p_printer );
return( -1 );
}
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_default, "malloc: %m" );
exit( 1 );
}
strcpy( pr->p_spool, p );
} else {
if (( pr->p_role =
(char *)malloc( strlen( p ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
strcpy( pr->p_role, p );
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_default, "malloc: %m" );
exit( 1 );
}
strcpy( pr->p_pagecost_msg, p );
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_default, "malloc: %m" );
exit( 1 );
}
strcpy( pr->p_lock, p );
/*
- * $Id: ppd.c,v 1.7 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: ppd.c,v 1.8 2002-01-04 04:45:47 sibaz Exp $
*
* Copyright (c) 1995 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/time.h>
continue;
}
if ( p[ strlen( p ) - 1 ] != '\n' ) {
- syslog( LOG_ERR, "getppdent: line too long" );
+ LOG(log_error, logtype_default, "getppdent: line too long" );
continue;
}
struct ppd_font *pfo;
if ( fcnt > 20 ) {
- syslog( LOG_ERR, "read_ppd: %s: Too many files!", file );
+ LOG(log_error, logtype_default, "read_ppd: %s: Too many files!", file );
return( -1 );
}
if (( ppdfile = fopen( file, "r" )) == NULL ) {
- syslog( LOG_ERR, "read_ppd %s: %m", file );
+ LOG(log_error, logtype_default, "read_ppd %s: %m", file );
return( -1 );
}
if (( pfo = (struct ppd_font *)malloc( sizeof( struct ppd_font )))
== NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
if (( pfo->pd_font =
(char *)malloc( strlen( pe->pe_option ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
strcpy( pfo->pd_font, pe->pe_option );
if ( pfe->pd_name && (pfe->pd_value == NULL) ) {
if (( pfe->pd_value =
(char *)malloc( strlen( pe->pe_value ) + 1 )) == NULL ) {
- syslog( LOG_ERR, "malloc: %m" );
+ LOG(log_error, logtype_default, "malloc: %m" );
exit( 1 );
}
/*
- * $Id: queries.c,v 1.9 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: queries.c,v 1.10 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <sys/time.h>
#include <sys/types.h>
if (( rc = krb_rd_req( &tkt, "LaserWriter", printer->p_name,
0, &ad, "" )) != RD_AP_OK ) {
- syslog( LOG_ERR, "cq_k4login: %s", krb_err_txt[ rc ] );
+ LOG(log_error, logtype_default, "cq_k4login: %s", krb_err_txt[ rc ] );
append( out, LoginFailed, strlen( LoginFailed ));
compop();
CONSUME( in, linelength + crlflength );
return( CH_DONE );
}
- syslog( LOG_INFO, "cq_k4login: %s.%s@%s", ad.pname, ad.pinst,
+ LOG(log_info, logtype_default, "cq_k4login: %s.%s@%s", ad.pname, ad.pinst,
ad.prealm );
lp_person( ad.pname );
lp_host( ad.prealm );
if ( comgetflags() == 0 ) { /* start */
if (( printer->p_flags & P_KRB ) == 0 ) { /* no kerberos */
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_uameth: can't find default!" );
+ LOG(log_error, logtype_default, "cq_uameth: can't find default!" );
exit( 1 );
}
return( CH_DONE );
if ( gq->gq_name == NULL || gq->gq_handler == NULL ||
(gq->gq_handler)( out ) < 0 ) {
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_feature: can't find default!" );
+ LOG(log_error, logtype_default, "cq_feature: can't find default!" );
exit( 1 );
}
return( CH_DONE );
if (( pfe = ppd_feature( p, stop - p )) == NULL ) {
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_feature: can't find default!" );
+ LOG(log_error, logtype_default, "cq_feature: can't find default!" );
exit( 1 );
}
return( CH_DONE );
if (( pdpsver = ppd_feature( psver, strlen( psver ))) == NULL ) {
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_printer: can't find default!" );
+ LOG(log_error, logtype_default, "cq_printer: can't find default!" );
exit( 1 );
}
return( CH_DONE );
}
}
if ( *p == '\0' ) {
- syslog( LOG_ERR, "cq_printer: can't parse PSVersion!" );
+ LOG(log_error, logtype_default, "cq_printer: can't parse PSVersion!" );
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_printer: can't find default!" );
+ LOG(log_error, logtype_default, "cq_printer: can't find default!" );
exit( 1 );
}
return( CH_DONE );
if (( pdprod = ppd_feature( prod, strlen( prod ))) == NULL ) {
if ( comswitch( queries, cq_default ) < 0 ) {
- syslog( LOG_ERR, "cq_printer: can't find default!" );
+ LOG(log_error, logtype_default, "cq_printer: can't find default!" );
exit( 1 );
}
return( CH_DONE );
}
if ( lp_queue( out )) {
- syslog( LOG_ERR, "cq_listq: lp_queue failed" );
+ LOG(log_error, logtype_default, "cq_listq: lp_queue failed" );
}
compop();
if ((papd_uam = auth_uamfind(UAM_SERVER_PRINTAUTH,
uamtype, strlen(uamtype))) == NULL) {
- syslog(LOG_INFO, "Could not find uam: %s", uamtype);
+ LOG(log_info, logtype_default, "Could not find uam: %s", uamtype);
append(out, rbiloginbad, strlen(rbiloginbad));
append(out, rbiloginerrstr, strlen(rbiloginerrstr));
} else {
/*
- * $Id: session.c,v 1.12 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: session.c,v 1.13 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/time.h>
#include <sys/uio.h>
#include <netatalk/endian.h>
atpb.atp_sreqto = 5; /* retry timer */
atpb.atp_sreqtries = -1; /* infinite retries */
if ( atp_sreq( atp, &atpb, oquantum, ATP_XO )) {
- syslog( LOG_ERR, "atp_sreq: %m" );
+ LOG(log_error, logtype_default, "atp_sreq: %m" );
return( -1 );
}
do { /* do list until success or an unrecoverable error occurs */
if (( cc = select( FD_SETSIZE, &fds, 0, 0, &tv )) < 0 )
- syslog( LOG_ERR, "select: %m" ); /* log all errors */
+ LOG(log_error, logtype_default, "select: %m" ); /* log all errors */
} while (( cc < 0 ) && (errno == 4));
if ( cc < 0 ) {
- syslog( LOG_ERR, "select: Error is unrecoverable" );
+ LOG(log_error, logtype_default, "select: Error is unrecoverable" );
return( -1 );
}
if ( cc == 0 ) {
if ( timeout++ > 2 ) {
- syslog( LOG_ERR, "connection timed out" );
+ LOG(log_error, logtype_default, "connection timed out" );
lp_cancel();
return( -1 );
}
atpb.atp_sreqto = 0; /* best effort */
atpb.atp_sreqtries = 1; /* try once */
if ( atp_sreq( atp, &atpb, 0, 0 )) {
- syslog( LOG_ERR, "atp_sreq: %m" );
+ LOG(log_error, logtype_default, "atp_sreq: %m" );
return( -1 );
}
continue;
atpb.atp_rreqdata = cbuf;
atpb.atp_rreqdlen = sizeof( cbuf );
if ( atp_rreq( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "atp_rreq: %m" );
+ LOG(log_error, logtype_default, "atp_rreq: %m" );
return( -1 );
}
/* sanity */
if ( (unsigned char)cbuf[ 0 ] != connid ) {
- syslog( LOG_ERR, "Bad ATP request!" );
+ LOG(log_error, logtype_default, "Bad ATP request!" );
continue;
}
atpb.atp_sresiov = niov;
atpb.atp_sresiovcnt = 1;
if ( atp_sresp( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "atp_sresp: %m" );
+ LOG(log_error, logtype_default, "atp_sresp: %m" );
exit( 1 );
}
return( 0 );
case PAP_TICKLE :
break;
default :
- syslog( LOG_ERR, "Bad PAP request!" );
+ LOG(log_error, logtype_default, "Bad PAP request!" );
}
break;
atpb.atp_rresiov = niov;
atpb.atp_rresiovcnt = oquantum;
if ( atp_rresp( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "atp_rresp: %m" );
+ LOG(log_error, logtype_default, "atp_rresp: %m" );
return( -1 );
}
/* sanity */
if ( ((unsigned char *)niov[ 0 ].iov_base)[ 0 ] != connid ||
((char *)niov[ 0 ].iov_base)[ 1 ] != PAP_DATA ) {
- syslog( LOG_ERR, "Bad data response!" );
+ LOG(log_error, logtype_default, "Bad data response!" );
continue;
}
/* move data */
if ( ps( &infile, &outfile, sat ) < 0 ) {
- syslog( LOG_ERR, "parse: bad return" );
+ LOG(log_error, logtype_default, "parse: bad return" );
return( -1 ); /* really? close? */
}
atpb.atp_sreqto = 5; /* retry timer */
atpb.atp_sreqtries = -1; /* infinite retries */
if ( atp_sreq( atp, &atpb, oquantum, ATP_XO )) {
- syslog( LOG_ERR, "atp_sreq: %m" );
+ LOG(log_error, logtype_default, "atp_sreq: %m" );
return( -1 );
}
break;
break;
default :
- syslog( LOG_ERR, "atp_rsel: %m" );
+ LOG(log_error, logtype_default, "atp_rsel: %m" );
return( -1 );
}
atpb.atp_sresiov = niov;
atpb.atp_sresiovcnt = i; /* reported by stevebn@pc1.eos.co.uk */
if ( atp_sresp( atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "atp_sresp: %m" );
+ LOG(log_error, logtype_default, "atp_sresp: %m" );
return( -1 );
}
readpending = 0;
/*
- * $Id: showppd.c,v 1.4 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: showppd.c,v 1.5 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1995 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/time.h>
/*
- * $Id: uam.c,v 1.6 2001-09-06 20:00:59 rufustfirefly Exp $
+ * $Id: uam.c,v 1.7 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_UNISTD_H */
#include <fcntl.h>
#include <ctype.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/param.h>
#include <sys/time.h>
void *module;
if ((module = mod_open(path)) == NULL) {
- syslog(LOG_ERR, "uam_load(%s): failed to load.", name);
- syslog(LOG_ERR, dlerror());
+ LOG(log_error, logtype_default, "uam_load(%s): failed to load.", name);
+ LOG(log_error, logtype_default, dlerror());
return NULL;
}
if ((mod = (struct uam_mod *) malloc(sizeof(struct uam_mod))) == NULL) {
- syslog(LOG_ERR, "uam_load(%s): malloc failed", name);
+ LOG(log_error, logtype_default, "uam_load(%s): malloc failed", name);
goto uam_load_fail;
}
}
if (mod->uam_fcn->uam_type != UAM_MODULE_SERVER) {
- syslog(LOG_ERR, "uam_load(%s): attempted to load a non-server module",
+ LOG(log_error, logtype_default, "uam_load(%s): attempted to load a non-server module",
name);
goto uam_load_err;
}
if (!mod->uam_fcn->uam_setup ||
((*mod->uam_fcn->uam_setup)(name) < 0)) {
- syslog(LOG_ERR, "uam_load(%s): uam_setup failed", name);
+ LOG(log_error, logtype_default, "uam_load(%s): uam_setup failed", name);
goto uam_load_err;
}
if ((uam = auth_uamfind(type, name, strlen(name)))) {
if (strcmp(uam->uam_path, path)) {
/* it exists, but it's not the same module. */
- syslog(LOG_ERR, "uam_register: \"%s\" already loaded by %s",
+ LOG(log_error, logtype_default, "uam_register: \"%s\" already loaded by %s",
name, path);
return -1;
}
#ifndef DISABLE_SHELLCHECK
if (!p) {
- syslog( LOG_INFO, "illegal shell %s for %s",pwd->pw_shell,pwd->pw_name);
+ LOG(log_info, logtype_default, "illegal shell %s for %s",pwd->pw_shell,pwd->pw_name);
return -1;
}
#endif /* DISABLE_SHELLCHECK */
/*
- * $Id: uams_dhx_pam.c,v 1.19 2001-11-20 17:07:18 srittau Exp $
+ * $Id: uams_dhx_pam.c,v 1.20 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
if (num_msg < 1) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
strerror(errno));
/* Log Entry */
return PAM_CONV_ERR;
if (!reply) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
strerror(errno));
/* Log Entry */
return PAM_CONV_ERR;
case PAM_PROMPT_ECHO_ON:
if (!(string = COPY_STRING(PAM_username))) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: username failure -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: username failure -- %s",
strerror(errno));
/* Log Entry */
goto pam_fail_conv;
case PAM_PROMPT_ECHO_OFF:
if (!(string = COPY_STRING(PAM_password))) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: passwd failure: --: %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: passwd failure: --: %s",
strerror(errno));
/* Log Entry */
goto pam_fail_conv;
case PAM_ERROR_MSG:
default:
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Binary_Prompt -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Binary_Prompt -- %s",
strerror(errno));
/* Log Entry */
goto pam_fail_conv;
*resp = reply;
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM Success -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM Success -- %s",
strerror(errno));
/* Log Entry */
return PAM_SUCCESS;
}
free(reply);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM DHX Conversation Err -- %s",
strerror(errno));
/* Log Entry */
return PAM_CONV_ERR;
/* get the client's public key */
if (!(bn = BN_bin2bn(ibuf, KEYSIZE, NULL))) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM No Public Key -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM No Public Key -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (!(gbn = BN_bin2bn(&g, sizeof(g), NULL))) {
BN_clear_free(bn);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM No Primes: GBN -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM No Primes: GBN -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
BN_free(gbn);
BN_clear_free(bn);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM No Primes: PBN -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM No Primes: PBN -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
BN_free(gbn);
BN_clear_free(bn);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM DH was equal to DH_New... Go figure... -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM DH was equal to DH_New... Go figure... -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
dh->g = gbn;
if (!DH_generate_key(dh) || (BN_num_bytes(dh->pub_key) > KEYSIZE)) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Err Generating Key -- Not enough Space? -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Err Generating Key -- Not enough Space? -- %s",
strerror(errno));
/* Log Entry */
goto pam_fail;
&i) < 0) {
*rbuflen = 0;
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Buffer Encryption Err. -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Buffer Encryption Err. -- %s",
strerror(errno));
/* Log Entry */
goto pam_fail;
(void *) &buf, NULL) < 0) {
*rbuflen = 0;
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Signature Retieval Failure -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Signature Retieval Failure -- %s",
strerror(errno));
/* Log Entry */
goto pam_fail;
BN_free(bn);
DH_free(dh);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Fail - Cast Encryption -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Fail - Cast Encryption -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (uam_afpserver_option(obj, UAM_OPTION_USERNAME, (void *) &buf,
&i) < 0) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: uam_afpserver_option didn't meet uam_option_username -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: uam_afpserver_option didn't meet uam_option_username -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
len = (unsigned char) *ibuf++;
if ( len > i ) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Signature Retieval Failure -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Signature Retieval Failure -- %s",
strerror(errno));
/* Log Entry */
return( AFPERR_PARAM );
if (( dhxpwd = uam_getname(buf, i)) == NULL ) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: User entered a null value -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: User entered a null value -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
}
PAM_username = buf;
- syslog( LOG_INFO, "dhx login: %s", buf);
+ LOG(log_info, logtype_default, "dhx login: %s", buf);
return dhx_setup(obj, ibuf, ibuflen, rbuf, rbuflen);
}
memcpy(&sessid, ibuf, sizeof(sessid));
if (sessid != dhxhash(obj)) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM Session ID - DHXHash Mismatch -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM Session ID - DHXHash Mismatch -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (uam_afpserver_option(obj, UAM_OPTION_CLIENTNAME,
(void *) &hostname, NULL) < 0)
{
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: unable to retrieve client hostname");
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: unable to retrieve client hostname");
hostname = NULL;
}
&pamh);
if (PAM_error != PAM_SUCCESS) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
pam_strerror(pamh,PAM_error), strerror(errno));
/* Log Entry */
goto logincont_err;
if (PAM_error == PAM_MAXTRIES)
err = AFPERR_PWDEXPR;
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
pam_strerror(pamh, PAM_error), strerror(errno));
/* Log Entry */
goto logincont_err;
err = AFPERR_PWDCHNG;
#endif
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
pam_strerror(pamh, PAM_error), strerror(errno));
/* Log Entry */
goto logincont_err;
PAM_error = pam_setcred(pamh, PAM_CRED_ESTABLISH);
if (PAM_error != PAM_SUCCESS) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
pam_strerror(pamh, PAM_error), strerror(errno));
/* Log Entry */
goto logincont_err;
PAM_error = pam_open_session(pamh, 0);
if (PAM_error != PAM_SUCCESS) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM_Error: %s -- %s",
pam_strerror(pamh, PAM_error), strerror(errno));
/* Log Entry */
goto logincont_err;
memset(rbuf, 0, PASSWDLEN); /* zero out the password */
*uam_pwd = dhxpwd;
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: PAM Auth OK!");
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: PAM Auth OK!");
/* Log Entry */
return AFP_OK;
/* check out the session id */
if (sessid != dhxhash(obj)) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Session ID not Equal to DHX Hash -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Session ID not Equal to DHX Hash -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (uam_afpserver_option(obj, UAM_OPTION_HOSTNAME,
(void *) &hostname, NULL) < 0) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Hostname Null?? -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Hostname Null?? -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_MISC;
* get sent back an incremented random number. */
if (!(bn1 = BN_bin2bn(ibuf, KEYSIZE, NULL))) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Random Number Not the same or not incremented-- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Random Number Not the same or not incremented-- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (!(bn2 = BN_bin2bn(randbuf, sizeof(randbuf), NULL))) {
BN_free(bn1);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Random Number Not the same or not incremented -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Random Number Not the same or not incremented -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
BN_free(bn2);
BN_free(bn1);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Random Number did not Zero -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Random Number did not Zero -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
if (!BN_is_one(bn3)) {
BN_free(bn3);
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: After Random Number not Zero, is it one more? -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: After Random Number not Zero, is it one more? -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
&lpamh);
if (PAM_error != PAM_SUCCESS) {
/* Log Entry */
- syslog(LOG_INFO, "uams_dhx_pam.c :PAM: Needless to say, PAM_error is != to PAM_SUCCESS -- %s",
+ LOG(log_info, logtype_default, "uams_dhx_pam.c :PAM: Needless to say, PAM_error is != to PAM_SUCCESS -- %s",
strerror(errno));
/* Log Entry */
return AFPERR_PARAM;
/*
- * $Id: uams_dhx_passwd.c,v 1.13 2001-10-24 16:25:24 srittau Exp $
+ * $Id: uams_dhx_passwd.c,v 1.14 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#include <crypt.h>
#endif /* ! NO_CRYPT_H */
#include <pwd.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef SHADOWPW
#include <shadow.h>
return AFPERR_PARAM;
}
- syslog( LOG_INFO, "dhx login: %s", name);
+ LOG(log_info, logtype_default, "dhx login: %s", name);
if (uam_checkuser(dhxpwd) < 0)
return AFPERR_NOTAUTH;
#ifdef SHADOWPW
if (( sp = getspnam( dhxpwd->pw_name )) == NULL ) {
- syslog( LOG_INFO, "no shadow passwd entry for %s", name);
+ LOG(log_info, logtype_default, "no shadow passwd entry for %s", name);
return AFPERR_NOTAUTH;
}
dhxpwd->pw_passwd = sp->sp_pwdp;
/*
- * $Id: uams_guest.c,v 1.8 2001-10-24 14:34:33 srittau Exp $
+ * $Id: uams_guest.c,v 1.9 2002-01-04 04:45:48 sibaz Exp $
*
* (c) 2001 (see COPYING)
*/
#endif /* STDC_HEADERS */
#include <pwd.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/afp.h>
#include <atalk/uam.h>
char *guest, *username;
*rbuflen = 0;
- syslog( LOG_INFO, "login noauth" );
+ LOG(log_info, logtype_default, "login noauth" );
if (uam_afpserver_option(obj, UAM_OPTION_GUEST, (void *) &guest,
NULL) < 0)
strcpy(username, guest);
if ((pwent = getpwnam(guest)) == NULL) {
- syslog( LOG_ERR, "noauth_login: getpwnam( %s ): %s",
+ LOG(log_error, logtype_default, "noauth_login: getpwnam( %s ): %s",
guest, strerror(errno) );
return( AFPERR_BADUAM );
}
#ifdef AFS
if ( setpag() < 0 ) {
- syslog( LOG_ERR, "noauth_login: setpag: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "noauth_login: setpag: %s", strerror(errno) );
return( AFPERR_BADUAM );
}
#endif /* AFS */
*/
if ((p = strchr(data, '(' )) == NULL) {
- syslog(LOG_INFO,"Bad Login NoAuthUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login NoAuthUAM: username not found in string");
free(data);
return(-1);
}
p++;
if ((q = strchr(data, ')' )) == NULL) {
- syslog(LOG_INFO,"Bad Login NoAuthUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login NoAuthUAM: username not found in string");
free(data);
return(-1);
}
free(data);
if (getpwnam(username) == NULL) {
- syslog(LOG_INFO, "Bad Login NoAuthUAM: %s: %s",
+ LOG(log_info, logtype_default, "Bad Login NoAuthUAM: %s: %s",
username, strerror(errno) );
return(-1);
}
/* Login successful */
append(out, loginok, strlen(loginok));
- syslog(LOG_INFO, "Login NoAuthUAM: %s", username);
+ LOG(log_info, logtype_default, "Login NoAuthUAM: %s", username);
return(0);
}
/*
- * $Id: uams_krb4.c,v 1.5 2001-09-06 20:00:59 rufustfirefly Exp $
+ * $Id: uams_krb4.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <ctype.h>
#include <pwd.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netinet/in.h>
#include <des.h>
#include <krb.h>
switch( *ibuf ) {
case KRB4CMD_SESS:
- syslog( LOG_INFO, "krb4_login: KRB4CMD_SESS" );
+ LOG(log_info, logtype_default, "krb4_login: KRB4CMD_SESS" );
++ibuf;
p = ibuf;
memcpy( &len, p, sizeof( u_int16_t ));
if ( tkt.length <= 0 || tkt.length > MAX_KTXT_LEN ) {
*rbuflen = 0;
- syslog( LOG_INFO, "krb4_login: tkt.length = %d", tkt.length );
+ LOG(log_info, logtype_default, "krb4_login: tkt.length = %d", tkt.length );
return( AFPERR_BADUAM );
}
if( (rc = krb_rd_req( &tkt, princ, inst, 0, &ad, "" ))
!= RD_AP_OK ) {
- syslog( LOG_ERR,
+ LOG(log_error, logtype_default,
"krb4_login: krb_rd_req(): %s", krb_err_txt[ rc ] );
*rbuflen = 0;
return( AFPERR_BADUAM );
}
- syslog( LOG_INFO, "krb4_login: %s.%s@%s", ad.pname, ad.pinst,
+ LOG(log_info, logtype_default, "krb4_login: %s.%s@%s", ad.pname, ad.pinst,
ad.prealm );
strcpy( realm, ad.prealm );
memcpy( seskey, ad.session, sizeof( C_Block ) );
case KRB4CMD_HELO:
p = rbuf;
if (krb_get_lrealm( realm, 1 ) != KSUCCESS ) {
- syslog( LOG_ERR, "krb4_login: can't get local realm!" );
+ LOG(log_error, logtype_default, "krb4_login: can't get local realm!" );
return( AFPERR_NOTAUTH );
}
*p++ = KRB4RPL_REALM;
default:
*rbuflen = 0;
- syslog( LOG_INFO, "krb4_login: bad command %d", *ibuf );
+ LOG(log_info, logtype_default, "krb4_login: bad command %d", *ibuf );
return( AFPERR_NOTAUTH );
}
#ifdef AFS
if ( setpag() < 0 ) {
*rbuflen = 0;
- syslog( LOG_ERR, "krb_login: setpag: %m" );
+ LOG(log_error, logtype_default, "krb_login: setpag: %m" );
return( AFPERR_BADUAM );
}
#endif /*AFS*/
len = ntohs( len );
if ( len != sizeof( struct ClearToken ) ) {
- syslog( LOG_ERR, "krb4_logincont: token too short" );
+ LOG(log_error, logtype_default, "krb4_logincont: token too short" );
*rbuflen = 0;
return( AFPERR_BADUAM );
}
vi.out_size = sizeof( buf );
if ( pioctl( 0, VIOCSETTOK, &vi, 0 ) < 0 ) {
- syslog( LOG_ERR, "krb4_logincont: pioctl: %m" );
+ LOG(log_error, logtype_default, "krb4_logincont: pioctl: %m" );
*rbuflen = 0;
return( AFPERR_BADUAM );
}
if (( rc = krb_rd_req( &tkt, "afpserver", servername,
0, &ad, "" )) != RD_AP_OK ) {
- syslog( LOG_ERR, "krb4_logincont: krb_rd_req(): %s", krb_err_txt[ rc ] );
+ LOG(log_error, logtype_default, "krb4_logincont: krb_rd_req(): %s", krb_err_txt[ rc ] );
return( AFPERR_BADUAM );
}
- syslog( LOG_INFO, "krb4_login: %s.%s@%s", ad.pname,
+ LOG(log_info, logtype_default, "krb4_login: %s.%s@%s", ad.pname,
ad.pinst, ad.prealm );
memcpy(realm, ad.prealm, sizeof(realm));
memcpy(seskey, ad.session, sizeof( C_Block ));
vi.out = buf;
vi.out_size = sizeof( buf );
if ( pioctl( 0, VIOCSETTOK, &vi, 0 ) < 0 ) {
- syslog( LOG_ERR, "krb4_logincont: pioctl: %m" );
+ LOG(log_error, logtype_default, "krb4_logincont: pioctl: %m" );
return( AFPERR_BADUAM );
}
/* FALL THROUGH */
#endif /*AFS*/
default:
- syslog( LOG_INFO, "krb4_logincont: bad command %d", rc );
+ LOG(log_info, logtype_default, "krb4_logincont: bad command %d", rc );
*rbuflen = 0;
return( AFPERR_NOTAUTH );
break;
p = rbuf;
if ( validseskey == 0 ) {
if ( setpag() < 0 ) {
- syslog( LOG_ERR, "krb_login: setpag: %m" );
+ LOG(log_error, logtype_default, "krb_login: setpag: %m" );
return AFPERR_BADUAM;
}
krb_set_tkt_string(( tktfile = mktemp( _PATH_AFPTKT )));
if (( rc = krb_get_svc_in_tkt( "afpserver", servername, realm,
TICKET_GRANTING_TICKET, realm, 255, KEYFILE )) != INTK_OK ) {
- syslog( LOG_ERR, "krb_login: can't get ticket-granting-ticket" );
+ LOG(log_error, logtype_default, "krb_login: can't get ticket-granting-ticket" );
return (( whoserealm ) ? AFPERR_BADUAM : AFPERR_PARAM );
}
if ( krb_mk_req( &authent, name, instance, realm, 0 ) != KSUCCESS ) {
}
if ( unlink( tktfile ) < 0 ) {
- syslog( LOG_ERR, "krb_login: unlink %s: %m", tktfile );
+ LOG(log_error, logtype_default, "krb_login: unlink %s: %m", tktfile );
return ( AFPERR_BADUAM );
}
vi.out = buf;
vi.out_size = sizeof( buf );
if ( pioctl( 0, VIOCSETTOK, &vi, 0 ) < 0 ) {
- syslog( LOG_ERR, "krb_logincont: pioctl: %m" );
+ LOG(log_error, logtype_default, "krb_logincont: pioctl: %m" );
return ( AFPERR_BADUAM );
}
if ( unlink( tktfile ) < 0 ) {
- syslog( LOG_ERR, "krb_logincont: %s: %m", tktfile );
+ LOG(log_error, logtype_default, "krb_logincont: %s: %m", tktfile );
return ( AFPERR_BADUAM );
}
if ( logged == 0 ) {
logged = 1;
- syslog( LOG_INFO, "authenticated %s.%s@%s", name, instance, realm );
+ LOG(log_info, logtype_default, "authenticated %s.%s@%s", name, instance, realm );
*uam_pwd = pwd;
return AFP_OK;
}
- syslog( LOG_INFO, "re-authenticated %s.%s@%s", name, instance, realm );
+ LOG(log_info, logtype_default, "re-authenticated %s.%s@%s", name, instance, realm );
return( AFP_OK );
}
#endif /* UAM_AFSKRB AFS */
/*
- * $Id: uams_pam.c,v 1.10 2001-11-13 15:01:38 rufustfirefly Exp $
+ * $Id: uams_pam.c,v 1.11 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#endif /* ! HAVE_MEMCPY */
#endif /* STDC_HEADERS */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <security/pam_appl.h>
if (uam_afpserver_option(obj, UAM_OPTION_CLIENTNAME,
(void *) &hostname, NULL) < 0)
{
- syslog(LOG_INFO, "uams_pam.c :PAM: unable to retrieve client hostname");
+ LOG(log_info, logtype_default, "uams_pam.c :PAM: unable to retrieve client hostname");
hostname = NULL;
}
return AFPERR_PARAM;
}
- syslog(LOG_INFO, "cleartext login: %s", username);
+ LOG(log_info, logtype_default, "cleartext login: %s", username);
PAM_username = username;
PAM_password = ibuf; /* Set these things up for the conv function */
/* Parse input for username in () */
if ((p = strchr(data, '(' )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: username not found in string");
free(data);
return(-1);
}
p++;
if ((q = strstr(data, ") (" )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: username not found in string");
free(data);
return(-1);
}
/* Parse input for password in next () */
p = q + 3;
if ((q = strrchr(data, ')' )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: password not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: password not found in string");
free(data);
return(-1);
}
PAM_error = pam_start("netatalk", username, &PAM_conversation,
&pamh);
if (PAM_error != PAM_SUCCESS) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: %s: %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: %s: %s",
username, pam_strerror(pamh, PAM_error));
pam_end(pamh, PAM_error);
pamh = NULL;
pam_set_item(pamh, PAM_RHOST, hostname);
PAM_error = pam_authenticate(pamh,0);
if (PAM_error != PAM_SUCCESS) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: %s: %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: %s: %s",
username, pam_strerror(pamh, PAM_error));
pam_end(pamh, PAM_error);
pamh = NULL;
PAM_error = pam_acct_mgmt(pamh, 0);
if (PAM_error != PAM_SUCCESS) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: %s: %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: %s: %s",
username, pam_strerror(pamh, PAM_error));
pam_end(pamh, PAM_error);
pamh = NULL;
PAM_error = pam_open_session(pamh, 0);
if (PAM_error != PAM_SUCCESS) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: %s: %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: %s: %s",
username, pam_strerror(pamh, PAM_error));
pam_end(pamh, PAM_error);
pamh = NULL;
/* Login successful, but no need to hang onto it,
so logout immediately */
append(out, loginok, strlen(loginok));
- syslog(LOG_INFO, "Login ClearTxtUAM: %s", username);
+ LOG(log_info, logtype_default, "Login ClearTxtUAM: %s", username);
pam_close_session(pamh, 0);
pam_end(pamh, 0);
pamh = NULL;
/*
- * $Id: uams_passwd.c,v 1.13 2001-09-06 20:00:59 rufustfirefly Exp $
+ * $Id: uams_passwd.c,v 1.14 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#include <crypt.h>
#endif /* ! NO_CRYPT_H */
#include <pwd.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef SOLARIS
#define SHADOWPW
return AFPERR_PARAM;
}
- syslog(LOG_INFO, "cleartext login: %s", username);
+ LOG(log_info, logtype_default, "cleartext login: %s", username);
if (uam_checkuser(pwd) < 0)
return AFPERR_NOTAUTH;
#ifdef SHADOWPW
if (( sp = getspnam( pwd->pw_name )) == NULL ) {
- syslog( LOG_INFO, "no shadow passwd entry for %s", username);
+ LOG(log_info, logtype_default, "no shadow passwd entry for %s", username);
return AFPERR_NOTAUTH;
}
pwd->pw_passwd = sp->sp_pwdp;
#ifdef SHADOWPW
if (( sp = getspnam( pwd->pw_name )) == NULL ) {
- syslog( LOG_INFO, "no shadow passwd entry for %s", username);
+ LOG(log_info, logtype_default, "no shadow passwd entry for %s", username);
return AFPERR_PARAM;
}
pwd->pw_passwd = sp->sp_pwdp;
/* Parse input for username in () */
if ((p = strchr(data, '(' )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: username not found in string");
free(data);
return(-1);
}
p++;
if ((q = strstr(data, ") (" )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: username not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: username not found in string");
free(data);
return(-1);
}
/* Parse input for password in next () */
p = q + 3;
if ((q = strrchr(data, ')' )) == NULL) {
- syslog(LOG_INFO,"Bad Login ClearTxtUAM: password not found in string");
+ LOG(log_info, logtype_default,"Bad Login ClearTxtUAM: password not found in string");
free(data);
return(-1);
}
ulen = strlen(username);
if (( pwd = uam_getname(username, ulen)) == NULL ) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: ( %s ) not found ",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: ( %s ) not found ",
username);
return(-1);
}
#ifdef SHADOWPW
if (( sp = getspnam( pwd->pw_name )) == NULL ) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: no shadow passwd entry for %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: no shadow passwd entry for %s",
username);
return(-1);
}
#endif /* SHADOWPW */
if (!pwd->pw_passwd) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: no password for %s",
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: no password for %s",
username);
return(-1);
}
p = crypt(password, pwd->pw_passwd);
if (strcmp(p, pwd->pw_passwd) != 0) {
- syslog(LOG_INFO, "Bad Login ClearTxtUAM: %s: bad password", username);
+ LOG(log_info, logtype_default, "Bad Login ClearTxtUAM: %s: bad password", username);
return(-1);
}
/* Login successful */
append(out, loginok, strlen(loginok));
- syslog(LOG_INFO, "Login ClearTxtUAM: %s", username);
+ LOG(log_info, logtype_default, "Login ClearTxtUAM: %s", username);
return(0);
}
/*
- * $Id: uams_pgp.c,v 1.5 2001-06-25 20:13:45 rufustfirefly Exp $
+ * $Id: uams_pgp.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#include <pwd.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef OPENSSL_DHX
#include <openssl/bn.h>
return AFPERR_PARAM;
}
- syslog( LOG_INFO, "pgp login: %s", name);
+ LOG(log_info, logtype_default, "pgp login: %s", name);
if (uam_checkuser(pgppwd) < 0)
return AFPERR_NOTAUTH;
/*
- * $Id: uams_randnum.c,v 1.9 2001-11-17 12:56:11 srittau Exp $
+ * $Id: uams_randnum.c,v 1.10 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
#include <sys/stat.h>
#include <sys/param.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <netatalk/endian.h>
int fd, i;
if ( (fd = open(path, (set) ? O_WRONLY : O_RDONLY)) < 0 ) {
- syslog( LOG_ERR, "Failed to open %s", path);
+ LOG(log_error, logtype_default, "Failed to open %s", path);
return AFPERR_ACCESS;
}
if (!S_ISREG(st.st_mode) || (pwd->pw_uid != st.st_uid) ||
(pwd->pw_gid != st.st_gid) ||
(st.st_mode & ( S_IRWXG | S_IRWXO )) ) {
- syslog( LOG_INFO, "Insecure permissions found for %s.", path);
+ LOG(log_info, logtype_default, "Insecure permissions found for %s.", path);
goto home_passwd_fail;
}
/* get the password */
if (set) {
if (write(fd, passwd, len) < 0) {
- syslog( LOG_ERR, "Failed to write to %s", path );
+ LOG(log_error, logtype_default, "Failed to write to %s", path );
goto home_passwd_fail;
}
} else {
if (read(fd, passwd, len) < 0) {
- syslog( LOG_ERR, "Failed to read from %s", path );
+ LOG(log_error, logtype_default, "Failed to read from %s", path );
goto home_passwd_fail;
}
off_t pos;
if ((fp = fopen(path, (set) ? "r+" : "r")) == NULL) {
- syslog( LOG_ERR, "Failed to open %s", path);
+ LOG(log_error, logtype_default, "Failed to open %s", path);
return AFPERR_ACCESS;
}
if (strncmp(buf, pwd->pw_name, p - buf) == 0) {
p++;
if (*p == PASSWD_ILLEGAL) {
- syslog(LOG_INFO, "invalid password entry for %s", pwd->pw_name);
+ LOG(log_info, logtype_default, "invalid password entry for %s", pwd->pw_name);
err = AFPERR_ACCESS;
goto afppasswd_done;
}
if (( randpwd = uam_getname(username, ulen)) == NULL )
return AFPERR_PARAM; /* unknown user */
- syslog( LOG_INFO, "randnum/rand2num login: %s", username);
+ LOG(log_info, logtype_default, "randnum/rand2num login: %s", username);
if (uam_checkuser(randpwd) < 0)
return AFPERR_NOTAUTH;
--- /dev/null
+#ifndef _ATALK_BOOLEAN_H
+#define _ATALK_BOOLEAN_H 1
+
+/*
+ * bool is a standard type in c++. In theory its one bit in size.
+ * In reality just use the quickest standard type.
+ */
+
+# ifndef __cplusplus
+# ifndef bool
+typedef char bool;
+
+/*
+ * bool, true and false
+ *
+ */
+
+# endif /* ndef bool */
+# endif /* not C++ */
+# ifndef true
+# define true ((bool) 1)
+# endif
+# ifndef false
+# define false ((bool) 0)
+# endif
+typedef bool *BoolPtr;
+
+# ifndef TRUE
+# define TRUE 1
+# endif /* TRUE */
+
+# ifndef FALSE
+# define FALSE 0
+# endif /* FALSE */
+
+#endif
--- /dev/null
+
+#ifndef _ATALK_LOGGER_H
+#define _ATALK_LOGGER_H 1
+
+#include <atalk/boolean.h>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define MAXLOGSIZE 512
+
+enum loglevels {
+ log_severe = 0,
+ log_error = 10,
+ log_warning = 20,
+ log_note = 30,
+ log_info = 40,
+ log_debug = 50
+};
+
+/* this is the enum specifying all availiable logtypes */
+enum logtypes {
+ logtype_default,
+ logtype_core,
+ logtype_logger,
+
+ logtype_end_of_list_marker /* don't put any logtypes after this */
+};
+
+/* these are the string identifiers corresponding to each logtype */
+#define LOGTYPE_STRING_IDENTIFIERS { \
+ "Default", \
+ "Core", \
+ "Logger", \
+ \
+ "end_of_list_marker"} \
+
+/* Display Option flags. */
+/* redefine these so they can don't interfeer with syslog */
+/* these can be used in standard logging too */
+#define logoption_pid 0x01 /* log the pid with each message */
+#define logoption_cons 0x02 /* log on the console if errors in sending */
+#define logoption_ndelay 0x08 /* don't delay open */
+#define logoption_perror 0x20 /* log to stderr as well */
+#define logoption_nfile 0x40 /* don't log the file name that called the log */
+#define logoption_nline 0x80 /* don't log the line number from where the log was called */
+
+/* facility codes */
+/* redefine these so they can don't interfeer with syslog */
+#define logfacility_user (1<<3) /* random user-level messages */
+#define logfacility_mail (2<<3) /* mail system */
+#define logfacility_daemon (3<<3) /* system daemons */
+#define logfacility_auth (4<<3) /* security/authorization messages */
+#define logfacility_syslog (5<<3) /* messages generated internally by syslogd */
+#define logfacility_lpr (6<<3) /* line printer subsystem */
+#define logfacility_authpriv (10<<3) /* security/authorization messages (private) */
+#define logfacility_ftp (11<<3) /* ftp daemon */
+
+/* Setup the log filename and the loglevel, and the type of log it is. */
+/* setup the internal variables used by the logger (called automatically) */
+void log_init();
+
+bool log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype, int display_options);
+
+/* Setup the Level and type of log that will be logged to syslog. */
+void syslog_setup(enum loglevels loglevel, enum logtypes logtype, int display_options, int facility);
+
+/* finish up and close the logs */
+void log_close();
+
+/* This function sets up the ProcessName */
+void set_processname(char *processname);
+
+/* Log a Message */
+void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
+ char *message, ...);
+
+#ifndef DISABLE_LOGGER
+typedef void(*make_log_func)
+ (enum loglevels loglevel, enum logtypes logtype, char *message, ...);
+make_log_func set_log_location(char *srcfilename, int srclinenumber);
+
+void LoadProccessNameFromProc();
+
+#define LOG set_log_location(__FILE__, __LINE__)
+#else /* DISABLE_LOGGER */
+/* if the logger is disabled the rest is a bit futile */
+#define LOG make_log_entry
+#endif /* DISABLE_LOGGER */
+
+#endif
/*
- * $Id: ad_open.c,v 1.11 2002-01-03 17:29:12 sibaz Exp $
+ * $Id: ad_open.c,v 1.12 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@u.washington.edu)
* Copyright (c) 1990,1991 Regents of The University of Michigan.
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <sys/time.h>
#include <sys/types.h>
ad->ad_eid[ eid ].ade_off = off;
ad->ad_eid[ eid ].ade_len = len;
} else {
- syslog( LOG_DEBUG, "ad_refresh: nentries %hd eid %d\n",
+ LOG(log_debug, logtype_default, "ad_refresh: nentries %hd eid %d\n",
nentries, eid );
}
}
* (ad->ad_flags & ADFLAGS_V1COMPAT) */
if (!ad->ad_magic && !ad->ad_version) {
if (!warning) {
- syslog(LOG_DEBUG, "notice: fixing up null v1 magic/version.");
+ LOG(log_debug, logtype_default, "notice: fixing up null v1 magic/version.");
warning++;
}
ad->ad_magic = AD_MAGIC;
} else if ((ad->ad_magic == AD_MAGIC) &&
(ad->ad_version == AD_VERSION1)) {
if (!warning) {
- syslog(LOG_DEBUG, "notice: fixing up byte-swapped v1 magic/version.");
+ LOG(log_debug, logtype_default, "notice: fixing up byte-swapped v1 magic/version.");
warning++;
}
#endif /* AD_VERSION == AD_VERSION2 */
)) {
errno = EIO;
- syslog(LOG_DEBUG, "ad_open: can't parse AppleDouble header.");
+ LOG(log_debug, logtype_default, "ad_open: can't parse AppleDouble header.");
return -1;
}
if (read(ad->ad_hf.adf_fd, buf, len) != len) {
if (errno == 0)
errno = EIO;
- syslog(LOG_DEBUG, "ad_header_read: can't read entry info.");
+ LOG(log_debug, logtype_default, "ad_header_read: can't read entry info.");
return -1;
}
ad->ad_hf.adf_off += len;
|| (ad_getentryoff(ad, ADEID_RFORK) > sizeof(ad->ad_data))
#endif /* ! USE_MMAPPED_HEADERS */
) {
- syslog(LOG_DEBUG, "ad_header_read: problem with rfork entry offset.");
+ LOG(log_debug, logtype_default, "ad_header_read: problem with rfork entry offset.");
return -1;
}
if (read(ad->ad_hf.adf_fd, buf, len) != len) {
if (errno == 0)
errno = EIO;
- syslog(LOG_DEBUG, "ad_header_read: can't read in entries.");
+ LOG(log_debug, logtype_default, "ad_header_read: can't read in entries.");
return -1;
}
#endif /* USE_MMAPPED_HEADERS */
int mode;
{
#ifdef DEBUG
- syslog(LOG_INFO, "ad_mkdir: Creating directory with mode %d", mode);
+ LOG(log_info, logtype_default, "ad_mkdir: Creating directory with mode %d", mode);
#endif /* DEBUG */
return mkdir( path, ad_mode( path, mode ) );
}
/*
- * $Id: ad_sendfile.c,v 1.3 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: ad_sendfile.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#include <atalk/adouble.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include "ad_private.h"
/*
- * $Id: ad_size.c,v 1.3 2001-06-29 14:14:46 rufustfirefly Exp $
+ * $Id: ad_size.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#endif /* HAVE_UNISTD_H */
#include <sys/types.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/adouble.h>
/*
- * $Id: asp_attn.c,v 1.5 2001-08-15 02:17:21 srittau Exp $
+ * $Id: asp_attn.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
*/
#include <stdio.h>
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/uio.h>
atpb.atp_sreqtries = 5;
if ( atp_sreq( asp->asp_atp, &atpb, 1, 0 ) < 0 ) {
- syslog( LOG_ERR, "atp_sreq: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "atp_sreq: %s", strerror(errno) );
return -1;
}
atpb.atp_rresiov = iov;
atpb.atp_rresiovcnt = sizeof( iov )/sizeof( iov[ 0 ] );
if ( atp_rresp( asp->asp_atp, &atpb ) < 0 ) {
- syslog( LOG_ERR, "atp_rresp: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "atp_rresp: %s", strerror(errno) );
return -1;
}
/*
- * $Id: asp_getsess.c,v 1.4 2001-09-06 19:04:40 rufustfirefly Exp $
+ * $Id: asp_getsess.c,v 1.5 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1996 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <sys/signal.h>
#include <sys/time.h>
if (++asp_ac[sid]->ac_state >= ACSTATE_BAD) {
/* kill. if already dead, just continue */
if (kill( asp_ac[ sid ]->ac_pid, SIGTERM) == 0)
- syslog( LOG_INFO, "asp_alrm: %d timed out",
+ LOG(log_info, logtype_default, "asp_alrm: %d timed out",
asp_ac[ sid ]->ac_pid );
asp_ac[ sid ]->ac_state = ACSTATE_DEAD;
break;
default:
- syslog(LOG_INFO, "ASPUnknown %d", asp->cmdbuf[0]);
+ LOG(log_info, logtype_default, "ASPUnknown %d", asp->cmdbuf[0]);
break;
}
/*
- * $Id: asp_tickle.c,v 1.5 2001-08-15 02:17:21 srittau Exp $
+ * $Id: asp_tickle.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#endif /* HAVE_CONFIG_H */
#include <string.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
atpb.atp_sreqto = 0;
atpb.atp_sreqtries = 1;
if ( atp_sreq( asp->asp_atp, &atpb, 0, 0 ) < 0 ) {
- syslog( LOG_ERR, "atp_sreq: %s", strerror(errno) );
+ LOG(log_error, logtype_default, "atp_sreq: %s", strerror(errno) );
}
}
/*
- * $Id: cnid_add.c,v 1.19 2001-12-13 03:31:34 jmarcus Exp $
+ * $Id: cnid_add.c,v 1.20 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
}
if ((rc = txn_commit(tid, 0)) != 0) {
- syslog(LOG_ERR, "add_cnid: Failed to commit transaction: %s",
+ LOG(log_error, logtype_default, "add_cnid: Failed to commit transaction: %s",
db_strerror(rc));
return rc;
}
/* ... Return id if it is valid, or if Rootinfo is read-only. */
if (id || (db->flags & CNIDFLAG_DB_RO)) {
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Looked up did %u, name %s as %u",
+ LOG(log_info, logtype_default, "cnid_add: Looked up did %u, name %s as %u",
ntohl(did), name, ntohl(id));
#endif
return id;
key.size = sizeof(hint);
if ((data.data = make_cnid_data(st, did, name, len)) == NULL) {
- syslog(LOG_ERR, "cnid_add: Path name is too long");
+ LOG(log_error, logtype_default, "cnid_add: Path name is too long");
goto cleanup_err;
}
case DB_KEYEXIST: /* Need to use RootInfo after all. */
break;
default:
- syslog(LOG_ERR, "cnid_add: Unable to add CNID %u: %s",
+ LOG(log_error, logtype_default, "cnid_add: Unable to add CNID %u: %s",
ntohl(hint), db_strerror(rc));
goto cleanup_err;
case 0:
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Used hint for did %u, name %s as %u",
+ LOG(log_info, logtype_default, "cnid_add: Used hint for did %u, name %s as %u",
ntohl(did), name, ntohl(hint));
#endif
return hint;
&rootinfo_data, 0)) {
case DB_LOCK_DEADLOCK:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_add: txn_abort: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_add: txn_abort: %s", db_strerror(rc));
goto cleanup_err;
}
goto retry_get;
case 0:
memcpy(&hint, rootinfo_data.data, sizeof(hint));
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Found rootinfo for did %u, name %s as %u", ntohl(did), name, ntohl(hint));
+ LOG(log_info, logtype_default, "cnid_add: Found rootinfo for did %u, name %s as %u", ntohl(did), name, ntohl(hint));
#endif
break;
case DB_NOTFOUND:
hint = htonl(CNID_START);
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Using CNID_START for did %u, name %s",
+ LOG(log_info, logtype_default, "cnid_add: Using CNID_START for did %u, name %s",
ntohl(did), name);
#endif
break;
default:
- syslog(LOG_ERR, "cnid_add: Unable to lookup rootinfo: %s",
+ LOG(log_error, logtype_default, "cnid_add: Unable to lookup rootinfo: %s",
db_strerror(rc));
goto cleanup_err;
}
retry:
t.tv_usec = rand() % 1000000;
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Hitting MAX_ABORTS, sleeping");
+ LOG(log_info, logtype_default, "cnid_add: Hitting MAX_ABORTS, sleeping");
#endif
(void)select(0, NULL, NULL, NULL, &t);
}
if ((rc = txn_begin(db->dbenv, NULL, &tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_add: Failed to begin transaction: %s",
+ LOG(log_error, logtype_default, "cnid_add: Failed to begin transaction: %s",
db_strerror(rc));
goto cleanup_err;
}
}
if (rc == DB_LOCK_DEADLOCK) {
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_add: txn_abort: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_add: txn_abort: %s", db_strerror(rc));
goto cleanup_err;
}
goto retry;
}
if ((rc != DB_KEYEXIST) || (save == id)) {
- syslog(LOG_ERR, "cnid_add: Unable to add CNID %u: %s",
+ LOG(log_error, logtype_default, "cnid_add: Unable to add CNID %u: %s",
ntohl(hint), db_strerror(rc));
goto cleanup_abort;
}
switch (rc = db->db_didname->put(db->db_didname, tid, &rootinfo_key, &rootinfo_data, 0)) {
case DB_LOCK_DEADLOCK:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_add: txn_abort: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_add: txn_abort: %s", db_strerror(rc));
goto cleanup_err;
}
goto retry;
case 0:
break;
default:
- syslog(LOG_ERR, "cnid_add: Unable to update rootinfo: %s",
+ LOG(log_error, logtype_default, "cnid_add: Unable to update rootinfo: %s",
db_strerror(rc));
goto cleanup_abort;
}
cleanup_commit:
/* The transaction finished, commit it. */
if ((rc = txn_commit(tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_add: Unable to commit transaction: %s",
+ LOG(log_error, logtype_default, "cnid_add: Unable to commit transaction: %s",
db_strerror(rc));
goto cleanup_err;
}
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_add: Returned CNID for did %u, name %s as %u",
+ LOG(log_info, logtype_default, "cnid_add: Returned CNID for did %u, name %s as %u",
ntohl(did), name, ntohl(hint));
#endif
return hint;
/*
- * $Id: cnid_close.c,v 1.18 2001-12-14 03:10:37 jmarcus Exp $
+ * $Id: cnid_close.c,v 1.19 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
#include <stdlib.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <db.h>
#include <errno.h>
#include <string.h>
#else /* DB_VERSION_MINOR < 2 */
if ((rc = log_archive(db->dbenv, &list, DB_ARCH_LOG | DB_ARCH_ABS, NULL)) != 0) {
#endif /* DB_VERSION_MINOR */
- syslog(LOG_ERR, "cnid_close: Unable to archive logfiles: %s",
+ LOG(log_error, logtype_default, "cnid_close: Unable to archive logfiles: %s",
db_strerror(rc));
}
for (first = list; *list != NULL; ++list) {
if ((rc = remove(*list)) != 0) {
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_close: failed to remove %s: %s",
+ LOG(log_info, logtype_default, "cnid_close: failed to remove %s: %s",
*list, strerror(rc));
#endif
}
close(cfd);
}
else {
- syslog(LOG_ERR, "cnid_close: Failed to open database closing lock file: %s", strerror(errno));
+ LOG(log_error, logtype_default, "cnid_close: Failed to open database closing lock file: %s", strerror(errno));
}
}
}
/*
- * $Id: cnid_delete.c,v 1.11 2001-12-10 03:51:56 jmarcus Exp $
+ * $Id: cnid_delete.c,v 1.12 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <string.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <db.h>
#include <netatalk/endian.h>
break;
case DB_NOTFOUND:
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_delete: CNID %u not in database",
+ LOG(log_info, logtype_default, "cnid_delete: CNID %u not in database",
ntohl(id));
#endif
return 0;
default:
- syslog(LOG_ERR, "cnid_delete: Unable to delete entry: %s",
+ LOG(log_error, logtype_default, "cnid_delete: Unable to delete entry: %s",
db_strerror(rc));
return rc;
}
retry:
if ((rc = txn_begin(db->dbenv, NULL, &tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_delete: Failed to begin transaction: %s",
+ LOG(log_error, logtype_default, "cnid_delete: Failed to begin transaction: %s",
db_strerror(rc));
return rc;
}
if ((rc = db->db_cnid->del(db->db_cnid, tid, &key, 0))) {
int ret;
if ((ret = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_delete: txn_abort: %s", db_strerror(ret));
+ LOG(log_error, logtype_default, "cnid_delete: txn_abort: %s", db_strerror(ret));
return ret;
}
switch (rc) {
switch (rc) {
case DB_LOCK_DEADLOCK:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_delete: txn_abort: %s",
+ LOG(log_error, logtype_default, "cnid_delete: txn_abort: %s",
db_strerror(rc));
return rc;
}
break;
default:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_delete: txn_abort: %s",
+ LOG(log_error, logtype_default, "cnid_delete: txn_abort: %s",
db_strerror(rc));
return rc;
}
switch (rc) {
case DB_LOCK_DEADLOCK:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_delete: txn_abort: %s",
+ LOG(log_error, logtype_default, "cnid_delete: txn_abort: %s",
db_strerror(rc));
return rc;
}
break;
default:
if ((rc = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_delete: txn_abort: %s",
+ LOG(log_error, logtype_default, "cnid_delete: txn_abort: %s",
db_strerror(rc));
return rc;
}
}
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_delete: Deleting CNID %u", ntohl(id));
+ LOG(log_info, logtype_default, "cnid_delete: Deleting CNID %u", ntohl(id));
#endif
if ((rc = txn_commit(tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_delete: Failed to commit transaction: %s",
+ LOG(log_error, logtype_default, "cnid_delete: Failed to commit transaction: %s",
db_strerror(rc));
return rc;
}
return 0;
abort_err:
- syslog(LOG_ERR, "cnid_delete: Unable to delete CNID %u: %s",
+ LOG(log_error, logtype_default, "cnid_delete: Unable to delete CNID %u: %s",
ntohl(id), db_strerror(rc));
return rc;
}
/*
- * $Id: cnid_get.c,v 1.10 2001-11-27 23:38:18 jmarcus Exp $
+ * $Id: cnid_get.c,v 1.11 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <string.h>
#include <sys/param.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <db.h>
}
if (rc != DB_NOTFOUND) {
- syslog(LOG_ERR, "cnid_get: Unable to get CNID %u, name %s: %s",
+ LOG(log_error, logtype_default, "cnid_get: Unable to get CNID %u, name %s: %s",
ntohl(did), name, db_strerror(rc));
}
memcpy(&id, data.data, sizeof(id));
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_get: Returning CNID for %u, name %s as %u",
+ LOG(log_info, logtype_default, "cnid_get: Returning CNID for %u, name %s as %u",
ntohl(did), name, ntohl(id));
#endif
return id;
/*
- * $Id: cnid_lookup.c,v 1.10 2001-11-27 23:38:18 jmarcus Exp $
+ * $Id: cnid_lookup.c,v 1.11 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <string.h>
#include <sys/param.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <db.h>
* a read-write database. */
if ((db->flags & CNIDFLAG_DB_RO) == 0) {
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_lookup: Running database checkpoint");
+ LOG(log_info, logtype_default, "cnid_lookup: Running database checkpoint");
#endif
switch (rc = txn_checkpoint(db->dbenv, LOGFILEMAX, CHECKTIMEMAX, 0)) {
case 0:
case DB_INCOMPLETE:
break;
default:
- syslog(LOG_ERR, "cnid_lookup: txn_checkpoint: %s",
+ LOG(log_error, logtype_default, "cnid_lookup: txn_checkpoint: %s",
db_strerror(rc));
return 0;
}
}
if ((buf = make_cnid_data(st, did, name, len)) == NULL) {
- syslog(LOG_ERR, "cnid_lookup: Pathname is too long");
+ LOG(log_error, logtype_default, "cnid_lookup: Pathname is too long");
return 0;
}
break;
}
- syslog(LOG_ERR, "cnid_lookup: Unable to get CNID dev %u, ino %u: %s",
+ LOG(log_error, logtype_default, "cnid_lookup: Unable to get CNID dev %u, ino %u: %s",
st->st_dev, st->st_ino, db_strerror(rc));
return 0;
}
break;
}
- syslog(LOG_ERR, "cnid_lookup: Unable to get CNID %u, name %s: %s",
+ LOG(log_error, logtype_default, "cnid_lookup: Unable to get CNID %u, name %s: %s",
ntohl(did), name, db_strerror(rc));
return 0;
}
/* Either entries are in both databases or neither of them. */
if ((devino && didname) || !(devino || didname)) {
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_lookup: Looked up did %u, name %s, as %u",
+ LOG(log_info, logtype_default, "cnid_lookup: Looked up did %u, name %s, as %u",
ntohl(did), name, ntohl(id));
#endif
return id;
/* Fix up the database. */
cnid_update(db, id, st, did, name, len);
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_lookup: Looked up did %u, name %s, as %u (needed update)", ntohl(did), name, ntohl(id));
+ LOG(log_info, logtype_default, "cnid_lookup: Looked up did %u, name %s, as %u (needed update)", ntohl(did), name, ntohl(id));
#endif
return id;
}
/*
- * $Id: cnid_nextid.c,v 1.7 2001-11-27 23:38:18 jmarcus Exp $
+ * $Id: cnid_nextid.c,v 1.8 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef unused
#include <atalk/adouble.h>
#include <atalk/cnid.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include "cnid_private.h"
/*
- * $Id: cnid_open.c,v 1.29 2001-12-14 19:55:20 jmarcus Exp $
+ * $Id: cnid_open.c,v 1.30 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
* All Rights Reserved. See COPYRIGHT.
#endif /* HAVE_FCNTL_H */
#include <sys/param.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
/* this checks .AppleDB */
if ((len = strlen(dir)) > (MAXPATHLEN - DBLEN - 1)) {
- syslog(LOG_ERR, "cnid_open: Pathname too large: %s", dir);
+ LOG(log_error, logtype_default, "cnid_open: Pathname too large: %s", dir);
return NULL;
}
if ((db = (CNID_private *)calloc(1, sizeof(CNID_private))) == NULL) {
- syslog(LOG_ERR, "cnid_open: Unable to allocate memory for database");
+ LOG(log_error, logtype_default, "cnid_open: Unable to allocate memory for database");
return NULL;
}
strcpy(path + len, DBHOME);
if ((stat(path, &st) < 0) && (ad_mkdir(path, 0777) < 0)) {
- syslog(LOG_ERR, "cnid_open: DBHOME mkdir failed for %s", path);
+ LOG(log_error, logtype_default, "cnid_open: DBHOME mkdir failed for %s", path);
goto fail_adouble;
}
lock.l_len = 1;
while (fcntl(db->lockfd, F_SETLK, &lock) < 0) {
if (++lock.l_start > MAXITER) {
- syslog(LOG_ERR, "cnid_open: Cannot establish logfile cleanup for database environment %s lock (lock failed)", path);
+ LOG(log_error, logtype_default, "cnid_open: Cannot establish logfile cleanup for database environment %s lock (lock failed)", path);
close(db->lockfd);
db->lockfd = -1;
break;
}
}
else {
- syslog(LOG_ERR, "cnid_open: Cannot establish logfile cleanup lock for database environment %s (open() failed)", path);
+ LOG(log_error, logtype_default, "cnid_open: Cannot establish logfile cleanup lock for database environment %s (open() failed)", path);
}
/* Create a file to represent database recovery. While this file
* transaction, logging, and locking support if we ever hope to
* be a true multi-acess file server. */
if ((rc = db_env_create(&db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: db_env_create: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_open: db_env_create: %s", db_strerror(rc));
goto fail_lock;
}
/* Setup internal deadlock detection. */
if ((rc = db->dbenv->set_lk_detect(db->dbenv, DEAD_LOCK_DETECT)) != 0) {
- syslog(LOG_ERR, "cnid_open: set_lk_detect: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_open: set_lk_detect: %s", db_strerror(rc));
goto fail_lock;
}
#if DB_VERSION_MINOR > 1
/* Take care of setting the DB_TXN_NOSYNC flag in db3 > 3.1.x. */
if ((rc = db->dbenv->set_flags(db->dbenv, DB_TXN_NOSYNC, 1)) != 0) {
- syslog(LOG_ERR, "cnid_open: set_flags: %s", db_strerror(rc));
+ LOG(log_error, logtype_default, "cnid_open: set_flags: %s", db_strerror(rc));
goto fail_lock;
}
#endif /* DB_VERSION_MINOR > 1 */
if ((rc = db->dbenv->open(db->dbenv, path, DBOPTIONS | DBEXTRAS, 0666)) != 0) {
if (rc == DB_RUNRECOVERY) {
/* This is the mother of all errors. We _must_ fail here. */
- syslog(LOG_ERR, "cnid_open: CATASTROPHIC ERROR opening database environment %s. Run db_recovery -c immediately", path);
+ LOG(log_error, logtype_default, "cnid_open: CATASTROPHIC ERROR opening database environment %s. Run db_recovery -c immediately", path);
goto fail_lock;
}
/* Nope, not a MPOOL, either. Last-ditch effort: we'll try to
* open the environment with no flags. */
if ((rc = db->dbenv->open(db->dbenv, path, 0, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: dbenv->open of %s failed: %s",
+ LOG(log_error, logtype_default, "cnid_open: dbenv->open of %s failed: %s",
path, db_strerror(rc));
goto fail_lock;
}
}
db->flags |= CNIDFLAG_DB_RO;
open_flag = DB_RDONLY;
- syslog(LOG_INFO, "cnid_open: Obtained read-only database environment %s", path);
+ LOG(log_info, logtype_default, "cnid_open: Obtained read-only database environment %s", path);
}
/* If we have the recovery lock, close the file, remove it, so other
case ENOENT:
break;
default:
- syslog(LOG_ERR, "cnid_open: Unable to remove %s: %s",
+ LOG(log_error, logtype_default, "cnid_open: Unable to remove %s: %s",
recover_file, strerror(errno));
}
close(rfd);
/* did/name reverse mapping. We use a BTree for this one. */
if ((rc = db_create(&db->db_didname, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create did/name database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create did/name database: %s",
db_strerror(rc));
goto fail_appinit;
}
db->db_didname->set_bt_compare(db->db_didname, &compare_unix);
if ((rc = db->db_didname->open(db->db_didname, DBDIDNAME, NULL,
DB_BTREE, open_flag, 0666))) {
- syslog(LOG_ERR, "cnid_open: Failed to open did/name database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open did/name database: %s",
db_strerror(rc));
goto fail_appinit;
}
dbversion_retry:
if ((rc = txn_begin(db->dbenv, NULL, &tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: txn_begin: failed to check db version: %s",
+ LOG(log_error, logtype_default, "cnid_open: txn_begin: failed to check db version: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
switch (rc) {
case DB_LOCK_DEADLOCK:
if ((ret = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_open: txn_abort: %s", db_strerror(ret));
+ LOG(log_error, logtype_default, "cnid_open: txn_abort: %s", db_strerror(ret));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
}
DB_NOOVERWRITE))) {
if (ret == DB_LOCK_DEADLOCK) {
if ((ret = txn_abort(tid)) != 0) {
- syslog(LOG_ERR, "cnid_open: txn_abort: %s",
+ LOG(log_error, logtype_default, "cnid_open: txn_abort: %s",
db_strerror(ret));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
/* At this point, we don't care if the transaction aborts
* successfully or not. */
txn_abort(tid);
- syslog(LOG_ERR, "cnid_open: Error putting new version: %s",
+ LOG(log_error, logtype_default, "cnid_open: Error putting new version: %s",
db_strerror(ret));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
break; /* while loop */
default:
txn_abort(tid);
- syslog(LOG_ERR, "cnid_open: Failed to check db version: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to check db version: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
}
if ((rc = txn_commit(tid, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to commit db version: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to commit db version: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
#ifdef EXTENDED_DB
/* did/macname (31 character) mapping. Use a BTree for this one. */
if ((rc = db_create(&db->db_macname, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create did/macname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create did/macname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
db->db_macname->set_bt_compare(db->db_macname, &compare_mac);
if ((rc = db->db_macname->open(db->db_macname, DBMACNAME, NULL, DB_BTREE, open_flag, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to open did/macname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open did/macname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
goto fail_appinit;
/* did/shortname (DOS 8.3) mapping. Use a BTree for this one. */
if ((rc = db_create(&db->db_shortname, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create did/shortname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create did/shortname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
db->db_macname->close(db->db_macname, 0);
db->db_shortname->set_bt_compare(db->db_shortname, &compare_mac);
if ((rc = db->db_shortname->open(db->db_shortname, DBSHORTNAME, NULL, DB_BTREE, open_flag, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to open did/shortname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open did/shortname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
db->db_macname->close(db->db_macname, 0);
/* did/longname (Unicode) mapping. Use a BTree for this one. */
if ((rc = db_create(&db->db_longname, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create did/longname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create did/longname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
db->db_macname->close(db->db_macname, 0);
db->db_longname->set_bt_compare(db->db_longname, &compare_unicode);
if ((rc = db->db_longname->open(db->db_longname, DBLONGNAME, NULL, DB_BTREE, open_flag, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to open did/longname database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open did/longname database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
db->db_macname->close(db->db_macname, 0);
/* dev/ino reverse mapping. Use a hash for this one. */
if ((rc = db_create(&db->db_devino, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create dev/ino database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create dev/ino database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
#ifdef EXTENDED_DB
}
if ((rc = db->db_devino->open(db->db_devino, DBDEVINO, NULL, DB_HASH, open_flag, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to open devino database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open devino database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
#ifdef EXTENDED_DB
/* Main CNID database. Use a hash for this one. */
if ((rc = db_create(&db->db_cnid, db->dbenv, 0)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to create cnid database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to create cnid database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
#ifdef EXTENDED_DB
if ((rc = db->db_cnid->open(db->db_cnid, DBCNID, NULL, DB_HASH, open_flag, 0666)) != 0) {
- syslog(LOG_ERR, "cnid_open: Failed to open dev/ino database: %s",
+ LOG(log_error, logtype_default, "cnid_open: Failed to open dev/ino database: %s",
db_strerror(rc));
db->db_didname->close(db->db_didname, 0);
#ifdef EXTENDED_DB
return db;
fail_appinit:
- syslog(LOG_ERR, "cnid_open: Failed to setup CNID DB environment");
+ LOG(log_error, logtype_default, "cnid_open: Failed to setup CNID DB environment");
db->dbenv->close(db->dbenv, 0);
fail_lock:
/*
- * $Id: cnid_resolve.c,v 1.9 2001-11-27 23:38:18 jmarcus Exp $
+ * $Id: cnid_resolve.c,v 1.10 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <string.h>
#include <sys/param.h>
#include <sys/stat.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <db.h>
}
if (rc != DB_NOTFOUND) {
- syslog(LOG_ERR, "cnid_resolve: Unable to get did/name: %s",
+ LOG(log_error, logtype_default, "cnid_resolve: Unable to get did/name: %s",
db_strerror(rc));
}
memcpy(id, (char *)data.data + CNID_DEVINO_LEN, sizeof(cnid_t));
#ifdef DEBUG
- syslog(LOG_INFO, "cnid_resolve: Returning id = %u, did/name = %s",
+ LOG(log_info, logtype_default, "cnid_resolve: Returning id = %u, did/name = %s",
ntohl(*id), (char *)data.data + CNID_HEADER_LEN);
#endif
return (char *)data.data + CNID_HEADER_LEN;
/*
- * $Id: cnid_update.c,v 1.15 2001-12-13 03:31:34 jmarcus Exp $
+ * $Id: cnid_update.c,v 1.16 2002-01-04 04:45:48 sibaz Exp $
*/
#ifdef HAVE_CONFIG_H
#include <sys/param.h>
#include <sys/stat.h>
#include <errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <db.h>
#include <netatalk/endian.h>
retry:
if ((rc = txn_begin(db->dbenv, NULL, &tid, 0))) {
- syslog(LOG_ERR, "cnid_update: Failed to begin transaction: %s",
+ LOG(log_error, logtype_default, "cnid_update: Failed to begin transaction: %s",
db_strerror(rc));
return rc;
}
return txn_commit(tid, 0);
update_err:
- syslog(LOG_ERR, "cnid_update: Unable to update CNID %u: %s",
+ LOG(log_error, logtype_default, "cnid_update: Unable to update CNID %u: %s",
ntohl(id), db_strerror(rc));
return -1;
}
/*
- * $Id: dsi_getsess.c,v 1.5 2001-09-06 19:04:40 rufustfirefly Exp $
+ * $Id: dsi_getsess.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#endif /* ! WIFEXITED */
#include <sys/time.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/dsi.h>
#include <atalk/server_child.h>
switch (pid = dsi->proto_open(dsi)) {
case -1:
/* if we fail, just return. it might work later */
- syslog(LOG_ERR, "dsi_getsess: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_getsess: %s", strerror(errno));
return dsi;
case 0: /* child. mostly handled below. */
/* using SIGQUIT is hokey, but the child might not have
* re-established its signal handler for SIGTERM yet. */
if (server_child_add(children, CHILD_DSIFORK, pid) < 0) {
- syslog(LOG_ERR, "dsi_getsess: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_getsess: %s", strerror(errno));
dsi->header.dsi_flags = DSIFL_REPLY;
dsi->header.dsi_code = DSIERR_SERVBUSY;
dsi_send(dsi);
* actual count. */
if ((children->count >= children->nsessions) &&
(dsi->header.dsi_command == DSIFUNC_OPEN)) {
- syslog(LOG_INFO, "dsi_getsess: too many connections");
+ LOG(log_info, logtype_default, "dsi_getsess: too many connections");
dsi->header.dsi_flags = DSIFL_REPLY;
dsi->header.dsi_code = DSIERR_TOOMANY;
dsi_send(dsi);
break;
default: /* just close */
- syslog(LOG_INFO, "DSIUnknown %d", dsi->header.dsi_command);
+ LOG(log_info, logtype_default, "DSIUnknown %d", dsi->header.dsi_command);
dsi->proto_close(dsi);
exit(1);
}
/*
- * $Id: dsi_stream.c,v 1.4 2001-08-15 02:18:57 srittau Exp $
+ * $Id: dsi_stream.c,v 1.5 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1998 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#ifdef USE_WRITEV
#include <sys/uio.h>
#endif /* USE_WRITEV */
-#include <syslog.h>
+#include <atalk/logger.h>
#include <atalk/dsi.h>
#include <netatalk/endian.h>
continue;
if (len < 0) {
- syslog(LOG_ERR, "dsi_stream_write: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_stream_write: %s", strerror(errno));
break;
}
if (len > 0)
stored += len;
else {/* eof or error */
- syslog(LOG_ERR, "dsi_stream_read(%d): %s", len, strerror(errno));
+ LOG(log_error, logtype_default, "dsi_stream_read(%d): %s", len, strerror(errno));
break;
}
}
if (len == towrite) /* wrote everything out */
break;
else if (len < 0) { /* error */
- syslog(LOG_ERR, "dsi_stream_send: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_stream_send: %s", strerror(errno));
sigprocmask(SIG_SETMASK, &oldset, NULL);
return 0;
}
/*
- * $Id: dsi_tcp.c,v 1.5 2001-08-15 02:18:57 srittau Exp $
+ * $Id: dsi_tcp.c,v 1.6 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1997, 1998 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#include <arpa/inet.h>
#include <signal.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#ifdef __svr4__
#include <sys/sockio.h>
#ifdef TCPWRAP
#include <tcpd.h>
-int allow_severity = LOG_INFO;
-int deny_severity = LOG_WARNING;
+int allow_severity = log_info;
+int deny_severity = log_warning;
#endif /* TCPWRAP */
#include <atalk/dsi.h>
/* alarm handler for tcp_open */
static void timeout_handler()
{
- syslog(LOG_ERR, "dsi_tcp_open: connection timed out");
+ LOG(log_error, logtype_default, "dsi_tcp_open: connection timed out");
exit(1);
}
request_init(&req, RQ_DAEMON, dsi->program, RQ_FILE, dsi->socket, NULL);
fromhost(&req);
if (!hosts_access(&req)) {
- syslog(deny_severity, "refused connect from %s", eval_client(&req));
+ LOG(deny_severity, "refused connect from %s", eval_client(&req));
close(dsi->socket);
errno = ECONNREFUSED;
dsi->socket = -1;
newact.sa_handler = timeout_handler;
if ((sigaction(SIGALRM, &newact, &oldact) < 0) ||
(setitimer(ITIMER_REAL, &timer, NULL) < 0)) {
- syslog(LOG_ERR, "dsi_tcp_open: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_tcp_open: %s", strerror(errno));
exit(1);
}
/* read in the first two bytes */
dsi_stream_read(dsi, block, 2);
if ((block[0] > DSIFL_MAX) || (block[1] > DSIFUNC_MAX)) {
- syslog(LOG_ERR, "dsi_tcp_open: invalid header");
+ LOG(log_error, logtype_default, "dsi_tcp_open: invalid header");
exit(1);
}
if (len > 0)
stored += len;
else {
- syslog(LOG_ERR, "dsi_tcp_open: stream_read: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_tcp_open: stream_read: %s", strerror(errno));
exit(1);
}
}
if (len > 0)
stored += len;
else {
- syslog(LOG_ERR, "dsi_tcp_open: stream_read: %s", strerror(errno));
+ LOG(log_error, logtype_default, "dsi_tcp_open: stream_read: %s", strerror(errno));
exit(1);
}
}
/* restore signal */
sigaction(SIGALRM, &oldact, NULL);
- syslog(LOG_INFO,"ASIP session:%u(%d) from %s:%u(%d)",
+ LOG(log_info, logtype_default,"ASIP session:%u(%d) from %s:%u(%d)",
ntohs(dsi->server.sin_port), dsi->serversock,
inet_ntoa(dsi->client.sin_addr), ntohs(dsi->client.sin_port),
dsi->socket);
if (!address)
dsi->server.sin_addr.s_addr = htonl(INADDR_ANY);
else if (inet_aton(address, &dsi->server.sin_addr) == 0) {
- syslog(LOG_INFO, "dsi_tcp: invalid address (%s)", address);
+ LOG(log_info, logtype_default, "dsi_tcp: invalid address (%s)", address);
return 0;
}
dsi->server.sin_addr.s_addr =
((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr.s_addr;
- syslog(LOG_INFO, "dsi_tcp: Can't resolve hostname (%s).\n"
+ LOG(log_info, logtype_default, "dsi_tcp: Can't resolve hostname (%s).\n"
"%s on interface %s will be used instead.", hostname,
inet_ntoa(dsi->server.sin_addr), ifr.ifr_name);
goto iflist_done;
}
- syslog(LOG_INFO, "dsi_tcp (Chooser will not select afp/tcp)\n\
+ LOG(log_info, logtype_default, "dsi_tcp (Chooser will not select afp/tcp)\n\
Check to make sure %s is in /etc/hosts and the correct domain is in\n\
/etc/resolv.conf: %s", hostname, strerror(errno));
/*
- * $Id: pap_close.c,v 1.3 2001-06-29 14:14:47 rufustfirefly Exp $
+ * $Id: pap_close.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* close the connection
*/
/* sanity */
if ( iov.iov_len != 4 || pap->pap_data[ 0 ] != pap->pap_connid ||
pap->pap_data[ 1 ] != PAP_CLOSEREPLY ) {
- syslog(LOG_ERR, "pap_close: Bad response!");
+ LOG(log_error, logtype_default, "pap_close: Bad response!");
goto close_done;
}
err = 0;
/*
- * $Id: pap_open.c,v 1.3 2001-06-29 14:14:47 rufustfirefly Exp $
+ * $Id: pap_open.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* moved over from bin/pap/pap.c
*/
pap_tickle(client.pap, client.pap->pap_connid, &client.pap->pap_sat);
else {
kill(client.pid, SIGTERM);
- syslog(LOG_ERR, "pap_alarm: connection timed out.");
+ LOG(log_error, logtype_default, "pap_alarm: connection timed out.");
exit(1);
}
}
/*
- * $Id: pap_slinit.c,v 1.4 2001-09-06 19:04:40 rufustfirefly Exp $
+ * $Id: pap_slinit.c,v 1.5 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1996 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <stdio.h>
#include <stdlib.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <errno.h>
#include <sys/signal.h>
#include <sys/time.h>
if (++pap_ac[sid]->ac_state >= ACSTATE_BAD) {
/* kill. if already dead, just continue */
if (kill( pap_ac[ sid ]->ac_pid, SIGTERM) == 0)
- syslog( LOG_INFO, "pap_alrm: %d timed out",
+ LOG(log_info, logtype_default, "pap_alrm: %d timed out",
pap_ac[ sid ]->ac_pid );
pap_ac[ sid ]->ac_state = ACSTATE_DEAD;
break;
default:
- syslog(LOG_INFO, "PAPUnknown %d", pap->cmdbuf[0]);
+ LOG(log_info, logtype_default, "PAPUnknown %d", pap->cmdbuf[0]);
break;
}
/*
- * $Id: pap_tickle.c,v 1.3 2001-06-29 14:14:47 rufustfirefly Exp $
+ * $Id: pap_tickle.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* send a tickle
*/
atpb.atp_sreqto = 0; /* retry timer */
atpb.atp_sreqtries = 1; /* retry count */
if ( atp_sreq( pap->pap_atp, &atpb, 0, 0 ) < 0 ) {
- syslog(LOG_ERR, "atp_sreq: %m");
+ LOG(log_error, logtype_default, "atp_sreq: %m");
}
}
CFLAGS = -I$(top_srcdir)/sys @CFLAGS@
-libutil_la_SOURCES = atalk_addr.c strdicasecmp.c server_child.c server_lock.c module.c bprint.c getiface.c
+libutil_la_SOURCES = atalk_addr.c strdicasecmp.c server_child.c server_lock.c module.c bprint.c getiface.c logger.c
--- /dev/null
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* ==========================================================================
+
+ logger.c is part of the utils section in the libatalk library,
+ which is part of the netatalk project.
+
+ logger.c was written by Simon Bazley (sibaz@sibaz.com)
+
+ I believe libatalk is released under the L/GPL licence.
+
+ Just incase, it is, thats the licence I'm applying to this file.
+
+ Netatalk 2001 (c)
+
+ ==========================================================================
+
+ Logger.c is intended as an alternative to syslog for logging
+
+ ---------------------------------------------------------------
+
+ The initial plan is to create a structure for general information needed
+ to log to a file.
+
+ Initally I'll hard code the neccesary stuff to start a log, this should
+ probably be moved elsewhere when some code is written to read the log
+ file locations from the config files.
+
+ As a more longterm idea, I'll code this so that the data struct can be
+ duplicated to allow multiple concurrent log files, although this is
+ probably a recipe for wasted resources.
+
+ ========================================================================== */
+
+#include <stdio.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <time.h>
+
+#include <atalk/boolean.h>
+#include <atalk/logger.h>
+
+#define COUNT_ARRAY(array) (sizeof((array))/sizeof((array)[0]))
+#undef KEEP_LOGFILES_OPEN
+#define DO_SYSLOG
+#define DO_FILELOG
+
+#undef DEBUG_OUTPUT_TO_SCREEN
+#undef CHECK_STAT_ON_NEW_FILES
+#undef CHECK_ACCESS_ON_NEW_FILES
+
+/* ==========================================================================
+ External function declarations
+ ========================================================================== */
+
+/* setup the internal variables used by the logger (called automatically) */
+void log_init();
+
+/* Setup the log filename and the loglevel, and the type of log it is. */
+bool log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype, int display_options);
+
+/* Setup the Level and type of log that will be logged to syslog. */
+void syslog_setup(enum loglevels loglevel, enum logtypes logtype, int display_options, int facility);
+
+/* finish up and close the logs */
+void log_close();
+
+/* This function sets up the processname */
+void set_processname(char *processname);
+
+/* Log a Message */
+void make_log(enum loglevels loglevel, enum logtypes logtype, char *message, ...);
+#ifndef DISABLE_LOGGER
+make_log_func set_log_location(char *srcfilename, int srclinenumber);
+
+/* ==========================================================================
+ Structure definitions
+ ========================================================================== */
+
+/* A structure containing object level stuff */
+struct tag_log_file_data {
+ char log_filename[PATH_MAX]; /* Name of file */
+ FILE *log_file; /* FILE pointer to file */
+ enum loglevels log_level; /* Log Level to put in this file */
+ int display_options;
+};
+
+typedef struct tag_log_file_data log_file_data_pair[2];
+
+/* A structure containg class level stuff */
+struct tag_global_log_data {
+ int struct_size;
+
+ char *temp_src_filename;
+ int temp_src_linenumber;
+ char processname[16];
+
+ char *log_file_directory; /* Path of directory containing log files */
+ log_file_data_pair **logs;
+};
+
+struct what_to_print_array {
+ bool print_datetime;
+ bool print_processname;
+ bool print_pid;
+ bool print_srcfile;
+ bool print_srcline;
+ bool print_errlevel;
+ bool print_errtype;
+};
+
+/* ==========================================================================
+ Internal function declarations
+ ========================================================================== */
+
+void generate_message_details(char *message_details_buffer,
+ int message_details_buffer_length,
+ struct tag_log_file_data *log_struct,
+ enum loglevels loglevel, enum logtypes logtype);
+
+int get_syslog_equivalent(enum loglevels loglevel);
+
+static char *get_command_name(char *commandpath);
+
+/* ==========================================================================
+ Instanciated data
+ ========================================================================== */
+
+/* A populated instance */
+
+static log_file_data_pair default_log_file_data_pair = {
+{
+ /* log_filename */ "\0\0\0\0\0\0\0\0",
+ /* log_file */ NULL,
+ /* log_level */ log_debug,
+ /* display_options */ logoption_pid
+},
+{
+ /* log_filename */ LOGFILEPATH,
+ /* log_file */ NULL,
+ /* log_level */ log_debug,
+ /* display_options */ logoption_pid
+}};
+
+static log_file_data_pair *log_file_data_array[logtype_end_of_list_marker] =
+{&default_log_file_data_pair};
+
+/* The class (populated) */
+static struct tag_global_log_data global_log_data = {
+ /* struct_size */ sizeof(struct tag_global_log_data),
+ /* temp_src_filename */ NULL,
+ /* temp_src_linenumber */ 0,
+ /* processname */ "",
+ /* log_file_directory */ "",
+ /* logs */ NULL
+};
+
+/* macro to get access to the array */
+#define log_file_arr (global_log_data.logs)
+
+/* Array to store text to list given a log type */
+static const char * arr_logtype_strings[] = LOGTYPE_STRING_IDENTIFIERS;
+static const int num_logtype_strings = COUNT_ARRAY(arr_logtype_strings);
+
+/* Array for charachters representing log severity in the log file */
+static const char arr_loglevel_chars[] = {'S', 'E', 'W', 'N', 'I', 'D'};
+static const int num_loglevel_chars = COUNT_ARRAY(arr_loglevel_chars);
+
+#else /* #ifndef DISABLE_LOGGER */
+ char *disabled_logger_processname=NULL;
+#endif /* DISABLE_LOGGER */
+/* ==========================================================================
+ Global function definitions
+ ========================================================================== */
+
+#ifndef DISABLE_LOGGER
+
+/* remember I'm keeping a copy of the actual char * Filename, so you mustn't
+ delete it, until you've finished with the log. Also you're responsible
+ for deleting it when you have finished with it. */
+void log_init()
+{
+ if (global_log_data.logs==NULL)
+ {
+ /* first check default_log_file_data_pair */
+
+ /* next clear out the log_file_data_array */
+ memset(log_file_data_array, 0, sizeof(log_file_data_array));
+ /* now set default_log_file_data_pairs */
+ log_file_data_array[0] = &default_log_file_data_pair;
+
+ /* now setup the global_log_data struct */
+ global_log_data.logs = log_file_data_array;
+ }
+}
+#endif /* #ifndef DISABLE_LOGGER */
+
+bool log_setup(char *filename, enum loglevels loglevel, enum logtypes logtype, int display_options)
+{
+#ifndef DISABLE_LOGGER
+
+ struct stat statbuf;
+ int firstattempt;
+ int retval;
+ gid_t gid;
+ uid_t uid;
+ int access;
+ char lastchar[2];
+
+ log_file_data_pair *logs;
+
+ log_init();
+
+ logs = log_file_arr[logtype];
+
+ if (logs==NULL)
+ {
+ logs = (log_file_data_pair *)malloc(sizeof(log_file_data_pair));
+ if (logs==NULL)
+ {
+ LOG(log_severe, logtype_logger, "can't calloc in log_setup");
+ }
+ else
+ {
+ /* memcpy(logs, log_file_arr[logtype_default], sizeof(log_file_data_pair)); */
+ log_file_arr[logtype] = logs;
+ (*logs)[1].log_file = NULL;
+ }
+ }
+
+ if ( ((*logs)[1].log_file == stdout) && ((*logs)[1].log_file != NULL) )
+ {
+ fclose((*logs)[1].log_file);
+ (*logs)[1].log_file = NULL;
+ }
+
+ if (strlen(global_log_data.log_file_directory)>0)
+ {
+ lastchar[0] = global_log_data.log_file_directory[strlen(global_log_data.log_file_directory)-1];
+
+ if (lastchar[0] == '/' || lastchar[0] == '\\' || lastchar[0] == ':')
+ lastchar[0] = 0;
+ else
+ /* this should probably be a platform specific path separator */
+ lastchar[0] = '/';
+
+ lastchar[1] = 0;
+ }
+ else
+ lastchar[0] = 0;
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("filename is %s stored at location %p\n", (*logs)[1].log_filename,
+ (*logs)[1].log_filename);
+#endif /* DEBUG_OUTPUT_TO_SCREEN */
+ if (filename == NULL)
+ {
+ strncpy((*logs)[1].log_filename, (*(log_file_arr[0]))[1].log_filename, PATH_MAX);
+ }
+ else
+ {
+ sprintf((*logs)[1].log_filename, "%s%s%s", global_log_data.log_file_directory,
+ lastchar, filename);
+ }
+ (*logs)[1].log_level = loglevel;
+ (*logs)[1].display_options = display_options;
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("filename is %s stored at location %p\n", (*logs)[1].log_filename,
+ (*logs)[1].log_filename);
+#endif /* DEBUG_OUTPUT_TO_SCREEN */
+
+#ifdef CHECK_STAT_ON_NEW_FILES
+ uid = geteuid();
+ gid = getegid();
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("about to stat file %s\n", (*logs)[1].log_filename);
+#endif
+ firstattempt = stat((*logs)[1].log_filename, &statbuf);
+
+ if (firstattempt == -1)
+ {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("about to call Log with %d, %d, %s, %s\n", log_note, logtype_logger,
+ "can't stat Logfile", (*logs)[1].log_filename);
+#endif
+
+ /* syslog(LOG_INFO, "stat failed"); */
+ LOG(log_warning, logtype_logger, "stat fails on file %s",
+ (*logs)[1].log_filename);
+
+ if (strlen(global_log_data.log_file_directory)>0)
+ {
+ retval = stat(global_log_data.log_file_directory, &statbuf);
+ if (retval == -1)
+ {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("can't stat dir either so I'm giving up\n");
+#endif
+ LOG(log_severe, logtype_logger, "can't stat directory %s either",
+ global_log_data.log_file_directory);
+ return false;
+ }
+ }
+ }
+
+#ifdef CHECK_ACCESS_ON_NEW_FILES
+ access = ((statbuf.st_uid == uid)?(statbuf.st_mode & S_IWUSR):0) +
+ ((statbuf.st_gid == gid)?(statbuf.st_mode & S_IWGRP):0) +
+ (statbuf.st_mode & S_IWOTH);
+
+ if (access==0)
+ {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("failing with %d, %d, %s, %s\n", log_note, logtype_logger,
+ "can't access Logfile %s", (*logs)[1].log_filename);
+#endif
+
+ LOG(log_note, logtype_logger, "can't access file %s",
+ (*logs)[1].log_filename);
+ return false;
+ }
+#endif /* CHECK_ACCESS_ON_NEW_FILES */
+#endif /* CHECK_STAT_ON_NEW_FILES */
+#ifdef KEEP_LOGFILES_OPEN
+ if ((*logs)[1].log_file!=NULL)
+ fclose((*logs)[1].log_file);
+
+ (*logs)[1].log_file = fopen((*logs)[1].log_filename, "at");
+ if ((*logs)[1].log_file == NULL)
+ {
+ LOG(log_severe, logtype_logger, "can't open Logfile %s", (*logs)[1].log_filename);
+ return false;
+ }
+#endif
+
+ LOG(log_info, logtype_logger, "Log setup complete");
+
+#endif /* DISABLE_LOGGER */
+ return true;
+}
+
+
+void syslog_setup(enum loglevels loglevel, enum logtypes logtype, int display_options, int facility)
+{
+#ifndef DISABLE_LOGGER
+ log_file_data_pair *logs;
+
+ log_init();
+
+ logs = log_file_arr[logtype];
+
+ if (logs==NULL)
+ {
+ logs = (log_file_data_pair *)malloc(sizeof(log_file_data_pair));
+ if (logs==NULL)
+ {
+ LOG(log_severe, logtype_logger, "can't calloc in log_setup");
+ }
+ else
+ {
+ memcpy(logs, log_file_arr[logtype_default], sizeof(log_file_data_pair));
+ log_file_arr[logtype] = logs;
+ }
+ }
+
+ (*logs)[0].log_file = NULL;
+ (*logs)[0].log_filename[0] = 0;
+ (*logs)[0].log_level = loglevel;
+ (*logs)[0].display_options = display_options;
+
+ openlog(global_log_data.processname, (*logs)[0].display_options, facility);
+
+ LOG(log_info, logtype_logger, "SysLog setup complete");
+#else /* DISABLE_LOGGER */
+/* behave like a normal openlog call */
+ openlog(disabled_logger_processname, display_options, facility);
+#endif /* DISABLE_LOGGER */
+}
+
+void log_close()
+{
+#ifndef DISABLE_LOGGER
+ log_file_data_pair *logs;
+ int n;
+
+ LOG(log_info, logtype_logger, "Closing logs");
+
+ for(n=(sizeof(log_file_arr)-1);n>0;n--)
+ {
+ logs = log_file_arr[n];
+#ifdef KEEP_LOGFILES_OPEN
+ if ((*logs)[1].log_file!=NULL)
+ fclose((*logs)[1].log_file);
+#endif /* KEEP_LOGFILES_OPEN */
+ if (logs!=NULL)
+ {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Freeing log_data %d, stored at %p\n", n, logs);
+ printf("\t(filename) %s\t(type) %s\n", (*logs)[1].log_filename,
+ ((n<num_logtype_strings)?arr_logtype_strings[n]:""));
+#endif /* DEBUG_OUTPUT_TO_SCREEN */
+ free(logs);
+ }
+ log_file_arr[n] = NULL;
+ }
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Freeing log_data %d, stored at %p\n", n, log_file_arr[n]);
+ printf("\t(filename) %s\t(type) %s\n", (*(log_file_arr[n]))[1].log_filename,
+ ((n<num_logtype_strings)?arr_logtype_strings[n]:""));
+#endif /* DEBUG_OUTPUT_TO_SCREEN */
+#endif /* DISABLE_LOGGER */
+
+ closelog();
+}
+
+/* This function sets up the processname */
+void set_processname(char *processname)
+{
+#ifndef DISABLE_LOGGER
+ /* strncpy(global_log_data.processname, GetCommandName(processname), 15); */
+ strncpy(global_log_data.processname, processname, 15);
+ global_log_data.processname[15] = 0;
+#else /* DISABLE_LOGGER */
+ disabled_logger_processname = processname;
+#endif /* DISABLE_LOGGER */
+}
+
+#ifndef DISABLE_LOGGER
+/* This is called by the macro so set the location of the caller of Log */
+make_log_func set_log_location(char *srcfilename, int srclinenumber)
+{
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Setting Log Location\n");
+#endif
+ global_log_data.temp_src_filename = srcfilename;
+ global_log_data.temp_src_linenumber = srclinenumber;
+
+ return make_log_entry;
+}
+#endif /* DISABLE_LOGGER */
+
+/* --------------------------------------------------------------------------
+ MakeLog has 1 main flaws:
+ The message in its entirity, must fit into the tempbuffer.
+ So it must be shorter than MAXLOGSIZE
+ -------------------------------------------------------------------------- */
+void make_log_entry(enum loglevels loglevel, enum logtypes logtype, char *message, ...)
+{
+ va_list args;
+ char log_buffer[MAXLOGSIZE];
+#ifndef DISABLE_LOGGER
+ char log_details_buffer[MAXLOGSIZE];
+ bool message_overran_log_buffer = false;
+
+ log_file_data_pair *logs;
+
+ log_init();
+
+ logs = log_file_arr[logtype];
+
+ if (logs==NULL)
+ {
+ logs = log_file_arr[logtype_default];
+ }
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Making Log\n");
+#endif
+
+#endif /* DISABLE_LOGGER */
+
+ /* Initialise the Messages */
+ va_start(args, message);
+
+ vsnprintf(log_buffer, sizeof(log_buffer), message, args);
+
+ /* Finished with args for now */
+ va_end(args);
+
+#ifdef DISABLE_LOGGER
+ syslog(get_syslog_equivalent(loglevel), "%s", log_buffer);
+#else /* DISABLE_LOGGER */
+
+#ifdef DO_SYSLOG
+ /* check if sysloglevel is high enough */
+ if ((*logs)[0].log_level>=loglevel)
+ {
+ int sysloglevel = get_syslog_equivalent(loglevel);
+
+ generate_message_details(log_details_buffer, sizeof(log_details_buffer),
+ &(*logs)[0], loglevel, logtype);
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("About to log %s %s\n", log_details_buffer, log_buffer);
+ printf("about to do syslog\n");
+ printf("done onw syslog\n");
+#endif
+ syslog(sysloglevel, "%s: %s", log_details_buffer, log_buffer);
+ /* syslog(sysloglevel, "%s:%s: %s", log_levelString, log_typeString, LogBuffer); */
+ }
+#endif
+
+#ifdef DO_FILELOG
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("about to do the filelog\n");
+#endif
+ /* check if log_level is high enough */
+ if ((*logs)[1].log_level>=loglevel) {
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Open the Log, FILE* is %p\n", (*logs)[1].log_file);
+#endif
+ /* if log isn't open, open it */
+ if ((*logs)[1].log_file==NULL) {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Opening the Log, filename is %s\n", (*logs)[1].log_filename);
+#endif
+ (*logs)[1].log_file = fopen((*logs)[1].log_filename, "at");
+ if ((*logs)[1].log_file == NULL)
+ {
+ (*logs)[1].log_file = stdout;
+ LOG(log_severe, logtype_logger, "can't open Logfile %s", (*logs)[1].log_filename);
+ return;
+ }
+ }
+ generate_message_details(log_details_buffer, sizeof(log_details_buffer),
+ &(*logs)[1], loglevel, logtype);
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Files open, lets log\n");
+ printf("FILE* is %p\n", (*logs)[1].log_file);
+ printf("%s: %s\n", log_details_buffer, log_buffer);
+#endif
+
+ fprintf((*logs)[1].log_file, "%s: %s\n", log_details_buffer, log_buffer);
+
+#ifndef KEEP_LOGFILES_OPEN
+ if ((*logs)[1].log_file != stdout)
+ {
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Closing %s\n", (*logs)[1].log_filename);
+#endif
+ fclose((*logs)[1].log_file);
+ (*logs)[1].log_file = NULL;
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Closed\n");
+#endif
+ }
+#endif
+ }
+#endif
+
+ global_log_data.temp_src_filename = NULL;
+ global_log_data.temp_src_linenumber = 0;
+#endif /* DISABLE_LOGGER */
+}
+
+#ifndef DISABLE_LOGGER
+void load_proccessname_from_proc()
+{
+ pid_t pid = getpid();
+ char buffer[PATH_MAX];
+ char procname[16];
+ FILE * statfile;
+ char *ptr;
+
+ sprintf(buffer, "/proc/%d/stat", pid);
+ statfile = fopen(buffer, "rt");
+ fgets(buffer, PATH_MAX-1, statfile);
+ fclose(statfile);
+
+ ptr = (char *)strrchr(buffer, ')');
+ *ptr = '\0';
+ memset(procname, 0, sizeof procname);
+ sscanf(buffer, "%d (%15c", &pid, procname); /* comm[16] in kernel */
+
+ set_processname(procname);
+}
+
+/* ==========================================================================
+ Internal function definitions
+ ========================================================================== */
+
+static char *get_command_name(char *commandpath)
+{
+ char *ptr;
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("getting command name %s\n",commandpath);
+#endif
+ ptr = (char *)strrchr(commandpath, '/');
+ if (ptr==NULL)
+ ptr = commandpath;
+ else
+ ptr++;
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Concluded %s\n", ptr);
+#endif
+ return ptr;
+}
+
+void workout_what_to_print(struct what_to_print_array *what_to_print, struct tag_log_file_data *log_struct)
+{
+ /* is this a syslog entry? */
+ if (log_struct->log_filename[0]==NULL)
+ {
+ what_to_print->print_datetime = false;
+ what_to_print->print_processname = false;
+ what_to_print->print_pid = false;
+ }
+ else
+ {
+ what_to_print->print_datetime = true;
+ what_to_print->print_processname = true;
+
+ /* pid is dealt with at the syslog level if we're syslogging */
+ what_to_print->print_pid = (((log_struct->display_options & logoption_pid) == 0)?false:true);
+ }
+
+ what_to_print->print_srcfile = (((log_struct->display_options & logoption_nfile) == 0)?true:false);
+ what_to_print->print_srcline = (((log_struct->display_options & logoption_nline) == 0)?true:false);
+
+ what_to_print->print_errlevel = true;
+ what_to_print->print_errtype = true;
+}
+
+void generate_message_details(char *message_details_buffer,
+ int message_details_buffer_length,
+ struct tag_log_file_data *log_struct,
+ enum loglevels loglevel, enum logtypes logtype)
+{
+ char datebuffer[32];
+ char processinfo[64];
+
+ char *ptr = message_details_buffer;
+ int templen;
+ int len = message_details_buffer_length;
+
+ char log_buffer[MAXLOGSIZE];
+ const char *logtype_string;
+
+ char loglevel_string[12]; /* max int size is 2 billion, or 10 digits */
+ bool message_overran_log_buffer = false;
+
+ struct what_to_print_array what_to_print;
+
+ workout_what_to_print(&what_to_print, log_struct);
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Making MessageDetails\n");
+#endif
+
+ *ptr = 0;
+ /*
+ datebuffer[0] = 0;
+ ptr = datebuffer;
+ */
+
+ if (what_to_print.print_datetime)
+ {
+ time_t thetime;
+ time(&thetime);
+
+ /* some people might prefer localtime() to gmtime() */
+ strftime(ptr, len, "%b %d %H:%M:%S", gmtime(&thetime));
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("date is %s\n", ptr);
+#endif
+
+ templen = strlen(ptr);
+ len -= templen;
+ if (what_to_print.print_processname || what_to_print.print_pid)
+ strncat(ptr, " ", len);
+ else
+ strncat(ptr, ":", len);
+
+ templen++;
+ len --;
+ ptr += templen;
+ }
+
+ /*
+ processinfo[0] = 0;
+ ptr = processinfo;
+ */
+
+ if (what_to_print.print_processname)
+ {
+ strncpy(ptr, global_log_data.processname, len);
+
+ templen = strlen(ptr);
+ len -= templen;
+ ptr += templen;
+ }
+
+ if (what_to_print.print_pid)
+ {
+ pid_t pid = getpid();
+
+ sprintf(ptr, "[%d]", pid);
+
+ templen = strlen(ptr);
+ len -= templen;
+ ptr += templen;
+ }
+
+ if (what_to_print.print_srcfile || what_to_print.print_srcline)
+ {
+ char sprintf_buffer[8];
+ char *buff_ptr;
+
+ sprintf_buffer[0] = '[';
+ if (what_to_print.print_srcfile)
+ {
+ strcpy(&sprintf_buffer[1], "%s");
+ buff_ptr = &sprintf_buffer[3];
+ }
+ if (what_to_print.print_srcfile && what_to_print.print_srcline)
+ {
+ strcpy(&sprintf_buffer[3], ":");
+ buff_ptr = &sprintf_buffer[4];
+ }
+ if (what_to_print.print_srcline)
+ {
+ strcpy(buff_ptr, "%d");
+ buff_ptr = &buff_ptr[2];
+ }
+ strcpy(buff_ptr, "]");
+
+ /* ok sprintf string is ready, now is the 1st parameter src or linenumber */
+ if (what_to_print.print_srcfile)
+ {
+ sprintf(ptr, sprintf_buffer,
+ global_log_data.temp_src_filename, global_log_data.temp_src_linenumber);
+ }
+ else
+ {
+ sprintf(ptr, sprintf_buffer, global_log_data.temp_src_linenumber);
+ }
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Process info is %s\n", ptr);
+#endif
+
+ templen = strlen(ptr);
+ len -= templen;
+ ptr += templen;
+
+ }
+
+ if (what_to_print.print_processname || what_to_print.print_pid ||
+ what_to_print.print_srcfile || what_to_print.print_srcline)
+ {
+ strncat(ptr, ": ", len);
+ len -= 2;
+ ptr += 2;
+ }
+
+/*
+ loglevel_string[0] = 0;
+ ptr = loglevel_string;
+*/
+
+ if (what_to_print.print_errlevel)
+ {
+ if ((loglevel/10) >= (num_loglevel_chars-1))
+ {
+ sprintf(ptr, "%c%d", arr_loglevel_chars[num_loglevel_chars-1],
+ loglevel/10);
+ }
+ else
+ {
+ sprintf(ptr, "%c", arr_loglevel_chars[loglevel/10]);
+ }
+
+ templen = strlen(ptr);
+ len -= templen;
+ ptr += templen;
+ }
+
+ if (what_to_print.print_errtype)
+ {
+ const char *logtype_string;
+
+ /* get string represnetation of the Log Type */
+ if (logtype<num_logtype_strings)
+ logtype_string = arr_logtype_strings[logtype];
+ else
+ logtype_string = "";
+
+ if (what_to_print.print_errlevel)
+ {
+ strncat(ptr, ":", len);
+ ptr++;
+ }
+
+ sprintf(ptr, "%s", logtype_string);
+ }
+
+ message_details_buffer[message_details_buffer_length-1] = 0;
+
+#ifdef DEBUG_OUTPUT_TO_SCREEN
+ printf("Message Details are %s\n", message_details_buffer);
+#endif
+}
+#endif /* DISABLE_LOGGER */
+
+int get_syslog_equivalent(enum loglevels loglevel)
+{
+ switch (loglevel/10)
+ {
+ /* The question is we know how bad it is for us,
+ but how should that translate in the syslogs? */
+ case 0: /* severe */
+ return LOG_ERR;
+ case 1: /* error */
+ return LOG_ERR;
+ case 2: /* warning */
+ return LOG_WARNING;
+ case 3: /* note */
+ return LOG_NOTICE;
+ case 4: /* information */
+ return LOG_INFO;
+ default: /* debug */
+ return LOG_DEBUG;
+ }
+}
+
+
+
+
+
+
+
+
+
/*
- * $Id: server_child.c,v 1.4 2001-09-06 19:04:40 rufustfirefly Exp $
+ * $Id: server_child.c,v 1.5 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#include <signal.h>
-#include <syslog.h>
+#include <atalk/logger.h>
/* POSIX.1 sys/wait.h check */
#include <sys/types.h>
if (WIFEXITED(status)) {
if (WEXITSTATUS(status)) {
- syslog(LOG_INFO, "server_child[%d] %d exited %d", i, pid,
+ LOG(log_info, logtype_default, "server_child[%d] %d exited %d", i, pid,
WEXITSTATUS(status));
} else {
- syslog(LOG_INFO, "server_child[%d] %d done", i, pid);
+ LOG(log_info, logtype_default, "server_child[%d] %d done", i, pid);
}
} else {
- if (WIFSIGNALED(status))
- syslog(LOG_INFO, "server_child[%d] %d killed", i, pid);
+ if (WIFSIGNALED(status))
+ {
+ LOG(log_info, logtype_default, "server_child[%d] %d killed", i, pid);
+ }
else
- syslog(LOG_INFO, "server_child[%d] %d died", i, pid);
+ {
+ LOG(log_info, logtype_default, "server_child[%d] %d died", i, pid);
+ }
}
}
}
--- /dev/null
+#!/bin/sh
+
+make=`which gmake`
+
+if [ -z ${make} ]; then
+ make=make
+fi
+
+mkdir -p .deps/test
+
+${make} test/logger_test.o; ${make} logger.o; gcc -o test/logger_test logger.o logger_test.o; test/logger_test
--- /dev/null
+
+#include <stdio.h>
+#include <atalk/logger.h>
+
+#include <atalk/boolean.h>
+#include <atalk/logger.h>
+
+int main(int argc, char *argv[])
+{
+ bool retval;
+
+ /* LoadProccessNameFromProc(); */
+ set_processname("logger_Test");
+ log_init();
+
+ LOG(log_severe, logtype_logger, "Logging Test starting");
+ printf("Logging Test Starting\n");
+
+ LOG(log_debug, logtype_default, logtype_logger, "Testing 123");
+ LOG(log_error, logtype_logger, "Testing 456");
+
+ retval = log_setup("/var/log/newlog.log", log_error, logtype_default, logoption_pid);
+ retval = log_setup(NULL, log_error, logtype_logger, logoption_pid);
+
+ LOG(log_debug, logtype_default, logtype_logger, "This shouldn't log");
+ LOG(log_error, logtype_logger, "This should log");
+
+ syslog_setup(log_error, logtype_default, logoption_pid, logfacility_user);
+
+ LOG(log_debug, logtype_default, logtype_logger, "This shouldn't log");
+ LOG(log_error, logtype_logger, "This should log");
+
+ printf("Logging Test finishing\n");
+ LOG(log_severe, logtype_logger, "Logging Test finishing");
+
+ log_close();
+ return 0;
+}
+
+
/*
- * $Id: ddp_input.c,v 1.3 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: ddp_input.c,v 1.4 2002-01-04 04:45:48 sibaz Exp $
*
* Copyright (c) 1990,1994 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <net/if.h>
#include <net/route.h>
#ifdef _IBMR2
/*
- * $Id: ddp_output.c,v 1.3 2002-01-03 17:49:39 sibaz Exp $
+ * $Id: ddp_output.c,v 1.4 2002-01-04 04:45:49 sibaz Exp $
*
* Copyright (c) 1990,1991 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/errno.h>
-#include <syslog.h>
+#include <atalk/logger.h>
#include <net/if.h>
#include <net/route.h>