added RCSID
This commit is contained in:
@@ -3,11 +3,11 @@ starter_SOURCES = y.tab.c netkey.c y.tab.h parser.h args.h netkey.h \
|
|||||||
starterwhack.c starterwhack.h starterstroke.c invokepluto.c confread.c \
|
starterwhack.c starterwhack.h starterstroke.c invokepluto.c confread.c \
|
||||||
starterstroke.h interfaces.c invokepluto.h confread.h interfaces.h args.c \
|
starterstroke.h interfaces.c invokepluto.h confread.h interfaces.h args.c \
|
||||||
keywords.c files.h keywords.h cmp.c starter.c cmp.h exec.c invokecharon.c \
|
keywords.c files.h keywords.h cmp.c starter.c cmp.h exec.c invokecharon.c \
|
||||||
exec.h invokecharon.h lex.yy.c
|
exec.h invokecharon.h lex.yy.c loglite.c
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/src/libfreeswan -I$(top_srcdir)/src/pluto -I$(top_srcdir)/src/whack -I$(top_srcdir)/src/stroke
|
INCLUDES = -I$(top_srcdir)/src/libfreeswan -I$(top_srcdir)/src/pluto -I$(top_srcdir)/src/whack -I$(top_srcdir)/src/stroke
|
||||||
AM_CFLAGS = -DIPSEC_DIR=\"${ipsecdir}\" -DIPSEC_CONFDIR=\"${confdir}\" -DIPSEC_PIDDIR=\"${piddir}\" -DIPSEC_EAPDIR=\"${eapdir}\" -DDEBUG
|
AM_CFLAGS = -DIPSEC_DIR=\"${ipsecdir}\" -DIPSEC_CONFDIR=\"${confdir}\" -DIPSEC_PIDDIR=\"${piddir}\" -DIPSEC_EAPDIR=\"${eapdir}\" -DDEBUG
|
||||||
starter_LDADD = loglite.o defs.o $(top_srcdir)/src/libfreeswan/libfreeswan.a
|
starter_LDADD = defs.o $(top_srcdir)/src/libfreeswan/libfreeswan.a
|
||||||
EXTRA_DIST = parser.l parser.y keywords.txt ipsec.conf
|
EXTRA_DIST = parser.l parser.y keywords.txt ipsec.conf
|
||||||
dist_man_MANS = ipsec.conf.5 starter.8
|
dist_man_MANS = ipsec.conf.5 starter.8
|
||||||
MAINTAINERCLEANFILES = lex.yy.c y.tab.c y.tab.h keywords.c
|
MAINTAINERCLEANFILES = lex.yy.c y.tab.c y.tab.h keywords.c
|
||||||
@@ -27,9 +27,6 @@ y.tab.h: parser.l parser.y parser.h
|
|||||||
keywords.c: keywords.txt keywords.h
|
keywords.c: keywords.txt keywords.h
|
||||||
$(GPERF) -C -G -t < keywords.txt > keywords.c
|
$(GPERF) -C -G -t < keywords.txt > keywords.c
|
||||||
|
|
||||||
loglite.o: $(SCEPCLIENTDIR)/loglite.c $(PLUTODIR)/log.h
|
|
||||||
$(COMPILE) -c -o $@ $<
|
|
||||||
|
|
||||||
defs.o: $(PLUTODIR)/defs.c $(PLUTODIR)/defs.h
|
defs.o: $(PLUTODIR)/defs.c $(PLUTODIR)/defs.h
|
||||||
$(COMPILE) -c -o $@ $<
|
$(COMPILE) -c -o $@ $<
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: args.c,v 1.9 2006/04/17 10:32:36 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|||||||
+1
-1
@@ -12,7 +12,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: args.h,v 1.3 2006/01/13 18:02:02 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _ARGS_H_
|
#ifndef _ARGS_H_
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: cmp.c,v 1.12 2006/01/13 18:03:25 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: cmp.h,v 1.4 2006/01/06 20:24:41 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_CMP_H_
|
#ifndef _STARTER_CMP_H_
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: confread.c,v 1.37 2006/04/17 19:35:07 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: confread.h,v 1.23 2006/04/17 10:32:36 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _IPSEC_CONFREAD_H_
|
#ifndef _IPSEC_CONFREAD_H_
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: exec.c,v 1.4 2006/01/04 23:30:24 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: exec.h,v 1.2 2005/12/28 10:20:32 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_EXEC_H_
|
#ifndef _STARTER_EXEC_H_
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: files.h,v 1.5 2006/02/04 18:52:58 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_FILES_H_
|
#ifndef _STARTER_FILES_H_
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: interfaces.c,v 1.15 2006/02/05 10:51:55 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: interfaces.h,v 1.6 2006/01/06 20:24:07 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_INTERFACES_H_
|
#ifndef _STARTER_INTERFACES_H_
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: invokecharon.c $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: invokecharon.h $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_CHARON_H_
|
#ifndef _STARTER_CHARON_H_
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: invokepluto.c,v 1.12 2006/02/17 21:41:50 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: invokepluto.h,v 1.3 2006/01/04 23:30:24 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_PLUTO_H_
|
#ifndef _STARTER_PLUTO_H_
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.TH IPSEC.CONF 5 "27 Jun 2007"
|
.TH IPSEC.CONF 5 "27 Jun 2007"
|
||||||
.\" RCSID $Id: ipsec.conf.5,v 1.2 2006/01/22 15:33:46 as Exp $
|
.\" RCSID $Id$
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ipsec.conf \- IPsec configuration and connections
|
ipsec.conf \- IPsec configuration and connections
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: keywords.h,v 1.8 2006/04/17 10:30:27 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _KEYWORDS_H_
|
#ifndef _KEYWORDS_H_
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: keywords.txt,v 1.6 2006/04/17 10:30:27 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#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 */
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: netkey.c,v 1.4 2006/02/15 18:33:57 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: netkey.h,v 1.1 2005/12/30 19:03:15 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_NETKEY_H_
|
#ifndef _STARTER_NETKEY_H_
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: parser.h,v 1.5 2006/01/17 23:43:36 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _IPSEC_PARSER_H_
|
#ifndef _IPSEC_PARSER_H_
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: parser.l,v 1.5 2006/03/28 22:32:33 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: parser.y,v 1.6 2006/01/17 23:43:36 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: starter.c,v 1.23 2006/02/15 18:37:46 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: starterstroke.c $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: starterstroke.h $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_STROKE_H_
|
#ifndef _STARTER_STROKE_H_
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: starterwhack.c,v 1.17 2006/04/17 10:32:36 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* RCSID $Id: starterwhack.h,v 1.6 2006/01/03 18:37:03 as Exp $
|
* RCSID $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _STARTER_WHACK_H_
|
#ifndef _STARTER_WHACK_H_
|
||||||
|
|||||||
Reference in New Issue
Block a user