diff -ur snort-2.0.2/Makefile.am snort-2.0.2-ipv6/Makefile.am
--- snort-2.0.2/Makefile.am	Sat Jul 26 00:17:28 2003
+++ snort-2.0.2-ipv6/Makefile.am	Thu Nov 13 11:49:33 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.64 2003/07/25 15:17:28 chrisgreen Exp $
+## $Id: Makefile.am,v 1.2 2003/11/13 02:49:33 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 SUBDIRS = src doc etc rules templates contrib
 
@@ -14,10 +14,10 @@
         # always ensure that the win32 build is in sync
 	$(distdir)/verstuff.pl $(distdir)
         # work around a horrible doc/Makefile.am
-	rm -rf $(distdir)/doc/signatures/signatures/CVS
-	chmod 755  $(distdir)/doc/signatures/signatures  $(distdir)/doc
-	mv -f $(distdir)/doc/signatures/signatures $(distdir)/doc/sigs.bak
-	rm -rf $(distdir)/doc/signatures
-	mv -f $(distdir)/doc/sigs.bak $(distdir)/doc/signatures
+	## rm -rf $(distdir)/doc/signatures/signatures/CVS
+	## $chmod 755  $(distdir)/doc/signatures/signatures  $(distdir)/doc
+	## mv -f $(distdir)/doc/signatures/signatures $(distdir)/doc/sigs.bak
+	## rm -rf $(distdir)/doc/signatures
+	## mv -f $(distdir)/doc/sigs.bak $(distdir)/doc/signatures
 
 
diff -ur snort-2.0.2/Makefile.in snort-2.0.2-ipv6/Makefile.in
--- snort-2.0.2/Makefile.in	Thu Sep 11 05:27:18 2003
+++ snort-2.0.2-ipv6/Makefile.in	Thu Nov 13 19:26:37 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 SUBDIRS = src doc etc rules templates contrib
 
@@ -94,7 +88,6 @@
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 
 NROFF = nroff
@@ -104,22 +97,21 @@
 	uninstall-info-recursive all-recursive install-data-recursive \
 	install-exec-recursive installdirs-recursive install-recursive \
 	uninstall-recursive check-recursive installcheck-recursive
-DIST_COMMON = COPYING ChangeLog Makefile.am Makefile.in acconfig.h \
-	aclocal.m4 config.guess config.h.in config.sub configure \
-	configure.in install-sh missing mkinstalldirs
+DIST_COMMON = ./stamp-h.in COPYING ChangeLog Makefile.am Makefile.in \
+	acconfig.h aclocal.m4 config.guess config.h.in config.sub \
+	configure configure.in install-sh missing mkinstalldirs
 DIST_SUBDIRS = $(SUBDIRS)
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno
 $(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$@ $(SHELL) ./config.status
 
 $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -128,23 +120,31 @@
 
 $(ACLOCAL_M4):  configure.in 
 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
+config.h: stamp-h
 	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) stamp-h1; \
+		rm -f stamp-h; \
+		$(MAKE) stamp-h; \
 	else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-	@rm -f stamp-h1
-	cd $(top_builddir) && $(SHELL) ./config.status config.h
-
-$(srcdir)/config.h.in:  $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
+stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h stamp-hT
+	@echo timestamp > stamp-hT 2> /dev/null
+	cd $(top_builddir) \
+	  && CONFIG_FILES= CONFIG_HEADERS=config.h \
+	     $(SHELL) ./config.status
+	@mv stamp-hT stamp-h
+$(srcdir)/config.h.in:  $(srcdir)/./stamp-h.in
+	@if test ! -f $@; then \
+		rm -f $(srcdir)/./stamp-h.in; \
+		$(MAKE) $(srcdir)/./stamp-h.in; \
+	else :; fi
+$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
+	@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
+	@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
 	cd $(top_srcdir) && $(AUTOHEADER)
-	touch $(srcdir)/config.h.in
+	@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
 
 distclean-hdr:
-	-rm -f config.h stamp-h1
+	-rm -f config.h
 uninstall-info-am:
 
 man8dir = $(mandir)/man8
@@ -162,10 +162,6 @@
 	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
 	  else file=$$i; fi; \
 	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    8*) ;; \
-	    *) ext='8' ;; \
-	  esac; \
 	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
 	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
 	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -197,7 +193,7 @@
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@set fnord $$MAKEFLAGS; amf=$$2; \
+	@set fnord $(MAKEFLAGS); amf=$$2; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -217,7 +213,7 @@
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-	@set fnord $$MAKEFLAGS; amf=$$2; \
+	@set fnord $(MAKEFLAGS); amf=$$2; \
 	dot_seen=no; \
 	case "$@" in \
 	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -245,19 +241,16 @@
 	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
@@ -268,60 +261,50 @@
 	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = .
+# Avoid unsightly `./'.
 distdir = $(PACKAGE)-$(VERSION)
 
-am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-
 GZIP_ENV = --best
-distcleancheck_listfiles = find . -type f -print
 
 distdir: $(DISTFILES)
-	$(am__remove_distdir)
+	-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
 	mkdir $(distdir)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	for subdir in $(SUBDIRS); do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d $(distdir)/$$subdir \
 	    || mkdir $(distdir)/$$subdir \
@@ -342,28 +325,23 @@
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
 	|| chmod -R a+r $(distdir)
-dist-gzip: distdir
+dist: distdir
 	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-
-dist dist-all: distdir
-	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+	-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
 # tarfile.
 distcheck: dist
-	$(am__remove_distdir)
+	-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 	GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
 	chmod -R a-w $(distdir); chmod a+w $(distdir)
 	mkdir $(distdir)/=build
 	mkdir $(distdir)/=inst
 	chmod a-w $(distdir)
-	dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
+	dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
 	  && cd $(distdir)/=build \
 	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -371,24 +349,17 @@
 	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
 	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
 	  && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
-	      || { echo "ERROR: files left after uninstall:" ; \
-	           find $$dc_install_base -type f -print ; \
-	           exit 1; } >&2 ) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+	     || (echo "Error: files left after uninstall" 1>&2; \
+	         exit 1) ) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && $(MAKE) $(AM_MAKEFLAGS) distclean \
 	  && rm -f $(distdir).tar.gz \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
-	$(am__remove_distdir)
+	  && (test `find . -type f -print | wc -l` -eq 0 \
+	     || (echo "Error: files left after distclean" 1>&2; \
+	         exit 1) )
+	-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 	@echo "$(distdir).tar.gz is ready for distribution" | \
 	  sed 'h;s/./=/g;p;x;p;x'
-distcleancheck: distclean
-	if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile $(MANS) config.h
@@ -407,7 +378,6 @@
 installcheck: installcheck-recursive
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -415,7 +385,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -425,8 +395,11 @@
 
 clean-am: clean-generic mostlyclean-am
 
+dist-all: distdir
+	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
 distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f config.status config.cache config.log
 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
 
 dvi: dvi-recursive
@@ -448,8 +421,7 @@
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf autom4te.cache
+
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
 mostlyclean: mostlyclean-recursive
@@ -463,13 +435,13 @@
 uninstall-man: uninstall-man8
 
 .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
-	clean-generic clean-recursive dist dist-all dist-gzip distcheck \
-	distclean distclean-generic distclean-hdr distclean-recursive \
-	distclean-tags distcleancheck distdir dvi dvi-am dvi-recursive \
-	info info-am info-recursive install install-am install-data \
-	install-data-am install-data-recursive install-exec \
-	install-exec-am install-exec-recursive install-info \
-	install-info-am install-info-recursive install-man install-man8 \
+	clean-generic clean-recursive dist dist-all distcheck distclean \
+	distclean-generic distclean-hdr distclean-recursive \
+	distclean-tags distdir dvi dvi-am dvi-recursive info info-am \
+	info-recursive install install-am install-data install-data-am \
+	install-data-recursive install-exec install-exec-am \
+	install-exec-recursive install-info install-info-am \
+	install-info-recursive install-man install-man8 \
 	install-recursive install-strip installcheck installcheck-am \
 	installdirs installdirs-am installdirs-recursive \
 	maintainer-clean maintainer-clean-generic \
@@ -483,11 +455,6 @@
         # always ensure that the win32 build is in sync
 	$(distdir)/verstuff.pl $(distdir)
         # work around a horrible doc/Makefile.am
-	rm -rf $(distdir)/doc/signatures/signatures/CVS
-	chmod 755  $(distdir)/doc/signatures/signatures  $(distdir)/doc
-	mv -f $(distdir)/doc/signatures/signatures $(distdir)/doc/sigs.bak
-	rm -rf $(distdir)/doc/signatures
-	mv -f $(distdir)/doc/sigs.bak $(distdir)/doc/signatures
 # 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:
diff -ur snort-2.0.2/acconfig.h snort-2.0.2-ipv6/acconfig.h
--- snort-2.0.2/acconfig.h	Wed May 28 05:09:48 2003
+++ snort-2.0.2-ipv6/acconfig.h	Thu Nov 13 11:47:57 2003
@@ -1,4 +1,4 @@
-/* $Id: acconfig.h,v 1.9 2003/05/27 18:26:56 chrisgreen Exp $ */
+/* $Id: acconfig.h,v 1.2 2003/11/13 02:47:57 abekatsu Exp $ */
 #undef PACKAGE
 #undef VERSION
 #undef BSDI
@@ -49,3 +49,6 @@
 #undef HAVE_NETSNMP
 #undef HAVE__FUNCTION__
 #undef HAVE__func__
+#undef HAVE_SOCKADDR_STORAGE
+#undef HAVE_SOCKADDR_STORAGE_SS_FAMILY
+#undef HAVE_SOCKADDR_STORAGE_SS_LEN
diff -ur snort-2.0.2/aclocal.m4 snort-2.0.2-ipv6/aclocal.m4
--- snort-2.0.2/aclocal.m4	Thu Sep 11 05:27:17 2003
+++ snort-2.0.2-ipv6/aclocal.m4	Thu Nov 13 18:57:07 2003
@@ -1,6 +1,6 @@
-# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
+# aclocal.m4t generated automatically by aclocal 1.5
 
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -11,108 +11,78 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
 
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-AC_PREREQ([2.52])
-
-# serial 6
+# serial 3
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  We must strip everything past the first ":",
 # and everything past the last "/".
 
+AC_PREREQ([2.12])
+
+AC_DEFUN([AM_CONFIG_HEADER],
+[ifdef([AC_FOREACH],dnl
+	 [dnl init our file count if it isn't already
+	 m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
+	 dnl prepare to store our destination file list for use in config.status
+	 AC_FOREACH([_AM_File], [$1],
+		    [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
+		    m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
+		    dnl and add it to the list of files AC keeps track of, along
+		    dnl with our hook
+		    AC_CONFIG_HEADERS(_AM_File,
+dnl COMMANDS, [, INIT-CMDS]
+[# update the timestamp
+echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
+][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
+		    m4_popdef([_AM_Dest])])],dnl
+[AC_CONFIG_HEADER([$1])
+  AC_OUTPUT_COMMANDS(
+   ifelse(patsubst([$1], [[^ ]], []),
+	  [],
+	  [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
+	   patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
+[am_indx=1
+for am_file in $1; do
+  case " \$CONFIG_HEADERS " in
+  *" \$am_file "*)
+    am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
+    if test -n "\$am_dir"; then
+      am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
+      for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
+        am_tmpdir=\$am_tmpdir\$am_subdir/
+        if test ! -d \$am_tmpdir; then
+          mkdir \$am_tmpdir
+        fi
+      done
+    fi
+    echo timestamp > "\$am_dir"stamp-h\$am_indx
+    ;;
+  esac
+  am_indx=\`expr \$am_indx + 1\`
+done])
+])]) # AM_CONFIG_HEADER
+
 # _AM_DIRNAME(PATH)
 # -----------------
 # Like AS_DIRNAME, only do it during macro expansion
 AC_DEFUN([_AM_DIRNAME],
-       [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
-	      m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
-		    m4_if(regexp([$1], [^/.*]), -1,
+       [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+	      m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
+		    m4_if(m4_regexp([$1], [^/.*]), -1,
 			  [.],
-			  patsubst([$1], [^\(/\).*], [\1])),
-		    patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
-	      patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
-])# _AM_DIRNAME
-
-
-# The stamp files are numbered to have different names.
-# We could number them on a directory basis, but that's additional
-# complications, let's have a unique counter.
-m4_define([_AM_STAMP_Count], [0])
-
-
-# _AM_STAMP(HEADER)
-# -----------------
-# The name of the stamp file for HEADER.
-AC_DEFUN([_AM_STAMP],
-[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
-AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
-                               [:.*])))/stamp-h[]_AM_STAMP_Count])
-
-
-# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
-# ------------------------------------------------------------
-# We used to try to get a real timestamp in stamp-h.  But the fear is that
-# that will cause unnecessary cvs conflicts.
-AC_DEFUN([_AM_CONFIG_HEADER],
-[# Add the stamp file to the list of files AC keeps track of,
-# along with our hook.
-AC_CONFIG_HEADERS([$1],
-                  [# update the timestamp
-echo 'timestamp for $1' >"_AM_STAMP([$1])"
-$2],
-                  [$3])
-])# _AM_CONFIG_HEADER
+			  m4_patsubst([$1], [^\(/\).*], [\1])),
+		    m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
+	      m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
+]) # _AM_DIRNAME
+
+# Do all the work for Automake.  This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
 
-
-# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
-# --------------------------------------------------------------
-AC_DEFUN([AM_CONFIG_HEADER],
-[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
-])# AM_CONFIG_HEADER
-
-# Do all the work for Automake.                            -*- Autoconf -*-
-
-# This macro actually does too much some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 8
+# serial 5
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -121,52 +91,62 @@
 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
 
-AC_PREREQ([2.52])
+# We require 2.13 because we rely on SHELL being computed by configure.
+AC_PREREQ([2.13])
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
+# The purpose of this macro is to provide the user with a means to
+# check macros which are provided without letting her know how the
+# information is coded.
+# If this macro is not defined by Autoconf, define it here.
+ifdef([AC_PROVIDE_IFELSE],
+      [],
+      [define([AC_PROVIDE_IFELSE],
+              [ifdef([AC_PROVIDE_$1],
+                     [$2], [$3])])])
 
-# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
-# the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
 
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
+# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
+# ----------------------------------------------
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
+[AC_REQUIRE([AC_PROG_INSTALL])dnl
 # test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
+if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
-  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
 fi
 
 # Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
- AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
-
-_AM_IF_OPTION([no-define],,
+PACKAGE=$1
+AC_SUBST(PACKAGE)dnl
+VERSION=$2
+AC_SUBST(VERSION)dnl
+ifelse([$3],,
 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
+
+# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
+# the ones we care about.
+ifdef([m4_pattern_allow],
+      [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
+
+# Autoconf 2.50 always computes EXEEXT.  However we need to be
+# compatible with 2.13, for now.  So we always define EXEEXT, but we
+# don't compute it.
+AC_SUBST(EXEEXT)
+# Similar for OBJEXT -- only we only use OBJEXT if the user actually
+# requests that it be used.  This is a bit dumb.
+: ${OBJEXT=o}
+AC_SUBST(OBJEXT)
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(ACLOCAL, aclocal)
 AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOMAKE, automake)
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
 AM_MISSING_PROG(AMTAR, tar)
@@ -176,9 +156,9 @@
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_][CC],
+AC_REQUIRE([AM_DEP_TRACK])dnl
+AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_PROVIDE_IFELSE([AC_PROG_][CC],
                   [_AM_DEPENDENCIES(CC)],
                   [define([AC_PROG_][CC],
                           defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
@@ -187,102 +167,11 @@
                   [define([AC_PROG_][CXX],
                           defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 ])
-])
-
-# Copyright 2002  Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-	 [AM_AUTOMAKE_VERSION([1.6.3])])
-
-# Helper functions for option handling.                    -*- Autoconf -*-
-
-# Copyright 2001, 2002  Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
 #
 # Check to make sure that the build environment is sane.
 #
 
-# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 # serial 3
 
 # AM_SANITY_CHECK
@@ -326,27 +215,8 @@
 fi
 AC_MSG_RESULT(yes)])
 
-#  -*- Autoconf -*-
-
 
-# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# serial 2
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -368,29 +238,13 @@
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  am_backtick='`'
+  AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
 fi
 ])
 
 # AM_AUX_DIR_EXPAND
 
-# Copyright 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -429,59 +283,19 @@
 # absolute PATH.  The drawback is that using absolute paths prevent a
 # configured tree to be moved without reconfiguration.
 
-# Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])
-
 AC_DEFUN([AM_AUX_DIR_EXPAND], [
 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
 ])
 
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 AC_SUBST(install_sh)])
 
-# AM_PROG_INSTALL_STRIP
-
-# Copyright 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
 # One issue with vendor `install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
@@ -491,35 +305,11 @@
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
 # serial 4						-*- Autoconf -*-
 
-# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
 
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@@ -531,9 +321,9 @@
 
 
 # _AM_DEPENDENCIES(NAME)
-# ----------------------
+# ---------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX" or "OBJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -548,7 +338,7 @@
 
 ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                    [depcc="$$1"   am_compiler_list=])
 
@@ -610,7 +400,8 @@
   am_cv_$1_dependencies_compiler_type=none
 fi
 ])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
+AC_SUBST([$1DEPMODE])
 ])
 
 
@@ -628,7 +419,7 @@
   DEPDIR=_deps
 fi
 rmdir .deps 2>/dev/null
-AC_SUBST([DEPDIR])
+AC_SUBST(DEPDIR)
 ])
 
 
@@ -643,48 +434,30 @@
   AMDEPBACKSLASH='\'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+pushdef([subst], defn([AC_SUBST]))
+subst(AMDEPBACKSLASH)
+popdef([subst])
 ])
 
-# Generate code to set up dependency tracking.   -*- Autoconf -*-
-
-# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-#serial 2
+# Generate code to set up dependency tracking.
+# This macro should only be invoked once -- use via AC_REQUIRE.
+# Usage:
+# AM_OUTPUT_DEPENDENCY_COMMANDS
 
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # So let's grep whole file.
-  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
+AC_OUTPUT_COMMANDS([
+test x"$AMDEP_TRUE" != x"" ||
+for mf in $CONFIG_FILES; do
+  case "$mf" in
+  Makefile) dirpart=.;;
+  */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
+  *) continue;;
+  esac
+  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
   # Extract the definition of DEP_FILES from the Makefile without
   # running `make'.
   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@@ -708,46 +481,14 @@
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
+    fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
+    $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
 done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright 2001 Free Software Foundation, Inc.             -*- Autoconf -*-
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 2
+], [AMDEP_TRUE="$AMDEP_TRUE"
+ac_aux_dir="$ac_aux_dir"])])
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -760,7 +501,7 @@
 END
 # If we don't find an include directive, just comment out the code.
 AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
+am__include='#'
 am__quote=
 _am_result=none
 # First try GNU make style include.
@@ -780,7 +521,7 @@
    echo '.include "confinc"' > confmf
    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
       am__include=.include
-      am__quote="\""
+      am__quote='"'
       _am_result=BSD
    fi
 fi
@@ -790,35 +531,23 @@
 rm -f confinc confmf
 ])
 
-# AM_CONDITIONAL                                              -*- Autoconf -*-
-
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 5
-
-AC_PREREQ(2.52)
+# serial 3
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
+#
+# FIXME: Once using 2.50, use this:
+# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-        [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[ifelse([$1], [TRUE],
+        [errprint(__file__:__line__: [$0: invalid condition: $1
+])dnl
+m4exit(1)])dnl
+ifelse([$1], [FALSE],
+       [errprint(__file__:__line__: [$0: invalid condition: $1
+])dnl
+m4exit(1)])dnl
 AC_SUBST([$1_TRUE])
 AC_SUBST([$1_FALSE])
 if $2; then
@@ -827,30 +556,8 @@
 else
   $1_TRUE='#'
   $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([conditional \"$1\" was never defined.
-Usually this means the macro was only invoked conditionally.])
-fi])])
+fi])
 
-
-# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-# 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.
-
-# 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.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
 
 # serial 1
 
diff -ur snort-2.0.2/config.h.in snort-2.0.2-ipv6/config.h.in
--- snort-2.0.2/config.h.in	Thu Sep 11 05:27:33 2003
+++ snort-2.0.2-ipv6/config.h.in	Thu Nov 13 18:43:06 2003
@@ -1,5 +1,5 @@
 /* config.h.in.  Generated from configure.in by autoheader.  */
-/* $Id: acconfig.h,v 1.9 2003/05/27 18:26:56 chrisgreen Exp $ */
+/* $Id: acconfig.h,v 1.2 2003/11/13 02:47:57 abekatsu Exp $ */
 #undef PACKAGE
 #undef VERSION
 #undef BSDI
@@ -50,6 +50,15 @@
 #undef HAVE_NETSNMP
 #undef HAVE__FUNCTION__
 #undef HAVE__func__
+#undef HAVE_SOCKADDR_STORAGE
+#undef HAVE_SOCKADDR_STORAGE_SS_FAMILY
+#undef HAVE_SOCKADDR_STORAGE_SS_LEN
+
+/* Define to 1 if you have the `getaddrinfo' function. */
+#undef HAVE_GETADDRINFO
+
+/* Define to 1 if you have the `getnameinfo' function. */
+#undef HAVE_GETNAMEINFO
 
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
diff -ur snort-2.0.2/configure snort-2.0.2-ipv6/configure
--- snort-2.0.2/configure	Thu Sep 11 05:27:20 2003
+++ snort-2.0.2-ipv6/configure	Thu Nov 13 18:57:10 2003
@@ -1210,16 +1210,15 @@
 
 
 
-# Add the stamp file to the list of files AC keeps track of,
-# along with our hook.
-ac_config_headers="$ac_config_headers config.h"
 
 
 
 
+		    		    		    ac_config_headers="$ac_config_headers config.h"
+
+
 # When changing the snort version, please also update the VERSION
 # definition in "src/win32/WIN32-Includes/config.h"
-am__api_version="1.6"
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
   if test -f $ac_dir/install-sh; then
@@ -1382,7 +1381,7 @@
 
 
 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
 
 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
 # Use eval to expand $SHELL
@@ -1390,8 +1389,9 @@
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  am_backtick='`'
+  { echo "$as_me:$LINENO: WARNING: ${am_backtick}missing' script is too old or missing" >&5
+echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;}
 fi
 
 for ac_prog in gawk mawk nawk awk
@@ -1463,8 +1463,41 @@
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
- # test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+rm -f .deps 2>/dev/null
+mkdir .deps 2>/dev/null
+if test -d .deps; then
+  DEPDIR=.deps
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  DEPDIR=_deps
+fi
+rmdir .deps 2>/dev/null
+
+
+# test to see if srcdir already configured
+if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
   { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
@@ -1472,9 +1505,8 @@
 fi
 
 # Define the identity of the package.
- PACKAGE=snort
- VERSION=2.0.2
-
+PACKAGE=snort
+VERSION=2.0.2-ipv6
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE "$PACKAGE"
@@ -1485,15 +1517,28 @@
 #define VERSION "$VERSION"
 _ACEOF
 
+
+# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
+# the ones we care about.
+
+# Autoconf 2.50 always computes EXEEXT.  However we need to be
+# compatible with 2.13, for now.  So we always define EXEEXT, but we
+# don't compute it.
+
+# Similar for OBJEXT -- only we only use OBJEXT if the user actually
+# requests that it be used.  This is a bit dumb.
+: ${OBJEXT=o}
+
+
 # Some tools Automake needs.
 
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"}
 
 
 AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
 
 
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"}
 
 
 AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
@@ -1506,92 +1551,6 @@
 
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  STRIP=$ac_ct_STRIP
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
@@ -1599,20 +1558,7 @@
 
 
 
-
-rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
-  DEPDIR=.deps
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-
-
-ac_config_commands="$ac_config_commands depfiles"
-
+ac_config_commands="$ac_config_commands default-1"
 
 am_make=${MAKE-make}
 cat > confinc << 'END'
@@ -1622,7 +1568,7 @@
 # If we don't find an include directive, just comment out the code.
 echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include="#"
+am__include='#'
 am__quote=
 _am_result=none
 # First try GNU make style include.
@@ -1642,7 +1588,7 @@
    echo '.include "confinc"' > confmf
    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
       am__include=.include
-      am__quote="\""
+      am__quote='"'
       _am_result=BSD
    fi
 fi
@@ -1652,27 +1598,6 @@
 echo "${ECHO_T}$_am_result" >&6
 rm -f confinc confmf
 
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
-  enableval="$enable_dependency_tracking"
-
-fi;
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2497,7 +2422,7 @@
 fi
 echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
 
 
 
@@ -3323,7 +3248,7 @@
 fi
 echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
 
 
  if test -n "$GCC"; then
@@ -5935,7 +5860,7 @@
   fi
 
   echo "$as_me:$LINENO: checking for mysql" >&5
-echo $ECHO_N "checking for mysql... $ECHO_C" >&6
+echo $ECHO_N "checking for mysql... $ECHO_C" >&6o
 
   for i in $mysql_directory; do
     if test -r $i/include/mysql/mysql.h; then
@@ -7193,6 +7118,252 @@
 fi
 
 
+
+for ac_func in getaddrinfo getnameinfo
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+char (*f) ();
+
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+f = $ac_func;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+echo "$as_me:$LINENO: checking for struct sockaddr_storage" >&5
+echo $ECHO_N "checking for struct sockaddr_storage... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+struct sockaddr_storage ss; ss.ss_family = PF_UNSPEC ;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  have_sockaddr_storage=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+have_sockaddr_storage=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
+if test "x$have_sockaddr_storage" = "xyes"; then
+   echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+   cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKADDR_STORAGE 1
+_ACEOF
+
+
+            echo "$as_me:$LINENO: checking for ss_family which is the member of struct sockaddr_storage" >&5
+echo $ECHO_N "checking for ss_family which is the member of struct sockaddr_storage... $ECHO_C" >&6
+   cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+   #include <stdio.h>
+   #include <sys/types.h>
+   #include <sys/socket.h>
+
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+struct sockaddr_storage ss; ss.ss_family = 0 ;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  have_sockaddr_storage_ss_family=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+have_sockaddr_storage_ss_family=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
+   if test "x$have_sockaddr_storage_ss_family" = "xyes"; then
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKADDR_STORAGE_SS_FAMILY 1
+_ACEOF
+
+   else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+   fi
+
+            echo "$as_me:$LINENO: checking for ss_len which is the member of struct sockaddr_storage" >&5
+echo $ECHO_N "checking for ss_len which is the member of struct sockaddr_storage... $ECHO_C" >&6
+   cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+   #include <stdio.h>
+   #include <sys/types.h>
+   #include <sys/socket.h>
+
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+struct sockaddr_storage ss; ss.ss_len = 0 ;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  have_sockaddr_storage_ss_len=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+have_sockaddr_storage_ss_len=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
+   if test "x$have_sockaddr_storage_ss_len" = "xyes"; then
+      echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+      cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKADDR_STORAGE_SS_LEN 1
+_ACEOF
+
+   else
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+   fi
+else
+   echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
 # let's make some fixes..
 
 CFLAGS=`echo $CFLAGS | sed -e 's/-I\/usr\/include //g'`
@@ -7279,6 +7450,7 @@
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 ac_config_files="$ac_config_files Makefile src/Makefile src/detection-plugins/Makefile src/output-plugins/Makefile src/preprocessors/Makefile src/parser/Makefile doc/Makefile contrib/Makefile etc/Makefile rules/Makefile templates/Makefile src/win32/Makefile"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -7355,13 +7527,6 @@
 
 DEFS=-DHAVE_CONFIG_H
 
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -7756,7 +7921,8 @@
 # INIT-COMMANDS section.
 #
 
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE"
+ac_aux_dir="$ac_aux_dir"
 
 _ACEOF
 
@@ -7779,7 +7945,7 @@
   "rules/Makefile" ) CONFIG_FILES="$CONFIG_FILES rules/Makefile" ;;
   "templates/Makefile" ) CONFIG_FILES="$CONFIG_FILES templates/Makefile" ;;
   "src/win32/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/win32/Makefile" ;;
-  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
   "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
@@ -7868,6 +8034,8 @@
 s,@INSTALL_DATA@,$INSTALL_DATA,;t t
 s,@PACKAGE@,$PACKAGE,;t t
 s,@VERSION@,$VERSION,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
 s,@ACLOCAL@,$ACLOCAL,;t t
 s,@AUTOCONF@,$AUTOCONF,;t t
 s,@AUTOMAKE@,$AUTOMAKE,;t t
@@ -7875,24 +8043,20 @@
 s,@MAKEINFO@,$MAKEINFO,;t t
 s,@AMTAR@,$AMTAR,;t t
 s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
 s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
 s,@AWK@,$AWK,;t t
 s,@SET_MAKE@,$SET_MAKE,;t t
+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+s,@DEPDIR@,$DEPDIR,;t t
 s,@CC@,$CC,;t t
 s,@CFLAGS@,$CFLAGS,;t t
 s,@LDFLAGS@,$LDFLAGS,;t t
 s,@CPPFLAGS@,$CPPFLAGS,;t t
 s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
 s,@am__include@,$am__include,;t t
 s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
 s,@CCDEPMODE@,$CCDEPMODE,;t t
 s,@RANLIB@,$RANLIB,;t t
 s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
@@ -8325,7 +8489,7 @@
   # Run the commands associated with the file.
   case $ac_file in
     config.h ) # update the timestamp
-echo 'timestamp for config.h' >"./stamp-h1"
+echo timestamp >"./stamp-h1"
  ;;
   esac
 done
@@ -8386,31 +8550,14 @@
   { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
 echo "$as_me: executing $ac_dest commands" >&6;}
   case $ac_dest in
-    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # So let's grep whole file.
-  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
-    dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$mf" : 'X\(//\)[^/]' \| \
-         X"$mf" : 'X\(//\)$' \| \
-         X"$mf" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  else
-    continue
-  fi
+    default-1 )
+test x"$AMDEP_TRUE" != x"" ||
+for mf in $CONFIG_FILES; do
+  case "$mf" in
+  Makefile) dirpart=.;;
+  */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
+  *) continue;;
+  esac
   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
   # Extract the definition of DEP_FILES from the Makefile without
   # running `make'.
@@ -8435,38 +8582,8 @@
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$file" : 'X\(//\)[^/]' \| \
-         X"$file" : 'X\(//\)$' \| \
-         X"$file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-    { case $dirpart/$fdir in
-  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
-  *)                      as_incr_dir=.;;
-esac
-as_dummy=$dirpart/$fdir
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
-  case $as_mkdir_dir in
-    # Skip DOS drivespec
-    ?:) as_incr_dir=$as_mkdir_dir ;;
-    *)
-      as_incr_dir=$as_incr_dir/$as_mkdir_dir
-      test -d "$as_incr_dir" ||
-        mkdir "$as_incr_dir" ||
-	{ { echo "$as_me:$LINENO: error: cannot create $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create $dirpart/$fdir" >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-  esac
-done; }
-
+    fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
+    $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
diff -ur snort-2.0.2/configure.in snort-2.0.2-ipv6/configure.in
--- snort-2.0.2/configure.in	Thu Sep 11 05:27:15 2003
+++ snort-2.0.2-ipv6/configure.in	Thu Nov 13 11:48:33 2003
@@ -1,10 +1,11 @@
-# $Id: configure.in,v 1.125 2003/07/25 15:17:28 chrisgreen Exp $ 
-AC_INIT(src/snort.c)
+# $Id: configure.in,v 1.3 2003/11/13 02:48:33 abekatsu Exp $ 
+AC_INIT
+AC_CONFIG_SRCDIR([src/snort.c])
 AM_CONFIG_HEADER(config.h)
 
 # When changing the snort version, please also update the VERSION
 # definition in "src/win32/WIN32-Includes/config.h"
-AM_INIT_AUTOMAKE(snort,2.0.2)
+AM_INIT_AUTOMAKE(snort,2.0.2-ipv6)
 
 AM_PROG_CC_STDC
 AC_PROG_RANLIB
@@ -332,7 +333,7 @@
     mysql_fail="no"
   fi
 
-  AC_MSG_CHECKING(for mysql)
+  AC_MSG_CHECKING(for mysql)o
 
   for i in $mysql_directory; do
     if test -r $i/include/mysql/mysql.h; then
@@ -691,6 +692,64 @@
 	fi
 fi
 
+dnl checking getaddrinfo and getnameinfo
+AC_CHECK_FUNCS([getaddrinfo getnameinfo])
+
+dnl checking if there is struct sockaddr_storage.
+AC_MSG_CHECKING(for struct sockaddr_storage)
+AC_TRY_COMPILE([
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+],
+[struct sockaddr_storage ss; ss.ss_family = PF_UNSPEC ;],
+have_sockaddr_storage=yes, have_sockaddr_storage=no)
+
+if test "x$have_sockaddr_storage" = "xyes"; then
+   AC_MSG_RESULT(yes)
+   AC_DEFINE(HAVE_SOCKADDR_STORAGE)
+
+   dnl
+   dnl check if a member ss_family exists in struct sockaddr_storage
+   dnl 
+   AC_MSG_CHECKING(for ss_family which is the member of struct sockaddr_storage)
+   AC_TRY_COMPILE([
+   #include <stdio.h>
+   #include <sys/types.h>
+   #include <sys/socket.h>
+   ],
+   [struct sockaddr_storage ss; ss.ss_family = 0 ;],
+   have_sockaddr_storage_ss_family=yes, have_sockaddr_storage_ss_family=no)
+
+   if test "x$have_sockaddr_storage_ss_family" = "xyes"; then      
+      AC_MSG_RESULT(yes)
+      AC_DEFINE(HAVE_SOCKADDR_STORAGE_SS_FAMILY)
+   else
+      AC_MSG_RESULT(no)
+   fi
+
+   dnl
+   dnl check if a member ss_len exists in struct sockaddr_storage
+   dnl 
+   AC_MSG_CHECKING(for ss_len which is the member of struct sockaddr_storage)
+   AC_TRY_COMPILE([
+   #include <stdio.h>
+   #include <sys/types.h>
+   #include <sys/socket.h>
+   ],
+   [struct sockaddr_storage ss; ss.ss_len = 0 ;],
+   have_sockaddr_storage_ss_len=yes, have_sockaddr_storage_ss_len=no)
+
+   if test "x$have_sockaddr_storage_ss_len" = "xyes"; then      
+      AC_MSG_RESULT(yes)
+      AC_DEFINE(HAVE_SOCKADDR_STORAGE_SS_LEN)
+   else
+      AC_MSG_RESULT(no)
+   fi
+else
+   AC_MSG_RESULT(no)
+fi
+
 
 # let's make some fixes..
 
@@ -701,7 +760,7 @@
 AC_SUBST(INCLUDES)
 
 AC_PROG_INSTALL
-AC_OUTPUT(Makefile             \
+AC_CONFIG_FILES([Makefile             \
 src/Makefile                   \
 src/detection-plugins/Makefile \
 src/output-plugins/Makefile    \
@@ -712,5 +771,6 @@
 etc/Makefile                   \
 rules/Makefile                 \
 templates/Makefile             \
-src/win32/Makefile)
+src/win32/Makefile])
+AC_OUTPUT
 
diff -ur snort-2.0.2/contrib/Makefile.am snort-2.0.2-ipv6/contrib/Makefile.am
--- snort-2.0.2/contrib/Makefile.am	Tue Sep  3 02:46:02 2002
+++ snort-2.0.2-ipv6/contrib/Makefile.am	Fri Dec 12 20:40:40 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.3 2002/09/02 17:46:02 chrisgreen Exp $
+## $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 EXTRA_DIST = ACID-0.9.6b21.tar.gz \
@@ -7,6 +7,7 @@
 create_mysql \
 create_oracle.sql \
 create_postgresql \
+create_postgresql.ipv6 \
 faq2html \
 Guardian.tar.gz \
 Makefile.am \
diff -ur snort-2.0.2/contrib/Makefile.in snort-2.0.2-ipv6/contrib/Makefile.in
--- snort-2.0.2/contrib/Makefile.in	Thu Sep 11 05:27:46 2003
+++ snort-2.0.2-ipv6/contrib/Makefile.in	Fri Dec 12 20:40:45 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,24 +57,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 EXTRA_DIST = ACID-0.9.6b21.tar.gz \
@@ -87,6 +81,7 @@
 create_mysql \
 create_oracle.sql \
 create_postgresql \
+create_postgresql.ipv6 \
 faq2html \
 Guardian.tar.gz \
 Makefile.am \
@@ -113,7 +108,6 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 DIST_COMMON = README Makefile.am Makefile.in
 all: all-am
@@ -123,31 +117,29 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  contrib/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -171,7 +163,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -179,7 +170,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/contrib/S99snort snort-2.0.2-ipv6/contrib/S99snort
--- snort-2.0.2/contrib/S99snort	Wed Dec 19 07:14:37 2001
+++ snort-2.0.2-ipv6/contrib/S99snort	Tue Sep 30 13:25:28 2003
@@ -1,5 +1,5 @@
 #!/bin/bash
-# $Id: S99snort,v 1.1 2001/12/18 22:14:37 cazz Exp $
+# $Id: S99snort,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # /etc/init.d/snort : start or stop the SNORT Intrusion Database System
 #
 # Written by Lukasz Szmit <ptashek@scg.gliwice.pl>
Only in snort-2.0.2-ipv6/contrib: create_postgresql.ipv6
diff -ur snort-2.0.2/contrib/mysql.php3 snort-2.0.2-ipv6/contrib/mysql.php3
--- snort-2.0.2/contrib/mysql.php3	Mon Aug  7 11:42:53 2000
+++ snort-2.0.2-ipv6/contrib/mysql.php3	Tue Sep 30 13:25:28 2003
@@ -8,10 +8,13 @@
 
 This is Snort Statistics On-Line PHP script. You need to have php with support of postgresql database. Then just put this file under the directory you allow php to be executed, or name it as foobar.php3. It looks more like http://www.incident.org/ now, but I hope to make it more 'interactive' in the future, or at least do something like my snort_stat.pl does. :)
 
-$Id: mysql.php3,v 1.1.1.1 2000/08/07 02:42:53 roesch Exp $
+$Id: mysql.php3,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 Yen-Ming Chen <chenym@CMU.EDU>
 
 $Log: mysql.php3,v $
+Revision 1.1.1.1  2003/09/30 04:25:28  abekatsu
+Base package
+
 Revision 1.1.1.1  2000/08/07 02:42:53  roesch
 Initial Import
 
@@ -276,7 +279,7 @@
     <address><a href="mailto:chenym@CMU.EDU">Yen-Ming Chen</a></address>
 <!-- Created: Fri Feb 25 10:15:02 EST 2000 -->
 <!-- hhmts start -->
-Last modified: $Date: 2000/08/07 02:42:53 $
+Last modified: $Date: 2003/09/30 04:25:28 $
 <!-- hhmts end -->
   </body>
 </html>
diff -ur snort-2.0.2/contrib/pgsql.php3 snort-2.0.2-ipv6/contrib/pgsql.php3
--- snort-2.0.2/contrib/pgsql.php3	Mon Aug  7 11:42:53 2000
+++ snort-2.0.2-ipv6/contrib/pgsql.php3	Tue Sep 30 13:25:28 2003
@@ -8,10 +8,13 @@
 
 Oh, there is not many comments here. :)
 
-$Id: pgsql.php3,v 1.1.1.1 2000/08/07 02:42:53 roesch Exp $
+$Id: pgsql.php3,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 Yen-Ming Chen <chenym@CMU.EDU>
 
 $Log: pgsql.php3,v $
+Revision 1.1.1.1  2003/09/30 04:25:28  abekatsu
+Base package
+
 Revision 1.1.1.1  2000/08/07 02:42:53  roesch
 Initial Import
 
@@ -285,7 +288,7 @@
     <address><a href="mailto:chenym@CMU.EDU">Yen-Ming Chen</a></address>
 <!-- Created: Fri Feb 25 10:15:02 EST 2000 -->
 <!-- hhmts start -->
-Last modified: $Date: 2000/08/07 02:42:53 $
+Last modified: $Date: 2003/09/30 04:25:28 $
 <!-- hhmts end -->
   </body>
 </html>
diff -ur snort-2.0.2/contrib/regen-sidmap snort-2.0.2-ipv6/contrib/regen-sidmap
--- snort-2.0.2/contrib/regen-sidmap	Fri Oct  5 00:02:13 2001
+++ snort-2.0.2-ipv6/contrib/regen-sidmap	Tue Sep 30 13:25:28 2003
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: regen-sidmap,v 1.1 2001/10/04 15:02:13 cazz Exp $
+# $Id: regen-sidmap,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # Copyright (C) 2001 Brian Caswell <bmc@snort.org>
 # regen-sidmap
 #
diff -ur snort-2.0.2/contrib/sid-add snort-2.0.2-ipv6/contrib/sid-add
--- snort-2.0.2/contrib/sid-add	Wed Aug 22 02:56:39 2001
+++ snort-2.0.2-ipv6/contrib/sid-add	Tue Sep 30 13:25:28 2003
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: sid-add,v 1.3 2001/08/21 17:56:39 cazz Exp $
+# $Id: sid-add,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # Copyright (C) 2001 Brian Caswell <bmc@mitre.org>
 #
 # sid-add - Add SIDs and Revision to any rule that does not have an SID.
diff -ur snort-2.0.2/contrib/snort-sort.pl snort-2.0.2-ipv6/contrib/snort-sort.pl
--- snort-2.0.2/contrib/snort-sort.pl	Mon Aug  7 11:42:52 2000
+++ snort-2.0.2-ipv6/contrib/snort-sort.pl	Tue Sep 30 13:25:28 2003
@@ -149,7 +149,7 @@
 #
 # resolve host name and cache it
 # contributed by: Angelos Karageorgiou, <angelos@stocktrade.gr>
-# edited by: $Author: roesch $
+# edited by: $Author: abekatsu $
 #
 sub resolve {
   local $mname, $miaddr, $mhost = shift;
diff -ur snort-2.0.2/contrib/snort_stat.pl snort-2.0.2-ipv6/contrib/snort_stat.pl
--- snort-2.0.2/contrib/snort_stat.pl	Wed Mar 20 23:53:35 2002
+++ snort-2.0.2-ipv6/contrib/snort_stat.pl	Tue Sep 30 13:25:28 2003
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 #
-# $Id: snort_stat.pl,v 1.4 2002/03/20 14:53:35 cazz Exp $
-# $Revision: 1.4 $
+# $Id: snort_stat.pl,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
+# $Revision: 1.1.1.1 $
 #
 # snort_stat.pl is a perl script trying to generate statistical data from every
 # day snort log file.
@@ -16,9 +16,9 @@
 # or put it in the root's crontab file:
 #59      10      *       *       *       root    cat /var/log/authlog | /etc/snort_stat.pl | sendmail root
 #
-# $Author: cazz $
+# $Author: abekatsu $
 # Yen-Ming Chen, <chenym@ALUMNI.CMU.EDU>
-# $Date: 2002/03/20 14:53:35 $
+# $Date: 2003/09/30 04:25:28 $
 # 
 
 use Getopt::Std;		# use Getopt for options
@@ -429,7 +429,7 @@
 #
 # resolve host name and cache it
 # contributed by: Angelos Karageorgiou, <angelos@stocktrade.gr>
-# edited by: $Author: cazz $
+# edited by: $Author: abekatsu $
 #
 sub resolve {
   local ($mname, $miaddr, $mhost = shift);
diff -ur snort-2.0.2/contrib/snortpp.c snort-2.0.2-ipv6/contrib/snortpp.c
--- snort-2.0.2/contrib/snortpp.c	Sat Aug 11 14:12:27 2001
+++ snort-2.0.2-ipv6/contrib/snortpp.c	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-/* $Id: snortpp.c,v 1.1 2001/08/11 05:12:27 dragosr Exp $ */
+/* $Id: snortpp.c,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $ */
 /*
 ** Copyright (C) 2001 Dragos Ruiu <dr@kyx.net>
 **
Only in snort-2.0.2-ipv6/doc: 1000.txt
Only in snort-2.0.2-ipv6/doc: 1001.txt
Only in snort-2.0.2-ipv6/doc: 1002.txt
Only in snort-2.0.2-ipv6/doc: 1003.txt
Only in snort-2.0.2-ipv6/doc: 1007.txt
Only in snort-2.0.2-ipv6/doc: 1008.txt
Only in snort-2.0.2-ipv6/doc: 1009.txt
Only in snort-2.0.2-ipv6/doc: 1011.txt
Only in snort-2.0.2-ipv6/doc: 1015.txt
Only in snort-2.0.2-ipv6/doc: 1016.txt
Only in snort-2.0.2-ipv6/doc: 1017.txt
Only in snort-2.0.2-ipv6/doc: 1018.txt
Only in snort-2.0.2-ipv6/doc: 1019.txt
Only in snort-2.0.2-ipv6/doc: 1020.txt
Only in snort-2.0.2-ipv6/doc: 1021.txt
Only in snort-2.0.2-ipv6/doc: 1022.txt
Only in snort-2.0.2-ipv6/doc: 1023.txt
Only in snort-2.0.2-ipv6/doc: 1024.txt
Only in snort-2.0.2-ipv6/doc: 1025.txt
Only in snort-2.0.2-ipv6/doc: 1026.txt
Only in snort-2.0.2-ipv6/doc: 1027.txt
Only in snort-2.0.2-ipv6/doc: 1029.txt
Only in snort-2.0.2-ipv6/doc: 103.txt
Only in snort-2.0.2-ipv6/doc: 1030.txt
Only in snort-2.0.2-ipv6/doc: 1037.txt
Only in snort-2.0.2-ipv6/doc: 1038.txt
Only in snort-2.0.2-ipv6/doc: 1039.txt
Only in snort-2.0.2-ipv6/doc: 104.txt
Only in snort-2.0.2-ipv6/doc: 1040.txt
Only in snort-2.0.2-ipv6/doc: 1041.txt
Only in snort-2.0.2-ipv6/doc: 1042.txt
Only in snort-2.0.2-ipv6/doc: 1043.txt
Only in snort-2.0.2-ipv6/doc: 1044.txt
Only in snort-2.0.2-ipv6/doc: 1045.txt
Only in snort-2.0.2-ipv6/doc: 1046.txt
Only in snort-2.0.2-ipv6/doc: 105.txt
Only in snort-2.0.2-ipv6/doc: 1050.txt
Only in snort-2.0.2-ipv6/doc: 1054.txt
Only in snort-2.0.2-ipv6/doc: 1055.txt
Only in snort-2.0.2-ipv6/doc: 106.txt
Only in snort-2.0.2-ipv6/doc: 1062.txt
Only in snort-2.0.2-ipv6/doc: 1066.txt
Only in snort-2.0.2-ipv6/doc: 1067.txt
Only in snort-2.0.2-ipv6/doc: 107.txt
Only in snort-2.0.2-ipv6/doc: 1070.txt
Only in snort-2.0.2-ipv6/doc: 1071.txt
Only in snort-2.0.2-ipv6/doc: 1073.txt
Only in snort-2.0.2-ipv6/doc: 1075.txt
Only in snort-2.0.2-ipv6/doc: 1076.txt
Only in snort-2.0.2-ipv6/doc: 1079.txt
Only in snort-2.0.2-ipv6/doc: 108.txt
Only in snort-2.0.2-ipv6/doc: 1080.txt
Only in snort-2.0.2-ipv6/doc: 1087.txt
Only in snort-2.0.2-ipv6/doc: 109.txt
Only in snort-2.0.2-ipv6/doc: 1094.txt
Only in snort-2.0.2-ipv6/doc: 110.txt
Only in snort-2.0.2-ipv6/doc: 1103.txt
Only in snort-2.0.2-ipv6/doc: 1104.txt
Only in snort-2.0.2-ipv6/doc: 111.txt
Only in snort-2.0.2-ipv6/doc: 112.txt
Only in snort-2.0.2-ipv6/doc: 1122.txt
Only in snort-2.0.2-ipv6/doc: 1129.txt
Only in snort-2.0.2-ipv6/doc: 1133.txt
Only in snort-2.0.2-ipv6/doc: 1137.txt
Only in snort-2.0.2-ipv6/doc: 1139.txt
Only in snort-2.0.2-ipv6/doc: 114.txt
Only in snort-2.0.2-ipv6/doc: 1149.txt
Only in snort-2.0.2-ipv6/doc: 115.txt
Only in snort-2.0.2-ipv6/doc: 1158.txt
Only in snort-2.0.2-ipv6/doc: 1159.txt
Only in snort-2.0.2-ipv6/doc: 116.txt
Only in snort-2.0.2-ipv6/doc: 1163.txt
Only in snort-2.0.2-ipv6/doc: 1166.txt
Only in snort-2.0.2-ipv6/doc: 1167.txt
Only in snort-2.0.2-ipv6/doc: 117.txt
Only in snort-2.0.2-ipv6/doc: 1171.txt
Only in snort-2.0.2-ipv6/doc: 1175.txt
Only in snort-2.0.2-ipv6/doc: 118.txt
Only in snort-2.0.2-ipv6/doc: 1186.txt
Only in snort-2.0.2-ipv6/doc: 1188.txt
Only in snort-2.0.2-ipv6/doc: 1189.txt
Only in snort-2.0.2-ipv6/doc: 119.txt
Only in snort-2.0.2-ipv6/doc: 1190.txt
Only in snort-2.0.2-ipv6/doc: 1191.txt
Only in snort-2.0.2-ipv6/doc: 1196.txt
Only in snort-2.0.2-ipv6/doc: 1198.txt
Only in snort-2.0.2-ipv6/doc: 120.txt
Only in snort-2.0.2-ipv6/doc: 121.txt
Only in snort-2.0.2-ipv6/doc: 1225.txt
Only in snort-2.0.2-ipv6/doc: 1226.txt
Only in snort-2.0.2-ipv6/doc: 1227.txt
Only in snort-2.0.2-ipv6/doc: 1228.txt
Only in snort-2.0.2-ipv6/doc: 1229.txt
Only in snort-2.0.2-ipv6/doc: 1240.txt
Only in snort-2.0.2-ipv6/doc: 1242.txt
Only in snort-2.0.2-ipv6/doc: 1243.txt
Only in snort-2.0.2-ipv6/doc: 1244.txt
Only in snort-2.0.2-ipv6/doc: 1245.txt
Only in snort-2.0.2-ipv6/doc: 1250.txt
Only in snort-2.0.2-ipv6/doc: 1251.txt
Only in snort-2.0.2-ipv6/doc: 1256.txt
Only in snort-2.0.2-ipv6/doc: 1257.txt
Only in snort-2.0.2-ipv6/doc: 1260.txt
Only in snort-2.0.2-ipv6/doc: 1261.txt
Only in snort-2.0.2-ipv6/doc: 1262.txt
Only in snort-2.0.2-ipv6/doc: 1263.txt
Only in snort-2.0.2-ipv6/doc: 1264.txt
Only in snort-2.0.2-ipv6/doc: 1265.txt
Only in snort-2.0.2-ipv6/doc: 1266.txt
Only in snort-2.0.2-ipv6/doc: 1267.txt
Only in snort-2.0.2-ipv6/doc: 1268.txt
Only in snort-2.0.2-ipv6/doc: 1269.txt
Only in snort-2.0.2-ipv6/doc: 1270.txt
Only in snort-2.0.2-ipv6/doc: 1271.txt
Only in snort-2.0.2-ipv6/doc: 1272.txt
Only in snort-2.0.2-ipv6/doc: 1273.txt
Only in snort-2.0.2-ipv6/doc: 1275.txt
Only in snort-2.0.2-ipv6/doc: 1279.txt
Only in snort-2.0.2-ipv6/doc: 1280.txt
Only in snort-2.0.2-ipv6/doc: 1281.txt
Only in snort-2.0.2-ipv6/doc: 1283.txt
Only in snort-2.0.2-ipv6/doc: 1284.txt
Only in snort-2.0.2-ipv6/doc: 1285.txt
Only in snort-2.0.2-ipv6/doc: 1286.txt
Only in snort-2.0.2-ipv6/doc: 1287.txt
Only in snort-2.0.2-ipv6/doc: 1290.txt
Only in snort-2.0.2-ipv6/doc: 1292.txt
Only in snort-2.0.2-ipv6/doc: 1298.txt
Only in snort-2.0.2-ipv6/doc: 1299.txt
Only in snort-2.0.2-ipv6/doc: 1310.txt
Only in snort-2.0.2-ipv6/doc: 1311.txt
Only in snort-2.0.2-ipv6/doc: 1312.txt
Only in snort-2.0.2-ipv6/doc: 1313.txt
Only in snort-2.0.2-ipv6/doc: 1314.txt
Only in snort-2.0.2-ipv6/doc: 1315.txt
Only in snort-2.0.2-ipv6/doc: 1316.txt
Only in snort-2.0.2-ipv6/doc: 1317.txt
Only in snort-2.0.2-ipv6/doc: 1318.txt
Only in snort-2.0.2-ipv6/doc: 1319.txt
Only in snort-2.0.2-ipv6/doc: 1320.txt
Only in snort-2.0.2-ipv6/doc: 1321.txt
Only in snort-2.0.2-ipv6/doc: 1322.txt
Only in snort-2.0.2-ipv6/doc: 1323.txt
Only in snort-2.0.2-ipv6/doc: 1324.txt
Only in snort-2.0.2-ipv6/doc: 1325.txt
Only in snort-2.0.2-ipv6/doc: 1326.txt
Only in snort-2.0.2-ipv6/doc: 1327.txt
Only in snort-2.0.2-ipv6/doc: 1328.txt
Only in snort-2.0.2-ipv6/doc: 1329.txt
Only in snort-2.0.2-ipv6/doc: 1330.txt
Only in snort-2.0.2-ipv6/doc: 1331.txt
Only in snort-2.0.2-ipv6/doc: 1332.txt
Only in snort-2.0.2-ipv6/doc: 1333.txt
Only in snort-2.0.2-ipv6/doc: 1334.txt
Only in snort-2.0.2-ipv6/doc: 1335.txt
Only in snort-2.0.2-ipv6/doc: 1336.txt
Only in snort-2.0.2-ipv6/doc: 1337.txt
Only in snort-2.0.2-ipv6/doc: 1338.txt
Only in snort-2.0.2-ipv6/doc: 1339.txt
Only in snort-2.0.2-ipv6/doc: 1340.txt
Only in snort-2.0.2-ipv6/doc: 1341.txt
Only in snort-2.0.2-ipv6/doc: 1342.txt
Only in snort-2.0.2-ipv6/doc: 1343.txt
Only in snort-2.0.2-ipv6/doc: 1344.txt
Only in snort-2.0.2-ipv6/doc: 1345.txt
Only in snort-2.0.2-ipv6/doc: 1346.txt
Only in snort-2.0.2-ipv6/doc: 1347.txt
Only in snort-2.0.2-ipv6/doc: 1348.txt
Only in snort-2.0.2-ipv6/doc: 1349.txt
Only in snort-2.0.2-ipv6/doc: 1350.txt
Only in snort-2.0.2-ipv6/doc: 1351.txt
Only in snort-2.0.2-ipv6/doc: 1352.txt
Only in snort-2.0.2-ipv6/doc: 1353.txt
Only in snort-2.0.2-ipv6/doc: 1354.txt
Only in snort-2.0.2-ipv6/doc: 1355.txt
Only in snort-2.0.2-ipv6/doc: 1356.txt
Only in snort-2.0.2-ipv6/doc: 1358.txt
Only in snort-2.0.2-ipv6/doc: 1359.txt
Only in snort-2.0.2-ipv6/doc: 1360.txt
Only in snort-2.0.2-ipv6/doc: 1363.txt
Only in snort-2.0.2-ipv6/doc: 1364.txt
Only in snort-2.0.2-ipv6/doc: 1365.txt
Only in snort-2.0.2-ipv6/doc: 1366.txt
Only in snort-2.0.2-ipv6/doc: 1367.txt
Only in snort-2.0.2-ipv6/doc: 1368.txt
Only in snort-2.0.2-ipv6/doc: 1369.txt
Only in snort-2.0.2-ipv6/doc: 1370.txt
Only in snort-2.0.2-ipv6/doc: 1372.txt
Only in snort-2.0.2-ipv6/doc: 1373.txt
Only in snort-2.0.2-ipv6/doc: 1374.txt
Only in snort-2.0.2-ipv6/doc: 1378.txt
Only in snort-2.0.2-ipv6/doc: 1380.txt
Only in snort-2.0.2-ipv6/doc: 1382.txt
Only in snort-2.0.2-ipv6/doc: 1383.txt
Only in snort-2.0.2-ipv6/doc: 1387.txt
Only in snort-2.0.2-ipv6/doc: 1389.txt
Only in snort-2.0.2-ipv6/doc: 1394.txt
Only in snort-2.0.2-ipv6/doc: 1397.txt
Only in snort-2.0.2-ipv6/doc: 1398.txt
Only in snort-2.0.2-ipv6/doc: 1399.txt
Only in snort-2.0.2-ipv6/doc: 1400.txt
Only in snort-2.0.2-ipv6/doc: 1401.txt
Only in snort-2.0.2-ipv6/doc: 1402.txt
Only in snort-2.0.2-ipv6/doc: 1408.txt
Only in snort-2.0.2-ipv6/doc: 141.txt
Only in snort-2.0.2-ipv6/doc: 1411.txt
Only in snort-2.0.2-ipv6/doc: 1412.txt
Only in snort-2.0.2-ipv6/doc: 1413.txt
Only in snort-2.0.2-ipv6/doc: 1414.txt
Only in snort-2.0.2-ipv6/doc: 1415.txt
Only in snort-2.0.2-ipv6/doc: 1416.txt
Only in snort-2.0.2-ipv6/doc: 1417.txt
Only in snort-2.0.2-ipv6/doc: 1418.txt
Only in snort-2.0.2-ipv6/doc: 1419.txt
Only in snort-2.0.2-ipv6/doc: 1420.txt
Only in snort-2.0.2-ipv6/doc: 1422.txt
Only in snort-2.0.2-ipv6/doc: 1431.txt
Only in snort-2.0.2-ipv6/doc: 1432.txt
Only in snort-2.0.2-ipv6/doc: 1435.txt
Only in snort-2.0.2-ipv6/doc: 144.txt
Only in snort-2.0.2-ipv6/doc: 1441.txt
Only in snort-2.0.2-ipv6/doc: 1442.txt
Only in snort-2.0.2-ipv6/doc: 1443.txt
Only in snort-2.0.2-ipv6/doc: 1444.txt
Only in snort-2.0.2-ipv6/doc: 1445.txt
Only in snort-2.0.2-ipv6/doc: 1446.txt
Only in snort-2.0.2-ipv6/doc: 1449.txt
Only in snort-2.0.2-ipv6/doc: 145.txt
Only in snort-2.0.2-ipv6/doc: 1450.txt
Only in snort-2.0.2-ipv6/doc: 146.txt
Only in snort-2.0.2-ipv6/doc: 1463.txt
Only in snort-2.0.2-ipv6/doc: 147.txt
Only in snort-2.0.2-ipv6/doc: 1484.txt
Only in snort-2.0.2-ipv6/doc: 1485.txt
Only in snort-2.0.2-ipv6/doc: 1486.txt
Only in snort-2.0.2-ipv6/doc: 1487.txt
Only in snort-2.0.2-ipv6/doc: 1490.txt
Only in snort-2.0.2-ipv6/doc: 1491.txt
Only in snort-2.0.2-ipv6/doc: 1497.txt
Only in snort-2.0.2-ipv6/doc: 1504.txt
Only in snort-2.0.2-ipv6/doc: 151.txt
Only in snort-2.0.2-ipv6/doc: 1519.txt
Only in snort-2.0.2-ipv6/doc: 152.txt
Only in snort-2.0.2-ipv6/doc: 1520.txt
Only in snort-2.0.2-ipv6/doc: 1526.txt
Only in snort-2.0.2-ipv6/doc: 1527.txt
Only in snort-2.0.2-ipv6/doc: 153.txt
Only in snort-2.0.2-ipv6/doc: 1530.txt
Only in snort-2.0.2-ipv6/doc: 1541.txt
Only in snort-2.0.2-ipv6/doc: 1544.txt
Only in snort-2.0.2-ipv6/doc: 1545.txt
Only in snort-2.0.2-ipv6/doc: 1546.txt
Only in snort-2.0.2-ipv6/doc: 1549.txt
Only in snort-2.0.2-ipv6/doc: 155.txt
Only in snort-2.0.2-ipv6/doc: 1550.txt
Only in snort-2.0.2-ipv6/doc: 1567.txt
Only in snort-2.0.2-ipv6/doc: 1568.txt
Only in snort-2.0.2-ipv6/doc: 157.txt
Only in snort-2.0.2-ipv6/doc: 158.txt
Only in snort-2.0.2-ipv6/doc: 159.txt
Only in snort-2.0.2-ipv6/doc: 1595.txt
Only in snort-2.0.2-ipv6/doc: 1600.txt
Only in snort-2.0.2-ipv6/doc: 1601.txt
Only in snort-2.0.2-ipv6/doc: 1602.txt
Only in snort-2.0.2-ipv6/doc: 1605.txt
Only in snort-2.0.2-ipv6/doc: 1607.txt
Only in snort-2.0.2-ipv6/doc: 161.txt
Only in snort-2.0.2-ipv6/doc: 1610.txt
Only in snort-2.0.2-ipv6/doc: 1616.txt
Only in snort-2.0.2-ipv6/doc: 1618.txt
Only in snort-2.0.2-ipv6/doc: 162.txt
Only in snort-2.0.2-ipv6/doc: 1621.txt
Only in snort-2.0.2-ipv6/doc: 1622.txt
Only in snort-2.0.2-ipv6/doc: 1623.txt
Only in snort-2.0.2-ipv6/doc: 1624.txt
Only in snort-2.0.2-ipv6/doc: 1625.txt
Only in snort-2.0.2-ipv6/doc: 1626.txt
Only in snort-2.0.2-ipv6/doc: 1627.txt
Only in snort-2.0.2-ipv6/doc: 163.txt
Only in snort-2.0.2-ipv6/doc: 1631.txt
Only in snort-2.0.2-ipv6/doc: 1632.txt
Only in snort-2.0.2-ipv6/doc: 1633.txt
Only in snort-2.0.2-ipv6/doc: 1636.txt
Only in snort-2.0.2-ipv6/doc: 1638.txt
Only in snort-2.0.2-ipv6/doc: 1639.txt
Only in snort-2.0.2-ipv6/doc: 1640.txt
Only in snort-2.0.2-ipv6/doc: 1641.txt
Only in snort-2.0.2-ipv6/doc: 1645.txt
Only in snort-2.0.2-ipv6/doc: 1660.txt
Only in snort-2.0.2-ipv6/doc: 1661.txt
Only in snort-2.0.2-ipv6/doc: 1662.txt
Only in snort-2.0.2-ipv6/doc: 1667.txt
Only in snort-2.0.2-ipv6/doc: 1673.txt
Only in snort-2.0.2-ipv6/doc: 1674.txt
Only in snort-2.0.2-ipv6/doc: 1675.txt
Only in snort-2.0.2-ipv6/doc: 1676.txt
Only in snort-2.0.2-ipv6/doc: 1677.txt
Only in snort-2.0.2-ipv6/doc: 1678.txt
Only in snort-2.0.2-ipv6/doc: 1679.txt
Only in snort-2.0.2-ipv6/doc: 1680.txt
Only in snort-2.0.2-ipv6/doc: 1681.txt
Only in snort-2.0.2-ipv6/doc: 1682.txt
Only in snort-2.0.2-ipv6/doc: 1683.txt
Only in snort-2.0.2-ipv6/doc: 1684.txt
Only in snort-2.0.2-ipv6/doc: 1685.txt
Only in snort-2.0.2-ipv6/doc: 1686.txt
Only in snort-2.0.2-ipv6/doc: 1687.txt
Only in snort-2.0.2-ipv6/doc: 1688.txt
Only in snort-2.0.2-ipv6/doc: 1689.txt
Only in snort-2.0.2-ipv6/doc: 1690.txt
Only in snort-2.0.2-ipv6/doc: 1691.txt
Only in snort-2.0.2-ipv6/doc: 1692.txt
Only in snort-2.0.2-ipv6/doc: 1693.txt
Only in snort-2.0.2-ipv6/doc: 1694.txt
Only in snort-2.0.2-ipv6/doc: 1695.txt
Only in snort-2.0.2-ipv6/doc: 1696.txt
Only in snort-2.0.2-ipv6/doc: 1697.txt
Only in snort-2.0.2-ipv6/doc: 1699.txt
Only in snort-2.0.2-ipv6/doc: 1725.txt
Only in snort-2.0.2-ipv6/doc: 1726.txt
Only in snort-2.0.2-ipv6/doc: 1728.txt
Only in snort-2.0.2-ipv6/doc: 1729.txt
Only in snort-2.0.2-ipv6/doc: 1732.txt
Only in snort-2.0.2-ipv6/doc: 1733.txt
Only in snort-2.0.2-ipv6/doc: 1746.txt
Only in snort-2.0.2-ipv6/doc: 1747.txt
Only in snort-2.0.2-ipv6/doc: 1750.txt
Only in snort-2.0.2-ipv6/doc: 1751.txt
Only in snort-2.0.2-ipv6/doc: 1753.txt
Only in snort-2.0.2-ipv6/doc: 1754.txt
Only in snort-2.0.2-ipv6/doc: 1756.txt
Only in snort-2.0.2-ipv6/doc: 1759.txt
Only in snort-2.0.2-ipv6/doc: 176.txt
Only in snort-2.0.2-ipv6/doc: 1768.txt
Only in snort-2.0.2-ipv6/doc: 1772.txt
Only in snort-2.0.2-ipv6/doc: 1773.txt
Only in snort-2.0.2-ipv6/doc: 1775.txt
Only in snort-2.0.2-ipv6/doc: 1776.txt
Only in snort-2.0.2-ipv6/doc: 1777.txt
Only in snort-2.0.2-ipv6/doc: 1778.txt
Only in snort-2.0.2-ipv6/doc: 1781.txt
Only in snort-2.0.2-ipv6/doc: 1782.txt
Only in snort-2.0.2-ipv6/doc: 1783.txt
Only in snort-2.0.2-ipv6/doc: 1784.txt
Only in snort-2.0.2-ipv6/doc: 1785.txt
Only in snort-2.0.2-ipv6/doc: 1786.txt
Only in snort-2.0.2-ipv6/doc: 1789.txt
Only in snort-2.0.2-ipv6/doc: 1790.txt
Only in snort-2.0.2-ipv6/doc: 1791.txt
Only in snort-2.0.2-ipv6/doc: 1793.txt
Only in snort-2.0.2-ipv6/doc: 1794.txt
Only in snort-2.0.2-ipv6/doc: 1795.txt
Only in snort-2.0.2-ipv6/doc: 1796.txt
Only in snort-2.0.2-ipv6/doc: 1797.txt
Only in snort-2.0.2-ipv6/doc: 1798.txt
Only in snort-2.0.2-ipv6/doc: 1799.txt
Only in snort-2.0.2-ipv6/doc: 1800.txt
Only in snort-2.0.2-ipv6/doc: 1805.txt
Only in snort-2.0.2-ipv6/doc: 1806.txt
Only in snort-2.0.2-ipv6/doc: 1808.txt
Only in snort-2.0.2-ipv6/doc: 1809.txt
Only in snort-2.0.2-ipv6/doc: 1810.txt
Only in snort-2.0.2-ipv6/doc: 1811.txt
Only in snort-2.0.2-ipv6/doc: 1812.txt
Only in snort-2.0.2-ipv6/doc: 1813.txt
Only in snort-2.0.2-ipv6/doc: 1814.txt
Only in snort-2.0.2-ipv6/doc: 1817.txt
Only in snort-2.0.2-ipv6/doc: 1818.txt
Only in snort-2.0.2-ipv6/doc: 1821.txt
Only in snort-2.0.2-ipv6/doc: 1828.txt
Only in snort-2.0.2-ipv6/doc: 183.txt
Only in snort-2.0.2-ipv6/doc: 1831.txt
Only in snort-2.0.2-ipv6/doc: 1832.txt
Only in snort-2.0.2-ipv6/doc: 1833.txt
Only in snort-2.0.2-ipv6/doc: 1836.txt
Only in snort-2.0.2-ipv6/doc: 1837.txt
Only in snort-2.0.2-ipv6/doc: 1838.txt
Only in snort-2.0.2-ipv6/doc: 184.txt
Only in snort-2.0.2-ipv6/doc: 1841.txt
Only in snort-2.0.2-ipv6/doc: 1843.txt
Only in snort-2.0.2-ipv6/doc: 185.txt
Only in snort-2.0.2-ipv6/doc: 1852.txt
Only in snort-2.0.2-ipv6/doc: 1853.txt
Only in snort-2.0.2-ipv6/doc: 1854.txt
Only in snort-2.0.2-ipv6/doc: 1855.txt
Only in snort-2.0.2-ipv6/doc: 1856.txt
Only in snort-2.0.2-ipv6/doc: 1857.txt
Only in snort-2.0.2-ipv6/doc: 1858.txt
Only in snort-2.0.2-ipv6/doc: 1862.txt
Only in snort-2.0.2-ipv6/doc: 1864.txt
Only in snort-2.0.2-ipv6/doc: 1866.txt
Only in snort-2.0.2-ipv6/doc: 1871.txt
Only in snort-2.0.2-ipv6/doc: 1882.txt
Only in snort-2.0.2-ipv6/doc: 1883.txt
Only in snort-2.0.2-ipv6/doc: 1884.txt
Only in snort-2.0.2-ipv6/doc: 1885.txt
Only in snort-2.0.2-ipv6/doc: 1886.txt
Only in snort-2.0.2-ipv6/doc: 1888.txt
Only in snort-2.0.2-ipv6/doc: 1890.txt
Only in snort-2.0.2-ipv6/doc: 1891.txt
Only in snort-2.0.2-ipv6/doc: 1892.txt
Only in snort-2.0.2-ipv6/doc: 1894.txt
Only in snort-2.0.2-ipv6/doc: 1895.txt
Only in snort-2.0.2-ipv6/doc: 1896.txt
Only in snort-2.0.2-ipv6/doc: 1897.txt
Only in snort-2.0.2-ipv6/doc: 1898.txt
Only in snort-2.0.2-ipv6/doc: 1899.txt
Only in snort-2.0.2-ipv6/doc: 1905.txt
Only in snort-2.0.2-ipv6/doc: 1906.txt
Only in snort-2.0.2-ipv6/doc: 1907.txt
Only in snort-2.0.2-ipv6/doc: 1908.txt
Only in snort-2.0.2-ipv6/doc: 1909.txt
Only in snort-2.0.2-ipv6/doc: 1910.txt
Only in snort-2.0.2-ipv6/doc: 1911.txt
Only in snort-2.0.2-ipv6/doc: 1912.txt
Only in snort-2.0.2-ipv6/doc: 1913.txt
Only in snort-2.0.2-ipv6/doc: 1914.txt
Only in snort-2.0.2-ipv6/doc: 1915.txt
Only in snort-2.0.2-ipv6/doc: 1916.txt
Only in snort-2.0.2-ipv6/doc: 1917.txt
Only in snort-2.0.2-ipv6/doc: 1918.txt
Only in snort-2.0.2-ipv6/doc: 1922.txt
Only in snort-2.0.2-ipv6/doc: 1923.txt
Only in snort-2.0.2-ipv6/doc: 1924.txt
Only in snort-2.0.2-ipv6/doc: 1925.txt
Only in snort-2.0.2-ipv6/doc: 1926.txt
Only in snort-2.0.2-ipv6/doc: 1927.txt
Only in snort-2.0.2-ipv6/doc: 1928.txt
Only in snort-2.0.2-ipv6/doc: 1929.txt
Only in snort-2.0.2-ipv6/doc: 1941.txt
Only in snort-2.0.2-ipv6/doc: 1942.txt
Only in snort-2.0.2-ipv6/doc: 1945.txt
Only in snort-2.0.2-ipv6/doc: 1948.txt
Only in snort-2.0.2-ipv6/doc: 1949.txt
Only in snort-2.0.2-ipv6/doc: 195.txt
Only in snort-2.0.2-ipv6/doc: 1950.txt
Only in snort-2.0.2-ipv6/doc: 1951.txt
Only in snort-2.0.2-ipv6/doc: 1952.txt
Only in snort-2.0.2-ipv6/doc: 1953.txt
Only in snort-2.0.2-ipv6/doc: 1954.txt
Only in snort-2.0.2-ipv6/doc: 1955.txt
Only in snort-2.0.2-ipv6/doc: 1956.txt
Only in snort-2.0.2-ipv6/doc: 1963.txt
Only in snort-2.0.2-ipv6/doc: 1964.txt
Only in snort-2.0.2-ipv6/doc: 1965.txt
Only in snort-2.0.2-ipv6/doc: 1970.txt
Only in snort-2.0.2-ipv6/doc: 1971.txt
Only in snort-2.0.2-ipv6/doc: 1975.txt
Only in snort-2.0.2-ipv6/doc: 1980.txt
Only in snort-2.0.2-ipv6/doc: 1981.txt
Only in snort-2.0.2-ipv6/doc: 1982.txt
Only in snort-2.0.2-ipv6/doc: 1983.txt
Only in snort-2.0.2-ipv6/doc: 1984.txt
Only in snort-2.0.2-ipv6/doc: 1985.txt
Only in snort-2.0.2-ipv6/doc: 1986.txt
Only in snort-2.0.2-ipv6/doc: 1987.txt
Only in snort-2.0.2-ipv6/doc: 1988.txt
Only in snort-2.0.2-ipv6/doc: 1989.txt
Only in snort-2.0.2-ipv6/doc: 1990.txt
Only in snort-2.0.2-ipv6/doc: 1991.txt
Only in snort-2.0.2-ipv6/doc: 1992.txt
Only in snort-2.0.2-ipv6/doc: 2000.txt
Only in snort-2.0.2-ipv6/doc: 2001.txt
Only in snort-2.0.2-ipv6/doc: 2002.txt
Only in snort-2.0.2-ipv6/doc: 2003.txt
Only in snort-2.0.2-ipv6/doc: 2004.txt
Only in snort-2.0.2-ipv6/doc: 2005.txt
Only in snort-2.0.2-ipv6/doc: 2006.txt
Only in snort-2.0.2-ipv6/doc: 2007.txt
Only in snort-2.0.2-ipv6/doc: 2008.txt
Only in snort-2.0.2-ipv6/doc: 2009.txt
Only in snort-2.0.2-ipv6/doc: 2010.txt
Only in snort-2.0.2-ipv6/doc: 2011.txt
Only in snort-2.0.2-ipv6/doc: 2012.txt
Only in snort-2.0.2-ipv6/doc: 2013.txt
Only in snort-2.0.2-ipv6/doc: 2014.txt
Only in snort-2.0.2-ipv6/doc: 2015.txt
Only in snort-2.0.2-ipv6/doc: 2016.txt
Only in snort-2.0.2-ipv6/doc: 2017.txt
Only in snort-2.0.2-ipv6/doc: 2018.txt
Only in snort-2.0.2-ipv6/doc: 2019.txt
Only in snort-2.0.2-ipv6/doc: 2020.txt
Only in snort-2.0.2-ipv6/doc: 2021.txt
Only in snort-2.0.2-ipv6/doc: 2022.txt
Only in snort-2.0.2-ipv6/doc: 2023.txt
Only in snort-2.0.2-ipv6/doc: 2024.txt
Only in snort-2.0.2-ipv6/doc: 2025.txt
Only in snort-2.0.2-ipv6/doc: 2026.txt
Only in snort-2.0.2-ipv6/doc: 2027.txt
Only in snort-2.0.2-ipv6/doc: 2028.txt
Only in snort-2.0.2-ipv6/doc: 2029.txt
Only in snort-2.0.2-ipv6/doc: 2030.txt
Only in snort-2.0.2-ipv6/doc: 2031.txt
Only in snort-2.0.2-ipv6/doc: 2032.txt
Only in snort-2.0.2-ipv6/doc: 2033.txt
Only in snort-2.0.2-ipv6/doc: 2034.txt
Only in snort-2.0.2-ipv6/doc: 2035.txt
Only in snort-2.0.2-ipv6/doc: 2036.txt
Only in snort-2.0.2-ipv6/doc: 2037.txt
Only in snort-2.0.2-ipv6/doc: 2038.txt
Only in snort-2.0.2-ipv6/doc: 2039.txt
Only in snort-2.0.2-ipv6/doc: 2040.txt
Only in snort-2.0.2-ipv6/doc: 2041.txt
Only in snort-2.0.2-ipv6/doc: 2042.txt
Only in snort-2.0.2-ipv6/doc: 2043.txt
Only in snort-2.0.2-ipv6/doc: 2044.txt
Only in snort-2.0.2-ipv6/doc: 2045.txt
Only in snort-2.0.2-ipv6/doc: 2046.txt
Only in snort-2.0.2-ipv6/doc: 2047.txt
Only in snort-2.0.2-ipv6/doc: 2048.txt
Only in snort-2.0.2-ipv6/doc: 2049.txt
Only in snort-2.0.2-ipv6/doc: 2050.txt
Only in snort-2.0.2-ipv6/doc: 2051.txt
Only in snort-2.0.2-ipv6/doc: 2052.txt
Only in snort-2.0.2-ipv6/doc: 2053.txt
Only in snort-2.0.2-ipv6/doc: 2054.txt
Only in snort-2.0.2-ipv6/doc: 2055.txt
Only in snort-2.0.2-ipv6/doc: 2056.txt
Only in snort-2.0.2-ipv6/doc: 2057.txt
Only in snort-2.0.2-ipv6/doc: 2058.txt
Only in snort-2.0.2-ipv6/doc: 2059.txt
Only in snort-2.0.2-ipv6/doc: 2060.txt
Only in snort-2.0.2-ipv6/doc: 2061.txt
Only in snort-2.0.2-ipv6/doc: 2062.txt
Only in snort-2.0.2-ipv6/doc: 2063.txt
Only in snort-2.0.2-ipv6/doc: 2064.txt
Only in snort-2.0.2-ipv6/doc: 2065.txt
Only in snort-2.0.2-ipv6/doc: 2066.txt
Only in snort-2.0.2-ipv6/doc: 2067.txt
Only in snort-2.0.2-ipv6/doc: 2068.txt
Only in snort-2.0.2-ipv6/doc: 2069.txt
Only in snort-2.0.2-ipv6/doc: 2070.txt
Only in snort-2.0.2-ipv6/doc: 2071.txt
Only in snort-2.0.2-ipv6/doc: 2072.txt
Only in snort-2.0.2-ipv6/doc: 2073.txt
Only in snort-2.0.2-ipv6/doc: 2074.txt
Only in snort-2.0.2-ipv6/doc: 2075.txt
Only in snort-2.0.2-ipv6/doc: 2076.txt
Only in snort-2.0.2-ipv6/doc: 2077.txt
Only in snort-2.0.2-ipv6/doc: 2078.txt
Only in snort-2.0.2-ipv6/doc: 2079.txt
Only in snort-2.0.2-ipv6/doc: 208.txt
Only in snort-2.0.2-ipv6/doc: 2080.txt
Only in snort-2.0.2-ipv6/doc: 2081.txt
Only in snort-2.0.2-ipv6/doc: 2082.txt
Only in snort-2.0.2-ipv6/doc: 2083.txt
Only in snort-2.0.2-ipv6/doc: 2084.txt
Only in snort-2.0.2-ipv6/doc: 2085.txt
Only in snort-2.0.2-ipv6/doc: 2086.txt
Only in snort-2.0.2-ipv6/doc: 2087.txt
Only in snort-2.0.2-ipv6/doc: 2088.txt
Only in snort-2.0.2-ipv6/doc: 2089.txt
Only in snort-2.0.2-ipv6/doc: 209.txt
Only in snort-2.0.2-ipv6/doc: 2090.txt
Only in snort-2.0.2-ipv6/doc: 2091.txt
Only in snort-2.0.2-ipv6/doc: 2092.txt
Only in snort-2.0.2-ipv6/doc: 2093.txt
Only in snort-2.0.2-ipv6/doc: 2094.txt
Only in snort-2.0.2-ipv6/doc: 2095.txt
Only in snort-2.0.2-ipv6/doc: 210.txt
Only in snort-2.0.2-ipv6/doc: 2100.txt
Only in snort-2.0.2-ipv6/doc: 2101.txt
Only in snort-2.0.2-ipv6/doc: 2102.txt
Only in snort-2.0.2-ipv6/doc: 2103.txt
Only in snort-2.0.2-ipv6/doc: 2104.txt
Only in snort-2.0.2-ipv6/doc: 2105.txt
Only in snort-2.0.2-ipv6/doc: 2106.txt
Only in snort-2.0.2-ipv6/doc: 2107.txt
Only in snort-2.0.2-ipv6/doc: 2108.txt
Only in snort-2.0.2-ipv6/doc: 2109.txt
Only in snort-2.0.2-ipv6/doc: 211.txt
Only in snort-2.0.2-ipv6/doc: 2110.txt
Only in snort-2.0.2-ipv6/doc: 2111.txt
Only in snort-2.0.2-ipv6/doc: 2112.txt
Only in snort-2.0.2-ipv6/doc: 2113.txt
Only in snort-2.0.2-ipv6/doc: 2114.txt
Only in snort-2.0.2-ipv6/doc: 2115.txt
Only in snort-2.0.2-ipv6/doc: 2116.txt
Only in snort-2.0.2-ipv6/doc: 2117.txt
Only in snort-2.0.2-ipv6/doc: 2118.txt
Only in snort-2.0.2-ipv6/doc: 2119.txt
Only in snort-2.0.2-ipv6/doc: 212.txt
Only in snort-2.0.2-ipv6/doc: 2120.txt
Only in snort-2.0.2-ipv6/doc: 2121.txt
Only in snort-2.0.2-ipv6/doc: 2122.txt
Only in snort-2.0.2-ipv6/doc: 2123.txt
Only in snort-2.0.2-ipv6/doc: 2124.txt
Only in snort-2.0.2-ipv6/doc: 2125.txt
Only in snort-2.0.2-ipv6/doc: 2126.txt
Only in snort-2.0.2-ipv6/doc: 2127.txt
Only in snort-2.0.2-ipv6/doc: 2128.txt
Only in snort-2.0.2-ipv6/doc: 2129.txt
Only in snort-2.0.2-ipv6/doc: 213.txt
Only in snort-2.0.2-ipv6/doc: 2130.txt
Only in snort-2.0.2-ipv6/doc: 2131.txt
Only in snort-2.0.2-ipv6/doc: 2132.txt
Only in snort-2.0.2-ipv6/doc: 2133.txt
Only in snort-2.0.2-ipv6/doc: 2134.txt
Only in snort-2.0.2-ipv6/doc: 2135.txt
Only in snort-2.0.2-ipv6/doc: 2136.txt
Only in snort-2.0.2-ipv6/doc: 2137.txt
Only in snort-2.0.2-ipv6/doc: 2138.txt
Only in snort-2.0.2-ipv6/doc: 2139.txt
Only in snort-2.0.2-ipv6/doc: 214.txt
Only in snort-2.0.2-ipv6/doc: 2140.txt
Only in snort-2.0.2-ipv6/doc: 2141.txt
Only in snort-2.0.2-ipv6/doc: 2142.txt
Only in snort-2.0.2-ipv6/doc: 2143.txt
Only in snort-2.0.2-ipv6/doc: 2144.txt
Only in snort-2.0.2-ipv6/doc: 2145.txt
Only in snort-2.0.2-ipv6/doc: 2146.txt
Only in snort-2.0.2-ipv6/doc: 2147.txt
Only in snort-2.0.2-ipv6/doc: 2148.txt
Only in snort-2.0.2-ipv6/doc: 2149.txt
Only in snort-2.0.2-ipv6/doc: 215.txt
Only in snort-2.0.2-ipv6/doc: 2150.txt
Only in snort-2.0.2-ipv6/doc: 2151.txt
Only in snort-2.0.2-ipv6/doc: 2152.txt
Only in snort-2.0.2-ipv6/doc: 2153.txt
Only in snort-2.0.2-ipv6/doc: 2154.txt
Only in snort-2.0.2-ipv6/doc: 2155.txt
Only in snort-2.0.2-ipv6/doc: 2156.txt
Only in snort-2.0.2-ipv6/doc: 2157.txt
Only in snort-2.0.2-ipv6/doc: 2158.txt
Only in snort-2.0.2-ipv6/doc: 2159.txt
Only in snort-2.0.2-ipv6/doc: 216.txt
Only in snort-2.0.2-ipv6/doc: 2160.txt
Only in snort-2.0.2-ipv6/doc: 2161.txt
Only in snort-2.0.2-ipv6/doc: 2162.txt
Only in snort-2.0.2-ipv6/doc: 2163.txt
Only in snort-2.0.2-ipv6/doc: 2164.txt
Only in snort-2.0.2-ipv6/doc: 2165.txt
Only in snort-2.0.2-ipv6/doc: 2166.txt
Only in snort-2.0.2-ipv6/doc: 2167.txt
Only in snort-2.0.2-ipv6/doc: 2168.txt
Only in snort-2.0.2-ipv6/doc: 2169.txt
Only in snort-2.0.2-ipv6/doc: 217.txt
Only in snort-2.0.2-ipv6/doc: 2170.txt
Only in snort-2.0.2-ipv6/doc: 2171.txt
Only in snort-2.0.2-ipv6/doc: 2172.txt
Only in snort-2.0.2-ipv6/doc: 2173.txt
Only in snort-2.0.2-ipv6/doc: 2174.txt
Only in snort-2.0.2-ipv6/doc: 2175.txt
Only in snort-2.0.2-ipv6/doc: 2176.txt
Only in snort-2.0.2-ipv6/doc: 2177.txt
Only in snort-2.0.2-ipv6/doc: 218.txt
Only in snort-2.0.2-ipv6/doc: 2180.txt
Only in snort-2.0.2-ipv6/doc: 2181.txt
Only in snort-2.0.2-ipv6/doc: 2182.txt
Only in snort-2.0.2-ipv6/doc: 2183.txt
Only in snort-2.0.2-ipv6/doc: 2186.txt
Only in snort-2.0.2-ipv6/doc: 2187.txt
Only in snort-2.0.2-ipv6/doc: 2188.txt
Only in snort-2.0.2-ipv6/doc: 2189.txt
Only in snort-2.0.2-ipv6/doc: 219.txt
Only in snort-2.0.2-ipv6/doc: 2192.txt
Only in snort-2.0.2-ipv6/doc: 2193.txt
Only in snort-2.0.2-ipv6/doc: 220.txt
Only in snort-2.0.2-ipv6/doc: 221.txt
Only in snort-2.0.2-ipv6/doc: 222.txt
Only in snort-2.0.2-ipv6/doc: 223.txt
Only in snort-2.0.2-ipv6/doc: 224.txt
Only in snort-2.0.2-ipv6/doc: 225.txt
Only in snort-2.0.2-ipv6/doc: 226.txt
Only in snort-2.0.2-ipv6/doc: 227.txt
Only in snort-2.0.2-ipv6/doc: 228.txt
Only in snort-2.0.2-ipv6/doc: 229.txt
Only in snort-2.0.2-ipv6/doc: 230.txt
Only in snort-2.0.2-ipv6/doc: 231.txt
Only in snort-2.0.2-ipv6/doc: 232.txt
Only in snort-2.0.2-ipv6/doc: 233.txt
Only in snort-2.0.2-ipv6/doc: 234.txt
Only in snort-2.0.2-ipv6/doc: 235.txt
Only in snort-2.0.2-ipv6/doc: 236.txt
Only in snort-2.0.2-ipv6/doc: 237.txt
Only in snort-2.0.2-ipv6/doc: 238.txt
Only in snort-2.0.2-ipv6/doc: 239.txt
Only in snort-2.0.2-ipv6/doc: 240.txt
Only in snort-2.0.2-ipv6/doc: 241.txt
Only in snort-2.0.2-ipv6/doc: 243.txt
Only in snort-2.0.2-ipv6/doc: 244.txt
Only in snort-2.0.2-ipv6/doc: 245.txt
Only in snort-2.0.2-ipv6/doc: 246.txt
Only in snort-2.0.2-ipv6/doc: 247.txt
Only in snort-2.0.2-ipv6/doc: 248.txt
Only in snort-2.0.2-ipv6/doc: 249.txt
Only in snort-2.0.2-ipv6/doc: 250.txt
Only in snort-2.0.2-ipv6/doc: 251.txt
Only in snort-2.0.2-ipv6/doc: 252.txt
Only in snort-2.0.2-ipv6/doc: 253.txt
Only in snort-2.0.2-ipv6/doc: 254.txt
Only in snort-2.0.2-ipv6/doc: 255.txt
Only in snort-2.0.2-ipv6/doc: 256.txt
Only in snort-2.0.2-ipv6/doc: 257.txt
Only in snort-2.0.2-ipv6/doc: 258.txt
Only in snort-2.0.2-ipv6/doc: 259.txt
Only in snort-2.0.2-ipv6/doc: 260.txt
Only in snort-2.0.2-ipv6/doc: 261.txt
Only in snort-2.0.2-ipv6/doc: 262.txt
Only in snort-2.0.2-ipv6/doc: 264.txt
Only in snort-2.0.2-ipv6/doc: 265.txt
Only in snort-2.0.2-ipv6/doc: 266.txt
Only in snort-2.0.2-ipv6/doc: 267.txt
Only in snort-2.0.2-ipv6/doc: 268.txt
Only in snort-2.0.2-ipv6/doc: 269.txt
Only in snort-2.0.2-ipv6/doc: 270.txt
Only in snort-2.0.2-ipv6/doc: 271.txt
Only in snort-2.0.2-ipv6/doc: 272.txt
Only in snort-2.0.2-ipv6/doc: 273.txt
Only in snort-2.0.2-ipv6/doc: 274.txt
Only in snort-2.0.2-ipv6/doc: 275.txt
Only in snort-2.0.2-ipv6/doc: 276.txt
Only in snort-2.0.2-ipv6/doc: 277.txt
Only in snort-2.0.2-ipv6/doc: 278.txt
Only in snort-2.0.2-ipv6/doc: 279.txt
Only in snort-2.0.2-ipv6/doc: 281.txt
Only in snort-2.0.2-ipv6/doc: 282.txt
Only in snort-2.0.2-ipv6/doc: 283.txt
Only in snort-2.0.2-ipv6/doc: 284.txt
Only in snort-2.0.2-ipv6/doc: 285.txt
Only in snort-2.0.2-ipv6/doc: 286.txt
Only in snort-2.0.2-ipv6/doc: 287.txt
Only in snort-2.0.2-ipv6/doc: 288.txt
Only in snort-2.0.2-ipv6/doc: 289.txt
Only in snort-2.0.2-ipv6/doc: 290.txt
Only in snort-2.0.2-ipv6/doc: 291.txt
Only in snort-2.0.2-ipv6/doc: 292.txt
Only in snort-2.0.2-ipv6/doc: 300.txt
Only in snort-2.0.2-ipv6/doc: 301.txt
Only in snort-2.0.2-ipv6/doc: 302.txt
Only in snort-2.0.2-ipv6/doc: 303.txt
Only in snort-2.0.2-ipv6/doc: 304.txt
Only in snort-2.0.2-ipv6/doc: 305.txt
Only in snort-2.0.2-ipv6/doc: 306.txt
Only in snort-2.0.2-ipv6/doc: 307.txt
Only in snort-2.0.2-ipv6/doc: 308.txt
Only in snort-2.0.2-ipv6/doc: 309.txt
Only in snort-2.0.2-ipv6/doc: 310.txt
Only in snort-2.0.2-ipv6/doc: 311.txt
Only in snort-2.0.2-ipv6/doc: 312.txt
Only in snort-2.0.2-ipv6/doc: 313.txt
Only in snort-2.0.2-ipv6/doc: 314.txt
Only in snort-2.0.2-ipv6/doc: 315.txt
Only in snort-2.0.2-ipv6/doc: 316.txt
Only in snort-2.0.2-ipv6/doc: 317.txt
Only in snort-2.0.2-ipv6/doc: 320.txt
Only in snort-2.0.2-ipv6/doc: 321.txt
Only in snort-2.0.2-ipv6/doc: 322.txt
Only in snort-2.0.2-ipv6/doc: 323.txt
Only in snort-2.0.2-ipv6/doc: 324.txt
Only in snort-2.0.2-ipv6/doc: 325.txt
Only in snort-2.0.2-ipv6/doc: 326.txt
Only in snort-2.0.2-ipv6/doc: 327.txt
Only in snort-2.0.2-ipv6/doc: 328.txt
Only in snort-2.0.2-ipv6/doc: 329.txt
Only in snort-2.0.2-ipv6/doc: 330.txt
Only in snort-2.0.2-ipv6/doc: 331.txt
Only in snort-2.0.2-ipv6/doc: 332.txt
Only in snort-2.0.2-ipv6/doc: 333.txt
Only in snort-2.0.2-ipv6/doc: 334.txt
Only in snort-2.0.2-ipv6/doc: 335.txt
Only in snort-2.0.2-ipv6/doc: 336.txt
Only in snort-2.0.2-ipv6/doc: 337.txt
Only in snort-2.0.2-ipv6/doc: 339.txt
Only in snort-2.0.2-ipv6/doc: 344.txt
Only in snort-2.0.2-ipv6/doc: 353.txt
Only in snort-2.0.2-ipv6/doc: 354.txt
Only in snort-2.0.2-ipv6/doc: 355.txt
Only in snort-2.0.2-ipv6/doc: 356.txt
Only in snort-2.0.2-ipv6/doc: 357.txt
Only in snort-2.0.2-ipv6/doc: 358.txt
Only in snort-2.0.2-ipv6/doc: 359.txt
Only in snort-2.0.2-ipv6/doc: 360.txt
Only in snort-2.0.2-ipv6/doc: 361.txt
Only in snort-2.0.2-ipv6/doc: 362.txt
Only in snort-2.0.2-ipv6/doc: 363.txt
Only in snort-2.0.2-ipv6/doc: 364.txt
Only in snort-2.0.2-ipv6/doc: 365.txt
Only in snort-2.0.2-ipv6/doc: 366.txt
Only in snort-2.0.2-ipv6/doc: 368.txt
Only in snort-2.0.2-ipv6/doc: 369.txt
Only in snort-2.0.2-ipv6/doc: 370.txt
Only in snort-2.0.2-ipv6/doc: 371.txt
Only in snort-2.0.2-ipv6/doc: 372.txt
Only in snort-2.0.2-ipv6/doc: 373.txt
Only in snort-2.0.2-ipv6/doc: 374.txt
Only in snort-2.0.2-ipv6/doc: 375.txt
Only in snort-2.0.2-ipv6/doc: 376.txt
Only in snort-2.0.2-ipv6/doc: 377.txt
Only in snort-2.0.2-ipv6/doc: 378.txt
Only in snort-2.0.2-ipv6/doc: 379.txt
Only in snort-2.0.2-ipv6/doc: 380.txt
Only in snort-2.0.2-ipv6/doc: 381.txt
Only in snort-2.0.2-ipv6/doc: 382.txt
Only in snort-2.0.2-ipv6/doc: 384.txt
Only in snort-2.0.2-ipv6/doc: 385.txt
Only in snort-2.0.2-ipv6/doc: 386.txt
Only in snort-2.0.2-ipv6/doc: 387.txt
Only in snort-2.0.2-ipv6/doc: 388.txt
Only in snort-2.0.2-ipv6/doc: 389.txt
Only in snort-2.0.2-ipv6/doc: 390.txt
Only in snort-2.0.2-ipv6/doc: 391.txt
Only in snort-2.0.2-ipv6/doc: 392.txt
Only in snort-2.0.2-ipv6/doc: 393.txt
Only in snort-2.0.2-ipv6/doc: 394.txt
Only in snort-2.0.2-ipv6/doc: 395.txt
Only in snort-2.0.2-ipv6/doc: 396.txt
Only in snort-2.0.2-ipv6/doc: 397.txt
Only in snort-2.0.2-ipv6/doc: 398.txt
Only in snort-2.0.2-ipv6/doc: 399.txt
Only in snort-2.0.2-ipv6/doc: 400.txt
Only in snort-2.0.2-ipv6/doc: 401.txt
Only in snort-2.0.2-ipv6/doc: 402.txt
Only in snort-2.0.2-ipv6/doc: 403.txt
Only in snort-2.0.2-ipv6/doc: 404.txt
Only in snort-2.0.2-ipv6/doc: 405.txt
Only in snort-2.0.2-ipv6/doc: 406.txt
Only in snort-2.0.2-ipv6/doc: 407.txt
Only in snort-2.0.2-ipv6/doc: 408.txt
Only in snort-2.0.2-ipv6/doc: 409.txt
Only in snort-2.0.2-ipv6/doc: 410.txt
Only in snort-2.0.2-ipv6/doc: 411.txt
Only in snort-2.0.2-ipv6/doc: 412.txt
Only in snort-2.0.2-ipv6/doc: 413.txt
Only in snort-2.0.2-ipv6/doc: 414.txt
Only in snort-2.0.2-ipv6/doc: 415.txt
Only in snort-2.0.2-ipv6/doc: 416.txt
Only in snort-2.0.2-ipv6/doc: 417.txt
Only in snort-2.0.2-ipv6/doc: 418.txt
Only in snort-2.0.2-ipv6/doc: 419.txt
Only in snort-2.0.2-ipv6/doc: 420.txt
Only in snort-2.0.2-ipv6/doc: 421.txt
Only in snort-2.0.2-ipv6/doc: 422.txt
Only in snort-2.0.2-ipv6/doc: 423.txt
Only in snort-2.0.2-ipv6/doc: 424.txt
Only in snort-2.0.2-ipv6/doc: 425.txt
Only in snort-2.0.2-ipv6/doc: 426.txt
Only in snort-2.0.2-ipv6/doc: 427.txt
Only in snort-2.0.2-ipv6/doc: 428.txt
Only in snort-2.0.2-ipv6/doc: 429.txt
Only in snort-2.0.2-ipv6/doc: 430.txt
Only in snort-2.0.2-ipv6/doc: 431.txt
Only in snort-2.0.2-ipv6/doc: 432.txt
Only in snort-2.0.2-ipv6/doc: 433.txt
Only in snort-2.0.2-ipv6/doc: 436.txt
Only in snort-2.0.2-ipv6/doc: 437.txt
Only in snort-2.0.2-ipv6/doc: 438.txt
Only in snort-2.0.2-ipv6/doc: 439.txt
Only in snort-2.0.2-ipv6/doc: 440.txt
Only in snort-2.0.2-ipv6/doc: 441.txt
Only in snort-2.0.2-ipv6/doc: 443.txt
Only in snort-2.0.2-ipv6/doc: 451.txt
Only in snort-2.0.2-ipv6/doc: 452.txt
Only in snort-2.0.2-ipv6/doc: 453.txt
Only in snort-2.0.2-ipv6/doc: 454.txt
Only in snort-2.0.2-ipv6/doc: 456.txt
Only in snort-2.0.2-ipv6/doc: 457.txt
Only in snort-2.0.2-ipv6/doc: 458.txt
Only in snort-2.0.2-ipv6/doc: 459.txt
Only in snort-2.0.2-ipv6/doc: 460.txt
Only in snort-2.0.2-ipv6/doc: 461.txt
Only in snort-2.0.2-ipv6/doc: 462.txt
Only in snort-2.0.2-ipv6/doc: 463.txt
Only in snort-2.0.2-ipv6/doc: 465.txt
Only in snort-2.0.2-ipv6/doc: 466.txt
Only in snort-2.0.2-ipv6/doc: 467.txt
Only in snort-2.0.2-ipv6/doc: 469.txt
Only in snort-2.0.2-ipv6/doc: 471.txt
Only in snort-2.0.2-ipv6/doc: 472.txt
Only in snort-2.0.2-ipv6/doc: 473.txt
Only in snort-2.0.2-ipv6/doc: 474.txt
Only in snort-2.0.2-ipv6/doc: 475.txt
Only in snort-2.0.2-ipv6/doc: 476.txt
Only in snort-2.0.2-ipv6/doc: 477.txt
Only in snort-2.0.2-ipv6/doc: 478.txt
Only in snort-2.0.2-ipv6/doc: 480.txt
Only in snort-2.0.2-ipv6/doc: 481.txt
Only in snort-2.0.2-ipv6/doc: 482.txt
Only in snort-2.0.2-ipv6/doc: 483.txt
Only in snort-2.0.2-ipv6/doc: 484.txt
Only in snort-2.0.2-ipv6/doc: 485.txt
Only in snort-2.0.2-ipv6/doc: 486.txt
Only in snort-2.0.2-ipv6/doc: 487.txt
Only in snort-2.0.2-ipv6/doc: 489.txt
Only in snort-2.0.2-ipv6/doc: 491.txt
Only in snort-2.0.2-ipv6/doc: 492.txt
Only in snort-2.0.2-ipv6/doc: 493.txt
Only in snort-2.0.2-ipv6/doc: 494.txt
Only in snort-2.0.2-ipv6/doc: 495.txt
Only in snort-2.0.2-ipv6/doc: 496.txt
Only in snort-2.0.2-ipv6/doc: 497.txt
Only in snort-2.0.2-ipv6/doc: 498.txt
Only in snort-2.0.2-ipv6/doc: 499.txt
Only in snort-2.0.2-ipv6/doc: 500.txt
Only in snort-2.0.2-ipv6/doc: 502.txt
Only in snort-2.0.2-ipv6/doc: 503.txt
Only in snort-2.0.2-ipv6/doc: 504.txt
Only in snort-2.0.2-ipv6/doc: 505.txt
Only in snort-2.0.2-ipv6/doc: 506.txt
Only in snort-2.0.2-ipv6/doc: 507.txt
Only in snort-2.0.2-ipv6/doc: 510.txt
Only in snort-2.0.2-ipv6/doc: 511.txt
Only in snort-2.0.2-ipv6/doc: 512.txt
Only in snort-2.0.2-ipv6/doc: 514.txt
Only in snort-2.0.2-ipv6/doc: 517.txt
Only in snort-2.0.2-ipv6/doc: 518.txt
Only in snort-2.0.2-ipv6/doc: 519.txt
Only in snort-2.0.2-ipv6/doc: 520.txt
Only in snort-2.0.2-ipv6/doc: 522.txt
Only in snort-2.0.2-ipv6/doc: 523.txt
Only in snort-2.0.2-ipv6/doc: 524.txt
Only in snort-2.0.2-ipv6/doc: 525.txt
Only in snort-2.0.2-ipv6/doc: 526.txt
Only in snort-2.0.2-ipv6/doc: 527.txt
Only in snort-2.0.2-ipv6/doc: 528.txt
Only in snort-2.0.2-ipv6/doc: 530.txt
Only in snort-2.0.2-ipv6/doc: 532.txt
Only in snort-2.0.2-ipv6/doc: 533.txt
Only in snort-2.0.2-ipv6/doc: 540.txt
Only in snort-2.0.2-ipv6/doc: 541.txt
Only in snort-2.0.2-ipv6/doc: 542.txt
Only in snort-2.0.2-ipv6/doc: 543.txt
Only in snort-2.0.2-ipv6/doc: 544.txt
Only in snort-2.0.2-ipv6/doc: 545.txt
Only in snort-2.0.2-ipv6/doc: 546.txt
Only in snort-2.0.2-ipv6/doc: 547.txt
Only in snort-2.0.2-ipv6/doc: 548.txt
Only in snort-2.0.2-ipv6/doc: 549.txt
Only in snort-2.0.2-ipv6/doc: 550.txt
Only in snort-2.0.2-ipv6/doc: 551.txt
Only in snort-2.0.2-ipv6/doc: 552.txt
Only in snort-2.0.2-ipv6/doc: 553.txt
Only in snort-2.0.2-ipv6/doc: 554.txt
Only in snort-2.0.2-ipv6/doc: 555.txt
Only in snort-2.0.2-ipv6/doc: 567.txt
Only in snort-2.0.2-ipv6/doc: 568.txt
Only in snort-2.0.2-ipv6/doc: 574.txt
Only in snort-2.0.2-ipv6/doc: 575.txt
Only in snort-2.0.2-ipv6/doc: 576.txt
Only in snort-2.0.2-ipv6/doc: 577.txt
Only in snort-2.0.2-ipv6/doc: 578.txt
Only in snort-2.0.2-ipv6/doc: 579.txt
Only in snort-2.0.2-ipv6/doc: 580.txt
Only in snort-2.0.2-ipv6/doc: 581.txt
Only in snort-2.0.2-ipv6/doc: 582.txt
Only in snort-2.0.2-ipv6/doc: 583.txt
Only in snort-2.0.2-ipv6/doc: 584.txt
Only in snort-2.0.2-ipv6/doc: 585.txt
Only in snort-2.0.2-ipv6/doc: 586.txt
Only in snort-2.0.2-ipv6/doc: 587.txt
Only in snort-2.0.2-ipv6/doc: 589.txt
Only in snort-2.0.2-ipv6/doc: 590.txt
Only in snort-2.0.2-ipv6/doc: 591.txt
Only in snort-2.0.2-ipv6/doc: 593.txt
Only in snort-2.0.2-ipv6/doc: 595.txt
Only in snort-2.0.2-ipv6/doc: 598.txt
Only in snort-2.0.2-ipv6/doc: 599.txt
Only in snort-2.0.2-ipv6/doc: 602.txt
Only in snort-2.0.2-ipv6/doc: 603.txt
Only in snort-2.0.2-ipv6/doc: 604.txt
Only in snort-2.0.2-ipv6/doc: 605.txt
Only in snort-2.0.2-ipv6/doc: 606.txt
Only in snort-2.0.2-ipv6/doc: 607.txt
Only in snort-2.0.2-ipv6/doc: 608.txt
Only in snort-2.0.2-ipv6/doc: 609.txt
Only in snort-2.0.2-ipv6/doc: 610.txt
Only in snort-2.0.2-ipv6/doc: 611.txt
Only in snort-2.0.2-ipv6/doc: 614.txt
Only in snort-2.0.2-ipv6/doc: 618.txt
Only in snort-2.0.2-ipv6/doc: 620.txt
Only in snort-2.0.2-ipv6/doc: 621.txt
Only in snort-2.0.2-ipv6/doc: 623.txt
Only in snort-2.0.2-ipv6/doc: 624.txt
Only in snort-2.0.2-ipv6/doc: 625.txt
Only in snort-2.0.2-ipv6/doc: 626.txt
Only in snort-2.0.2-ipv6/doc: 627.txt
Only in snort-2.0.2-ipv6/doc: 629.txt
Only in snort-2.0.2-ipv6/doc: 630.txt
Only in snort-2.0.2-ipv6/doc: 631.txt
Only in snort-2.0.2-ipv6/doc: 632.txt
Only in snort-2.0.2-ipv6/doc: 634.txt
Only in snort-2.0.2-ipv6/doc: 638.txt
Only in snort-2.0.2-ipv6/doc: 639.txt
Only in snort-2.0.2-ipv6/doc: 640.txt
Only in snort-2.0.2-ipv6/doc: 641.txt
Only in snort-2.0.2-ipv6/doc: 642.txt
Only in snort-2.0.2-ipv6/doc: 643.txt
Only in snort-2.0.2-ipv6/doc: 644.txt
Only in snort-2.0.2-ipv6/doc: 645.txt
Only in snort-2.0.2-ipv6/doc: 646.txt
Only in snort-2.0.2-ipv6/doc: 648.txt
Only in snort-2.0.2-ipv6/doc: 649.txt
Only in snort-2.0.2-ipv6/doc: 650.txt
Only in snort-2.0.2-ipv6/doc: 651.txt
Only in snort-2.0.2-ipv6/doc: 654.txt
Only in snort-2.0.2-ipv6/doc: 655.txt
Only in snort-2.0.2-ipv6/doc: 657.txt
Only in snort-2.0.2-ipv6/doc: 658.txt
Only in snort-2.0.2-ipv6/doc: 659.txt
Only in snort-2.0.2-ipv6/doc: 660.txt
Only in snort-2.0.2-ipv6/doc: 661.txt
Only in snort-2.0.2-ipv6/doc: 662.txt
Only in snort-2.0.2-ipv6/doc: 663.txt
Only in snort-2.0.2-ipv6/doc: 664.txt
Only in snort-2.0.2-ipv6/doc: 665.txt
Only in snort-2.0.2-ipv6/doc: 667.txt
Only in snort-2.0.2-ipv6/doc: 668.txt
Only in snort-2.0.2-ipv6/doc: 669.txt
Only in snort-2.0.2-ipv6/doc: 670.txt
Only in snort-2.0.2-ipv6/doc: 671.txt
Only in snort-2.0.2-ipv6/doc: 672.txt
Only in snort-2.0.2-ipv6/doc: 673.txt
Only in snort-2.0.2-ipv6/doc: 676.txt
Only in snort-2.0.2-ipv6/doc: 677.txt
Only in snort-2.0.2-ipv6/doc: 678.txt
Only in snort-2.0.2-ipv6/doc: 679.txt
Only in snort-2.0.2-ipv6/doc: 680.txt
Only in snort-2.0.2-ipv6/doc: 681.txt
Only in snort-2.0.2-ipv6/doc: 682.txt
Only in snort-2.0.2-ipv6/doc: 683.txt
Only in snort-2.0.2-ipv6/doc: 684.txt
Only in snort-2.0.2-ipv6/doc: 685.txt
Only in snort-2.0.2-ipv6/doc: 686.txt
Only in snort-2.0.2-ipv6/doc: 687.txt
Only in snort-2.0.2-ipv6/doc: 688.txt
Only in snort-2.0.2-ipv6/doc: 689.txt
Only in snort-2.0.2-ipv6/doc: 691.txt
Only in snort-2.0.2-ipv6/doc: 692.txt
Only in snort-2.0.2-ipv6/doc: 693.txt
Only in snort-2.0.2-ipv6/doc: 694.txt
Only in snort-2.0.2-ipv6/doc: 706.txt
Only in snort-2.0.2-ipv6/doc: 708.txt
Only in snort-2.0.2-ipv6/doc: 711.txt
Only in snort-2.0.2-ipv6/doc: 715.txt
Only in snort-2.0.2-ipv6/doc: 716.txt
Only in snort-2.0.2-ipv6/doc: 717.txt
Only in snort-2.0.2-ipv6/doc: 718.txt
Only in snort-2.0.2-ipv6/doc: 719.txt
Only in snort-2.0.2-ipv6/doc: 720.txt
Only in snort-2.0.2-ipv6/doc: 724.txt
Only in snort-2.0.2-ipv6/doc: 725.txt
Only in snort-2.0.2-ipv6/doc: 726.txt
Only in snort-2.0.2-ipv6/doc: 727.txt
Only in snort-2.0.2-ipv6/doc: 728.txt
Only in snort-2.0.2-ipv6/doc: 731.txt
Only in snort-2.0.2-ipv6/doc: 733.txt
Only in snort-2.0.2-ipv6/doc: 734.txt
Only in snort-2.0.2-ipv6/doc: 735.txt
Only in snort-2.0.2-ipv6/doc: 772.txt
Only in snort-2.0.2-ipv6/doc: 775.txt
Only in snort-2.0.2-ipv6/doc: 793.txt
Only in snort-2.0.2-ipv6/doc: 795.txt
Only in snort-2.0.2-ipv6/doc: 796.txt
Only in snort-2.0.2-ipv6/doc: 797.txt
Only in snort-2.0.2-ipv6/doc: 798.txt
Only in snort-2.0.2-ipv6/doc: 801.txt
Only in snort-2.0.2-ipv6/doc: 803.txt
Only in snort-2.0.2-ipv6/doc: 804.txt
Only in snort-2.0.2-ipv6/doc: 805.txt
Only in snort-2.0.2-ipv6/doc: 806.txt
Only in snort-2.0.2-ipv6/doc: 807.txt
Only in snort-2.0.2-ipv6/doc: 824.txt
Only in snort-2.0.2-ipv6/doc: 835.txt
Only in snort-2.0.2-ipv6/doc: 882.txt
Only in snort-2.0.2-ipv6/doc: 894.txt
Only in snort-2.0.2-ipv6/doc: 904.txt
Only in snort-2.0.2-ipv6/doc: 905.txt
Only in snort-2.0.2-ipv6/doc: 906.txt
Only in snort-2.0.2-ipv6/doc: 907.txt
Only in snort-2.0.2-ipv6/doc: 908.txt
Only in snort-2.0.2-ipv6/doc: 939.txt
Only in snort-2.0.2-ipv6/doc: 948.txt
Only in snort-2.0.2-ipv6/doc: 951.txt
Only in snort-2.0.2-ipv6/doc: 952.txt
Only in snort-2.0.2-ipv6/doc: 953.txt
Only in snort-2.0.2-ipv6/doc: 958.txt
Only in snort-2.0.2-ipv6/doc: 967.txt
Only in snort-2.0.2-ipv6/doc: 969.txt
Only in snort-2.0.2-ipv6/doc: 970.txt
Only in snort-2.0.2-ipv6/doc: 971.txt
Only in snort-2.0.2-ipv6/doc: 972.txt
Only in snort-2.0.2-ipv6/doc: 973.txt
Only in snort-2.0.2-ipv6/doc: 974.txt
Only in snort-2.0.2-ipv6/doc: 975.txt
Only in snort-2.0.2-ipv6/doc: 976.txt
Only in snort-2.0.2-ipv6/doc: 977.txt
Only in snort-2.0.2-ipv6/doc: 978.txt
Only in snort-2.0.2-ipv6/doc: 979.txt
Only in snort-2.0.2-ipv6/doc: 980.txt
Only in snort-2.0.2-ipv6/doc: 981.txt
Only in snort-2.0.2-ipv6/doc: 982.txt
Only in snort-2.0.2-ipv6/doc: 983.txt
Only in snort-2.0.2-ipv6/doc: 986.txt
Only in snort-2.0.2-ipv6/doc: 987.txt
Only in snort-2.0.2-ipv6/doc: 988.txt
Only in snort-2.0.2-ipv6/doc: 989.txt
Only in snort-2.0.2-ipv6/doc: 990.txt
Only in snort-2.0.2-ipv6/doc: 991.txt
Only in snort-2.0.2-ipv6/doc: 992.txt
Only in snort-2.0.2-ipv6/doc: 993.txt
Only in snort-2.0.2-ipv6/doc: 994.txt
Only in snort-2.0.2-ipv6/doc: 995.txt
Only in snort-2.0.2-ipv6/doc: 996.txt
Only in snort-2.0.2-ipv6/doc: 997.txt
Only in snort-2.0.2-ipv6/doc: 998.txt
Only in snort-2.0.2-ipv6/doc: 999.txt
diff -ur snort-2.0.2/doc/CREDITS snort-2.0.2-ipv6/doc/CREDITS
--- snort-2.0.2/doc/CREDITS	Tue Apr  8 03:50:29 2003
+++ snort-2.0.2-ipv6/doc/CREDITS	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-$Id: CREDITS,v 1.26 2003/04/07 18:50:29 chrisgreen Exp $
+$Id: CREDITS,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 
 Sebastian    <scut@nb.in-berlin.de>
     * Added TOS decoding and logging
Only in snort-2.0.2-ipv6/doc: CVS
diff -ur snort-2.0.2/doc/Makefile.am snort-2.0.2-ipv6/doc/Makefile.am
--- snort-2.0.2/doc/Makefile.am	Thu Sep 11 06:43:06 2003
+++ snort-2.0.2-ipv6/doc/Makefile.am	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.10 2003/07/22 18:24:49 chrisgreen Exp $
+## $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 EXTRA_DIST = AUTHORS NEWS README.csv BUGS README README.database \
diff -ur snort-2.0.2/doc/Makefile.in snort-2.0.2-ipv6/doc/Makefile.in
--- snort-2.0.2/doc/Makefile.in	Thu Sep 11 06:43:20 2003
+++ snort-2.0.2-ipv6/doc/Makefile.in	Thu Nov 13 19:26:35 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,24 +57,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 EXTRA_DIST = AUTHORS NEWS README.csv BUGS README README.database \
@@ -96,7 +90,6 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -112,11 +105,14 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  doc/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
@@ -124,20 +120,15 @@
 
 distdir: $(DISTFILES)
 	$(mkinstalldirs) $(distdir)/signatures
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -161,7 +152,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -169,7 +159,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/doc/README snort-2.0.2-ipv6/doc/README
--- snort-2.0.2/doc/README	Tue Apr  8 03:50:30 2003
+++ snort-2.0.2-ipv6/doc/README	Tue Sep 30 13:25:26 2003
@@ -326,4 +326,4 @@
 Please read the USAGE file or the SnortUsersManual.pdf for more info.
 
 ******************************************************************************
-/* $Id: README,v 1.20 2003/04/07 18:50:30 chrisgreen Exp $ */
+/* $Id: README,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
diff -ur snort-2.0.2/doc/README.csv snort-2.0.2-ipv6/doc/README.csv
--- snort-2.0.2/doc/README.csv	Tue May  6 23:47:41 2003
+++ snort-2.0.2-ipv6/doc/README.csv	Tue Sep 30 13:25:26 2003
@@ -1,7 +1,7 @@
 SPO_CSV Usage Guide
 Brian Caswell <bmc@snort.org>
 
-$Id: README.csv,v 1.2 2003/05/06 14:47:41 cazz Exp $
+$Id: README.csv,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 
 
 
diff -ur snort-2.0.2/doc/RULES.todo snort-2.0.2-ipv6/doc/RULES.todo
--- snort-2.0.2/doc/RULES.todo	Mon Nov 25 06:47:22 2002
+++ snort-2.0.2-ipv6/doc/RULES.todo	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-$Id: RULES.todo,v 1.13 2002/11/24 21:47:22 cazz Exp $
+$Id: RULES.todo,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 
 RULES todo
 
diff -ur snort-2.0.2/doc/TODO snort-2.0.2-ipv6/doc/TODO
--- snort-2.0.2/doc/TODO	Mon Apr  1 10:38:50 2002
+++ snort-2.0.2-ipv6/doc/TODO	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.1 2002/04/01 01:38:50 cazz Exp $
+$Id: TODO,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 
 - update obfuscation code 
 - update the todo list
diff -ur snort-2.0.2/doc/USAGE snort-2.0.2-ipv6/doc/USAGE
--- snort-2.0.2/doc/USAGE	Sat Nov  3 01:17:26 2001
+++ snort-2.0.2-ipv6/doc/USAGE	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: USAGE,v 1.5 2001/11/02 16:17:26 roesch Exp $  */
+/* $Id: USAGE,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $  */
 
 How to use Snort by Martin Roesch
 
Only in snort-2.0.2-ipv6/doc: signature
Only in snort-2.0.2/doc/signatures: 1000.txt
Only in snort-2.0.2/doc/signatures: 1001.txt
Only in snort-2.0.2/doc/signatures: 1002.txt
Only in snort-2.0.2/doc/signatures: 1003.txt
Only in snort-2.0.2/doc/signatures: 1007.txt
Only in snort-2.0.2/doc/signatures: 1008.txt
Only in snort-2.0.2/doc/signatures: 1009.txt
Only in snort-2.0.2/doc/signatures: 1011.txt
Only in snort-2.0.2/doc/signatures: 1015.txt
Only in snort-2.0.2/doc/signatures: 1016.txt
Only in snort-2.0.2/doc/signatures: 1017.txt
Only in snort-2.0.2/doc/signatures: 1018.txt
Only in snort-2.0.2/doc/signatures: 1019.txt
Only in snort-2.0.2/doc/signatures: 1020.txt
Only in snort-2.0.2/doc/signatures: 1021.txt
Only in snort-2.0.2/doc/signatures: 1022.txt
Only in snort-2.0.2/doc/signatures: 1023.txt
Only in snort-2.0.2/doc/signatures: 1024.txt
Only in snort-2.0.2/doc/signatures: 1025.txt
Only in snort-2.0.2/doc/signatures: 1026.txt
Only in snort-2.0.2/doc/signatures: 1027.txt
Only in snort-2.0.2/doc/signatures: 1029.txt
Only in snort-2.0.2/doc/signatures: 103.txt
Only in snort-2.0.2/doc/signatures: 1030.txt
Only in snort-2.0.2/doc/signatures: 1037.txt
Only in snort-2.0.2/doc/signatures: 1038.txt
Only in snort-2.0.2/doc/signatures: 1039.txt
Only in snort-2.0.2/doc/signatures: 104.txt
Only in snort-2.0.2/doc/signatures: 1040.txt
Only in snort-2.0.2/doc/signatures: 1041.txt
Only in snort-2.0.2/doc/signatures: 1042.txt
Only in snort-2.0.2/doc/signatures: 1043.txt
Only in snort-2.0.2/doc/signatures: 1044.txt
Only in snort-2.0.2/doc/signatures: 1045.txt
Only in snort-2.0.2/doc/signatures: 1046.txt
Only in snort-2.0.2/doc/signatures: 105.txt
Only in snort-2.0.2/doc/signatures: 1050.txt
Only in snort-2.0.2/doc/signatures: 1054.txt
Only in snort-2.0.2/doc/signatures: 1055.txt
Only in snort-2.0.2/doc/signatures: 106.txt
Only in snort-2.0.2/doc/signatures: 1062.txt
Only in snort-2.0.2/doc/signatures: 1066.txt
Only in snort-2.0.2/doc/signatures: 1067.txt
Only in snort-2.0.2/doc/signatures: 107.txt
Only in snort-2.0.2/doc/signatures: 1070.txt
Only in snort-2.0.2/doc/signatures: 1071.txt
Only in snort-2.0.2/doc/signatures: 1073.txt
Only in snort-2.0.2/doc/signatures: 1075.txt
Only in snort-2.0.2/doc/signatures: 1076.txt
Only in snort-2.0.2/doc/signatures: 1079.txt
Only in snort-2.0.2/doc/signatures: 108.txt
Only in snort-2.0.2/doc/signatures: 1080.txt
Only in snort-2.0.2/doc/signatures: 1087.txt
Only in snort-2.0.2/doc/signatures: 109.txt
Only in snort-2.0.2/doc/signatures: 1094.txt
Only in snort-2.0.2/doc/signatures: 110.txt
Only in snort-2.0.2/doc/signatures: 1103.txt
Only in snort-2.0.2/doc/signatures: 1104.txt
Only in snort-2.0.2/doc/signatures: 111.txt
Only in snort-2.0.2/doc/signatures: 112.txt
Only in snort-2.0.2/doc/signatures: 1122.txt
Only in snort-2.0.2/doc/signatures: 1129.txt
Only in snort-2.0.2/doc/signatures: 1133.txt
Only in snort-2.0.2/doc/signatures: 1137.txt
Only in snort-2.0.2/doc/signatures: 1139.txt
Only in snort-2.0.2/doc/signatures: 114.txt
Only in snort-2.0.2/doc/signatures: 1149.txt
Only in snort-2.0.2/doc/signatures: 115.txt
Only in snort-2.0.2/doc/signatures: 1158.txt
Only in snort-2.0.2/doc/signatures: 1159.txt
Only in snort-2.0.2/doc/signatures: 116.txt
Only in snort-2.0.2/doc/signatures: 1163.txt
Only in snort-2.0.2/doc/signatures: 1166.txt
Only in snort-2.0.2/doc/signatures: 1167.txt
Only in snort-2.0.2/doc/signatures: 117.txt
Only in snort-2.0.2/doc/signatures: 1171.txt
Only in snort-2.0.2/doc/signatures: 1175.txt
Only in snort-2.0.2/doc/signatures: 118.txt
Only in snort-2.0.2/doc/signatures: 1186.txt
Only in snort-2.0.2/doc/signatures: 1188.txt
Only in snort-2.0.2/doc/signatures: 1189.txt
Only in snort-2.0.2/doc/signatures: 119.txt
Only in snort-2.0.2/doc/signatures: 1190.txt
Only in snort-2.0.2/doc/signatures: 1191.txt
Only in snort-2.0.2/doc/signatures: 1196.txt
Only in snort-2.0.2/doc/signatures: 1198.txt
Only in snort-2.0.2/doc/signatures: 120.txt
Only in snort-2.0.2/doc/signatures: 121.txt
Only in snort-2.0.2/doc/signatures: 1225.txt
Only in snort-2.0.2/doc/signatures: 1226.txt
Only in snort-2.0.2/doc/signatures: 1227.txt
Only in snort-2.0.2/doc/signatures: 1228.txt
Only in snort-2.0.2/doc/signatures: 1229.txt
Only in snort-2.0.2/doc/signatures: 1240.txt
Only in snort-2.0.2/doc/signatures: 1242.txt
Only in snort-2.0.2/doc/signatures: 1243.txt
Only in snort-2.0.2/doc/signatures: 1244.txt
Only in snort-2.0.2/doc/signatures: 1245.txt
Only in snort-2.0.2/doc/signatures: 1250.txt
Only in snort-2.0.2/doc/signatures: 1251.txt
Only in snort-2.0.2/doc/signatures: 1256.txt
Only in snort-2.0.2/doc/signatures: 1257.txt
Only in snort-2.0.2/doc/signatures: 1260.txt
Only in snort-2.0.2/doc/signatures: 1261.txt
Only in snort-2.0.2/doc/signatures: 1262.txt
Only in snort-2.0.2/doc/signatures: 1263.txt
Only in snort-2.0.2/doc/signatures: 1264.txt
Only in snort-2.0.2/doc/signatures: 1265.txt
Only in snort-2.0.2/doc/signatures: 1266.txt
Only in snort-2.0.2/doc/signatures: 1267.txt
Only in snort-2.0.2/doc/signatures: 1268.txt
Only in snort-2.0.2/doc/signatures: 1269.txt
Only in snort-2.0.2/doc/signatures: 1270.txt
Only in snort-2.0.2/doc/signatures: 1271.txt
Only in snort-2.0.2/doc/signatures: 1272.txt
Only in snort-2.0.2/doc/signatures: 1273.txt
Only in snort-2.0.2/doc/signatures: 1275.txt
Only in snort-2.0.2/doc/signatures: 1279.txt
Only in snort-2.0.2/doc/signatures: 1280.txt
Only in snort-2.0.2/doc/signatures: 1281.txt
Only in snort-2.0.2/doc/signatures: 1283.txt
Only in snort-2.0.2/doc/signatures: 1284.txt
Only in snort-2.0.2/doc/signatures: 1285.txt
Only in snort-2.0.2/doc/signatures: 1286.txt
Only in snort-2.0.2/doc/signatures: 1287.txt
Only in snort-2.0.2/doc/signatures: 1290.txt
Only in snort-2.0.2/doc/signatures: 1292.txt
Only in snort-2.0.2/doc/signatures: 1298.txt
Only in snort-2.0.2/doc/signatures: 1299.txt
Only in snort-2.0.2/doc/signatures: 1310.txt
Only in snort-2.0.2/doc/signatures: 1311.txt
Only in snort-2.0.2/doc/signatures: 1312.txt
Only in snort-2.0.2/doc/signatures: 1313.txt
Only in snort-2.0.2/doc/signatures: 1314.txt
Only in snort-2.0.2/doc/signatures: 1315.txt
Only in snort-2.0.2/doc/signatures: 1316.txt
Only in snort-2.0.2/doc/signatures: 1317.txt
Only in snort-2.0.2/doc/signatures: 1318.txt
Only in snort-2.0.2/doc/signatures: 1319.txt
Only in snort-2.0.2/doc/signatures: 1320.txt
Only in snort-2.0.2/doc/signatures: 1321.txt
Only in snort-2.0.2/doc/signatures: 1322.txt
Only in snort-2.0.2/doc/signatures: 1323.txt
Only in snort-2.0.2/doc/signatures: 1324.txt
Only in snort-2.0.2/doc/signatures: 1325.txt
Only in snort-2.0.2/doc/signatures: 1326.txt
Only in snort-2.0.2/doc/signatures: 1327.txt
Only in snort-2.0.2/doc/signatures: 1328.txt
Only in snort-2.0.2/doc/signatures: 1329.txt
Only in snort-2.0.2/doc/signatures: 1330.txt
Only in snort-2.0.2/doc/signatures: 1331.txt
Only in snort-2.0.2/doc/signatures: 1332.txt
Only in snort-2.0.2/doc/signatures: 1333.txt
Only in snort-2.0.2/doc/signatures: 1334.txt
Only in snort-2.0.2/doc/signatures: 1335.txt
Only in snort-2.0.2/doc/signatures: 1336.txt
Only in snort-2.0.2/doc/signatures: 1337.txt
Only in snort-2.0.2/doc/signatures: 1338.txt
Only in snort-2.0.2/doc/signatures: 1339.txt
Only in snort-2.0.2/doc/signatures: 1340.txt
Only in snort-2.0.2/doc/signatures: 1341.txt
Only in snort-2.0.2/doc/signatures: 1342.txt
Only in snort-2.0.2/doc/signatures: 1343.txt
Only in snort-2.0.2/doc/signatures: 1344.txt
Only in snort-2.0.2/doc/signatures: 1345.txt
Only in snort-2.0.2/doc/signatures: 1346.txt
Only in snort-2.0.2/doc/signatures: 1347.txt
Only in snort-2.0.2/doc/signatures: 1348.txt
Only in snort-2.0.2/doc/signatures: 1349.txt
Only in snort-2.0.2/doc/signatures: 1350.txt
Only in snort-2.0.2/doc/signatures: 1351.txt
Only in snort-2.0.2/doc/signatures: 1352.txt
Only in snort-2.0.2/doc/signatures: 1353.txt
Only in snort-2.0.2/doc/signatures: 1354.txt
Only in snort-2.0.2/doc/signatures: 1355.txt
Only in snort-2.0.2/doc/signatures: 1356.txt
Only in snort-2.0.2/doc/signatures: 1358.txt
Only in snort-2.0.2/doc/signatures: 1359.txt
Only in snort-2.0.2/doc/signatures: 1360.txt
Only in snort-2.0.2/doc/signatures: 1363.txt
Only in snort-2.0.2/doc/signatures: 1364.txt
Only in snort-2.0.2/doc/signatures: 1365.txt
Only in snort-2.0.2/doc/signatures: 1366.txt
Only in snort-2.0.2/doc/signatures: 1367.txt
Only in snort-2.0.2/doc/signatures: 1368.txt
Only in snort-2.0.2/doc/signatures: 1369.txt
Only in snort-2.0.2/doc/signatures: 1370.txt
Only in snort-2.0.2/doc/signatures: 1372.txt
Only in snort-2.0.2/doc/signatures: 1373.txt
Only in snort-2.0.2/doc/signatures: 1374.txt
Only in snort-2.0.2/doc/signatures: 1378.txt
Only in snort-2.0.2/doc/signatures: 1380.txt
Only in snort-2.0.2/doc/signatures: 1382.txt
Only in snort-2.0.2/doc/signatures: 1383.txt
Only in snort-2.0.2/doc/signatures: 1387.txt
Only in snort-2.0.2/doc/signatures: 1389.txt
Only in snort-2.0.2/doc/signatures: 1394.txt
Only in snort-2.0.2/doc/signatures: 1397.txt
Only in snort-2.0.2/doc/signatures: 1398.txt
Only in snort-2.0.2/doc/signatures: 1399.txt
Only in snort-2.0.2/doc/signatures: 1400.txt
Only in snort-2.0.2/doc/signatures: 1401.txt
Only in snort-2.0.2/doc/signatures: 1402.txt
Only in snort-2.0.2/doc/signatures: 1408.txt
Only in snort-2.0.2/doc/signatures: 141.txt
Only in snort-2.0.2/doc/signatures: 1411.txt
Only in snort-2.0.2/doc/signatures: 1412.txt
Only in snort-2.0.2/doc/signatures: 1413.txt
Only in snort-2.0.2/doc/signatures: 1414.txt
Only in snort-2.0.2/doc/signatures: 1415.txt
Only in snort-2.0.2/doc/signatures: 1416.txt
Only in snort-2.0.2/doc/signatures: 1417.txt
Only in snort-2.0.2/doc/signatures: 1418.txt
Only in snort-2.0.2/doc/signatures: 1419.txt
Only in snort-2.0.2/doc/signatures: 1420.txt
Only in snort-2.0.2/doc/signatures: 1422.txt
Only in snort-2.0.2/doc/signatures: 1431.txt
Only in snort-2.0.2/doc/signatures: 1432.txt
Only in snort-2.0.2/doc/signatures: 1435.txt
Only in snort-2.0.2/doc/signatures: 144.txt
Only in snort-2.0.2/doc/signatures: 1441.txt
Only in snort-2.0.2/doc/signatures: 1442.txt
Only in snort-2.0.2/doc/signatures: 1443.txt
Only in snort-2.0.2/doc/signatures: 1444.txt
Only in snort-2.0.2/doc/signatures: 1445.txt
Only in snort-2.0.2/doc/signatures: 1446.txt
Only in snort-2.0.2/doc/signatures: 1449.txt
Only in snort-2.0.2/doc/signatures: 145.txt
Only in snort-2.0.2/doc/signatures: 1450.txt
Only in snort-2.0.2/doc/signatures: 146.txt
Only in snort-2.0.2/doc/signatures: 1463.txt
Only in snort-2.0.2/doc/signatures: 147.txt
Only in snort-2.0.2/doc/signatures: 1484.txt
Only in snort-2.0.2/doc/signatures: 1485.txt
Only in snort-2.0.2/doc/signatures: 1486.txt
Only in snort-2.0.2/doc/signatures: 1487.txt
Only in snort-2.0.2/doc/signatures: 1490.txt
Only in snort-2.0.2/doc/signatures: 1491.txt
Only in snort-2.0.2/doc/signatures: 1497.txt
Only in snort-2.0.2/doc/signatures: 1504.txt
Only in snort-2.0.2/doc/signatures: 151.txt
Only in snort-2.0.2/doc/signatures: 1519.txt
Only in snort-2.0.2/doc/signatures: 152.txt
Only in snort-2.0.2/doc/signatures: 1520.txt
Only in snort-2.0.2/doc/signatures: 1526.txt
Only in snort-2.0.2/doc/signatures: 1527.txt
Only in snort-2.0.2/doc/signatures: 153.txt
Only in snort-2.0.2/doc/signatures: 1530.txt
Only in snort-2.0.2/doc/signatures: 1541.txt
Only in snort-2.0.2/doc/signatures: 1544.txt
Only in snort-2.0.2/doc/signatures: 1545.txt
Only in snort-2.0.2/doc/signatures: 1546.txt
Only in snort-2.0.2/doc/signatures: 1549.txt
Only in snort-2.0.2/doc/signatures: 155.txt
Only in snort-2.0.2/doc/signatures: 1550.txt
Only in snort-2.0.2/doc/signatures: 1567.txt
Only in snort-2.0.2/doc/signatures: 1568.txt
Only in snort-2.0.2/doc/signatures: 157.txt
Only in snort-2.0.2/doc/signatures: 158.txt
Only in snort-2.0.2/doc/signatures: 159.txt
Only in snort-2.0.2/doc/signatures: 1595.txt
Only in snort-2.0.2/doc/signatures: 1600.txt
Only in snort-2.0.2/doc/signatures: 1601.txt
Only in snort-2.0.2/doc/signatures: 1602.txt
Only in snort-2.0.2/doc/signatures: 1605.txt
Only in snort-2.0.2/doc/signatures: 1607.txt
Only in snort-2.0.2/doc/signatures: 161.txt
Only in snort-2.0.2/doc/signatures: 1610.txt
Only in snort-2.0.2/doc/signatures: 1616.txt
Only in snort-2.0.2/doc/signatures: 1618.txt
Only in snort-2.0.2/doc/signatures: 162.txt
Only in snort-2.0.2/doc/signatures: 1621.txt
Only in snort-2.0.2/doc/signatures: 1622.txt
Only in snort-2.0.2/doc/signatures: 1623.txt
Only in snort-2.0.2/doc/signatures: 1624.txt
Only in snort-2.0.2/doc/signatures: 1625.txt
Only in snort-2.0.2/doc/signatures: 1626.txt
Only in snort-2.0.2/doc/signatures: 1627.txt
Only in snort-2.0.2/doc/signatures: 163.txt
Only in snort-2.0.2/doc/signatures: 1631.txt
Only in snort-2.0.2/doc/signatures: 1632.txt
Only in snort-2.0.2/doc/signatures: 1633.txt
Only in snort-2.0.2/doc/signatures: 1636.txt
Only in snort-2.0.2/doc/signatures: 1638.txt
Only in snort-2.0.2/doc/signatures: 1639.txt
Only in snort-2.0.2/doc/signatures: 1640.txt
Only in snort-2.0.2/doc/signatures: 1641.txt
Only in snort-2.0.2/doc/signatures: 1645.txt
Only in snort-2.0.2/doc/signatures: 1660.txt
Only in snort-2.0.2/doc/signatures: 1661.txt
Only in snort-2.0.2/doc/signatures: 1662.txt
Only in snort-2.0.2/doc/signatures: 1667.txt
Only in snort-2.0.2/doc/signatures: 1673.txt
Only in snort-2.0.2/doc/signatures: 1674.txt
Only in snort-2.0.2/doc/signatures: 1675.txt
Only in snort-2.0.2/doc/signatures: 1676.txt
Only in snort-2.0.2/doc/signatures: 1677.txt
Only in snort-2.0.2/doc/signatures: 1678.txt
Only in snort-2.0.2/doc/signatures: 1679.txt
Only in snort-2.0.2/doc/signatures: 1680.txt
Only in snort-2.0.2/doc/signatures: 1681.txt
Only in snort-2.0.2/doc/signatures: 1682.txt
Only in snort-2.0.2/doc/signatures: 1683.txt
Only in snort-2.0.2/doc/signatures: 1684.txt
Only in snort-2.0.2/doc/signatures: 1685.txt
Only in snort-2.0.2/doc/signatures: 1686.txt
Only in snort-2.0.2/doc/signatures: 1687.txt
Only in snort-2.0.2/doc/signatures: 1688.txt
Only in snort-2.0.2/doc/signatures: 1689.txt
Only in snort-2.0.2/doc/signatures: 1690.txt
Only in snort-2.0.2/doc/signatures: 1691.txt
Only in snort-2.0.2/doc/signatures: 1692.txt
Only in snort-2.0.2/doc/signatures: 1693.txt
Only in snort-2.0.2/doc/signatures: 1694.txt
Only in snort-2.0.2/doc/signatures: 1695.txt
Only in snort-2.0.2/doc/signatures: 1696.txt
Only in snort-2.0.2/doc/signatures: 1697.txt
Only in snort-2.0.2/doc/signatures: 1699.txt
Only in snort-2.0.2/doc/signatures: 1725.txt
Only in snort-2.0.2/doc/signatures: 1726.txt
Only in snort-2.0.2/doc/signatures: 1728.txt
Only in snort-2.0.2/doc/signatures: 1729.txt
Only in snort-2.0.2/doc/signatures: 1732.txt
Only in snort-2.0.2/doc/signatures: 1733.txt
Only in snort-2.0.2/doc/signatures: 1746.txt
Only in snort-2.0.2/doc/signatures: 1747.txt
Only in snort-2.0.2/doc/signatures: 1750.txt
Only in snort-2.0.2/doc/signatures: 1751.txt
Only in snort-2.0.2/doc/signatures: 1753.txt
Only in snort-2.0.2/doc/signatures: 1754.txt
Only in snort-2.0.2/doc/signatures: 1756.txt
Only in snort-2.0.2/doc/signatures: 1759.txt
Only in snort-2.0.2/doc/signatures: 176.txt
Only in snort-2.0.2/doc/signatures: 1768.txt
Only in snort-2.0.2/doc/signatures: 1772.txt
Only in snort-2.0.2/doc/signatures: 1773.txt
Only in snort-2.0.2/doc/signatures: 1775.txt
Only in snort-2.0.2/doc/signatures: 1776.txt
Only in snort-2.0.2/doc/signatures: 1777.txt
Only in snort-2.0.2/doc/signatures: 1778.txt
Only in snort-2.0.2/doc/signatures: 1781.txt
Only in snort-2.0.2/doc/signatures: 1782.txt
Only in snort-2.0.2/doc/signatures: 1783.txt
Only in snort-2.0.2/doc/signatures: 1784.txt
Only in snort-2.0.2/doc/signatures: 1785.txt
Only in snort-2.0.2/doc/signatures: 1786.txt
Only in snort-2.0.2/doc/signatures: 1789.txt
Only in snort-2.0.2/doc/signatures: 1790.txt
Only in snort-2.0.2/doc/signatures: 1791.txt
Only in snort-2.0.2/doc/signatures: 1793.txt
Only in snort-2.0.2/doc/signatures: 1794.txt
Only in snort-2.0.2/doc/signatures: 1795.txt
Only in snort-2.0.2/doc/signatures: 1796.txt
Only in snort-2.0.2/doc/signatures: 1797.txt
Only in snort-2.0.2/doc/signatures: 1798.txt
Only in snort-2.0.2/doc/signatures: 1799.txt
Only in snort-2.0.2/doc/signatures: 1800.txt
Only in snort-2.0.2/doc/signatures: 1805.txt
Only in snort-2.0.2/doc/signatures: 1806.txt
Only in snort-2.0.2/doc/signatures: 1808.txt
Only in snort-2.0.2/doc/signatures: 1809.txt
Only in snort-2.0.2/doc/signatures: 1810.txt
Only in snort-2.0.2/doc/signatures: 1811.txt
Only in snort-2.0.2/doc/signatures: 1812.txt
Only in snort-2.0.2/doc/signatures: 1813.txt
Only in snort-2.0.2/doc/signatures: 1814.txt
Only in snort-2.0.2/doc/signatures: 1817.txt
Only in snort-2.0.2/doc/signatures: 1818.txt
Only in snort-2.0.2/doc/signatures: 1821.txt
Only in snort-2.0.2/doc/signatures: 1828.txt
Only in snort-2.0.2/doc/signatures: 183.txt
Only in snort-2.0.2/doc/signatures: 1831.txt
Only in snort-2.0.2/doc/signatures: 1832.txt
Only in snort-2.0.2/doc/signatures: 1833.txt
Only in snort-2.0.2/doc/signatures: 1836.txt
Only in snort-2.0.2/doc/signatures: 1837.txt
Only in snort-2.0.2/doc/signatures: 1838.txt
Only in snort-2.0.2/doc/signatures: 184.txt
Only in snort-2.0.2/doc/signatures: 1841.txt
Only in snort-2.0.2/doc/signatures: 1843.txt
Only in snort-2.0.2/doc/signatures: 185.txt
Only in snort-2.0.2/doc/signatures: 1852.txt
Only in snort-2.0.2/doc/signatures: 1853.txt
Only in snort-2.0.2/doc/signatures: 1854.txt
Only in snort-2.0.2/doc/signatures: 1855.txt
Only in snort-2.0.2/doc/signatures: 1856.txt
Only in snort-2.0.2/doc/signatures: 1857.txt
Only in snort-2.0.2/doc/signatures: 1858.txt
Only in snort-2.0.2/doc/signatures: 1862.txt
Only in snort-2.0.2/doc/signatures: 1864.txt
Only in snort-2.0.2/doc/signatures: 1866.txt
Only in snort-2.0.2/doc/signatures: 1871.txt
Only in snort-2.0.2/doc/signatures: 1882.txt
Only in snort-2.0.2/doc/signatures: 1883.txt
Only in snort-2.0.2/doc/signatures: 1884.txt
Only in snort-2.0.2/doc/signatures: 1885.txt
Only in snort-2.0.2/doc/signatures: 1886.txt
Only in snort-2.0.2/doc/signatures: 1888.txt
Only in snort-2.0.2/doc/signatures: 1890.txt
Only in snort-2.0.2/doc/signatures: 1891.txt
Only in snort-2.0.2/doc/signatures: 1892.txt
Only in snort-2.0.2/doc/signatures: 1894.txt
Only in snort-2.0.2/doc/signatures: 1895.txt
Only in snort-2.0.2/doc/signatures: 1896.txt
Only in snort-2.0.2/doc/signatures: 1897.txt
Only in snort-2.0.2/doc/signatures: 1898.txt
Only in snort-2.0.2/doc/signatures: 1899.txt
Only in snort-2.0.2/doc/signatures: 1905.txt
Only in snort-2.0.2/doc/signatures: 1906.txt
Only in snort-2.0.2/doc/signatures: 1907.txt
Only in snort-2.0.2/doc/signatures: 1908.txt
Only in snort-2.0.2/doc/signatures: 1909.txt
Only in snort-2.0.2/doc/signatures: 1910.txt
Only in snort-2.0.2/doc/signatures: 1911.txt
Only in snort-2.0.2/doc/signatures: 1912.txt
Only in snort-2.0.2/doc/signatures: 1913.txt
Only in snort-2.0.2/doc/signatures: 1914.txt
Only in snort-2.0.2/doc/signatures: 1915.txt
Only in snort-2.0.2/doc/signatures: 1916.txt
Only in snort-2.0.2/doc/signatures: 1917.txt
Only in snort-2.0.2/doc/signatures: 1918.txt
Only in snort-2.0.2/doc/signatures: 1922.txt
Only in snort-2.0.2/doc/signatures: 1923.txt
Only in snort-2.0.2/doc/signatures: 1924.txt
Only in snort-2.0.2/doc/signatures: 1925.txt
Only in snort-2.0.2/doc/signatures: 1926.txt
Only in snort-2.0.2/doc/signatures: 1927.txt
Only in snort-2.0.2/doc/signatures: 1928.txt
Only in snort-2.0.2/doc/signatures: 1929.txt
Only in snort-2.0.2/doc/signatures: 1941.txt
Only in snort-2.0.2/doc/signatures: 1942.txt
Only in snort-2.0.2/doc/signatures: 1945.txt
Only in snort-2.0.2/doc/signatures: 1948.txt
Only in snort-2.0.2/doc/signatures: 1949.txt
Only in snort-2.0.2/doc/signatures: 195.txt
Only in snort-2.0.2/doc/signatures: 1950.txt
Only in snort-2.0.2/doc/signatures: 1951.txt
Only in snort-2.0.2/doc/signatures: 1952.txt
Only in snort-2.0.2/doc/signatures: 1953.txt
Only in snort-2.0.2/doc/signatures: 1954.txt
Only in snort-2.0.2/doc/signatures: 1955.txt
Only in snort-2.0.2/doc/signatures: 1956.txt
Only in snort-2.0.2/doc/signatures: 1963.txt
Only in snort-2.0.2/doc/signatures: 1964.txt
Only in snort-2.0.2/doc/signatures: 1965.txt
Only in snort-2.0.2/doc/signatures: 1970.txt
Only in snort-2.0.2/doc/signatures: 1971.txt
Only in snort-2.0.2/doc/signatures: 1975.txt
Only in snort-2.0.2/doc/signatures: 1980.txt
Only in snort-2.0.2/doc/signatures: 1981.txt
Only in snort-2.0.2/doc/signatures: 1982.txt
Only in snort-2.0.2/doc/signatures: 1983.txt
Only in snort-2.0.2/doc/signatures: 1984.txt
Only in snort-2.0.2/doc/signatures: 1985.txt
Only in snort-2.0.2/doc/signatures: 1986.txt
Only in snort-2.0.2/doc/signatures: 1987.txt
Only in snort-2.0.2/doc/signatures: 1988.txt
Only in snort-2.0.2/doc/signatures: 1989.txt
Only in snort-2.0.2/doc/signatures: 1990.txt
Only in snort-2.0.2/doc/signatures: 1991.txt
Only in snort-2.0.2/doc/signatures: 1992.txt
Only in snort-2.0.2/doc/signatures: 2000.txt
Only in snort-2.0.2/doc/signatures: 2001.txt
Only in snort-2.0.2/doc/signatures: 2002.txt
Only in snort-2.0.2/doc/signatures: 2003.txt
Only in snort-2.0.2/doc/signatures: 2004.txt
Only in snort-2.0.2/doc/signatures: 2005.txt
Only in snort-2.0.2/doc/signatures: 2006.txt
Only in snort-2.0.2/doc/signatures: 2007.txt
Only in snort-2.0.2/doc/signatures: 2008.txt
Only in snort-2.0.2/doc/signatures: 2009.txt
Only in snort-2.0.2/doc/signatures: 2010.txt
Only in snort-2.0.2/doc/signatures: 2011.txt
Only in snort-2.0.2/doc/signatures: 2012.txt
Only in snort-2.0.2/doc/signatures: 2013.txt
Only in snort-2.0.2/doc/signatures: 2014.txt
Only in snort-2.0.2/doc/signatures: 2015.txt
Only in snort-2.0.2/doc/signatures: 2016.txt
Only in snort-2.0.2/doc/signatures: 2017.txt
Only in snort-2.0.2/doc/signatures: 2018.txt
Only in snort-2.0.2/doc/signatures: 2019.txt
Only in snort-2.0.2/doc/signatures: 2020.txt
Only in snort-2.0.2/doc/signatures: 2021.txt
Only in snort-2.0.2/doc/signatures: 2022.txt
Only in snort-2.0.2/doc/signatures: 2023.txt
Only in snort-2.0.2/doc/signatures: 2024.txt
Only in snort-2.0.2/doc/signatures: 2025.txt
Only in snort-2.0.2/doc/signatures: 2026.txt
Only in snort-2.0.2/doc/signatures: 2027.txt
Only in snort-2.0.2/doc/signatures: 2028.txt
Only in snort-2.0.2/doc/signatures: 2029.txt
Only in snort-2.0.2/doc/signatures: 2030.txt
Only in snort-2.0.2/doc/signatures: 2031.txt
Only in snort-2.0.2/doc/signatures: 2032.txt
Only in snort-2.0.2/doc/signatures: 2033.txt
Only in snort-2.0.2/doc/signatures: 2034.txt
Only in snort-2.0.2/doc/signatures: 2035.txt
Only in snort-2.0.2/doc/signatures: 2036.txt
Only in snort-2.0.2/doc/signatures: 2037.txt
Only in snort-2.0.2/doc/signatures: 2038.txt
Only in snort-2.0.2/doc/signatures: 2039.txt
Only in snort-2.0.2/doc/signatures: 2040.txt
Only in snort-2.0.2/doc/signatures: 2041.txt
Only in snort-2.0.2/doc/signatures: 2042.txt
Only in snort-2.0.2/doc/signatures: 2043.txt
Only in snort-2.0.2/doc/signatures: 2044.txt
Only in snort-2.0.2/doc/signatures: 2045.txt
Only in snort-2.0.2/doc/signatures: 2046.txt
Only in snort-2.0.2/doc/signatures: 2047.txt
Only in snort-2.0.2/doc/signatures: 2048.txt
Only in snort-2.0.2/doc/signatures: 2049.txt
Only in snort-2.0.2/doc/signatures: 2050.txt
Only in snort-2.0.2/doc/signatures: 2051.txt
Only in snort-2.0.2/doc/signatures: 2052.txt
Only in snort-2.0.2/doc/signatures: 2053.txt
Only in snort-2.0.2/doc/signatures: 2054.txt
Only in snort-2.0.2/doc/signatures: 2055.txt
Only in snort-2.0.2/doc/signatures: 2056.txt
Only in snort-2.0.2/doc/signatures: 2057.txt
Only in snort-2.0.2/doc/signatures: 2058.txt
Only in snort-2.0.2/doc/signatures: 2059.txt
Only in snort-2.0.2/doc/signatures: 2060.txt
Only in snort-2.0.2/doc/signatures: 2061.txt
Only in snort-2.0.2/doc/signatures: 2062.txt
Only in snort-2.0.2/doc/signatures: 2063.txt
Only in snort-2.0.2/doc/signatures: 2064.txt
Only in snort-2.0.2/doc/signatures: 2065.txt
Only in snort-2.0.2/doc/signatures: 2066.txt
Only in snort-2.0.2/doc/signatures: 2067.txt
Only in snort-2.0.2/doc/signatures: 2068.txt
Only in snort-2.0.2/doc/signatures: 2069.txt
Only in snort-2.0.2/doc/signatures: 2070.txt
Only in snort-2.0.2/doc/signatures: 2071.txt
Only in snort-2.0.2/doc/signatures: 2072.txt
Only in snort-2.0.2/doc/signatures: 2073.txt
Only in snort-2.0.2/doc/signatures: 2074.txt
Only in snort-2.0.2/doc/signatures: 2075.txt
Only in snort-2.0.2/doc/signatures: 2076.txt
Only in snort-2.0.2/doc/signatures: 2077.txt
Only in snort-2.0.2/doc/signatures: 2078.txt
Only in snort-2.0.2/doc/signatures: 2079.txt
Only in snort-2.0.2/doc/signatures: 208.txt
Only in snort-2.0.2/doc/signatures: 2080.txt
Only in snort-2.0.2/doc/signatures: 2081.txt
Only in snort-2.0.2/doc/signatures: 2082.txt
Only in snort-2.0.2/doc/signatures: 2083.txt
Only in snort-2.0.2/doc/signatures: 2084.txt
Only in snort-2.0.2/doc/signatures: 2085.txt
Only in snort-2.0.2/doc/signatures: 2086.txt
Only in snort-2.0.2/doc/signatures: 2087.txt
Only in snort-2.0.2/doc/signatures: 2088.txt
Only in snort-2.0.2/doc/signatures: 2089.txt
Only in snort-2.0.2/doc/signatures: 209.txt
Only in snort-2.0.2/doc/signatures: 2090.txt
Only in snort-2.0.2/doc/signatures: 2091.txt
Only in snort-2.0.2/doc/signatures: 2092.txt
Only in snort-2.0.2/doc/signatures: 2093.txt
Only in snort-2.0.2/doc/signatures: 2094.txt
Only in snort-2.0.2/doc/signatures: 2095.txt
Only in snort-2.0.2/doc/signatures: 210.txt
Only in snort-2.0.2/doc/signatures: 2100.txt
Only in snort-2.0.2/doc/signatures: 2101.txt
Only in snort-2.0.2/doc/signatures: 2102.txt
Only in snort-2.0.2/doc/signatures: 2103.txt
Only in snort-2.0.2/doc/signatures: 2104.txt
Only in snort-2.0.2/doc/signatures: 2105.txt
Only in snort-2.0.2/doc/signatures: 2106.txt
Only in snort-2.0.2/doc/signatures: 2107.txt
Only in snort-2.0.2/doc/signatures: 2108.txt
Only in snort-2.0.2/doc/signatures: 2109.txt
Only in snort-2.0.2/doc/signatures: 211.txt
Only in snort-2.0.2/doc/signatures: 2110.txt
Only in snort-2.0.2/doc/signatures: 2111.txt
Only in snort-2.0.2/doc/signatures: 2112.txt
Only in snort-2.0.2/doc/signatures: 2113.txt
Only in snort-2.0.2/doc/signatures: 2114.txt
Only in snort-2.0.2/doc/signatures: 2115.txt
Only in snort-2.0.2/doc/signatures: 2116.txt
Only in snort-2.0.2/doc/signatures: 2117.txt
Only in snort-2.0.2/doc/signatures: 2118.txt
Only in snort-2.0.2/doc/signatures: 2119.txt
Only in snort-2.0.2/doc/signatures: 212.txt
Only in snort-2.0.2/doc/signatures: 2120.txt
Only in snort-2.0.2/doc/signatures: 2121.txt
Only in snort-2.0.2/doc/signatures: 2122.txt
Only in snort-2.0.2/doc/signatures: 2123.txt
Only in snort-2.0.2/doc/signatures: 2124.txt
Only in snort-2.0.2/doc/signatures: 2125.txt
Only in snort-2.0.2/doc/signatures: 2126.txt
Only in snort-2.0.2/doc/signatures: 2127.txt
Only in snort-2.0.2/doc/signatures: 2128.txt
Only in snort-2.0.2/doc/signatures: 2129.txt
Only in snort-2.0.2/doc/signatures: 213.txt
Only in snort-2.0.2/doc/signatures: 2130.txt
Only in snort-2.0.2/doc/signatures: 2131.txt
Only in snort-2.0.2/doc/signatures: 2132.txt
Only in snort-2.0.2/doc/signatures: 2133.txt
Only in snort-2.0.2/doc/signatures: 2134.txt
Only in snort-2.0.2/doc/signatures: 2135.txt
Only in snort-2.0.2/doc/signatures: 2136.txt
Only in snort-2.0.2/doc/signatures: 2137.txt
Only in snort-2.0.2/doc/signatures: 2138.txt
Only in snort-2.0.2/doc/signatures: 2139.txt
Only in snort-2.0.2/doc/signatures: 214.txt
Only in snort-2.0.2/doc/signatures: 2140.txt
Only in snort-2.0.2/doc/signatures: 2141.txt
Only in snort-2.0.2/doc/signatures: 2142.txt
Only in snort-2.0.2/doc/signatures: 2143.txt
Only in snort-2.0.2/doc/signatures: 2144.txt
Only in snort-2.0.2/doc/signatures: 2145.txt
Only in snort-2.0.2/doc/signatures: 2146.txt
Only in snort-2.0.2/doc/signatures: 2147.txt
Only in snort-2.0.2/doc/signatures: 2148.txt
Only in snort-2.0.2/doc/signatures: 2149.txt
Only in snort-2.0.2/doc/signatures: 215.txt
Only in snort-2.0.2/doc/signatures: 2150.txt
Only in snort-2.0.2/doc/signatures: 2151.txt
Only in snort-2.0.2/doc/signatures: 2152.txt
Only in snort-2.0.2/doc/signatures: 2153.txt
Only in snort-2.0.2/doc/signatures: 2154.txt
Only in snort-2.0.2/doc/signatures: 2155.txt
Only in snort-2.0.2/doc/signatures: 2156.txt
Only in snort-2.0.2/doc/signatures: 2157.txt
Only in snort-2.0.2/doc/signatures: 2158.txt
Only in snort-2.0.2/doc/signatures: 2159.txt
Only in snort-2.0.2/doc/signatures: 216.txt
Only in snort-2.0.2/doc/signatures: 2160.txt
Only in snort-2.0.2/doc/signatures: 2161.txt
Only in snort-2.0.2/doc/signatures: 2162.txt
Only in snort-2.0.2/doc/signatures: 2163.txt
Only in snort-2.0.2/doc/signatures: 2164.txt
Only in snort-2.0.2/doc/signatures: 2165.txt
Only in snort-2.0.2/doc/signatures: 2166.txt
Only in snort-2.0.2/doc/signatures: 2167.txt
Only in snort-2.0.2/doc/signatures: 2168.txt
Only in snort-2.0.2/doc/signatures: 2169.txt
Only in snort-2.0.2/doc/signatures: 217.txt
Only in snort-2.0.2/doc/signatures: 2170.txt
Only in snort-2.0.2/doc/signatures: 2171.txt
Only in snort-2.0.2/doc/signatures: 2172.txt
Only in snort-2.0.2/doc/signatures: 2173.txt
Only in snort-2.0.2/doc/signatures: 2174.txt
Only in snort-2.0.2/doc/signatures: 2175.txt
Only in snort-2.0.2/doc/signatures: 2176.txt
Only in snort-2.0.2/doc/signatures: 2177.txt
Only in snort-2.0.2/doc/signatures: 218.txt
Only in snort-2.0.2/doc/signatures: 2180.txt
Only in snort-2.0.2/doc/signatures: 2181.txt
Only in snort-2.0.2/doc/signatures: 2182.txt
Only in snort-2.0.2/doc/signatures: 2183.txt
Only in snort-2.0.2/doc/signatures: 2186.txt
Only in snort-2.0.2/doc/signatures: 2187.txt
Only in snort-2.0.2/doc/signatures: 2188.txt
Only in snort-2.0.2/doc/signatures: 2189.txt
Only in snort-2.0.2/doc/signatures: 219.txt
Only in snort-2.0.2/doc/signatures: 2192.txt
Only in snort-2.0.2/doc/signatures: 2193.txt
Only in snort-2.0.2/doc/signatures: 220.txt
Only in snort-2.0.2/doc/signatures: 221.txt
Only in snort-2.0.2/doc/signatures: 222.txt
Only in snort-2.0.2/doc/signatures: 223.txt
Only in snort-2.0.2/doc/signatures: 224.txt
Only in snort-2.0.2/doc/signatures: 225.txt
Only in snort-2.0.2/doc/signatures: 226.txt
Only in snort-2.0.2/doc/signatures: 227.txt
Only in snort-2.0.2/doc/signatures: 228.txt
Only in snort-2.0.2/doc/signatures: 229.txt
Only in snort-2.0.2/doc/signatures: 230.txt
Only in snort-2.0.2/doc/signatures: 231.txt
Only in snort-2.0.2/doc/signatures: 232.txt
Only in snort-2.0.2/doc/signatures: 233.txt
Only in snort-2.0.2/doc/signatures: 234.txt
Only in snort-2.0.2/doc/signatures: 235.txt
Only in snort-2.0.2/doc/signatures: 236.txt
Only in snort-2.0.2/doc/signatures: 237.txt
Only in snort-2.0.2/doc/signatures: 238.txt
Only in snort-2.0.2/doc/signatures: 239.txt
Only in snort-2.0.2/doc/signatures: 240.txt
Only in snort-2.0.2/doc/signatures: 241.txt
Only in snort-2.0.2/doc/signatures: 243.txt
Only in snort-2.0.2/doc/signatures: 244.txt
Only in snort-2.0.2/doc/signatures: 245.txt
Only in snort-2.0.2/doc/signatures: 246.txt
Only in snort-2.0.2/doc/signatures: 247.txt
Only in snort-2.0.2/doc/signatures: 248.txt
Only in snort-2.0.2/doc/signatures: 249.txt
Only in snort-2.0.2/doc/signatures: 250.txt
Only in snort-2.0.2/doc/signatures: 251.txt
Only in snort-2.0.2/doc/signatures: 252.txt
Only in snort-2.0.2/doc/signatures: 253.txt
Only in snort-2.0.2/doc/signatures: 254.txt
Only in snort-2.0.2/doc/signatures: 255.txt
Only in snort-2.0.2/doc/signatures: 256.txt
Only in snort-2.0.2/doc/signatures: 257.txt
Only in snort-2.0.2/doc/signatures: 258.txt
Only in snort-2.0.2/doc/signatures: 259.txt
Only in snort-2.0.2/doc/signatures: 260.txt
Only in snort-2.0.2/doc/signatures: 261.txt
Only in snort-2.0.2/doc/signatures: 262.txt
Only in snort-2.0.2/doc/signatures: 264.txt
Only in snort-2.0.2/doc/signatures: 265.txt
Only in snort-2.0.2/doc/signatures: 266.txt
Only in snort-2.0.2/doc/signatures: 267.txt
Only in snort-2.0.2/doc/signatures: 268.txt
Only in snort-2.0.2/doc/signatures: 269.txt
Only in snort-2.0.2/doc/signatures: 270.txt
Only in snort-2.0.2/doc/signatures: 271.txt
Only in snort-2.0.2/doc/signatures: 272.txt
Only in snort-2.0.2/doc/signatures: 273.txt
Only in snort-2.0.2/doc/signatures: 274.txt
Only in snort-2.0.2/doc/signatures: 275.txt
Only in snort-2.0.2/doc/signatures: 276.txt
Only in snort-2.0.2/doc/signatures: 277.txt
Only in snort-2.0.2/doc/signatures: 278.txt
Only in snort-2.0.2/doc/signatures: 279.txt
Only in snort-2.0.2/doc/signatures: 281.txt
Only in snort-2.0.2/doc/signatures: 282.txt
Only in snort-2.0.2/doc/signatures: 283.txt
Only in snort-2.0.2/doc/signatures: 284.txt
Only in snort-2.0.2/doc/signatures: 285.txt
Only in snort-2.0.2/doc/signatures: 286.txt
Only in snort-2.0.2/doc/signatures: 287.txt
Only in snort-2.0.2/doc/signatures: 288.txt
Only in snort-2.0.2/doc/signatures: 289.txt
Only in snort-2.0.2/doc/signatures: 290.txt
Only in snort-2.0.2/doc/signatures: 291.txt
Only in snort-2.0.2/doc/signatures: 292.txt
Only in snort-2.0.2/doc/signatures: 300.txt
Only in snort-2.0.2/doc/signatures: 301.txt
Only in snort-2.0.2/doc/signatures: 302.txt
Only in snort-2.0.2/doc/signatures: 303.txt
Only in snort-2.0.2/doc/signatures: 304.txt
Only in snort-2.0.2/doc/signatures: 305.txt
Only in snort-2.0.2/doc/signatures: 306.txt
Only in snort-2.0.2/doc/signatures: 307.txt
Only in snort-2.0.2/doc/signatures: 308.txt
Only in snort-2.0.2/doc/signatures: 309.txt
Only in snort-2.0.2/doc/signatures: 310.txt
Only in snort-2.0.2/doc/signatures: 311.txt
Only in snort-2.0.2/doc/signatures: 312.txt
Only in snort-2.0.2/doc/signatures: 313.txt
Only in snort-2.0.2/doc/signatures: 314.txt
Only in snort-2.0.2/doc/signatures: 315.txt
Only in snort-2.0.2/doc/signatures: 316.txt
Only in snort-2.0.2/doc/signatures: 317.txt
Only in snort-2.0.2/doc/signatures: 320.txt
Only in snort-2.0.2/doc/signatures: 321.txt
Only in snort-2.0.2/doc/signatures: 322.txt
Only in snort-2.0.2/doc/signatures: 323.txt
Only in snort-2.0.2/doc/signatures: 324.txt
Only in snort-2.0.2/doc/signatures: 325.txt
Only in snort-2.0.2/doc/signatures: 326.txt
Only in snort-2.0.2/doc/signatures: 327.txt
Only in snort-2.0.2/doc/signatures: 328.txt
Only in snort-2.0.2/doc/signatures: 329.txt
Only in snort-2.0.2/doc/signatures: 330.txt
Only in snort-2.0.2/doc/signatures: 331.txt
Only in snort-2.0.2/doc/signatures: 332.txt
Only in snort-2.0.2/doc/signatures: 333.txt
Only in snort-2.0.2/doc/signatures: 334.txt
Only in snort-2.0.2/doc/signatures: 335.txt
Only in snort-2.0.2/doc/signatures: 336.txt
Only in snort-2.0.2/doc/signatures: 337.txt
Only in snort-2.0.2/doc/signatures: 339.txt
Only in snort-2.0.2/doc/signatures: 344.txt
Only in snort-2.0.2/doc/signatures: 353.txt
Only in snort-2.0.2/doc/signatures: 354.txt
Only in snort-2.0.2/doc/signatures: 355.txt
Only in snort-2.0.2/doc/signatures: 356.txt
Only in snort-2.0.2/doc/signatures: 357.txt
Only in snort-2.0.2/doc/signatures: 358.txt
Only in snort-2.0.2/doc/signatures: 359.txt
Only in snort-2.0.2/doc/signatures: 360.txt
Only in snort-2.0.2/doc/signatures: 361.txt
Only in snort-2.0.2/doc/signatures: 362.txt
Only in snort-2.0.2/doc/signatures: 363.txt
Only in snort-2.0.2/doc/signatures: 364.txt
Only in snort-2.0.2/doc/signatures: 365.txt
Only in snort-2.0.2/doc/signatures: 366.txt
Only in snort-2.0.2/doc/signatures: 368.txt
Only in snort-2.0.2/doc/signatures: 369.txt
Only in snort-2.0.2/doc/signatures: 370.txt
Only in snort-2.0.2/doc/signatures: 371.txt
Only in snort-2.0.2/doc/signatures: 372.txt
Only in snort-2.0.2/doc/signatures: 373.txt
Only in snort-2.0.2/doc/signatures: 374.txt
Only in snort-2.0.2/doc/signatures: 375.txt
Only in snort-2.0.2/doc/signatures: 376.txt
Only in snort-2.0.2/doc/signatures: 377.txt
Only in snort-2.0.2/doc/signatures: 378.txt
Only in snort-2.0.2/doc/signatures: 379.txt
Only in snort-2.0.2/doc/signatures: 380.txt
Only in snort-2.0.2/doc/signatures: 381.txt
Only in snort-2.0.2/doc/signatures: 382.txt
Only in snort-2.0.2/doc/signatures: 384.txt
Only in snort-2.0.2/doc/signatures: 385.txt
Only in snort-2.0.2/doc/signatures: 386.txt
Only in snort-2.0.2/doc/signatures: 387.txt
Only in snort-2.0.2/doc/signatures: 388.txt
Only in snort-2.0.2/doc/signatures: 389.txt
Only in snort-2.0.2/doc/signatures: 390.txt
Only in snort-2.0.2/doc/signatures: 391.txt
Only in snort-2.0.2/doc/signatures: 392.txt
Only in snort-2.0.2/doc/signatures: 393.txt
Only in snort-2.0.2/doc/signatures: 394.txt
Only in snort-2.0.2/doc/signatures: 395.txt
Only in snort-2.0.2/doc/signatures: 396.txt
Only in snort-2.0.2/doc/signatures: 397.txt
Only in snort-2.0.2/doc/signatures: 398.txt
Only in snort-2.0.2/doc/signatures: 399.txt
Only in snort-2.0.2/doc/signatures: 400.txt
Only in snort-2.0.2/doc/signatures: 401.txt
Only in snort-2.0.2/doc/signatures: 402.txt
Only in snort-2.0.2/doc/signatures: 403.txt
Only in snort-2.0.2/doc/signatures: 404.txt
Only in snort-2.0.2/doc/signatures: 405.txt
Only in snort-2.0.2/doc/signatures: 406.txt
Only in snort-2.0.2/doc/signatures: 407.txt
Only in snort-2.0.2/doc/signatures: 408.txt
Only in snort-2.0.2/doc/signatures: 409.txt
Only in snort-2.0.2/doc/signatures: 410.txt
Only in snort-2.0.2/doc/signatures: 411.txt
Only in snort-2.0.2/doc/signatures: 412.txt
Only in snort-2.0.2/doc/signatures: 413.txt
Only in snort-2.0.2/doc/signatures: 414.txt
Only in snort-2.0.2/doc/signatures: 415.txt
Only in snort-2.0.2/doc/signatures: 416.txt
Only in snort-2.0.2/doc/signatures: 417.txt
Only in snort-2.0.2/doc/signatures: 418.txt
Only in snort-2.0.2/doc/signatures: 419.txt
Only in snort-2.0.2/doc/signatures: 420.txt
Only in snort-2.0.2/doc/signatures: 421.txt
Only in snort-2.0.2/doc/signatures: 422.txt
Only in snort-2.0.2/doc/signatures: 423.txt
Only in snort-2.0.2/doc/signatures: 424.txt
Only in snort-2.0.2/doc/signatures: 425.txt
Only in snort-2.0.2/doc/signatures: 426.txt
Only in snort-2.0.2/doc/signatures: 427.txt
Only in snort-2.0.2/doc/signatures: 428.txt
Only in snort-2.0.2/doc/signatures: 429.txt
Only in snort-2.0.2/doc/signatures: 430.txt
Only in snort-2.0.2/doc/signatures: 431.txt
Only in snort-2.0.2/doc/signatures: 432.txt
Only in snort-2.0.2/doc/signatures: 433.txt
Only in snort-2.0.2/doc/signatures: 436.txt
Only in snort-2.0.2/doc/signatures: 437.txt
Only in snort-2.0.2/doc/signatures: 438.txt
Only in snort-2.0.2/doc/signatures: 439.txt
Only in snort-2.0.2/doc/signatures: 440.txt
Only in snort-2.0.2/doc/signatures: 441.txt
Only in snort-2.0.2/doc/signatures: 443.txt
Only in snort-2.0.2/doc/signatures: 451.txt
Only in snort-2.0.2/doc/signatures: 452.txt
Only in snort-2.0.2/doc/signatures: 453.txt
Only in snort-2.0.2/doc/signatures: 454.txt
Only in snort-2.0.2/doc/signatures: 456.txt
Only in snort-2.0.2/doc/signatures: 457.txt
Only in snort-2.0.2/doc/signatures: 458.txt
Only in snort-2.0.2/doc/signatures: 459.txt
Only in snort-2.0.2/doc/signatures: 460.txt
Only in snort-2.0.2/doc/signatures: 461.txt
Only in snort-2.0.2/doc/signatures: 462.txt
Only in snort-2.0.2/doc/signatures: 463.txt
Only in snort-2.0.2/doc/signatures: 465.txt
Only in snort-2.0.2/doc/signatures: 466.txt
Only in snort-2.0.2/doc/signatures: 467.txt
Only in snort-2.0.2/doc/signatures: 469.txt
Only in snort-2.0.2/doc/signatures: 471.txt
Only in snort-2.0.2/doc/signatures: 472.txt
Only in snort-2.0.2/doc/signatures: 473.txt
Only in snort-2.0.2/doc/signatures: 474.txt
Only in snort-2.0.2/doc/signatures: 475.txt
Only in snort-2.0.2/doc/signatures: 476.txt
Only in snort-2.0.2/doc/signatures: 477.txt
Only in snort-2.0.2/doc/signatures: 478.txt
Only in snort-2.0.2/doc/signatures: 480.txt
Only in snort-2.0.2/doc/signatures: 481.txt
Only in snort-2.0.2/doc/signatures: 482.txt
Only in snort-2.0.2/doc/signatures: 483.txt
Only in snort-2.0.2/doc/signatures: 484.txt
Only in snort-2.0.2/doc/signatures: 485.txt
Only in snort-2.0.2/doc/signatures: 486.txt
Only in snort-2.0.2/doc/signatures: 487.txt
Only in snort-2.0.2/doc/signatures: 489.txt
Only in snort-2.0.2/doc/signatures: 491.txt
Only in snort-2.0.2/doc/signatures: 492.txt
Only in snort-2.0.2/doc/signatures: 493.txt
Only in snort-2.0.2/doc/signatures: 494.txt
Only in snort-2.0.2/doc/signatures: 495.txt
Only in snort-2.0.2/doc/signatures: 496.txt
Only in snort-2.0.2/doc/signatures: 497.txt
Only in snort-2.0.2/doc/signatures: 498.txt
Only in snort-2.0.2/doc/signatures: 499.txt
Only in snort-2.0.2/doc/signatures: 500.txt
Only in snort-2.0.2/doc/signatures: 502.txt
Only in snort-2.0.2/doc/signatures: 503.txt
Only in snort-2.0.2/doc/signatures: 504.txt
Only in snort-2.0.2/doc/signatures: 505.txt
Only in snort-2.0.2/doc/signatures: 506.txt
Only in snort-2.0.2/doc/signatures: 507.txt
Only in snort-2.0.2/doc/signatures: 510.txt
Only in snort-2.0.2/doc/signatures: 511.txt
Only in snort-2.0.2/doc/signatures: 512.txt
Only in snort-2.0.2/doc/signatures: 514.txt
Only in snort-2.0.2/doc/signatures: 517.txt
Only in snort-2.0.2/doc/signatures: 518.txt
Only in snort-2.0.2/doc/signatures: 519.txt
Only in snort-2.0.2/doc/signatures: 520.txt
Only in snort-2.0.2/doc/signatures: 522.txt
Only in snort-2.0.2/doc/signatures: 523.txt
Only in snort-2.0.2/doc/signatures: 524.txt
Only in snort-2.0.2/doc/signatures: 525.txt
Only in snort-2.0.2/doc/signatures: 526.txt
Only in snort-2.0.2/doc/signatures: 527.txt
Only in snort-2.0.2/doc/signatures: 528.txt
Only in snort-2.0.2/doc/signatures: 530.txt
Only in snort-2.0.2/doc/signatures: 532.txt
Only in snort-2.0.2/doc/signatures: 533.txt
Only in snort-2.0.2/doc/signatures: 540.txt
Only in snort-2.0.2/doc/signatures: 541.txt
Only in snort-2.0.2/doc/signatures: 542.txt
Only in snort-2.0.2/doc/signatures: 543.txt
Only in snort-2.0.2/doc/signatures: 544.txt
Only in snort-2.0.2/doc/signatures: 545.txt
Only in snort-2.0.2/doc/signatures: 546.txt
Only in snort-2.0.2/doc/signatures: 547.txt
Only in snort-2.0.2/doc/signatures: 548.txt
Only in snort-2.0.2/doc/signatures: 549.txt
Only in snort-2.0.2/doc/signatures: 550.txt
Only in snort-2.0.2/doc/signatures: 551.txt
Only in snort-2.0.2/doc/signatures: 552.txt
Only in snort-2.0.2/doc/signatures: 553.txt
Only in snort-2.0.2/doc/signatures: 554.txt
Only in snort-2.0.2/doc/signatures: 555.txt
Only in snort-2.0.2/doc/signatures: 567.txt
Only in snort-2.0.2/doc/signatures: 568.txt
Only in snort-2.0.2/doc/signatures: 574.txt
Only in snort-2.0.2/doc/signatures: 575.txt
Only in snort-2.0.2/doc/signatures: 576.txt
Only in snort-2.0.2/doc/signatures: 577.txt
Only in snort-2.0.2/doc/signatures: 578.txt
Only in snort-2.0.2/doc/signatures: 579.txt
Only in snort-2.0.2/doc/signatures: 580.txt
Only in snort-2.0.2/doc/signatures: 581.txt
Only in snort-2.0.2/doc/signatures: 582.txt
Only in snort-2.0.2/doc/signatures: 583.txt
Only in snort-2.0.2/doc/signatures: 584.txt
Only in snort-2.0.2/doc/signatures: 585.txt
Only in snort-2.0.2/doc/signatures: 586.txt
Only in snort-2.0.2/doc/signatures: 587.txt
Only in snort-2.0.2/doc/signatures: 589.txt
Only in snort-2.0.2/doc/signatures: 590.txt
Only in snort-2.0.2/doc/signatures: 591.txt
Only in snort-2.0.2/doc/signatures: 593.txt
Only in snort-2.0.2/doc/signatures: 595.txt
Only in snort-2.0.2/doc/signatures: 598.txt
Only in snort-2.0.2/doc/signatures: 599.txt
Only in snort-2.0.2/doc/signatures: 602.txt
Only in snort-2.0.2/doc/signatures: 603.txt
Only in snort-2.0.2/doc/signatures: 604.txt
Only in snort-2.0.2/doc/signatures: 605.txt
Only in snort-2.0.2/doc/signatures: 606.txt
Only in snort-2.0.2/doc/signatures: 607.txt
Only in snort-2.0.2/doc/signatures: 608.txt
Only in snort-2.0.2/doc/signatures: 609.txt
Only in snort-2.0.2/doc/signatures: 610.txt
Only in snort-2.0.2/doc/signatures: 611.txt
Only in snort-2.0.2/doc/signatures: 614.txt
Only in snort-2.0.2/doc/signatures: 618.txt
Only in snort-2.0.2/doc/signatures: 620.txt
Only in snort-2.0.2/doc/signatures: 621.txt
Only in snort-2.0.2/doc/signatures: 623.txt
Only in snort-2.0.2/doc/signatures: 624.txt
Only in snort-2.0.2/doc/signatures: 625.txt
Only in snort-2.0.2/doc/signatures: 626.txt
Only in snort-2.0.2/doc/signatures: 627.txt
Only in snort-2.0.2/doc/signatures: 629.txt
Only in snort-2.0.2/doc/signatures: 630.txt
Only in snort-2.0.2/doc/signatures: 631.txt
Only in snort-2.0.2/doc/signatures: 632.txt
Only in snort-2.0.2/doc/signatures: 634.txt
Only in snort-2.0.2/doc/signatures: 638.txt
Only in snort-2.0.2/doc/signatures: 639.txt
Only in snort-2.0.2/doc/signatures: 640.txt
Only in snort-2.0.2/doc/signatures: 641.txt
Only in snort-2.0.2/doc/signatures: 642.txt
Only in snort-2.0.2/doc/signatures: 643.txt
Only in snort-2.0.2/doc/signatures: 644.txt
Only in snort-2.0.2/doc/signatures: 645.txt
Only in snort-2.0.2/doc/signatures: 646.txt
Only in snort-2.0.2/doc/signatures: 648.txt
Only in snort-2.0.2/doc/signatures: 649.txt
Only in snort-2.0.2/doc/signatures: 650.txt
Only in snort-2.0.2/doc/signatures: 651.txt
Only in snort-2.0.2/doc/signatures: 654.txt
Only in snort-2.0.2/doc/signatures: 655.txt
Only in snort-2.0.2/doc/signatures: 657.txt
Only in snort-2.0.2/doc/signatures: 658.txt
Only in snort-2.0.2/doc/signatures: 659.txt
Only in snort-2.0.2/doc/signatures: 660.txt
Only in snort-2.0.2/doc/signatures: 661.txt
Only in snort-2.0.2/doc/signatures: 662.txt
Only in snort-2.0.2/doc/signatures: 663.txt
Only in snort-2.0.2/doc/signatures: 664.txt
Only in snort-2.0.2/doc/signatures: 665.txt
Only in snort-2.0.2/doc/signatures: 667.txt
Only in snort-2.0.2/doc/signatures: 668.txt
Only in snort-2.0.2/doc/signatures: 669.txt
Only in snort-2.0.2/doc/signatures: 670.txt
Only in snort-2.0.2/doc/signatures: 671.txt
Only in snort-2.0.2/doc/signatures: 672.txt
Only in snort-2.0.2/doc/signatures: 673.txt
Only in snort-2.0.2/doc/signatures: 676.txt
Only in snort-2.0.2/doc/signatures: 677.txt
Only in snort-2.0.2/doc/signatures: 678.txt
Only in snort-2.0.2/doc/signatures: 679.txt
Only in snort-2.0.2/doc/signatures: 680.txt
Only in snort-2.0.2/doc/signatures: 681.txt
Only in snort-2.0.2/doc/signatures: 682.txt
Only in snort-2.0.2/doc/signatures: 683.txt
Only in snort-2.0.2/doc/signatures: 684.txt
Only in snort-2.0.2/doc/signatures: 685.txt
Only in snort-2.0.2/doc/signatures: 686.txt
Only in snort-2.0.2/doc/signatures: 687.txt
Only in snort-2.0.2/doc/signatures: 688.txt
Only in snort-2.0.2/doc/signatures: 689.txt
Only in snort-2.0.2/doc/signatures: 691.txt
Only in snort-2.0.2/doc/signatures: 692.txt
Only in snort-2.0.2/doc/signatures: 693.txt
Only in snort-2.0.2/doc/signatures: 694.txt
Only in snort-2.0.2/doc/signatures: 706.txt
Only in snort-2.0.2/doc/signatures: 708.txt
Only in snort-2.0.2/doc/signatures: 711.txt
Only in snort-2.0.2/doc/signatures: 715.txt
Only in snort-2.0.2/doc/signatures: 716.txt
Only in snort-2.0.2/doc/signatures: 717.txt
Only in snort-2.0.2/doc/signatures: 718.txt
Only in snort-2.0.2/doc/signatures: 719.txt
Only in snort-2.0.2/doc/signatures: 720.txt
Only in snort-2.0.2/doc/signatures: 724.txt
Only in snort-2.0.2/doc/signatures: 725.txt
Only in snort-2.0.2/doc/signatures: 726.txt
Only in snort-2.0.2/doc/signatures: 727.txt
Only in snort-2.0.2/doc/signatures: 728.txt
Only in snort-2.0.2/doc/signatures: 731.txt
Only in snort-2.0.2/doc/signatures: 733.txt
Only in snort-2.0.2/doc/signatures: 734.txt
Only in snort-2.0.2/doc/signatures: 735.txt
Only in snort-2.0.2/doc/signatures: 772.txt
Only in snort-2.0.2/doc/signatures: 775.txt
Only in snort-2.0.2/doc/signatures: 793.txt
Only in snort-2.0.2/doc/signatures: 795.txt
Only in snort-2.0.2/doc/signatures: 796.txt
Only in snort-2.0.2/doc/signatures: 797.txt
Only in snort-2.0.2/doc/signatures: 798.txt
Only in snort-2.0.2/doc/signatures: 801.txt
Only in snort-2.0.2/doc/signatures: 803.txt
Only in snort-2.0.2/doc/signatures: 804.txt
Only in snort-2.0.2/doc/signatures: 805.txt
Only in snort-2.0.2/doc/signatures: 806.txt
Only in snort-2.0.2/doc/signatures: 807.txt
Only in snort-2.0.2/doc/signatures: 824.txt
Only in snort-2.0.2/doc/signatures: 835.txt
Only in snort-2.0.2/doc/signatures: 882.txt
Only in snort-2.0.2/doc/signatures: 894.txt
Only in snort-2.0.2/doc/signatures: 904.txt
Only in snort-2.0.2/doc/signatures: 905.txt
Only in snort-2.0.2/doc/signatures: 906.txt
Only in snort-2.0.2/doc/signatures: 907.txt
Only in snort-2.0.2/doc/signatures: 908.txt
Only in snort-2.0.2/doc/signatures: 939.txt
Only in snort-2.0.2/doc/signatures: 948.txt
Only in snort-2.0.2/doc/signatures: 951.txt
Only in snort-2.0.2/doc/signatures: 952.txt
Only in snort-2.0.2/doc/signatures: 953.txt
Only in snort-2.0.2/doc/signatures: 958.txt
Only in snort-2.0.2/doc/signatures: 967.txt
Only in snort-2.0.2/doc/signatures: 969.txt
Only in snort-2.0.2/doc/signatures: 970.txt
Only in snort-2.0.2/doc/signatures: 971.txt
Only in snort-2.0.2/doc/signatures: 972.txt
Only in snort-2.0.2/doc/signatures: 973.txt
Only in snort-2.0.2/doc/signatures: 974.txt
Only in snort-2.0.2/doc/signatures: 975.txt
Only in snort-2.0.2/doc/signatures: 976.txt
Only in snort-2.0.2/doc/signatures: 977.txt
Only in snort-2.0.2/doc/signatures: 978.txt
Only in snort-2.0.2/doc/signatures: 979.txt
Only in snort-2.0.2/doc/signatures: 980.txt
Only in snort-2.0.2/doc/signatures: 981.txt
Only in snort-2.0.2/doc/signatures: 982.txt
Only in snort-2.0.2/doc/signatures: 983.txt
Only in snort-2.0.2/doc/signatures: 986.txt
Only in snort-2.0.2/doc/signatures: 987.txt
Only in snort-2.0.2/doc/signatures: 988.txt
Only in snort-2.0.2/doc/signatures: 989.txt
Only in snort-2.0.2/doc/signatures: 990.txt
Only in snort-2.0.2/doc/signatures: 991.txt
Only in snort-2.0.2/doc/signatures: 992.txt
Only in snort-2.0.2/doc/signatures: 993.txt
Only in snort-2.0.2/doc/signatures: 994.txt
Only in snort-2.0.2/doc/signatures: 995.txt
Only in snort-2.0.2/doc/signatures: 996.txt
Only in snort-2.0.2/doc/signatures: 997.txt
Only in snort-2.0.2/doc/signatures: 998.txt
Only in snort-2.0.2/doc/signatures: 999.txt
Only in snort-2.0.2/doc/signatures: snort-sid-template.txt
Only in snort-2.0.2-ipv6/doc: snort-sid-template.txt
diff -ur snort-2.0.2/etc/Makefile.am snort-2.0.2-ipv6/etc/Makefile.am
--- snort-2.0.2/etc/Makefile.am	Tue Apr 15 04:33:49 2003
+++ snort-2.0.2-ipv6/etc/Makefile.am	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.6 2003/04/14 19:33:49 chrisgreen Exp $
+## $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 EXTRA_DIST = sid sid-msg.map snort.conf classification.config gen-msg.map \
diff -ur snort-2.0.2/etc/Makefile.in snort-2.0.2-ipv6/etc/Makefile.in
--- snort-2.0.2/etc/Makefile.in	Thu Sep 11 05:27:43 2003
+++ snort-2.0.2-ipv6/etc/Makefile.in	Thu Nov 13 19:26:36 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,24 +57,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 EXTRA_DIST = sid sid-msg.map snort.conf classification.config gen-msg.map \
@@ -89,7 +83,6 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 DIST_COMMON = Makefile.am Makefile.in
 all: all-am
@@ -99,31 +92,29 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  etc/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -147,7 +138,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -155,7 +145,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/etc/classification.config snort-2.0.2-ipv6/etc/classification.config
--- snort-2.0.2/etc/classification.config	Mon Aug 12 08:37:18 2002
+++ snort-2.0.2-ipv6/etc/classification.config	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-# $Id: classification.config,v 1.10 2002/08/11 23:37:18 cazz Exp $
+# $Id: classification.config,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # The following includes information for prioritizing rules
 # 
 # Each classification includes a shortname, a description, and a default
diff -ur snort-2.0.2/etc/gen-msg.map snort-2.0.2-ipv6/etc/gen-msg.map
--- snort-2.0.2/etc/gen-msg.map	Thu Jun  5 23:26:46 2003
+++ snort-2.0.2-ipv6/etc/gen-msg.map	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-# $Id: gen-msg.map,v 1.12 2003/06/05 14:26:46 chrisgreen Exp $
+# $Id: gen-msg.map,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # GENERATORS -> msg map
 # Format: generatorid || alertid || MSG
 
diff -ur snort-2.0.2/etc/reference.config snort-2.0.2-ipv6/etc/reference.config
--- snort-2.0.2/etc/reference.config	Wed Aug 28 23:19:15 2002
+++ snort-2.0.2-ipv6/etc/reference.config	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-# $Id: reference.config,v 1.3 2002/08/28 14:19:15 chrisgreen Exp $
+# $Id: reference.config,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # The following defines URLs for the references found in the rules
 #
 # config reference: system URL
diff -ur snort-2.0.2/etc/sid snort-2.0.2-ipv6/etc/sid
--- snort-2.0.2/etc/sid	Mon Aug  4 23:32:46 2003
+++ snort-2.0.2-ipv6/etc/sid	Tue Sep 30 13:25:28 2003
@@ -1,2 +1,2 @@
-# $Id: sid,v 1.114 2003/07/29 16:03:05 cazz Exp $
+# $Id: sid,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 2193
diff -ur snort-2.0.2/etc/sid-msg.map snort-2.0.2-ipv6/etc/sid-msg.map
--- snort-2.0.2/etc/sid-msg.map	Mon Aug  4 23:32:46 2003
+++ snort-2.0.2-ipv6/etc/sid-msg.map	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-# $Id: sid-msg.map,v 1.132 2003/07/29 16:03:05 cazz Exp $
+# $Id: sid-msg.map,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # Format: SID || MSG || Optional References || Optional References ...
 # SID -> MSG map
 
diff -ur snort-2.0.2/etc/snort.conf snort-2.0.2-ipv6/etc/snort.conf
--- snort-2.0.2/etc/snort.conf	Tue Jul  1 23:32:16 2003
+++ snort-2.0.2-ipv6/etc/snort.conf	Thu Dec  4 16:17:35 2003
@@ -2,7 +2,7 @@
 #   http://www.snort.org     Snort 2.0.0 Ruleset
 #     Contact: snort-sigs@lists.sourceforge.net
 #--------------------------------------------------
-# $Id: snort.conf,v 1.124 2003/05/16 02:52:41 cazz Exp $
+# $Id: snort.conf,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #
 ###################################################
 # This file contains a sample snort configuration. 
@@ -171,7 +171,7 @@
 #   1       Oversized fragment (reassembled frag > 64k bytes)
 #   2       Teardrop-type attack
 
-preprocessor frag2
+#preprocessor frag2
 
 # stream4: stateful inspection/stream reassembly for Snort
 #----------------------------------------------------------------------
@@ -232,7 +232,7 @@
 #   13      Stealth scan: SYN-FIN scan
 #   14      TCP forward overlap
 
-preprocessor stream4: detect_scans, disable_evasion_alerts
+# preprocessor stream4: detect_scans, disable_evasion_alerts
 
 # tcp stream reassembly directive
 # no arguments loads the default configuration 
@@ -250,7 +250,7 @@
 #                  on reassembly for ports 21, 23, 25, 53, 80, 143, 110, 111
 #                  and 513
 
-preprocessor stream4_reassemble
+# preprocessor stream4_reassemble
 
 # http_decode: normalize HTTP requests
 # ------------------------------------
@@ -381,7 +381,8 @@
 # alert_odd_protocols
 #      alert on protocols not listed in allowed_ip_protocols
 #
-# preprocessor conversation: allowed_ip_protocols all, timeout 60, max_conversations 3000
+#preprocessor conversation: allowed_ip_protocols all, timeout 60, max_conversations 3000
+preprocessor conversation: 
 #
 # Portscan2
 #-------------------------------------------
@@ -396,7 +397,7 @@
 #       timeout [num]
 #       log [logdir]
 #
-#preprocessor portscan2: scanners_max 256, targets_max 1024, target_limit 5, port_limit 20, timeout 60
+preprocessor portscan2: scanners_max 256, targets_max 1024, target_limit 5, port_limit 20, timeout 60
 
 # Too many false alerts from portscan2? Tone it down with
 # portscan2-ignorehosts!
diff -ur snort-2.0.2/mkinstalldirs snort-2.0.2-ipv6/mkinstalldirs
--- snort-2.0.2/mkinstalldirs	Wed May 28 05:09:48 2003
+++ snort-2.0.2-ipv6/mkinstalldirs	Tue Sep 30 13:25:25 2003
@@ -4,7 +4,7 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Id: mkinstalldirs,v 1.1.1.1 2000/08/07 02:41:49 roesch Exp $
+# $Id: mkinstalldirs,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 
 errstatus=0
 
diff -ur snort-2.0.2/rules/Makefile.am snort-2.0.2-ipv6/rules/Makefile.am
--- snort-2.0.2/rules/Makefile.am	Mon Mar 31 22:44:43 2003
+++ snort-2.0.2-ipv6/rules/Makefile.am	Fri Nov 28 11:10:58 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.5 2003/03/31 13:44:43 chrisgreen Exp $
+## $Id: Makefile.am,v 1.2 2003/11/28 02:10:58 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 EXTRA_DIST = attack-responses.rules backdoor.rules bad-traffic.rules \
@@ -9,4 +9,5 @@
 porn.rules rpc.rules rservices.rules scan.rules shellcode.rules smtp.rules \
 snmp.rules sql.rules telnet.rules tftp.rules virus.rules web-attacks.rules \
 web-cgi.rules web-client.rules web-coldfusion.rules web-frontpage.rules \
-web-iis.rules web-misc.rules web-php.rules x11.rules pop2.rules
+web-iis.rules web-misc.rules web-php.rules x11.rules pop2.rules \
+icmp6-info.rules
diff -ur snort-2.0.2/rules/Makefile.in snort-2.0.2-ipv6/rules/Makefile.in
--- snort-2.0.2/rules/Makefile.in	Thu Sep 11 05:27:44 2003
+++ snort-2.0.2-ipv6/rules/Makefile.in	Fri Nov 28 11:15:10 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,24 +57,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 EXTRA_DIST = attack-responses.rules backdoor.rules bad-traffic.rules \
@@ -89,14 +83,14 @@
 porn.rules rpc.rules rservices.rules scan.rules shellcode.rules smtp.rules \
 snmp.rules sql.rules telnet.rules tftp.rules virus.rules web-attacks.rules \
 web-cgi.rules web-client.rules web-coldfusion.rules web-frontpage.rules \
-web-iis.rules web-misc.rules web-php.rules x11.rules pop2.rules
+web-iis.rules web-misc.rules web-php.rules x11.rules pop2.rules \
+icmp6-info.rules
 
 subdir = rules
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 DIST_COMMON = Makefile.am Makefile.in
 all: all-am
@@ -106,31 +100,29 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  rules/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -154,7 +146,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -162,7 +153,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/rules/attack-responses.rules snort-2.0.2-ipv6/rules/attack-responses.rules
--- snort-2.0.2/rules/attack-responses.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/attack-responses.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: attack-responses.rules,v 1.23 2003/06/13 18:24:57 cazz Exp $
+# $Id: attack-responses.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ----------------
 # ATTACK RESPONSES
 # ----------------
diff -ur snort-2.0.2/rules/backdoor.rules snort-2.0.2-ipv6/rules/backdoor.rules
--- snort-2.0.2/rules/backdoor.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/backdoor.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: backdoor.rules,v 1.32 2003/06/13 18:24:58 cazz Exp $
+# $Id: backdoor.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #---------------
 # BACKDOOR RULES
 #---------------
diff -ur snort-2.0.2/rules/bad-traffic.rules snort-2.0.2-ipv6/rules/bad-traffic.rules
--- snort-2.0.2/rules/bad-traffic.rules	Tue Jul 22 22:23:54 2003
+++ snort-2.0.2-ipv6/rules/bad-traffic.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: bad-traffic.rules,v 1.22 2003/07/18 15:19:16 cazz Exp $
+# $Id: bad-traffic.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #------------------
 # BAD TRAFFIC RULES
 #------------------
diff -ur snort-2.0.2/rules/chat.rules snort-2.0.2-ipv6/rules/chat.rules
--- snort-2.0.2/rules/chat.rules	Thu Apr 17 09:35:46 2003
+++ snort-2.0.2-ipv6/rules/chat.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: chat.rules,v 1.17 2003/04/17 00:35:46 cazz Exp $
+# $Id: chat.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # CHAT RULES
 #-------------
diff -ur snort-2.0.2/rules/ddos.rules snort-2.0.2-ipv6/rules/ddos.rules
--- snort-2.0.2/rules/ddos.rules	Thu Apr 17 09:35:46 2003
+++ snort-2.0.2-ipv6/rules/ddos.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: ddos.rules,v 1.14 2003/04/17 00:35:46 cazz Exp $
+# $Id: ddos.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # DDOS RULES
 #-----------
diff -ur snort-2.0.2/rules/deleted.rules snort-2.0.2-ipv6/rules/deleted.rules
--- snort-2.0.2/rules/deleted.rules	Tue Jun 10 05:55:37 2003
+++ snort-2.0.2-ipv6/rules/deleted.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: deleted.rules,v 1.25 2003/06/09 13:25:32 cazz Exp $
+# $Id: deleted.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # DELETED RULES
 #-------------
diff -ur snort-2.0.2/rules/dns.rules snort-2.0.2-ipv6/rules/dns.rules
--- snort-2.0.2/rules/dns.rules	Thu May 15 03:07:56 2003
+++ snort-2.0.2-ipv6/rules/dns.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: dns.rules,v 1.29 2003/05/14 18:07:56 cazz Exp $
+# $Id: dns.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # DNS RULES
 #----------
diff -ur snort-2.0.2/rules/dos.rules snort-2.0.2-ipv6/rules/dos.rules
--- snort-2.0.2/rules/dos.rules	Thu May 15 03:07:56 2003
+++ snort-2.0.2-ipv6/rules/dos.rules	Tue Sep 30 13:25:28 2003
@@ -1,5 +1,5 @@
 # (C) Copyright 2001, Martin Roesch, Brian Caswell, et al.  All rights reserved.
-# $Id: dos.rules,v 1.29 2003/05/14 18:07:56 cazz Exp $
+# $Id: dos.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # DOS RULES
 #----------
diff -ur snort-2.0.2/rules/experimental.rules snort-2.0.2-ipv6/rules/experimental.rules
--- snort-2.0.2/rules/experimental.rules	Wed Nov  6 22:35:14 2002
+++ snort-2.0.2-ipv6/rules/experimental.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: experimental.rules,v 1.71 2002/11/06 13:35:14 cazz Exp $
+# $Id: experimental.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ---------------
 # EXPERIMENTAL RULES
 # ---------------
diff -ur snort-2.0.2/rules/exploit.rules snort-2.0.2-ipv6/rules/exploit.rules
--- snort-2.0.2/rules/exploit.rules	Thu May 15 03:07:56 2003
+++ snort-2.0.2-ipv6/rules/exploit.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: exploit.rules,v 1.48 2003/05/14 18:07:56 cazz Exp $
+# $Id: exploit.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # EXPLOIT RULES
 #--------------
diff -ur snort-2.0.2/rules/finger.rules snort-2.0.2-ipv6/rules/finger.rules
--- snort-2.0.2/rules/finger.rules	Wed Nov  6 06:01:59 2002
+++ snort-2.0.2-ipv6/rules/finger.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: finger.rules,v 1.18 2002/11/05 21:01:59 cazz Exp $
+# $Id: finger.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # FINGER RULES
 #-------------
diff -ur snort-2.0.2/rules/ftp.rules snort-2.0.2-ipv6/rules/ftp.rules
--- snort-2.0.2/rules/ftp.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/ftp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: ftp.rules,v 1.42 2003/06/13 18:24:58 cazz Exp $
+# $Id: ftp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # FTP RULES
 #----------
diff -ur snort-2.0.2/rules/icmp-info.rules snort-2.0.2-ipv6/rules/icmp-info.rules
--- snort-2.0.2/rules/icmp-info.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/icmp-info.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: icmp-info.rules,v 1.15 2003/06/13 18:24:58 cazz Exp $
+# $Id: icmp-info.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # ICMP-INFO
 #--------------
diff -ur snort-2.0.2/rules/icmp.rules snort-2.0.2-ipv6/rules/icmp.rules
--- snort-2.0.2/rules/icmp.rules	Mon Aug 19 05:28:43 2002
+++ snort-2.0.2-ipv6/rules/icmp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: icmp.rules,v 1.18 2002/08/18 20:28:43 cazz Exp $
+# $Id: icmp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # ICMP RULES
 #-----------
Only in snort-2.0.2-ipv6/rules: icmp6-info.rules
diff -ur snort-2.0.2/rules/imap.rules snort-2.0.2-ipv6/rules/imap.rules
--- snort-2.0.2/rules/imap.rules	Thu May 15 03:07:56 2003
+++ snort-2.0.2-ipv6/rules/imap.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: imap.rules,v 1.10 2003/05/14 18:07:56 cazz Exp $
+# $Id: imap.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # IMAP RULES
 #--------------
diff -ur snort-2.0.2/rules/info.rules snort-2.0.2-ipv6/rules/info.rules
--- snort-2.0.2/rules/info.rules	Thu Apr 17 09:35:46 2003
+++ snort-2.0.2-ipv6/rules/info.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: info.rules,v 1.18 2003/04/17 00:35:46 cazz Exp $
+# $Id: info.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # INFO RULES
 #-----------
diff -ur snort-2.0.2/rules/local.rules snort-2.0.2-ipv6/rules/local.rules
--- snort-2.0.2/rules/local.rules	Thu Dec 20 03:40:05 2001
+++ snort-2.0.2-ipv6/rules/local.rules	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-# $Id: local.rules,v 1.5 2001/12/19 18:40:05 cazz Exp $
+# $Id: local.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ----------------
 # LOCAL RULES
 # ----------------
diff -ur snort-2.0.2/rules/misc.rules snort-2.0.2-ipv6/rules/misc.rules
--- snort-2.0.2/rules/misc.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/misc.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: misc.rules,v 1.41 2003/06/13 18:24:59 cazz Exp $
+# $Id: misc.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # MISC RULES
 #-----------
diff -ur snort-2.0.2/rules/multimedia.rules snort-2.0.2-ipv6/rules/multimedia.rules
--- snort-2.0.2/rules/multimedia.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/multimedia.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: multimedia.rules,v 1.5 2003/04/17 00:35:47 cazz Exp $
+# $Id: multimedia.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # MULTIMEDIA RULES
 #-------------
diff -ur snort-2.0.2/rules/mysql.rules snort-2.0.2-ipv6/rules/mysql.rules
--- snort-2.0.2/rules/mysql.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/mysql.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: mysql.rules,v 1.3 2003/04/17 00:35:47 cazz Exp $
+# $Id: mysql.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # MYSQL RULES
 #----------
diff -ur snort-2.0.2/rules/netbios.rules snort-2.0.2-ipv6/rules/netbios.rules
--- snort-2.0.2/rules/netbios.rules	Mon Aug  4 23:32:47 2003
+++ snort-2.0.2-ipv6/rules/netbios.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: netbios.rules,v 1.26 2003/07/29 16:03:05 cazz Exp $
+# $Id: netbios.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # NETBIOS RULES
 #--------------
diff -ur snort-2.0.2/rules/nntp.rules snort-2.0.2-ipv6/rules/nntp.rules
--- snort-2.0.2/rules/nntp.rules	Wed Nov  6 06:02:00 2002
+++ snort-2.0.2-ipv6/rules/nntp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: nntp.rules,v 1.5 2002/11/05 21:02:00 cazz Exp $
+# $Id: nntp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # NNTP RULES
 #----------
diff -ur snort-2.0.2/rules/oracle.rules snort-2.0.2-ipv6/rules/oracle.rules
--- snort-2.0.2/rules/oracle.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/oracle.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: oracle.rules,v 1.8 2003/04/17 00:35:47 cazz Exp $
+# $Id: oracle.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # ORACLE RULES
 #----------
diff -ur snort-2.0.2/rules/other-ids.rules snort-2.0.2-ipv6/rules/other-ids.rules
--- snort-2.0.2/rules/other-ids.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/other-ids.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: other-ids.rules,v 1.3 2003/04/17 00:35:47 cazz Exp $
+# $Id: other-ids.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ---------------
 # OTHER-IDS RULES
 # ---------------
diff -ur snort-2.0.2/rules/p2p.rules snort-2.0.2-ipv6/rules/p2p.rules
--- snort-2.0.2/rules/p2p.rules	Tue Jul 22 22:23:54 2003
+++ snort-2.0.2-ipv6/rules/p2p.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: p2p.rules,v 1.10 2003/07/11 21:34:52 cazz Exp $
+# $Id: p2p.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # P2P RULES
 #-------------
diff -ur snort-2.0.2/rules/policy.rules snort-2.0.2-ipv6/rules/policy.rules
--- snort-2.0.2/rules/policy.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/policy.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: policy.rules,v 1.30 2003/06/13 18:25:00 cazz Exp $
+# $Id: policy.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # POLICY RULES
 #-------------
diff -ur snort-2.0.2/rules/pop2.rules snort-2.0.2-ipv6/rules/pop2.rules
--- snort-2.0.2/rules/pop2.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/pop2.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: pop2.rules,v 1.2 2003/04/17 00:35:47 cazz Exp $
+# $Id: pop2.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # POP2 RULES
 #--------------
diff -ur snort-2.0.2/rules/pop3.rules snort-2.0.2-ipv6/rules/pop3.rules
--- snort-2.0.2/rules/pop3.rules	Thu May 15 03:07:57 2003
+++ snort-2.0.2-ipv6/rules/pop3.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: pop3.rules,v 1.8 2003/05/14 18:07:57 cazz Exp $
+# $Id: pop3.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # POP3 RULES
 #--------------
diff -ur snort-2.0.2/rules/porn.rules snort-2.0.2-ipv6/rules/porn.rules
--- snort-2.0.2/rules/porn.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/porn.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: porn.rules,v 1.11 2003/04/17 00:35:47 cazz Exp $
+# $Id: porn.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # PORN RULES
 #-------------
diff -ur snort-2.0.2/rules/rpc.rules snort-2.0.2-ipv6/rules/rpc.rules
--- snort-2.0.2/rules/rpc.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/rpc.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: rpc.rules,v 1.46 2003/06/13 18:25:02 cazz Exp $
+# $Id: rpc.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # RPC RULES
 #----------
diff -ur snort-2.0.2/rules/rservices.rules snort-2.0.2-ipv6/rules/rservices.rules
--- snort-2.0.2/rules/rservices.rules	Thu May 15 03:07:57 2003
+++ snort-2.0.2-ipv6/rules/rservices.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: rservices.rules,v 1.13 2003/05/14 18:07:57 cazz Exp $
+# $Id: rservices.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------------
 # RSERVICES RULES
 #----------------
diff -ur snort-2.0.2/rules/scan.rules snort-2.0.2-ipv6/rules/scan.rules
--- snort-2.0.2/rules/scan.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/scan.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: scan.rules,v 1.19 2003/04/17 00:35:47 cazz Exp $
+# $Id: scan.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # SCAN RULES
 #-----------
diff -ur snort-2.0.2/rules/shellcode.rules snort-2.0.2-ipv6/rules/shellcode.rules
--- snort-2.0.2/rules/shellcode.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/shellcode.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: shellcode.rules,v 1.15 2003/04/17 00:35:47 cazz Exp $
+# $Id: shellcode.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ---------------
 # SHELLCODE RULES
 # ---------------
diff -ur snort-2.0.2/rules/smtp.rules snort-2.0.2-ipv6/rules/smtp.rules
--- snort-2.0.2/rules/smtp.rules	Tue Jul  1 06:44:11 2003
+++ snort-2.0.2-ipv6/rules/smtp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: smtp.rules,v 1.29 2003/06/30 19:15:50 cazz Exp $
+# $Id: smtp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # SMTP RULES
 #-----------
diff -ur snort-2.0.2/rules/snmp.rules snort-2.0.2-ipv6/rules/snmp.rules
--- snort-2.0.2/rules/snmp.rules	Thu Oct 31 07:11:46 2002
+++ snort-2.0.2-ipv6/rules/snmp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: snmp.rules,v 1.7 2002/10/30 22:11:46 cazz Exp $
+# $Id: snmp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ---------------
 # SNMP RULES
 # ---------------
diff -ur snort-2.0.2/rules/sql.rules snort-2.0.2-ipv6/rules/sql.rules
--- snort-2.0.2/rules/sql.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/sql.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: sql.rules,v 1.17 2003/04/17 00:35:47 cazz Exp $
+# $Id: sql.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # SQL RULES
 #----------
diff -ur snort-2.0.2/rules/telnet.rules snort-2.0.2-ipv6/rules/telnet.rules
--- snort-2.0.2/rules/telnet.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/telnet.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: telnet.rules,v 1.26 2003/04/17 00:35:47 cazz Exp $
+# $Id: telnet.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-------------
 # TELNET RULES
 #-------------
diff -ur snort-2.0.2/rules/tftp.rules snort-2.0.2-ipv6/rules/tftp.rules
--- snort-2.0.2/rules/tftp.rules	Thu Apr 17 09:35:47 2003
+++ snort-2.0.2-ipv6/rules/tftp.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: tftp.rules,v 1.10 2003/04/17 00:35:47 cazz Exp $
+# $Id: tftp.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #-----------
 # TFTP RULES
 #-----------
diff -ur snort-2.0.2/rules/virus.rules snort-2.0.2-ipv6/rules/virus.rules
--- snort-2.0.2/rules/virus.rules	Tue Jun 10 05:55:38 2003
+++ snort-2.0.2-ipv6/rules/virus.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: virus.rules,v 1.20 2003/06/09 13:25:32 cazz Exp $
+# $Id: virus.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #------------
 # VIRUS RULES
 #------------
diff -ur snort-2.0.2/rules/web-attacks.rules snort-2.0.2-ipv6/rules/web-attacks.rules
--- snort-2.0.2/rules/web-attacks.rules	Tue Oct 29 07:08:10 2002
+++ snort-2.0.2-ipv6/rules/web-attacks.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-attacks.rules,v 1.9 2002/10/28 22:08:10 cazz Exp $
+# $Id: web-attacks.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 # ----------------
 # WEB ATTACKS
 # ----------------
diff -ur snort-2.0.2/rules/web-cgi.rules snort-2.0.2-ipv6/rules/web-cgi.rules
--- snort-2.0.2/rules/web-cgi.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/web-cgi.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-cgi.rules,v 1.63 2003/06/13 18:25:04 cazz Exp $
+# $Id: web-cgi.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # WEB-CGI RULES
 #--------------
diff -ur snort-2.0.2/rules/web-client.rules snort-2.0.2-ipv6/rules/web-client.rules
--- snort-2.0.2/rules/web-client.rules	Thu Apr 17 09:35:48 2003
+++ snort-2.0.2-ipv6/rules/web-client.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-client.rules,v 1.8 2003/04/17 00:35:48 cazz Exp $
+# $Id: web-client.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #---------------
 # WEB-CLIENT RULES
 #---------------
diff -ur snort-2.0.2/rules/web-coldfusion.rules snort-2.0.2-ipv6/rules/web-coldfusion.rules
--- snort-2.0.2/rules/web-coldfusion.rules	Mon Aug 19 05:28:43 2002
+++ snort-2.0.2-ipv6/rules/web-coldfusion.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-coldfusion.rules,v 1.20 2002/08/18 20:28:43 cazz Exp $
+# $Id: web-coldfusion.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #---------------------
 # WEB-COLDFUSION RULES
 #---------------------
diff -ur snort-2.0.2/rules/web-frontpage.rules snort-2.0.2-ipv6/rules/web-frontpage.rules
--- snort-2.0.2/rules/web-frontpage.rules	Wed Nov  6 06:02:02 2002
+++ snort-2.0.2-ipv6/rules/web-frontpage.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-frontpage.rules,v 1.22 2002/11/05 21:02:02 cazz Exp $
+# $Id: web-frontpage.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------------
 # WEB-FRONTPAGE RULES
 #--------------------
diff -ur snort-2.0.2/rules/web-iis.rules snort-2.0.2-ipv6/rules/web-iis.rules
--- snort-2.0.2/rules/web-iis.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/web-iis.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-iis.rules,v 1.63 2003/06/13 18:25:05 cazz Exp $
+# $Id: web-iis.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # WEB-IIS RULES
 #--------------
diff -ur snort-2.0.2/rules/web-misc.rules snort-2.0.2-ipv6/rules/web-misc.rules
--- snort-2.0.2/rules/web-misc.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/web-misc.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-misc.rules,v 1.102 2003/06/13 18:25:05 cazz Exp $
+# $Id: web-misc.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #---------------
 # WEB-MISC RULES
 #---------------
diff -ur snort-2.0.2/rules/web-php.rules snort-2.0.2-ipv6/rules/web-php.rules
--- snort-2.0.2/rules/web-php.rules	Fri Jun 20 21:45:37 2003
+++ snort-2.0.2-ipv6/rules/web-php.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: web-php.rules,v 1.8 2003/06/13 18:25:06 cazz Exp $
+# $Id: web-php.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #--------------
 # WEB-PHP RULES
 #--------------
diff -ur snort-2.0.2/rules/x11.rules snort-2.0.2-ipv6/rules/x11.rules
--- snort-2.0.2/rules/x11.rules	Mon Aug 19 05:28:43 2002
+++ snort-2.0.2-ipv6/rules/x11.rules	Tue Sep 30 13:25:28 2003
@@ -1,6 +1,6 @@
 # (C) Copyright 2001,2002, Martin Roesch, Brian Caswell, et al.
 #    All rights reserved.
-# $Id: x11.rules,v 1.12 2002/08/18 20:28:43 cazz Exp $
+# $Id: x11.rules,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 #----------
 # X11 RULES
 #----------
diff -ur snort-2.0.2/snort.8 snort-2.0.2-ipv6/snort.8
--- snort-2.0.2/snort.8	Wed May 28 05:09:48 2003
+++ snort-2.0.2-ipv6/snort.8	Tue Sep 30 13:25:25 2003
@@ -1,7 +1,7 @@
 .\" Process this file with
 .\" groff -man -Tascii snort.8
 .\"
-.\" $Id: snort.8,v 1.17 2002/11/04 14:56:18 andrewbaker Exp $
+.\" $Id: snort.8,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 .TH SNORT 8 "July 2001" 
 .SH NAME
 Snort \- open source network intrusion detection system
diff -ur snort-2.0.2/src/Makefile.am snort-2.0.2-ipv6/src/Makefile.am
--- snort-2.0.2/src/Makefile.am	Thu Sep 11 05:19:49 2003
+++ snort-2.0.2-ipv6/src/Makefile.am	Fri Nov  7 15:44:16 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.4 2003/07/17 05:51:37 tburgess Exp $
+## $Id: Makefile.am,v 1.2 2003/11/07 06:44:16 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 bin_PROGRAMS = snort
@@ -11,7 +11,7 @@
 plugin_enum.h \
 rules.h \
 sys_include.h \
-checksum.h \
+checksum.c checksum.h \
 codes.c codes.h \
 debug.c debug.h \
 decode.c decode.h \
diff -ur snort-2.0.2/src/Makefile.in snort-2.0.2-ipv6/src/Makefile.in
--- snort-2.0.2/src/Makefile.in	Thu Sep 11 05:27:34 2003
+++ snort-2.0.2-ipv6/src/Makefile.in	Thu Nov 13 18:43:01 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 bin_PROGRAMS = snort
@@ -92,7 +86,7 @@
 plugin_enum.h \
 rules.h \
 sys_include.h \
-checksum.h \
+checksum.c checksum.h \
 codes.c codes.h \
 debug.c debug.h \
 decode.c decode.h \
@@ -149,18 +143,18 @@
 bin_PROGRAMS = snort$(EXEEXT)
 PROGRAMS = $(bin_PROGRAMS)
 
-am_snort_OBJECTS = codes.$(OBJEXT) debug.$(OBJEXT) decode.$(OBJEXT) \
-	log.$(OBJEXT) mstring.$(OBJEXT) parser.$(OBJEXT) \
-	plugbase.$(OBJEXT) snort.$(OBJEXT) snprintf.$(OBJEXT) \
-	strlcatu.$(OBJEXT) strlcpyu.$(OBJEXT) tag.$(OBJEXT) \
-	ubi_BinTree.$(OBJEXT) ubi_SplayTree.$(OBJEXT) util.$(OBJEXT) \
-	detect.$(OBJEXT) signature.$(OBJEXT) mempool.$(OBJEXT) \
-	sf_sdlist.$(OBJEXT) threshold.$(OBJEXT) fpcreate.$(OBJEXT) \
-	fpdetect.$(OBJEXT) mwm.$(OBJEXT) mpse.$(OBJEXT) acsmx.$(OBJEXT) \
-	pcrm.$(OBJEXT) sfksearch.$(OBJEXT) byte_extract.$(OBJEXT) \
-	sfthd.$(OBJEXT) sfthreshold.$(OBJEXT) sfxhash.$(OBJEXT) \
-	sfghash.$(OBJEXT) sfhashfcn.$(OBJEXT) sflsq.$(OBJEXT) \
-	sfmemcap.$(OBJEXT)
+am_snort_OBJECTS = checksum.$(OBJEXT) codes.$(OBJEXT) debug.$(OBJEXT) \
+	decode.$(OBJEXT) log.$(OBJEXT) mstring.$(OBJEXT) \
+	parser.$(OBJEXT) plugbase.$(OBJEXT) snort.$(OBJEXT) \
+	snprintf.$(OBJEXT) strlcatu.$(OBJEXT) strlcpyu.$(OBJEXT) \
+	tag.$(OBJEXT) ubi_BinTree.$(OBJEXT) ubi_SplayTree.$(OBJEXT) \
+	util.$(OBJEXT) detect.$(OBJEXT) signature.$(OBJEXT) \
+	mempool.$(OBJEXT) sf_sdlist.$(OBJEXT) threshold.$(OBJEXT) \
+	fpcreate.$(OBJEXT) fpdetect.$(OBJEXT) mwm.$(OBJEXT) \
+	mpse.$(OBJEXT) acsmx.$(OBJEXT) pcrm.$(OBJEXT) \
+	sfksearch.$(OBJEXT) byte_extract.$(OBJEXT) sfthd.$(OBJEXT) \
+	sfthreshold.$(OBJEXT) sfxhash.$(OBJEXT) sfghash.$(OBJEXT) \
+	sfhashfcn.$(OBJEXT) sflsq.$(OBJEXT) sfmemcap.$(OBJEXT)
 snort_OBJECTS = $(am_snort_OBJECTS)
 snort_DEPENDENCIES = output-plugins/libspo.a detection-plugins/libspd.a \
 	preprocessors/libspp.a parser/libparser.a
@@ -172,7 +166,6 @@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp =
-am__depfiles_maybe =
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -196,8 +189,9 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	$(mkinstalldirs) $(DESTDIR)$(bindir)
@@ -205,16 +199,16 @@
 	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
 	  if test -f $$p \
 	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
-	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
+	    f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
+	   $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
 	  else :; fi; \
 	done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
 	  echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
 	  rm -f $(DESTDIR)$(bindir)/$$f; \
 	done
@@ -232,7 +226,7 @@
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+	$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
 
 .c.obj:
 	$(COMPILE) -c `cygpath -w $<`
@@ -245,7 +239,7 @@
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-	@set fnord $$MAKEFLAGS; amf=$$2; \
+	@set fnord $(MAKEFLAGS); amf=$$2; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -265,7 +259,7 @@
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-	@set fnord $$MAKEFLAGS; amf=$$2; \
+	@set fnord $(MAKEFLAGS); amf=$$2; \
 	dot_seen=no; \
 	case "$@" in \
 	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -293,19 +287,16 @@
 	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
@@ -316,50 +307,45 @@
 	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	for subdir in $(SUBDIRS); do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d $(distdir)/$$subdir \
 	    || mkdir $(distdir)/$$subdir \
@@ -390,7 +376,6 @@
 installcheck: installcheck-recursive
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -398,7 +383,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/acsmx.c snort-2.0.2-ipv6/src/acsmx.c
--- snort-2.0.2/src/acsmx.c	Thu Mar  6 01:42:11 2003
+++ snort-2.0.2-ipv6/src/acsmx.c	Tue Sep 30 13:25:25 2003
@@ -1,6 +1,6 @@
 /*
 **
-** $Id: acsmx.c,v 1.4 2003/03/05 16:42:11 chrisgreen Exp $
+** $Id: acsmx.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 ** Multi-Pattern Search Engine
 **
diff -ur snort-2.0.2/src/acsmx.h snort-2.0.2-ipv6/src/acsmx.h
--- snort-2.0.2/src/acsmx.h	Sat Mar 29 07:17:40 2003
+++ snort-2.0.2-ipv6/src/acsmx.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: acsmx.h,v 1.3 2003/03/28 22:17:40 chris_reid Exp $ */
+/* $Id: acsmx.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/bitop.h snort-2.0.2-ipv6/src/bitop.h
--- snort-2.0.2/src/bitop.h	Wed Mar  5 12:33:17 2003
+++ snort-2.0.2-ipv6/src/bitop.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: bitop.h,v 1.3 2003/03/05 03:33:17 chris_reid Exp $
+** $Id: bitop.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 ** 
 ** bitopt.c
 **
diff -ur snort-2.0.2/src/byte_extract.c snort-2.0.2-ipv6/src/byte_extract.c
--- snort-2.0.2/src/byte_extract.c	Sat Apr 26 01:43:32 2003
+++ snort-2.0.2-ipv6/src/byte_extract.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: byte_extract.c,v 1.1 2003/04/25 16:43:32 chrisgreen Exp $ */
+/* $Id: byte_extract.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2003 Sourcefire, Inc.
 **               Chris Green <cmg@sourcefire.com>
diff -ur snort-2.0.2/src/cdefs.h snort-2.0.2-ipv6/src/cdefs.h
--- snort-2.0.2/src/cdefs.h	Sun Oct 29 15:35:12 2000
+++ snort-2.0.2-ipv6/src/cdefs.h	Tue Sep 30 13:25:25 2003
@@ -6,7 +6,7 @@
  * forth in the LICENSE file which can be found at the top level of
  * the sendmail distribution.
  *
- *	$Id: cdefs.h,v 1.1 2000/10/29 06:35:12 roesch Exp $
+ *	$Id: cdefs.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  */
 
Only in snort-2.0.2-ipv6/src: checksum.c
diff -ur snort-2.0.2/src/checksum.h snort-2.0.2-ipv6/src/checksum.h
--- snort-2.0.2/src/checksum.h	Wed Jul 23 03:24:50 2003
+++ snort-2.0.2-ipv6/src/checksum.h	Fri Nov  7 15:25:05 2003
@@ -1,4 +1,4 @@
-/* $Id: checksum.h,v 1.11 2003/07/22 18:24:50 chrisgreen Exp $ */
+/* $Id: checksum.h,v 1.3 2003/11/07 06:25:05 abekatsu Exp $ */
 /*
 ** Copyright (C) 2000,2001 Christopher Cramer <cec@ee.duke.edu>
 ** Snort is Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
@@ -30,12 +30,7 @@
 #ifndef __CHECKSUM_H__
 #define __CHECKSUM_H__
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <sys/types.h>
-
+#include "detect.h"
 
 /* define checksum error flags */
 #define CSE_IP    0x01
@@ -43,275 +38,17 @@
 #define CSE_UDP   0x04
 #define CSE_ICMP  0x08
 #define CSE_IGMP  0x10
+#define CSE_ICMP6 0x20
 
-/*
-*  checksum IP  - header=20+ bytes
-*
-*  w - short words of data
-*  blen - byte length
-* 
-*/
-static inline unsigned short in_chksum_ip(  unsigned short * w, int blen )
-{
-   unsigned int cksum;
-
-   /* IP must be >= 20 bytes */
-   cksum  = w[0];
-   cksum += w[1];
-   cksum += w[2];
-   cksum += w[3];
-   cksum += w[4];
-   cksum += w[5];
-   cksum += w[6];
-   cksum += w[7];
-   cksum += w[8];
-   cksum += w[9];
-
-   blen  -= 20;
-   w     += 10;
-
-   while( blen ) /* IP-hdr must be an integral number of 4 byte words */
-   {
-     cksum += w[0];
-     cksum += w[1];
-     w     += 2;
-     blen  -= 4;
-   }
-
-   cksum  = (cksum >> 16) + (cksum & 0x0000ffff);
-   cksum += (cksum >> 16);
- 
-   return (unsigned short) (~cksum);
-}
-
-
-/*
-*  checksum tcp
-*
-*  h    - pseudo header - 12 bytes
-*  d    - tcp hdr + payload
-*  dlen - length of tcp hdr + payload in bytes
-*
-*/
-static inline unsigned short in_chksum_tcp(  unsigned short *h, unsigned short * d, int dlen )
-{
-   unsigned int cksum;
-   unsigned short answer=0;
-
-   /* PseudoHeader must have 12 bytes */
-   cksum  = h[0];
-   cksum += h[1];
-   cksum += h[2];
-   cksum += h[3];
-   cksum += h[4];
-   cksum += h[5];
-
-   /* TCP hdr must have 20 hdr bytes */
-   cksum += d[0];
-   cksum += d[1];
-   cksum += d[2];
-   cksum += d[3];
-   cksum += d[4];
-   cksum += d[5];
-   cksum += d[6];
-   cksum += d[7];
-   cksum += d[8];
-   cksum += d[9];
-
-   dlen  -= 20; /* bytes   */
-   d     += 10; /* short's */ 
-
-   while(dlen >=32)
-   {
-     cksum += d[0];
-     cksum += d[1];
-     cksum += d[2];
-     cksum += d[3];
-     cksum += d[4];
-     cksum += d[5];
-     cksum += d[6];
-     cksum += d[7];
-     cksum += d[8];
-     cksum += d[9];
-     cksum += d[10];
-     cksum += d[11];
-     cksum += d[12];
-     cksum += d[13];
-     cksum += d[14];
-     cksum += d[15];
-     d     += 16;
-     dlen  -= 32;
-   }
-
-   while(dlen >=8)  
-   {
-     cksum += d[0];
-     cksum += d[1];
-     cksum += d[2];
-     cksum += d[3];
-     d     += 4;   
-     dlen  -= 8;
-   }
-
-   while(dlen > 1)
-   {
-     cksum += *d++;
-     dlen  -= 2;
-   }
-
-   if( dlen == 1 ) 
-   { 
-    /* printf("new checksum odd byte-packet\n"); */
-    *(unsigned char*)(&answer) = (*(unsigned char*)d);
-
-    /* cksum += (u_int16_t) (*(u_int8_t*)d); */
-     
-     cksum += answer;
-   }
-   
-   cksum  = (cksum >> 16) + (cksum & 0x0000ffff);
-   cksum += (cksum >> 16);
- 
-   return (unsigned short)(~cksum);
-}
-
-/*
-*  checksum udp
-*
-*  h    - pseudo header - 12 bytes
-*  d    - udp hdr + payload
-*  dlen - length of payload in bytes
-*
-*/
-static inline unsigned short in_chksum_udp(  unsigned short *h, unsigned short * d, int dlen )
-{
-   unsigned int cksum;
-   unsigned short answer=0;
-
-   /* PseudoHeader must have  12 bytes */
-   cksum  = h[0];
-   cksum += h[1];
-   cksum += h[2];
-   cksum += h[3];
-   cksum += h[4];
-   cksum += h[5];
-
-   /* UDP must have 8 hdr bytes */
-   cksum += d[0];
-   cksum += d[1];
-   cksum += d[2];
-   cksum += d[3];
-
-   dlen  -= 8; /* bytes   */
-   d     += 4; /* short's */ 
-
-   while(dlen >=32) 
-   {
-     cksum += d[0];
-     cksum += d[1];
-     cksum += d[2];
-     cksum += d[3];
-     cksum += d[4];
-     cksum += d[5];
-     cksum += d[6];
-     cksum += d[7];
-     cksum += d[8];
-     cksum += d[9];
-     cksum += d[10];
-     cksum += d[11];
-     cksum += d[12];
-     cksum += d[13];
-     cksum += d[14];
-     cksum += d[15];
-     d     += 16;
-     dlen  -= 32;
-   }
-
-   while(dlen >=8)
-   {
-     cksum += d[0];
-     cksum += d[1];
-     cksum += d[2];
-     cksum += d[3];
-     d     += 4;   
-     dlen  -= 8;
-   }
-
-   while(dlen > 1)
-   {
-     cksum += *d++;
-     dlen  -= 2;
-   }
-
-   if( dlen == 1 ) 
-   { 
-     *(unsigned char*)(&answer) = (*(unsigned char*)d);
-     cksum += answer;
-   }
-   
-   cksum  = (cksum >> 16) + (cksum & 0x0000ffff);
-   cksum += (cksum >> 16);
- 
-   return (unsigned short)(~cksum);
-}
-
-/*
-*  checksum icmp
-*/
-static inline unsigned short in_chksum_icmp( unsigned short * w, int blen )
-{
-  unsigned  short answer=0;
-  unsigned int cksum = 0;
-
-  while(blen >=32) 
-  {
-     cksum += w[0];
-     cksum += w[1];
-     cksum += w[2];
-     cksum += w[3];
-     cksum += w[4];
-     cksum += w[5];
-     cksum += w[6];
-     cksum += w[7];
-     cksum += w[8];
-     cksum += w[9];
-     cksum += w[10];
-     cksum += w[11];
-     cksum += w[12];
-     cksum += w[13];
-     cksum += w[14];
-     cksum += w[15];
-     w     += 16;
-     blen  -= 32;
-  }
-
-  while(blen >=8) 
-  {
-     cksum += w[0];
-     cksum += w[1];
-     cksum += w[2];
-     cksum += w[3];
-     w     += 4;
-     blen  -= 8;
-  }
-
-  while(blen > 1) 
-  {
-     cksum += *w++;
-     blen  -= 2;
-  }
-
-  if( blen == 1 ) 
-  {
-    *(unsigned char*)(&answer) = (*(unsigned char*)w);
-    cksum += answer;
-  }
-
-  cksum  = (cksum >> 16) + (cksum & 0x0000ffff);
-  cksum += (cksum >> 16);
+unsigned short in_chksum_ip(  unsigned short *, int );
+unsigned short in_chksum_tcp(  unsigned short *, 
+			       unsigned short *, int );
+unsigned short in_chksum_udp(  unsigned short *,
+			       unsigned short *, int );
+unsigned short in_chksum_icmp( unsigned short *, int blen );
+unsigned short checksum(u_int16_t *, u_int32_t , u_int16_t *, u_int32_t );
+unsigned short ipv6_checksum(Packet *, u_int16_t *, u_int32_t );
 
+#endif /* __CHECKSUM_H__ */
 
-  return (unsigned short)(~cksum);
-}
 
-#endif /* __CHECKSUM_H__ */
diff -ur snort-2.0.2/src/codes.c snort-2.0.2-ipv6/src/codes.c
--- snort-2.0.2/src/codes.c	Tue Apr  2 00:35:57 2002
+++ snort-2.0.2-ipv6/src/codes.c	Tue Sep 30 13:25:25 2003
@@ -15,7 +15,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
-/* $Id: codes.c,v 1.6 2002/04/01 15:35:57 andrewbaker Exp $ */
+/* $Id: codes.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
diff -ur snort-2.0.2/src/codes.h snort-2.0.2-ipv6/src/codes.h
--- snort-2.0.2/src/codes.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/codes.h	Tue Sep 30 13:25:25 2003
@@ -15,7 +15,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
-/* $Id: codes.h,v 1.3 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: codes.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifndef __unidecode_codes_h
 #define __unidecode_codes_h
 
diff -ur snort-2.0.2/src/debug.c snort-2.0.2-ipv6/src/debug.c
--- snort-2.0.2/src/debug.c	Sat Mar 29 05:09:52 2003
+++ snort-2.0.2-ipv6/src/debug.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: debug.c,v 1.11 2003/03/28 20:09:52 chrisgreen Exp $ */
+/* $Id: debug.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/debug.h snort-2.0.2-ipv6/src/debug.h
--- snort-2.0.2/src/debug.h	Sat Mar 29 05:09:52 2003
+++ snort-2.0.2-ipv6/src/debug.h	Thu Nov 27 10:38:30 2003
@@ -1,4 +1,4 @@
-/* $Id: debug.h,v 1.23 2003/03/28 20:09:52 chrisgreen Exp $ */
+/* $Id: debug.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/decode.c snort-2.0.2-ipv6/src/decode.c
--- snort-2.0.2/src/decode.c	Wed Aug  6 23:26:06 2003
+++ snort-2.0.2-ipv6/src/decode.c	Thu Nov 20 15:21:42 2003
@@ -1,4 +1,4 @@
-/* $Id: decode.c,v 1.101 2003/08/06 14:26:06 chrisgreen Exp $ */
+/* $Id: decode.c,v 1.4 2003/11/07 07:11:59 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
@@ -124,7 +124,7 @@
 
         case ETHERNET_TYPE_IPV6:
             DecodeIPV6(p->pkt + ETHERNET_HEADER_LEN, 
-                    (cap_len - ETHERNET_HEADER_LEN));
+                    (cap_len - ETHERNET_HEADER_LEN), p);
             return;
 
         case ETHERNET_TYPE_IPX:
@@ -945,7 +945,7 @@
             return;
 
         case ETHERNET_TYPE_IPV6:
-            DecodeIPV6(p->pkt + SLL_HDR_LEN, (cap_len - SLL_HDR_LEN));
+            DecodeIPV6(p->pkt + SLL_HDR_LEN, (cap_len - SLL_HDR_LEN), p);
             return;
 
         case ETHERNET_TYPE_IPX:
@@ -1042,7 +1042,7 @@
 
 #ifdef AF_INET6
         case AF_INET6:  /* IPv6 */
-            DecodeIPV6(p->pkt + PFLOG_HDRLEN, (cap_len - PFLOG_HDRLEN));
+            DecodeIPV6(p->pkt + PFLOG_HDRLEN, (cap_len - PFLOG_HDRLEN), p);
             return;
 #endif
 
@@ -2219,6 +2219,154 @@
 
 
 /*
+ * Function: DecodeTCP6(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the TCP transport layer over IPv6
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => Pointer to packet decode struct
+ *
+ * Returns: void function
+ */
+void DecodeTCP6(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    u_int32_t hlen;            /* TCP header length */
+    u_short csum;              /* checksum */     
+    Event event;
+
+    if(len < 20)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("TCP packet (len = %d) cannot contain "
+                         "20 byte header\n", len);
+        }
+
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts) 
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_TCP_DGRAM_LT_TCPHDR, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_TCP_DGRAM_LT_TCPHDR_STR, NULL, &event);
+            CallLogFuncs(p, DECODE_TCP_DGRAM_LT_TCPHDR_STR, NULL, &event);
+        }
+
+        p->tcph = NULL;
+        pc.discards++;
+        return;
+    }
+
+    /* lay TCP on top of the data cause there is enough of it! */
+    p->tcph = (TCPHdr *) pkt;
+
+    /* multiply the payload offset value by 4 */
+    hlen = TCP_OFFSET(p->tcph) << 2;
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "TCP th_off is %d, passed len is %lu\n", 
+                TCP_OFFSET(p->tcph), (unsigned long)len););
+
+    if(hlen < 20)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("TCP Data Offset (%d) < hlen (%d) \n",
+                         TCP_OFFSET(p->tcph), hlen);
+        }
+
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_TCP_INVALID_OFFSET, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_TCP_INVALID_OFFSET_STR, NULL, &event);
+            CallLogFuncs(p, DECODE_TCP_INVALID_OFFSET_STR, NULL, &event);
+        }
+
+        p->tcph = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    if(hlen > len)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("TCP Data Offset(%d) < longer than payload(%d)!\n",
+                         TCP_OFFSET(p->tcph) << 2, len);
+        }
+
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_TCP_LARGE_OFFSET, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_TCP_LARGE_OFFSET_STR, NULL, &event);
+            CallLogFuncs(p, DECODE_TCP_LARGE_OFFSET_STR, NULL, &event);
+        }
+
+        p->tcph = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    if(pv.checksums_mode & DO_TCP_CHECKSUMS)
+    {
+        /* if we're being "stateless" we probably don't care about the TCP 
+         * checksum, but it's not bad to keep around for shits and giggles */
+        /* calculate the checksum */
+        /* csum = in_chksum_tcp((u_int16_t *)&ph, (u_int16_t *)(p->tcph), len); */
+        csum = ipv6_checksum(p, (u_int16_t *)(p->tcph), len);
+        
+        if(csum)
+        {
+            p->csum_flags |= CSE_TCP;
+            DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "Bad TCP checksum\n",
+                                    "0x%x versus 0x%x\n", csum,
+                                    ntohs(p->tcph->th_sum)););
+        }
+        else
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DECODE,"TCP Checksum: OK\n"););
+        }
+    }
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "tcp header starts at: %p\n", p->tcph););
+
+    /* stuff more data into the printout data struct */
+    p->sp = ntohs(p->tcph->th_sport);
+    p->dp = ntohs(p->tcph->th_dport);
+
+    /* if options are present, decode them */
+    p->tcp_options_len = hlen - 20;
+    
+    if(p->tcp_options_len > 0)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "%lu bytes of tcp options....\n", 
+                    (unsigned long)(p->tcp_options_len)););
+
+        p->tcp_options_data = pkt + 20;
+        DecodeTCPOptions((u_int8_t *) (pkt + 20), p->tcp_options_len, p);
+    }
+    else
+    {
+        p->tcp_option_count = 0;
+    }
+
+    /* set the data pointer and size */
+    p->data = (u_int8_t *) (pkt + hlen);
+
+    if(hlen < len)
+    {
+        p->dsize = (u_short)(len - hlen);
+    }
+    else
+    {
+        p->dsize = 0;
+    }
+}
+
+
+/*
  * Function: DecodeUDP(u_int8_t *, const u_int32_t, Packet *)
  *
  * Purpose: Decode the UDP transport layer
@@ -2362,86 +2510,215 @@
     return;
 }
 
-
-
 /*
- * Function: DecodeICMP(u_int8_t *, const u_int32_t, Packet *)
+ * Function: DecodeUDP6(u_int8_t *, const u_int32_t, Packet *)
  *
- * Purpose: Decode the ICMP transport layer
+ * Purpose: Decode the UDP transport layer
  *
  * Arguments: pkt => ptr to the packet data
  *            len => length from here to the end of the packet
- *            p   => pointer to the decoded packet struct
+ *            p   => pointer to decoded packet struct  
  *
  * Returns: void function
  */
-void DecodeICMP(u_int8_t * pkt, const u_int32_t len, Packet * p)
+void DecodeUDP6(u_int8_t * pkt, const u_int32_t len, Packet * p)
 {
-    u_int16_t csum;
+    u_short csum;
+    u_int16_t uhlen;
     Event event;
-    u_int16_t orig_p_caplen;
 
-    if(len < ICMP_HEADER_LEN)
+    if(len < sizeof(UDPHdr))
     {
         if(pv.verbose_flag)
         {
-            ErrorMessage("WARNING: Truncated ICMP header "
-                         "(%d bytes)\n", len);
+            ErrorMessage("Truncated UDP header (%d bytes)\n", len);
         }
-        
-        p->icmph = NULL;
+
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts) 
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_UDP_DGRAM_LT_UDPHDR, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_UDP_DGRAM_LT_UDPHDR_STR, 
+                    NULL, &event);
+            CallLogFuncs(p, DECODE_UDP_DGRAM_LT_UDPHDR_STR,
+                    NULL, &event);
+            DisableDetect(p);
+        }
+
+        p->udph = NULL;
         pc.discards++;
 
         return;
     }
 
-    /* set the header ptr first */
-    p->icmph = (ICMPHdr *) pkt;
+    /* set the ptr to the start of the UDP header */
+    p->udph = (UDPHdr *) pkt;
 
-    switch (p->icmph->type)
+    uhlen = ntohs(p->udph->uh_len); 
+    
+    /* verify that the header len is a valid value */
+    if(uhlen < UDP_HEADER_LEN)
     {
-        case ICMP_ECHOREPLY:
-        case ICMP_DEST_UNREACH:
-        case ICMP_SOURCE_QUENCH:
-        case ICMP_REDIRECT:
-        case ICMP_ECHO:
-        case ICMP_ROUTER_ADVERTISE:
-        case ICMP_ROUTER_SOLICIT:
-        case ICMP_TIME_EXCEEDED:
-        case ICMP_PARAMETERPROB:
-        case ICMP_INFO_REQUEST:
-        case ICMP_INFO_REPLY:
-            if (len < 8)
-            {
-                if(pv.verbose_flag)
-                {
-                    ErrorMessage("Truncated ICMP header(%d bytes)\n", len);
-                }
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("Invalid UDP Packet, length field < 8");
+        }
+        
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_UDP_DGRAM_INVALID_LENGTH, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_UDP_DGRAM_INVALID_LENGTH_STR, NULL, 
+                    &event);
+            CallLogFuncs(p, DECODE_UDP_DGRAM_INVALID_LENGTH_STR, NULL, &event);
+            DisableDetect(p);
+        }
+        p->udph = NULL;
+        pc.discards++;
 
-                if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
-                {
-                    SetEvent(&event, GENERATOR_SNORT_DECODE, 
-                            DECODE_ICMP_DGRAM_LT_ICMPHDR, 1, DECODE_CLASS, 5, 0);
-                    CallAlertFuncs(p, DECODE_ICMP_DGRAM_LT_ICMPHDR_STR, 
-                            NULL, &event);
-                    CallLogFuncs(p, DECODE_ICMP_DGRAM_LT_ICMPHDR_STR,
-                            NULL, &event);
-                }
+        return;
+    }
 
-                p->icmph = NULL;
-                pc.discards++;
+    /* make sure there are enough bytes as designated by length field */
+    if(len < uhlen)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("Short UDP packet, length field > payload length\n");
+        }
 
-                return;
-            }
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts) 
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                    DECODE_UDP_DGRAM_SHORT_PACKET, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_UDP_DGRAM_SHORT_PACKET_STR, NULL, &event);
+            CallLogFuncs(p, DECODE_UDP_DGRAM_SHORT_PACKET_STR, NULL, &event);
+            DisableDetect(p);                   
+        }
 
-            break;
+        p->udph = NULL;
+        pc.discards++;
 
-        case ICMP_TIMESTAMP:
-        case ICMP_TIMESTAMPREPLY:
-            if (len < 20)
-            {
-                if(pv.verbose_flag)
-                {
+        return;
+    }
+
+    if(pv.checksums_mode & DO_UDP_CHECKSUMS)
+    {
+        /* look at the UDP checksum to make sure we've got a good packet */
+        if(p->udph->uh_chk)
+        {
+            csum = ipv6_checksum(p, (u_int16_t *)(p->udph), (u_int32_t) uhlen);
+        }
+        else
+        {
+            csum = 0;
+        }
+
+        if(csum)
+        {
+            p->csum_flags |= CSE_UDP;
+            DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "Bad UDP Checksum\n"););
+            DisableDetect(p);
+        }
+        else
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "UDP Checksum: OK\n"););
+        }
+    }
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "UDP header starts at: %p\n", p->udph););
+
+    /* fill in the printout data structs */
+    p->sp = ntohs(p->udph->uh_sport);
+    p->dp = ntohs(p->udph->uh_dport);
+
+    p->data = (u_int8_t *) (pkt + UDP_HEADER_LEN);
+    
+    /* length was validated up above */
+    p->dsize = uhlen - UDP_HEADER_LEN; 
+
+    return;
+}
+
+
+/*
+ * Function: DecodeICMP(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the ICMP transport layer
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => pointer to the decoded packet struct
+ *
+ * Returns: void function
+ */
+void DecodeICMP(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    u_int16_t csum;
+    Event event;
+    u_int16_t orig_p_caplen;
+
+    if(len < ICMP_HEADER_LEN)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("WARNING: Truncated ICMP header "
+                         "(%d bytes)\n", len);
+        }
+        
+        p->icmph = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    /* set the header ptr first */
+    p->icmph = (ICMPHdr *) pkt;
+
+    switch (p->icmph->type)
+    {
+        case ICMP_ECHOREPLY:
+        case ICMP_DEST_UNREACH:
+        case ICMP_SOURCE_QUENCH:
+        case ICMP_REDIRECT:
+        case ICMP_ECHO:
+        case ICMP_ROUTER_ADVERTISE:
+        case ICMP_ROUTER_SOLICIT:
+        case ICMP_TIME_EXCEEDED:
+        case ICMP_PARAMETERPROB:
+        case ICMP_INFO_REQUEST:
+        case ICMP_INFO_REPLY:
+            if (len < 8)
+            {
+                if(pv.verbose_flag)
+                {
+                    ErrorMessage("Truncated ICMP header(%d bytes)\n", len);
+                }
+
+                if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+                {
+                    SetEvent(&event, GENERATOR_SNORT_DECODE, 
+                            DECODE_ICMP_DGRAM_LT_ICMPHDR, 1, DECODE_CLASS, 5, 0);
+                    CallAlertFuncs(p, DECODE_ICMP_DGRAM_LT_ICMPHDR_STR, 
+                            NULL, &event);
+                    CallLogFuncs(p, DECODE_ICMP_DGRAM_LT_ICMPHDR_STR,
+                            NULL, &event);
+                }
+
+                p->icmph = NULL;
+                pc.discards++;
+
+                return;
+            }
+
+            break;
+
+        case ICMP_TIMESTAMP:
+        case ICMP_TIMESTAMPREPLY:
+            if (len < 20)
+            {
+                if(pv.verbose_flag)
+                {
                     ErrorMessage("Truncated ICMP header(%d bytes)\n", len);
                 }
 
@@ -2760,24 +3037,442 @@
     return;
 }
 
-
 /*
- * Function: DecodeIPV6(u_int8_t *, u_int32_t)
+ * Function: DecodeIPV6(u_int8_t *, u_int32_t, Packet *)
  *
- * Purpose: Just like IPX, it's just for counting.
+ * Purpose: Decode the IPv6 network layer
  *
  * Arguments: pkt => ptr to the packet data
  *            len => length from here to the end of the packet
+ *            p   => pointer to the packet decode struct
  *
  * Returns: void function
  */
-void DecodeIPV6(u_int8_t *pkt, u_int32_t len)
+void DecodeIPV6(u_int8_t *pkt, u_int32_t len, Packet *p)
 {
-    DEBUG_WRAP(DebugMessage(DEBUG_DECODE, "IPv6 is not supported.\n"););
+    u_int8_t version;
+    u_int16_t plen;
+    Event event;                /* event */
+
     pc.ipv6++;
+
+    p->ip6h = (IP6Hdr *) pkt;
+
+    /* do a little validation */
+    if(len < IP6_HEADER_LEN)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("IPv6 header truncated! (%d bytes)\n", len);
+        }
+        p->ip6h = NULL;
+
+        return;
+    }    
+
+    /* Check Version Field */
+    version = (p->ip6h->s_ip6_vfc & 0xf0) >> 4;
+    plen = ntohs(p->ip6h->s_ip6_plen);
+
+    if ( version != 6 ) 
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("[!] WARNING: Not IPv6 datagram!"
+                         "([ver: 0x%x][len: 0x%x])\n", 
+                         version, plen + IP6_HEADER_LEN);
+        }
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE,
+		     DECODE_NOT_IPV6_DGRAM, 1, DECODE_CLASS, 5, 0);
+            CallAlertFuncs(p, DECODE_NOT_IPV6_DGRAM_STR, NULL, &event);
+	    CallLogFuncs(p, DECODE_NOT_IPV6_DGRAM_STR, NULL, &event);
+
+        }
+        p->ip6h = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    switch(p->ip6h->s_ip6_nxt)
+    {
+        case IPPROTO_TCP:
+            pc.tcp++;
+            DecodeTCP6(pkt + IP6_HEADER_LEN, plen, p);
+            ClearDumpBuf();
+            return;
+
+        case IPPROTO_UDP:
+            pc.udp++;
+            DecodeUDP6(pkt + IP6_HEADER_LEN, plen, p);
+            ClearDumpBuf();
+            return;
+
+        case IPPROTO_ICMPV6:
+            pc.icmpv6++;
+            DecodeICMPV6(pkt + IP6_HEADER_LEN, plen, p);
+            ClearDumpBuf();
+            return;
+
+        case IPPROTO_FRAGMENT:
+            pc.ip6frags++;
+            DecodeIP6Frag(pkt + IP6_HEADER_LEN, plen, p);
+            ClearDumpBuf();
+            return;
+
+        case IPPROTO_HOPOPTS:
+        case IPPROTO_ROUTING:
+        case IPPROTO_NONE:
+        case IPPROTO_DSTOPTS:
+            DecodeIP6Opt(pkt + IP6_HEADER_LEN, plen, p);
+	    return;
+
+        default:
+            pc.other++;
+            p->data = pkt + IP6_HEADER_LEN;
+            p->dsize = (u_short) plen;
+            ClearDumpBuf();
+            return;
+    }
+
     return;
 }
 
+/*
+ * Function: DecodeIP6Only(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the IP network layer but not recurse
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => pointer to dummy packet decode struct
+ *
+ * Returns: void function
+ */
+int DecodeIP6Only(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    u_int8_t version;
+    u_int16_t plen;
+
+    /* lay the IP struct over the raw data */
+    p->ip6h = (IP6Hdr *) pkt;
+
+#ifdef DEBUG
+    printf("DecodeIPv6Only: ip header starts at: %p, length is %lu\n", p->ip6h, (unsigned long) len);
+#endif
+
+    /* do a little validation */
+    if(len < IP6_HEADER_LEN)
+    {
+        ErrorMessage("ICMP Unreachable IPv6 short header (%d bytes)\n", len);
+        p->ip6h = NULL;
+        return(0);
+    }
+
+    version = (p->ip6h->s_ip6_vfc & 0xf0) >> 4;
+    plen = ntohs(p->ip6h->s_ip6_plen);
+    if(version != 6)
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("[!] WARNING: ICMP Unreachable not IPv6 datagram ([ver: 0x%x][len: 0x%x])\n", version, plen);
+        }
+
+        p->ip6h = NULL;
+
+        return(0);
+    }
+
+    switch(p->ip6h->s_ip6_nxt)
+    {
+        case IPPROTO_TCP: /* decode the interesting part of the header */
+            if(plen > 4)
+            {
+                p->tcph =(TCPHdr *)(pkt + IP6_HEADER_LEN);
+                /* stuff more data into the printout data struct */
+                p->sp = ntohs(p->tcph->th_sport);
+                p->dp = ntohs(p->tcph->th_dport);
+            }
+
+            break;
+
+        case IPPROTO_UDP:
+            if(plen > 4)
+            {
+                p->udph = (UDPHdr *)(pkt + IP6_HEADER_LEN);
+                /* fill in the printout data structs */
+                p->sp = ntohs(p->udph->uh_sport);
+                p->dp = ntohs(p->udph->uh_dport);
+            }
+
+            break;
+    }
+
+    return(1);
+}
+
+
+/*
+ * Function: DecodeIP6Frag(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the IPv6 Fragment Header
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => pointer to the decoded packet struct
+ *
+ * Returns: void function
+ */
+void DecodeIP6Frag(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    Event event;                /* event */
+    if(!p->ip6h)
+        return;
+
+    if(len < sizeof(IP6Frag))
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("[!] WARNING: Truncated IPv6 Fragment header(%d bytes)\n", len);
+        }
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE,
+                    DECODE_TRUNCATED_IPV6_FRAG_HDR, 1, 0, 5, 0);
+            CallAlertFuncs(p, DECODE_TRUNCATED_IPV6_FRAG_HDR_STR,
+                    NULL, &event);
+            CallLogFuncs(p, DECODE_TRUNCATED_IPV6_FRAG_HDR_STR,
+                    NULL, &event);
+        }
+         
+        p->ip6fh = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    /* set the header ptr first */
+    p->ip6fh = (IP6Frag *) pkt;
+
+    return;
+}
+
+/*
+ * Function: DecodeIP6Opt(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the IPv6 Option Header
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => pointer to the decoded packet struct
+ *
+ * Returns: void function
+ */
+void DecodeIP6Opt(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    u_int8_t nextheader;
+    u_int8_t hdrextlen;
+    u_int16_t plen;
+
+    if(!p->ip6h)
+        return;
+
+    nextheader = p->ip6h->s_ip6_nxt;
+    plen = len;
+
+    while(1)
+    {
+        if(plen<2) /* size of NextHeader field + HeaderLength field */
+            return;
+
+        switch(nextheader)
+        {
+            case IPPROTO_TCP:
+                pc.tcp++;
+                DecodeTCP(pkt, plen, p);
+                ClearDumpBuf();
+                return;
+
+            case IPPROTO_UDP:
+                pc.udp++;
+                DecodeUDP(pkt, plen, p);
+                ClearDumpBuf();
+                return;
+
+            case IPPROTO_ICMPV6:
+                pc.icmpv6++;
+                DecodeICMPV6(pkt, plen, p);
+                ClearDumpBuf();
+                return;
+
+            case IPPROTO_HOPOPTS:
+            case IPPROTO_DSTOPTS:
+            case IPPROTO_ROUTING:
+		hdrextlen =  (*(pkt+1) + 1) * 8;  /* 8 octet units */
+		if(p->ip6_option_count < MAX_IPv6_OPT)
+                {
+		    p->ip6_options[p->ip6_option_count].type = nextheader;
+		    p->ip6_options[p->ip6_option_count].next = *pkt;
+		    p->ip6_options[p->ip6_option_count].len = hdrextlen;
+		    p->ip6_options[p->ip6_option_count].data = pkt+2;
+                    p->ip6_option_count++;
+		}
+  	        nextheader = *pkt;
+		pkt += hdrextlen;
+		plen -= hdrextlen;
+		break;  
+
+            case IPPROTO_FRAGMENT:
+                pc.ip6frags++;
+                DecodeIP6Frag(pkt, plen, p);
+                ClearDumpBuf();
+                return;
+
+            case IPPROTO_NONE:
+	        return;
+
+	    default:
+                return;
+        }
+    }
+
+    return;
+}
+
+/*
+ * Function: DecodeICMPV6(u_int8_t *, const u_int32_t, Packet *)
+ *
+ * Purpose: Decode the ICMPv6 layer
+ *
+ * Arguments: pkt => ptr to the packet data
+ *            len => length from here to the end of the packet
+ *            p   => pointer to the decoded packet struct
+ *
+ * Returns: void function
+ */
+void DecodeICMPV6(u_int8_t * pkt, const u_int32_t len, Packet * p)
+{
+    u_int16_t csum;
+    Event event;                /* event */
+
+    if(len < sizeof(ICMP6Hdr))
+    {
+        if(pv.verbose_flag)
+        {
+            ErrorMessage("[!] WARNING: Truncated ICMPv6 header(%d bytes)\n", len);
+        }
+        if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+        {
+            SetEvent(&event, GENERATOR_SNORT_DECODE,
+                    DECODE_TRUNCATED_ICMPV6_HDR, 1, 0, 5, 0);
+            CallAlertFuncs(p, DECODE_TRUNCATED_ICMPV6_HDR_STR,
+                    NULL, &event);
+            CallLogFuncs(p, DECODE_TRUNCATED_ICMPV6_HDR_STR,
+                    NULL, &event);
+        }
+
+        p->icmp6h = NULL;
+        pc.discards++;
+
+        return;
+    }
+
+    /* set the header ptr first */
+    p->icmp6h = (ICMP6Hdr *) pkt;
+
+    if(pv.checksums_mode & DO_ICMP_CHECKSUMS)
+    {
+        csum = ipv6_checksum(p, (u_int16_t *)(p->icmp6h), len);
+
+        if(csum)
+        {
+            p->csum_flags |= CSE_ICMP6;
+
+#ifdef DEBUG
+            printf("Bad ICMPv6 Checksum\n");
+#endif
+        }
+#ifdef DEBUG
+        else
+        {
+            printf("ICMPv6 Checksum: OK\n");
+        }
+#endif
+    }
+
+    p->dsize = (u_short)(len - ICMP6_HEADER_LEN);
+    p->data = pkt + ICMP6_HEADER_LEN;
+
+#ifdef DEBUG
+    printf("ICMPv6 type: %d   code: %d\n", p->icmp6h->icmp6_type, p->icmp6h->code);
+#endif
+    switch(p->icmp6h->icmp6_type)
+    {
+        case ICMP6_ECHO_REPLY:
+            /* setup the pkt id ans seq numbers */
+            p->ext = (echoext *) (pkt + ICMP6_HEADER_LEN);
+            p->dsize -= sizeof(echoext);
+            p->data += sizeof(echoext);
+            break;
+        case ICMP6_ECHO_REQUEST:
+            /* setup the pkt id ans seq numbers */
+            p->ext = (echoext *) (pkt + ICMP6_HEADER_LEN);
+            p->dsize -= 4;      /* add the size of the echo ext to the data
+                         * ptr and subtract it from the data size */
+            p->data += 4;
+            break;
+        case ICMP6_DST_UNREACH:
+        case ICMP6_PACKET_TOO_BIG:
+        case ICMP6_TIME_EXCEEDED:
+        case ICMP6_PARAM_PROB:
+            {
+                Packet orig_p;
+
+                /* if unreach packet is smaller than expected! */
+                if(len < 16)
+                {
+                    if(pv.verbose_flag)
+                        ErrorMessage("[!] WARNING: Truncated ICMPv6-UNREACH header (%d bytes)\n", len);
+                    /* if it is less than 8 we are in trouble */
+                    if(len < 8)
+                        break;
+                }
+
+                bzero((char *)&orig_p, sizeof(Packet));
+                orig_p.caplen = len - 8;
+                if(DecodeIP6Only(pkt + 8, orig_p.caplen, &orig_p))
+                {
+
+                    /*
+                     * that's probably what we need to know about an original
+                     * datagram
+                     */
+                    p->orig_ip6h = orig_p.ip6h;
+                    p->orig_tcph = orig_p.tcph;
+                    p->orig_udph = orig_p.udph;
+                    p->orig_sp = orig_p.sp;
+                    p->orig_dp = orig_p.dp;
+                }
+                else
+                {
+                    if((runMode == MODE_IDS) && pv.decoder_flags.decode_alerts)
+                    {
+                        SetEvent(&event, GENERATOR_SNORT_DECODE,
+                                DECODE_IPV6_DGRAM_UNKNOWN, 1, 0, 5, 0);
+                        CallAlertFuncs(p, DECODE_IPV6_DGRAM_UNKNOWN_STR,
+                                NULL, &event);
+                        CallLogFuncs(p, DECODE_IPV6_DGRAM_UNKNOWN_STR,
+                                NULL, &event);
+                    }
+                }
+                break;
+            }
+    }
+
+    return;
+}
 
 /*
  * Function: DecodeIPX(u_int8_t *, u_int32_t)
diff -ur snort-2.0.2/src/decode.h snort-2.0.2-ipv6/src/decode.h
--- snort-2.0.2/src/decode.h	Wed Jul 23 03:24:50 2003
+++ snort-2.0.2-ipv6/src/decode.h	Thu Dec  4 15:33:14 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: decode.h,v 1.73 2003/07/22 18:24:50 chrisgreen Exp $ */
+/* $Id: decode.h,v 1.6 2003/11/29 06:38:58 abekatsu Exp $ */
 
 
 #ifndef __DECODE_H__
@@ -169,9 +169,11 @@
 
 /* otherwise defined in /usr/include/ppp_defs.h */
 #define IP_HEADER_LEN           20
+#define IP6_HEADER_LEN          40
 #define TCP_HEADER_LEN          20
 #define UDP_HEADER_LEN          8
 #define ICMP_HEADER_LEN         4
+#define ICMP6_HEADER_LEN        4
 
 #define TCP_OPTLENMAX           40 /* (((2^4) - 1) * 4  - TCP_HEADER_LEN) */
 
@@ -179,6 +181,8 @@
 #define	IP_MAXPACKET	65535		/* maximum packet size */
 #endif /* IP_MAXPACKET */
 
+#define MAX_IPv6_OPT 40 /* why it definds 40 */
+
 #define TH_FIN  0x01
 #define TH_SYN  0x02
 #define TH_RST  0x04
@@ -423,6 +427,69 @@
 #define ICMP_PARAM_OPTMISSING   1
 #define ICMP_PARAM_BAD_LENGTH   2
 
+#define ICMP6_DST_UNREACH		1	/* dest unreachable, codes: */
+#define ICMP6_PACKET_TOO_BIG		2	/* packet too big */
+#define ICMP6_TIME_EXCEEDED		3	/* time exceeded, code: */
+#define ICMP6_PARAM_PROB		4	/* ip6 header bad */
+
+#define ICMP6_ECHO_REQUEST		128	/* echo service */
+#define ICMP6_ECHO_REPLY		129	/* echo reply */
+#define ICMP6_MEMBERSHIP_QUERY		130	/* group membership query */
+#define MLD_LISTENER_QUERY		130 	/* multicast listener query */
+#define ICMP6_MEMBERSHIP_REPORT		131	/* group membership report */
+#define MLD_LISTENER_REPORT		131	/* multicast listener report */
+#define ICMP6_MEMBERSHIP_REDUCTION	132	/* group membership termination */
+#define MLD_LISTENER_DONE		132	/* multicast listener done */
+#define ND_ROUTER_SOLICIT		133	/* router solicitation */
+#define ND_ROUTER_ADVERT		134	/* router advertisment */
+#define ND_NEIGHBOR_SOLICIT		135	/* neighbor solicitation */
+#define ND_NEIGHBOR_ADVERT		136	/* neighbor advertisment */
+#define ND_REDIRECT			137	/* redirect */
+
+#define ICMP6_ROUTER_RENUMBERING	138	/* router renumbering */
+
+#define ICMP6_WRUREQUEST		139	/* who are you request */
+#define ICMP6_WRUREPLY			140	/* who are you reply */
+#define ICMP6_FQDN_QUERY		139	/* FQDN query */
+#define ICMP6_FQDN_REPLY		140	/* FQDN reply */
+#define ICMP6_NI_QUERY			139	/* node information request */
+#define ICMP6_NI_REPLY			140	/* node information reply */
+
+#define ICMP6_PREFIX_REQUEST            150     /*XXX local agreement*/
+#define ICMP6_PR_DELEGATOR_QUERY        0
+#define ICMP6_PR_INITIAL_REQUEST        1
+#define ICMP6_PR_RENEWAL_REQUEST        2
+#define ICMP6_PR_PREFIX_RETURN          3
+
+#define ICMP6_PREFIX_DELEGATION         151     /*XXX local agreement*/
+#define ICMP6_PD_PREFIX_DELEGATOR       0
+#define ICMP6_PD_AUTH_REQUIRED          1
+#define ICMP6_PD_AUTH_FAILED            2
+#define ICMP6_PD_PREFIX_UNAVAIL         3
+#define ICMP6_PD_PREFIX_DELEGATED       4
+#define ICMP6_PD_PREFIX_RETURNED        5
+
+#define ICMP6_MOBILEPREFIX_SOLICIT      152     /* XXX To be authorized */
+#define ICMP6_MOBILEPREFIX_ADVERT       153     /* XXX To be authorized */
+
+
+/* Codes for ICMP6 UNREACHABLES */
+#define ICMP6_DST_UNREACH_NOROUTE	0	/* no route to destination */
+#define ICMP6_DST_UNREACH_ADMIN	 	1	/* administratively prohibited */
+#define ICMP6_DST_UNREACH_NOTNEIGHBOR	2	/* not a neighbor(obsolete) */
+#define ICMP6_DST_UNREACH_BEYONDSCOPE	2	/* beyond scope of source address */
+#define ICMP6_DST_UNREACH_ADDR		3	/* address unreachable */
+#define ICMP6_DST_UNREACH_NOPORT	4	/* port unreachable */
+
+/* Codes for ICMP6 TIME EXCEED */
+#define ICMP6_TIME_EXCEED_TRANSIT 	0	/* ttl==0 in transit */
+#define ICMP6_TIME_EXCEED_REASSEMBLY	1	/* ttl==0 in reass */
+
+/* Codes for ICMP6 PARAMPROB */
+#define ICMP6_PARAMPROB_HEADER 	 	0	/* erroneous header field */
+#define ICMP6_PARAMPROB_NEXTHEADER	1	/* unrecognized next header */
+#define ICMP6_PARAMPROB_OPTION		2	/* unrecognized option */
+
 /* ip option type codes */
 #ifndef IPOPT_EOL
     #define IPOPT_EOL            0x00
@@ -805,6 +872,36 @@
     struct in_addr ip_src;  /* source IP */
     struct in_addr ip_dst;  /* dest IP */
 }      IPHdr;
+
+typedef struct _IP6Hdr
+{
+    union {
+	struct s_ip6_hdrctl {
+	    u_int32_t ip6_un1_flow;	/* 20 bits of flow-ID */
+	    u_int16_t ip6_un1_plen;	/* payload length */
+	    u_int8_t  ip6_un1_nxt;	/* next header */
+	    u_int8_t  ip6_un1_hlim;	/* hop limit */
+	} ip6_un1;
+	u_int8_t ip6_un2_vfc;	/* 4 bits version, top 4 bits class */
+    } ip6_ctlun;
+    struct in6_addr ip6_src;	/* source address */
+    struct in6_addr ip6_dst;	/* destination address */    
+}     IP6Hdr;
+#define s_ip6_vfc	ip6_ctlun.ip6_un2_vfc
+#define s_ip6_flow	ip6_ctlun.ip6_un1.ip6_un1_flow
+#define s_ip6_plen	ip6_ctlun.ip6_un1.ip6_un1_plen
+#define s_ip6_nxt	ip6_ctlun.ip6_un1.ip6_un1_nxt
+#define s_ip6_hlim	ip6_ctlun.ip6_un1.ip6_un1_hlim
+#define s_ip6_hops	ip6_ctlun.ip6_un1.ip6_un1_hlim
+
+typedef struct _IP6Frag
+{
+     u_int8_t	ip6frag_nxt;	/* next header */
+     u_int8_t	ip6frag_rsv;	/* reserved */
+     u_int16_t	ip6frag_off;	/* fragment offset and M frag */
+     u_int32_t	ip6frag_ide;	/* identification field */
+}     IP6Frag;
+
 #ifdef WIN32
   /* Visual C++ pragma to enable warning messages about nonstandard bit field type */
   #pragma warning( default : 4214 )
@@ -942,6 +1039,25 @@
 
 }        ICMPHdr;
 
+typedef struct _ICMP6Hdr 
+{
+    u_int8_t	icmp6_type;	/* type field */
+    u_int8_t	icmp6_code;	/* code field */
+    u_int16_t	icmp6_cksum;	/* checksum field */
+    union {
+	u_int32_t	icmp6_un_data32[1]; /* type-specific field */
+	u_int16_t	icmp6_un_data16[2]; /* type-specific field */
+	u_int8_t	icmp6_un_data8[4];  /* type-specific field */
+    } icmp6_dataun;
+}        ICMP6Hdr;
+#define s_icmp6_data32	icmp6_dataun.icmp6_un_data32
+#define s_icmp6_data16	icmp6_dataun.icmp6_un_data16
+#define s_icmp6_data8	icmp6_dataun.icmp6_un_data8
+#define s_icmp6_pptr	s_icmp6_data32[0]	/* parameter prob */
+#define s_icmp6_mtu	s_icmp6_data32[0]	/* packet too big */
+#define s_icmp6_id	s_icmp6_data16[0]	/* echo request/reply */
+#define s_icmp6_seq	s_icmp6_data16[1]	/* echo request/reply */
+#define s_icmp6_maxdelay	s_icmp6_data16[0]		/* mcast group membership */
 
 typedef struct _echoext
 {
@@ -1001,6 +1117,15 @@
     u_int8_t *data;
 }        Options;
 
+typedef struct _IPv6Opt
+{
+    u_int8_t type;
+    u_int8_t next;
+    u_int32_t len;
+    u_int8_t *data;
+}        IPv6Opt;
+
+
 /* PPPoEHdr Header; EtherHdr plus the PPPoE Header */
 typedef struct _PPPoEHdr
 {
@@ -1140,12 +1265,17 @@
     u_int32_t ip_options_len;
     u_int8_t *ip_options_data;
 
+    IP6Hdr *ip6h, *orig_ip6h;
+
+    IP6Frag *ip6fh;
+
     TCPHdr *tcph, *orig_tcph;
     u_int32_t tcp_options_len;
     u_int8_t *tcp_options_data;
 
     UDPHdr *udph, *orig_udph;
     ICMPHdr *icmph, *orig_icmph;
+    ICMP6Hdr *icmp6h, *orig_icmp6h;
 
     echoext *ext;       /* ICMP echo extension struct */
 
@@ -1179,7 +1309,10 @@
     u_int32_t tcp_option_count;
     u_char tcp_lastopt_bad;  /* flag to indicate that option decoding was
                                 halted due to a bad option */
-
+    IPv6Opt ip6_options[MAX_IPv6_OPT]; /* IPv6 Option Header decode structure */
+    u_int32_t ip6_option_count;  /* number of Option Header in this packet */
+    u_char ip6_lastopt_bad;  /* flag to indicate that option decoding was
+				halted due to a bad option */
     u_int8_t csum_flags;        /* checksum flags */
     u_int32_t packet_flags;     /* special flags for the packet */
     int preprocessors;          /* flags for preprocessors to check */
@@ -1221,7 +1354,7 @@
 void DecodeARP(u_int8_t *, u_int32_t, Packet *);
 void DecodeEapol(u_int8_t *, u_int32_t, Packet *);
 void DecodeEapolKey(u_int8_t *, u_int32_t, Packet *);
-void DecodeIPV6(u_int8_t *, u_int32_t);
+void DecodeIPV6(u_int8_t *, u_int32_t, Packet *);
 void DecodeIPX(u_int8_t *, u_int32_t);
 void DecodeTCP(u_int8_t *, const u_int32_t, Packet *);
 void DecodeUDP(u_int8_t *, const u_int32_t, Packet *);
@@ -1231,6 +1364,9 @@
 void DecodeTCPOptions(u_int8_t *, u_int32_t, Packet *);
 void DecodeIPOptions(u_int8_t *, u_int32_t, Packet *);
 void DecodePPPoEPkt(Packet *, struct pcap_pkthdr *, u_int8_t *);
+void DecodeIP6Frag(u_int8_t *, const u_int32_t, Packet *);
+void DecodeIP6Opt(u_int8_t *, const u_int32_t, Packet *);
+void DecodeICMPV6(u_int8_t *, const u_int32_t, Packet *);
 #if defined(WORDS_MUSTALIGN) && !defined(__GNUC__)
 u_int32_t EXTRACT_32BITS (u_char *);
 #endif /* WORDS_MUSTALIGN && !__GNUC__ */
diff -ur snort-2.0.2/src/detect.c snort-2.0.2-ipv6/src/detect.c
--- snort-2.0.2/src/detect.c	Tue Aug  5 00:18:35 2003
+++ snort-2.0.2-ipv6/src/detect.c	Sat Nov 29 15:44:44 2003
@@ -1,4 +1,4 @@
-/* $Id: detect.c,v 1.38 2003/08/04 15:18:35 chrisgreen Exp $ */
+/* $Id: detect.c,v 1.5 2003/11/29 06:44:44 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2002, Sourcefire, Inc.
@@ -34,6 +34,9 @@
 #include <string.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
 
 #include "snort.h"
 #include "detect.h"
@@ -304,7 +307,7 @@
 
     check_tags_flag = 1;
 
-    if(p && p->iph == NULL)
+    if(p && p->iph == NULL && p->ip6h == NULL)
         return 0;
 
     /*
@@ -355,6 +358,182 @@
 
 }
 
+#if HAVE_GETNAMEINFO 
+int CheckAddrPort(IpAddrSet *rule_addr, u_int16_t hi_port, u_int16_t lo_port, 
+        Packet *p, u_int32_t flags, int mode)
+{
+    struct sockaddr_storage pkt_ss;         /* packet IP address */
+    u_short pkt_port;                       /* packet port */
+    int global_except_addr_flag = 0; /* global exception flag is set */
+    int any_port_flag = 0;           /* any port flag set */
+    int except_addr_flag = 0;        /* any addr flag set */
+    int except_port_flag = 0;        /* port exception flag set */
+    int ip_match = 0;                /* flag to indicate addr match made */
+    IpAddrSet *idx;  /* ip addr struct indexer */
+    char *host = NULL;
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "CheckAddrPort: "););
+    /* set up the packet particulars */
+
+    if(mode & CHECK_SRC)
+    {
+        IpAddrGet(&pkt_ss, p, SRC);
+        pkt_port = p->sp;
+
+        DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"SRC "););
+
+        if(mode & INVERSE)
+        {
+            global_except_addr_flag = flags & EXCEPT_DST_IP;
+            any_port_flag = flags & ANY_DST_PORT;
+            except_port_flag = flags & EXCEPT_DST_PORT;
+        }
+        else
+        {
+            global_except_addr_flag = flags & EXCEPT_SRC_IP;
+            any_port_flag = flags & ANY_SRC_PORT;
+            except_port_flag = flags & EXCEPT_SRC_PORT;
+        }
+    }
+    else
+    {
+	 IpAddrGet(&pkt_ss, p, DST);
+	 pkt_port = p->dp;
+	
+	 DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "DST "););
+
+	 if(mode & INVERSE)
+	 {
+	      global_except_addr_flag = flags & EXCEPT_SRC_IP;
+	      any_port_flag = flags & ANY_SRC_PORT;
+	      except_port_flag = flags & EXCEPT_SRC_PORT;
+	 }
+	 else
+	 {
+	      global_except_addr_flag = flags & EXCEPT_DST_IP;
+	      any_port_flag = flags & ANY_DST_PORT;
+	      except_port_flag = flags & EXCEPT_DST_PORT;
+	 }
+    }
+
+    host = GetIpAddr(&pkt_ss);
+    if (host != NULL)
+    {
+	 DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "addr %s, port %d ", host, 
+				 pkt_port););	 
+    }
+    else
+    {
+	 DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "Unknown address, port %d ", pkt_addr, 
+				 pkt_port););
+    }
+
+    idx = rule_addr;
+    if(!(global_except_addr_flag)) /*modeled after Check{Src,Dst}IP function*/
+    {
+        while(idx != NULL)
+        {
+	     struct sockaddr_storage tmp_ss;
+	     memset(&tmp_ss, 0, sizeof(tmp_ss));
+
+	     except_addr_flag = idx->addr_flags & EXCEPT_IP;
+
+	     /* test the rule address vs. the packet address */
+	     if (idx->ip_addr.ss_family == PF_UNSPEC)
+		 idx->ip_addr.ss_family = pkt_ss.ss_family;
+	     if (idx->netmask.ss_family == PF_UNSPEC)
+		 idx->netmask.ss_family = pkt_ss.ss_family;
+	     IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	     if(!((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0) ^ except_addr_flag))
+	     {
+		  idx = idx->next;
+	     }
+	     else
+	     {
+		  ip_match = 1;
+		  goto bail;
+	     }
+        }
+    }
+    else
+    {
+	 DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", global exception flag set"););
+	 /* global exception flag is up, we can't match on *any* 
+	  * of the source addresses 
+	  */
+	 while(idx != NULL)
+	 {
+	      struct sockaddr_storage tmp_ss;
+	      memset(&tmp_ss, 0, sizeof(tmp_ss));
+
+	      except_addr_flag = idx->addr_flags & EXCEPT_IP;
+
+	      /* test the rule address vs. the packet address */
+	      if(idx->ip_addr.ss_family == PF_UNSPEC)
+		  idx->ip_addr.ss_family = pkt_ss.ss_family;
+	      if(idx->netmask.ss_family == PF_UNSPEC)
+		  idx->netmask.ss_family = pkt_ss.ss_family;
+	      IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	      if(!((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0) ^ except_addr_flag))
+	      {
+		   DEBUG_WRAP(DebugMessage(DEBUG_DETECT, 
+					   ", address matched, packet rejected\n"));
+		   
+		   /* got address match on globally negated rule, fail */
+		   return 0;
+	      }
+	      idx = idx->next;
+	 }
+	 ip_match = 1;
+    }
+ bail:
+    if(!ip_match)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", no address match,  "
+                    "packet rejected\n"););
+        return 0;
+    }
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", addresses accepted"););
+    
+    /* if the any port flag is up, we're all done (success) */
+    if(any_port_flag)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", any port match, "
+                    "packet accepted\n"););
+        return 1;
+    }
+
+    /* check the packet port against the rule port */
+    if((pkt_port > hi_port) || (pkt_port < lo_port))
+    {
+        /* if the exception flag isn't up, fail */
+        if(!except_port_flag)
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", port mismatch,  "
+                        "packet rejected\n"););
+            return 0;
+        }
+        DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", port mismatch exception"););
+    }
+    else
+    {
+        /* if the exception flag is up, fail */
+        if(except_port_flag)
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DETECT,
+				    ", port match exception,  packet rejected\n"););
+            return 0;
+        }
+        DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", ports match"););
+    }
+
+    /* ports and address match */
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, ", packet accepted!\n"););
+    return 1;
+
+}
+#else
 int CheckAddrPort(IpAddrSet *rule_addr, u_int16_t hi_port, u_int16_t lo_port, 
         Packet *p, u_int32_t flags, int mode)
 {
@@ -504,7 +683,7 @@
     return 1;
 
 }
-
+#endif
 /****************************************************************************
  *
  * Function: DumpChain(RuleTreeNode *, char *, char *)
@@ -791,6 +970,90 @@
  * Returns: 0 on failure (no match), 1 on success (match)
  *
  ***************************************************************************/
+#ifdef HAVE_SOCKADDR_STORAGE
+int CheckSrcIP(Packet * p, struct _RuleTreeNode * rtn_idx, RuleFpList * fp_list)
+{
+     IpAddrSet *idx; /* ip address indexer */
+     struct sockaddr_storage tmp_ss, pkt_ss;
+
+     memset(&pkt_ss, 0, sizeof(pkt_ss));
+     IpAddrGet(&pkt_ss, p, SRC);
+
+     DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"CheckSrcIPEqual: "););
+
+     /* check for global exception flag */
+     if(!(rtn_idx->flags & EXCEPT_SRC_IP))
+     {
+	  /* do the check */
+	  for(idx=rtn_idx->sip; idx != NULL; idx=idx->next)
+	  {
+	       memset(&tmp_ss, 0, sizeof(tmp_ss));
+	       if (idx->ip_addr.ss_family == PF_UNSPEC)
+		   idx->ip_addr.ss_family = pkt_ss.ss_family;
+	       if (idx->netmask.ss_family == PF_UNSPEC)
+		   idx->netmask.ss_family = pkt_ss.ss_family;
+	       IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	       if( ((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0)
+		    ^ (idx->addr_flags & EXCEPT_IP)) )
+	       {
+#ifdef DEBUG
+		    if(idx->addr_flags & EXCEPT_IP) {
+			 DebugMessage(DEBUG_DETECT, "  SIP exception match\n");
+		    } 
+		    else
+		    {
+			 DebugMessage(DEBUG_DETECT, "  SIP match\n");
+		    }
+
+		    {
+			 char *rule = NULL, *netmask = NULL;
+			 rule = GetIpAddr(&idx->ip_addr);
+			 netmask = GetIpAddr(&idx->netmask);
+			 if (rule != NULL && netmask != NULL) 
+			      DebugMessage(DEBUG_DETECT, "Rule: %s     Packet: %s\n", rule, netmask);
+		    }
+#endif /* DEBUG */
+
+		    /* the packet matches this test, proceed to the next test */
+		    return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+	       }
+	  } 
+     }
+     else
+     {
+	  /* global exception flag is up, we can't match on *any* 
+	   * of the source addresses 
+	   */
+	  DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  global exception flag, \n"););
+
+	  /* do the check */
+	  for(idx=rtn_idx->sip; idx != NULL; idx=idx->next)
+	  {
+	       memset(&tmp_ss, 0, sizeof(tmp_ss));
+	       if (idx->ip_addr.ss_family == PF_UNSPEC)
+		   idx->ip_addr.ss_family = pkt_ss.ss_family;
+	       if (idx->netmask.ss_family == PF_UNSPEC)
+		   idx->netmask.ss_family = pkt_ss.ss_family;
+	       IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	       if( ((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0)
+		    ^ (idx->addr_flags & EXCEPT_IP)) )
+	       {
+		    DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"address matched, failing on SIP\n"););
+		    /* got address match on globally negated rule, fail */
+		    return 0;
+	       }
+	  }
+	  DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"no matches on SIP, passed\n"););
+	  
+	  return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+     }
+    
+     DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  Mismatch on SIP\n"););
+
+     /* return 0 on a failed test */
+     return 0;
+}
+#else
 int CheckSrcIP(Packet * p, struct _RuleTreeNode * rtn_idx, RuleFpList * fp_list)
 {
     IpAddrSet *idx; /* ip address indexer */
@@ -852,7 +1115,7 @@
     /* return 0 on a failed test */
     return 0;
 }
-
+#endif
 
 
 /****************************************************************************
@@ -869,6 +1132,40 @@
  * Returns: 0 on failure (no match), 1 on success (match)
  *
  ***************************************************************************/
+#if HAVE_SOCKADDR_STORAGE
+int CheckSrcIPNotEq(Packet *p, struct _RuleTreeNode *rtn_idx, 
+        RuleFpList *fp_list)
+{
+    IpAddrSet *idx;  /* IP address indexer */
+    struct sockaddr_storage tmp_ss, pkt_ss;
+
+    memset(&pkt_ss, 0, sizeof(pkt_ss));
+    IpAddrGet(&pkt_ss, p, SRC);
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "CheckSrcIPNotEq: "););
+    /* do the check */
+    for(idx=rtn_idx->sip; idx != NULL; idx=idx->next)
+    {
+	memset(&tmp_ss, 0, sizeof(tmp_ss));
+	if (idx->ip_addr.ss_family == PF_UNSPEC)
+	    idx->ip_addr.ss_family = pkt_ss.ss_family;
+	if (idx->netmask.ss_family == PF_UNSPEC)
+	    idx->netmask.ss_family = pkt_ss.ss_family;
+	IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+        if( IpAddrEquals(&idx->ip_addr, &tmp_ss) != 0 )
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "  SIP exception match\n"););
+            /* the packet matches this test, proceed to the next test */
+            return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+        }
+    }
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "  Mismatch on SIP\n"););
+    
+    /* return 0 on a failed test */
+    return 0;
+}
+#else
 int CheckSrcIPNotEq(Packet *p, struct _RuleTreeNode *rtn_idx, 
         RuleFpList *fp_list)
 {
@@ -891,7 +1188,7 @@
     /* return 0 on a failed test */
     return 0;
 }
-
+#endif
 
 
 /****************************************************************************
@@ -907,6 +1204,91 @@
  * Returns: 0 on failure (no match), 1 on success (match)
  *
  ***************************************************************************/
+#ifdef HAVE_SOCKADDR_STORAGE
+int CheckDstIP(Packet *p, struct _RuleTreeNode *rtn_idx, RuleFpList *fp_list)
+{
+    IpAddrSet *idx;  /* ip address indexer */
+    struct sockaddr_storage tmp_ss, pkt_ss;
+
+    memset(&pkt_ss, 0, sizeof(pkt_ss));
+    IpAddrGet(&pkt_ss, p, DST);
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT, "CheckDstIPEqual: ");)
+
+    /* check for global exception flag */
+    if(!(rtn_idx->flags & EXCEPT_DST_IP))
+    {
+	 /* do the check */
+	 for(idx=rtn_idx->dip; idx != NULL; idx=idx->next)
+	  {
+	       memset(&tmp_ss, 0, sizeof(tmp_ss));
+	       if (idx->ip_addr.ss_family == PF_UNSPEC)
+		   idx->ip_addr.ss_family = pkt_ss.ss_family;
+	       if (idx->netmask.ss_family == PF_UNSPEC)
+		   idx->netmask.ss_family = pkt_ss.ss_family;
+	       IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	       if( ((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0)
+		    ^ (idx->addr_flags & EXCEPT_IP)) )
+	       {
+#ifdef DEBUG
+		    if(idx->addr_flags & EXCEPT_IP) {
+			 DebugMessage(DEBUG_DETECT, "  SIP exception match\n");
+		    } 
+		    else
+		    {
+			 DebugMessage(DEBUG_DETECT, "  SIP match\n");
+		    }
+
+		    {
+			 char *rule = NULL, *netmask = NULL;
+			 rule = GetIpAddr(&idx->ip_addr);
+			 netmask = GetIpAddr(&idx->netmask);
+			 if (rule != NULL && netmask != NULL) 
+			      DebugMessage(DEBUG_DETECT, "Rule: %s     Packet: %s\n", rule, netmask);
+		    }
+#endif /* DEBUG */
+
+		    /* the packet matches this test, proceed to the next test */
+		    return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+	       }
+	  } 
+     }
+     else
+     {
+	  /* global exception flag is up, we can't match on *any* 
+	   * of the source addresses 
+	   */
+	  DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  global exception flag, \n"););
+
+	  /* do the check */
+	  for(idx=rtn_idx->dip; idx != NULL; idx=idx->next)
+	  {
+	       memset(&tmp_ss, 0, sizeof(tmp_ss));
+	       if (idx->ip_addr.ss_family == PF_UNSPEC)
+		   idx->ip_addr.ss_family = pkt_ss.ss_family;
+	       if (idx->netmask.ss_family == PF_UNSPEC)
+		   idx->netmask.ss_family = pkt_ss.ss_family;
+	       IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+	       if( ((IpAddrEquals(&idx->ip_addr, &tmp_ss) == 0)
+		    ^ (idx->addr_flags & EXCEPT_IP)) )
+	       {
+		    DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"address matched, failing on SIP\n"););
+		    /* got address match on globally negated rule, fail */
+		    return 0;
+	       }
+	  }
+	  DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"no matches on SIP, passed\n"););
+	  
+	  return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+     }
+    
+     DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  Mismatch on SIP\n"););
+
+     /* return 0 on a failed test */
+     return 0;
+
+}
+#else
 int CheckDstIP(Packet *p, struct _RuleTreeNode *rtn_idx, RuleFpList *fp_list)
 {
     IpAddrSet *idx;  /* ip address indexer */
@@ -933,7 +1315,7 @@
                 }
                 
                 DebugMessage(DEBUG_DETECT, "Rule: 0x%X     Packet: 0x%X\n", 
-                        idx->ip_addr, (p->iph->ip_src.s_addr & idx->netmask));
+                        idx->ip_addr, (p->iph->ip_dst.s_addr & idx->netmask));
 #endif /* DEBUG */
                 /* the packet matches this test, proceed to the next test */
                 return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
@@ -968,7 +1350,7 @@
     /* return 0 on a failed test */
     return 0;
 }
-
+#endif
 
 /****************************************************************************
  *
@@ -983,6 +1365,39 @@
  * Returns: 0 on failure (no match), 1 on success (match)
  *
  ***************************************************************************/
+#if HAVE_SOCKADDR_STORAGE
+int CheckDstIPNotEq(Packet *p, struct _RuleTreeNode *rtn_idx, 
+		    RuleFpList *fp_list)
+{
+    IpAddrSet *idx; /* ip address indexer */
+    struct sockaddr_storage tmp_ss, pkt_ss;
+
+    memset(&pkt_ss, 0, sizeof(pkt_ss));
+    IpAddrGet(&pkt_ss, p, DST);
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"CheckDstIPNotEq: "););
+
+    /* same as above */
+    for(idx=rtn_idx->dip;idx != NULL; idx=idx->next)
+    {
+	memset(&tmp_ss, 0, sizeof(tmp_ss));
+	if (idx->ip_addr.ss_family == PF_UNSPEC)
+	    idx->ip_addr.ss_family = pkt_ss.ss_family;
+	if (idx->netmask.ss_family == PF_UNSPEC)
+	    idx->netmask.ss_family = pkt_ss.ss_family;
+	IpAddrTakeAnd(&tmp_ss, &pkt_ss, &idx->netmask);
+        if( IpAddrEquals(&idx->ip_addr, &tmp_ss) != 0 )
+        {
+            DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  DIP exception match\n"););
+            return fp_list->next->RuleHeadFunc(p, rtn_idx, fp_list->next);
+        }
+    }
+
+    DEBUG_WRAP(DebugMessage(DEBUG_DETECT,"  Mismatch on DIP\n"););
+
+    return 0;
+}
+#else
 int CheckDstIPNotEq(Packet *p, struct _RuleTreeNode *rtn_idx, 
         RuleFpList *fp_list)
 {
@@ -1004,7 +1419,7 @@
 
     return 0;
 }
-
+#endif
 
 
 int CheckSrcPortEqual(Packet *p, struct _RuleTreeNode *rtn_idx, 
@@ -1174,9 +1589,11 @@
     {
         node->RuleList = (ListHead *)calloc(1, sizeof(ListHead));
         node->RuleList->IpList = NULL;
+        node->RuleList->Ip6List = NULL;
         node->RuleList->TcpList = NULL;
         node->RuleList->UdpList = NULL;
         node->RuleList->IcmpList = NULL;
+        node->RuleList->Icmp6List = NULL;
         node->RuleList->LogList = NULL;
         node->RuleList->AlertList = NULL;
     }
diff -ur snort-2.0.2/src/detect.h snort-2.0.2-ipv6/src/detect.h
--- snort-2.0.2/src/detect.h	Tue Nov 19 05:18:17 2002
+++ snort-2.0.2-ipv6/src/detect.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: detect.h,v 1.8 2002/11/18 20:18:17 chrisgreen Exp $ */
+/* $Id: detect.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/detection-plugins/Makefile.am snort-2.0.2-ipv6/src/detection-plugins/Makefile.am
--- snort-2.0.2/src/detection-plugins/Makefile.am	Tue Nov  5 23:49:22 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/Makefile.am	Thu Dec  4 13:32:52 2003
@@ -15,6 +15,10 @@
 sp_tcp_flag_check.h sp_tcp_flag_check.c sp_tcp_seq_check.c sp_tcp_seq_check.h  \
 sp_tcp_win_check.c sp_tcp_win_check.h sp_ttl_check.c sp_ttl_check.h            \
 sp_clientserver.c sp_clientserver.h sp_byte_check.c sp_byte_check.h            \
-sp_byte_jump.c sp_byte_jump.h
+sp_byte_jump.c sp_byte_jump.h \
+sp_hlim_check.c sp_hlim_check.h \
+sp_icmp6_id_check.c sp_icmp6_id_check.h sp_icmp6_seq_check.c sp_icmp6_seq_check.h \
+sp_icmp6_code_check.c sp_icmp6_code_check.h sp_icmp6_type_check.c sp_icmp6_type_check.h \
+sp_ip6_proto.c sp_ip6_proto.h
 
 INCLUDES = @INCLUDES@
diff -ur snort-2.0.2/src/detection-plugins/Makefile.in snort-2.0.2-ipv6/src/detection-plugins/Makefile.in
--- snort-2.0.2/src/detection-plugins/Makefile.in	Thu Sep 11 05:27:38 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/Makefile.in	Thu Dec  4 15:27:20 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 noinst_LIBRARIES = libspd.a
@@ -96,7 +90,11 @@
 sp_tcp_flag_check.h sp_tcp_flag_check.c sp_tcp_seq_check.c sp_tcp_seq_check.h  \
 sp_tcp_win_check.c sp_tcp_win_check.h sp_ttl_check.c sp_ttl_check.h            \
 sp_clientserver.c sp_clientserver.h sp_byte_check.c sp_byte_check.h            \
-sp_byte_jump.c sp_byte_jump.h
+sp_byte_jump.c sp_byte_jump.h \
+sp_hlim_check.c sp_hlim_check.h \
+sp_icmp6_id_check.c sp_icmp6_id_check.h sp_icmp6_seq_check.c sp_icmp6_seq_check.h \
+sp_icmp6_code_check.c sp_icmp6_code_check.h sp_icmp6_type_check.c sp_icmp6_type_check.h \
+sp_ip6_proto.c sp_ip6_proto.h
 
 subdir = src/detection-plugins
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -118,7 +116,10 @@
 	sp_tcp_flag_check.$(OBJEXT) sp_tcp_seq_check.$(OBJEXT) \
 	sp_tcp_win_check.$(OBJEXT) sp_ttl_check.$(OBJEXT) \
 	sp_clientserver.$(OBJEXT) sp_byte_check.$(OBJEXT) \
-	sp_byte_jump.$(OBJEXT)
+	sp_byte_jump.$(OBJEXT) sp_hlim_check.$(OBJEXT) \
+	sp_icmp6_id_check.$(OBJEXT) sp_icmp6_seq_check.$(OBJEXT) \
+	sp_icmp6_code_check.$(OBJEXT) sp_icmp6_type_check.$(OBJEXT) \
+	sp_ip6_proto.$(OBJEXT)
 libspd_a_OBJECTS = $(am_libspd_a_OBJECTS)
 
 DEFS = @DEFS@
@@ -127,7 +128,6 @@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp =
-am__depfiles_maybe =
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -145,7 +145,9 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/detection-plugins/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 
 AR = ar
 
@@ -163,67 +165,59 @@
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+	$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
 
 .c.obj:
 	$(COMPILE) -c `cygpath -w $<`
 uninstall-info-am:
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
 	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -247,7 +241,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -255,7 +248,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/detection-plugins/sp_byte_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_byte_check.c
--- snort-2.0.2/src/detection-plugins/sp_byte_check.c	Thu Jun  5 04:27:34 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_byte_check.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_byte_check.c,v 1.19 2003/05/31 13:34:38 cazz Exp $ */
+/* $Id: sp_byte_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* Copyright (C) 2002 Sourcefire Inc. */
 /* Author: Martin Roesch*/
 
diff -ur snort-2.0.2/src/detection-plugins/sp_byte_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_byte_check.h
--- snort-2.0.2/src/detection-plugins/sp_byte_check.h	Fri Mar 14 17:28:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_byte_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_byte_check.h,v 1.2 2003/03/14 08:28:52 chris_reid Exp $ */
+/* $Id: sp_byte_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SP_BYTE_CHECK_H__
 #define __SP_BYTE_CHECK_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_byte_jump.c snort-2.0.2-ipv6/src/detection-plugins/sp_byte_jump.c
--- snort-2.0.2/src/detection-plugins/sp_byte_jump.c	Wed May 14 00:55:33 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_byte_jump.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_byte_jump.c,v 1.13 2003/05/13 15:55:33 chrisgreen Exp $ */
+/* $Id: sp_byte_jump.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* Copyright (C) 2002 Sourcefire Inc. */
 /* Author: Martin Roesch*/
 
diff -ur snort-2.0.2/src/detection-plugins/sp_byte_jump.h snort-2.0.2-ipv6/src/detection-plugins/sp_byte_jump.h
--- snort-2.0.2/src/detection-plugins/sp_byte_jump.h	Fri Mar 14 17:28:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_byte_jump.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_byte_jump.h,v 1.2 2003/03/14 08:28:52 chris_reid Exp $ */
+/* $Id: sp_byte_jump.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SP_BYTE_JUMP_H__
 #define __SP_BYTE_JUMP_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_clientserver.c snort-2.0.2-ipv6/src/detection-plugins/sp_clientserver.c
--- snort-2.0.2/src/detection-plugins/sp_clientserver.c	Thu Mar 27 06:59:32 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_clientserver.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_clientserver.c,v 1.18 2003/03/26 21:59:32 chrisgreen Exp $ */
+/* $Id: sp_clientserver.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* sp_clientserver 
  * 
diff -ur snort-2.0.2/src/detection-plugins/sp_clientserver.h snort-2.0.2-ipv6/src/detection-plugins/sp_clientserver.h
--- snort-2.0.2/src/detection-plugins/sp_clientserver.h	Fri Mar 14 17:28:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_clientserver.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_clientserver.h,v 1.5 2003/03/14 08:28:52 chris_reid Exp $ */
+/* $Id: sp_clientserver.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* ClientServer detection plugin header */
 
 #ifndef __SP_CLIENTSERVER_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_dsize_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_dsize_check.c
--- snort-2.0.2/src/detection-plugins/sp_dsize_check.c	Wed May 14 05:53:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_dsize_check.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_dsize_check.c,v 1.14 2003/05/13 20:53:52 chrisgreen Exp $ */
+/* $Id: sp_dsize_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/detection-plugins/sp_dsize_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_dsize_check.h
--- snort-2.0.2/src/detection-plugins/sp_dsize_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_dsize_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_dsize_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_dsize_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_DSIZE_CHECK_H__
 #define __SP_DSIZE_CHECK_H__
 
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_hlim_check.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_hlim_check.h
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_code_check.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_code_check.h
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_id_check.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_id_check.h
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_seq_check.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_seq_check.h
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_type_check.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_icmp6_type_check.h
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_code_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_code_check.c
--- snort-2.0.2/src/detection-plugins/sp_icmp_code_check.c	Wed May 14 05:53:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_code_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_code_check.c,v 1.12 2003/05/13 20:53:52 chrisgreen Exp $ */
+/* $Id: sp_icmp_code_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <stdlib.h>
 #include <ctype.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_code_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_code_check.h
--- snort-2.0.2/src/detection-plugins/sp_icmp_code_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_code_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_code_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_icmp_code_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_ICMP_CODE_CHECK_H__
 #define __SP_ICMP_CODE_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_id_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_id_check.c
--- snort-2.0.2/src/detection-plugins/sp_icmp_id_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_id_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_id_check.c,v 1.13 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_icmp_id_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* sp_icmp_id 
  * 
  * Purpose:
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_id_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_id_check.h
--- snort-2.0.2/src/detection-plugins/sp_icmp_id_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_id_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_id_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_icmp_id_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* ICMP ping ID field detection plugin */
 
 #ifndef __SP_ICMP_ID_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_seq_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_seq_check.c
--- snort-2.0.2/src/detection-plugins/sp_icmp_seq_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_seq_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_seq_check.c,v 1.14 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_icmp_seq_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* sp_icmp_seq_check 
  * 
  * Purpose:
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_seq_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_seq_check.h
--- snort-2.0.2/src/detection-plugins/sp_icmp_seq_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_seq_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_seq_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_icmp_seq_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* ICMP ping Seq field detection plugin */
 
 #ifndef __SP_ICMP_SEQ_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_type_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_type_check.c
--- snort-2.0.2/src/detection-plugins/sp_icmp_type_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_type_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_type_check.c,v 1.13 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_icmp_type_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <stdlib.h>
 #include <ctype.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_icmp_type_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_type_check.h
--- snort-2.0.2/src/detection-plugins/sp_icmp_type_check.h	Thu Oct 10 14:05:56 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_icmp_type_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_icmp_type_check.h,v 1.6 2002/10/10 05:05:56 chrisgreen Exp $ */
+/* $Id: sp_icmp_type_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_ICMP_TYPE_CHECK_H__
 #define __SP_ICMP_TYPE_CHECK_H__
 
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_ip6_proto.c
Only in snort-2.0.2-ipv6/src/detection-plugins: sp_ip6_proto.h
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_fragbits.c snort-2.0.2-ipv6/src/detection-plugins/sp_ip_fragbits.c
--- snort-2.0.2/src/detection-plugins/sp_ip_fragbits.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_fragbits.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_ip_fragbits.c,v 1.15 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_ip_fragbits.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_fragbits.h snort-2.0.2-ipv6/src/detection-plugins/sp_ip_fragbits.h
--- snort-2.0.2/src/detection-plugins/sp_ip_fragbits.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_fragbits.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_ip_fragbits.h,v 1.6 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_ip_fragbits.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_id_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_ip_id_check.c
--- snort-2.0.2/src/detection-plugins/sp_ip_id_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_id_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_id_check.c,v 1.14 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_ip_id_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <sys/types.h>
 #include <stdlib.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_id_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_ip_id_check.h
--- snort-2.0.2/src/detection-plugins/sp_ip_id_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_id_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_id_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_ip_id_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_IP_ID_CHECK_H__
 #define __SP_IP_ID_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_proto.c snort-2.0.2-ipv6/src/detection-plugins/sp_ip_proto.c
--- snort-2.0.2/src/detection-plugins/sp_ip_proto.c	Thu Mar 27 06:59:32 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_proto.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_ip_proto.c,v 1.13 2003/03/26 21:59:32 chrisgreen Exp $ */
+/* $Id: sp_ip_proto.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* sp_ip_proto 
  * 
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_proto.h snort-2.0.2-ipv6/src/detection-plugins/sp_ip_proto.h
--- snort-2.0.2/src/detection-plugins/sp_ip_proto.h	Fri Mar 14 17:28:52 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_proto.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_proto.h,v 1.5 2003/03/14 08:28:52 chris_reid Exp $ */
+/* $Id: sp_ip_proto.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SP_IP_PROTO_H__
 #define __SP_IP_PROTO_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_same_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_ip_same_check.c
--- snort-2.0.2/src/detection-plugins/sp_ip_same_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_same_check.c	Sat Nov 29 16:41:02 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_same_check.c,v 1.9 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_ip_same_check.c,v 1.2 2003/11/29 07:41:02 abekatsu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -154,25 +154,49 @@
  ****************************************************************************/
 int IpSameCheck(Packet *p, struct _OptTreeNode *otn, OptFpList *fp_list)
 {
-    if(!p->iph)
+    if(!p->iph || !p->ip6h)
         return 0; /* if error occured while ip header
                    * was processed, return 0 automagically.
                */
-    if (p->iph->ip_src.s_addr == p->iph->ip_dst.s_addr) 
+
+    if (p->iph != NULL)
     {
+	if (p->iph->ip_src.s_addr == p->iph->ip_dst.s_addr) 
+	{
 
-	DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"Match!  %x -> %x\n",
-				p->iph->ip_src.s_addr,  p->iph->ip_dst.s_addr););
-        /* call the next function in the function list recursively */
-        return fp_list->next->OptTestFunc(p, otn, fp_list->next);
+	    DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"Match!  %x -> %x\n",
+				    p->iph->ip_src.s_addr,  p->iph->ip_dst.s_addr););
+	    /* call the next function in the function list recursively */
+	    return fp_list->next->OptTestFunc(p, otn, fp_list->next);
+	}
+	else
+	{
+	    /* you can put debug comments here or not */
+	    DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"No match %x -> %x\n",
+				    p->iph->ip_src.s_addr,  p->iph->ip_dst.s_addr););
+	}
     }
-    else
+    else if (p->ip6h != NULL)
     {
-        /* you can put debug comments here or not */
-        DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"No match %x -> %x\n",
-				p->iph->ip_src.s_addr,  p->iph->ip_dst.s_addr););
-    }
+	char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+	inet_ntop(PF_INET, &p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+	inet_ntop(PF_INET, &p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+
+	if (IN6_ARE_ADDR_EQUAL((struct in6_addr *)&p->ip6h->ip6_src, 
+			       (struct in6_addr *)&p->ip6h->ip6_dst) == 0)
+	{
+	    DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"Match!  %s -> %s\n",
+				    src, dst););
+	    /* call the next function in the function list recursively */
+	    return fp_list->next->OptTestFunc(p, otn, fp_list->next);
+	}
+	else
+	{
+	    DEBUG_WRAP(DebugMessage(DEBUG_PLUGIN,"No match %s -> %s\n",
+				    src, dst););
+	}
 
+    }
     /* if the test isn't successful, return 0 */
     return 0;
 }
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_same_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_ip_same_check.h
--- snort-2.0.2/src/detection-plugins/sp_ip_same_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_same_check.h	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_same_check.h,v 1.4 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_ip_same_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_IP_SAME_CHECK_H__
 #define __SP_IP_SAME_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_tos_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_ip_tos_check.c
--- snort-2.0.2/src/detection-plugins/sp_ip_tos_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_tos_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_tos_check.c,v 1.17 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_ip_tos_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff -ur snort-2.0.2/src/detection-plugins/sp_ip_tos_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_ip_tos_check.h
--- snort-2.0.2/src/detection-plugins/sp_ip_tos_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ip_tos_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ip_tos_check.h,v 1.6 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_ip_tos_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_IP_TOS_CHECK_H__
 #define __SP_IP_TOS_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_ipoption_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_ipoption_check.c
--- snort-2.0.2/src/detection-plugins/sp_ipoption_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ipoption_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ipoption_check.c,v 1.15 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_ipoption_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
diff -ur snort-2.0.2/src/detection-plugins/sp_ipoption_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_ipoption_check.h
--- snort-2.0.2/src/detection-plugins/sp_ipoption_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ipoption_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ipoption_check.h,v 1.6 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_ipoption_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_IPOPTION_CHECK_H__
 #define __SP_IPOPTION_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_pattern_match.c snort-2.0.2-ipv6/src/detection-plugins/sp_pattern_match.c
--- snort-2.0.2/src/detection-plugins/sp_pattern_match.c	Mon Aug  4 23:32:50 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_pattern_match.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_pattern_match.c,v 1.56 2003/07/28 17:35:22 chris_reid Exp $ */
+/* $Id: sp_pattern_match.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #include <errno.h>
 
 #ifdef HAVE_CONFIG_H
diff -ur snort-2.0.2/src/detection-plugins/sp_pattern_match.h snort-2.0.2-ipv6/src/detection-plugins/sp_pattern_match.h
--- snort-2.0.2/src/detection-plugins/sp_pattern_match.h	Wed Mar  5 08:00:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_pattern_match.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_pattern_match.h,v 1.18 2003/03/04 23:00:54 chrisgreen Exp $ */
+/* $Id: sp_pattern_match.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SP_PATTERN_MATCH_H__
 #define __SP_PATTERN_MATCH_H__
diff -ur snort-2.0.2/src/detection-plugins/sp_react.c snort-2.0.2-ipv6/src/detection-plugins/sp_react.c
--- snort-2.0.2/src/detection-plugins/sp_react.c	Thu Mar 27 06:59:34 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_react.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_react.c,v 1.21 2003/03/26 21:59:34 chrisgreen Exp $ */
+/* $Id: sp_react.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/detection-plugins/sp_react.h snort-2.0.2-ipv6/src/detection-plugins/sp_react.h
--- snort-2.0.2/src/detection-plugins/sp_react.h	Thu Oct 10 14:05:56 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_react.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_react.h,v 1.13 2002/10/10 05:05:56 chrisgreen Exp $ */
+/* $Id: sp_react.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/detection-plugins/sp_respond.c snort-2.0.2-ipv6/src/detection-plugins/sp_respond.c
--- snort-2.0.2/src/detection-plugins/sp_respond.c	Thu Mar 27 06:59:34 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_respond.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_respond.c,v 1.25 2003/03/26 21:59:34 chrisgreen Exp $ */
+/* $Id: sp_respond.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 1999,2000,2001 Christian Lademann <cal@zls.de>
@@ -18,7 +18,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_respond.c,v 1.25 2003/03/26 21:59:34 chrisgreen Exp $ */
+/* $Id: sp_respond.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
  * CREDITS:
diff -ur snort-2.0.2/src/detection-plugins/sp_respond.h snort-2.0.2-ipv6/src/detection-plugins/sp_respond.h
--- snort-2.0.2/src/detection-plugins/sp_respond.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_respond.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_respond.h,v 1.8 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_respond.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 1999,2000,2001 Christian Lademann <cal@zls.de>
diff -ur snort-2.0.2/src/detection-plugins/sp_rpc_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_rpc_check.c
--- snort-2.0.2/src/detection-plugins/sp_rpc_check.c	Wed May 14 05:53:53 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_rpc_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_rpc_check.c,v 1.14 2003/05/13 20:53:53 chrisgreen Exp $ */
+/* $Id: sp_rpc_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <sys/types.h>
 #include <stdlib.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_rpc_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_rpc_check.h
--- snort-2.0.2/src/detection-plugins/sp_rpc_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_rpc_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_rpc_check.h,v 1.6 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_rpc_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_RPC_CHECK_H__
 #define __SP_RPC_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_session.c snort-2.0.2-ipv6/src/detection-plugins/sp_session.c
--- snort-2.0.2/src/detection-plugins/sp_session.c	Thu Aug 14 04:10:02 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_session.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_session.c,v 1.26 2003/05/27 18:40:12 chrisgreen Exp $ */
+/* $Id: sp_session.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/detection-plugins/sp_session.h snort-2.0.2-ipv6/src/detection-plugins/sp_session.h
--- snort-2.0.2/src/detection-plugins/sp_session.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_session.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_session.h,v 1.6 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_session.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_ack_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_ack_check.c
--- snort-2.0.2/src/detection-plugins/sp_tcp_ack_check.c	Wed May 14 05:53:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_ack_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_ack_check.c,v 1.14 2003/05/13 20:53:54 chrisgreen Exp $ */
+/* $Id: sp_tcp_ack_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <sys/types.h>
 #include <stdlib.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_ack_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_ack_check.h
--- snort-2.0.2/src/detection-plugins/sp_tcp_ack_check.h	Tue May 14 05:14:06 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_ack_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_ack_check.h,v 1.5 2002/05/13 20:14:06 chrisgreen Exp $ */
+/* $Id: sp_tcp_ack_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_TCP_ACK_CHECK_H__
 #define __SP_TCP_ACK_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_flag_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_flag_check.c
--- snort-2.0.2/src/detection-plugins/sp_tcp_flag_check.c	Wed May 14 05:53:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_flag_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_flag_check.c,v 1.18 2003/05/13 20:53:54 chrisgreen Exp $ */
+/* $Id: sp_tcp_flag_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <sys/types.h>
 #include <stdlib.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_flag_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_flag_check.h
--- snort-2.0.2/src/detection-plugins/sp_tcp_flag_check.h	Tue May 14 05:14:07 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_flag_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_flag_check.h,v 1.5 2002/05/13 20:14:07 chrisgreen Exp $ */
+/* $Id: sp_tcp_flag_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_TCP_FLAG_CHECK_H__
 #define __SP_TCP_FLAG_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_seq_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_seq_check.c
--- snort-2.0.2/src/detection-plugins/sp_tcp_seq_check.c	Wed May 14 05:53:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_seq_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_seq_check.c,v 1.14 2003/05/13 20:53:54 chrisgreen Exp $ */
+/* $Id: sp_tcp_seq_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <sys/types.h>
 #include <stdlib.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_seq_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_seq_check.h
--- snort-2.0.2/src/detection-plugins/sp_tcp_seq_check.h	Tue May 14 05:14:07 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_seq_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_seq_check.h,v 1.5 2002/05/13 20:14:07 chrisgreen Exp $ */
+/* $Id: sp_tcp_seq_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_TCP_SEQ_CHECK_H__
 #define __SP_TCP_SEQ_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_win_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_win_check.c
--- snort-2.0.2/src/detection-plugins/sp_tcp_win_check.c	Wed May 14 05:53:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_win_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_win_check.c,v 1.14 2003/05/13 20:53:54 chrisgreen Exp $ */
+/* $Id: sp_tcp_win_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff -ur snort-2.0.2/src/detection-plugins/sp_tcp_win_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_win_check.h
--- snort-2.0.2/src/detection-plugins/sp_tcp_win_check.h	Tue May 14 05:14:07 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_tcp_win_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_tcp_win_check.h,v 1.4 2002/05/13 20:14:07 chrisgreen Exp $ */
+/* $Id: sp_tcp_win_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_TCP_WIN_CHECK_H__
 #define __SP_TCP_WIN_CHECK_H__
 
diff -ur snort-2.0.2/src/detection-plugins/sp_ttl_check.c snort-2.0.2-ipv6/src/detection-plugins/sp_ttl_check.c
--- snort-2.0.2/src/detection-plugins/sp_ttl_check.c	Wed May 14 05:53:54 2003
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ttl_check.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ttl_check.c,v 1.14 2003/05/13 20:53:54 chrisgreen Exp $ */
+/* $Id: sp_ttl_check.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #include <stdlib.h>
 #include <ctype.h>
diff -ur snort-2.0.2/src/detection-plugins/sp_ttl_check.h snort-2.0.2-ipv6/src/detection-plugins/sp_ttl_check.h
--- snort-2.0.2/src/detection-plugins/sp_ttl_check.h	Tue May 14 05:14:07 2002
+++ snort-2.0.2-ipv6/src/detection-plugins/sp_ttl_check.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: sp_ttl_check.h,v 1.7 2002/05/13 20:14:07 chrisgreen Exp $ */
+/* $Id: sp_ttl_check.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #ifndef __SP_TTL_CHECK_H__
 #define __SP_TTL_CHECK_H__
 
diff -ur snort-2.0.2/src/event.h snort-2.0.2-ipv6/src/event.h
--- snort-2.0.2/src/event.h	Wed May 15 10:49:32 2002
+++ snort-2.0.2-ipv6/src/event.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: event.h,v 1.7 2002/05/15 01:49:32 andrewbaker Exp $ */
+/* $Id: event.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/fatal.h snort-2.0.2-ipv6/src/fatal.h
--- snort-2.0.2/src/fatal.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/fatal.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: fatal.h,v 1.2 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: fatal.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/fpcreate.c snort-2.0.2-ipv6/src/fpcreate.c
--- snort-2.0.2/src/fpcreate.c	Tue Jun 10 06:04:43 2003
+++ snort-2.0.2-ipv6/src/fpcreate.c	Sat Nov 29 15:49:59 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: fpcreate.c,v 1.5 2003/06/09 21:04:43 chrisgreen Exp $
+**  $Id: fpcreate.c,v 1.2 2003/11/29 06:49:59 abekatsu Exp $
 ** 
 **  fpcreate.c
 **
@@ -37,7 +37,9 @@
 #include "sp_pattern_match.h"
 #include "sp_icmp_code_check.h"
 #include "sp_icmp_type_check.h"
+#include "sp_icmp6_type_check.h"
 #include "sp_ip_proto.h"
+#include "sp_ip6_proto.h"
 #include "plugin_enum.h"
 #include "util.h"
 
@@ -70,6 +72,8 @@
 static PORT_RULE_MAP *prmUdpRTNX = NULL;
 static PORT_RULE_MAP *prmIpRTNX  = NULL;
 static PORT_RULE_MAP *prmIcmpRTNX= NULL;
+static PORT_RULE_MAP *prmIp6RTNX  = NULL;
+static PORT_RULE_MAP *prmIcmp6RTNX= NULL;
 
 static FPDETECT fpDetect;
 
@@ -86,12 +90,24 @@
     return prmFindRuleGroup( prmIpRTNX, ip_proto, -1, &src, ip_group, gen);
 }
 
+int prmFindRuleGroupIp6(int ip6_proto, PORT_GROUP **ip6_group, PORT_GROUP ** gen)
+{
+    PORT_GROUP *src;
+    return prmFindRuleGroup( prmIp6RTNX, ip6_proto, -1, &src, ip6_group, gen);
+}
+
 int prmFindRuleGroupIcmp(int type, PORT_GROUP **type_group, PORT_GROUP ** gen)
 {
     PORT_GROUP *src;
     return prmFindRuleGroup( prmIcmpRTNX, type, -1, &src, type_group, gen);
 }
 
+int prmFindRuleGroupIcmp6(int type, PORT_GROUP **type_group, PORT_GROUP ** gen)
+{
+    PORT_GROUP *src;
+    return prmFindRuleGroup( prmIcmp6RTNX, type, -1, &src, type_group, gen);
+}
+
 int prmFindRuleGroupTcp(int dport, int sport, PORT_GROUP ** src, 
         PORT_GROUP **dst , PORT_GROUP ** gen)
 {
@@ -679,6 +695,14 @@
     if(prmIcmpRTNX == NULL)
         return 1;
 
+    prmIp6RTNX = prmNewMap();
+    if(prmIp6RTNX == NULL)
+        return 1;
+
+    prmIcmp6RTNX = prmNewMap();
+    if(prmIcmp6RTNX == NULL)
+        return 1;
+
     for (rule=RuleLists; rule; rule=rule->next)
     {
         if(!rule->RuleList)
@@ -942,6 +966,58 @@
             }
         }
 
+	/*
+	 *  Process ICMP6 signatures 
+	 */
+
+	if(rule->RuleList->Icmp6List)
+	{
+            for(rtn = rule->RuleList->Icmp6List; rtn != NULL; rtn = rtn->right)
+	    {
+               /* Walk OTN list -Add as Content, or NoContent */
+                for( otn = rtn->down; otn; otn=otn->next )
+		{
+                    int type;
+                    Icmp6TypeCheckData * Icmp6Type;
+
+                    otnx = malloc( sizeof(OTNX) );
+                    MEMASSERT(otnx,"otnx-ICMP6");
+
+                    otnx->otn = otn;
+                    otnx->rtn = rtn;
+	            
+		    Icmp6Type = (Icmp6TypeCheckData *)otn->ds_list[PLUGIN_ICMP6_TYPE];
+                    if( Icmp6Type )
+                    {
+                        type = Icmp6Type->icmp6_type;
+                    }
+                    else
+                    {
+                        type = -1;
+                    }
+
+                    if( OtnHasContent( otn ) )
+                    {
+                        if(fpDetect.debug)
+                        {
+                            printf("ICMP6 Type=%d Content-Rule  %s\n",
+                                    type,otn->sigInfo.message);
+                        }
+                        prmAddRule(prmIcmp6RTNX, type, -1, otnx);
+                    }
+                    else
+                    {
+                        if(fpDetect.debug)
+                        {
+                            printf("ICMP6 Type=%d NoContent-Rule  %s\n",
+                                    type,otn->sigInfo.message);
+                        }
+                        prmAddRuleNC(prmIcmp6RTNX, type, -1, otnx);
+                    }
+		}
+	    }
+	}
+
         /*
         **  Process IP signatures
         **
@@ -1037,17 +1113,113 @@
                 }
             }
         }
+
+        /*
+	 *  Process IPv6 signatures
+	 */
+        if(rule->RuleList->Ip6List)
+	{
+            for(rtn = rule->RuleList->Ip6List; rtn != NULL; rtn = rtn->right)
+	    {
+                /* Walk OTN list -Add as Content, or NoContent */
+                for( otn=rtn->down; otn; otn=otn->next )
+		{
+                    Ip6ProtoData * Ip6Proto;
+                    int protocol;
+
+                    otnx = malloc( sizeof(OTNX) );
+                    MEMASSERT(otnx,"otnx-IP6");
+
+                    otnx->otn = otn;
+                    otnx->rtn = rtn;
+
+                    Ip6Proto =  
+                        (Ip6ProtoData *)otn->ds_list[PLUGIN_IP6_PROTO_CHECK] ;
+
+                    if( Ip6Proto )
+                    {
+                        protocol = Ip6Proto->protocol;
+                        if( Ip6Proto->comparison_flag == GREATER_THAN )
+                            protocol=-1; 
+                        
+                        if( Ip6Proto->comparison_flag == LESS_THAN )
+                            protocol=-1; 
+
+                        if( Ip6Proto->not_flag )
+                            protocol=-1;
+
+                    }
+                    else
+                    {
+                        protocol = -1;
+                    }
+
+                    if( OtnHasContent( otn ) )
+		    {
+                        if(fpDetect.debug)
+                        {
+                            printf("IP6 Proto=%d Content-Rule %s\n",
+                                    protocol,otn->sigInfo.message);
+                        }
+                        prmAddRule(prmIp6RTNX, protocol, -1, otnx);
+
+                        if(protocol == IPPROTO_TCP || protocol == -1)
+                        {
+                            prmAddRule(prmTcpRTNX, -1, -1, otnx);
+                        }
+                        
+                        if(protocol == IPPROTO_UDP || protocol == -1)
+                        {
+                            prmAddRule(prmUdpRTNX, -1, -1, otnx);
+                        }
+
+                        if(protocol == IPPROTO_ICMPV6 || protocol == -1)
+                        {
+                            prmAddRule(prmIcmp6RTNX, -1, -1, otnx);
+                        }
+		    }
+		    else
+		    {
+                        if(fpDetect.debug)
+                        {
+                            printf("IP6 Proto=%d NoContent-Rule %s\n",
+                                    protocol,otn->sigInfo.message);
+                        }
+                        prmAddRuleNC(prmIp6RTNX, protocol, -1, otnx);
+
+                        if(protocol == IPPROTO_TCP || protocol == -1)
+                        {
+                            prmAddRuleNC(prmTcpRTNX, -1, -1, otnx);
+                        }
+                        
+                        if(protocol == IPPROTO_UDP || protocol == -1)
+                        {
+                            prmAddRuleNC(prmUdpRTNX, -1, -1, otnx);
+                        }
+
+                        if(protocol == IPPROTO_ICMPV6 || protocol == -1)
+                        {
+                            prmAddRuleNC(prmIcmp6RTNX, -1, -1, otnx);
+                        }
+		    }
+		}
+	    }
+	}
     }
 
     prmCompileGroups(prmTcpRTNX);
     prmCompileGroups(prmUdpRTNX);
     prmCompileGroups(prmIcmpRTNX);
+    prmCompileGroups(prmIcmp6RTNX);
     prmCompileGroups(prmIpRTNX);
+    prmCompileGroups(prmIp6RTNX);
 
     BuildMultiPatternGroups(prmTcpRTNX);
     BuildMultiPatternGroups(prmUdpRTNX);
     BuildMultiPatternGroups(prmIcmpRTNX);
+    BuildMultiPatternGroups(prmIcmp6RTNX);
     BuildMultiPatternGroups(prmIpRTNX);
+    BuildMultiPatternGroups(prmIp6RTNX);
 
     if(fpDetect.debug)
     {
@@ -1059,9 +1231,15 @@
     
         printf("\n** ICMP Rule Group Stats -- ");
         prmShowStats(prmIcmpRTNX);
+
+        printf("\n** ICMP6 Rule Group Stats -- ");
+        prmShowStats(prmIcmp6RTNX);
     
         printf("\n** IP Rule Group Stats -- ");
         prmShowStats(prmIpRTNX);
+
+        printf("\n** IP6 Rule Group Stats -- ");
+        prmShowStats(prmIp6RTNX);
     }
 
     return 0;
@@ -1083,7 +1261,9 @@
     printf("\n** TCP Event Stats -- ");  prmShowEventStats(prmTcpRTNX);
     printf("\n** UDP Event Stats -- ");  prmShowEventStats(prmUdpRTNX);
     printf("\n** ICMP Event Stats -- "); prmShowEventStats(prmIcmpRTNX);
+    printf("\n** ICMP6 Event Stats -- "); prmShowEventStats(prmIcmp6RTNX);
     printf("\n** IP Event Stats -- ");    prmShowEventStats(prmIpRTNX);
+    printf("\n** IP6 Event Stats -- ");    prmShowEventStats(prmIp6RTNX);
     return 0;
 }
    
diff -ur snort-2.0.2/src/fpcreate.h snort-2.0.2-ipv6/src/fpcreate.h
--- snort-2.0.2/src/fpcreate.h	Fri Apr 11 06:21:51 2003
+++ snort-2.0.2-ipv6/src/fpcreate.h	Sat Nov 29 15:50:13 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: fpcreate.h,v 1.2 2003/04/10 21:21:51 chris_reid Exp $
+**  $Id: fpcreate.h,v 1.2 2003/11/29 06:50:13 abekatsu Exp $
 **
 **  fpclass.h
 **
@@ -95,6 +95,8 @@
 int prmFindRuleGroupUdp(int dport, int sport, PORT_GROUP ** src, PORT_GROUP **dst , PORT_GROUP ** gen);
 int prmFindRuleGroupIp(int ip_proto, PORT_GROUP **ip_group, PORT_GROUP ** gen);
 int prmFindRuleGroupIcmp(int type, PORT_GROUP **type_group, PORT_GROUP ** gen);
+int prmFindRuleGroupIp6(int ip6_proto, PORT_GROUP **ip6_group, PORT_GROUP ** gen);
+int prmFindRuleGroupIcmp6(int type, PORT_GROUP **type_group, PORT_GROUP ** gen);
 
 int fpSetDetectSearchMethod( char * method );
 int fpSetDebugMode();
diff -ur snort-2.0.2/src/fpdetect.c snort-2.0.2-ipv6/src/fpdetect.c
--- snort-2.0.2/src/fpdetect.c	Thu Sep 11 05:19:50 2003
+++ snort-2.0.2-ipv6/src/fpdetect.c	Sat Nov 29 15:54:29 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: fpdetect.c,v 1.3 2003/07/17 05:51:37 tburgess Exp $
+**  $Id: fpdetect.c,v 1.3 2003/11/29 06:54:29 abekatsu Exp $
 **
 **  fpdetect.c
 **
@@ -129,7 +129,9 @@
 static INLINE int fpEvalRTNSW(RuleTreeNode *rtn, OptTreeNode *otn, Packet *p, 
         int check_ports);
 static INLINE int fpEvalHeaderIp(Packet *p, int ip_proto);
+static INLINE int fpEvalHeaderIp6(Packet *p, int ip_proto);
 static INLINE int fpEvalHeaderIcmp(Packet *p);
+static INLINE int fpEvalHeaderIcmp6(Packet *p);
 static INLINE int fpEvalHeaderTcp(Packet *p);
 static INLINE int fpEvalHeaderUdp(Packet *p);
 static INLINE int fpEvalHeaderSW(PORT_GROUP *port_group, Packet *p, 
@@ -1257,6 +1259,59 @@
 }
 
 /*
+**  fpEvalHeaderICMP6::
+*/
+static INLINE int fpEvalHeaderIcmp6(Packet *p)
+{
+    PORT_GROUP *gen, *type;
+    int retval;
+
+    retval = prmFindRuleGroupIcmp6(p->icmp6h->icmp6_type, &type, &gen);
+
+    switch(retval)
+    {
+        case 0:
+            return 0;
+        case 1:
+            InitMatchInfo( &omd );
+            
+            /* icmp type */
+#ifdef FPSW
+            if(fpEvalHeaderSW(type, p, 0))
+#else
+            if(fpEvalHeader(type, p, 0))
+#endif
+            {
+                return 1;
+            }
+
+            break;
+        case 2:
+            return 0;
+        case 3:
+            return 0;
+        case 4:
+            InitMatchInfo( &omd );
+            
+            /*  generic */
+#ifdef FPSW
+            if(fpEvalHeaderSW(gen, p, 0))
+#else
+            if(fpEvalHeader(gen, p, 0))
+#endif
+            {
+                return 1;
+            }
+
+            break;
+        default:
+            return 0;
+    }
+
+    return fpFinalSelectEvent(&omd, p);
+}
+
+/*
 **  fpEvalHeaderIP::
 */
 static INLINE int fpEvalHeaderIp(Packet *p, int ip_proto)
@@ -1311,6 +1366,60 @@
 }
 
 /*
+**  fpEvalHeaderIP6::
+*/
+static INLINE int fpEvalHeaderIp6(Packet *p, int ip_proto)
+{
+    PORT_GROUP *gen, *ip6_group;
+    int retval;
+
+    retval = prmFindRuleGroupIp6(ip_proto, &ip6_group, &gen);
+ 
+    switch(retval)
+    {
+        case 0:
+            return 0;
+        case 1:
+            InitMatchInfo( &omd );
+            
+            /* ip_group */
+#ifdef FPSW
+            if(fpEvalHeaderSW(ip6_group, p, 0))
+#else
+            if(fpEvalHeader(ip6_group, p, 0))
+#endif
+            {
+                return 1;
+            }
+
+            break;
+        case 2:
+            return 0;
+        case 3:
+            return 0;
+        case 4:
+            InitMatchInfo( &omd );
+            
+            /* generic */
+#ifdef FPSW
+            if(fpEvalHeaderSW(gen, p, 0))
+#else
+            if(fpEvalHeader(gen, p, 0))
+#endif
+            {
+                return 1;
+            }
+
+            break;
+
+        default:
+            return 0;
+    }
+
+    return fpFinalSelectEvent(&omd, p);
+}
+
+/*
 **
 **  NAME
 **    fpEvalPacket::
@@ -1337,7 +1446,17 @@
 */
 int fpEvalPacket(Packet *p)
 {
-    int ip_proto = p->iph->ip_proto;
+    int ip_proto;
+
+    if (p->iph == NULL && p->ip6h == NULL)
+	return 0;
+
+    if (p->iph != NULL) 
+	ip_proto = p->iph->ip_proto;
+    else if (p->ip6h != NULL) 
+	ip_proto = p->ip6h->s_ip6_nxt;
+    else
+	return 0;
 
     switch(ip_proto)
     {
@@ -1383,6 +1502,20 @@
 
             return 0;
 
+        case IPPROTO_ICMPV6:
+            DEBUG_WRAP(DebugMessage(DEBUG_DETECT, 
+                        "Detecting on Icmp6List\n"););
+
+            if(p->icmp6h == NULL)
+            {
+                ip_proto = -1;
+                break; 
+            }
+
+            fpEvalHeaderIcmp6(p);
+
+            return 0;
+
         default:
             break;
     }
@@ -1390,8 +1523,10 @@
     /*
     **  No Match on TCP/UDP, Do IP
     */
-    fpEvalHeaderIp(p, ip_proto);
-
+    if (p->iph != NULL) 
+	fpEvalHeaderIp(p, ip_proto);
+    else if (p->ip6h != NULL) 
+	fpEvalHeaderIp6(p, ip_proto); 
 
     return 0;
 }
diff -ur snort-2.0.2/src/fpdetect.h snort-2.0.2-ipv6/src/fpdetect.h
--- snort-2.0.2/src/fpdetect.h	Thu Sep 11 05:19:50 2003
+++ snort-2.0.2-ipv6/src/fpdetect.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: fpdetect.h,v 1.4 2003/07/17 05:51:37 tburgess Exp $
+** $Id: fpdetect.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 ** fpfuncs.h
 **
diff -ur snort-2.0.2/src/generators.h snort-2.0.2-ipv6/src/generators.h
--- snort-2.0.2/src/generators.h	Mon Mar 31 22:12:58 2003
+++ snort-2.0.2-ipv6/src/generators.h	Fri Nov  7 16:04:39 2003
@@ -1,4 +1,4 @@
-/* $Id: generators.h,v 1.33 2003/03/31 13:12:58 chrisgreen Exp $ */
+/* $Id: generators.h,v 1.2 2003/11/07 07:04:39 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -164,6 +164,11 @@
 #define     DECODE_BAD_TR_MR_LEN                  142
 #define     DECODE_BAD_TRHMR                      143
 
+#define     DECODE_NOT_IPV6_DGRAM                 150
+#define     DECODE_TRUNCATED_IPV6_FRAG_HDR        151
+#define     DECODE_TRUNCATED_ICMPV6_HDR           152
+#define     DECODE_IPV6_DGRAM_UNKNOWN             153
+
 #define GENERATOR_SPP_SCAN2         117
 #define     SCAN_TYPE                             1
 
@@ -242,6 +247,9 @@
 #define DECODE_IPV4OPT_BADLEN_STR      "(snort_decoder): Ipv4 Options found with bad lengths"
 #define DECODE_IPV4OPT_TRUNCATED_STR   "(snort_decoder): Truncated Ipv4 Options"
 
+#define DECODE_NOT_IPV6_DGRAM_STR "(snort_decoder) WARNING: Not IPv6 datagram!"
+#define DECODE_TRUNCATED_IPV6_FRAG_HDR_STR "(snort_decoder) WARNING: Truncated IPv6 Fragment header!"
+
 #define DECODE_TCP_DGRAM_LT_TCPHDR_STR "(snort_decoder) TCP packet len is smaller than 20 bytes!"
 #define DECODE_TCP_INVALID_OFFSET_STR "(snort_decoder) WARNING: TCP Data Offset is less than 5!"
 #define DECODE_TCP_LARGE_OFFSET_STR "(snort_decoder) WARNING: TCP Header length exceeds packet length!"
@@ -261,7 +269,11 @@
 #define DECODE_ICMP_DGRAM_LT_ICMPHDR_STR "(snort_decoder) WARNING: ICMP Header Truncated!"
 #define DECODE_ICMP_DGRAM_LT_TIMESTAMPHDR_STR "(snort_decoder) WARNING: ICMP Timestamp Header Truncated!"
 #define DECODE_ICMP_DGRAM_LT_ADDRHDR_STR "(snort_decoder) WARNING: ICMP Address Header Truncated!"
+
+#define DECODE_TRUNCATED_ICMPV6_HDR_STR "(snort_decoder) WARNING: Truncated ICMPv6 header"
+
 #define DECODE_IPV4_DGRAM_UNKNOWN_STR "(snort_decoder) Unknown Datagram decoding problem!"
+#define DECODE_IPV6_DGRAM_UNKNOWN_STR "(snort_decoder) Unknown Datagram decoding problem!"
 #define DECODE_ARP_TRUNCATED_STR "(snort_decoder) WARNING: Truncated ARP!"
 #define DECODE_EAPOL_TRUNCATED_STR "(snort_decoder) WARNING: Truncated EAP Header!"
 #define DECODE_EAPKEY_TRUNCATED_STR "(snort_decoder) WARNING: EAP Key Truncated!"
diff -ur snort-2.0.2/src/log.c snort-2.0.2-ipv6/src/log.c
--- snort-2.0.2/src/log.c	Thu Apr 10 06:12:24 2003
+++ snort-2.0.2-ipv6/src/log.c	Tue Nov 11 12:02:25 2003
@@ -1,4 +1,4 @@
-/* $Id: log.c,v 1.114 2003/04/09 21:12:24 chrisgreen Exp $ */
+/* $Id: log.c,v 1.5 2003/11/11 03:02:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -427,6 +427,111 @@
             "=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+\n\n");
 }
 
+/*
+ * Function: PrintIPP6kt(FILE *, int, Packet *)
+ *
+ * Purpose: Dump the packet to the stream pointer
+ *
+ * Arguments: fp => pointer to print data to
+ *            type => packet protocol
+ *            p => pointer to decoded packet struct
+ *
+ * Returns: void function
+ */
+void PrintIP6Pkt(FILE * fp, int type, Packet * p)
+{
+    char timestamp[TIMEBUF_SIZE];
+
+    DEBUG_WRAP(DebugMessage(DEBUG_LOG, "PrintIP6Pkt type = %d\n", type););
+
+    bzero((char *) timestamp, TIMEBUF_SIZE);
+    ts_print((struct timeval *) & p->pkth->ts, timestamp);
+
+    /* dump the timestamp */
+    fwrite(timestamp, strlen(timestamp), 1, fp);
+
+    /* dump the ethernet header if we're doing that sort of thing */
+    if(pv.show2hdr_flag)
+    {
+        Print2ndHeader(fp, p);
+    }
+
+    /* etc */
+    PrintIP6Header(fp, p);
+
+    /* if this isn't a fragment, print the other header info */
+    if(!p->frag_flag)
+    {
+        switch(p->ip6h->s_ip6_nxt)
+        {
+            case IPPROTO_TCP:
+                if(p->tcph != NULL)
+                {
+                    PrintTCPHeader(fp, p);
+                }
+                else
+                {
+		  PrintNetData(fp, (u_char *)
+				 ((u_char *)p->ip6h + IP6_HEADER_LEN), 
+				 p->ip6h->s_ip6_plen);
+                }
+
+                break;
+
+            case IPPROTO_UDP:
+                if(p->udph != NULL)
+                {
+                    PrintUDPHeader(fp, p);
+                }
+                else
+                {
+                    PrintNetData(fp, (u_char *) 
+				 ((u_char *)p->ip6h + IP6_HEADER_LEN), 
+				 p->ip6h->s_ip6_plen);
+                }
+
+                break;
+
+            case IPPROTO_ICMPV6:
+                if(p->icmp6h != NULL)
+                {
+                    PrintICMP6Header(fp, p);
+                }
+                else
+                {
+/*
+		   printf("p->ip6h: %p\n", p->ip6h);
+		   printf("p->icmp6h: %p\n", p->icmp6h);
+		   printf("p->ip6h->s_ip6_plen: %d\n", p->ip6h->s_ip6_plen);
+ */
+                    PrintNetData(fp, (u_char *) 
+				 ((u_char *)p->ip6h + IP6_HEADER_LEN), 
+				 p->ip6h->s_ip6_plen);
+                }
+
+                break;
+
+            default:
+                break;
+        }
+    }
+    /* dump the application layer data */
+    if(pv.data_flag && !pv.verbose_bytedump_flag)
+    {
+        if(pv.char_data_flag)
+            PrintCharData(fp, (char*) p->data, p->dsize);
+        else
+            PrintNetData(fp, p->data, p->dsize);
+    }
+    else if(pv.verbose_bytedump_flag)
+    {
+        PrintNetData(fp, p->pkt, p->pkth->caplen);
+    }
+
+    fprintf(fp, "=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+"
+            "=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+\n\n");
+}
+
 
 
 /****************************************************************************
@@ -860,12 +965,15 @@
         fprintf(fp, "IP header truncated\n");
         return;
     }
+
     if(p->frag_flag)
     {
         /* just print the straight IP header */
-        fputs(inet_ntoa(p->iph->ip_src), fp);
-        fwrite(" -> ", 4, 1, fp);
-        fputs(inet_ntoa(p->iph->ip_dst), fp);
+
+	fputs(inet_ntoa(p->iph->ip_src), fp);
+	fwrite(" -> ", 4, 1, fp);
+	fputs(inet_ntoa(p->iph->ip_dst), fp);
+	
     }
     else
     {
@@ -939,6 +1047,78 @@
     }
 }
 
+/****************************************************************************
+ *
+ * Function: PrintIPHeader(FILE *)
+ *
+ * Purpose: Dump the IPv6 header info to the specified stream
+ *
+ * Arguments: fp => stream to print to
+ *
+ * Returns: void function
+ *
+ ***************************************************************************/
+void PrintIP6Header(FILE *fp, Packet *p)
+{
+    char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+
+    if(p->ip6h == NULL)
+    {
+        fprintf(fp, "IP header truncated\n");
+        return;
+    }
+
+    (void) inet_ntop(PF_INET6, (void *)&(p->ip6h->ip6_src), src, sizeof(src));
+    (void) inet_ntop(PF_INET6, (void *)&(p->ip6h->ip6_dst), dst, sizeof(src));
+
+    if(p->frag_flag)
+    {
+        /* just print the straight IP header */
+	/* Not reach here currently */
+
+        /*
+	 * fputs(inet_ntoa(p->iph->ip_src), fp);
+	 * fwrite(" -> ", 4, 1, fp);
+	 * fputs(inet_ntoa(p->iph->ip_dst), fp);
+	 */
+    }
+    else
+    {
+        if(p->ip6h->s_ip6_nxt != IPPROTO_TCP && p->ip6h->s_ip6_nxt != IPPROTO_UDP)
+	{
+            /* just print the straight IP header */
+	    fprintf(fp, "%s -> %s", src, dst);
+	}
+	else
+	{
+	    if(!pv.obfuscation_flag)
+            {
+                /* print the header complete with port information */
+                fprintf(fp, "[%s]:%d -> [%s]:%d", src, p->sp, dst, p->dp);
+            }
+            else
+            {
+                /* print the header complete with port information */
+                fprintf(fp, "[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:%d -> [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:%d", p->sp, p->dp);
+            }	     
+	}
+    }
+
+    if(!pv.show2hdr_flag)
+    {
+        fputc('\n', fp);
+    }
+    else
+    {
+        fputc(' ', fp);
+    }
+
+    fprintf(fp, "%s FlowID:%08lx Ip6PayLoadLen:%d HopLimit:%d\n",
+            protocol_names[p->ip6h->s_ip6_nxt], 
+	    ntohl(p->ip6h->s_ip6_flow), ntohs(p->ip6h->s_ip6_plen),
+            p->ip6h->s_ip6_hlim);
+
+}
 
 
 /****************************************************************************
@@ -1426,6 +1606,114 @@
 
     putc('\n', fp);
 
+}
+
+/****************************************************************************
+ *
+ * Function: PrintICMP6Header(FILE *)
+ *
+ * Purpose: Print ICMPv6 header
+ *
+ * Arguments: fp => file stream
+ *
+ * Returns: void function
+ *
+ ***************************************************************************/
+void PrintICMP6Header(FILE * fp, Packet * p)
+{
+    if(p->icmp6h == NULL)
+    {
+        fprintf(fp, "ICMP6 header truncated\n");
+        return;
+    }
+
+    fprintf(fp, "Type:%d  Code:%d  ", p->icmp6h->icmp6_type, p->icmp6h->icmp6_code);
+
+    switch(p->icmp6h->icmp6_type)
+    {
+    case ICMP6_DST_UNREACH:
+	 fwrite("DESTINATION UNREACHABLE: ", 25, 1, fp);
+	 switch(p->icmp6h->icmp6_code)
+	 {
+	 case ICMP6_DST_UNREACH_NOROUTE:
+	      fwrite("DESTINATION NOROUTE", 19, 1, fp);
+	      break;
+	 case ICMP6_DST_UNREACH_ADMIN:
+	      fwrite("ADMINISTRATIVELY PROHIBITED", 27, 1, fp);
+	      break;
+	 case ICMP6_DST_UNREACH_BEYONDSCOPE:
+	      fwrite("BEYOND SCOPE OF SOURCE ADDRESS", 30, 1, fp);
+	      break;
+	 case ICMP6_DST_UNREACH_ADDR:
+	      fwrite("ADDRESS UNREACHABLE", 19, 1, fp);
+	      break;
+	 case ICMP6_DST_UNREACH_NOPORT:
+	      fwrite("PORT UNREACHABLE", 16, 1, fp);
+	      break;
+	 default:
+	      fwrite("UNKNOWN", 7, 1, fp);
+	      break;
+	 }
+	 {
+	      Packet op;
+	      Packet *orig_p;
+
+	      bzero((char *) &op, sizeof(Packet));
+	      orig_p = &op;
+	      orig_p->ip6h = p->orig_ip6h;
+	      orig_p->tcph = p->orig_tcph;
+	      orig_p->udph = p->orig_udph;
+	      orig_p->sp = p->orig_sp;
+	      orig_p->dp = p->orig_dp;
+
+	      if(orig_p->ip6h != NULL)
+	      {
+		   fprintf(fp, "\n** ORIGINAL DATAGRAM DUMP:\n");
+		   PrintIP6Header(fp, orig_p);
+
+		   switch(orig_p->ip6h->s_ip6_nxt)
+		   {
+		   case IPPROTO_TCP:
+			/* 
+			 * we can only guarantee the first 8 bytes of the
+			 * tcp header are encapsulated, so lets just print 
+			 * them instead of freaking people out all the time
+			 *   --MFR
+			 */
+			if(orig_p->tcph != NULL)
+			     PrintEmbeddedTCPHeader(fp, orig_p, 
+						    p->dsize - IP6_HEADER_LEN);
+			break;
+		   case IPPROTO_UDP:
+			if(orig_p->udph != NULL)
+			     PrintUDPHeader(fp, orig_p);
+			break;
+		   case IPPROTO_ICMPV6:
+			if(orig_p->icmp6h != NULL)
+			     fprintf(fp, "orig type: %d  code: %d\n", 
+				     orig_p->icmp6h->icmp6_type, orig_p->icmp6h->icmp6_code);
+                            break;
+		   default:
+			fprintf(fp, "Protocol: 0x%X (unknown or "
+				"header truncated)", orig_p->ip6h->s_ip6_nxt);
+			break;
+
+		   }
+
+		   fprintf(fp, "** END OF DUMP");
+	      }
+	      else
+	      {
+		   fprintf(fp, "\nORIGINAL DATAGRAM TRUNCATED");
+	      }
+	 }
+	 break;
+    case ICMP6_PACKET_TOO_BIG:
+    case ICMP6_TIME_EXCEEDED:
+    case ICMP6_PARAM_PROB:
+    default:
+	 ;
+    }
 }
 
 
diff -ur snort-2.0.2/src/log.h snort-2.0.2-ipv6/src/log.h
--- snort-2.0.2/src/log.h	Tue Nov 12 07:17:41 2002
+++ snort-2.0.2-ipv6/src/log.h	Tue Nov 11 11:20:42 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: log.h,v 1.22 2002/11/11 22:17:41 andrewbaker Exp $ */
+/* $Id: log.h,v 1.3 2003/11/07 06:26:47 abekatsu Exp $ */
 #ifndef __LOG_H__
 #define __LOG_H__
 
@@ -46,6 +46,7 @@
 
 
 void PrintIPPkt(FILE *, int,Packet*);
+void PrintIP6Pkt(FILE *, int,Packet*);
 void PrintEapolPkt(FILE *, Packet *);
 void PrintEapolKey(FILE *, Packet *);
 void PrintNetData(FILE *, u_char *, const int);
@@ -58,12 +59,14 @@
 void PrintSLLHeader(FILE *, Packet *);
 void PrintArpHeader(FILE *, Packet *);
 void PrintIPHeader(FILE *, Packet *);
+void PrintIP6Header(FILE *, Packet *);
 void PrintEapolHeader(FILE *, Packet *);
 void PrintTCPHeader(FILE *, Packet *);
 void PrintEmbeddedTCPHeader(FILE *, Packet *, int);
 void PrintTcpOptions(FILE *, Packet *);
 void PrintIpOptions(FILE *, Packet *);
 void PrintICMPHeader(FILE *, Packet *);
+void PrintICMP6Header(FILE *, Packet *);
 void PrintUDPHeader(FILE *, Packet *);
 void PrintEAPHeader(FILE *, Packet *);
 void PrintPriorityData(FILE *, int);
diff -ur snort-2.0.2/src/mempool.c snort-2.0.2-ipv6/src/mempool.c
--- snort-2.0.2/src/mempool.c	Fri Mar 14 17:28:50 2003
+++ snort-2.0.2-ipv6/src/mempool.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: mempool.c,v 1.5 2003/03/14 08:28:50 chris_reid Exp $ */
+/* $Id: mempool.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -36,7 +36,7 @@
  * memory pool aside from the concerns of alloc/free
  */
 
-/* $Id: mempool.c,v 1.5 2003/03/14 08:28:50 chris_reid Exp $ */
+/* $Id: mempool.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #include "mempool.h"
 
 /* Function: int mempool_init(MemPool *mempool,
diff -ur snort-2.0.2/src/mempool.h snort-2.0.2-ipv6/src/mempool.h
--- snort-2.0.2/src/mempool.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/mempool.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: mempool.h,v 1.2 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: mempool.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/mpse.c snort-2.0.2-ipv6/src/mpse.c
--- snort-2.0.2/src/mpse.c	Fri Apr  4 05:17:33 2003
+++ snort-2.0.2-ipv6/src/mpse.c	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-*  $Id: mpse.c,v 1.4 2003/04/03 20:17:33 chrisgreen Exp $
+*  $Id: mpse.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 *
 *   mpse.c
 *    
diff -ur snort-2.0.2/src/mpse.h snort-2.0.2-ipv6/src/mpse.h
--- snort-2.0.2/src/mpse.h	Fri Apr 11 06:21:51 2003
+++ snort-2.0.2-ipv6/src/mpse.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: mpse.h,v 1.3 2003/04/10 21:21:51 chris_reid Exp $
+** $Id: mpse.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 **  mpse.h       
 **
diff -ur snort-2.0.2/src/mstring.c snort-2.0.2-ipv6/src/mstring.c
--- snort-2.0.2/src/mstring.c	Wed Mar  5 08:00:39 2003
+++ snort-2.0.2-ipv6/src/mstring.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: mstring.c,v 1.28 2003/03/04 23:00:39 chrisgreen Exp $ */
+/* $Id: mstring.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 
diff -ur snort-2.0.2/src/mstring.h snort-2.0.2-ipv6/src/mstring.h
--- snort-2.0.2/src/mstring.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/mstring.h	Tue Sep 30 13:25:25 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: mstring.h,v 1.4 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: mstring.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 
 #ifndef __MSTRING_H__
 #define __MSTRING_H__
diff -ur snort-2.0.2/src/mwm.c snort-2.0.2-ipv6/src/mwm.c
--- snort-2.0.2/src/mwm.c	Tue Apr 22 00:14:18 2003
+++ snort-2.0.2-ipv6/src/mwm.c	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: mwm.c,v 1.7 2003/04/21 15:14:18 chrisgreen Exp $
+**  $Id: mwm.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 **  mwm.c   - A Modified Wu-Manber Style Multi-Pattern Matcher
 **
diff -ur snort-2.0.2/src/mwm.h snort-2.0.2-ipv6/src/mwm.h
--- snort-2.0.2/src/mwm.h	Fri Apr 11 06:21:52 2003
+++ snort-2.0.2-ipv6/src/mwm.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: mwm.h,v 1.5 2003/04/10 21:21:52 chris_reid Exp $
+** $Id: mwm.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 **  mwm.h
 **
diff -ur snort-2.0.2/src/output-plugins/Makefile.in snort-2.0.2-ipv6/src/output-plugins/Makefile.in
--- snort-2.0.2/src/output-plugins/Makefile.in	Thu Sep 11 05:27:36 2003
+++ snort-2.0.2-ipv6/src/output-plugins/Makefile.in	Thu Nov 13 18:42:59 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 noinst_LIBRARIES = libspo.a
@@ -114,7 +108,6 @@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp =
-am__depfiles_maybe =
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -132,7 +125,9 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/output-plugins/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 
 AR = ar
 
@@ -150,67 +145,59 @@
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+	$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
 
 .c.obj:
 	$(COMPILE) -c `cygpath -w $<`
 uninstall-info-am:
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
 	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -234,7 +221,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -242,7 +228,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/output-plugins/spo_alert_fast.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_fast.c
--- snort-2.0.2/src/output-plugins/spo_alert_fast.c	Tue Jul 22 22:42:11 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_fast.c	Tue Nov 11 12:02:47 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_fast.c,v 1.18 2003/05/19 18:08:04 chrisgreen Exp $ */
+/* $Id: spo_alert_fast.c,v 1.2 2003/11/11 03:02:47 abekatsu Exp $ */
 
 /* spo_alert_fast
  * 
@@ -175,8 +175,6 @@
 
         fprintf(data->file, "{%s} ", protocol_names[p->iph->ip_proto]);
 
-
-
         if(p->frag_flag)
         {
             /* just print the straight IP header */
@@ -204,11 +202,44 @@
                     fputs(inet_ntoa(p->iph->ip_dst), data->file);
             }
         }
-    }               /* end of if (p) */
+    } 
+    else if (p && p->ip6h)
+    {
+	char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+
+	(void) inet_ntop(PF_INET6, (void *)&(p->ip6h->ip6_src), src, sizeof(src));
+	(void) inet_ntop(PF_INET6, (void *)&(p->ip6h->ip6_dst), dst, sizeof(src));
+        PrintPriorityData(data->file, 0);
+
+        fprintf(data->file, "{%s} ", protocol_names[p->ip6h->s_ip6_nxt]);
+
+        if(p->frag_flag)
+        {
+            /* just print the straight IP header */
+	    fprintf(data->file, "%s -> %s", src, dst);
+        }
+        else
+        {
+            switch(p->iph->ip_proto)
+            {
+                case IPPROTO_UDP:
+                case IPPROTO_TCP:
+                    /* print the header complete with port information */
+		    fprintf(data->file, "[%s]:%d -> [%s]:%d", src, p->sp, dst, p->dp);
+                    break;
+                case IPPROTO_ICMPV6:
+                default:
+                    /* just print the straight IP header */
+		    fprintf(data->file, "%s -> %s", src, dst);
+            }
+        }
+    }              /* end of if (p) */
     if(p && data->packet_flag)
     {
         if(p->iph)
             PrintIPPkt(data->file, p->iph->ip_proto, p);
+	else if (p->ip6h)
+            PrintIP6Pkt(data->file, p->ip6h->s_ip6_nxt, p);
         else if(p->ah)
             PrintArpHeader(data->file, p);
     }
diff -ur snort-2.0.2/src/output-plugins/spo_alert_fast.h snort-2.0.2-ipv6/src/output-plugins/spo_alert_fast.h
--- snort-2.0.2/src/output-plugins/spo_alert_fast.h	Mon Apr  1 12:08:24 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_fast.h	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_fast.h,v 1.6 2002/04/01 03:08:24 andrewbaker Exp $ */
+/* $Id: spo_alert_fast.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
  * of the program.  Sometime in The Future, I'll whip up a bad ass Perl script
diff -ur snort-2.0.2/src/output-plugins/spo_alert_full.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_full.c
--- snort-2.0.2/src/output-plugins/spo_alert_full.c	Tue May 20 03:08:04 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_full.c	Tue Nov 11 12:02:59 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_full.c,v 1.17 2003/05/19 18:08:04 chrisgreen Exp $ */
+/* $Id: spo_alert_full.c,v 1.2 2003/11/11 03:02:59 abekatsu Exp $ */
 
 /* spo_alert_full
  * 
@@ -153,7 +153,7 @@
         fwrite("[**] Snort Alert! [**]\n", 23, 1, data->file);
     }
 
-    if(p && p->iph)
+    if(p && (p->iph || p->ip6h))
     {
         PrintPriorityData(data->file, 1);
     }
@@ -174,7 +174,8 @@
             Print2ndHeader(data->file, p);
         }
 
-        PrintIPHeader(data->file, p);
+	if (p->iph) 
+	     PrintIPHeader(data->file, p);
 
         /* if this isn't a fragment, print the other header info */
         if(!p->frag_flag)
@@ -193,6 +194,10 @@
                     PrintICMPHeader(data->file, p);
                     break;
 
+	        case IPPROTO_ICMPV6:
+                    PrintICMP6Header(data->file, p);
+                    break;
+
                 default:
                     break;
             }
@@ -202,6 +207,44 @@
 
         fputc('\n', data->file);
     } /* End of if(p) */
+    else if (p && p->ip6h)
+    {
+        /* print the packet header to the alert file */
+
+        if(pv.show2hdr_flag)
+        {
+            Print2ndHeader(data->file, p);
+        }
+
+	if (p->ip6h) 
+	     PrintIP6Header(data->file, p);
+
+        /* if this isn't a fragment, print the other header info */
+        if(!p->frag_flag)
+        {
+            switch(p->ip6h->s_ip6_nxt)
+            {
+                case IPPROTO_TCP:
+                    PrintTCPHeader(data->file, p);
+                    break;
+
+                case IPPROTO_UDP:
+                    PrintUDPHeader(data->file, p);
+                    break;
+
+	        case IPPROTO_ICMPV6:
+                    PrintICMP6Header(data->file, p);
+                    break;
+
+                default:
+                    break;
+            }
+
+            PrintXrefs(data->file, 1);
+        }
+
+        fputc('\n', data->file);
+    }
     else
     {
         fputs("\n\n", data->file);
diff -ur snort-2.0.2/src/output-plugins/spo_alert_full.h snort-2.0.2-ipv6/src/output-plugins/spo_alert_full.h
--- snort-2.0.2/src/output-plugins/spo_alert_full.h	Mon Apr  1 12:08:24 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_full.h	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_full.h,v 1.7 2002/04/01 03:08:24 andrewbaker Exp $ */
+/* $Id: spo_alert_full.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
  * of the program.  Sometime in The Future, I'll whip up a bad ass Perl script
diff -ur snort-2.0.2/src/output-plugins/spo_alert_sf_socket.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_sf_socket.c
--- snort-2.0.2/src/output-plugins/spo_alert_sf_socket.c	Wed May 28 06:19:54 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_sf_socket.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_sf_socket.c,v 1.3 2003/05/27 21:19:54 chrisgreen Exp $ */
+/* $Id: spo_alert_sf_socket.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef WIN32
 /* Win32 doesn't support AF_UNIX sockets, so let's not go there... */
diff -ur snort-2.0.2/src/output-plugins/spo_alert_smb.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_smb.c
--- snort-2.0.2/src/output-plugins/spo_alert_smb.c	Tue May 20 03:08:04 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_smb.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spo_alert_smb.c,v 1.27 2003/05/19 18:08:04 chrisgreen Exp $ */
+/* $Id: spo_alert_smb.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2000,2001 Andrew R. Baker <andrewb@uab.edu>
diff -ur snort-2.0.2/src/output-plugins/spo_alert_smb.h snort-2.0.2-ipv6/src/output-plugins/spo_alert_smb.h
--- snort-2.0.2/src/output-plugins/spo_alert_smb.h	Fri Mar 14 17:28:53 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_smb.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spo_alert_smb.h,v 1.7 2003/03/14 08:28:53 chris_reid Exp $ */
+/* $Id: spo_alert_smb.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2000,2001 Andrew R. Baker <andrewb@uab.edu>
diff -ur snort-2.0.2/src/output-plugins/spo_alert_syslog.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_syslog.c
--- snort-2.0.2/src/output-plugins/spo_alert_syslog.c	Tue May 20 03:08:04 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_syslog.c	Tue Sep 30 13:25:26 2003
@@ -15,7 +15,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
-/* $Id: spo_alert_syslog.c,v 1.35 2003/05/19 18:08:04 chrisgreen Exp $ */
+/* $Id: spo_alert_syslog.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spo_alert_syslog 
  * 
diff -ur snort-2.0.2/src/output-plugins/spo_alert_syslog.h snort-2.0.2-ipv6/src/output-plugins/spo_alert_syslog.h
--- snort-2.0.2/src/output-plugins/spo_alert_syslog.h	Mon Apr  1 05:42:19 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_syslog.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_alert_syslog.h,v 1.5 2002/03/31 20:42:19 andrewbaker Exp $ */
+/* $Id: spo_alert_syslog.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
  * of the program.  Sometime in The Future, I'll whip up a bad ass Perl script
diff -ur snort-2.0.2/src/output-plugins/spo_alert_unixsock.c snort-2.0.2-ipv6/src/output-plugins/spo_alert_unixsock.c
--- snort-2.0.2/src/output-plugins/spo_alert_unixsock.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_unixsock.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spo_alert_unixsock.c,v 1.24 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_alert_unixsock.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2000,2001 Andrew R. Baker <andrewb@uab.edu>
diff -ur snort-2.0.2/src/output-plugins/spo_alert_unixsock.h snort-2.0.2-ipv6/src/output-plugins/spo_alert_unixsock.h
--- snort-2.0.2/src/output-plugins/spo_alert_unixsock.h	Wed Apr  2 06:31:58 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_alert_unixsock.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spo_alert_unixsock.h,v 1.8 2003/04/01 21:31:58 chrisgreen Exp $ */
+/* $Id: spo_alert_unixsock.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2000,2001 Andrew R. Baker <andrewb@uab.edu>
diff -ur snort-2.0.2/src/output-plugins/spo_csv.c snort-2.0.2-ipv6/src/output-plugins/spo_csv.c
--- snort-2.0.2/src/output-plugins/spo_csv.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_csv.c	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_csv.c,v 1.19 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_csv.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spo_csv
  * 
diff -ur snort-2.0.2/src/output-plugins/spo_csv.h snort-2.0.2-ipv6/src/output-plugins/spo_csv.h
--- snort-2.0.2/src/output-plugins/spo_csv.h	Wed Apr  3 07:50:59 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_csv.h	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_csv.h,v 1.7 2002/04/02 22:50:59 andrewbaker Exp $ */
+/* $Id: spo_csv.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
  * of the program.  Sometime in The Future, I'll whip up a bad ass Perl script
diff -ur snort-2.0.2/src/output-plugins/spo_database.c snort-2.0.2-ipv6/src/output-plugins/spo_database.c
--- snort-2.0.2/src/output-plugins/spo_database.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_database.c	Fri Dec 12 20:39:59 2003
@@ -18,7 +18,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_database.c,v 1.70 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_database.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* Snort Database Output Plug-in
  * 
@@ -51,6 +51,10 @@
 #endif
 
 #include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
 #include <stdlib.h>
 #include <string.h>
 
@@ -66,6 +70,7 @@
 #include "snort.h"
 
 #ifdef ENABLE_POSTGRESQL
+    #include <pg_config.h>
     #include <libpq-fe.h>
 #endif
 #ifdef ENABLE_MYSQL
@@ -1245,7 +1250,135 @@
                             ntohs(p->udph->uh_dport));
                 }
             }
-        }   
+        }
+	else if ((!p->frag_flag) && (p->ip6h != NULL))
+	{
+	    if (p->ip6h->s_ip6_nxt == IPPROTO_ICMPV6 && p->icmp6h)  
+	    {
+		query = NewQueryNode(query, 0);
+                /*** Build a query for the ICMPv6 Header ***/
+                if(data->detail)
+		{
+		     if(p->ext)
+		     {
+			 /*
+			 snprintf(query->val, MAX_QUERY_LENGTH, 
+				 "INSERT INTO icmp6hdr (sid, cid, icmp6_type, icmp6_code, "
+				 "icmp6_cksum, icmp6_id, icmp6_seq) "
+				 "VALUES ('%u','%u','%u','%u','%u','%u','%u')",
+                                data->shared->sid, data->shared->cid, 
+				p->icmp6h->icmp6_type, p->icmp6h->icmp6_code,
+				ntohs(p->icmp6h->icmp6_cksum), 
+				ntohs(p->ext->id), ntohs(p->ext->seqno));			 
+			 */
+
+			 snprintf(query->val, MAX_QUERY_LENGTH, 
+				 "INSERT INTO icmp6hdr (sid, cid, icmp6_type, icmp6_code, "
+				 "icmp6_cksum) "
+				 "VALUES ('%u','%u','%u','%u','%u')",
+				 data->shared->sid, data->shared->cid, 
+				 p->icmp6h->icmp6_type, p->icmp6h->icmp6_code,
+				 ntohs(p->icmp6h->icmp6_cksum));
+
+		     }
+		     else
+		     {
+			 snprintf(query->val, MAX_QUERY_LENGTH, 
+				 "INSERT INTO icmp6hdr (sid, cid, icmp6_type, icmp6_code, "
+				 "icmp6_cksum) "
+				 "VALUES ('%u','%u','%u','%u','%u')",
+				 data->shared->sid, data->shared->cid, p->icmp6h->icmp6_type, p->icmp6h->icmp6_code,
+				 ntohs(p->icmp6h->icmp6_cksum));
+		     }
+		}
+		else
+		{
+		    snprintf(query->val, MAX_QUERY_LENGTH, 
+			    "INSERT INTO icmp6hdr (sid, cid, icmp6_type, icmp6_code) "
+			    "VALUES ('%u','%u','%u','%u')",
+			    data->shared->sid, data->shared->cid, p->icmp6h->icmp6_type, p->icmp6h->icmp6_code);
+		}
+	    }
+            else if(p->ip6h->s_ip6_nxt == IPPROTO_TCP && p->tcph)
+            {
+                query = NewQueryNode(query, 0);
+                /*** Build a query for the TCP Header ***/
+                if(data->detail)
+                {
+                    snprintf(query->val, MAX_QUERY_LENGTH, 
+                            "INSERT INTO tcphdr "
+                            "(sid, cid, tcp_sport, tcp_dport, tcp_seq,"
+                            " tcp_ack, tcp_off, tcp_res, tcp_flags, tcp_win,"
+                            " tcp_csum, tcp_urp) "
+                            "VALUES ('%u','%u','%u','%u','%lu','%lu','%u',"
+                            "'%u','%u','%u','%u','%u')",
+                            data->shared->sid, data->shared->cid, ntohs(p->tcph->th_sport), 
+                            ntohs(p->tcph->th_dport), (u_long)ntohl(p->tcph->th_seq),
+                            (u_long)ntohl(p->tcph->th_ack), TCP_OFFSET(p->tcph), 
+                            TCP_X2(p->tcph), p->tcph->th_flags, 
+                            ntohs(p->tcph->th_win), ntohs(p->tcph->th_sum),
+                            ntohs(p->tcph->th_urp));
+                }
+                else
+                {
+                    snprintf(query->val, MAX_QUERY_LENGTH, 
+                            "INSERT INTO tcphdr "
+                            "(sid,cid,tcp_sport,tcp_dport,tcp_flags) "
+                            "VALUES ('%u','%u','%u','%u','%u')",
+                            data->shared->sid, data->shared->cid, ntohs(p->tcph->th_sport), 
+                            ntohs(p->tcph->th_dport), p->tcph->th_flags);
+                }
+
+
+                if(data->detail)
+                {
+                    /*** Build the query for TCP Options ***/
+                    for(i=0; i < (int)(p->tcp_option_count); i++)
+                    {
+                        query = NewQueryNode(query, 0);
+                        if((data->encoding == ENCODING_HEX) || (data->encoding == ENCODING_ASCII))
+                        {
+                            tmp = fasthex(p->tcp_options[i].data, p->tcp_options[i].len); 
+                        }
+                        else
+                        {
+                            tmp = base64(p->tcp_options[i].data, p->tcp_options[i].len);
+                        }
+                        snprintf(query->val, MAX_QUERY_LENGTH, 
+                                "INSERT INTO opt "
+                                "(sid,cid,optid,opt_proto,opt_code,opt_len,opt_data) "
+                                "VALUES ('%u','%u','%u','%u','%u','%u','%s')",
+                                data->shared->sid, data->shared->cid, i, 6, p->tcp_options[i].code,
+                                p->tcp_options[i].len, tmp); 
+                        free(tmp);
+                    }
+                }
+            }
+            else if(p->ip6h->s_ip6_nxt == IPPROTO_UDP && p->udph)
+            {
+                query = NewQueryNode(query, 0);
+                /*** Build the query for the UDP Header ***/
+                if(data->detail)
+                {
+                    snprintf(query->val, MAX_QUERY_LENGTH,
+                            "INSERT INTO udphdr "
+                            "(sid, cid, udp_sport, udp_dport, udp_len, udp_csum) "
+                            "VALUES ('%u', '%u', '%u', '%u', '%u', '%u')",
+                            data->shared->sid, data->shared->cid, ntohs(p->udph->uh_sport), 
+                            ntohs(p->udph->uh_dport), ntohs(p->udph->uh_len),
+                            ntohs(p->udph->uh_chk));
+                }
+                else
+                {
+                    snprintf(query->val, MAX_QUERY_LENGTH,
+                            "INSERT INTO udphdr "
+                            "(sid, cid, udp_sport, udp_dport) "
+                            "VALUES ('%u', '%u', '%u', '%u')",
+                            data->shared->sid, data->shared->cid, ntohs(p->udph->uh_sport), 
+                            ntohs(p->udph->uh_dport));
+                }
+	    }
+	}
 
         /*** Build the query for the IP Header ***/
         if ( p->iph )
@@ -1305,6 +1438,44 @@
                 }
             }
         }
+
+        /*** Build the query for the IPv6 Header ***/
+/* #if (defined(ENABLE_POSTGRESQL) && PACKAGE_VERSION >= 7.4) */
+	if (p->ip6h)
+	{
+	    char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+
+	    inet_ntop(PF_INET6, &p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+	    inet_ntop(PF_INET6, &p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+
+            query = NewQueryNode(query, 0);
+
+            if(data->detail)
+            {
+
+		snprintf(query->val, MAX_QUERY_LENGTH, 
+			"INSERT INTO ip6hdr "
+                        "(sid, cid, ip6_src, ip6_dst, ip6_vfc,"
+                        "ip6_flow, ip6_plen, ip6_nxt, ip6_hlim) "
+                        "VALUES ('%u','%u','%s','%s','%u',"
+			"'%lu','%u','%u','%u')",
+			data->shared->sid, data->shared->cid, 
+			src, dst, p->ip6h->s_ip6_vfc,
+			(u_long)ntohl(p->ip6h->s_ip6_flow),
+			(u_short)ntohs(p->ip6h->s_ip6_plen),
+			p->ip6h->s_ip6_nxt, p->ip6h->s_ip6_hlim);
+	    }
+            else
+            {
+                snprintf(query->val, MAX_QUERY_LENGTH, 
+                        "INSERT INTO iphdr "
+                        "(sid, cid, ip6_src, ip6_dst, ip6_nxt) "
+                        "VALUES ('%u','%u','%s','%s','%u')",
+                        data->shared->sid, data->shared->cid,
+			src, dst, p->ip6h->s_ip6_nxt);
+            }
+	}
+/*#endif (defined(ENABLE_POSTGRESQL) && PACKAGE_VERSION >= 7.4) */
 
         /*** Build query for the payload ***/
         if ( p->data )
diff -ur snort-2.0.2/src/output-plugins/spo_database.h snort-2.0.2-ipv6/src/output-plugins/spo_database.h
--- snort-2.0.2/src/output-plugins/spo_database.h	Mon Apr  1 05:42:19 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_database.h	Tue Sep 30 13:25:26 2003
@@ -19,7 +19,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_database.h,v 1.15 2002/03/31 20:42:19 andrewbaker Exp $ */
+/* $Id: spo_database.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SPO_DATABASE_H__
 #define __SPO_DATABASE_H__
diff -ur snort-2.0.2/src/output-plugins/spo_log_ascii.c snort-2.0.2-ipv6/src/output-plugins/spo_log_ascii.c
--- snort-2.0.2/src/output-plugins/spo_log_ascii.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_ascii.c	Sat Nov 29 16:37:01 2003
@@ -19,7 +19,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
-/* $Id: spo_log_ascii.c,v 1.13 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_log_ascii.c,v 1.3 2003/11/29 07:37:01 abekatsu Exp $ */
 
 /* spo_log_ascii
  * 
@@ -117,6 +117,8 @@
     { 
         if(p->iph)
             log_ptr = OpenLogFile(0, p);
+	else if (p->ip6h) 
+            log_ptr = OpenLogFile(0, p); 
         else if(p->ah)
             log_ptr = OpenLogFile(ARP, p);
         else
@@ -138,6 +140,8 @@
     {
         if(p->iph)
             PrintIPPkt(log_ptr, p->iph->ip_proto, p);
+	else if (p->ip6h) 
+            PrintIP6Pkt(log_ptr, p->ip6h->s_ip6_nxt, p);
         else if(p->ah)
             PrintArpHeader(log_ptr, p);
     }
@@ -177,6 +181,7 @@
     char proto[5];      /* logged packet protocol */
     char suffix[5];     /* filename suffix */
     FILE *log_ptr = NULL;
+    u_int8_t protocol;
 #ifdef WIN32
     strcpy(suffix,".ids");
 #else
@@ -216,47 +221,63 @@
         }
     }
     /* figure out which way this packet is headed in relation to the homenet */
-    if((p->iph->ip_dst.s_addr & pv.netmask) == pv.homenet)
+    if (p->iph != NULL)
     {
-        if((p->iph->ip_src.s_addr & pv.netmask) != pv.homenet)
-        {
-            snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                    inet_ntoa(p->iph->ip_src));
-        }
-        else
-        {
-            if(p->sp >= p->dp)
-            {
-                snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                        inet_ntoa(p->iph->ip_src));
-            }
-            else
-            {
-                snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                        inet_ntoa(p->iph->ip_dst));
-            }
-        }
-    }
-    else
-    {
-        if((p->iph->ip_src.s_addr & pv.netmask) == pv.homenet)
-        {
-            snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                    inet_ntoa(p->iph->ip_dst));
-        }
-        else
-        {
-            if(p->sp >= p->dp)
-            {
-                snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                        inet_ntoa(p->iph->ip_src));
-            }
-            else
-            {
-                snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
-                        inet_ntoa(p->iph->ip_dst));
-            }
-        }
+	if((p->iph->ip_dst.s_addr & pv.netmask) == pv.homenet)
+	{
+	    if((p->iph->ip_src.s_addr & pv.netmask) != pv.homenet)
+	    {
+		snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			 inet_ntoa(p->iph->ip_src));
+	    }
+	    else
+	    {
+		if(p->sp >= p->dp)
+		{
+		    snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			     inet_ntoa(p->iph->ip_src));
+		}
+		else
+		{
+		    snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			     inet_ntoa(p->iph->ip_dst));
+		}
+	    }
+	}
+	else
+	{
+	    if((p->iph->ip_src.s_addr & pv.netmask) == pv.homenet)
+	    {
+		snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			 inet_ntoa(p->iph->ip_dst));
+	    }
+	    else
+	    {
+		if(p->sp >= p->dp)
+		{
+		    snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			     inet_ntoa(p->iph->ip_src));
+		}
+		else
+		{
+		    snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, 
+			     inet_ntoa(p->iph->ip_dst));
+		}
+	    }
+	}
+    }
+    else if (p->ip6h != NULL)
+    {
+	/* 
+	 * temporary 
+	 * It is necessary to edit the definition of pv.netmask and 
+	 * pv.homenet.
+	 */
+	char tmp[INET6_ADDRSTRLEN];
+
+	inet_ntop(PF_INET6, &p->ip6h->ip6_src, tmp, INET6_ADDRSTRLEN);
+	snprintf(log_path, STD_BUF, "%s/%s", pv.log_dir, tmp);
+
     }
 
     DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "Creating directory: %s\n", log_path););
@@ -275,50 +296,63 @@
     DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "Directory Created!\n"););
 
     /* build the log filename */
-    if(p->iph->ip_proto == IPPROTO_TCP ||
-            p->iph->ip_proto == IPPROTO_UDP)
+    if(p->iph != NULL)
     {
-        if(p->frag_flag)
-        {
-            snprintf(log_file, STD_BUF, "%s/IP_FRAG%s", log_path, suffix);
-        }
-        else
-        {
-            if(p->sp >= p->dp)
-            {
+	protocol = p->iph->ip_proto;
+    }
+    else if (p->ip6h != NULL)
+    {
+	protocol = p->ip6h->s_ip6_nxt;
+    }
+
+    if(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP )
+    {
+	if(p->frag_flag)
+	{
+	    snprintf(log_file, STD_BUF, "%s/IP_FRAG%s", log_path, suffix);
+	}
+	else
+	{
+	    if(p->sp >= p->dp)
+	    {
 #ifdef WIN32
-                snprintf(log_file, STD_BUF, "%s/%s_%d-%d%s", log_path,
-                        protocol_names[p->iph->ip_proto], p->sp, p->dp, suffix);
+		snprintf(log_file, STD_BUF, "%s/%s_%d-%d%s", log_path,
+			 protocol_names[protocol], p->sp, p->dp, suffix);
 #else
-                snprintf(log_file, STD_BUF, "%s/%s:%d-%d%s", log_path,
-                        protocol_names[p->iph->ip_proto], p->sp, p->dp, suffix);
+		snprintf(log_file, STD_BUF, "%s/%s:%d-%d%s", log_path,
+			 protocol_names[protocol], p->sp, p->dp, suffix);
 #endif
-            }
-            else
-            {
+	    }
+	    else
+	    {
 #ifdef WIN32
-                snprintf(log_file, STD_BUF, "%s/%s_%d-%d%s", log_path,
-                        protocol_names[p->iph->ip_proto], p->dp, p->sp, suffix);
+		snprintf(log_file, STD_BUF, "%s/%s_%d-%d%s", log_path,
+			 protocol_names[protocol], p->dp, p->sp, suffix);
 #else
-                snprintf(log_file, STD_BUF, "%s/%s:%d-%d%s", log_path,
-                        protocol_names[p->iph->ip_proto], p->dp, p->sp, suffix);
+		snprintf(log_file, STD_BUF, "%s/%s:%d-%d%s", log_path,
+			 protocol_names[protocol], p->dp, p->sp, suffix);
 #endif
-            }
-        }
+	    }
+	}
     }
     else
     {
-        if(p->frag_flag)
-        {
-            snprintf(log_file, STD_BUF, "%s/IP_FRAG%s", log_path, suffix);
-        }
-        else
-        {
-            if(p->iph->ip_proto == IPPROTO_ICMP)
-            {
-                snprintf(log_file, STD_BUF, "%s/%s_%s%s", log_path, "ICMP",
-                         IcmpFileName(p), suffix);
+	if(p->frag_flag)
+	{
+	    snprintf(log_file, STD_BUF, "%s/IP_FRAG%s", log_path, suffix);
+	}
+	else
+	{
+	    if(protocol == IPPROTO_ICMP)
+	    {
+		snprintf(log_file, STD_BUF, "%s/%s_%s%s", log_path, "ICMP",
+			 IcmpFileName(p), suffix);
             }
+	    else if (protocol == IPPROTO_ICMPV6)
+	    {
+		snprintf(log_file, STD_BUF, "%s/%s_%s%s", log_path, "ICMP6",
+			 IcmpFileName(p), suffix);
+	    }
             else
             {
                 snprintf(log_file, STD_BUF, "%s/PROTO%d%s", log_path,
@@ -355,74 +389,75 @@
  ***************************************************************************/
 char *IcmpFileName(Packet * p)
 {
-    if(p->icmph == NULL)
+    if(p->icmph == NULL && p->icmp6h == NULL)
     {
         return "ICMP_TRUNC";
     }
 
-    switch(p->icmph->type)
+    if(p->icmph != NULL)
     {
+	switch(p->icmph->type)
+	{
         case ICMP_ECHOREPLY:
-            return "ECHO_REPLY";
+	    return "ECHO_REPLY";
 
         case ICMP_DEST_UNREACH:
-            switch(p->icmph->code)
+	    switch(p->icmph->code)
             {
-                case ICMP_NET_UNREACH:
-                    return "NET_UNRCH";
-
-                case ICMP_HOST_UNREACH:
-                    return "HST_UNRCH";
+	    case ICMP_NET_UNREACH:
+		return "NET_UNRCH";
 
-                case ICMP_PROT_UNREACH:
-                    return "PROTO_UNRCH";
+	    case ICMP_HOST_UNREACH:
+		return "HST_UNRCH";
 
-                case ICMP_PORT_UNREACH:
-                    return "PORT_UNRCH";
+	    case ICMP_PROT_UNREACH:
+		return "PROTO_UNRCH";
 
-                case ICMP_FRAG_NEEDED:
-                    return "UNRCH_FRAG_NEEDED";
+	    case ICMP_PORT_UNREACH:
+		return "PORT_UNRCH";
+		
+	    case ICMP_FRAG_NEEDED:
+		return "UNRCH_FRAG_NEEDED";
 
-                case ICMP_SR_FAILED:
-                    return "UNRCH_SOURCE_ROUTE_FAILED";
+	    case ICMP_SR_FAILED:
+		return "UNRCH_SOURCE_ROUTE_FAILED";
 
-                case ICMP_NET_UNKNOWN:
-                    return "UNRCH_NETWORK_UNKNOWN";
+	    case ICMP_NET_UNKNOWN:
+		return "UNRCH_NETWORK_UNKNOWN";
 
-                case ICMP_HOST_UNKNOWN:
-                    return "UNRCH_HOST_UNKNOWN";
+	    case ICMP_HOST_UNKNOWN:
+		return "UNRCH_HOST_UNKNOWN";
 
-                case ICMP_HOST_ISOLATED:
-                    return "UNRCH_HOST_ISOLATED";
+	    case ICMP_HOST_ISOLATED:
+		return "UNRCH_HOST_ISOLATED";
 
-                case ICMP_PKT_FILTERED_NET:
-                    return "UNRCH_PKT_FILTERED_NET";
+	    case ICMP_PKT_FILTERED_NET:
+		return "UNRCH_PKT_FILTERED_NET";
 
-                case ICMP_PKT_FILTERED_HOST:
-                    return "UNRCH_PKT_FILTERED_HOST";
+	    case ICMP_PKT_FILTERED_HOST:
+		return "UNRCH_PKT_FILTERED_HOST";
 
-                case ICMP_NET_UNR_TOS:
-                    return "UNRCH_NET_UNR_TOS";
+	    case ICMP_NET_UNR_TOS:
+		return "UNRCH_NET_UNR_TOS";
 
-                case ICMP_HOST_UNR_TOS:
-                    return "UNRCH_HOST_UNR_TOS";
+	    case ICMP_HOST_UNR_TOS:
+		return "UNRCH_HOST_UNR_TOS";
 
-                case ICMP_PKT_FILTERED:
-                    return "UNRCH_PACKET_FILT";
+	    case ICMP_PKT_FILTERED:
+		return "UNRCH_PACKET_FILT";
 
-                case ICMP_PREC_VIOLATION:
-                    return "UNRCH_PREC_VIOL";
+	    case ICMP_PREC_VIOLATION:
+		return "UNRCH_PREC_VIOL";
 
-                case ICMP_PREC_CUTOFF:
-                    return "UNRCH_PREC_CUTOFF";
-
-                default:
-                    return "UNKNOWN";
+	    case ICMP_PREC_CUTOFF:
+		return "UNRCH_PREC_CUTOFF";
 
+	    default:
+		return "UNKNOWN";
             }
 
         case ICMP_SOURCE_QUENCH:
-            return "SRC_QUENCH";
+	    return "SRC_QUENCH";
 
         case ICMP_REDIRECT:
             return "REDIRECT";
@@ -456,6 +491,64 @@
 
         default:
             return "UNKNOWN";
+	}
+    }
+    else if (p->icmp6h != NULL)
+    {
+	 switch(p->icmp6h->icmp6_type)
+	 {
+	 case ICMP6_DST_UNREACH:
+	     switch(p->icmp6h->icmp6_code)
+	     {
+	     default:
+		 return "DST_UNREACH_UNKNOWN_CODE";
+	     }
+	 case ICMP6_PACKET_TOO_BIG:
+	     return "PACKET_TOO_BIG";
+	 case ICMP6_TIME_EXCEEDED:
+	     switch(p->icmp6h->icmp6_code)
+	     {
+	     default:
+		 return "TIME_EXCEEDED_UNKNOWN_CODE";
+	     }
+	 case ICMP6_PARAM_PROB:
+	     switch(p->icmp6h->icmp6_code)
+	     {
+	     default:
+		 return "TIME_EXCEEDED_UNKNOWN_CODE";
+	     }
+	 case ICMP6_ECHO_REQUEST:
+	     return "ECHO_REQUEST";
+	 case ICMP6_ECHO_REPLY:
+	     return "ECHO_REPLY";
+	 case MLD_LISTENER_QUERY:
+	     return "MLD_LISTENER_QUERY";
+	 case MLD_LISTENER_REPORT:
+	     return "MLD_LISTENER_REPORT";
+	 case MLD_LISTENER_DONE:
+	     return "MLD_LISTENER_DONE";
+	 case ND_ROUTER_SOLICIT:
+	     return "ND_ROUTER_SOLICIT";
+	 case ND_ROUTER_ADVERT:
+	     return "ND_ROUTER_ADVERT";
+	 case ND_NEIGHBOR_SOLICIT:
+	     return "ND_NEIGHBOR_SOLICIT";
+	 case ND_NEIGHBOR_ADVERT:
+	     return "ND_NEIGHBOR_ADVERT";
+	 case ND_REDIRECT:
+	     return "ND_REDIRECT";
+	 case ICMP6_ROUTER_RENUMBERING:
+	     return "ROUTER_RENUMBERING";
+	 case ICMP6_NI_QUERY:
+	     return "NI_QUERY";
+	 case ICMP6_NI_REPLY:
+	     return "NI_REPLY";
+
+	     
+	 default:
+	     return "UNKNOWN";
+	 }
+	 
     }
 }
 
diff -ur snort-2.0.2/src/output-plugins/spo_log_ascii.h snort-2.0.2-ipv6/src/output-plugins/spo_log_ascii.h
--- snort-2.0.2/src/output-plugins/spo_log_ascii.h	Mon Jan  6 05:36:28 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_ascii.h	Tue Sep 30 13:25:26 2003
@@ -19,7 +19,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_log_ascii.h,v 1.2 2003/01/05 20:36:28 cazz Exp $ */
+/* $Id: spo_log_ascii.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 
 #ifndef __SPO_LOG_ASCII_H__
diff -ur snort-2.0.2/src/output-plugins/spo_log_null.c snort-2.0.2-ipv6/src/output-plugins/spo_log_null.c
--- snort-2.0.2/src/output-plugins/spo_log_null.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_null.c	Tue Sep 30 13:25:26 2003
@@ -15,7 +15,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
-/* $Id: spo_log_null.c,v 1.8 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_log_null.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spo_log_null
  * 
diff -ur snort-2.0.2/src/output-plugins/spo_log_null.h snort-2.0.2-ipv6/src/output-plugins/spo_log_null.h
--- snort-2.0.2/src/output-plugins/spo_log_null.h	Mon Apr  1 05:42:19 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_null.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_log_null.h,v 1.4 2002/03/31 20:42:19 andrewbaker Exp $ */
+/* $Id: spo_log_null.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 
 #ifndef __SPO_LOG_NULL_H__
diff -ur snort-2.0.2/src/output-plugins/spo_log_tcpdump.c snort-2.0.2-ipv6/src/output-plugins/spo_log_tcpdump.c
--- snort-2.0.2/src/output-plugins/spo_log_tcpdump.c	Tue May 20 03:08:05 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_tcpdump.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_log_tcpdump.c,v 1.34 2003/05/19 18:08:05 chrisgreen Exp $ */
+/* $Id: spo_log_tcpdump.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spo_log_tcpdump 
  * 
diff -ur snort-2.0.2/src/output-plugins/spo_log_tcpdump.h snort-2.0.2-ipv6/src/output-plugins/spo_log_tcpdump.h
--- snort-2.0.2/src/output-plugins/spo_log_tcpdump.h	Mon Apr  1 05:42:19 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_log_tcpdump.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_log_tcpdump.h,v 1.7 2002/03/31 20:42:19 andrewbaker Exp $ */
+/* $Id: spo_log_tcpdump.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
  * of the program.  Sometime in The Future, I'll whip up a bad ass Perl script
diff -ur snort-2.0.2/src/output-plugins/spo_unified.c snort-2.0.2-ipv6/src/output-plugins/spo_unified.c
--- snort-2.0.2/src/output-plugins/spo_unified.c	Tue May 20 03:08:06 2003
+++ snort-2.0.2-ipv6/src/output-plugins/spo_unified.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_unified.c,v 1.39 2003/05/19 18:08:06 chrisgreen Exp $ */
+/* $Id: spo_unified.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spo_unified 
  * 
diff -ur snort-2.0.2/src/output-plugins/spo_unified.h snort-2.0.2-ipv6/src/output-plugins/spo_unified.h
--- snort-2.0.2/src/output-plugins/spo_unified.h	Mon Apr  1 05:42:19 2002
+++ snort-2.0.2-ipv6/src/output-plugins/spo_unified.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_unified.h,v 1.8 2002/03/31 20:42:19 andrewbaker Exp $ */
+/* $Id: spo_unified.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SPO_UNIFIED_H__
 #define __SPO_UNIFIED_H__
diff -ur snort-2.0.2/src/parser/IpAddrSet.c snort-2.0.2-ipv6/src/parser/IpAddrSet.c
--- snort-2.0.2/src/parser/IpAddrSet.c	Fri Mar 14 17:28:53 2003
+++ snort-2.0.2-ipv6/src/parser/IpAddrSet.c	Sat Nov 29 16:37:57 2003
@@ -1,4 +1,25 @@
-/* $Id: IpAddrSet.c,v 1.5 2003/03/14 08:28:53 chris_reid Exp $ */
+/* $Id: IpAddrSet.c,v 1.4 2003/11/29 07:37:57 abekatsu Exp $ */
+/*
+ * Copyright(C) 2003 Cyber Solutions Inc.
+ *
+ * Author(s):  Katsuhisa ABE <abekatsu@cysols.com>
+ *
+ * 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.
+ * 
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
 /*
  * Copyright(C) 2002 Sourcefire, Inc.
  * 
@@ -38,6 +59,7 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
+#include <netdb.h>
 #endif
 
 #ifdef HAVE_STRINGS_H
@@ -66,18 +88,40 @@
 
 void IpAddrSetPrint(IpAddrSet *ipAddrSet)
 {
+#ifndef HAVE_SOCKADDR_STORAGE
     struct in_addr in;
+#else 
+    char *host = NULL;
+#endif
     size_t offset = 0;
+
     while(ipAddrSet)
     {
         offset = 0;
         if(ipAddrSet->addr_flags & EXCEPT_IP)
             offset += snprintf(buffer, 1024 - offset, "NOT ");
+
+#if HAVE_SOCKADDR_STORAGE
+	host = GetIpAddr(&ipAddrSet->ip_addr);
+	if (host != NULL) {
+	    offset += snprintf(buffer + offset, 1024 - offset, "%s/", host);
+	}
+#else
         in.s_addr = ipAddrSet->ip_addr;
         offset += snprintf(buffer + offset, 1024 - offset, "%s/", 
-                inet_ntoa(in));
+			   inet_ntoa(in));
+#endif
+
+#if HAVE_SOCKADDR_STORAGE
+	host = GetIpAddr(&ipAddrSet->netmask);
+	if (host != NULL) {
+	    offset += snprintf(buffer + offset, 1024 - offset, "%s/", host);
+	}
+#else
         in.s_addr = ipAddrSet->netmask;
         offset += snprintf(buffer + offset, 1024 - offset, "%s", inet_ntoa(in));
+#endif
+
         buffer[offset] = '\0';
         LogMessage("%s\n", buffer);
         ipAddrSet = ipAddrSet->next;
@@ -97,9 +141,14 @@
             /* ENOMEM */
             goto failed;
         }
-        
+
+#if HAVE_SOCKADDR_STORAGE
+        memmove(&(current->ip_addr), &(ipAddrSet->ip_addr), sizeof(struct sockaddr_storage));
+        memmove(&(current->netmask), &(ipAddrSet->netmask), sizeof(struct sockaddr_storage));
+#else
         current->ip_addr = ipAddrSet->ip_addr;
         current->netmask = ipAddrSet->netmask;
+#endif
         current->addr_flags = ipAddrSet->addr_flags;
         current->next = NULL;
 
@@ -121,6 +170,324 @@
 }
 
 
+#if HAVE_SOCKADDR_STORAGE
+/*
+ * Function: GetIpAddr(struct sockaddr_storage *)
+ *
+ * Purpose: wrapper of inet_ntop
+ *
+ * Returns: (char *) strings of IP address or NULL
+ *
+ */
+
+char * GetIpAddr(struct sockaddr_storage *ss) 
+{
+    char host[INET6_ADDRSTRLEN];
+
+    switch(ss->ss_family) {
+    case PF_INET:
+	inet_ntop(PF_INET, (void *)&((struct sockaddr_in *)ss)->sin_addr, 
+		  host, INET_ADDRSTRLEN);
+	break;
+    case PF_INET6:
+	inet_ntop(PF_INET6, (void *)&((struct sockaddr_in6 *)ss)->sin6_addr, 
+		  host, INET6_ADDRSTRLEN);
+	break;
+    default:
+	return NULL;
+    }
+
+    return strdup(host);
+}
+
+/*
+ *
+ * Function: IpAddrTakeAnd(struct sockaddr_storage *dst, 
+ *                     struct sockaddr_storage *ss1, struct sockaddr_storage *ss2)
+ *
+ * Purpose: take AND operation on ss1 and sr2, and output the result to dst.
+ *          Ss1, ss2, and dst are ususally casted to 
+ *          sockaddr_in or sockaddr_in6.   
+ *     
+ *
+ * Returns: 0 if the input data src and dst have the same PF family
+ *          else return -1
+ *
+ */
+
+int
+IpAddrTakeAnd(struct sockaddr_storage *dst, 
+	  struct sockaddr_storage *ss1, struct sockaddr_storage *ss2)
+{
+     int i;
+
+     if (ss1->ss_family != ss2->ss_family) 
+     {
+	  dst = NULL;
+	  // FatalError("ERROR %s(%d): PF Family of netmask is different from ip_addr's one\n", file_name, file_line);
+	  return -1;
+     }
+
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+     dst->ss_len = ss1->ss_len;
+#endif
+#if HAVE_SOCKADDR_STORAGE_SS_FAMILY
+     dst->ss_family = ss1->ss_family;
+#endif
+     
+     switch (ss1->ss_family)
+     {
+     case PF_INET:
+	  ((struct sockaddr_in *) dst)->sin_addr.s_addr =
+	       ((struct sockaddr_in *) ss1)->sin_addr.s_addr 
+	       & ((struct sockaddr_in *) ss2)->sin_addr.s_addr;
+	  break;
+
+     case PF_INET6:
+	  for (i = 0; i < 16; i++) 
+	  {
+	       ((struct sockaddr_in6 *)dst)->sin6_addr.s6_addr[i] =
+		    ((struct sockaddr_in6 *)ss1)->sin6_addr.s6_addr[i] &
+		    ((struct sockaddr_in6 *)ss2)->sin6_addr.s6_addr[i];
+	  }
+	  break;
+     default:
+	  return -1;
+     }
+     return 0;
+}
+
+/*
+ * Function: IpNetmaskCreate(int , struct sockaddr_storage *)
+ *
+ * Purpose: Convert netmask length to IPv4/IPv6 or other protocol
+ *            netmask address.
+ *
+ *
+ * Arguments: int netmask_len => netmask length
+ *            struct sockaddr_storage *ss =>  
+ *          
+ *
+ * Returns: 0 for valid netmask, -1 for invalid netmask len, that is,
+ *          less than 0 or more than 32  (ss->family is PF_INET),
+ *          less than 0 or more than 128 (ss->family is PF_INET6),
+ *          ss is NULL, or the ss->family is unknown.
+ *
+ */
+
+int IpNetMaskCreate(int netmask_len, struct sockaddr_storage *ss)
+{
+    int netmask_bytes, netmask_bits, i;
+    u_int8_t mask = 0, maskbit = 0x80L;
+    u_int32_t maskBit = 0x80000000L, Mask = 0;
+
+    if (ss == NULL) {
+	 return -1;
+    }
+    switch(ss->ss_family)
+    {
+    case PF_INET:
+	 if ( netmask_len < 0 || netmask_len > 32)
+	      return -1;
+	 {
+	      struct sockaddr_in *sin;
+	      sin = (struct sockaddr_in *)ss;
+	      memset(&(sin->sin_addr), 0, sizeof(struct in_addr));
+
+	      for (i = netmask_len; i > 0; i--) {
+		   Mask |= maskBit;
+		   maskBit >>= 1;
+	      }
+
+	      sin->sin_addr.s_addr = htonl(Mask);
+	 }
+	 break;
+    case PF_INET6:
+	 if ( netmask_len < 0 || netmask_len > 128)
+	      return -1;
+	 {
+	      struct sockaddr_in6 *sin6;
+	      sin6 = (struct sockaddr_in6 *)ss;
+	      memset(&(sin6->sin6_addr), 0, sizeof(struct in6_addr));
+	      netmask_bytes = netmask_len / 8;
+	      netmask_bits = netmask_len % 8;
+
+	      for (i = 0; i < netmask_bytes ; i++ ) {
+		   sin6->sin6_addr.s6_addr[i] = 0xff;
+	      }
+
+	      for (i = netmask_bits; i > 0; i--) {
+		   mask |= maskbit;
+		   maskbit >>= 1;
+	      }
+
+	      sin6->sin6_addr.s6_addr[netmask_bytes] = mask;
+	 }
+	 break;
+    default:
+	 return -1;
+    }
+    
+    return 0;
+}
+
+/*
+ * Function: IpAddrZero
+ *
+ * Purpose: Convert a supplied IP address to it's network order 32-bit long
+ *          value.  Also convert the CIDR block notation into a real
+ *          netmask.
+ *
+ * Arguments: char *addr  => address string to convert
+ *            IpAddrSet * =>
+ *            
+ *
+ * Returns: 0 for 0.0.0.0 or 0::0, unless 1,
+ *         -1 for unknown pf_family.
+ */
+int
+IpAddrZero(struct sockaddr_storage *ss)
+{
+     int ret = 0, i;
+     struct sockaddr_in *sin;
+     struct sockaddr_in6 *sin6;
+
+     switch(ss->ss_family)
+     {
+     case PF_INET:
+	  sin = (struct sockaddr_in *)ss;
+	  if ( sin->sin_addr.s_addr != 0 )
+	       ret = 1;
+	  break;
+     case PF_INET6:
+	  sin6 = (struct sockaddr_in6 *)ss;
+	  for (i = 0 ; i < 16 ; i ++ )
+	  {
+	       if ( sin6->sin6_addr.s6_addr[i] != 0)
+	       {
+		    ret = 1;
+		    break;
+	       }
+	  }
+	  break;
+     default:
+	  ret = -1;
+     }
+     return ret;
+}
+
+/*
+ * Function: IpAddrEquals
+ *
+ * Purpose: Compare the supplied sockaddr_storage's IP address
+ *          
+ * Arguments: struct sockaddr_stroage *ss1,
+ *            struct sockaddr_stroage *ss2
+ *
+ * Returns: 0 for supplied IP addresses are equal, unless 1,
+ *         -1 for unknown pf_family.
+ */
+int
+IpAddrEquals(struct sockaddr_storage *ss1, struct sockaddr_storage *ss2)
+{
+     int ret = 0, i;
+
+     if (ss1 == NULL || ss2 == NULL)
+	  return -1;
+     if (ss1->ss_family != ss2->ss_family)
+	  return -1;
+
+     switch(ss1->ss_family)
+     {
+     case PF_INET:
+	  if ( ((struct sockaddr_in *)ss1)->sin_addr.s_addr != 
+	       ((struct sockaddr_in *)ss2)->sin_addr.s_addr )
+	       ret = 1;
+	  break;
+     case PF_INET6:
+	  for (i = 0 ; i < 16 ; i ++ )
+	  {
+	       if ( ((struct sockaddr_in6 *)ss1)->sin6_addr.s6_addr[i] !=
+		    ((struct sockaddr_in6 *)ss2)->sin6_addr.s6_addr[i] )
+	       {
+		    ret = 1;
+		    break;
+	       }
+	  }
+	  break;
+     default:
+	  ret = -1;
+     }
+     return ret;
+}
+
+/*
+ * Function: IpAddrGet
+ *
+ * Purpose: Get IPaddress from Packet *p to struct sockaddr_storage
+ *          
+ * Arguments: struct sockaddr_stroage *ss1,
+ *            Packet *p,
+ *            int srcdst => determinate to pick up SRC or DST.
+ *            
+ *
+ * Returns: 0 for success
+ *         -1 for fail.
+ */
+int
+IpAddrGet(struct sockaddr_storage *ss, Packet *p, int srcdst)
+{
+     struct sockaddr_in *sin;
+     struct sockaddr_in6 *sin6;
+
+     if (ss == NULL)
+	  return -1;
+
+     if (p->iph != NULL) 
+     {
+	  sin = (struct sockaddr_in *)ss;
+	  /* sin->sin_len = sizeof(struct sockaddr_in); */
+	  sin->sin_family = PF_INET;
+	  switch (srcdst)
+	  {
+	  case SRC:
+	       sin->sin_port = htons(p->sp);
+	       memmove(&sin->sin_addr, &p->iph->ip_src, sizeof(struct in_addr));
+	       break;
+	  case DST:
+	       sin->sin_port = htons(p->dp);
+	       memmove(&sin->sin_addr, &p->iph->ip_dst, sizeof(struct in_addr));
+	       break;
+	  default:
+	       return -1;
+	  }
+
+     } else if (p->ip6h != NULL) 
+     {
+	  sin6 = (struct sockaddr_in6 *)ss;
+	  /* sin6->sin6_len = sizeof(struct sockaddr_in6); */
+	  sin6->sin6_family = PF_INET6;
+	  switch (srcdst)
+	  {
+	  case SRC:
+	       sin6->sin6_port = htons(p->sp);
+	       memmove(&sin6->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	       break;
+	  case DST:
+	       sin6->sin6_port = htons(p->dp);
+	       memmove(&sin6->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+	       break;
+	  default:
+	       return -1;
+	  }
+     } else {
+	  return -1;
+     }
+     return 0;
+}
+
+#endif /* HAVE_SOCKADDR_STORAGE */
+
 /* XXX: legacy support function */
 /*
  * Function: ParseIP(char *, IpAddrSet *)
@@ -135,6 +502,134 @@
  *
  * Returns: 0 for normal addresses, 1 for an "any" address
  */
+#ifdef HAVE_GETADDRINFO
+int ParseIP(char *paddr, IpAddrSet *address_data)
+{
+    int i, ret;
+    char **toks;        /* token dbl buffer */
+    int num_toks;       /* number of tokens found by mSplit() */
+    int cidr = 1;       /* is network expressed in CIDR format */
+    int nmask;          /* netmask temporary storage */
+    char *addr;         /* string to parse, eventually a
+                         * variable-contents */
+    struct addrinfo hints, *res;
+    struct sockaddr_storage *ss;
+    int error;
+
+    addr = paddr;
+    memset(&hints, 0, sizeof(hints));
+    hints.ai_family = PF_UNSPEC;
+    hints.ai_socktype = SOCK_DGRAM;
+
+    if(*addr == '!')
+    {
+        address_data->addr_flags |= EXCEPT_IP;
+
+        addr++;  /* inc past the '!' */
+    }
+
+    /* check for wildcards */
+    if(!strcasecmp(addr, "any"))
+    {
+	memset(&(address_data->ip_addr), 0, sizeof(struct sockaddr_storage));
+	memset(&(address_data->netmask), 0, sizeof(struct sockaddr_storage));
+
+	return 1;
+    }
+
+    /* break out the CIDR notation from the IP address */
+    toks = mSplit(addr, "/", 2, &num_toks, 0);
+    /* ":" cannot be used as delimitar becasue IPv6 address notation uses it*/
+
+    /*
+     * if we have a mask spec and it is more than three characters long, assume
+     * it is netmask format
+     */
+
+    if((num_toks > 1) && strlen(toks[1]) > 3)
+    {
+        cidr = 0;
+    }
+
+    if (toks[0] == NULL)
+	 FatalError("ERROR %s(%d) => Unrecognized IP address/netmask %s\n",
+		    file_name, file_line, addr);
+
+    if ((error = getaddrinfo(toks[0], NULL, &hints, &res)) != 0) 
+	 FatalError("ERROR %s(%d): %s", file_name, file_line, gai_strerror(error));
+
+    ss = (struct sockaddr_storage *)res->ai_addr;
+    memmove(&(address_data->ip_addr), ss, res->ai_addrlen);
+
+    switch(num_toks)
+    {
+    case 1:
+	 memset(&(address_data->netmask), 0xff, sizeof(struct sockaddr_storage));
+	 address_data->netmask.ss_family = address_data->ip_addr.ss_family;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 address_data->netmask.ss_len = address_data->ip_addr.ss_len; 
+#endif
+	 break;
+    case 2:
+	 address_data->netmask.ss_family = address_data->ip_addr.ss_family;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 address_data->netmask.ss_len = address_data->ip_addr.ss_len;
+#endif
+	 if (cidr)
+	 {
+	      /* convert the CIDR notation into a real live netmask */
+	      nmask = atoi(toks[1]);
+
+	      /* it's pain to differ whether toks[1] is correct if netmask */
+	      /* is /0, so we deploy some sort of evil hack with isdigit */
+
+	      if(!isdigit((int) toks[1][0]))
+		   nmask = -1;
+
+	      if ( (ret = IpNetMaskCreate(nmask, &(address_data->netmask))) != 0 ) 
+	      {
+		   FatalError("ERROR %s(%d): Invalid block for IP address "
+			      "%s\n", file_name, file_line, addr);
+	      }
+	 }
+	 else
+	 {
+	      if (toks[1] == NULL)
+		   FatalError("ERROR %s(%d) => Unrecognized IP address/netmask %s\n",
+			      file_name, file_line, addr);
+
+	      if ((error = getaddrinfo(toks[0], NULL, &hints, &res)) != 0) 
+		   FatalError("ERROR %s(%d): %s", file_name, file_line, gai_strerror(error));
+	      ss = (struct sockaddr_storage *)res->ai_addr;
+	      memmove(&(address_data->ip_addr), ss, res->ai_addrlen);
+
+	 }
+	 break;
+    default:
+	 FatalError("ERROR %s(%d) => Unrecognized IP address/netmask %s\n",
+		    file_name, file_line, addr);
+	 break;
+    }
+
+    /* for valid netmask */
+    ss = (struct sockaddr_storage *)malloc(sizeof(struct sockaddr_storage));
+    if (ss == NULL)
+	 FatalError("ERROR %s(%d) => Cannot allocate enough memory\n",
+		    file_name, file_line);
+
+    memmove(ss, &(address_data->ip_addr), sizeof(struct sockaddr_storage));
+    IpAddrTakeAnd(&(address_data->ip_addr), ss, &(address_data->netmask));
+    free(ss);
+
+    for(i=0;i<num_toks;i++)
+    {
+        free(toks[i]);
+    }
+    freeaddrinfo(res);
+
+    return 0;
+}
+#else
 int ParseIP(char *paddr, IpAddrSet *address_data)
 {
     int i;
@@ -300,5 +795,42 @@
     }
 
     return 0;
-}                                                                                            
+}
+#endif /* HAVE_SOCKADDR_STORAGE */
+
+#if HAVE_SOCKADDR_STORAGE
+int IpAddrComp(struct sockaddr_storage *ss1, struct sockaddr_storage *ss2)
+{
+    struct sockaddr_in *sin1, *sin2;
+    struct sockaddr_in6 *sin6_1, *sin6_2;
+    int i;
+
+    switch(ss1->ss_family)
+    {
+    case PF_INET:
+	sin1 = (struct sockaddr_in *)ss1;
+	sin2 = (struct sockaddr_in *)ss2;
+	if (sin1->sin_addr.s_addr < sin2->sin_addr.s_addr)
+	    return 1;
+	else if (sin1->sin_addr.s_addr < sin2->sin_addr.s_addr)
+	    return -1;
+	else
+	    return 0;
+	break;
+    case PF_INET6:
+	sin6_1 = (struct sockaddr_in6 *)ss1;
+	sin6_2 = (struct sockaddr_in6 *)ss2;
+	for (i = 0 ; i < 16 ; i++ )
+	{
+	     if ( *(uint8_t *)&sin6_1->sin6_addr.s6_addr[i] > *(uint8_t *)&sin6_2->sin6_addr.s6_addr[i] )
+		  return 1;
+	}
+	return 0;
+
+	break;
+    default:
+	return 0;
+    }
+}
+#endif
 
diff -ur snort-2.0.2/src/parser/IpAddrSet.h snort-2.0.2-ipv6/src/parser/IpAddrSet.h
--- snort-2.0.2/src/parser/IpAddrSet.h	Fri Mar 14 17:28:53 2003
+++ snort-2.0.2-ipv6/src/parser/IpAddrSet.h	Sat Nov 29 16:38:11 2003
@@ -1,4 +1,25 @@
-/* $Id: IpAddrSet.h,v 1.2 2003/03/14 08:28:53 chris_reid Exp $ */
+/* $Id: IpAddrSet.h,v 1.4 2003/11/29 07:38:11 abekatsu Exp $ */
+/*
+ * Copyright(C) 2003 Cyber Solutions Inc.
+ *
+ * Author(s):  Katsuhisa ABE <abekatsu@cysols.com>
+ *
+ * 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.
+ * 
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
 /*
  * Copyright(C) 2002 Sourcefire, Inc.
  *
@@ -24,11 +45,17 @@
 #define __IP_ADDR_SET_H__
 
 #include <sys/types.h>
+#include <sys/socket.h>
 
 typedef struct _IpAddrSet
 {
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage ip_addr;   /* IP addr */
+    struct sockaddr_storage netmask;   /* netmask */
+#else
     u_int32_t ip_addr;   /* IP addr */
     u_int32_t netmask;   /* netmask */
+#endif
     u_int8_t  addr_flags; /* flag for normal/exception processing */
 
     struct _IpAddrSet *next;
@@ -43,6 +70,12 @@
 
 
 /* XXX legacy support function */
+char * GetIpAddr(struct sockaddr_storage *);
 int ParseIP(char *paddr, IpAddrSet *);
 
+int IpAddrTakeAnd(struct sockaddr_storage *, struct sockaddr_storage *, struct sockaddr_storage *);
+int IpAddrZero(struct sockaddr_storage *);
+int IpAddrEquals(struct sockaddr_storage *, struct sockaddr_storage *);
+int IpAddrGet(struct sockaddr_storage *, Packet *, int );
+int IpAddrComp(struct sockaddr_storage *, struct sockaddr_storage *);
 #endif /* __IP_ADDR_SET_H__ */
diff -ur snort-2.0.2/src/parser/Makefile.in snort-2.0.2-ipv6/src/parser/Makefile.in
--- snort-2.0.2/src/parser/Makefile.in	Thu Sep 11 05:27:40 2003
+++ snort-2.0.2-ipv6/src/parser/Makefile.in	Thu Nov 13 18:43:00 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 noinst_LIBRARIES = libparser.a
@@ -102,7 +96,6 @@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp =
-am__depfiles_maybe =
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -120,7 +113,9 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/parser/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 
 AR = ar
 
@@ -138,67 +133,59 @@
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+	$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
 
 .c.obj:
 	$(COMPILE) -c `cygpath -w $<`
 uninstall-info-am:
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
 	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -222,7 +209,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -230,7 +216,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/parser.c snort-2.0.2-ipv6/src/parser.c
--- snort-2.0.2/src/parser.c	Thu Sep 11 05:25:03 2003
+++ snort-2.0.2-ipv6/src/parser.c	Sat Nov 29 15:58:13 2003
@@ -1,4 +1,4 @@
-/* $Id: parser.c,v 1.4 2003/07/17 05:51:37 tburgess Exp $ */
+/* $Id: parser.c,v 1.7 2003/11/29 06:58:13 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 2000,2001 Andrew R. Baker <andrewb@uab.edu>
@@ -409,9 +409,11 @@
     while(rule != NULL)
     {
         DumpChain(rule->RuleList->IpList, rule->name, "IP Chains");
+        DumpChain(rule->RuleList->Ip6List, rule->name, "IP6 Chains");
         DumpChain(rule->RuleList->TcpList, rule->name, "TCP Chains");
         DumpChain(rule->RuleList->UdpList, rule->name, "UDP Chains");
         DumpChain(rule->RuleList->IcmpList, rule->name, "ICMP Chains");
+        DumpChain(rule->RuleList->IcmpList, rule->name, "ICMP6 Chains");
         rule = rule->next;
     }
 }
@@ -433,9 +435,11 @@
     while(rule != NULL)
     {
         IntegrityCheck(rule->RuleList->IpList, rule->name, "IP Chains");
+        IntegrityCheck(rule->RuleList->Ip6List, rule->name, "IP6 Chains");
         IntegrityCheck(rule->RuleList->TcpList, rule->name, "TCP Chains");
         IntegrityCheck(rule->RuleList->UdpList, rule->name, "UDP Chains");
         IntegrityCheck(rule->RuleList->IcmpList, rule->name, "ICMP Chains");
+        IntegrityCheck(rule->RuleList->Icmp6List, rule->name, "ICMP6 Chains");
         rule = rule->next;
     }
 
@@ -769,10 +773,18 @@
             rtn_idx = list->IcmpList;
             break;
 
+        case IPPROTO_ICMPV6:
+            rtn_idx = list->Icmp6List;
+            break;
+
         case ETHERNET_TYPE_IP:
             rtn_idx = list->IpList;
             break;
 
+        case ETHERNET_TYPE_IPV6:
+            rtn_idx = list->Ip6List;
+            break;
+
         default:
             rtn_idx = NULL;
             break;
@@ -812,12 +824,24 @@
                 rtn_tmp = list->IcmpList;
                 break;
 
+            case IPPROTO_ICMPV6:
+                list->Icmp6List = (RuleTreeNode *) calloc(sizeof(RuleTreeNode), 
+                        sizeof(char));
+                rtn_tmp = list->Icmp6List;
+                break;
+
             case ETHERNET_TYPE_IP:
                 list->IpList = (RuleTreeNode *) calloc(sizeof(RuleTreeNode), 
                         sizeof(char));
                 rtn_tmp = list->IpList;
                 break;
 
+            case ETHERNET_TYPE_IPV6:
+                list->Ip6List = (RuleTreeNode *) calloc(sizeof(RuleTreeNode), 
+                        sizeof(char));
+                rtn_tmp = list->Ip6List;
+                break;
+
         }
 
         /* copy the prototype header data into the new node */
@@ -1890,9 +1914,15 @@
     if(!strcasecmp(proto_str, "icmp"))
         return IPPROTO_ICMP;
 
+    if(!strcasecmp(proto_str, "icmp6"))
+        return IPPROTO_ICMPV6;
+
     if(!strcasecmp(proto_str, "ip"))
         return ETHERNET_TYPE_IP;
 
+    if(!strcasecmp(proto_str, "ip6"))
+        return ETHERNET_TYPE_IPV6;
+
     if(!strcasecmp(proto_str, "arp"))
         return ETHERNET_TYPE_ARP;
 
@@ -1978,7 +2008,12 @@
                 
             tmp_addr = AllocAddrNode(rtn, mode); 
             ParseIP(tmp, tmp_addr);
+#if HAVE_GETADDRINFO
+            if((IpAddrZero(&(tmp_addr->ip_addr)) == 0) && 
+	       (IpAddrZero(&(tmp_addr->netmask)) == 0))
+#else
             if(tmp_addr->ip_addr == 0 && tmp_addr->netmask == 0)
+#endif
             {
                 switch(mode)
                 {
@@ -2007,7 +2042,12 @@
                     "regular IP address, processing...\n"););
         tmp_addr = AllocAddrNode(rtn, mode);
         ParseIP(tmp, tmp_addr);
+#if HAVE_GETADDRINFO
+	if((IpAddrZero(&tmp_addr->ip_addr) == 0) && 
+	   (IpAddrZero(&tmp_addr->netmask) == 0))
+#else
         if(tmp_addr->ip_addr == 0 && tmp_addr->netmask == 0)
+#endif
         {
             switch(mode)
             {
@@ -2733,9 +2773,15 @@
     rtn_idx = rtn->sip;
     for(rule_idx = rule->sip; rule_idx != NULL; rule_idx = rule_idx->next)
     {
+#ifdef HAVE_GETADDRINFO
+	if(rtn_idx && (IpAddrEquals(&(rtn_idx->ip_addr), &(rule_idx->ip_addr)) == 0) &&
+	   (IpAddrEquals(&(rtn_idx->netmask), &(rule_idx->netmask)) == 0) &&
+	   (rtn_idx->addr_flags == rule_idx->addr_flags))
+#else
         if(rtn_idx && (rtn_idx->ip_addr == rule_idx->ip_addr) &&
                 (rtn_idx->netmask == rule_idx->netmask) &&
                 (rtn_idx->addr_flags == rule_idx->addr_flags))
+#endif
         {
             rtn_idx = rtn_idx->next;
         }
@@ -2748,9 +2794,15 @@
     rtn_idx = rtn->dip;
     for(rule_idx = rule->dip ; rule_idx != NULL; rule_idx = rule_idx->next)
     {
+#ifdef HAVE_GETADDRINFO
+	if(rtn_idx && (IpAddrEquals(&(rtn_idx->ip_addr), &(rule_idx->ip_addr)) == 0) &&
+	   (IpAddrEquals(&(rtn_idx->netmask), &(rule_idx->netmask)) == 0) &&
+	   (rtn_idx->addr_flags == rule_idx->addr_flags))
+#else
         if(rtn_idx && (rtn_idx->ip_addr == rule_idx->ip_addr) &&
                 (rtn_idx->netmask == rule_idx->netmask) &&
                 (rtn_idx->addr_flags == rule_idx->addr_flags))
+#endif
         {
             rtn_idx = rtn_idx->next;
         }
@@ -3121,6 +3173,7 @@
     SetLinks(Activation.TcpList, Dynamic.TcpList);
     SetLinks(Activation.UdpList, Dynamic.UdpList);
     SetLinks(Activation.IcmpList, Dynamic.IcmpList);
+    SetLinks(Activation.Icmp6List, Dynamic.Icmp6List);
 }
 
 
diff -ur snort-2.0.2/src/parser.h snort-2.0.2-ipv6/src/parser.h
--- snort-2.0.2/src/parser.h	Fri Dec 20 04:27:24 2002
+++ snort-2.0.2-ipv6/src/parser.h	Tue Sep 30 13:25:25 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */  
 
-/* $Id: parser.h,v 1.15 2002/12/19 19:27:24 andrewbaker Exp $ */
+/* $Id: parser.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifndef __PARSER_H__
 #define __PARSER_H__
 
diff -ur snort-2.0.2/src/pcrm.c snort-2.0.2-ipv6/src/pcrm.c
--- snort-2.0.2/src/pcrm.c	Tue Feb  4 17:27:02 2003
+++ snort-2.0.2-ipv6/src/pcrm.c	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: pcrm.c,v 1.2 2003/02/04 08:27:02 chris_reid Exp $
+**  $Id: pcrm.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 **  pcrm.c
 **
diff -ur snort-2.0.2/src/pcrm.h snort-2.0.2-ipv6/src/pcrm.h
--- snort-2.0.2/src/pcrm.h	Thu Oct 10 14:05:54 2002
+++ snort-2.0.2-ipv6/src/pcrm.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: pcrm.h,v 1.1 2002/10/10 05:05:54 chrisgreen Exp $
+** $Id: pcrm.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 **
 ** pcrm.h
 **
diff -ur snort-2.0.2/src/plugbase.c snort-2.0.2-ipv6/src/plugbase.c
--- snort-2.0.2/src/plugbase.c	Tue May 20 14:15:53 2003
+++ snort-2.0.2-ipv6/src/plugbase.c	Sat Nov 29 16:08:53 2003
@@ -1,4 +1,4 @@
-/* $Id: plugbase.c,v 1.76 2003/05/20 05:15:53 chris_reid Exp $ */
+/* $Id: plugbase.c,v 1.3 2003/11/29 07:08:53 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -89,6 +89,10 @@
 #include "detection-plugins/sp_react.h"
 #include "detection-plugins/sp_respond.h"
 #endif
+#include "detection-plugins/sp_hlim_check.h"
+#include "detection-plugins/sp_icmp6_code_check.h"
+#include "detection-plugins/sp_icmp6_type_check.h"
+#include "detection-plugins/sp_ip6_proto.h"
 #include "output-plugins/spo_alert_sf_socket.h"
 
 /* built-in output plugins */
@@ -149,6 +153,10 @@
     SetupReact();
     SetupRespond();
 #endif
+    SetupIp6Proto();
+    SetupIcmp6CodeCheck();
+    SetupIcmp6TypeCheck();
+    SetupHlimCheck();
 }
 
 /****************************************************************************
@@ -845,7 +853,7 @@
 
 int PacketIsTCP(Packet * p)
 {
-    if(p->iph != NULL && p->tcph != NULL)
+    if((p->iph != NULL || p->ip6h != NULL) && p->tcph != NULL)
         return 1;
 
     return 0;
@@ -855,7 +863,7 @@
 
 int PacketIsUDP(Packet * p)
 {
-    if(p->iph != NULL && p->udph != NULL)
+    if((p->iph != NULL || p->ip6h != NULL) && p->udph != NULL)
         return 1;
 
     return 0;
diff -ur snort-2.0.2/src/plugbase.h snort-2.0.2-ipv6/src/plugbase.h
--- snort-2.0.2/src/plugbase.h	Tue May 20 03:08:03 2003
+++ snort-2.0.2-ipv6/src/plugbase.h	Tue Sep 30 13:25:25 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: plugbase.h,v 1.58 2003/05/19 18:08:03 chrisgreen Exp $ */
+/* $Id: plugbase.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifndef __PLUGBASE_H__
 #define __PLUGBASE_H__
 
diff -ur snort-2.0.2/src/plugin_enum.h snort-2.0.2-ipv6/src/plugin_enum.h
--- snort-2.0.2/src/plugin_enum.h	Sat Nov  2 05:12:06 2002
+++ snort-2.0.2-ipv6/src/plugin_enum.h	Thu Dec  4 15:26:31 2003
@@ -5,7 +5,7 @@
   No more grepping to make your own plugin!
 */
 
-/* $Id: plugin_enum.h,v 1.3 2002/11/01 20:12:06 roesch Exp $ */
+/* $Id: plugin_enum.h,v 1.5 2003/12/04 06:26:31 abekatsu Exp $ */
 
 enum {
     PLUGIN_CLIENTSERVER,
@@ -33,4 +33,10 @@
     PLUGIN_TCP_WIN_CHECK,
     PLUGIN_TTL_CHECK,
     PLUGIN_BYTE_TEST,
+    PLUGIN_HLIM_CHECK,
+    PLUGIN_ICMP6_CODE,
+    PLUGIN_ICMP6_TYPE,
+    PLUGIN_ICMP6_SEQ_CHECK,
+    PLUGIN_ICMP6_ID_CHECK,
+    PLUGIN_IP6_PROTO_CHECK,
 };
diff -ur snort-2.0.2/src/preprocessors/Makefile.in snort-2.0.2-ipv6/src/preprocessors/Makefile.in
--- snort-2.0.2/src/preprocessors/Makefile.in	Thu Sep 11 05:27:39 2003
+++ snort-2.0.2-ipv6/src/preprocessors/Makefile.in	Thu Nov 13 18:43:00 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,25 +57,23 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
-
-INCLUDES = @INCLUDES@
+EXEEXT = @EXEEXT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
+INCLUDES = @INCLUDES@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 noinst_LIBRARIES = libspp.a
@@ -124,7 +118,6 @@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp =
-am__depfiles_maybe =
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -142,7 +135,9 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/preprocessors/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 
 AR = ar
 
@@ -160,67 +155,59 @@
 	-rm -f *.tab.c
 
 .c.o:
-	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+	$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
 
 .c.obj:
 	$(COMPILE) -c `cygpath -w $<`
 uninstall-info-am:
 
-ETAGS = etags
-ETAGSFLAGS =
-
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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
+	mkid -fID $$unique $(LISP)
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
 	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	list='$(SOURCES) $(HEADERS) $(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 "$(ETAGS_ARGS)$$tags$$unique" \
-	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	     $$tags $$unique
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
+	here=`CDPATH=: && cd $(top_builddir) && pwd` \
 	  && cd $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -244,7 +231,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -252,7 +238,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/preprocessors/http-resp.c snort-2.0.2-ipv6/src/preprocessors/http-resp.c
--- snort-2.0.2/src/preprocessors/http-resp.c	Wed Jul 23 03:24:51 2003
+++ snort-2.0.2-ipv6/src/preprocessors/http-resp.c	Tue Sep 30 13:25:26 2003
@@ -1,6 +1,6 @@
 /*
 **
-*  $Id: http-resp.c,v 1.3 2003/07/22 18:24:51 chrisgreen Exp $
+*  $Id: http-resp.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** http-resp.c
 **
diff -ur snort-2.0.2/src/preprocessors/http-resp.h snort-2.0.2-ipv6/src/preprocessors/http-resp.h
--- snort-2.0.2/src/preprocessors/http-resp.h	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/http-resp.h	Tue Sep 30 13:25:26 2003
@@ -1,6 +1,6 @@
 /*
 **
-*  $Id: http-resp.h,v 1.1 2002/10/10 05:05:58 chrisgreen Exp $
+*  $Id: http-resp.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** http-perf.h
 **
diff -ur snort-2.0.2/src/preprocessors/perf-base.c snort-2.0.2-ipv6/src/preprocessors/perf-base.c
--- snort-2.0.2/src/preprocessors/perf-base.c	Tue Feb  4 17:27:04 2003
+++ snort-2.0.2-ipv6/src/preprocessors/perf-base.c	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: perf-base.c,v 1.4 2003/02/04 08:27:04 chris_reid Exp $
+** $Id: perf-base.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** perf-base.c
 **
diff -ur snort-2.0.2/src/preprocessors/perf-base.h snort-2.0.2-ipv6/src/preprocessors/perf-base.h
--- snort-2.0.2/src/preprocessors/perf-base.h	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/perf-base.h	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: perf-base.h,v 1.1 2002/10/10 05:05:58 chrisgreen Exp $
+** $Id: perf-base.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** perf-base.h
 **
diff -ur snort-2.0.2/src/preprocessors/perf-event.c snort-2.0.2-ipv6/src/preprocessors/perf-event.c
--- snort-2.0.2/src/preprocessors/perf-event.c	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/perf-event.c	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: perf-event.c,v 1.1 2002/10/10 05:05:58 chrisgreen Exp $
+**  $Id: perf-event.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  perf-event.c
 **
diff -ur snort-2.0.2/src/preprocessors/perf-event.h snort-2.0.2-ipv6/src/preprocessors/perf-event.h
--- snort-2.0.2/src/preprocessors/perf-event.h	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/perf-event.h	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: perf-event.h,v 1.1 2002/10/10 05:05:58 chrisgreen Exp $
+**  $Id: perf-event.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  perf-event.h
 **
diff -ur snort-2.0.2/src/preprocessors/perf-flow.c snort-2.0.2-ipv6/src/preprocessors/perf-flow.c
--- snort-2.0.2/src/preprocessors/perf-flow.c	Tue Feb  4 17:27:04 2003
+++ snort-2.0.2-ipv6/src/preprocessors/perf-flow.c	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: perf-flow.c,v 1.2 2003/02/04 08:27:04 chris_reid Exp $
+** $Id: perf-flow.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** perf-flow.c
 **
diff -ur snort-2.0.2/src/preprocessors/perf-flow.h snort-2.0.2-ipv6/src/preprocessors/perf-flow.h
--- snort-2.0.2/src/preprocessors/perf-flow.h	Fri Mar 14 17:28:54 2003
+++ snort-2.0.2-ipv6/src/preprocessors/perf-flow.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: perf-flow.h,v 1.2 2003/03/14 08:28:54 chris_reid Exp $ */
+/* $Id: perf-flow.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** perf-flow.h
 **
diff -ur snort-2.0.2/src/preprocessors/perf.c snort-2.0.2-ipv6/src/preprocessors/perf.c
--- snort-2.0.2/src/preprocessors/perf.c	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/perf.c	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-**  $Id: perf.c,v 1.1 2002/10/10 05:05:58 chrisgreen Exp $
+**  $Id: perf.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  perf.c
 **
diff -ur snort-2.0.2/src/preprocessors/perf.h snort-2.0.2-ipv6/src/preprocessors/perf.h
--- snort-2.0.2/src/preprocessors/perf.h	Tue Feb  4 17:27:04 2003
+++ snort-2.0.2-ipv6/src/preprocessors/perf.h	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: perf.h,v 1.2 2003/02/04 08:27:04 chris_reid Exp $
+** $Id: perf.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** perf.h
 **
diff -ur snort-2.0.2/src/preprocessors/sfprocpidstats.c snort-2.0.2-ipv6/src/preprocessors/sfprocpidstats.c
--- snort-2.0.2/src/preprocessors/sfprocpidstats.c	Mon Jan  6 05:36:29 2003
+++ snort-2.0.2-ipv6/src/preprocessors/sfprocpidstats.c	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: sfprocpidstats.c,v 1.2 2003/01/05 20:36:29 cazz Exp $
+** $Id: sfprocpidstats.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  sfprocpidstats.c
 **
diff -ur snort-2.0.2/src/preprocessors/sfprocpidstats.h snort-2.0.2-ipv6/src/preprocessors/sfprocpidstats.h
--- snort-2.0.2/src/preprocessors/sfprocpidstats.h	Mon Jan  6 05:36:29 2003
+++ snort-2.0.2-ipv6/src/preprocessors/sfprocpidstats.h	Tue Sep 30 13:25:26 2003
@@ -1,5 +1,5 @@
 /*
-** $Id: sfprocpidstats.h,v 1.2 2003/01/05 20:36:29 cazz Exp $
+** $Id: sfprocpidstats.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 ** sfprocpidstats.h
 **
diff -ur snort-2.0.2/src/preprocessors/spp_arpspoof.c snort-2.0.2-ipv6/src/preprocessors/spp_arpspoof.c
--- snort-2.0.2/src/preprocessors/spp_arpspoof.c	Sat Jul 26 00:17:28 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_arpspoof.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_arpspoof.c,v 1.20 2003/07/25 15:17:28 chrisgreen Exp $ */
+/* $Id: spp_arpspoof.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 2001-2003 Jeff Nathan <jeff@snort.org>
 **
diff -ur snort-2.0.2/src/preprocessors/spp_arpspoof.h snort-2.0.2-ipv6/src/preprocessors/spp_arpspoof.h
--- snort-2.0.2/src/preprocessors/spp_arpspoof.h	Sat Jul 26 00:17:28 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_arpspoof.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_arpspoof.h,v 1.6 2003/07/25 15:17:28 chrisgreen Exp $ */
+/* $Id: spp_arpspoof.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 2001-2003 Jeff Nathan <jeff@snort.org>
 **
diff -ur snort-2.0.2/src/preprocessors/spp_bo.c snort-2.0.2-ipv6/src/preprocessors/spp_bo.c
--- snort-2.0.2/src/preprocessors/spp_bo.c	Thu Jun  5 04:32:20 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_bo.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_bo.c,v 1.16 2003/06/04 19:32:20 chrisgreen Exp $ */
+/* $Id: spp_bo.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* Snort Preprocessor Plugin Source File Bo */
 
 /* spp_bo 
diff -ur snort-2.0.2/src/preprocessors/spp_bo.h snort-2.0.2-ipv6/src/preprocessors/spp_bo.h
--- snort-2.0.2/src/preprocessors/spp_bo.h	Tue May 14 09:29:35 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_bo.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_bo.h,v 1.4 2002/05/14 00:29:35 chrisgreen Exp $ */
+/* $Id: spp_bo.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* Snort Back Orifice Preprocessor Plugin */
 
 
diff -ur snort-2.0.2/src/preprocessors/spp_conversation.c snort-2.0.2-ipv6/src/preprocessors/spp_conversation.c
--- snort-2.0.2/src/preprocessors/spp_conversation.c	Thu Mar 27 09:18:57 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_conversation.c	Sat Nov 29 16:38:39 2003
@@ -1,5 +1,6 @@
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
+**               2003      Katsuhisa ABE <abekatsu@cysols.com>
 **
 ** 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
@@ -16,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_conversation.c,v 1.20 2003/03/27 00:18:57 chris_reid Exp $
+/* $Id: spp_conversation.c,v 1.2 2003/11/29 07:38:39 abekatsu Exp $
  *
  */
 
@@ -93,6 +94,7 @@
 static int ConvCompareFunc(ubi_trItemPtr ItemPtr, ubi_trNodePtr NodePtr);
 static int PruneConvCache(u_int32_t now, int tokill, StateRecord *keeper);
 static StateRecord* ConvGetSession(Packet* p);
+static INLINE int IpAddrCompare(Packet *p);
 static INLINE void FillStateRecord(StateRecord *s, Packet *p);
 static INLINE void FillConvStats(StateRecord *s, Packet *p);
 /****************************************
@@ -288,6 +290,8 @@
 void ConvFunc(Packet* p)
 {
     StateRecord* srecord;
+    u_int8_t protocol;
+    char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
 
     if(!(p->preprocessors & PP_CONVERSATION))
     {
@@ -303,7 +307,7 @@
         return;
     }
     
-    if (p->iph == NULL)
+    if (p->iph == NULL && p->ip6h == NULL)
     {
         DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
                                 "ignoring non-ip traffic\n"));
@@ -311,27 +315,41 @@
     }
 
     /* is this an allowed ip protocol */
-    if(conv_data.allowed_ip_protocols[p->iph->ip_proto] != 1)
+    if (p->iph != NULL)
     {
-        Event event;
+	protocol = p->iph->ip_proto;
+	(void) inet_ntop(PF_INET, &p->iph->ip_src, src, INET_ADDRSTRLEN);
+	(void) inet_ntop(PF_INET, &p->iph->ip_dst, dst, INET_ADDRSTRLEN);
+    }
+    else if (p->ip6h != NULL)
+    {
+	protocol = p->ip6h->s_ip6_nxt;
+	(void) inet_ntop(PF_INET6, &p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+	(void) inet_ntop(PF_INET6, &p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+    }
+
+
+    if(conv_data.allowed_ip_protocols[protocol] != 1)
+    {
+	Event event;
         
-        if(conv_data.alert_odd_protocols == 1)
-        {
-            SetEvent(&event, GENERATOR_SPP_CONV, 
-                     CONV_BAD_IP_PROTOCOL, 1, 0, 5, 0);
-            CallAlertFuncs(p, CONV_BAD_IP_PROTOCOL_STR, NULL, &event);
-            CallLogFuncs(p, CONV_BAD_IP_PROTOCOL_STR, NULL, &event);
-        }
+	if(conv_data.alert_odd_protocols == 1)
+	{
+	    SetEvent(&event, GENERATOR_SPP_CONV, 
+		     CONV_BAD_IP_PROTOCOL, 1, 0, 5, 0);
+	    CallAlertFuncs(p, CONV_BAD_IP_PROTOCOL_STR, NULL, &event);
+	    CallLogFuncs(p, CONV_BAD_IP_PROTOCOL_STR, NULL, &event);
+	}
         
-        return;
+	return;
     }
     
     DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
                             "_____________________________\n"
                             "%s:%u->",
-                            inet_ntoa(p->iph->ip_src), p->sp);
+                            src, p->sp);
                DebugMessage(DEBUG_CONVERSATION, "%s:%u\n",
-                            inet_ntoa(p->iph->ip_dst), p->dp););
+                            dst, p->dp););
 
 
     /* This will watch portscan watch */
@@ -382,12 +400,10 @@
         FillConvStats(srecord, p);
     }
 
-    
     /*
      * controls if we will watch for scans on new sessions with
      * spp_portscan2
      */
-
     if(conv_data.watch_scans && (!(srecord->conv_flags & CONV_MULIPACKETS)))
     {
         /* only call this if this is the first packet in a conversation */
@@ -465,7 +481,12 @@
  */ 
 static INLINE void FillConvStats(StateRecord *s, Packet *p)
 {
+
+#if HAVE_SOCKADDR_STORAGE
+    if(IpAddrCompare(p) == 1)
+#else
     if(PACKET_FORWARD(p))
+#endif
     {
         s->bytes_sent += p->caplen;
         s->dsize_sent += p->dsize;
@@ -483,15 +504,145 @@
 /***********************************************
  * Fills the state record with info
  ***********************************************/
+static INLINE int IpAddrCompare(Packet *p)
+{
+     if(p == NULL)
+	 return 0;
+
+     if(p->iph != NULL)
+     {
+	  if (*(u_int32_t *)&p->iph->ip_dst.s_addr > *(u_int32_t *)&p->iph->ip_src.s_addr )
+	      return 1;
+	  else if (*(u_int32_t *)&p->iph->ip_dst.s_addr == *(u_int32_t *)&p->iph->ip_src.s_addr)
+	      return 0;
+	  else
+	      return -1;
+     } 
+     else if (p->ip6h != NULL)
+     {
+	 int i;
+	 for (i = 0; i < 16 ; i++)
+	 {
+	      if (*(u_int8_t *)&p->ip6h->ip6_dst.s6_addr[i] > *(u_int8_t *)&p->ip6h->ip6_src.s6_addr[i])
+	      {
+		  return 1;
+	      }
+	      else if (*(u_int8_t *)&p->ip6h->ip6_dst.s6_addr[i] < *(u_int8_t *)&p->ip6h->ip6_src.s6_addr[i])
+	      {
+		  return -1;
+	      }
+	 }
+	 return 0;
+     }
+     return 0;
+}
 static INLINE void FillStateRecord(StateRecord* s, Packet* p)
 {
+#if HAVE_SOCKADDR_STORAGE
+    char srchost[INET6_ADDRSTRLEN], dsthost[INET6_ADDRSTRLEN];
+#endif
     /*
       always store things the same way so that when we have to look
       up a session, we only have to look them up one way.
     */
+    if (p->iph != NULL)
+	s->ip_proto = p->iph->ip_proto;
+    else if (p->ip6h != NULL)
+	s->ip_proto = p->ip6h->s_ip6_nxt;
+
+#if HAVE_SOCKADDR_STORAGE
+    if (IpAddrCompare(p) == 1) 
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
+                                "going forward!\n"););
+	if (p->iph != NULL) 
+	{
+	     struct sockaddr_in *sin_src = (struct sockaddr_in *)&s->sip;
+	     struct sockaddr_in *sin_dst = (struct sockaddr_in *)&s->dip;
+
+	     sin_src->sin_family = PF_INET;
+	     sin_dst->sin_family = PF_INET;
+	     sin_src->sin_addr.s_addr = (u_int32_t) p->iph->ip_src.s_addr;
+	     sin_dst->sin_addr.s_addr = (u_int32_t) p->iph->ip_dst.s_addr;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	     s->sip.ss_len = sizeof(struct sockaddr_in);
+	     s->dip.ss_len = sizeof(struct sockaddr_in);
+#endif
 
-    s->ip_proto = p->iph->ip_proto;
+	     inet_ntop(PF_INET, (void *)&sin_src->sin_addr, srchost, INET_ADDRSTRLEN);
+	     inet_ntop(PF_INET, (void *)&sin_dst->sin_addr, dsthost, INET_ADDRSTRLEN);
+	}
+	else if (p->ip6h != NULL)
+	{
+	     struct sockaddr_in6 *sin6_src = (struct sockaddr_in6 *)&s->sip;
+	     struct sockaddr_in6 *sin6_dst = (struct sockaddr_in6 *)&s->dip;
+
+	     sin6_src->sin6_family = PF_INET6;
+	     sin6_dst->sin6_family = PF_INET6;
+	     memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	     memmove(&sin6_dst->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	     s->sip.ss_len = sizeof(struct sockaddr_in6);
+	     s->dip.ss_len = sizeof(struct sockaddr_in6);
+#endif
 
+	     inet_ntop(PF_INET6, (void *)&sin6_src->sin6_addr, srchost, INET6_ADDRSTRLEN);
+	     inet_ntop(PF_INET6, (void *)&sin6_dst->sin6_addr, dsthost, INET6_ADDRSTRLEN);
+	}
+        s->sport = p->sp;
+        s->dport = p->dp;
+    } 
+    else
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
+                                "going switcheroo ninja style!\n"););
+	if (p->iph != NULL) 
+	{
+	     struct sockaddr_in *sin_src = (struct sockaddr_in *)&s->dip;
+	     struct sockaddr_in *sin_dst = (struct sockaddr_in *)&s->sip;
+
+
+	     sin_src->sin_family = PF_INET;
+	     sin_dst->sin_family = PF_INET;
+	     sin_src->sin_addr.s_addr = (u_int32_t) p->iph->ip_src.s_addr;
+	     sin_dst->sin_addr.s_addr = (u_int32_t) p->iph->ip_dst.s_addr;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	     s->sip.ss_len = sizeof(struct sockaddr_in);
+	     s->dip.ss_len = sizeof(struct sockaddr_in);
+#endif
+
+	     inet_ntop(PF_INET, (void *)&sin_src->sin_addr, srchost, INET_ADDRSTRLEN);
+	     inet_ntop(PF_INET, (void *)&sin_dst->sin_addr, dsthost, INET_ADDRSTRLEN);
+	}
+	else if (p->ip6h != NULL)
+	{
+	     struct sockaddr_in6 *sin6_src = (struct sockaddr_in6 *)&s->dip;
+	     struct sockaddr_in6 *sin6_dst = (struct sockaddr_in6 *)&s->sip;
+
+	     sin6_src->sin6_family = PF_INET6;
+	     sin6_dst->sin6_family = PF_INET6;
+	     memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	     memmove(&sin6_dst->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	     s->sip.ss_len = sizeof(struct sockaddr_in6);
+	     s->dip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+
+	     inet_ntop(PF_INET6, (void *)&sin6_src->sin6_addr, srchost, INET6_ADDRSTRLEN);
+	     inet_ntop(PF_INET6, (void *)&sin6_dst->sin6_addr, dsthost, INET6_ADDRSTRLEN);
+	}
+        s->sport = p->dp;
+        s->dport = p->sp;
+
+    }
+    DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
+                            "s->sip: %s, s->dip: %s "
+                            "s->sport: %d s->dport: %d s->ip_proto: %d\n",
+                            srchost, dsthost, s->sport, s->dport,s->ip_proto););
+#ifdef DEBUG
+    printf("(conversation) s->sip: %s, s->dip: %s, s->sport: %d s->dport: %d s->ip_proto: %d\n", srchost, dsthost, s->sport, s->dport, s->ip_proto);
+#endif /* DEBUG */
+#else
     if(PACKET_FORWARD(p))
     {
         DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
@@ -510,7 +661,6 @@
         s->sport = p->dp;
         s->dport = p->sp;
     }
-
     DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
                             "s->sip: %X, s->dip: %X "
                             "s->sport: %d s->dport: %d s->ip_proto: %d\n",
@@ -522,8 +672,7 @@
                             (u_int32_t) p->iph->ip_src.s_addr,
                             (u_int32_t) p->iph->ip_dst.s_addr,
                             p->sp,p->dp,p->iph->ip_proto););
-
-
+#endif
 }
 
 
@@ -545,16 +694,18 @@
 
     /* Searches it's own junk */
     FillStateRecord(&tmp, p);
-    DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
-                            "tmp.sip: %X, tmp.dip: %X "
-                            "tmp.sport: %d tmp.dport: %d tmp.ip_proto: %d\n",
-                            tmp.sip, tmp.dip, tmp.sport,tmp.dport,tmp.ip_proto););
 
-    
+
+    /* DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
+     *                     "tmp.sip: %X, tmp.dip: %X "
+     *                      "tmp.sport: %d tmp.dport: %d tmp.ip_proto: %d\n",
+     *                      tmp.sip, tmp.dip, tmp.sport,tmp.dport,tmp.ip_proto););
+     */
     
     ret = (StateRecord *) ubi_sptFind(conv_data.cachePtr,
                                       (ubi_btItemPtr) &tmp);
 
+
     DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
                             "ret from the sptFind is %p\n", ret););
   
@@ -603,8 +754,12 @@
 	 * always declared to be "sip".  This flag check allows us to
 	 * know who was the first talker.
 	 */
-        
+
+#if HAVE_SOCKADDR_STORAGE
+        if(IpAddrCompare(p) == 1)
+#else
         if(PACKET_FORWARD(p))
+#endif
         {
             ret->conv_flags |= CONV_FORWARD;
         }
@@ -613,12 +768,12 @@
             ret->conv_flags |= CONV_REVERSED;
         }
 
+
     }
     else /* ret != NULL */
     {
         DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,
                                 "Conversation found @ %p\n", ret););
-
         ret->conv_flags |= CONV_MULIPACKETS;
     }
     
@@ -633,7 +788,42 @@
     StateRecord *A = (StateRecord *) ItemPtr;
     StateRecord *B = (StateRecord *) NodePtr;
 #ifdef DEBUG
+    char sip[INET6_ADDRSTRLEN], dip[INET6_ADDRSTRLEN];
+
+    switch(A->sip.ss_family)
+    {
+    case PF_INET:
+	inet_ntop(PF_INET, &((struct sockaddr_in *)&A->sip)->sin_addr,
+		  sip, INET_ADDRSTRLEN);
+	inet_ntop(PF_INET, &((struct sockaddr_in *)&A->dip)->sin_addr,
+		  dip, INET_ADDRSTRLEN);
+	printf("(portscan2 debug) A %s:%d -> %s:%d\n",
+	       sip, A->sport, dip, A->dport);
+	inet_ntop(PF_INET, &((struct sockaddr_in *)&B->sip)->sin_addr,
+		  sip, INET_ADDRSTRLEN);
+	inet_ntop(PF_INET, &((struct sockaddr_in *)&B->dip)->sin_addr,
+		  dip, INET_ADDRSTRLEN);
+	printf("(portscan2 debug) B %s:%d -> %s:%d\n",
+	       sip, B->sport, dip, B->dport);
+	break;
+    case PF_INET6:
+	inet_ntop(PF_INET6, &((struct sockaddr_in6 *)&A->sip)->sin6_addr,
+		  sip, INET6_ADDRSTRLEN);
+	inet_ntop(PF_INET6, &((struct sockaddr_in6 *)&A->dip)->sin6_addr,
+		  dip, INET6_ADDRSTRLEN);
+	printf("(portscan2 debug) A %s:%d -> %s:%d\n",
+	       sip, A->sport, dip, A->dport);
+	inet_ntop(PF_INET6, &((struct sockaddr_in6 *)&B->sip)->sin6_addr,
+		  sip, INET6_ADDRSTRLEN);
+	inet_ntop(PF_INET6, &((struct sockaddr_in6 *)&B->dip)->sin6_addr,
+		  dip, INET6_ADDRSTRLEN);
+	printf("(portscan2 debug) B %s:%d -> %s:%d\n",
+	       sip, B->sport, dip, B->dport);
+	break;	 
+    }
+#endif /* DEBUG */
 
+#ifdef DEBUG
     #define IPLEN 256
     char sip[IPLEN];
 
@@ -656,8 +846,31 @@
     #undef IPLEN
 #endif /* DEBUG */
 
-    
+#if HAVE_SOCKADDR_STORAGE
+    if (IpAddrComp (&A->sip, &B->sip) == -1)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning 1\n"););
+        return 1;
+    }
+
+    if (IpAddrComp (&A->sip, &B->sip) == 1)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning -1\n"););
+        return -1;
+    }
+
+    if (IpAddrComp (&A->dip, &B->dip) == -1)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning 1\n"););
+        return 1;
+    }
 
+    if (IpAddrComp (&A->dip, &B->dip) == 1)
+    {
+        DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning -1\n"););
+        return -1;
+    }
+#else    
     if(A->sip > B->sip)
     {
         DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning 1\n"););
@@ -682,7 +895,7 @@
         DEBUG_WRAP(DebugMessage(DEBUG_CONVERSATION,"returning -1\n"););
         return -1;
     }
-    
+#endif
     /* ok the IPs are equal */
     if(A->sport > B->sport)
     {
diff -ur snort-2.0.2/src/preprocessors/spp_conversation.h snort-2.0.2-ipv6/src/preprocessors/spp_conversation.h
--- snort-2.0.2/src/preprocessors/spp_conversation.h	Fri Mar 14 17:28:54 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_conversation.h	Sat Nov 29 16:38:39 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_conversation.h,v 1.10 2003/03/14 08:28:54 chris_reid Exp $ */
+/* $Id: spp_conversation.h,v 1.2 2003/11/29 07:38:39 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -43,9 +43,13 @@
     ubi_trNode Node; /* used for ubi_ */
     MemBucket *bucket; /* the container that we are in */
 
-
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage sip;
+    struct sockaddr_storage dip;
+#else
     u_int32_t sip;
     u_int32_t dip;
+#endif
     unsigned short sport;
     unsigned short dport;
     unsigned char ip_proto;  
diff -ur snort-2.0.2/src/preprocessors/spp_frag2.c snort-2.0.2-ipv6/src/preprocessors/spp_frag2.c
--- snort-2.0.2/src/preprocessors/spp_frag2.c	Wed Jul 23 03:24:51 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_frag2.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_frag2.c,v 1.62 2003/07/22 18:24:51 chrisgreen Exp $ */
+/* $Id: spp_frag2.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/preprocessors/spp_frag2.h snort-2.0.2-ipv6/src/preprocessors/spp_frag2.h
--- snort-2.0.2/src/preprocessors/spp_frag2.h	Thu Oct 10 14:05:58 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_frag2.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_frag2.h,v 1.5 2002/10/10 05:05:58 chrisgreen Exp $ */
+/* $Id: spp_frag2.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/preprocessors/spp_http_decode.c snort-2.0.2-ipv6/src/preprocessors/spp_http_decode.c
--- snort-2.0.2/src/preprocessors/spp_http_decode.c	Thu Mar 27 06:59:47 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_http_decode.c	Thu Nov 20 14:28:57 2003
@@ -5,6 +5,8 @@
 ** Copyright (C) 2002 Rain Forest Puppy <rfp@wiretrip.net>
 ** Copyright (C) 2002 Sourcefire, Inc.
 **                    Daniel Roelker <droelker@sourcefire.com>
+** Copyright (C) 2003 Cyber Solutions Inc.
+**                    Katsuhisa ABE <abekatsu@cysols.com>
 **
 ** 11.1.02 (DJR): Fixed off-by bugs.  Fixed %25 encoding.  Fixed
 **                %u encoding for ascii codepoints.
@@ -23,7 +25,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 **
-** $Id: spp_http_decode.c,v 1.56 2003/03/26 21:59:47 chrisgreen Exp $
+** $Id: spp_http_decode.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 */
 
 #ifdef HAVE_CONFIG_H
diff -ur snort-2.0.2/src/preprocessors/spp_http_decode.h snort-2.0.2-ipv6/src/preprocessors/spp_http_decode.h
--- snort-2.0.2/src/preprocessors/spp_http_decode.h	Thu Oct 10 14:05:59 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_http_decode.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_http_decode.h,v 1.7 2002/10/10 05:05:59 chrisgreen Exp $ */
+/* $Id: spp_http_decode.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 #include "snort.h"
 
 #ifndef __SPP_HTTP_DECODE_H__
diff -ur snort-2.0.2/src/preprocessors/spp_httpflow.c snort-2.0.2-ipv6/src/preprocessors/spp_httpflow.c
--- snort-2.0.2/src/preprocessors/spp_httpflow.c	Thu Oct 31 04:18:42 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_httpflow.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_httpflow.c,v 1.2 2002/10/30 19:18:42 andrewbaker Exp $ 
+/* $Id: spp_httpflow.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ 
 **
 **  spp_httpflow.c
 **
diff -ur snort-2.0.2/src/preprocessors/spp_httpflow.h snort-2.0.2-ipv6/src/preprocessors/spp_httpflow.h
--- snort-2.0.2/src/preprocessors/spp_httpflow.h	Thu Oct 10 14:05:59 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_httpflow.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_httpflow.h,v 1.1 2002/10/10 05:05:59 chrisgreen Exp $
+/* $Id: spp_httpflow.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  spp_httpflow.h
 **
diff -ur snort-2.0.2/src/preprocessors/spp_perfmonitor.c snort-2.0.2-ipv6/src/preprocessors/spp_perfmonitor.c
--- snort-2.0.2/src/preprocessors/spp_perfmonitor.c	Sat Jan 18 01:49:10 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_perfmonitor.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_perfmonitor.c,v 1.4 2003/01/17 16:49:10 droelker Exp $ 
+/* $Id: spp_perfmonitor.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ 
 **
 **  spp_perfmonitor.c
 **
diff -ur snort-2.0.2/src/preprocessors/spp_perfmonitor.h snort-2.0.2-ipv6/src/preprocessors/spp_perfmonitor.h
--- snort-2.0.2/src/preprocessors/spp_perfmonitor.h	Thu Oct 10 14:05:59 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_perfmonitor.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_perfmonitor.h,v 1.2 2002/10/10 05:05:59 chrisgreen Exp $
+/* $Id: spp_perfmonitor.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $
 **
 **  spp_perfmonitor.h
 **
diff -ur snort-2.0.2/src/preprocessors/spp_portscan.c snort-2.0.2-ipv6/src/preprocessors/spp_portscan.c
--- snort-2.0.2/src/preprocessors/spp_portscan.c	Thu Mar 27 06:59:48 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_portscan.c	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_portscan.c,v 1.45 2003/03/26 21:59:48 chrisgreen Exp $ */
+/* $Id: spp_portscan.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* Snort Portscan Preprocessor Plugin
     by Patrick Mullen <p_mullen@linuxrc.net>
     Version 0.2.14
diff -ur snort-2.0.2/src/preprocessors/spp_portscan.h snort-2.0.2-ipv6/src/preprocessors/spp_portscan.h
--- snort-2.0.2/src/preprocessors/spp_portscan.h	Fri Mar 14 17:28:55 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_portscan.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_portscan.h,v 1.8 2003/03/14 08:28:55 chris_reid Exp $ */
+/* $Id: spp_portscan.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 ** Copyright (C) 1999,2000,2001 Patrick Mullen <p_mullen@hotmail.com>
diff -ur snort-2.0.2/src/preprocessors/spp_portscan2.c snort-2.0.2-ipv6/src/preprocessors/spp_portscan2.c
--- snort-2.0.2/src/preprocessors/spp_portscan2.c	Sun Apr 27 07:55:41 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_portscan2.c	Sat Nov 29 16:38:39 2003
@@ -1,9 +1,11 @@
-/* $Id: spp_portscan2.c,v 1.27 2003/04/26 22:55:41 chris_reid Exp $ */
+/* $Id: spp_portscan2.c,v 1.2 2003/11/29 07:38:39 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998,1999,2000,2001 Martin Roesch <roesch@clark.net>
 ** Copyright (C) 2001 Jed Haile  <jhaile@nitrodata.com>
 ** Copyright (C) 2002 Sourcefire, Inc
 **                    Chris Green <cmg@sourcefire.com>
+** Copyright (C) 2003 Cyber Solutions Inc.
+**                    Katsuhisa ABE <abekatsu@cysols.com>
 **
 ** 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
@@ -112,7 +114,11 @@
     ubi_trNode Node;             /* for the splay tree */
     MemBucket *bucket;
 
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage scanner_ip;
+#else
     u_int32_t scanner_ip;
+#endif
 
     struct timeval initial_time;
     struct timeval last_time;
@@ -138,8 +144,11 @@
     Portscanner *parent;  /*pointer to the parent Portscanner node */
     MemBucket *bucket;
 
-    
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage target_ip;
+#else
     u_int32_t target_ip;
+#endif
     int port_count;   /* number of ports on this target hit by parent portscanner*/
 
     struct timeval initial_time;
@@ -407,7 +416,7 @@
     /*int i;*/
 
 #ifdef DEBUG
-    char ruleIP[16], ruleNetMask[16];
+    char ruleIP[INET6_ADDRSTRLEN], ruleNetMask[INET6_ADDRSTRLEN];
 #endif
 
     currentHost = NULL;
@@ -450,16 +459,29 @@
    
     while(currentHost)
     {
+	struct sockaddr_in *sin;
+	struct sockaddr_in6 *sin6;
+
 	memset(ruleIP, '\0', 16);
         memset(ruleNetMask, '\0', 16);
 
-        strncpy(ruleIP, 
-                inet_ntoa(*(struct in_addr *) & currentHost->address->ip_addr),
-                15);
-        strncpy(ruleNetMask, 
-                inet_ntoa(*(struct in_addr *) & currentHost->address->netmask),
-                15);
-
+	switch(currentHost->address.ss_family)
+	{
+	case PF_INET:
+	     sin = (struct sockaddr_in *)currentHost->address->ip_addr;
+	     inet_ntop(PF_INET, (void *)sin->sin_addr, ruleIP, INET6_ADDRSTRLEN);
+	     sin = (struct sockaddr_in *)currentHost->address->netmask;
+	     inet_ntop(PF_INET, (void *)sin->sin_addr, ruleNetMask, INET6_ADDRSTRLEN);
+	     break;
+	case PF_INET6:
+	     sin6 = (struct sockaddr_in6 *)currentHost->address->ip_addr;
+	     inet_ntop(PF_INET6, (void *)sin6->sin6_addr, ruleIP, INET6_ADDRSTRLEN);
+	     sin6 = (struct sockaddr_in6 *)currentHost->address->netmask;
+	     inet_ntop(PF_INET6, (void *)sin6->sin6_addr, ruleNetMask, INET6_ADDRSTRLEN);
+	     break;
+	default:
+	     ;
+	}
         printf(MODNAME ": InitIgnoreHosts(): Added server %s/%s\n", 
                ruleIP, ruleNetMask);
 	currentHost = currentHost->nextNode;
@@ -821,7 +843,11 @@
 /**************************************************/
 void AddTarget(Portscanner *ps, Packet *p)
 {
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage tmp;
+#else
     struct in_addr tmp;
+#endif
     ScanTarget *target = NULL;
     MemBucket *mb = NULL;
     int pruned;
@@ -863,7 +889,28 @@
     /* target is guaranteed to be set at this point */
     
     /* fill in the target struct */
-    target->target_ip = (u_int32_t)p->iph->ip_dst.s_addr;
+#if HAVE_SOCKADDR_STORAGE
+    if (p->iph != NULL)
+    {
+	 struct sockaddr_in *sin = (struct sockaddr_in *)&target->target_ip;
+	 sin->sin_family = PF_INET;
+	 sin->sin_addr.s_addr = p->iph->ip_dst.s_addr;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 target->target_ip.ss_len = sizeof(struct sockaddr_in);
+#endif	 
+    }
+    else if (p->ip6h != NULL)
+    {
+	 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&target->target_ip;
+	 sin6->sin6_family = PF_INET6;
+	 memmove(&sin6->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 target->target_ip.ss_len = sizeof(struct sockaddr_in6);
+#endif	 
+    }
+#else
+    sin->sin_addr.s_addr = (u_int32_t) p->iph->ip_dst.s_addr;
+#endif /* HAVE_SOCKADDR_STORAGE */
     target->port_count = 1;
     target->initial_time.tv_sec = p->pkth->ts.tv_sec;
     target->last_time.tv_sec = p->pkth->ts.tv_sec;
@@ -890,7 +937,12 @@
     {
         if(ps->targetsExceeded == FALSE) /*  if FALSE, then new portscan */
         {
+#if HAVE_SOCKADDR_STORAGE
+	    memset(&tmp, 0, sizeof(struct sockaddr_storage));
+	    memmove(&tmp, &ps->scanner_ip, sizeof(struct sockaddr_storage));
+#else
             tmp.s_addr = ps->scanner_ip;
+#endif /* HAVE_SOCKADDR_STORAGE */
 
             DEBUG_WRAP(DebugMessage(DEBUG_PORTSCAN2,
                                     "Portscanner %s # targets exceeded\n",
@@ -930,7 +982,29 @@
     ps->bucket = mb;
     
     /* fill in the portscanner struct */
+
+#if HAVE_SOCKADDR_STORAGE
+    if(p->iph != NULL)
+    {
+	struct sockaddr_in *sin = (struct sockaddr_in *)&ps->scanner_ip;
+	sin->sin_family = PF_INET;
+	sin->sin_addr.s_addr = p->iph->ip_src.s_addr;	
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	ps->scanner_ip.ss_len = sizeof(struct sockaddr_in);
+#endif
+    }
+    else if (p->ip6h != NULL)
+    {
+	struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&ps->scanner_ip;
+	sin6->sin6_family = PF_INET6;
+	memmove(&sin6->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	ps->scanner_ip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+    }
+#else
     ps->scanner_ip = (u_int32_t)p->iph->ip_src.s_addr;
+#endif /* HAVE_SOCKADDR_STORAGE */
     ps->last_time.tv_sec = p->pkth->ts.tv_sec;
     ps->initial_time.tv_sec = p->pkth->ts.tv_sec;
     ps->port_count = 0; /* Add target increments this */
@@ -989,19 +1063,21 @@
                  
     #undef IPLEN
 #endif 
-    
-    
-    
+
+#if HAVE_SOCKADDR_STORAGE
+    return (IpAddrComp(&A->scanner_ip, &B->scanner_ip));
+#else
     if(A->scanner_ip < B->scanner_ip)
     {
-        return 1;
+       return 1;
     }
     else if(A->scanner_ip > B->scanner_ip)
     {
-        return -1;
+       return -1;
     }
-
     return 0;
+#endif
+
 }
 
 /*********************************************************************/
@@ -1015,12 +1091,16 @@
     A = (ScanTarget *) NodePtr;
     B = (ScanTarget *) ItemPtr;
 
+#if HAVE_SOCKADDR_STORAGE    
+    return (IpAddrComp(&A->target_ip, &B->target_ip));
+#else
     if(A->target_ip < B->target_ip)
-        return 1;
+       return 1;
     else if(B->target_ip < A->target_ip)
-        return -1;
+       return -1;
 
     return 0;
+#endif
 }
 
 
@@ -1032,10 +1112,19 @@
 {
     Event event;
     char outstring[255];
+#if HAVE_SOCKADDR_STORAGE
+    char *hostname = NULL;
+#endif
+
+#if HAVE_SOCKADDR_STORAGE
+    hostname = GetIpAddr(&ps->scanner_ip);
+#else
+    hostname = inet_ntoa(*((struct in_addr *) &ps->scanner_ip));
+#endif
 
     snprintf(outstring, 255, SCAN2_PREFIX_STR
-             "%s: %d targets %d ports in %d seconds",
-             inet_ntoa(*((struct in_addr *) &ps->scanner_ip)),
+             "%s, %d targets %d ports in %d seconds",
+             hostname,
              ps->target_count,
              ps->port_count,
              (int) (p->pkth->ts.tv_sec - ps->initial_time.tv_sec));
@@ -1046,6 +1135,8 @@
 
     CallAlertFuncs(p, outstring, NULL, &event);
     ps->event_id = event.event_id;
+    if (hostname != NULL)
+	free(hostname);
 }
 
 /*******************************************************************/
@@ -1054,13 +1145,26 @@
 /*******************************************************************/
 void SLog(Packet *p, int scan_type, Portscanner *ps)
 {
-    char src[STD_BUF];
-    char dst[STD_BUF];
+    char src[INET6_ADDRSTRLEN];
+    char dst[INET6_ADDRSTRLEN];
     char timestamp[TIMEBUF_SIZE];
     char flagString[9];
 
+#if HAVE_SOCKADDR_STORAGE
+    if (p->iph != NULL)
+    {
+	(void) inet_ntop(PF_INET, (void *)&p->iph->ip_src, src, INET_ADDRSTRLEN);
+	(void) inet_ntop(PF_INET, (void *)&p->iph->ip_dst, dst, INET_ADDRSTRLEN);
+    }
+    else if (p->ip6h != NULL)
+    {
+	(void) inet_ntop(PF_INET6, (void *)&p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+	(void) inet_ntop(PF_INET6, (void *)&p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+    }
+#else
     strlcpy(src, inet_ntoa(p->iph->ip_src), 16);
     strlcpy(dst, inet_ntoa(p->iph->ip_dst), 16);
+#endif
     ts_print((struct timeval *) &p->pkth->ts, timestamp);
     
     if(p->tcph)
@@ -1083,6 +1187,13 @@
                 "tgts: %u event_id: %u\n", timestamp, src, dst, p->icmph->type, 
                 p->icmph->code, ps->target_count, ps->event_id);
     }
+    else if(p->icmp6h)
+    {
+        fprintf(ps2data.logfile, "%s ICMP6 src: %s dst: %s type: %u code: %u "
+                "tgts: %u event_id: %u\n", timestamp, src, dst, 
+		p->icmp6h->icmp6_type, p->icmp6h->icmp6_code, 
+		ps->target_count, ps->event_id);
+    }
     
     fflush(ps2data.logfile);
 }
@@ -1099,19 +1210,33 @@
     ScanTarget *rtgt;
 
 #ifdef DEBUG
-    #define IPLEN 256
-    char sip[IPLEN];
+    char sip[INET6_ADDRSTRLEN], dip[INET6_ADDRSTRLEN];
 
+#if HAVE_SOCKADDR_STORAGE
+    if (p->iph != NULL)
+    {
+	inet_ntop(PF_INET, &p->iph->ip_src, sip, INET_ADDRSTRLEN);
+	inet_ntop(PF_INET, &p->iph->ip_dst, dip, INET_ADDRSTRLEN);
+    }
+    else if (p->ip6h != NULL)
+    {
+	inet_ntop(PF_INET6, &p->ip6h->ip6_src, sip, INET6_ADDRSTRLEN);
+	inet_ntop(PF_INET6, &p->ip6h->ip6_dst, dip, INET6_ADDRSTRLEN);
+    }
+#else
+    #define IPLEN 16
     strncpy(sip, inet_ntoa(p->iph->ip_src), IPLEN);
+    strncpy(dip, inet_ntoa(p->iph->ip_drc), IPLEN);
+    #undef IPLEN    
+#endif
     DebugMessage(DEBUG_PORTSCAN2,"In PsWatch... %s:%d->%s:%d state: %p\n",
                  sip,
                  p->dp,
-                 inet_ntoa(p->iph->ip_dst),
+		 dip,
                  p->sp,
                  p->state);
     
-    #undef IPLEN
-#endif 
+#endif
 
     /* check to see if this guy is on the ignored list, if so bail */
     if(IsIgnored(p))
@@ -1121,9 +1246,33 @@
     }
 
     /* search for this portscanner in the portscan tree */
+#if HAVE_SOCKADDR_STORAGE
+    if (p->iph != NULL)
+    {
+	struct sockaddr_in *sin = (struct sockaddr_in *)&tmp.scanner_ip;
+
+	sin->sin_family = PF_INET;
+	sin->sin_addr.s_addr = (in_addr_t) p->iph->ip_src.s_addr;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	tmp.scanner_ip.ss_len = sizeof (struct sockaddr_in);
+#endif
+    }
+    else if (p->ip6h != NULL)
+    {
+	struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&tmp.scanner_ip;
+
+	sin6->sin6_family = PF_INET6;
+	memmove(&sin6->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	tmp.scanner_ip.ss_len = sizeof (struct sockaddr_in6);
+#endif
+    }
+    DEBUG_WRAP(DebugMessage(DEBUG_PORTSCAN2,"scanner_ip to lookfor: %s\n", sip););        
+#else
     tmp.scanner_ip = (u_int32_t)p->iph->ip_src.s_addr;
-    
     DEBUG_WRAP(DebugMessage(DEBUG_PORTSCAN2,"scanner_ip to lookfor: %s\n", inet_ntoa(p->iph->ip_src)););        
+#endif /* DEBUG */
+    
     returned = (Portscanner *) ubi_sptFind(ps2data.ScannersPtr, (ubi_btItemPtr)&tmp);
 
     if(returned == NULL)  /* we have a new potential scanner */
@@ -1135,16 +1284,43 @@
     } /* session already logged, get out */
     else        
     {
-
+	char *retIp;
+#if HAVE_SOCKADDR_STORAGE
+	retIp = GetIpAddr(&returned->scanner_ip);
+#else
+	retIp = inet_ntoa(*(struct in_addr *) &returned->scanner_ip);
+#endif
         DEBUG_WRAP(DebugMessage(DEBUG_PORTSCAN2,
                                 "Found portscanner: %p, returned->scanner_ip: %s\n",
-                                returned,
-                                inet_ntoa(*(struct in_addr *) &returned->scanner_ip)););
+                                returned, retIp););
+	if (retIp != NULL)
+	    free(retIp);
 
         /* Portscanner found, new session, pdate target/port */
         returned->last_time.tv_sec = p->pkth->ts.tv_sec;
 
+#if HAVE_SOCKADDR_STORAGE
+	if (p->iph != NULL)
+	{
+	    struct sockaddr_in *sin = (struct sockaddr_in *)&tgt.target_ip;
+	    sin->sin_family = PF_INET;
+	    sin->sin_addr.s_addr = (in_addr_t) p->iph->ip_dst.s_addr;
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	    tgt.target_ip.ss_len = sizeof(struct sockaddr_in);
+#endif
+	}
+	else if (p->ip6h != NULL)
+	{
+	    struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&tgt.target_ip;
+	    sin6->sin6_family = PF_INET6;
+	    memmove(&sin6->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	    tgt.target_ip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+	}
+#else
         tgt.target_ip = (u_int32_t)p->iph->ip_dst.s_addr;
+#endif
 
         /* check to see if target has been hit before */
         rtgt = (ScanTarget *) ubi_sptFind((ubi_trRootPtr)returned->targetRootPtr, 
@@ -1263,7 +1439,7 @@
 static void DeletePortscanner(Portscanner *ps)
 {
     Portscanner *oldps;
-    
+
     /* need to do a walk and delete all the targets */
     DEBUG_WRAP(DebugMessage(DEBUG_PORTSCAN2, "Deleteing portscanner %p\n", ps);
                DebugMessage(DEBUG_PORTSCAN2,
diff -ur snort-2.0.2/src/preprocessors/spp_portscan2.h snort-2.0.2-ipv6/src/preprocessors/spp_portscan2.h
--- snort-2.0.2/src/preprocessors/spp_portscan2.h	Fri Mar 14 17:28:55 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_portscan2.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_portscan2.h,v 1.7 2003/03/14 08:28:55 chris_reid Exp $ */
+/* $Id: spp_portscan2.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998,1999,2000,2001 Martin Roesch <roesch@clark.net>
 ** Copyright (C) 2001 Jed Haile <jhaile@nitrodata.com>
diff -ur snort-2.0.2/src/preprocessors/spp_rpc_decode.c snort-2.0.2-ipv6/src/preprocessors/spp_rpc_decode.c
--- snort-2.0.2/src/preprocessors/spp_rpc_decode.c	Thu Mar 27 06:59:48 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_rpc_decode.c	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_rpc_decode.c,v 1.27 2003/03/26 21:59:48 chrisgreen Exp $ */
+/* $Id: spp_rpc_decode.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 /* spp_rpc_decode 
  * 
  * Purpose:
diff -ur snort-2.0.2/src/preprocessors/spp_rpc_decode.h snort-2.0.2-ipv6/src/preprocessors/spp_rpc_decode.h
--- snort-2.0.2/src/preprocessors/spp_rpc_decode.h	Mon Jan  6 05:36:29 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_rpc_decode.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_rpc_decode.h,v 1.6 2003/01/05 20:36:29 cazz Exp $ */
+/* $Id: spp_rpc_decode.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 #ifndef __SPP_RPC_DECODE_H__
 #define __SPP_RPC_DECODE_H__
diff -ur snort-2.0.2/src/preprocessors/spp_stream4.c snort-2.0.2-ipv6/src/preprocessors/spp_stream4.c
--- snort-2.0.2/src/preprocessors/spp_stream4.c	Thu Sep 11 06:00:50 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_stream4.c	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_stream4.c,v 1.6 2003/08/21 20:51:11 tburgess Exp $ */
+/* $Id: spp_stream4.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/preprocessors/spp_stream4.h snort-2.0.2-ipv6/src/preprocessors/spp_stream4.h
--- snort-2.0.2/src/preprocessors/spp_stream4.h	Wed Apr 16 23:50:15 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_stream4.h	Tue Sep 30 13:25:26 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_stream4.h,v 1.10 2003/04/16 14:50:15 chrisgreen Exp $ */
+/* $Id: spp_stream4.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
diff -ur snort-2.0.2/src/preprocessors/spp_telnet_negotiation.c snort-2.0.2-ipv6/src/preprocessors/spp_telnet_negotiation.c
--- snort-2.0.2/src/preprocessors/spp_telnet_negotiation.c	Thu Mar 27 06:59:55 2003
+++ snort-2.0.2-ipv6/src/preprocessors/spp_telnet_negotiation.c	Tue Sep 30 13:25:26 2003
@@ -17,7 +17,7 @@
 */
 
 /* Snort Preprocessor for Telnet Negotiation Normalization*/
-/* $Id: spp_telnet_negotiation.c,v 1.20 2003/03/26 21:59:55 chrisgreen Exp $ */
+/* $Id: spp_telnet_negotiation.c,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* spp_telnet_negotiation.c 
  * 
diff -ur snort-2.0.2/src/preprocessors/spp_telnet_negotiation.h snort-2.0.2-ipv6/src/preprocessors/spp_telnet_negotiation.h
--- snort-2.0.2/src/preprocessors/spp_telnet_negotiation.h	Thu Oct 10 14:05:59 2002
+++ snort-2.0.2-ipv6/src/preprocessors/spp_telnet_negotiation.h	Tue Sep 30 13:25:26 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spp_telnet_negotiation.h,v 1.6 2002/10/10 05:05:59 chrisgreen Exp $ */
+/* $Id: spp_telnet_negotiation.h,v 1.1.1.1 2003/09/30 04:25:26 abekatsu Exp $ */
 
 /* Snort Preprocessor Telnet Negotiation Normalization */
 
diff -ur snort-2.0.2/src/prototypes.h snort-2.0.2-ipv6/src/prototypes.h
--- snort-2.0.2/src/prototypes.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/prototypes.h	Tue Sep 30 13:25:25 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: prototypes.h,v 1.4 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: prototypes.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 
 #ifndef __PROTOTYPES_H__
 #define __PROTOTYPES_H__
diff -ur snort-2.0.2/src/rules.h snort-2.0.2-ipv6/src/rules.h
--- snort-2.0.2/src/rules.h	Thu Sep 11 05:26:32 2003
+++ snort-2.0.2-ipv6/src/rules.h	Sat Nov 29 16:20:17 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: rules.h,v 1.4 2003/07/17 05:51:38 tburgess Exp $ */
+/* $Id: rules.h,v 1.4 2003/11/29 07:20:17 abekatsu Exp $ */
 #ifndef __RULES_H__
 #define __RULES_H__
 
@@ -271,9 +271,11 @@
 typedef struct _ListHead
 {
     RuleTreeNode *IpList;
+    RuleTreeNode *Ip6List;
     RuleTreeNode *TcpList;
     RuleTreeNode *UdpList;
     RuleTreeNode *IcmpList;
+    RuleTreeNode *Icmp6List;
     struct _OutputFuncNode *LogList;
     struct _OutputFuncNode *AlertList;
     struct _RuleListNode *ruleListNode;
diff -ur snort-2.0.2/src/sf_sdlist.c snort-2.0.2-ipv6/src/sf_sdlist.c
--- snort-2.0.2/src/sf_sdlist.c	Fri Mar 14 17:28:50 2003
+++ snort-2.0.2-ipv6/src/sf_sdlist.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: sf_sdlist.c,v 1.2 2003/03/14 08:28:50 chris_reid Exp $ */
+/* $Id: sf_sdlist.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/sf_sdlist.h snort-2.0.2-ipv6/src/sf_sdlist.h
--- snort-2.0.2/src/sf_sdlist.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/sf_sdlist.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: sf_sdlist.h,v 1.2 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: sf_sdlist.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/signature.h snort-2.0.2-ipv6/src/signature.h
--- snort-2.0.2/src/signature.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/signature.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: signature.h,v 1.2 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: signature.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Sourcefire, Inc.
 ** Author(s):   Andrew R. Baker <andrewb@sourcefire.com>
diff -ur snort-2.0.2/src/snort.c snort-2.0.2-ipv6/src/snort.c
--- snort-2.0.2/src/snort.c	Thu Sep 11 06:36:41 2003
+++ snort-2.0.2-ipv6/src/snort.c	Mon Oct 27 16:55:32 2003
@@ -1,4 +1,4 @@
-/* $Id: snort.c,v 1.5 2003/07/17 05:51:38 tburgess Exp $ */
+/* $Id: snort.c,v 1.2 2003/10/20 03:07:44 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
@@ -579,6 +579,8 @@
         {
             PrintWifiPkt(stdout, &p);
         }
+	else if(p.ip6h != NULL)
+            PrintIP6Pkt(stdout, p.ip6h->s_ip6_nxt, &p);
     }
 
     switch(runMode)
diff -ur snort-2.0.2/src/snort.h snort-2.0.2-ipv6/src/snort.h
--- snort-2.0.2/src/snort.h	Thu Sep 11 04:55:58 2003
+++ snort-2.0.2-ipv6/src/snort.h	Fri Nov  7 15:29:07 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: snort.h,v 1.339 2003/09/02 18:06:30 chris_reid Exp $ */
+/* $Id: snort.h,v 1.2 2003/11/07 06:29:07 abekatsu Exp $ */
 
 #ifndef __SNORT_H__
 #define __SNORT_H__
@@ -175,6 +175,9 @@
     int verbose_flag;
     int readmode_flag;
     int show2hdr_flag;
+    int showipv6_flag;
+    int showipx_flag;
+    int showarp_flag;
     int showwifimgmt_flag;
 #ifdef WIN32
     int syslog_remote_flag;
@@ -233,6 +236,7 @@
     u_long arp;
     u_long eapol;
     u_long ipv6;
+    u_long icmpv6;
     u_long ipx;
     u_long discards;
     u_long alert_pkts;
@@ -246,6 +250,8 @@
     u_long frag_timeout;    /* number of frags cleared due to timeout */
     u_long rebuild_element; /* frags that were element of rebuilt pkt */
     u_long frag_mem_faults; /* number of times the memory cap was hit */
+
+    u_long ip6frags;        /* number of IPv6 frags that have come in */
 
     u_long tcp_stream_pkts; /* number of packets tcp reassembly touches */
     u_long rebuilt_tcp;     /* number of phoney tcp packets generated */
diff -ur snort-2.0.2/src/snprintf.c snort-2.0.2-ipv6/src/snprintf.c
--- snort-2.0.2/src/snprintf.c	Tue Apr  2 00:35:57 2002
+++ snort-2.0.2-ipv6/src/snprintf.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: snprintf.c,v 1.11 2002/04/01 15:35:57 andrewbaker Exp $ */
+/* $Id: snprintf.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/snprintf.h snort-2.0.2-ipv6/src/snprintf.h
--- snort-2.0.2/src/snprintf.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/snprintf.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: snprintf.h,v 1.7 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: snprintf.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/spo_plugbase.h snort-2.0.2-ipv6/src/spo_plugbase.h
--- snort-2.0.2/src/spo_plugbase.h	Tue May 20 03:08:04 2003
+++ snort-2.0.2-ipv6/src/spo_plugbase.h	Tue Sep 30 13:25:25 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: spo_plugbase.h,v 1.1 2003/05/19 18:08:04 chrisgreen Exp $ */
+/* $Id: spo_plugbase.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifndef __SPO_PLUGBASE_H__
 #define __SPO_PLUGBASE_H__
 
diff -ur snort-2.0.2/src/strlcatu.c snort-2.0.2-ipv6/src/strlcatu.c
--- snort-2.0.2/src/strlcatu.c	Sat May 17 05:01:27 2003
+++ snort-2.0.2-ipv6/src/strlcatu.c	Tue Sep 30 13:25:25 2003
@@ -25,7 +25,7 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* $Id: strlcatu.c,v 1.3 2003/05/16 20:01:27 chrisgreen Exp $ */
+/* $Id: strlcatu.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff -ur snort-2.0.2/src/strlcatu.h snort-2.0.2-ipv6/src/strlcatu.h
--- snort-2.0.2/src/strlcatu.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/strlcatu.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: strlcatu.h,v 1.2 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: strlcatu.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/strlcpyu.c snort-2.0.2-ipv6/src/strlcpyu.c
--- snort-2.0.2/src/strlcpyu.c	Sat May 17 05:01:27 2003
+++ snort-2.0.2-ipv6/src/strlcpyu.c	Tue Sep 30 13:25:25 2003
@@ -25,7 +25,7 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* $Id: strlcpyu.c,v 1.3 2003/05/16 20:01:27 chrisgreen Exp $ */
+/* $Id: strlcpyu.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
diff -ur snort-2.0.2/src/strlcpyu.h snort-2.0.2-ipv6/src/strlcpyu.h
--- snort-2.0.2/src/strlcpyu.h	Fri Mar 15 23:48:00 2002
+++ snort-2.0.2-ipv6/src/strlcpyu.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: strlcpyu.h,v 1.2 2002/03/15 14:48:00 chrisgreen Exp $ */
+/* $Id: strlcpyu.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/sys_include.h snort-2.0.2-ipv6/src/sys_include.h
--- snort-2.0.2/src/sys_include.h	Tue Jun 26 11:19:48 2001
+++ snort-2.0.2-ipv6/src/sys_include.h	Tue Sep 30 13:25:25 2003
@@ -43,6 +43,9 @@
  * -------------------------------------------------------------------------- **
  *
  * $Log: sys_include.h,v $
+ * Revision 1.1.1.1  2003/09/30 04:25:25  abekatsu
+ * Base package
+ *
  * Revision 1.1  2001/06/26 02:19:48  roesch
  * * oops, forgot a file...
  *
diff -ur snort-2.0.2/src/tag.c snort-2.0.2-ipv6/src/tag.c
--- snort-2.0.2/src/tag.c	Sat Mar 29 07:17:40 2003
+++ snort-2.0.2-ipv6/src/tag.c	Sat Nov 29 16:34:50 2003
@@ -18,13 +18,17 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: tag.c,v 1.31 2003/03/28 22:17:40 chris_reid Exp $ */
+/* $Id: tag.c,v 1.2 2003/11/29 07:34:50 abekatsu Exp $ */
 
 /*  I N C L U D E S  ************************************************/
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
+#if HAVE_SOCKADDR_STORAGE
+#include <arpa/inet.h>
+#endif
+
 #include <sys/types.h>
 #include <stdlib.h>
 #include <rpc/types.h>
@@ -39,6 +43,7 @@
 #include "log.h"
 
 #include "ubi_SplayTree.h"
+#include "parser/IpAddrSet.h"
 
 /* @todo Move all inlines to one central place */
 #ifndef DEBUG
@@ -85,8 +90,13 @@
     ubi_trNode Node;
     
     /* ip addrs */
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage sip;
+    struct sockaddr_storage dip;
+#else
     u_int32_t sip;
     u_int32_t dip;
+#endif
 
     /* ports */
     u_int16_t sp;
@@ -187,6 +197,31 @@
  */
 static void PrintTagNode(TagNode *np)
 {
+#if HAVE_SOCKADDR_STORAGE
+    char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+    struct sockaddr_in *sin_src, *sin_dst;
+    struct sockaddr_in6 *sin6_src, *sin6_dst;
+
+    switch(np->sip.ss_family)
+    {
+    case PF_INET:
+	sin_src = (struct sockaddr_in *)&np->sip;
+	sin_dst = (struct sockaddr_in *)&np->dip;
+	inet_ntop(PF_INET, sin_src->sin_addr, src, INET_ADDRSTRLEN);
+	inet_ntop(PF_INET, sin_dst->sin_addr, dst, INET_ADDRSTRLEN);
+	break;
+    case PF_INET6:
+	sin6_src = (struct sockaddr_in6 *)&np->sip;
+	sin6_dst = (struct sockaddr_in6 *)&np->dip;
+	inet_ntop(PF_INET6, sin6_src->sin6_addr, src, INET6_ADDRSTRLEN);
+	inet_ntop(PF_INET6, sin6_dst->sin6_addr, dst, INET6_ADDRSTRLEN);
+	break;
+    default:
+	;
+    }
+#endif
+
+  
     if(!DebugThis(DEBUG_FLOW))
     {
         return;
@@ -201,8 +236,13 @@
            "LastAccess: %u, event_id: %u mode: %u event_time.tv_sec: %u\n"
            "| Packets: %d, Bytes: %d, Seconds: %d\n",
            np->proto,
+#if HAVE_SOCKADDR_STORAGE
+           src, np->sp,
+           dst, np->dp,
+#else
            np->sip, np->sp,
            np->dip, np->dp,
+#endif
            np->metric,
            np->last_access,
            np->event_id,
@@ -223,12 +263,23 @@
  */
 static INLINE void SwapTag(TagNode *np)
 {
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_storage ss;
+#else
     u_int32_t tip;
+#endif
     u_int16_t tport;
 
+#if HAVE_SOCKADDR_STORAGE
+    memset(&ss, 0, sizeof(struct sockaddr_storage));
+    memmove(&ss, &np->sip, sizeof(struct sockaddr_storage));
+    memmove(&np->sip, &np->dip, sizeof(struct sockaddr_storage));
+    memmove(&np->dip, &ss, sizeof(struct sockaddr_storage));
+#else
     tip = np->sip;
     np->sip = np->dip;
     np->dip = tip;
+#endif
 
     tport = np->sp;
     np->sp = np->dp;
@@ -244,6 +295,26 @@
     nTag = ((TagNode *)NodePtr);
     iTag = ((TagNode *)ItemPtr);
 
+#if HAVE_SOCKADDR_STORAGE
+    if( IpAddrComp(&nTag->sip, &iTag->sip) == 1) 
+    {
+	return 1;
+    }
+    else if ( IpAddrComp(&nTag->sip, &iTag->sip) == -1) 
+    {
+	return -1;
+    }
+
+    if( IpAddrComp(&nTag->dip, &iTag->dip) == 1) 
+    {
+	return 1;
+    }
+    else if ( IpAddrComp(&nTag->dip, &iTag->dip) == -1) 
+    {
+	return -1;
+    }
+
+#else
     if(nTag->sip < iTag->sip)
     {
         return 1;
@@ -261,6 +332,7 @@
     {
         return -1;
     }
+#endif
 
     if(nTag->sp < iTag->sp)
     {
@@ -292,6 +364,16 @@
     nTag = ((TagNode *)NodePtr);
     iTag = ((TagNode *)ItemPtr);
 
+#if HAVE_SOCKADDR_STORAGE
+    if( IpAddrComp(&nTag->sip, &iTag->sip) == 1) 
+    {
+	return 1;
+    }
+    else if ( IpAddrComp(&nTag->sip, &iTag->sip) == -1) 
+    {
+	return -1;
+    }
+#else
     if(nTag->sip < iTag->sip)
     {
         return 1;
@@ -300,7 +382,7 @@
     {
         return -1;
     }
-
+#endif
     return 0;
 }
 
@@ -349,16 +431,50 @@
     TagNode *idx;  /* index pointer */
     TagNode *returned;
     ubi_trRootPtr tag_cache_ptr = NULL;
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_in *sin_src = NULL, *sin_dst = NULL;
+    struct sockaddr_in6 *sin6_src = NULL, *sin6_dst = NULL;
+#endif
 
     DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "Adding new Tag Head\n"););
 
     idx = (TagNode *) TagAlloc(sizeof(TagNode));
 
+#if HAVE_SOCKADDR_STORAGE
+    if(p->iph != NULL)
+    {
+	 sin_src = (struct sockaddr_in *)&idx->sip;
+	 sin_dst = (struct sockaddr_in *)&idx->dip;
+	 sin_src->sin_family = PF_INET;
+	 sin_dst->sin_family = PF_INET;
+	 memmove(&sin_src->sin_addr, &p->iph->ip_src, sizeof(struct in_addr));
+	 memmove(&sin_dst->sin_addr, &p->iph->ip_dst, sizeof(struct in_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 idx->sip.ss_len = sizeof(struct sockaddr_in);
+	 idx->dip.ss_len = sizeof(struct sockaddr_in);
+#endif
+	 idx->proto = p->iph->ip_proto;
+    }
+    else if (p->ip6h != NULL)
+    {
+	 sin6_src = (struct sockaddr_in6 *)&idx->sip;
+	 sin6_dst = (struct sockaddr_in6 *)&idx->dip;
+	 sin6_src->sin6_family = PF_INET6;
+	 sin6_dst->sin6_family = PF_INET6;
+	 memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	 memmove(&sin6_dst->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 idx->sip.ss_len = sizeof(struct sockaddr_in6);
+	 idx->dip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+	 idx->proto = p->ip6h->s_ip6_nxt;
+    }
+#else
     idx->sip = p->iph->ip_src.s_addr;
     idx->dip = p->iph->ip_dst.s_addr;
+#endif
     idx->sp = p->sp;
     idx->dp = p->dp;
-    idx->proto = p->iph->ip_proto;
     idx->metric = tag->tag_metric;
     idx->last_access = now;
     idx->event_id = event_id;
@@ -455,6 +571,10 @@
     TagNode idx;
     TagNode *returned = NULL;
     ubi_trRootPtr taglist = NULL;
+#if HAVE_SOCKADDR_STORAGE
+    struct sockaddr_in *sin_src = NULL, *sin_dst = NULL;
+    struct sockaddr_in6 *sin6_src = NULL, *sin6_dst = NULL;
+#endif
 
     /* check for active tags */
     if(!ubi_trCount(host_tag_cache_ptr) && !ubi_trCount(ssn_tag_cache_ptr))
@@ -462,9 +582,10 @@
         return 0;
     }
 
-    if(p == NULL || p->iph == NULL)
+    if(p == NULL || (p->iph == NULL && p->ip6h == NULL))
     {
         DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "bailing from CheckTagList, p->iph == NULL\n"););
+	printf("bailing from CheckTagList\n");
         return 0;
     }
 
@@ -473,8 +594,37 @@
 
     DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "[*] Checking session tag list (forward)...\n"););
 
+#if HAVE_SOCKADDR_STORAGE
+    if(p->iph != NULL)
+    {
+	 sin_src = (struct sockaddr_in *)&idx.sip;
+	 sin_dst = (struct sockaddr_in *)&idx.dip;
+	 sin_src->sin_family = PF_INET;
+	 sin_dst->sin_family = PF_INET;
+	 memmove(&sin_src->sin_addr, &p->iph->ip_src, sizeof(struct in_addr));
+	 memmove(&sin_dst->sin_addr, &p->iph->ip_dst, sizeof(struct in_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 idx.sip.ss_len = sizeof(struct sockaddr_in);
+	 idx.dip.ss_len = sizeof(struct sockaddr_in);
+#endif
+    }
+    else if (p->ip6h != NULL)
+    {
+	 sin6_src = (struct sockaddr_in6 *)&idx.sip;
+	 sin6_dst = (struct sockaddr_in6 *)&idx.dip;
+	 sin6_src->sin6_family = PF_INET6;
+	 sin6_dst->sin6_family = PF_INET6;
+	 memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	 memmove(&sin6_dst->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	 idx.sip.ss_len = sizeof(struct sockaddr_in6);
+	 idx.dip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+    }
+#else
     idx.sip = p->iph->ip_src.s_addr;
     idx.dip = p->iph->ip_dst.s_addr;
+#endif /* HAVE_SOCKADDR_STORAGE */
     idx.sp = p->sp;
     idx.dp = p->dp;
 
@@ -483,8 +633,37 @@
 
     if(returned == NULL)
     {
+#if HAVE_SOCKADDR_STORAGE
+	if(p->iph != NULL)
+	{
+	    sin_src = (struct sockaddr_in *)&idx.sip;
+	    sin_dst = (struct sockaddr_in *)&idx.dip;
+	    sin_src->sin_family = PF_INET;
+	    sin_dst->sin_family = PF_INET;
+	    memmove(&sin_src->sin_addr, &p->iph->ip_src, sizeof(struct in_addr));
+	    memmove(&sin_dst->sin_addr, &p->iph->ip_dst, sizeof(struct in_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	    idx.sip.ss_len = sizeof(struct sockaddr_in);
+	    idx.dip.ss_len = sizeof(struct sockaddr_in);
+#endif
+	}
+	else if (p->ip6h != NULL)
+	{
+	    sin6_src = (struct sockaddr_in6 *)&idx.sip;
+	    sin6_dst = (struct sockaddr_in6 *)&idx.dip;
+	    sin6_src->sin6_family = PF_INET6;
+	    sin6_dst->sin6_family = PF_INET6;
+	    memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+	    memmove(&sin6_dst->sin6_addr, &p->ip6h->ip6_dst, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+	    idx.sip.ss_len = sizeof(struct sockaddr_in6);
+	    idx.dip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+	}
+#else
         idx.dip = p->iph->ip_src.s_addr;
         idx.sip = p->iph->ip_dst.s_addr;
+#endif /* HAVE_SOCKADDR_STORAGE */
         idx.dp = p->sp;
         idx.sp = p->dp;
 
@@ -503,7 +682,28 @@
             {
                 DEBUG_WRAP(DebugMessage(DEBUG_FLOW, "   Checking host tag list "
 					"(reverse)...\n"););
+#if HAVE_SOCKADDR_STORAGE
+		if(p->iph != NULL)
+		{
+		     sin_src = (struct sockaddr_in *)&idx.sip;
+		     sin_src->sin_family = PF_INET;
+		     memmove(&sin_src->sin_addr, &p->iph->ip_src, sizeof(struct in_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+		     idx.sip.ss_len = sizeof(struct sockaddr_in);
+#endif
+		}
+		else if (p->ip6h != NULL)
+		{
+		     sin6_src = (struct sockaddr_in6 *)&idx.sip;
+		     sin6_src->sin6_family = PF_INET6;
+		     memmove(&sin6_src->sin6_addr, &p->ip6h->ip6_src, sizeof(struct in6_addr));
+#if HAVE_SOCKADDR_STORAGE_SS_LEN
+		     idx.sip.ss_len = sizeof(struct sockaddr_in6);
+#endif
+		}
+#else
                 idx.sip = p->iph->ip_src.s_addr;
+#endif
 
                 returned = (TagNode *) ubi_sptFind(host_tag_cache_ptr, 
                         (ubi_btItemPtr)&idx);
@@ -549,7 +749,15 @@
 
         if(returned->metric & TAG_METRIC_BYTES)
         {
-            returned->bytes -= (int) ntohs(p->iph->ip_len);
+	    if (p->iph != NULL)
+	    {
+		returned->bytes -= (int) ntohs(p->iph->ip_len);
+	    }
+	    else if (p->ip6h != NULL)
+	    {
+		returned->bytes -= (int) IP6_HEADER_LEN;
+		returned->bytes -= (int) ntohs(p->ip6h->s_ip6_plen);
+	    }
 
             if(returned->bytes < 0)
             {
@@ -697,22 +905,42 @@
             switch(otn->tag->tag_type)
             {
                 case TAG_SESSION: 
-                    DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting session tag:\n");
-			       DebugMessage(DEBUG_FLOW,"SIP: 0x%X  SP: %d   DIP: 0x%X  "
-					    "DP: %d\n", p->iph->ip_src.s_addr,p->sp,
-					    p->iph->ip_dst.s_addr,p->dp););
-		    
+		    if (p->iph != NULL)
+		    {
+			DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting session tag:\n");
+				   DebugMessage(DEBUG_FLOW,"SIP: 0x%X  SP: %d   DIP: 0x%X  "
+						"DP: %d\n", p->iph->ip_src.s_addr,p->sp,
+						p->iph->ip_dst.s_addr,p->dp););
+		    }
+		    else if (p->ip6h != NULL)
+		    {
+			char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+			inet_ntop(PF_INET6, &p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+			inet_ntop(PF_INET6, &p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+			DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting session tag:\n");
+				   DebugMessage(DEBUG_FLOW,"SIP: %s  SP: %d   DIP: %s  DP: %d\n", src,p->sp, dst,p->dp););
+		    }
                     TagSession(p, otn->tag, p->pkth->ts.tv_sec, event_id);
                     break;
 
                 case TAG_HOST:
-                    DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting host tag:\n");
-			       DebugMessage(DEBUG_FLOW,"SIP: 0x%X  SP: %d   DIP: 0x%X  "
-					    "DP: %d\n", p->iph->ip_src.s_addr,p->sp,
-					    p->iph->ip_dst.s_addr,p->dp););
+		    if (p->iph != NULL)
+		    {
+			DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting host tag:\n");
+				   DebugMessage(DEBUG_FLOW,"SIP: 0x%X  SP: %d   DIP: 0x%X  "
+						"DP: %d\n", p->iph->ip_src.s_addr,p->sp,
+						p->iph->ip_dst.s_addr,p->dp););
+		    }
+		    else if (p->ip6h != NULL)
+		    {
+			char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+			inet_ntop(PF_INET6, &p->ip6h->ip6_src, src, INET6_ADDRSTRLEN);
+			inet_ntop(PF_INET6, &p->ip6h->ip6_dst, dst, INET6_ADDRSTRLEN);
+			DEBUG_WRAP(DebugMessage(DEBUG_FLOW,"Setting session tag:\n");
+				   DebugMessage(DEBUG_FLOW,"SIP: %s  SP: %d   DIP: %s  DP: %d\n", src,p->sp, dst,p->dp););
+		    }
 		    TagHost(p, otn->tag, p->pkth->ts.tv_sec, event_id);
                     break;    
-    
                 default:
                     LogMessage("WARNING: Trying to tag with unknown "
                             "tag type!\n");
diff -ur snort-2.0.2/src/tag.h snort-2.0.2-ipv6/src/tag.h
--- snort-2.0.2/src/tag.h	Sat Mar 29 05:10:02 2003
+++ snort-2.0.2-ipv6/src/tag.h	Tue Sep 30 13:25:25 2003
@@ -16,7 +16,7 @@
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
 
-/* $Id: tag.h,v 1.10 2003/03/28 20:10:02 chrisgreen Exp $ */
+/* $Id: tag.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 #ifndef __TAG_H__
 #define __TAG_H__
 
diff -ur snort-2.0.2/src/threshold.c snort-2.0.2-ipv6/src/threshold.c
--- snort-2.0.2/src/threshold.c	Wed Oct 23 11:48:11 2002
+++ snort-2.0.2-ipv6/src/threshold.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: threshold.c,v 1.3 2002/10/23 02:48:11 chrisgreen Exp $ */
+/* $Id: threshold.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/threshold.h snort-2.0.2-ipv6/src/threshold.h
--- snort-2.0.2/src/threshold.h	Tue Aug 27 07:09:20 2002
+++ snort-2.0.2-ipv6/src/threshold.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: threshold.h,v 1.1 2002/08/26 22:09:20 roesch Exp $ */
+/* $Id: threshold.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/ubi_BinTree.c snort-2.0.2-ipv6/src/ubi_BinTree.c
--- snort-2.0.2/src/ubi_BinTree.c	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/ubi_BinTree.c	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /* ========================================================================== **
- * $Id: ubi_BinTree.c,v 1.4 2003/03/14 08:28:51 chris_reid Exp $
+ * $Id: ubi_BinTree.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *                              ubi_BinTree.c
  *
@@ -29,6 +29,9 @@
  * -------------------------------------------------------------------------- **
  *
  * $Log: ubi_BinTree.c,v $
+ * Revision 1.1.1.1  2003/09/30 04:25:25  abekatsu
+ * Base package
+ *
  * Revision 1.4  2003/03/14 08:28:51  chris_reid
  * * src/detect.c
  *   - corrected un-initialized memory in CreateRuleType()
@@ -225,9 +228,9 @@
  */
 
 static char ModuleID[] = "ubi_BinTree\n\
-\t$Revision: 1.4 $\n\
-\t$Date: 2003/03/14 08:28:51 $\n\
-\t$Author: chris_reid $\n";
+\t$Revision: 1.1.1.1 $\n\
+\t$Date: 2003/09/30 04:25:25 $\n\
+\t$Author: abekatsu $\n";
 
 /* ========================================================================== **
  * Internal (private) functions.
diff -ur snort-2.0.2/src/ubi_BinTree.h snort-2.0.2-ipv6/src/ubi_BinTree.h
--- snort-2.0.2/src/ubi_BinTree.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/ubi_BinTree.h	Tue Sep 30 13:25:25 2003
@@ -1,6 +1,6 @@
 #ifndef UBI_BINTREE_H
 #define UBI_BINTREE_H
-/* $Id: ubi_BinTree.h,v 1.2 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: ubi_BinTree.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /* ========================================================================== **
  *                              ubi_BinTree.h
  *
@@ -30,6 +30,9 @@
  * -------------------------------------------------------------------------- **
  *
  * $Log: ubi_BinTree.h,v $
+ * Revision 1.1.1.1  2003/09/30 04:25:25  abekatsu
+ * Base package
+ *
  * Revision 1.2  2003/03/14 08:28:51  chris_reid
  * * src/detect.c
  *   - corrected un-initialized memory in CreateRuleType()
diff -ur snort-2.0.2/src/ubi_SplayTree.c snort-2.0.2-ipv6/src/ubi_SplayTree.c
--- snort-2.0.2/src/ubi_SplayTree.c	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/ubi_SplayTree.c	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /* ========================================================================== **
- * $Id: ubi_SplayTree.c,v 1.3 2003/03/14 08:28:51 chris_reid Exp $
+ * $Id: ubi_SplayTree.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *                              ubi_SplayTree.c
  *
@@ -39,6 +39,9 @@
  * -------------------------------------------------------------------------- **
  *
  * $Log: ubi_SplayTree.c,v $
+ * Revision 1.1.1.1  2003/09/30 04:25:25  abekatsu
+ * Base package
+ *
  * Revision 1.3  2003/03/14 08:28:51  chris_reid
  * * src/detect.c
  *   - corrected un-initialized memory in CreateRuleType()
@@ -200,9 +203,9 @@
  */
 
 static char ModuleID[] = "ubi_SplayTree\n\
-\t$Revision: 1.3 $\n\
-\t$Date: 2003/03/14 08:28:51 $\n\
-\t$Author: chris_reid $\n";
+\t$Revision: 1.1.1.1 $\n\
+\t$Date: 2003/09/30 04:25:25 $\n\
+\t$Author: abekatsu $\n";
 
 
 /* ========================================================================== **
diff -ur snort-2.0.2/src/ubi_SplayTree.h snort-2.0.2-ipv6/src/ubi_SplayTree.h
--- snort-2.0.2/src/ubi_SplayTree.h	Fri Mar 14 17:28:51 2003
+++ snort-2.0.2-ipv6/src/ubi_SplayTree.h	Tue Sep 30 13:25:25 2003
@@ -1,6 +1,6 @@
 #ifndef UBI_SPLAYTREE_H
 #define UBI_SPLAYTREE_H
-/* $Id: ubi_SplayTree.h,v 1.2 2003/03/14 08:28:51 chris_reid Exp $ */
+/* $Id: ubi_SplayTree.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /* ========================================================================== **
  *                              ubi_SplayTree.h
  *
@@ -40,6 +40,9 @@
  * -------------------------------------------------------------------------- **
  *
  * $Log: ubi_SplayTree.h,v $
+ * Revision 1.1.1.1  2003/09/30 04:25:25  abekatsu
+ * Base package
+ *
  * Revision 1.2  2003/03/14 08:28:51  chris_reid
  * * src/detect.c
  *   - corrected un-initialized memory in CreateRuleType()
diff -ur snort-2.0.2/src/util.c snort-2.0.2-ipv6/src/util.c
--- snort-2.0.2/src/util.c	Thu Sep 11 04:22:31 2003
+++ snort-2.0.2-ipv6/src/util.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: util.c,v 1.30 2003/09/02 18:06:30 chris_reid Exp $ */
+/* $Id: util.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/util.h snort-2.0.2-ipv6/src/util.h
--- snort-2.0.2/src/util.h	Thu Mar 27 06:59:30 2003
+++ snort-2.0.2-ipv6/src/util.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: util.h,v 1.12 2003/03/26 21:59:30 chrisgreen Exp $ */
+/* $Id: util.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/win32/Makefile.am snort-2.0.2-ipv6/src/win32/Makefile.am
--- snort-2.0.2/src/win32/Makefile.am	Tue Sep  3 02:46:02 2002
+++ snort-2.0.2-ipv6/src/win32/Makefile.am	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-# $Id: Makefile.am,v 1.4 2002/09/02 17:46:02 chrisgreen Exp $
+# $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 # find . -type f | grep -ve 'CVS\|Makefile\.\(in\|am\)'
 EXTRA_DIST=./WIN32-Code/getopt.c \
diff -ur snort-2.0.2/src/win32/Makefile.in snort-2.0.2-ipv6/src/win32/Makefile.in
--- snort-2.0.2/src/win32/Makefile.in	Thu Sep 11 05:27:35 2003
+++ snort-2.0.2-ipv6/src/win32/Makefile.in	Thu Nov 13 18:42:58 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,9 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
+# $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +45,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,26 +59,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
 
-# $Id: Makefile.am,v 1.4 2002/09/02 17:46:02 chrisgreen Exp $
 AUTOMAKE_OPTIONS = foreign no-dependencies
 # find . -type f | grep -ve 'CVS\|Makefile\.\(in\|am\)'
 EXTRA_DIST = ./WIN32-Code/getopt.c \
@@ -175,7 +169,6 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 DIST_COMMON = Makefile.am Makefile.in
 all: all-am
@@ -185,11 +178,14 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  src/win32/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
@@ -197,20 +193,15 @@
 
 distdir: $(DISTFILES)
 	$(mkinstalldirs) $(distdir)/./WIN32-Code $(distdir)/./WIN32-Includes $(distdir)/./WIN32-Includes/NET $(distdir)/./WIN32-Includes/NETINET $(distdir)/./WIN32-Includes/libnet $(distdir)/./WIN32-Includes/mysql $(distdir)/./WIN32-Includes/rpc $(distdir)/./WIN32-Libraries $(distdir)/./WIN32-Libraries/libnet $(distdir)/./WIN32-Libraries/mysql $(distdir)/./WIN32-Prj
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -234,7 +225,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -242,7 +232,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/src/win32/WIN32-Code/getopt.c snort-2.0.2-ipv6/src/win32/WIN32-Code/getopt.c
--- snort-2.0.2/src/win32/WIN32-Code/getopt.c	Fri Mar 14 17:28:55 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Code/getopt.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: getopt.c,v 1.3 2003/03/14 08:28:55 chris_reid Exp $ */
+/* $Id: getopt.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/win32/WIN32-Code/misc.c snort-2.0.2-ipv6/src/win32/WIN32-Code/misc.c
--- snort-2.0.2/src/win32/WIN32-Code/misc.c	Thu May 29 21:53:49 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Code/misc.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: misc.c,v 1.5 2003/05/28 15:50:17 chris_reid Exp $ */
+/* $Id: misc.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/win32/WIN32-Code/name.h snort-2.0.2-ipv6/src/win32/WIN32-Code/name.h
--- snort-2.0.2/src/win32/WIN32-Code/name.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Code/name.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: name.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: name.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 //
 //  Values are 32 bit values layed out as follows:
 //
diff -ur snort-2.0.2/src/win32/WIN32-Code/syslog.c snort-2.0.2-ipv6/src/win32/WIN32-Code/syslog.c
--- snort-2.0.2/src/win32/WIN32-Code/syslog.c	Thu Sep 11 04:22:34 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Code/syslog.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: syslog.c,v 1.7 2003/09/02 18:06:30 chris_reid Exp $ */
+/* $Id: syslog.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /* -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
  . Copyright (c) 2001 Michael Davis <mike@datanerds.net>
  . All rights reserved.
diff -ur snort-2.0.2/src/win32/WIN32-Code/win32_service.c snort-2.0.2-ipv6/src/win32/WIN32-Code/win32_service.c
--- snort-2.0.2/src/win32/WIN32-Code/win32_service.c	Mon Aug  4 23:32:53 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Code/win32_service.c	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: win32_service.c,v 1.6 2003/07/28 17:35:22 chris_reid Exp $ */
+/* $Id: win32_service.c,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Chris Reid <chris.reid@codecraftconsulants.com>
 **
diff -ur snort-2.0.2/src/win32/WIN32-Includes/NET/Bpf.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/NET/Bpf.h
--- snort-2.0.2/src/win32/WIN32-Includes/NET/Bpf.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/NET/Bpf.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: Bpf.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: Bpf.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*-
  * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
  *	The Regents of the University of California.  All rights reserved.
@@ -38,7 +38,7 @@
  *
  *      @(#)bpf.h       7.1 (Berkeley) 5/7/91
  *
- * @(#) $Header: /cvsroot/snort/snort/src/win32/WIN32-Includes/NET/Bpf.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ (LBL)
+ * @(#) $Header: /mnt1/cvsroot/snort-ipv6/src/win32/WIN32-Includes/NET/Bpf.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ (LBL)
  */
 
 #ifndef BPF_MAJOR_VERSION
diff -ur snort-2.0.2/src/win32/WIN32-Includes/config.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/config.h
--- snort-2.0.2/src/win32/WIN32-Includes/config.h	Thu Sep 11 06:43:30 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/config.h	Thu Dec 18 13:08:26 2003
@@ -1,4 +1,4 @@
-/* $Id: config.h,v 1.20 2003/07/25 21:27:18 chris_reid Exp $ */
+/* $Id: config.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 
 #ifndef __CONFIG_H__
 #define __CONFIG_H__
@@ -78,7 +78,7 @@
  * should both match the ones specified in the
  * AM_INIT_AUTOMAKE() macro of configure.in
  */
-#define VERSION "2.0.2"VERSION_ENABLE_ODBC""VERSION_ENABLE_MYSQL""VERSION_ENABLE_MSSQL""VERSION_ENABLE_RESPONSE"-WIN32"VERSION_DEBUG
+#define VERSION "2.0.2-ipv6"VERSION_ENABLE_ODBC""VERSION_ENABLE_MYSQL""VERSION_ENABLE_MSSQL""VERSION_ENABLE_RESPONSE"-WIN32"VERSION_DEBUG
 #define PACKAGE "snort"
 
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/getopt.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/getopt.h
--- snort-2.0.2/src/win32/WIN32-Includes/getopt.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/getopt.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: getopt.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: getopt.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
 ** Copyright (C) 2002 Martin Roesch <roesch@sourcefire.com>
 **
diff -ur snort-2.0.2/src/win32/WIN32-Includes/gnuc.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/gnuc.h
--- snort-2.0.2/src/win32/WIN32-Includes/gnuc.h	Wed Mar  5 12:33:19 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/gnuc.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* @(#) $Header: /cvsroot/snort/snort/src/win32/WIN32-Includes/gnuc.h,v 1.4 2003/03/05 03:33:19 chris_reid Exp $ (LBL) */
+/* @(#) $Header: /mnt1/cvsroot/snort-ipv6/src/win32/WIN32-Includes/gnuc.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ (LBL) */
 
 /* Define __P() macro, if necessary */
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/gnuc.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/gnuc.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/gnuc.h	Mon Jul  8 22:50:37 2002
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/gnuc.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* @(#) $Header: /cvsroot/snort/snort/src/win32/WIN32-Includes/libnet/gnuc.h,v 1.2 2002/07/08 13:50:37 chrisgreen Exp $ (LBL) */
+/* @(#) $Header: /mnt1/cvsroot/snort-ipv6/src/win32/WIN32-Includes/libnet/gnuc.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ (LBL) */
 
 /* Define __P() macro, if necessary */
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-asn1.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-asn1.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-asn1.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-asn1.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-asn1.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-asn1.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-asn1.h - Network routine library ASN.1 header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-functions.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-functions.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-functions.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-functions.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-functions.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-functions.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-functions.h - Network routine library function prototype header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-headers.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-headers.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-headers.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-headers.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-headers.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-headers.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-headers.h - Network routine library headers header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-macros.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-macros.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-macros.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-macros.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-macros.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-macros.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-macros.h - Network routine library macro header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-ospf.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-ospf.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-ospf.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-ospf.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-ospf.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-ospf.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-ospf.h - Network routine library headers header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-structures.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-structures.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet-structures.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet-structures.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet-structures.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet-structures.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet-structures.h - Network routine library structures header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet.h
--- snort-2.0.2/src/win32/WIN32-Includes/libnet/libnet.h	Tue Aug  7 22:15:12 2001
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/libnet/libnet.h	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet.h,v 1.1 2001/08/07 13:15:12 fygrave Exp $
+ *  $Id: libnet.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
  *
  *  libnet.h - Network routine library header file
  *
diff -ur snort-2.0.2/src/win32/WIN32-Includes/pcap-namedb.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/pcap-namedb.h
--- snort-2.0.2/src/win32/WIN32-Includes/pcap-namedb.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/pcap-namedb.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: pcap-namedb.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: pcap-namedb.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
  * Copyright (c) 1994, 1996
  *	The Regents of the University of California.  All rights reserved.
@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * @(#) $Header: /cvsroot/snort/snort/src/win32/WIN32-Includes/pcap-namedb.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ (LBL)
+ * @(#) $Header: /mnt1/cvsroot/snort-ipv6/src/win32/WIN32-Includes/pcap-namedb.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ (LBL)
  */
 
 #ifndef lib_pcap_ethers_h
diff -ur snort-2.0.2/src/win32/WIN32-Includes/pcap.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/pcap.h
--- snort-2.0.2/src/win32/WIN32-Includes/pcap.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/pcap.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: pcap.h,v 1.4 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: pcap.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*
  * Copyright (c) 1993, 1994, 1995, 1996, 1997
  *	The Regents of the University of California.  All rights reserved.
@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * @(#) $Header: /cvsroot/snort/snort/src/win32/WIN32-Includes/pcap.h,v 1.4 2003/03/14 08:28:56 chris_reid Exp $ (LBL)
+ * @(#) $Header: /mnt1/cvsroot/snort-ipv6/src/win32/WIN32-Includes/pcap.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ (LBL)
  */
 
 #ifndef lib_pcap_h
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/auth.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/auth.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/auth.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/auth.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: auth.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: auth.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: auth.h,v 1.2 1997/09/21 10:46:09 niklas Exp $	*/
 /*	$NetBSD: auth.h,v 1.7 1995/04/29 05:27:55 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/auth_unix.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/auth_unix.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/auth_unix.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/auth_unix.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: auth_unix.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: auth_unix.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: auth_unix.h,v 1.2 1997/09/21 10:46:09 niklas Exp $	*/
 /*	$NetBSD: auth_unix.h,v 1.4 1994/10/26 00:56:56 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/clnt.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/clnt.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/clnt.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/clnt.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: clnt.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: clnt.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: clnt.h,v 1.4 1998/03/19 00:27:17 millert Exp $	*/
 /*	$NetBSD: clnt.h,v 1.6 1995/04/29 05:27:58 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_clnt.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_clnt.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_clnt.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_clnt.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: pmap_clnt.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: pmap_clnt.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: pmap_clnt.h,v 1.3 1998/08/29 18:57:14 deraadt Exp $	*/
 /*	$NetBSD: pmap_clnt.h,v 1.5 1994/12/04 01:12:42 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_prot.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_prot.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_prot.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_prot.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: pmap_prot.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: pmap_prot.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: pmap_prot.h,v 1.3 1998/02/10 06:25:32 deraadt Exp $	*/
 /*	$NetBSD: pmap_prot.h,v 1.4 1994/10/26 00:57:00 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_rmt.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_rmt.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/pmap_rmt.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/pmap_rmt.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: pmap_rmt.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: pmap_rmt.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: pmap_rmt.h,v 1.2 1997/09/21 10:46:13 niklas Exp $	*/
 /*	$NetBSD: pmap_rmt.h,v 1.4 1994/10/26 00:57:01 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: rpc.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: rpc.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: rpc.h,v 1.7 1998/12/20 23:43:18 millert Exp $	*/
 /*	$NetBSD: rpc.h,v 1.5 1994/12/04 01:15:30 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc_des.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc_des.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc_des.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc_des.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: rpc_des.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/*  $Id: rpc_des.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 x/*	$OpenBSD: rpc_des.h,v 1.3 1998/02/10 06:25:33 deraadt Exp $	*/
 
 /* crypto/des/rpc_des.h */
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc_msg.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc_msg.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/rpc_msg.h	Fri Mar 14 17:28:57 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/rpc_msg.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: rpc_msg.h,v 1.2 2003/03/14 08:28:57 chris_reid Exp $ */
+/*  $Id: rpc_msg.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: rpc_msg.h,v 1.2 1997/09/21 10:46:15 niklas Exp $	*/
 /*	$NetBSD: rpc_msg.h,v 1.5 1995/04/29 05:28:00 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/svc.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/svc.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/svc.h	Fri Mar 14 17:28:57 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/svc.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: svc.h,v 1.2 2003/03/14 08:28:57 chris_reid Exp $ */
+/*  $Id: svc.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: svc.h,v 1.2 1997/09/21 10:46:16 niklas Exp $	*/
 /*	$NetBSD: svc.h,v 1.9 1995/04/29 05:28:01 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/svc_auth.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/svc_auth.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/svc_auth.h	Fri Mar 14 17:28:57 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/svc_auth.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: svc_auth.h,v 1.2 2003/03/14 08:28:57 chris_reid Exp $ */
+/*  $Id: svc_auth.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: svc_auth.h,v 1.2 1997/09/21 10:46:16 niklas Exp $	*/
 /*	$NetBSD: svc_auth.h,v 1.4 1994/10/26 00:57:07 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/types.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/types.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/types.h	Fri Mar 14 17:28:57 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/types.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: types.h,v 1.2 2003/03/14 08:28:57 chris_reid Exp $ */
+/*  $Id: types.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: types.h,v 1.2 1997/09/21 10:46:17 niklas Exp $	*/
 /*	$NetBSD: types.h,v 1.8 1995/04/29 05:28:05 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/rpc/xdr.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/xdr.h
--- snort-2.0.2/src/win32/WIN32-Includes/rpc/xdr.h	Fri Mar 14 17:28:57 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/rpc/xdr.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/*  $Id: xdr.h,v 1.2 2003/03/14 08:28:57 chris_reid Exp $ */
+/*  $Id: xdr.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /*	$OpenBSD: xdr.h,v 1.2 1997/09/21 10:46:18 niklas Exp $	*/
 /*	$NetBSD: xdr.h,v 1.7 1995/04/29 05:28:06 cgd Exp $	*/
 
diff -ur snort-2.0.2/src/win32/WIN32-Includes/syslog.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/syslog.h
--- snort-2.0.2/src/win32/WIN32-Includes/syslog.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/syslog.h	Tue Sep 30 13:25:25 2003
@@ -1,4 +1,4 @@
-/* $Id: syslog.h,v 1.3 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: syslog.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
 /* -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
  . Copyright (c) 2001 Michael Davis <mike@datanerds.net>
  . All rights reserved.
diff -ur snort-2.0.2/src/win32/WIN32-Includes/unistd.h snort-2.0.2-ipv6/src/win32/WIN32-Includes/unistd.h
--- snort-2.0.2/src/win32/WIN32-Includes/unistd.h	Fri Mar 14 17:28:56 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Includes/unistd.h	Tue Sep 30 13:25:25 2003
@@ -1 +1 @@
-/* $Id: unistd.h,v 1.2 2003/03/14 08:28:56 chris_reid Exp $ */
+/* $Id: unistd.h,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $ */
diff -ur snort-2.0.2/src/win32/WIN32-Prj/Makefile snort-2.0.2-ipv6/src/win32/WIN32-Prj/Makefile
--- snort-2.0.2/src/win32/WIN32-Prj/Makefile	Thu Sep 11 04:22:35 2003
+++ snort-2.0.2-ipv6/src/win32/WIN32-Prj/Makefile	Tue Sep 30 13:25:25 2003
@@ -1,6 +1,6 @@
 # Microsoft Visual Studio NMAKE File
 #
-# $Id: Makefile,v 1.2 2003/08/31 23:04:19 chris_reid Exp $
+# $Id: Makefile,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 
 !MESSAGE Please use the following command line instead:
 !MESSAGE NMAKE /f "snort.mak" CFG="?"
Only in snort-2.0.2-ipv6: stamp-h.in
diff -ur snort-2.0.2/templates/Makefile.am snort-2.0.2-ipv6/templates/Makefile.am
--- snort-2.0.2/templates/Makefile.am	Sat Mar 30 09:15:39 2002
+++ snort-2.0.2-ipv6/templates/Makefile.am	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-## $Id: Makefile.am,v 1.2 2002/03/30 00:15:39 andrewbaker Exp $
+## $Id: Makefile.am,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $
 AUTOMAKE_OPTIONS=foreign no-dependencies
 
 EXTRA_DIST = sp_template.c spp_template.c sp_template.h spp_template.h
diff -ur snort-2.0.2/templates/Makefile.in snort-2.0.2-ipv6/templates/Makefile.in
--- snort-2.0.2/templates/Makefile.in	Thu Sep 11 05:27:45 2003
+++ snort-2.0.2-ipv6/templates/Makefile.in	Thu Nov 13 19:26:36 2003
@@ -1,7 +1,6 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,6 +12,7 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
+
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,13 +43,9 @@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,24 +57,22 @@
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AWK = @AWK@
 CC = @CC@
 DEPDIR = @DEPDIR@
+EXEEXT = @EXEEXT@
 INCLUDES = @INCLUDES@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 RANLIB = @RANLIB@
-STRIP = @STRIP@
 VERSION = @VERSION@
 am__include = @am__include@
 am__quote = @am__quote@
 extra_incl = @extra_incl@
 install_sh = @install_sh@
+
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
 EXTRA_DIST = sp_template.c spp_template.c sp_template.h spp_template.h
@@ -87,7 +81,6 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 depcomp =
-am__depfiles_maybe =
 DIST_SOURCES =
 DIST_COMMON = Makefile.am Makefile.in
 all: all-am
@@ -97,31 +90,29 @@
 	cd $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign  templates/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+	cd $(top_builddir) && \
+	  CONFIG_HEADERS= CONFIG_LINKS= \
+	  CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
+
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-	@list='$(DISTFILES)'; for file in $$list; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	@for file in $(DISTFILES); do \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
+	    $(mkinstalldirs) "$(distdir)/$$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; \
+	    cp -pR $$d/$$file $(distdir) \
+	    || exit 1; \
 	  else \
 	    test -f $(distdir)/$$file \
 	    || cp -p $$d/$$file $(distdir)/$$file \
@@ -145,7 +136,6 @@
 installcheck: installcheck-am
 install-strip:
 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -153,7 +143,7 @@
 clean-generic:
 
 distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
diff -ur snort-2.0.2/templates/sp_template.c snort-2.0.2-ipv6/templates/sp_template.c
--- snort-2.0.2/templates/sp_template.c	Wed May 15 10:28:35 2002
+++ snort-2.0.2-ipv6/templates/sp_template.c	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_template.c,v 1.3 2002/05/15 01:28:35 chrisgreen Exp $ */
+/* $Id: sp_template.c,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $ */
 /* Snort Detection Plugin Source File Template */
 
 /* sp_template 
diff -ur snort-2.0.2/templates/sp_template.h snort-2.0.2-ipv6/templates/sp_template.h
--- snort-2.0.2/templates/sp_template.h	Wed May 15 10:28:35 2002
+++ snort-2.0.2-ipv6/templates/sp_template.h	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-/* $Id: sp_template.h,v 1.2 2002/05/15 01:28:35 chrisgreen Exp $ */
+/* $Id: sp_template.h,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $ */
 /* Snort Detection Plugin Header File Template */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
diff -ur snort-2.0.2/templates/spp_template.c snort-2.0.2-ipv6/templates/spp_template.c
--- snort-2.0.2/templates/spp_template.c	Tue Mar 19 22:46:24 2002
+++ snort-2.0.2-ipv6/templates/spp_template.c	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_template.c,v 1.3 2002/03/19 13:46:24 cazz Exp $ */
+/* $Id: spp_template.c,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $ */
 /* Snort Preprocessor Plugin Source File Template */
 
 /* spp_template 
diff -ur snort-2.0.2/templates/spp_template.h snort-2.0.2-ipv6/templates/spp_template.h
--- snort-2.0.2/templates/spp_template.h	Mon Nov 13 15:01:25 2000
+++ snort-2.0.2-ipv6/templates/spp_template.h	Tue Sep 30 13:25:28 2003
@@ -1,4 +1,4 @@
-/* $Id: spp_template.h,v 1.2 2000/11/13 06:01:25 roesch Exp $ */
+/* $Id: spp_template.h,v 1.1.1.1 2003/09/30 04:25:28 abekatsu Exp $ */
 /* Snort Preprocessor Plugin Header File Template */
 
 /* This file gets included in plugbase.h when it is integrated into the rest 
diff -ur snort-2.0.2/verstuff.pl snort-2.0.2-ipv6/verstuff.pl
--- snort-2.0.2/verstuff.pl	Sat Jul 26 00:23:01 2003
+++ snort-2.0.2-ipv6/verstuff.pl	Tue Sep 30 13:25:25 2003
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# $Id: verstuff.pl,v 1.3 2003/07/25 15:23:01 chrisgreen Exp $
+# $Id: verstuff.pl,v 1.1.1.1 2003/09/30 04:25:25 abekatsu Exp $
 # Author: Chris Green <cmg@sourcefire.com>
 # Purpose: make sure snort versions stay in sync
 # Created: Tue Jul 22 17:21:42 EDT 2003
