- autoconf-detection of ipt_ULOG.h
- _fini() support for plugin destructors (needed for clean shutdown and
SIGHUP configfile reload
-- commandline option for "to fork or not to fork"
-- various command line options (we don't even have --version)
+X commandline option for "to fork or not to fork"
+X various command line options (we don't even have --version)
- add support for capabilities to run as non-root
- big endian fixes
- man pages
- IPv6 support (core and extensions)
-- pcap output plugin (to use ethereal/tcpdump/... for the logs)
+X pcap output plugin (to use ethereal/tcpdump/... for the logs)
conffile:
- rewrite. This stuff is a real mess.
#ifndef _LIBIPULOG_H
#define _LIBIPULOG_H
-/* $Id: libipulog.h,v 1.3 2001/05/21 19:15:16 laforge Exp $ */
+/* $Id: libipulog.h,v 1.4 2001/07/03 14:45:16 laforge Exp $ */
#include <errno.h>
#include <unistd.h>
const unsigned char *buf,
size_t len);
+char *ipulog_strerror(int errcode);
+
void ipulog_perror(const char *s);
#endif /* _LIBULOG_H */
/*
- * libipulog.c, $Revision: 1.8 $
+ * libipulog.c, $Revision: 1.9 $
*
* netfilter ULOG userspace library.
*
* This library is still under development, so be aware of sudden interface
* changes
*
- * $Id: libipulog.c,v 1.8 2001/07/04 00:22:54 laforge Exp $
+ * $Id: libipulog.c,v 1.9 2001/09/01 11:53:41 laforge Exp $
*/
#include <stdlib.h>
#define IPULOG_MAXERR IPULOG_ERR_INVNL
-static int ipulog_errno = IPULOG_ERR_NONE;
+int ipulog_errno = IPULOG_ERR_NONE;
struct ipulog_errmap_t
{
return status;
}
-static char *ipulog_strerror(int errcode)
+/* public */
+
+char *ipulog_strerror(int errcode)
{
if (errcode < 0 || errcode > IPULOG_MAXERR)
errcode = IPULOG_ERR_IMPL;
return ipulog_errmap[errcode].message;
}
-
-/* public */
-
/* convert a netlink group (1-32) to a group_mask suitable for create_handle */
u_int32_t ipulog_group2gmask(u_int32_t group)
{
-/* ulogd, Version $Revision: 1.24 $
+/* ulogd, Version $Revision: 1.25 $
*
- * $Id: ulogd.c,v 1.24 2002/04/16 12:44:41 laforge Exp $
+ * $Id: ulogd.c,v 1.25 2002/06/13 12:57:25 laforge Exp $
*
* userspace logging daemon for the netfilter ULOG target
* of the linux 2.4 netfilter subsystem.
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
- * $Id: ulogd.c,v 1.24 2002/04/16 12:44:41 laforge Exp $
+ * $Id: ulogd.c,v 1.25 2002/06/13 12:57:25 laforge Exp $
*
* Modifications:
* 14 Jun 2001 Martin Josefsson <gandalf@wlug.westbo.se>
{
ulog_output_t *p;
+ if (logfile != stdout) {
+ fclose(logfile);
+ logfile = fopen(logf_ce.u.string, "a");
+ if (!logfile)
+ sigterm_handler(signal);
+ }
+
ulogd_log(ULOGD_NOTICE, "sighup received, calling plugin handlers\n");
for (p = ulogd_outputs; p; p = p->next) {
if (logfile != stdout)
fclose(stdout);
fclose(stderr);
+ fclose(stdin);
+ setsid();
}
signal(SIGTERM, &sigterm_handler);
if (len <= 0) {
/* this is not supposed to happen */
- ulogd_log(ULOGD_ERROR, "ipulog_read == %d!\n",
- len);
+ ulogd_log(ULOGD_ERROR, "ipulog_read == %d! "
+ "ipulog_errno == %d, errno = %d\n",
+ len, ipulog_errno, errno);
} else {
while (upkt = ipulog_get_packet(libulog_h,
libulog_buf, len)) {
# Example configuration for ulogd
-# $Id: ulogd.conf,v 1.5 2001/05/20 14:44:37 laforge Exp $
+# $Id: ulogd.conf,v 1.6 2001/10/02 16:39:17 laforge Exp $
#
######################################################################
# logfile for status messages
logfile /var/log/ulogd.log
-# loglevel: notice, warnings, error and fatal
+# loglevel: debug(1), info(3), notice(5), error(7) or fatal(8)
loglevel 5
######################################################################