moved loglite.c from openac to scepclient
authorAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 18 Sep 2007 15:59:56 +0000 (15:59 -0000)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 18 Sep 2007 15:59:56 +0000 (15:59 -0000)
src/openac/loglite.c [deleted file]
src/scepclient/Makefile.am
src/scepclient/loglite.c [new file with mode: 0644]
src/starter/Makefile.am

diff --git a/src/openac/loglite.c b/src/openac/loglite.c
deleted file mode 100644 (file)
index 4219eb7..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-/* error logging functions
- * Copyright (C) 1997 Angelos D. Keromytis.
- * Copyright (C) 1998-2001  D. Hugh Redelmeier.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * for more details.
- *
- * RCSID $Id: loglite.c,v 1.2 2005/07/11 18:38:16 as Exp $
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <stdarg.h>
-#include <syslog.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <signal.h>    /* used only if MSG_NOSIGNAL not defined */
-#include <libgen.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <freeswan.h>
-
-#include <constants.h>
-#include <defs.h>
-#include <log.h>
-#include <whack.h>
-
-bool
-    log_to_stderr = FALSE,     /* should log go to stderr? */
-    log_to_syslog = TRUE;      /* should log go to syslog? */
-
-void
-init_log(const char *program)
-{
-    if (log_to_stderr)
-       setbuf(stderr, NULL);
-    if (log_to_syslog)
-       openlog(program, LOG_CONS | LOG_NDELAY | LOG_PID, LOG_AUTHPRIV);
-}
-
-void
-close_log(void)
-{
-    if (log_to_syslog)
-       closelog();
-}
-
-void
-plog(const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "%s\n", m);
-    if (log_to_syslog)
-       syslog(LOG_WARNING, "%s", m);
-}
-
-void
-loglog(int mess_no, const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "%s\n", m);
-    if (log_to_syslog)
-       syslog(LOG_WARNING, "%s", m);
-}
-
-void
-log_errno_routine(int e, const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "ERROR: %s. Errno %d: %s\n", m, e, strerror(e));
-    if (log_to_syslog)
-       syslog(LOG_ERR, "ERROR: %s. Errno %d: %s", m, e, strerror(e));
-}
-
-void
-exit_log(const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "FATAL ERROR: %s\n", m);
-    if (log_to_syslog)
-       syslog(LOG_ERR, "FATAL ERROR: %s", m);
-    exit(1);
-}
-
-void
-exit_log_errno_routine(int e, const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "FATAL ERROR: %s. Errno %d: %s\n", m, e, strerror(e));
-    if (log_to_syslog)
-       syslog(LOG_ERR, "FATAL ERROR: %s. Errno %d: %s", m, e, strerror(e));
-    exit(1);
-}
-
-void
-whack_log(int mess_no, const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    fprintf(stderr, "%s\n", m);
-}
-
-/* Build up a diagnostic in a static buffer.
- * Although this would be a generally useful function, it is very
- * hard to come up with a discipline that prevents different uses
- * from interfering.  It is intended that by limiting it to building
- * diagnostics, we will avoid this problem.
- * Juggling is performed to allow an argument to be a previous
- * result: the new string may safely depend on the old one.  This
- * restriction is not checked in any way: violators will produce
- * confusing results (without crashing!).
- */
-char diag_space[sizeof(diag_space)];
-
-err_t
-builddiag(const char *fmt, ...)
-{
-    static char diag_space[LOG_WIDTH]; /* longer messages will be truncated */
-    char t[sizeof(diag_space)];        /* build result here first */
-    va_list args;
-
-    va_start(args, fmt);
-    t[0] = '\0';       /* in case nothing terminates string */
-    vsnprintf(t, sizeof(t), fmt, args);
-    va_end(args);
-    strcpy(diag_space, t);
-    return diag_space;
-}
-
-/* Debugging message support */
-
-#ifdef DEBUG
-
-void
-switch_fail(int n, const char *file_str, unsigned long line_no)
-{
-    char buf[30];
-
-    snprintf(buf, sizeof(buf), "case %d unexpected", n);
-    passert_fail(buf, file_str, line_no);
-}
-
-void
-passert_fail(const char *pred_str, const char *file_str, unsigned long line_no)
-{
-    /* we will get a possibly unplanned prefix.  Hope it works */
-    loglog(RC_LOG_SERIOUS, "ASSERTION FAILED at %s:%lu: %s", file_str, line_no, pred_str);
-    abort();   /* exiting correctly doesn't always work */
-}
-
-lset_t
-    base_debugging = DBG_NONE, /* default to reporting nothing */
-    cur_debugging =  DBG_NONE;
-
-void
-pexpect_log(const char *pred_str, const char *file_str, unsigned long line_no)
-{
-    /* we will get a possibly unplanned prefix.  Hope it works */
-    loglog(RC_LOG_SERIOUS, "EXPECTATION FAILED at %s:%lu: %s", file_str, line_no, pred_str);
-}
-
-/* log a debugging message (prefixed by "| ") */
-
-void
-DBG_log(const char *message, ...)
-{
-    va_list args;
-    char m[LOG_WIDTH]; /* longer messages will be truncated */
-
-    va_start(args, message);
-    vsnprintf(m, sizeof(m), message, args);
-    va_end(args);
-
-    if (log_to_stderr)
-       fprintf(stderr, "| %s\n", m);
-    if (log_to_syslog)
-       syslog(LOG_DEBUG, "| %s", m);
-}
-
-/* dump raw bytes in hex to stderr (for lack of any better destination) */
-
-void
-DBG_dump(const char *label, const void *p, size_t len)
-{
-#   define DUMP_LABEL_WIDTH 20 /* arbitrary modest boundary */
-#   define DUMP_WIDTH  (4 * (1 + 4 * 3) + 1)
-    char buf[DUMP_LABEL_WIDTH + DUMP_WIDTH];
-    char *bp;
-    const unsigned char *cp = p;
-
-    bp = buf;
-
-    if (label != NULL && label[0] != '\0')
-    {
-       /* Handle the label.  Care must be taken to avoid buffer overrun. */
-       size_t llen = strlen(label);
-
-       if (llen + 1 > sizeof(buf))
-       {
-           DBG_log("%s", label);
-       }
-       else
-       {
-           strcpy(buf, label);
-           if (buf[llen-1] == '\n')
-           {
-               buf[llen-1] = '\0';     /* get rid of newline */
-               DBG_log("%s", buf);
-           }
-           else if (llen < DUMP_LABEL_WIDTH)
-           {
-               bp = buf + llen;
-           }
-           else
-           {
-               DBG_log("%s", buf);
-           }
-       }
-    }
-
-    do {
-       int i, j;
-
-       for (i = 0; len!=0 && i!=4; i++)
-       {
-           *bp++ = ' ';
-           for (j = 0; len!=0 && j!=4; len--, j++)
-           {
-               static const char hexdig[] = "0123456789abcdef";
-
-               *bp++ = ' ';
-               *bp++ = hexdig[(*cp >> 4) & 0xF];
-               *bp++ = hexdig[*cp & 0xF];
-               cp++;
-           }
-       }
-       *bp = '\0';
-       DBG_log("%s", buf);
-       bp = buf;
-    } while (len != 0);
-#   undef DUMP_LABEL_WIDTH
-#   undef DUMP_WIDTH
-}
-
-#endif /* DEBUG */
index be22805..3a5f983 100644 (file)
@@ -1,5 +1,5 @@
 ipsec_PROGRAMS = scepclient
-scepclient_SOURCES = rsakey.c rsakey.h pkcs10.c pkcs10.h scep.c scep.h scepclient.c
+scepclient_SOURCES = scepclient.c rsakey.c rsakey.h pkcs10.c pkcs10.h scep.c scep.h loglite.c 
 
 PLUTODIR=$(top_srcdir)/src/pluto
 OPENACDIR=$(top_srcdir)/src/openac
@@ -19,7 +19,7 @@ AM_CFLAGS = -DDEBUG -DNO_PLUTO -DIPSEC_CONFDIR=\"${confdir}\"
 
 scepclient_LDADD = asn1.o ca.o crl.o certs.o constants.o defs.o fetch.o id.o \
                    keys.o lex.o md2.o md5.o mp_defs.o ocsp.o oid.o pem.o pgp.o \
-                   pkcs1.o pkcs7.o rnd.o sha1.o smartcard.o x509.o loglite.o \
+                   pkcs1.o pkcs7.o rnd.o sha1.o smartcard.o x509.o \
                    $(LIBFREESWANDIR)/libfreeswan.a $(LIBCRYPTODIR)/libcrypto.a \
                    -lgmp
 
@@ -35,9 +35,6 @@ endif
 
 dist_man_MANS = scepclient.8
 
-loglite.o:     $(OPENACDIR)/loglite.c $(PLUTODIR)/log.h
-               $(COMPILE) $(INCLUDES) -c -o $@ $<
-
 asn1.o :       $(PLUTODIR)/asn1.c $(PLUTODIR)/asn1.h
                $(COMPILE) $(INCLUDES) -c -o $@ $<
 
diff --git a/src/scepclient/loglite.c b/src/scepclient/loglite.c
new file mode 100644 (file)
index 0000000..4219eb7
--- /dev/null
@@ -0,0 +1,295 @@
+/* error logging functions
+ * Copyright (C) 1997 Angelos D. Keromytis.
+ * Copyright (C) 1998-2001  D. Hugh Redelmeier.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * for more details.
+ *
+ * RCSID $Id: loglite.c,v 1.2 2005/07/11 18:38:16 as Exp $
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <stdarg.h>
+#include <syslog.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>    /* used only if MSG_NOSIGNAL not defined */
+#include <libgen.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <freeswan.h>
+
+#include <constants.h>
+#include <defs.h>
+#include <log.h>
+#include <whack.h>
+
+bool
+    log_to_stderr = FALSE,     /* should log go to stderr? */
+    log_to_syslog = TRUE;      /* should log go to syslog? */
+
+void
+init_log(const char *program)
+{
+    if (log_to_stderr)
+       setbuf(stderr, NULL);
+    if (log_to_syslog)
+       openlog(program, LOG_CONS | LOG_NDELAY | LOG_PID, LOG_AUTHPRIV);
+}
+
+void
+close_log(void)
+{
+    if (log_to_syslog)
+       closelog();
+}
+
+void
+plog(const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "%s\n", m);
+    if (log_to_syslog)
+       syslog(LOG_WARNING, "%s", m);
+}
+
+void
+loglog(int mess_no, const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "%s\n", m);
+    if (log_to_syslog)
+       syslog(LOG_WARNING, "%s", m);
+}
+
+void
+log_errno_routine(int e, const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "ERROR: %s. Errno %d: %s\n", m, e, strerror(e));
+    if (log_to_syslog)
+       syslog(LOG_ERR, "ERROR: %s. Errno %d: %s", m, e, strerror(e));
+}
+
+void
+exit_log(const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "FATAL ERROR: %s\n", m);
+    if (log_to_syslog)
+       syslog(LOG_ERR, "FATAL ERROR: %s", m);
+    exit(1);
+}
+
+void
+exit_log_errno_routine(int e, const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "FATAL ERROR: %s. Errno %d: %s\n", m, e, strerror(e));
+    if (log_to_syslog)
+       syslog(LOG_ERR, "FATAL ERROR: %s. Errno %d: %s", m, e, strerror(e));
+    exit(1);
+}
+
+void
+whack_log(int mess_no, const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    fprintf(stderr, "%s\n", m);
+}
+
+/* Build up a diagnostic in a static buffer.
+ * Although this would be a generally useful function, it is very
+ * hard to come up with a discipline that prevents different uses
+ * from interfering.  It is intended that by limiting it to building
+ * diagnostics, we will avoid this problem.
+ * Juggling is performed to allow an argument to be a previous
+ * result: the new string may safely depend on the old one.  This
+ * restriction is not checked in any way: violators will produce
+ * confusing results (without crashing!).
+ */
+char diag_space[sizeof(diag_space)];
+
+err_t
+builddiag(const char *fmt, ...)
+{
+    static char diag_space[LOG_WIDTH]; /* longer messages will be truncated */
+    char t[sizeof(diag_space)];        /* build result here first */
+    va_list args;
+
+    va_start(args, fmt);
+    t[0] = '\0';       /* in case nothing terminates string */
+    vsnprintf(t, sizeof(t), fmt, args);
+    va_end(args);
+    strcpy(diag_space, t);
+    return diag_space;
+}
+
+/* Debugging message support */
+
+#ifdef DEBUG
+
+void
+switch_fail(int n, const char *file_str, unsigned long line_no)
+{
+    char buf[30];
+
+    snprintf(buf, sizeof(buf), "case %d unexpected", n);
+    passert_fail(buf, file_str, line_no);
+}
+
+void
+passert_fail(const char *pred_str, const char *file_str, unsigned long line_no)
+{
+    /* we will get a possibly unplanned prefix.  Hope it works */
+    loglog(RC_LOG_SERIOUS, "ASSERTION FAILED at %s:%lu: %s", file_str, line_no, pred_str);
+    abort();   /* exiting correctly doesn't always work */
+}
+
+lset_t
+    base_debugging = DBG_NONE, /* default to reporting nothing */
+    cur_debugging =  DBG_NONE;
+
+void
+pexpect_log(const char *pred_str, const char *file_str, unsigned long line_no)
+{
+    /* we will get a possibly unplanned prefix.  Hope it works */
+    loglog(RC_LOG_SERIOUS, "EXPECTATION FAILED at %s:%lu: %s", file_str, line_no, pred_str);
+}
+
+/* log a debugging message (prefixed by "| ") */
+
+void
+DBG_log(const char *message, ...)
+{
+    va_list args;
+    char m[LOG_WIDTH]; /* longer messages will be truncated */
+
+    va_start(args, message);
+    vsnprintf(m, sizeof(m), message, args);
+    va_end(args);
+
+    if (log_to_stderr)
+       fprintf(stderr, "| %s\n", m);
+    if (log_to_syslog)
+       syslog(LOG_DEBUG, "| %s", m);
+}
+
+/* dump raw bytes in hex to stderr (for lack of any better destination) */
+
+void
+DBG_dump(const char *label, const void *p, size_t len)
+{
+#   define DUMP_LABEL_WIDTH 20 /* arbitrary modest boundary */
+#   define DUMP_WIDTH  (4 * (1 + 4 * 3) + 1)
+    char buf[DUMP_LABEL_WIDTH + DUMP_WIDTH];
+    char *bp;
+    const unsigned char *cp = p;
+
+    bp = buf;
+
+    if (label != NULL && label[0] != '\0')
+    {
+       /* Handle the label.  Care must be taken to avoid buffer overrun. */
+       size_t llen = strlen(label);
+
+       if (llen + 1 > sizeof(buf))
+       {
+           DBG_log("%s", label);
+       }
+       else
+       {
+           strcpy(buf, label);
+           if (buf[llen-1] == '\n')
+           {
+               buf[llen-1] = '\0';     /* get rid of newline */
+               DBG_log("%s", buf);
+           }
+           else if (llen < DUMP_LABEL_WIDTH)
+           {
+               bp = buf + llen;
+           }
+           else
+           {
+               DBG_log("%s", buf);
+           }
+       }
+    }
+
+    do {
+       int i, j;
+
+       for (i = 0; len!=0 && i!=4; i++)
+       {
+           *bp++ = ' ';
+           for (j = 0; len!=0 && j!=4; len--, j++)
+           {
+               static const char hexdig[] = "0123456789abcdef";
+
+               *bp++ = ' ';
+               *bp++ = hexdig[(*cp >> 4) & 0xF];
+               *bp++ = hexdig[*cp & 0xF];
+               cp++;
+           }
+       }
+       *bp = '\0';
+       DBG_log("%s", buf);
+       bp = buf;
+    } while (len != 0);
+#   undef DUMP_LABEL_WIDTH
+#   undef DUMP_WIDTH
+}
+
+#endif /* DEBUG */
index fdebf51..4049d8d 100644 (file)
@@ -13,7 +13,7 @@ dist_man_MANS = ipsec.conf.5 starter.8
 MAINTAINERCLEANFILES = lex.yy.c y.tab.c y.tab.h keywords.c
 
 PLUTODIR=$(top_srcdir)/src/pluto
-OPENACDIR=$(top_srcdir)/src/openac
+SCEPCLIENTDIR=$(top_srcdir)/src/scepclient
 
 lex.yy.c:      y.tab.c parser.l parser.y parser.h
                $(LEX) parser.l
@@ -27,7 +27,7 @@ y.tab.h:      parser.l parser.y parser.h
 keywords.c:    keywords.txt keywords.h
                $(GPERF) -C -G -t < keywords.txt > keywords.c
 
-loglite.o:     $(OPENACDIR)/loglite.c $(PLUTODIR)/log.h
+loglite.o:     $(SCEPCLIENTDIR)/loglite.c $(PLUTODIR)/log.h
                $(COMPILE) -c -o $@ $<
 
 defs.o:                $(PLUTODIR)/defs.c $(PLUTODIR)/defs.h