changeset 11:a9b52f657f08

finish coding 1.0 version
author carl
date Thu, 15 Dec 2005 16:20:17 -0800
parents 5dfe0138b4f9
children c2a2e35a85ac
files Makefile.am configure.in f html/Makefile.am info/Makefile.am man/Makefile.am src/Makefile.in syslog2iptables.spec.in xml/Makefile.am xml/header.sgml xml/header.xml xml/syslog2iptables.in
diffstat 12 files changed, 227 insertions(+), 522 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Thu Dec 08 13:58:08 2005 -0800
+++ b/Makefile.am	Thu Dec 15 16:20:17 2005 -0800
@@ -1,9 +1,9 @@
-SUBDIRS = src
+SUBDIRS = src man html info
 hackdir = $(sysconfdir)
 hack_SCRIPTS = syslog2iptables
 sysconf_DATA = syslog2iptables.conf
-CLEANFILES = syslog2iptables
-EXTRA_DIST = syslog2iptables.rc syslog2iptables.conf syslog2iptables.spec
+CLEANFILES = syslog2iptables xml/syslog2iptables xml/Makefile
+EXTRA_DIST = syslog2iptables.rc syslog2iptables.conf syslog2iptables.spec xml/*
 
 syslog2iptables: $(srcdir)/syslog2iptables.rc
 	   rm -f syslog2iptables
--- a/configure.in	Thu Dec 08 13:58:08 2005 -0800
+++ b/configure.in	Thu Dec 15 16:20:17 2005 -0800
@@ -1,7 +1,7 @@
 AC_INIT(configure.in)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(syslog2iptables, 0.2)
+AM_INIT_AUTOMAKE(syslog2iptables,1.0)
 AC_PATH_PROGS(BASH, bash)
 
 AC_LANG_CPLUSPLUS
@@ -9,7 +9,12 @@
 AM_PROG_LIBTOOL
 
 AC_OUTPUT(                  \
+    Makefile                \
     syslog2iptables.spec    \
-    Makefile                \
+    html/Makefile           \
+    info/Makefile           \
+    man/Makefile            \
     src/Makefile            \
+    xml/Makefile            \
+    xml/syslog2iptables     \
     )
--- a/f	Thu Dec 08 13:58:08 2005 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-helo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/html/Makefile.am	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,1 @@
+EXTRA_DIST = $(wildcard *.html) $(wildcard *.pdf)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/info/Makefile.am	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,2 @@
+info_INFOS = syslog2iptables.texi
+EXTRA_DIST = $(info_INFOS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/Makefile.am	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,2 @@
+man_MANS = syslog2iptables.1 syslog2iptables.conf.5
+EXTRA_DIST = $(man_MANS)
--- a/src/Makefile.in	Thu Dec 08 13:58:08 2005 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,513 +0,0 @@
-# Makefile.in generated by automake 1.9.2 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-SOURCES = $(syslog2iptables_SOURCES)
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-sbin_PROGRAMS = syslog2iptables$(EXEEXT)
-subdir = src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(sbindir)"
-sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(sbin_PROGRAMS)
-am_syslog2iptables_OBJECTS =  \
-	syslog2iptables-syslog2iptables.$(OBJEXT) \
-	syslog2iptables-tokenizer.$(OBJEXT) \
-	syslog2iptables-syslogconfig.$(OBJEXT)
-syslog2iptables_OBJECTS = $(am_syslog2iptables_OBJECTS)
-syslog2iptables_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(syslog2iptables_SOURCES)
-DIST_SOURCES = $(syslog2iptables_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASH = @BASH@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-syslog2iptables_SOURCES = syslog2iptables.cpp tokenizer.cpp tokenizer.h \
-		includes.h syslogconfig.cpp syslogconfig.h syslog2iptables.h
-
-
-# set the include path found by configure
-INCLUDES = $(all_includes)
-
-# the library search path.
-syslog2iptables_LDFLAGS = $(all_libraries) -pthread
-
-# default compile flags
-syslog2iptables_CXXFLAGS = -pthread
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-sbinPROGRAMS: $(sbin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)"
-	@list='$(sbin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
-
-uninstall-sbinPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(sbin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(sbindir)/$$f"; \
-	done
-
-clean-sbinPROGRAMS:
-	@list='$(sbin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
-syslog2iptables$(EXEEXT): $(syslog2iptables_OBJECTS) $(syslog2iptables_DEPENDENCIES) 
-	@rm -f syslog2iptables$(EXEEXT)
-	$(CXXLINK) $(syslog2iptables_LDFLAGS) $(syslog2iptables_OBJECTS) $(syslog2iptables_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog2iptables-syslog2iptables.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog2iptables-syslogconfig.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog2iptables-tokenizer.Po@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
-
-syslog2iptables-syslog2iptables.o: syslog2iptables.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-syslog2iptables.o -MD -MP -MF "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo" -c -o syslog2iptables-syslog2iptables.o `test -f 'syslog2iptables.cpp' || echo '$(srcdir)/'`syslog2iptables.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo" "$(DEPDIR)/syslog2iptables-syslog2iptables.Po"; else rm -f "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='syslog2iptables.cpp' object='syslog2iptables-syslog2iptables.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-syslog2iptables.o `test -f 'syslog2iptables.cpp' || echo '$(srcdir)/'`syslog2iptables.cpp
-
-syslog2iptables-syslog2iptables.obj: syslog2iptables.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-syslog2iptables.obj -MD -MP -MF "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo" -c -o syslog2iptables-syslog2iptables.obj `if test -f 'syslog2iptables.cpp'; then $(CYGPATH_W) 'syslog2iptables.cpp'; else $(CYGPATH_W) '$(srcdir)/syslog2iptables.cpp'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo" "$(DEPDIR)/syslog2iptables-syslog2iptables.Po"; else rm -f "$(DEPDIR)/syslog2iptables-syslog2iptables.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='syslog2iptables.cpp' object='syslog2iptables-syslog2iptables.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-syslog2iptables.obj `if test -f 'syslog2iptables.cpp'; then $(CYGPATH_W) 'syslog2iptables.cpp'; else $(CYGPATH_W) '$(srcdir)/syslog2iptables.cpp'; fi`
-
-syslog2iptables-tokenizer.o: tokenizer.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-tokenizer.o -MD -MP -MF "$(DEPDIR)/syslog2iptables-tokenizer.Tpo" -c -o syslog2iptables-tokenizer.o `test -f 'tokenizer.cpp' || echo '$(srcdir)/'`tokenizer.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-tokenizer.Tpo" "$(DEPDIR)/syslog2iptables-tokenizer.Po"; else rm -f "$(DEPDIR)/syslog2iptables-tokenizer.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tokenizer.cpp' object='syslog2iptables-tokenizer.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-tokenizer.o `test -f 'tokenizer.cpp' || echo '$(srcdir)/'`tokenizer.cpp
-
-syslog2iptables-tokenizer.obj: tokenizer.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-tokenizer.obj -MD -MP -MF "$(DEPDIR)/syslog2iptables-tokenizer.Tpo" -c -o syslog2iptables-tokenizer.obj `if test -f 'tokenizer.cpp'; then $(CYGPATH_W) 'tokenizer.cpp'; else $(CYGPATH_W) '$(srcdir)/tokenizer.cpp'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-tokenizer.Tpo" "$(DEPDIR)/syslog2iptables-tokenizer.Po"; else rm -f "$(DEPDIR)/syslog2iptables-tokenizer.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tokenizer.cpp' object='syslog2iptables-tokenizer.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-tokenizer.obj `if test -f 'tokenizer.cpp'; then $(CYGPATH_W) 'tokenizer.cpp'; else $(CYGPATH_W) '$(srcdir)/tokenizer.cpp'; fi`
-
-syslog2iptables-syslogconfig.o: syslogconfig.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-syslogconfig.o -MD -MP -MF "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo" -c -o syslog2iptables-syslogconfig.o `test -f 'syslogconfig.cpp' || echo '$(srcdir)/'`syslogconfig.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo" "$(DEPDIR)/syslog2iptables-syslogconfig.Po"; else rm -f "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='syslogconfig.cpp' object='syslog2iptables-syslogconfig.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-syslogconfig.o `test -f 'syslogconfig.cpp' || echo '$(srcdir)/'`syslogconfig.cpp
-
-syslog2iptables-syslogconfig.obj: syslogconfig.cpp
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -MT syslog2iptables-syslogconfig.obj -MD -MP -MF "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo" -c -o syslog2iptables-syslogconfig.obj `if test -f 'syslogconfig.cpp'; then $(CYGPATH_W) 'syslogconfig.cpp'; else $(CYGPATH_W) '$(srcdir)/syslogconfig.cpp'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo" "$(DEPDIR)/syslog2iptables-syslogconfig.Po"; else rm -f "$(DEPDIR)/syslog2iptables-syslogconfig.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='syslogconfig.cpp' object='syslog2iptables-syslogconfig.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syslog2iptables_CXXFLAGS) $(CXXFLAGS) -c -o syslog2iptables-syslogconfig.obj `if test -f 'syslogconfig.cpp'; then $(CYGPATH_W) 'syslogconfig.cpp'; else $(CYGPATH_W) '$(srcdir)/syslogconfig.cpp'; fi`
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-	list='$(DISTFILES)'; for file in $$list; do \
-	  case $$file in \
-	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-	  esac; \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkdir_p) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
-	  fi; \
-	  if test -d $$d/$$file; then \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-	for dir in "$(DESTDIR)$(sbindir)"; do \
-	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-sbinPROGRAMS \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-sbinPROGRAMS
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-sbinPROGRAMS ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-exec \
-	install-exec-am install-info install-info-am install-man \
-	install-sbinPROGRAMS install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-info-am \
-	uninstall-sbinPROGRAMS
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
--- a/syslog2iptables.spec.in	Thu Dec 08 13:58:08 2005 -0800
+++ b/syslog2iptables.spec.in	Thu Dec 15 16:20:17 2005 -0800
@@ -1,12 +1,14 @@
+%define localstatedir   /var/lib
+
 Summary:            Syslog to iptables dynamic firewall
 Name:               @PACKAGE@
 Version:            @VERSION@
 Release:            %{?custom_release}%{!?custom_release:1}
 Copyright:          GPL
 Group:              System Environment/Daemons
-Source:             http://www.five-ten-sg.com/util/@PACKAGE@-@VERSION@.tar.gz
+Source:             http://www.five-ten-sg.com/@PACKAGE@/packages/@PACKAGE@-@VERSION@.tar.gz
 BuildRoot:          %{_tmppath}/%{name}-%{version}-buildroot
-URL:                http://www.five-ten-sg.com/@PACKAGE@
+URL:                http://www.five-ten-sg.com/@PACKAGE@/
 Vendor:             510 Software Group
 Packager:           510 Software Group
 Requires(post,preun):   /sbin/chkconfig /sbin/service
@@ -16,7 +18,8 @@
 
 
 %description
-@PACKAGE@ reads a configuration file /etc/@PACKAGE@.conf that defines a collection of syslog files to be parsed for ip addresses to be added to the iptables INPUT chain with DROP rules.
+
+@PACKAGE@ is a simple adaptive firewall.  It maintains the INPUT chain of the iptables firewall set based on syslog entries.
 
 This package cannot co-exist with any other daemon that tries to maintain the INPUT chain, since it periodically flushes and recreates the INPUT chain.
 
@@ -77,6 +80,7 @@
 %doc AUTHORS COPYING ChangeLog NEWS README
 %defattr(-,root,root)
 %{_sbindir}/*
+%{_mandir}/*
 %config(noreplace) %{_sysconfdir}/@PACKAGE@.conf
 /etc/rc.d/init.d/@PACKAGE@
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/Makefile.am	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,10 @@
+all: syslog2iptables
+	   cat header.xml  syslog2iptables >syslog2iptables.xml
+	   cat header.sgml syslog2iptables >syslog2iptables.sgml
+	   rm -f ../html/*html
+	   rm -f ../html/*pdf
+	   xmlto        -o ../man  man   syslog2iptables.xml
+	   xmlto        -o ../html xhtml syslog2iptables.xml
+	   xmlto        -o ../html pdf   syslog2iptables.xml
+	   docbook2texi -o ../info       syslog2iptables.sgml
+	   rm -f syslog2iptables.xml syslog2iptables.sgml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/header.sgml	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,1 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/header.xml	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+     "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/syslog2iptables.in	Thu Dec 15 16:20:17 2005 -0800
@@ -0,0 +1,190 @@
+<reference>
+    <title>@PACKAGE@</title>
+    <partintro>
+        <title>Packages</title>
+        <para>The various source and binary packages are available at <ulink
+        url="http://www.five-ten-sg.com/syslog2iptables/packages">http://www.five-ten-sg.com/syslog2iptables/packages</ulink>
+        </para>
+        <para>The most recent documentation is available at <ulink
+        url="http://www.five-ten-sg.com/syslog2iptables/">http://www.five-ten-sg.com/syslog2iptables/</ulink>
+        </para>
+    </partintro>
+
+    <refentry id="@PACKAGE@.1">
+        <refentryinfo>
+            <date>2005-12-15</date>
+        </refentryinfo>
+
+        <refmeta>
+            <refentrytitle>@PACKAGE@</refentrytitle>
+            <manvolnum>1</manvolnum>
+            <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
+        </refmeta>
+
+        <refnamediv id='name.1'>
+            <refname>@PACKAGE@</refname>
+            <refpurpose>a simple adaptive firewall</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv id='synopsis.1'>
+            <title>Synopsis</title>
+            <cmdsynopsis>
+                <command>@PACKAGE@</command>
+                <arg><option>-c</option></arg>
+                <arg><option>-d <replaceable class="parameter">n</replaceable></option></arg>
+            </cmdsynopsis>
+        </refsynopsisdiv>
+
+        <refsect1 id='description.1'>
+            <title>Description</title>
+                <para><command>@PACKAGE@</command> is a simple adaptive firewall.  It
+                maintains the INPUT chain of the <citerefentry>
+                <refentrytitle>iptables</refentrytitle> <manvolnum>1</manvolnum>
+                </citerefentry> firewall set based on syslog entries.  These syslog
+                entries are typically generated by your hardware firewall, but they
+                could come from any source.  Any syslog entry that contains a host name
+                or ip address can be used as input to this package.</para>
+
+                <para>The <citerefentry> <refentrytitle>@PACKAGE@.conf</refentrytitle>
+                <manvolnum>5</manvolnum> </citerefentry> file specifies the syslog files
+                to be monitored, and the regular expressions (<citerefentry>
+                <refentrytitle>regex</refentrytitle> <manvolnum>7</manvolnum>
+                </citerefentry>) to be applied to new lines in those files.  Each
+                regular expression needs an index to specify the matching substring that
+                contains either an ip address or host name, and a bucket count which is
+                added to the leaky bucket for that ip address when a matching line is
+                read from that syslog file.</para>
+
+                <para>Each ip address has an associated leaky bucket, which leaks one
+                token per second.  Once the bucket contains more than a configurable
+                number of tokens, that ip address is added to the INPUT chain with a
+                DROP target.  When the bucket is drained to zero, that ip address is
+                removed from the INPUT chain.</para>
+        </refsect1>
+
+        <refsect1 id='options.1'>
+            <title>Options</title>
+            <variablelist>
+                <varlistentry>
+                    <term>-c</term>
+                    <listitem>
+                        <para>
+                            Load the configuration file, print a cannonical form
+                            of the configuration on stdout, and exit.
+                       </para>
+                   </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>-d <replaceable class="parameter">n</replaceable></term>
+                    <listitem>
+                        <para>
+                            Set the debug level to <replaceable class="parameter">n</replaceable>.
+                        </para>
+                    </listitem>
+                </varlistentry>
+            </variablelist>
+        </refsect1>
+
+        <refsect1>
+            <title>Usage</title>
+            <para><command>@PACKAGE@</command> -d 2</para>
+        </refsect1>
+
+        <refsect1>
+            <title>Configuration</title>
+            <para>
+                The configuration file is documented in <citerefentry>
+                <refentrytitle>@PACKAGE@.conf</refentrytitle> <manvolnum>5</manvolnum>
+                </citerefentry>.
+            </para>
+        </refsect1>
+
+        <refsect1>
+            <title>Copyright</title>
+            <para>
+                Copyright (C) 2005 by 510 Software Group &lt;carl@five-ten-sg.com&gt;
+            </para>
+            <para>
+                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, or (at your option) any
+                later version.
+            </para>
+            <para>
+                You should have received a copy of the GNU General Public License along
+                with this program; see the file COPYING.  If not, please write to the
+                Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+            </para>
+        </refsect1>
+    </refentry>
+
+
+    <refentry id="@PACKAGE@.conf.5">
+        <refentryinfo>
+            <date>2005-12-15</date>
+        </refentryinfo>
+
+        <refmeta>
+            <refentrytitle>@PACKAGE@.conf</refentrytitle>
+            <manvolnum>5</manvolnum>
+            <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
+        </refmeta>
+
+        <refnamediv id='name.5'>
+            <refname>@PACKAGE@.conf</refname>
+            <refpurpose>configuration file for @PACKAGE@</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv id='synopsis.5'>
+            <title>Synopsis</title>
+            <cmdsynopsis>
+                <command>@PACKAGE@.conf</command>
+            </cmdsynopsis>
+        </refsynopsisdiv>
+
+        <refsect1 id='description.5'>
+            <title>Description</title>
+            <para>The <command>@PACKAGE@.conf</command> configuration file is
+            specified by this partial bnf description.</para>
+
+            <literallayout class="monospaced"><![CDATA[
+CONFIG    := THRESHOLD IGNORE {FILE}+
+THRESHOLD := "threshold" THRESHOLD-INTEGER-VALUE ";"
+IGNORE    := "ignore" "{" IG-SINGLE+ "};"
+IG-SINGLE := IP-ADDRESS "/" CIDR-BITS ";"
+FILE      := "file" FILENAME "{" PATTERN+ "};"
+PATTERN   := "pattern" REGULAR-EXPRESSION "{" {INDEX | BUCKET}+ "};"
+INDEX     := "index" REGEX-INTEGER-VALUE ";"
+BUCKET    := "bucket" BUCKET-ADD-INTEGER-VALUE ";"]]></literallayout>
+        </refsect1>
+
+        <refsect1 id='sample.5'>
+            <title>Sample</title>
+            <literallayout class="monospaced"><![CDATA[
+threshold 550;
+
+ignore {
+    127.0.0.0/8;        // localhost
+};
+
+file "/var/log/cisco.log" {
+    pattern "Internet_Firewall denied (tcp|udp) ([^(]*)" {
+        index 2;    // zero based
+        bucket 200;
+    };
+};
+
+file "/var/log/secure" {
+    pattern "sshd.*Failed password .* from ::ffff:(.*) port" {
+        index 1;    // zero based
+        bucket 400;
+    };
+    pattern "sshd.*Failed password .* from (.*) port" {
+        index 1;    // zero based
+        bucket 400;
+    };
+};]]></literallayout>
+        </refsect1>
+
+    </refentry>
+</reference>