> After the upgrade syslog seems to be failing...
> 
> /etc/syslog.conf
> local1.*                                        /var/log/ipf
> 
> Makefile 
> LOGFAC=-DLOGFAC=LOG_LOCAL1

This was "broken" with a simple change to make coverity quiet.

Patch to correct this below.

Darren

Index: tools/ipmon.c
===================================================================
RCS file: /devel/CVS/IP-Filter/tools/ipmon.c,v
retrieving revision 1.33.2.14
diff -c -r1.33.2.14 ipmon.c
*** tools/ipmon.c       17 Mar 2006 14:03:37 -0000      1.33.2.14
--- tools/ipmon.c       18 Mar 2006 06:53:41 -0000
***************
*** 649,658 ****
                if (j && !(j & 0xf)) {
                        *t++ = '\n';
                        *t = '\0';
!                       if (!(dopts & OPT_SYSLOG))
!                               fputs(hline, log);
!                       else
                                syslog(LOG_INFO, "%s", hline);
                        t = (u_char *)hline;
                        *t = '\0';
                }
--- 649,658 ----
                if (j && !(j & 0xf)) {
                        *t++ = '\n';
                        *t = '\0';
!                       if ((dopts & OPT_SYSLOG))
                                syslog(LOG_INFO, "%s", hline);
+                       else if (log != NULL)
+                               fputs(hline, log);
                        t = (u_char *)hline;
                        *t = '\0';
                }
***************
*** 685,695 ****
                *t++ = '\n';
                *t = '\0';
        }
!       if (!(dopts & OPT_SYSLOG)) {
                fputs(hline, log);
                fflush(log);
!       } else
!               syslog(LOG_INFO, "%s", hline);
  }
  
  
--- 685,696 ----
                *t++ = '\n';
                *t = '\0';
        }
!       if ((dopts & OPT_SYSLOG) != 0)
!               syslog(LOG_INFO, "%s", hline);
!       else if (log != NULL) {
                fputs(hline, log);
                fflush(log);
!       }
  }
  
  
***************
*** 783,789 ****
        *t++ = '\0';
        if (opts & OPT_SYSLOG)
                syslog(LOG_INFO, "%s", line);
!       else
                (void) fprintf(log, "%s", line);
  }
  
--- 784,790 ----
        *t++ = '\0';
        if (opts & OPT_SYSLOG)
                syslog(LOG_INFO, "%s", line);
!       else if (log != NULL)
                (void) fprintf(log, "%s", line);
  }
  
***************
*** 900,906 ****
        *t++ = '\0';
        if (opts & OPT_SYSLOG)
                syslog(LOG_INFO, "%s", line);
!       else
                (void) fprintf(log, "%s", line);
  }
  
--- 901,907 ----
        *t++ = '\0';
        if (opts & OPT_SYSLOG)
                syslog(LOG_INFO, "%s", line);
!       else if (log != NULL)
                (void) fprintf(log, "%s", line);
  }
  
***************
*** 1301,1308 ****
        if (defaction == 0) {
                if (opts & OPT_SYSLOG)
                        syslog(lvl, "%s", line);
!               else
                        (void) fprintf(log, "%s", line);
                if (opts & OPT_HEXHDR)
                        dumphex(log, opts, buf,
                                sizeof(iplog_t) + sizeof(*ipf));
--- 1302,1310 ----
        if (defaction == 0) {
                if (opts & OPT_SYSLOG)
                        syslog(lvl, "%s", line);
!               else if (log != NULL)
                        (void) fprintf(log, "%s", line);
+ 
                if (opts & OPT_HEXHDR)
                        dumphex(log, opts, buf,
                                sizeof(iplog_t) + sizeof(*ipf));
***************
*** 1365,1375 ****
        (void) close(fd);
  
        if (flushed) {
!               if (opts & OPT_SYSLOG)
                        syslog(LOG_INFO, "%d bytes flushed from log\n",
                                flushed);
!               else if (log != stdout)
                        fprintf(log, "%d bytes flushed from log\n", flushed);
        }
  }
  
--- 1367,1378 ----
        (void) close(fd);
  
        if (flushed) {
!               if (opts & OPT_SYSLOG) {
                        syslog(LOG_INFO, "%d bytes flushed from log\n",
                                flushed);
!               } else if ((log != stdout) && (log != NULL)) {
                        fprintf(log, "%d bytes flushed from log\n", flushed);
+               }
        }
  }
  
***************
*** 1631,1637 ****
                                        fclose(log);
                                        log = fp;
                                }
!                               if (binarylogfile && (fp = fopen(binarylogfile, 
"a"))) {
                                        fclose(binarylog);
                                        binarylog = fp;
                                }
--- 1634,1641 ----
                                        fclose(log);
                                        log = fp;
                                }
!                               if (binarylogfile &&
!                                   (fp = fopen(binarylogfile, "a"))) {
                                        fclose(binarylog);
                                        binarylog = fp;
                                }
***************
*** 1653,1666 ****
                        case 1 :
                                if (opts & OPT_SYSLOG)
                                        syslog(LOG_CRIT, "aborting logging\n");
!                               else
                                        fprintf(log, "aborting logging\n");
                                doread = 0;
                                break;
                        case 2 :
                                break;
                        case 0 :
!                               if ((n > 0) && (log != NULL)) {
                                        print_log(fdt[i], log, buf, n);
                                        if (!(opts & OPT_SYSLOG))
                                                fflush(log);
--- 1657,1670 ----
                        case 1 :
                                if (opts & OPT_SYSLOG)
                                        syslog(LOG_CRIT, "aborting logging\n");
!                               else if (log != NULL)
                                        fprintf(log, "aborting logging\n");
                                doread = 0;
                                break;
                        case 2 :
                                break;
                        case 0 :
!                               if (n > 0) {
                                        print_log(fdt[i], log, buf, n);
                                        if (!(opts & OPT_SYSLOG))
                                                fflush(log);

Reply via email to