[BACK]Return to log.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/log.c between version 1.18 and 1.18.2.2

version 1.18, 2001/06/26 17:27:23 version 1.18.2.2, 2002/10/11 14:53:06
Line 65 
Line 65 
         { "LOCAL5",     SYSLOG_FACILITY_LOCAL5 },          { "LOCAL5",     SYSLOG_FACILITY_LOCAL5 },
         { "LOCAL6",     SYSLOG_FACILITY_LOCAL6 },          { "LOCAL6",     SYSLOG_FACILITY_LOCAL6 },
         { "LOCAL7",     SYSLOG_FACILITY_LOCAL7 },          { "LOCAL7",     SYSLOG_FACILITY_LOCAL7 },
         { NULL, 0 }          { NULL,         SYSLOG_FACILITY_NOT_SET }
 };  };
   
 static struct {  static struct {
Line 82 
Line 82 
         { "DEBUG1",     SYSLOG_LEVEL_DEBUG1 },          { "DEBUG1",     SYSLOG_LEVEL_DEBUG1 },
         { "DEBUG2",     SYSLOG_LEVEL_DEBUG2 },          { "DEBUG2",     SYSLOG_LEVEL_DEBUG2 },
         { "DEBUG3",     SYSLOG_LEVEL_DEBUG3 },          { "DEBUG3",     SYSLOG_LEVEL_DEBUG3 },
         { NULL, 0 }          { NULL,         SYSLOG_LEVEL_NOT_SET }
 };  };
   
 static void      do_log(LogLevel level, const char *fmt, va_list args);  
   
 SyslogFacility  SyslogFacility
 log_facility_number(char *name)  log_facility_number(char *name)
 {  {
         int i;          int i;
   
         if (name != NULL)          if (name != NULL)
                 for (i = 0; log_facilities[i].name; i++)                  for (i = 0; log_facilities[i].name; i++)
                         if (strcasecmp(log_facilities[i].name, name) == 0)                          if (strcasecmp(log_facilities[i].name, name) == 0)
                                 return log_facilities[i].val;                                  return log_facilities[i].val;
         return (SyslogFacility) - 1;          return SYSLOG_FACILITY_NOT_SET;
 }  }
   
 LogLevel  LogLevel
 log_level_number(char *name)  log_level_number(char *name)
 {  {
         int i;          int i;
   
         if (name != NULL)          if (name != NULL)
                 for (i = 0; log_levels[i].name; i++)                  for (i = 0; log_levels[i].name; i++)
                         if (strcasecmp(log_levels[i].name, name) == 0)                          if (strcasecmp(log_levels[i].name, name) == 0)
                                 return log_levels[i].val;                                  return log_levels[i].val;
         return (LogLevel) - 1;          return SYSLOG_LEVEL_NOT_SET;
 }  }
 /* Fatal messages.  This function never returns. */  
   
 void  
 fatal(const char *fmt,...)  
 {  
         va_list args;  
         va_start(args, fmt);  
         do_log(SYSLOG_LEVEL_FATAL, fmt, args);  
         va_end(args);  
         fatal_cleanup();  
 }  
   
 /* Error messages that should be logged. */  /* Error messages that should be logged. */
   
 void  void
 error(const char *fmt,...)  error(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_ERROR, fmt, args);          do_log(SYSLOG_LEVEL_ERROR, fmt, args);
         va_end(args);          va_end(args);
Line 137 
Line 127 
 log(const char *fmt,...)  log(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_INFO, fmt, args);          do_log(SYSLOG_LEVEL_INFO, fmt, args);
         va_end(args);          va_end(args);
Line 148 
Line 139 
 verbose(const char *fmt,...)  verbose(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_VERBOSE, fmt, args);          do_log(SYSLOG_LEVEL_VERBOSE, fmt, args);
         va_end(args);          va_end(args);
Line 159 
Line 151 
 debug(const char *fmt,...)  debug(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_DEBUG1, fmt, args);          do_log(SYSLOG_LEVEL_DEBUG1, fmt, args);
         va_end(args);          va_end(args);
Line 168 
Line 161 
 debug2(const char *fmt,...)  debug2(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_DEBUG2, fmt, args);          do_log(SYSLOG_LEVEL_DEBUG2, fmt, args);
         va_end(args);          va_end(args);
Line 177 
Line 171 
 debug3(const char *fmt,...)  debug3(const char *fmt,...)
 {  {
         va_list args;          va_list args;
   
         va_start(args, fmt);          va_start(args, fmt);
         do_log(SYSLOG_LEVEL_DEBUG3, fmt, args);          do_log(SYSLOG_LEVEL_DEBUG3, fmt, args);
         va_end(args);          va_end(args);
Line 225 
Line 220 
             (u_long) proc, (u_long) context);              (u_long) proc, (u_long) context);
 }  }
   
   /* Remove all cleanups, to be called after fork() */
   void
   fatal_remove_all_cleanups(void)
   {
           struct fatal_cleanup *cu, *next_cu;
   
           for (cu = fatal_cleanups; cu; cu = next_cu) {
                   next_cu = cu->next;
                   xfree(cu);
           }
   }
   
 /* Cleanup and exit */  /* Cleanup and exit */
 void  void
 fatal_cleanup(void)  fatal_cleanup(void)
Line 239 
Line 246 
         for (cu = fatal_cleanups; cu; cu = next_cu) {          for (cu = fatal_cleanups; cu; cu = next_cu) {
                 next_cu = cu->next;                  next_cu = cu->next;
                 debug("Calling cleanup 0x%lx(0x%lx)",                  debug("Calling cleanup 0x%lx(0x%lx)",
                       (u_long) cu->proc, (u_long) cu->context);                      (u_long) cu->proc, (u_long) cu->context);
                 (*cu->proc) (cu->context);                  (*cu->proc) (cu->context);
         }          }
         exit(255);          exit(255);
Line 320 
Line 327 
   
 #define MSGBUFSIZ 1024  #define MSGBUFSIZ 1024
   
 static void  void
 do_log(LogLevel level, const char *fmt, va_list args)  do_log(LogLevel level, const char *fmt, va_list args)
 {  {
         char msgbuf[MSGBUFSIZ];          char msgbuf[MSGBUFSIZ];

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.18.2.2