Browse Source

Merge upstream version 3.4.3

Noèl Köthe 14 years ago
parent
commit
a37ac5d097
100 changed files with 12568 additions and 1743 deletions
  1. BIN
      ._configure.ac
  2. 4 2
      Makefile.am
  3. 140 59
      Makefile.in
  4. 202 117
      aclocal.m4
  5. 23 4
      config/config.guess
  6. 14 5
      config/config.sub
  7. 634 435
      configure
  8. 305 294
      configure.ac
  9. BIN
      docs/._CHANGELOG
  10. 14 1
      docs/CHANGELOG
  11. 5 1
      docs/CREDIT
  12. 32 10
      docs/Makefile.in
  13. 50 22
      lib/Makefile.in
  14. 82 36
      libopts/Makefile.in
  15. 7357 0
      m4/libtool.m4
  16. 368 0
      m4/ltoptions.m4
  17. 123 0
      m4/ltsugar.m4
  18. 23 0
      m4/ltversion.m4
  19. 92 0
      m4/lt~obsolete.m4
  20. 32 10
      scripts/Makefile.in
  21. BIN
      src/._Makefile.am
  22. BIN
      src/._bridge.c
  23. BIN
      src/._send_packets.c
  24. BIN
      src/._tcpbridge.c
  25. BIN
      src/._tcpbridge.h
  26. BIN
      src/._tcpprep.c
  27. BIN
      src/._tcpreplay_opts.def
  28. BIN
      src/._tree.c
  29. 1 1
      src/Makefile.am
  30. 246 138
      src/Makefile.in
  31. 18 4
      src/bridge.c
  32. BIN
      src/common/._fakepoll.c
  33. BIN
      src/common/._fakepoll.h
  34. BIN
      src/common/._sendpacket.c
  35. 51 23
      src/common/Makefile.in
  36. 242 67
      src/common/cidr.c
  37. 10 1
      src/common/cidr.h
  38. 3 1
      src/common/err.h
  39. 266 11
      src/common/get.c
  40. 14 2
      src/common/get.h
  41. 1 1
      src/common/svn_version.c
  42. 74 10
      src/common/xX.c
  43. 3 2
      src/common/xX.h
  44. 3 0
      src/defines.h
  45. 3 0
      src/defines.h.in
  46. BIN
      src/fragroute/._argv.c
  47. BIN
      src/fragroute/._mod_ip_chaff.c
  48. BIN
      src/fragroute/._mod_ip_tos.c
  49. BIN
      src/fragroute/._mod_ip_ttl.c
  50. BIN
      src/fragroute/._mod_order.c
  51. BIN
      src/fragroute/._mod_print.c
  52. BIN
      src/fragroute/._mod_tcp_chaff.c
  53. BIN
      src/fragroute/._randutil.c
  54. 3 2
      src/fragroute/Makefile.am
  55. 142 65
      src/fragroute/Makefile.in
  56. 3 1
      src/fragroute/fragroute.c
  57. 147 0
      src/fragroute/iputil.c
  58. 13 0
      src/fragroute/iputil.h
  59. 5 1
      src/fragroute/mod.c
  60. 196 0
      src/fragroute/mod_ip6_opt.c
  61. 83 0
      src/fragroute/mod_ip6_qos.c
  62. 16 4
      src/fragroute/mod_ip_chaff.c
  63. 146 2
      src/fragroute/mod_ip_frag.c
  64. 12 2
      src/fragroute/mod_ip_opt.c
  65. 5 1
      src/fragroute/mod_ip_tos.c
  66. 7 1
      src/fragroute/mod_ip_ttl.c
  67. 132 12
      src/fragroute/mod_print.c
  68. 36 16
      src/fragroute/mod_tcp_chaff.c
  69. 11 5
      src/fragroute/mod_tcp_opt.c
  70. 39 8
      src/fragroute/mod_tcp_seg.c
  71. 35 3
      src/fragroute/pkt.c
  72. 3 1
      src/fragroute/pkt.h
  73. 4 2
      src/send_packets.c
  74. 59 21
      src/tcpbridge.1
  75. 211 66
      src/tcpbridge_opts.c
  76. 53 47
      src/tcpbridge_opts.h
  77. BIN
      src/tcpedit/._edit_packet.c
  78. BIN
      src/tcpedit/._parse_args.c
  79. BIN
      src/tcpedit/._tcpedit-int.h
  80. BIN
      src/tcpedit/._tcpedit.c
  81. BIN
      src/tcpedit/._tcpedit.h
  82. BIN
      src/tcpedit/._tcpedit_opts.def
  83. BIN
      src/tcpedit/._tcpedit_stub.def
  84. 77 49
      src/tcpedit/Makefile.in
  85. 21 2
      src/tcpedit/checksum.c
  86. 280 25
      src/tcpedit/edit_packet.c
  87. 13 3
      src/tcpedit/edit_packet.h
  88. 5 1
      src/tcpedit/parse_args.c
  89. BIN
      src/tcpedit/plugins/dlt_en10mb/._en10mb.c
  90. BIN
      src/tcpedit/plugins/dlt_en10mb/._en10mb_opts.def
  91. 34 9
      src/tcpedit/portmap.c
  92. 3 2
      src/tcpedit/portmap.h
  93. 9 3
      src/tcpedit/tcpedit-int.h
  94. 74 9
      src/tcpedit/tcpedit.c
  95. 51 19
      src/tcpedit/tcpedit_opts.def
  96. 33 27
      src/tcpedit/tcpedit_stub.h
  97. 21 12
      src/tcpprep.1
  98. 139 53
      src/tcpprep.c
  99. 12 12
      src/tcpprep_opts.c
  100. 0 0
      src/tcpprep_opts.def

BIN
._configure.ac


+ 4 - 2
Makefile.am

@@ -1,7 +1,7 @@
 # $Id$
 # $Id$
 AUTOMAKE_OPTIONS = foreign
 AUTOMAKE_OPTIONS = foreign
 
 
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I libopts/m4
 
 
 if NEED_LIBOPTS
 if NEED_LIBOPTS
 SUBDIRS = scripts lib $(LIBOPTS_DIR) src
 SUBDIRS = scripts lib $(LIBOPTS_DIR) src
@@ -64,4 +64,6 @@ DISTCLEANFILES = .tm_project.cache stamp-h1 *.tar.*
 
 
 MAINTAINERCLEANFILES = Makefile.in configure *.bak
 MAINTAINERCLEANFILES = Makefile.in configure *.bak
 
 
-EXTRA_DIST = doxygen.cfg.in autogen.sh
+EXTRA_DIST = doxygen.cfg.in autogen.sh \
+	m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
+	m4/ltversion.m4 m4/lt~obsolete.m4

+ 140 - 59
Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
 @SET_MAKE@
 @SET_MAKE@
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -49,6 +51,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES = doxygen.cfg
 CONFIG_CLEAN_FILES = doxygen.cfg
+CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 SOURCES =
 DIST_SOURCES =
 DIST_SOURCES =
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -60,15 +63,43 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	ps-recursive uninstall-recursive
 	ps-recursive uninstall-recursive
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
 ETAGS = etags
 ETAGS = etags
 CTAGS = ctags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 top_distdir = $(distdir)
 am__remove_distdir = \
 am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
 distuninstallcheck_listfiles = find . -type f -print
@@ -219,7 +250,7 @@ top_srcdir = @top_srcdir@
 
 
 # $Id$
 # $Id$
 AUTOMAKE_OPTIONS = foreign
 AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I libopts/m4
 @NEED_LIBOPTS_FALSE@SUBDIRS = scripts lib src
 @NEED_LIBOPTS_FALSE@SUBDIRS = scripts lib src
 @NEED_LIBOPTS_TRUE@SUBDIRS = scripts lib $(LIBOPTS_DIR) src
 @NEED_LIBOPTS_TRUE@SUBDIRS = scripts lib $(LIBOPTS_DIR) src
 DIST_SUBDIRS = scripts lib libopts src docs test
 DIST_SUBDIRS = scripts lib libopts src docs test
@@ -228,7 +259,10 @@ TEST_DIR = $(top_builddir)/test
 MOSTLYCLEANFILES = tcpreplay.spec *~
 MOSTLYCLEANFILES = tcpreplay.spec *~
 DISTCLEANFILES = .tm_project.cache stamp-h1 *.tar.*
 DISTCLEANFILES = .tm_project.cache stamp-h1 *.tar.*
 MAINTAINERCLEANFILES = Makefile.in configure *.bak
 MAINTAINERCLEANFILES = Makefile.in configure *.bak
-EXTRA_DIST = doxygen.cfg.in autogen.sh
+EXTRA_DIST = doxygen.cfg.in autogen.sh \
+	m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
+	m4/ltversion.m4 m4/lt~obsolete.m4
+
 all: all-recursive
 all: all-recursive
 
 
 .SUFFIXES:
 .SUFFIXES:
@@ -238,15 +272,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	@for dep in $?; do \
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
 	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
-	      cd $(srcdir) && $(AUTOMAKE) --foreign  \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
 		&& exit 0; \
 		&& exit 0; \
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -262,9 +296,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
 	$(SHELL) ./config.status --recheck
 	$(SHELL) ./config.status --recheck
 
 
 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(srcdir) && $(AUTOCONF)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
 doxygen.cfg: $(top_builddir)/config.status $(srcdir)/doxygen.cfg.in
 doxygen.cfg: $(top_builddir)/config.status $(srcdir)/doxygen.cfg.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 
 
@@ -301,7 +336,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	  else \
 	    local_target="$$target"; \
 	    local_target="$$target"; \
 	  fi; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	  || eval $$failcom; \
 	done; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
 	if test "$$dot_seen" = "no"; then \
@@ -335,16 +370,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	  else \
 	    local_target="$$target"; \
 	    local_target="$$target"; \
 	  fi; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 	done && test -z "$$fail"
 tags-recursive:
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 	done
 ctags-recursive:
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 	done
 
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -359,7 +394,7 @@ tags: TAGS
 
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
 	  include_option=--etags-include; \
@@ -371,7 +406,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	  fi; \
 	done; \
 	done; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -380,36 +415,41 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 
 distdir: $(DISTFILES)
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
 	$(am__remove_distdir)
-	test -d $(distdir) || mkdir $(distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
 	list='$(DISTFILES)'; \
@@ -425,29 +465,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	        distdir) \
 	      || exit 1; \
 	      || exit 1; \
 	  fi; \
 	  fi; \
@@ -455,11 +510,12 @@ distdir: $(DISTFILES)
 	$(MAKE) $(AM_MAKEFLAGS) \
 	$(MAKE) $(AM_MAKEFLAGS) \
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  dist-hook
 	  dist-hook
-	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r $(distdir)
+	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
 	$(am__remove_distdir)
@@ -472,6 +528,10 @@ dist-lzma: distdir
 	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	$(am__remove_distdir)
 	$(am__remove_distdir)
 
 
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
 dist-tarZ: distdir
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__remove_distdir)
 	$(am__remove_distdir)
@@ -500,6 +560,8 @@ distcheck: dist
 	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
 	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
 	*.tar.lzma*) \
 	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
 	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
 	*.tar.Z*) \
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	*.shar.gz*) \
 	*.shar.gz*) \
@@ -511,9 +573,11 @@ distcheck: dist
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
 	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && cd $(distdir)/_build \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -535,13 +599,15 @@ distcheck: dist
 	  && rm -rf "$$dc_destdir" \
 	  && rm -rf "$$dc_destdir" \
 	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 	  && rm -rf $(DIST_ARCHIVES) \
 	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
 	$(am__remove_distdir)
 	$(am__remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
 distuninstallcheck:
-	@cd $(distuninstallcheck_dir) \
+	@$(am__cd) '$(distuninstallcheck_dir)' \
 	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
 	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
 	        if test -n "$(DESTDIR)"; then \
@@ -584,6 +650,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
@@ -606,6 +673,8 @@ dvi-am:
 
 
 html: html-recursive
 html: html-recursive
 
 
+html-am:
+
 info: info-recursive
 info: info-recursive
 
 
 info-am:
 info-am:
@@ -614,18 +683,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-recursive
 install-dvi: install-dvi-recursive
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-recursive
 install-html: install-html-recursive
 
 
+install-html-am:
+
 install-info: install-info-recursive
 install-info: install-info-recursive
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-recursive
 install-pdf: install-pdf-recursive
 
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 install-ps: install-ps-recursive
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-recursive
 maintainer-clean: maintainer-clean-recursive
@@ -648,24 +727,25 @@ ps-am:
 
 
 uninstall-am:
 uninstall-am:
 
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+	install-am install-strip tags-recursive
 
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	all all-am am--refresh check check-am clean clean-generic \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
-	distcheck distclean distclean-generic distclean-libtool \
-	distclean-local distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags tags-recursive uninstall uninstall-am
+	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
+	dist-zip distcheck distclean distclean-generic \
+	distclean-libtool distclean-local distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am
 
 
 .PHONY: manpages docs test man2html
 .PHONY: manpages docs test man2html
 
 
@@ -709,6 +789,7 @@ doxygen: version
 
 
 ncc:
 ncc:
 	CC=ncc make
 	CC=ncc make
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 202 - 117
aclocal.m4

@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.11 -*- Autoconf -*-
 
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -7977,10 +7977,10 @@ m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
 # generated from the m4 files accompanying Automake X.Y.
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.10.2], [],
+m4_if([$1], [1.11], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 ])
 
 
@@ -7996,7 +7996,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.2])dnl
+[AM_AUTOMAKE_VERSION([1.11])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -8056,14 +8056,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
 # Free Software Foundation, Inc.
 # Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 8
+# serial 9
 
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # -------------------------------------
@@ -8076,6 +8076,7 @@ AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
 if $2; then
   $1_TRUE=
   $1_TRUE=
   $1_FALSE='#'
   $1_FALSE='#'
@@ -8089,14 +8090,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 fi])])
 
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
 # Free Software Foundation, Inc.
 # Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 9
+# serial 10
 
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # 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,
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -8153,6 +8154,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
   if test "$am_compiler_list" = ""; then
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   for depmode in $am_compiler_list; do
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
     # like to wrap large dependency lists on column 80 (with \), and
@@ -8170,7 +8181,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
     done
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
       # only be used when explicitly requested
@@ -8180,19 +8201,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
 	break
       fi
       fi
       ;;
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     none) break ;;
     esac
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
          >/dev/null 2>conftest.err &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -8256,59 +8281,61 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-#serial 4
+#serial 5
 
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[# Autoconf 2.62 quotes --file arguments for eval, but not when files
-# are listed without --file.  Let's play safe and only enable the eval
-# if we detect the quoting.
-case $CONFIG_FILES in
-*\'*) eval set x "$CONFIG_FILES" ;;
-*)   set x $CONFIG_FILES ;;
-esac
-shift
-for mf
-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.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       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])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  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.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 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])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
   done
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
 
 
@@ -8368,13 +8395,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
 # Do all the work for Automake.                             -*- Autoconf -*-
 # Do all the work for Automake.                             -*- Autoconf -*-
 
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 13
+# serial 16
 
 
 # This macro actually does too much.  Some checks are only needed if
 # 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.
 # your package does certain things.  But this isn't really a big deal.
@@ -8391,7 +8418,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
 # arguments mandatory, and then we can depend on a new Autoconf
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -8442,8 +8469,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # some platforms.
@@ -8451,24 +8478,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
 ])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 ])
 
 
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
 
 
 # When config.status generates a header, we must update the stamp-h file.
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # This file resides in the same directory as the config header
@@ -8491,7 +8531,7 @@ for _am_header in $config_headers :; do
 done
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
@@ -8502,7 +8542,14 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
 AC_SUBST(install_sh)])
 AC_SUBST(install_sh)])
 
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -8529,27 +8576,38 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 # From Jim Meyering
 
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 # Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 4
+# serial 5
 
 
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-  dnl maintainer-mode is disabled by default
-  AC_ARG_ENABLE(maintainer-mode,
-[  --enable-maintainer-mode  enable make rules and dependencies not useful
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer],
 			  (and sometimes confusing) to the casual installer],
-      USE_MAINTAINER_MODE=$enableval,
-      USE_MAINTAINER_MODE=no)
+      [USE_MAINTAINER_MODE=$enableval],
+      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
   MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST(MAINT)dnl
+  AC_SUBST([MAINT])dnl
 ]
 ]
 )
 )
 
 
@@ -8557,13 +8615,13 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
 
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 3
+# serial 4
 
 
 # AM_MAKE_INCLUDE()
 # AM_MAKE_INCLUDE()
 # -----------------
 # -----------------
@@ -8572,7 +8630,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 cat > confinc << 'END'
 am__doit:
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 .PHONY: am__doit
 END
 END
 # If we don't find an include directive, just comment out the code.
 # If we don't find an include directive, just comment out the code.
@@ -8582,24 +8640,24 @@ am__quote=
 _am_result=none
 _am_result=none
 # First try GNU make style include.
 # First try GNU make style include.
 echo "include confinc" > confmf
 echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # Now try BSD make style include.
 # Now try BSD make style include.
 if test "$am__include" = "#"; then
 if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
    echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
 AC_SUBST([am__quote])
@@ -8644,14 +8702,14 @@ m4_define([AC_PROG_CC],
 
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
 # Free Software Foundation, Inc.
 # Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 5
+# serial 6
 
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 # ------------------------------
@@ -8668,7 +8726,14 @@ AC_SUBST($1)])
 AC_DEFUN([AM_MISSING_HAS_RUN],
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
 if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
   am_missing_run="$MISSING --run "
@@ -8739,14 +8804,14 @@ AC_DEFUN([_AM_IF_OPTION],
 
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
 # Free Software Foundation, Inc.
 # Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
-# serial 4
+# serial 5
 
 
 # AM_SANITY_CHECK
 # AM_SANITY_CHECK
 # ---------------
 # ---------------
@@ -8755,16 +8820,29 @@ AC_DEFUN([AM_SANITY_CHECK],
 # Just in case
 # Just in case
 sleep 1
 sleep 1
 echo timestamp > conftest.file
 echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
 # Do `set' in a subshell so we don't clobber the current shell's
 # Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 # directory).
 if (
 if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
    if test "$[*]" = "X"; then
    if test "$[*]" = "X"; then
       # -L didn't work.
       # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
+      set X `ls -t "$srcdir/configure" conftest.file`
    fi
    fi
    rm -f conftest.file
    rm -f conftest.file
    if test "$[*]" != "X $srcdir/configure conftest.file" \
    if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -8817,18 +8895,25 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
 
-# Copyright (C) 2006  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
 #
 #
 # This file is free software; the Free Software Foundation
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
 
 
+# serial 2
+
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # This macro is traced by Automake.
 # This macro is traced by Automake.
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
 # Check how to create a tarball.                            -*- Autoconf -*-
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.

+ 23 - 4
config/config.guess

@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   Free Software Foundation, Inc.
 #   Free Software Foundation, Inc.
 
 
-timestamp='2008-11-15'
+timestamp='2009-04-27'
 
 
 # This file is free software; you can redistribute it and/or modify it
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # under the terms of the GNU General Public License as published by
@@ -324,6 +324,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	case `/usr/bin/uname -p` in
 	case `/usr/bin/uname -p` in
 	    sparc) echo sparc-icl-nx7; exit ;;
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
 	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
     sun4H:SunOS:5.*:*)
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
 	exit ;;
@@ -337,7 +340,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
 	# This test works for both compilers.
 	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
 	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-	    if echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
 		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
 		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 		grep IS_64BIT_ARCH >/dev/null
 	    then
 	    then
@@ -1115,8 +1118,11 @@ EOF
     pc:*:*:*)
     pc:*:*:*)
 	# Left here for compatibility:
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
+        # the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
         exit ;;
         exit ;;
     Intel:Mach:3*:*)
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
 	echo i386-pc-mach3
@@ -1154,6 +1160,16 @@ EOF
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
           && { echo i486-ncr-sysv4; exit; } ;;
           && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
 	exit ;;
@@ -1340,6 +1356,9 @@ EOF
     i*86:rdos:*:*)
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
 	echo ${UNAME_MACHINE}-pc-rdos
 	exit ;;
 	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
 esac
 esac
 
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
 #echo '(No uname command or uname output not recognized.)' 1>&2

+ 14 - 5
config/config.sub

@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   Free Software Foundation, Inc.
 #   Free Software Foundation, Inc.
 
 
-timestamp='2008-09-08'
+timestamp='2009-04-17'
 
 
 # This file is (in principle) common to ALL GNU software.
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
 # The presence of a machine in this file suggests that SOME GNU software
@@ -122,6 +122,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
   nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
   uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
   uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -249,6 +250,7 @@ case $basic_machine in
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
 	| ip2k | iq2000 \
+	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
 	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
@@ -270,6 +272,7 @@ case $basic_machine in
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
 	| mn10200 | mn10300 \
+	| moxie \
 	| mt \
 	| mt \
 	| msp430 \
 	| msp430 \
 	| nios | nios2 \
 	| nios | nios2 \
@@ -279,7 +282,7 @@ case $basic_machine in
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
 	| pyramid \
 	| score \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -331,6 +334,7 @@ case $basic_machine in
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
 	| ip2k-* | iq2000-* \
+	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
 	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
 	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
@@ -362,7 +366,7 @@ case $basic_machine in
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
 	| pyramid-* \
 	| romp-* | rs6000-* \
 	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
 	| sparclite-* \
@@ -443,6 +447,10 @@ case $basic_machine in
 		basic_machine=m68k-apollo
 		basic_machine=m68k-apollo
 		os=-bsd
 		os=-bsd
 		;;
 		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
 	aux)
 	aux)
 		basic_machine=m68k-apple
 		basic_machine=m68k-apple
 		os=-aux
 		os=-aux
@@ -1182,7 +1190,7 @@ case $basic_machine in
 	we32k)
 	we32k)
 		basic_machine=we32k-att
 		basic_machine=we32k-att
 		;;
 		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		basic_machine=sh-unknown
 		;;
 		;;
 	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
 	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1254,8 +1262,9 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -kopensolaris* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
+	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

File diff suppressed because it is too large
+ 634 - 435
configure


+ 305 - 294
configure.ac

@@ -1,5 +1,5 @@
 
 
-dnl $Id: configure.ac 2196 2009-02-04 21:18:09Z aturner $
+dnl $Id: configure.ac 2371 2009-06-23 15:54:04Z aturner $
 
 
 AC_INIT(tcpreplay)
 AC_INIT(tcpreplay)
 AC_CONFIG_SRCDIR(src/tcpreplay.c)
 AC_CONFIG_SRCDIR(src/tcpreplay.c)
@@ -17,7 +17,7 @@ AC_CONFIG_MACRO_DIR([m4])
 dnl Set version info here!
 dnl Set version info here!
 MAJOR_VERSION=3
 MAJOR_VERSION=3
 MINOR_VERSION=4
 MINOR_VERSION=4
-MICRO_VERSION=1
+MICRO_VERSION=3
 TCPREPLAY_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
 TCPREPLAY_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
 
 
 dnl Release is only used for the RPM spec file
 dnl Release is only used for the RPM spec file
@@ -42,11 +42,11 @@ AC_SUBST(target)
 have_cygwin=no
 have_cygwin=no
 AC_MSG_CHECKING([for cygwin development environment])
 AC_MSG_CHECKING([for cygwin development environment])
 if test `echo $target | grep -c cygwin` -gt 0 ; then
 if test `echo $target | grep -c cygwin` -gt 0 ; then
-   	AC_DEFINE([HAVE_WIN32], [1], [Windows/Cygwin])
-   	AC_MSG_RESULT(yes)
-	have_cygwin=yes
+    AC_DEFINE([HAVE_WIN32], [1], [Windows/Cygwin])
+    AC_MSG_RESULT(yes)
+    have_cygwin=yes
 else
 else
-   AC_MSG_RESULT(no)
+    AC_MSG_RESULT(no)
 fi
 fi
 
 
 
 
@@ -74,20 +74,20 @@ AC_PATH_PROG(GROFF, groff)
 dnl check autogen version
 dnl check autogen version
 AUTOGEN_VERSION=unknown
 AUTOGEN_VERSION=unknown
 if test -n "${AUTOGEN}" ; then
 if test -n "${AUTOGEN}" ; then
-	AC_MSG_CHECKING(for autogen version >= 5.9.x)
-	${AUTOGEN} -v >autogen.version
-	AUTOGEN_VERSION=`cat autogen.version | ${SED} 's|.*\([[0-9\.]]\{5,\}\).*|\1|'`
-	AUTOGEN_MAJOR=`echo ${AUTOGEN_VERSION} | ${CUT} -d '.' -f 1`
-	AUTOGEN_MINOR=`echo ${AUTOGEN_VERSION} | ${CUT} -d '.' -f 2`
-	if ( test ${AUTOGEN_MAJOR} -eq 5 && test ${AUTOGEN_MINOR} -lt 9 ) || test ${AUTOGEN_MAJOR} -lt 5 ; then
-		AC_MSG_RESULT(no)
-		AC_MSG_WARN([${AUTOGEN} is too old (${AUTOGEN_VERSION}) for building from SVN.  Please upgrade to 5.9.x)])
-	else
-		AC_MSG_RESULT(yes)
-	fi
-	rm -f autogen.version
-	
-	dnl Compare the installed version with the maintainer version if building from SVN and not using system libopts
+    AC_MSG_CHECKING(for autogen version >= 5.9.x)
+    ${AUTOGEN} -v >autogen.version
+    AUTOGEN_VERSION=`cat autogen.version | ${SED} 's|.*\([[0-9\.]]\{5,\}\).*|\1|'`
+    AUTOGEN_MAJOR=`echo ${AUTOGEN_VERSION} | ${CUT} -d '.' -f 1`
+    AUTOGEN_MINOR=`echo ${AUTOGEN_VERSION} | ${CUT} -d '.' -f 2`
+    if ( test ${AUTOGEN_MAJOR} -eq 5 && test ${AUTOGEN_MINOR} -lt 9 ) || test ${AUTOGEN_MAJOR} -lt 5 ; then
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN([${AUTOGEN} is too old (${AUTOGEN_VERSION}) for building from SVN.  Please upgrade to 5.9.x)])
+    else
+        AC_MSG_RESULT(yes)
+    fi
+    rm -f autogen.version
+
+    dnl Compare the installed version with the maintainer version if building from SVN and not using system libopts
     if test ! -f src/tcpreplay_opts.c && test "x$enable_local_libopts" = "xyes" ; then
     if test ! -f src/tcpreplay_opts.c && test "x$enable_local_libopts" = "xyes" ; then
         if test $MAINTAINER_AUTOGEN_VERSION != $AUTOGEN_VERSION ; then
         if test $MAINTAINER_AUTOGEN_VERSION != $AUTOGEN_VERSION ; then
             AC_MSG_ERROR([Your version of autogen ($AUTOGEN_VERSION) != libopts tear off ($MAINTAINER_AUTOGEN_VERSION)  Either install the correct version or specify --disable-local-libopts])
             AC_MSG_ERROR([Your version of autogen ($AUTOGEN_VERSION) != libopts tear off ($MAINTAINER_AUTOGEN_VERSION)  Either install the correct version or specify --disable-local-libopts])
@@ -95,7 +95,7 @@ if test -n "${AUTOGEN}" ; then
     fi
     fi
 else
 else
     if test ! -f src/tcpreplay_opts.c ; then
     if test ! -f src/tcpreplay_opts.c ; then
-    	AC_MSG_ERROR([Please install GNU autogen >= 5.9.x if you are building from SVN])
+        AC_MSG_ERROR([Please install GNU autogen >= 5.9.x if you are building from SVN])
     fi
     fi
 fi
 fi
 AC_DEFINE([AUTOGEN_VERSION], [${AUTOGEN_VERSION}], [What version of autogen is installed on this system])
 AC_DEFINE([AUTOGEN_VERSION], [${AUTOGEN_VERSION}], [What version of autogen is installed on this system])
@@ -206,12 +206,12 @@ AC_ARG_ENABLE(debug,
     AC_HELP_STRING([--enable-debug], [Enable debugging code and support for the -d option]),
     AC_HELP_STRING([--enable-debug], [Enable debugging code and support for the -d option]),
     [ if test x$enableval = xyes; then
     [ if test x$enableval = xyes; then
         debug=yes
         debug=yes
-	CFLAGS="${USER_CFLAGS} -ggdb -std=gnu99 -Wall $wextra $wfatal_errors $wno_variadic_macros"
+        CFLAGS="${USER_CFLAGS} -ggdb -std=gnu99 -Wall $wextra $wfatal_errors $wno_variadic_macros"
 # We may also want to add:
 # We may also want to add:
 #         -Wformat-security -Wswitch-default -Wunused-paramter -Wpadded"
 #         -Wformat-security -Wswitch-default -Wunused-paramter -Wpadded"
-         AC_SUBST(debug_flag)
-         AC_DEFINE([DEBUG], [1], [Enable debuging code and support for the -d option]) 
-      fi])
+        AC_SUBST(debug_flag)
+        AC_DEFINE([DEBUG], [1], [Enable debuging code and support for the -d option]) 
+    fi])
 
 
 
 
 AC_ARG_ENABLE(dmalloc,
 AC_ARG_ENABLE(dmalloc,
@@ -279,24 +279,24 @@ fi
 
 
 
 
 AC_ARG_ENABLE(force-bpf,
 AC_ARG_ENABLE(force-bpf,
-	AC_HELP_STRING([--enable-force-bpf], [Force using BPF for sending packets]),
-	[ AC_DEFINE([FORCE_INJECT_BPF], [1], [Force using BPF for sending packet])])
+    AC_HELP_STRING([--enable-force-bpf], [Force using BPF for sending packets]),
+    [ AC_DEFINE([FORCE_INJECT_BPF], [1], [Force using BPF for sending packet])])
 
 
 AC_ARG_ENABLE(force-pf, 
 AC_ARG_ENABLE(force-pf, 
-	AC_HELP_STRING([--enable-force-pf], [Force using Linux's PF_PACKET for sending packets]),
-	[ AC_DEFINE([FORCE_INJECT_PF], [1], [Force using Linux's PF_PACKET for sending packets])])
+    AC_HELP_STRING([--enable-force-pf], [Force using Linux's PF_PACKET for sending packets]),
+    [ AC_DEFINE([FORCE_INJECT_PF], [1], [Force using Linux's PF_PACKET for sending packets])])
 
 
 AC_ARG_ENABLE(force-libdnet,
 AC_ARG_ENABLE(force-libdnet,
-	AC_HELP_STRING([--enable-force-libdnet], [Force using libdnet for sending packets]),
-	[ AC_DEFINE([FORCE_INJECT_LIBDNET], [1], [Force using libdnet for sending packets])])
-		
+    AC_HELP_STRING([--enable-force-libdnet], [Force using libdnet for sending packets]),
+    [ AC_DEFINE([FORCE_INJECT_LIBDNET], [1], [Force using libdnet for sending packets])])
+
 AC_ARG_ENABLE(force-inject,
 AC_ARG_ENABLE(force-inject,
-	AC_HELP_STRING([--enable-force-inject], [Force using libpcap's pcap_inject() for sending packets]),
-	[ AC_DEFINE([FORCE_INJECT_PCAP_INJECT],[1], [Force using libpcap's pcap_inject() for sending packets])])
+    AC_HELP_STRING([--enable-force-inject], [Force using libpcap's pcap_inject() for sending packets]),
+    [ AC_DEFINE([FORCE_INJECT_PCAP_INJECT],[1], [Force using libpcap's pcap_inject() for sending packets])])
 
 
 AC_ARG_ENABLE(force-sendpacket,
 AC_ARG_ENABLE(force-sendpacket,
-	AC_HELP_STRING([--enable-force-sendpacket], [Force using libpcap's pcap_sendpacket() for sending packets]),
-	[ AC_DEFINE([FORCE_INJECT_PCAP_SENDPACKET], [1], [Force using libpcap's pcap_sendpacket() for sending packets])])
+    AC_HELP_STRING([--enable-force-sendpacket], [Force using libpcap's pcap_sendpacket() for sending packets]),
+    [ AC_DEFINE([FORCE_INJECT_PCAP_SENDPACKET], [1], [Force using libpcap's pcap_sendpacket() for sending packets])])
 
 
 dnl Dynamic link libraries
 dnl Dynamic link libraries
 dynamic_link=no
 dynamic_link=no
@@ -323,7 +323,7 @@ AC_CHECK_FUNC(inet_ntop,
     inet_ntop=no)
     inet_ntop=no)
 
 
 if test "$inet_ntop" = "no" -a "$inet_pton" = "no" ; then
 if test "$inet_ntop" = "no" -a "$inet_pton" = "no" ; then
-	AC_MSG_ERROR([We need either inet_ntop or inet_pton])
+    AC_MSG_ERROR([We need either inet_ntop or inet_pton])
 fi
 fi
 
 
 AC_CHECK_FUNC(inet_addr, 
 AC_CHECK_FUNC(inet_addr, 
@@ -345,41 +345,38 @@ AC_ARG_WITH(libpcap,
     AC_HELP_STRING([--with-libpcap=DIR], [Use libpcap in DIR]),
     AC_HELP_STRING([--with-libpcap=DIR], [Use libpcap in DIR]),
     [trypcapdir=$withval])
     [trypcapdir=$withval])
 
 
-	for testdir in $trypcapdir /usr/local /opt/local /usr /wpdpack ; do 
-    	if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then
-        	LPCAPINC="${testdir}/include/pcap.h"
-	        LPCAPINCDIR="${testdir}/include"
-	        if test $dynamic_link = yes; then
-				if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
-		            LPCAPLIB="-L${testdir}/lib64 -lpcap"
-				elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then
-					LPCAPLIB="-L${testdir}/lib -lpcap"
-				else
-					AC_ERROR([Unable to find libpcap in ${testdir}])
-				fi
-	        elif test -f "${testdir}/lib64/libpcap.${libext}" ; then
-	            LPCAPLIB="${testdir}/lib64/libpcap.${libext}"
-	        elif test -f "${testdir}/lib/libpcap.${libext}" ; then
-	            LPCAPLIB="${testdir}/lib/libpcap.${libext}"
-	        elif test -f "${testdir}/lib/libwpcap.${libext}" ; then
-	            LPCAPLIB="${testdir}/lib/libwpcap.${libext}"
-				AC_DEFINE([HAVE_WINPCAP], [1], [Do we have WinPcap?])
-		 	else
-				AC_ERROR([Unable to find matching library for header file in ${testdir}])
-			fi
-        	foundpcap=$testdir
-     	fi
-	done
-
-	if test $foundpcap = no ; then
-		AC_MSG_RESULT(no)
-		AC_ERROR(libpcap not found)
-	else
-		AC_MSG_RESULT($foundpcap)
-	fi
+for testdir in $trypcapdir /usr/local /opt/local /usr /wpdpack ; do 
+    if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then
+        LPCAPINC="${testdir}/include/pcap.h"
+        LPCAPINCDIR="${testdir}/include"
+        if test $dynamic_link = yes; then
+            if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
+                LPCAPLIB="-L${testdir}/lib64 -lpcap"
+            elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then
+                LPCAPLIB="-L${testdir}/lib -lpcap"
+            else
+                AC_ERROR([Unable to find libpcap in ${testdir}])
+            fi
+        elif test -f "${testdir}/lib64/libpcap.${libext}" ; then
+            LPCAPLIB="${testdir}/lib64/libpcap.${libext}"
+        elif test -f "${testdir}/lib/libpcap.${libext}" ; then
+            LPCAPLIB="${testdir}/lib/libpcap.${libext}"
+        elif test -f "${testdir}/lib/libwpcap.${libext}" ; then
+            LPCAPLIB="${testdir}/lib/libwpcap.${libext}"
+            AC_DEFINE([HAVE_WINPCAP], [1], [Do we have WinPcap?])
+        else
+            AC_ERROR([Unable to find matching library for header file in ${testdir}])
+        fi
+        foundpcap=$testdir
+    fi
+done
 
 
-AC_SUBST(LPCAPINC)
-AC_SUBST(LPCAPLIB)
+if test $foundpcap = no ; then
+    AC_MSG_RESULT(no)
+    AC_ERROR(libpcap not found)
+else
+    AC_MSG_RESULT($foundpcap)
+fi
 
 
 dnl Checks to see what version of libpcap we've got
 dnl Checks to see what version of libpcap we've got
 OLDLIBS="$LIBS"
 OLDLIBS="$LIBS"
@@ -387,6 +384,16 @@ OLDCFLAGS="$CFLAGS -I$LPCAPINCDIR"
 LIBS="$LPCAPLIB"
 LIBS="$LPCAPLIB"
 CFLAGS="$CFLAGS -I$LPCAPINCDIR"
 CFLAGS="$CFLAGS -I$LPCAPINCDIR"
 
 
+# Does libpcap require libnl?
+AC_SEARCH_LIBS([pcap_close], [pcap],
+    LPCAPLIB="$LIBS",
+    AC_ERROR([Unable to link libpcap in ${foundpcap}]),
+    -lnl)
+
+AC_SUBST(LPCAPINC)
+AC_SUBST(LPCAPLIB)
+
+
 dnl Check to see what version of libpcap
 dnl Check to see what version of libpcap
 dnl this code has been reduced a lot, but probably still could be
 dnl this code has been reduced a lot, but probably still could be
 dnl reduced quite a bit more if we chose too
 dnl reduced quite a bit more if we chose too
@@ -415,6 +422,7 @@ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
     libpcap_version_096=yes
     libpcap_version_096=yes
 ])
 ])
 
 
+libpcap_ver8=no
 AC_RUN_IFELSE(AC_LANG_PROGRAM([[
 AC_RUN_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdlib.h>
@@ -428,11 +436,11 @@ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
  * or one otherwise
  * or one otherwise
  */
  */
     if (strncmp(pcap_lib_version(), PCAP_TEST, 3) >= 0)
     if (strncmp(pcap_lib_version(), PCAP_TEST, 3) >= 0)
-            exit(0);
+        exit(0);
 
 
     /* winpcap? */
     /* winpcap? */
     if (strncmp(pcap_lib_version(), "WinPcap", 7) == 0)
     if (strncmp(pcap_lib_version(), "WinPcap", 7) == 0)
-	    exit(0);
+        exit(0);
 
 
     exit(1);
     exit(1);
 ]]), [
 ]]), [
@@ -441,6 +449,7 @@ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
     libpcap_ver8=no
     libpcap_ver8=no
 ])
 ])
 
 
+libpcap_ver7=no
 AC_RUN_IFELSE(AC_LANG_PROGRAM([[
 AC_RUN_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdlib.h>
@@ -457,7 +466,7 @@ extern const char pcap_version[[]]; /* double up since autoconf escapes things *
 
 
     if (strncmp(pcap_version, PCAP_TEST, 5) >= 0)
     if (strncmp(pcap_version, PCAP_TEST, 5) >= 0)
             exit(0);
             exit(0);
-    
+
     exit(1);
     exit(1);
 ]]), [
 ]]), [
     libpcap_ver7=yes
     libpcap_ver7=yes
@@ -465,9 +474,9 @@ extern const char pcap_version[[]]; /* double up since autoconf escapes things *
     libpcap_ver7=no
     libpcap_ver7=no
 ])
 ])
 
 
-if test $libpcap_ver8 = yes ; then
+if test x$libpcap_ver8 = xyes ; then
     AC_MSG_RESULT(>= 0.8.0)
     AC_MSG_RESULT(>= 0.8.0)
-elif test $libpcap_ver7 = yes ; then
+elif test x$libpcap_ver7 = xyes ; then
     AC_MSG_RESULT(>= 0.7.2)
     AC_MSG_RESULT(>= 0.7.2)
 else 
 else 
     AC_MSG_ERROR([Libpcap versions < 0.7.2 are not supported
     AC_MSG_ERROR([Libpcap versions < 0.7.2 are not supported
@@ -475,11 +484,11 @@ else
 fi
 fi
 
 
 libpcap_version=unknown
 libpcap_version=unknown
-if test $libpcap_version_096 = yes ; then
+if test x$libpcap_version_096 = xyes ; then
     libpcap_version=">= 0.9.6"
     libpcap_version=">= 0.9.6"
-elif test $libpcap_ver8 = yes ; then
+elif test x$libpcap_ver8 = xyes ; then
     libpcap_version=">= 0.8.0"
     libpcap_version=">= 0.8.0"
-elif test $libcap_ver7 = yes ; then
+elif test x$libcap_ver7 = xyes ; then
     libpcap_version=">= 0.7.0"
     libpcap_version=">= 0.7.0"
 fi
 fi
 
 
@@ -493,7 +502,7 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 ]],[[
 ]],[[
     pcap_t *p;
     pcap_t *p;
     char *errbuf;
     char *errbuf;
-    
+
     pcap_setnonblock(p, 1, errbuf);
     pcap_setnonblock(p, 1, errbuf);
     exit(0);
     exit(0);
 ]]), [
 ]]), [
@@ -570,10 +579,10 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include "$LPCAPINC"
 #include "$LPCAPINC"
 ]],[[
 ]],[[
-	pcap_dumper_t *dump;
-	pcap_t *pcap;
-	FILE *foo;
-	dump = pcap_dump_fopen(pcap, foo);
+    pcap_dumper_t *dump;
+    pcap_t *pcap;
+    FILE *foo;
+    dump = pcap_dump_fopen(pcap, foo);
 ]]),[
 ]]),[
     have_pcap_dump_fopen=yes
     have_pcap_dump_fopen=yes
     AC_MSG_RESULT(yes)
     AC_MSG_RESULT(yes)
@@ -586,7 +595,7 @@ if test $have_pcap_dump_fopen = yes ; then
     AC_DEFINE([HAVE_PCAP_DUMP_FOPEN], [1], 
     AC_DEFINE([HAVE_PCAP_DUMP_FOPEN], [1], 
               [Does libpcap have pcap_dump_fopen?])
               [Does libpcap have pcap_dump_fopen?])
 else
 else
-	AC_MSG_NOTICE([--verbose mode requires libpcap >= 0.9.0])
+    AC_MSG_NOTICE([--verbose mode requires libpcap >= 0.9.0])
 fi
 fi
 
 
 have_pcap_inject=no
 have_pcap_inject=no
@@ -598,8 +607,8 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include "$LPCAPINC"
 #include "$LPCAPINC"
 ]],[[
 ]],[[
-	pcap_t *pcap;
-	char *buf;
+    pcap_t *pcap;
+    char *buf;
     pcap_inject(pcap, (void *)buf, 0);
     pcap_inject(pcap, (void *)buf, 0);
 ]]),[
 ]]),[
     have_pcap_inject=yes
     have_pcap_inject=yes
@@ -610,7 +619,7 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 ])
 ])
 
 
 if test $have_pcap_inject = yes ; then
 if test $have_pcap_inject = yes ; then
-	AC_DEFINE([HAVE_PCAP_INJECT], [1], [Does libpcap have pcap_inject?])
+    AC_DEFINE([HAVE_PCAP_INJECT], [1], [Does libpcap have pcap_inject?])
 fi
 fi
 
 
 have_pcap_sendpacket=no
 have_pcap_sendpacket=no
@@ -622,8 +631,8 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include "$LPCAPINC"
 #include "$LPCAPINC"
 ]],[[
 ]],[[
-	pcap_t *pcap;
-	u_char *buf;
+    pcap_t *pcap;
+    u_char *buf;
     pcap_sendpacket(pcap, buf, 0);
     pcap_sendpacket(pcap, buf, 0);
 ]]),[
 ]]),[
     have_pcap_sendpacket=yes
     have_pcap_sendpacket=yes
@@ -634,7 +643,7 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 ])
 ])
 
 
 if test $have_pcap_sendpacket = yes ; then
 if test $have_pcap_sendpacket = yes ; then
-	AC_DEFINE([HAVE_PCAP_SENDPACKET], [1], [Does libpcap have pcap_sendpacket?])
+    AC_DEFINE([HAVE_PCAP_SENDPACKET], [1], [Does libpcap have pcap_sendpacket?])
 fi
 fi
 
 
 have_pcap_breakloop=no
 have_pcap_breakloop=no
@@ -645,7 +654,7 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 #include <string.h>
 #include <string.h>
 #include "$LPCAPINC"
 #include "$LPCAPINC"
 ]],[[
 ]],[[
-	pcap_t *pcap;
+    pcap_t *pcap;
     pcap_sendpacket(pcap);
     pcap_sendpacket(pcap);
 ]]),[
 ]]),[
     have_pcap_breakloop=yes
     have_pcap_breakloop=yes
@@ -656,7 +665,7 @@ AC_LINK_IFELSE(AC_LANG_PROGRAM([[
 ])
 ])
 
 
 if test $have_pcap_breakloop = yes ; then
 if test $have_pcap_breakloop = yes ; then
-	AC_DEFINE([HAVE_PCAP_BREAKLOOP], [1], [Does libpcap have pcap_breakloop?])
+    AC_DEFINE([HAVE_PCAP_BREAKLOOP], [1], [Does libpcap have pcap_breakloop?])
 fi
 fi
 
 
 
 
@@ -670,12 +679,12 @@ AC_TRY_COMPILE([
 #include "$LPCAPINC"
 #include "$LPCAPINC"
 extern char pcap_version[];
 extern char pcap_version[];
 ],[
 ],[
-	printf("%s", pcap_version);
+    printf("%s", pcap_version);
 ],[
 ],[
-	AC_DEFINE([HAVE_PCAP_VERSION],[1], [Does libpcap have pcap_version[]])
-	AC_MSG_RESULT(yes)
+    AC_DEFINE([HAVE_PCAP_VERSION],[1], [Does libpcap have pcap_version[]])
+    AC_MSG_RESULT(yes)
 ],[
 ],[
-	AC_MSG_RESULT(no)
+    AC_MSG_RESULT(no)
 ])
 ])
 
 
 
 
@@ -686,16 +695,16 @@ if test x$foundpcap != xno -a x$have_pcap_sendpacket = xyes ; then
     # if we have pcap_sendpacket() then we can build tcpbridge on non-BPF systems
     # if we have pcap_sendpacket() then we can build tcpbridge on non-BPF systems
     if test x$have_bpf = xno; then
     if test x$have_bpf = xno; then
         AC_DEFINE(ENABLE_TCPBRIDGE, [1], [Compile tcpbridge])
         AC_DEFINE(ENABLE_TCPBRIDGE, [1], [Compile tcpbridge])
-    	enable_tcpbridge=yes
-    	AC_MSG_NOTICE([Building tcpbridge])
-    	
+        enable_tcpbridge=yes
+        AC_MSG_NOTICE([Building tcpbridge])
+
     # BPF systems need to also have pcap_setnonblock()
     # BPF systems need to also have pcap_setnonblock()
     elif test x$have_pcap_setnonblock = xyes ; then
     elif test x$have_pcap_setnonblock = xyes ; then
         AC_DEFINE(ENABLE_TCPBRIDGE, [1], [Compile tcpbridge])
         AC_DEFINE(ENABLE_TCPBRIDGE, [1], [Compile tcpbridge])
-    	enable_tcpbridge=yes
-    	AC_MSG_NOTICE([Building tcpbridge])    
+        enable_tcpbridge=yes
+        AC_MSG_NOTICE([Building tcpbridge])
     else
     else
-    	AC_MSG_WARN([Unable to build tcpbridge.  Try installing latest libpcap!])
+        AC_MSG_WARN([Unable to build tcpbridge.  Try installing latest libpcap!])
     fi
     fi
 fi
 fi
 AM_CONDITIONAL(COMPILE_TCPBRIDGE, [test x$enable_tcpbridge = xyes ])
 AM_CONDITIONAL(COMPILE_TCPBRIDGE, [test x$enable_tcpbridge = xyes ])
@@ -711,15 +720,15 @@ AC_TRY_COMPILE([
 #include <net/ethernet.h>     /* the L2 protocols */
 #include <net/ethernet.h>     /* the L2 protocols */
 #include <netinet/in.h>       /* htons */
 #include <netinet/in.h>       /* htons */
 ],[
 ],[
-	int pf_socket;
-	pf_socket = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
+    int pf_socket;
+    pf_socket = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
 ],[
 ],[
-	AC_DEFINE([HAVE_PF_PACKET], [1],
-		[Do we have Linux PF_PACKET socket support?])
-	AC_MSG_RESULT(yes)
-	have_pf=yes
+    AC_DEFINE([HAVE_PF_PACKET], [1],
+            [Do we have Linux PF_PACKET socket support?])
+    AC_MSG_RESULT(yes)
+    have_pf=yes
 ],[
 ],[
-	AC_MSG_RESULT(no)
+    AC_MSG_RESULT(no)
 ])
 ])
 
 
 have_bpf=no
 have_bpf=no
@@ -739,29 +748,29 @@ AC_TRY_RUN([
 
 
 int 
 int 
 main(int argc, char *argv[]) {
 main(int argc, char *argv[]) {
-	int fd;
-	
-	fd = open("/dev/bpf0", O_RDONLY, 0);
-	
-	/* if we opened it, we're good */
-	if (fd > 1)
-		exit(0);
-		
-	/* if we got EBUSY or permission denied it exists, so we're good */
-	if (fd < 0 && (errno == EBUSY || errno == 13))
-		exit(0);
-		
-	/* else suck, no good */
+    int fd;
+
+    fd = open("/dev/bpf0", O_RDONLY, 0);
+
+    /* if we opened it, we're good */
+    if (fd > 1)
+        exit(0);
+
+    /* if we got EBUSY or permission denied it exists, so we're good */
+    if (fd < 0 && (errno == EBUSY || errno == 13))
+        exit(0);
+
+    /* else suck, no good */
     exit(-1);
     exit(-1);
 }],
 }],
-	[
+[
     AC_DEFINE([HAVE_BPF], [1], 
     AC_DEFINE([HAVE_BPF], [1], 
-              [Do we have BPF device support?])
-	AC_MSG_RESULT(yes)
-	have_bpf=yes
-	],[
-	AC_MSG_RESULT(no)
-	])
+            [Do we have BPF device support?])
+    AC_MSG_RESULT(yes)
+    have_bpf=yes
+],[
+    AC_MSG_RESULT(no)
+])
 
 
 
 
 dnl ##################################################
 dnl ##################################################
@@ -774,32 +783,32 @@ enable_fragroute=no
 trydnetdir=/usr/local
 trydnetdir=/usr/local
 
 
 if test $have_cygwin == no ; then
 if test $have_cygwin == no ; then
-	AC_MSG_CHECKING(for libdnet)
-	AC_ARG_WITH(libdnet,
-	    AC_HELP_STRING([--with-libdnet=DIR], [Use libdnet in DIR]),
-	    [trydnetdir=$withval])
- 
-	for testdir in $trydnetdir /usr/local /opt/local /usr ; do 
-	   	if test -x ${testdir}/bin/dnet-config -a $founddnet = no ; then
-	           LDNETINC="`$testdir/bin/dnet-config --cflags`"
-	           LDNETLIB="`$testdir/bin/dnet-config --libs`"
-	           libdnet_version="`$testdir/bin/dnet-config --version`"
-	       	founddnet=$testdir
-	    	fi
-	done
-
-	if test $founddnet = no ; then
-		AC_MSG_RESULT(no)
-		AC_MSG_WARN([libdnet not found, disabling fragroute feature])
-	else
-		AC_MSG_RESULT($founddnet)
-		enable_fragroute=yes
-		have_libdnet=yes
-	    AC_DEFINE([HAVE_LIBDNET], [1], [Do we have libdnet?])
-	fi
+    AC_MSG_CHECKING(for libdnet)
+    AC_ARG_WITH(libdnet,
+        AC_HELP_STRING([--with-libdnet=DIR], [Use libdnet in DIR]),
+        [trydnetdir=$withval])
+
+    for testdir in $trydnetdir /usr/local /opt/local /usr ; do 
+        if test -x ${testdir}/bin/dnet-config -a $founddnet = no ; then
+            LDNETINC="`$testdir/bin/dnet-config --cflags`"
+            LDNETLIB="`$testdir/bin/dnet-config --libs`"
+            libdnet_version="`$testdir/bin/dnet-config --version`"
+            founddnet=$testdir
+        fi
+    done
+
+    if test $founddnet = no ; then
+        AC_MSG_RESULT(no)
+        AC_MSG_WARN([libdnet not found, disabling fragroute feature])
+    else
+        AC_MSG_RESULT($founddnet)
+        enable_fragroute=yes
+        have_libdnet=yes
+        AC_DEFINE([HAVE_LIBDNET], [1], [Do we have libdnet?])
+    fi
 
 
 else
 else
-	AC_MSG_NOTICE([Skipping libdnet check under Cygwin for compatibility reasons])
+    AC_MSG_NOTICE([Skipping libdnet check under Cygwin for compatibility reasons])
 fi
 fi
 
 
 
 
@@ -815,8 +824,8 @@ fi
 
 
 dnl Make sure we have a valid packet injection mechanisim
 dnl Make sure we have a valid packet injection mechanisim
 if test $have_bpf = no -a $have_pcap_inject = no -a $have_pcap_sendpacket = no \
 if test $have_bpf = no -a $have_pcap_inject = no -a $have_pcap_sendpacket = no \
-	-a $have_libdnet = no -a $have_pf = no ; then
-	AC_MSG_ERROR([Unable to find a supported method to send packets.  Please upgrade your libpcap or enable libdnet])
+    -a $have_libdnet = no -a $have_pf = no ; then
+    AC_MSG_ERROR([Unable to find a supported method to send packets.  Please upgrade your libpcap or enable libdnet])
 fi
 fi
 
 
 dnl Older versions of libpcap are missing some DLT types
 dnl Older versions of libpcap are missing some DLT types
@@ -826,7 +835,7 @@ AC_TRY_COMPILE([#include "$LPCAPINC"],
                [ int foo;
                [ int foo;
                  foo = DLT_LINUX_SLL ],
                  foo = DLT_LINUX_SLL ],
                 [ AC_DEFINE([HAVE_DLT_LINUX_SLL], [1], 
                 [ AC_DEFINE([HAVE_DLT_LINUX_SLL], [1], 
-					[Does pcap.h include a header with DLT_LINUX_SLL?])
+                            [Does pcap.h include a header with DLT_LINUX_SLL?])
                   AC_MSG_RESULT(yes)
                   AC_MSG_RESULT(yes)
                 ], 
                 ], 
                 AC_MSG_RESULT(no)
                 AC_MSG_RESULT(no)
@@ -837,7 +846,7 @@ AC_TRY_COMPILE([#include "$LPCAPINC"],
                [ int foo;
                [ int foo;
                  foo = DLT_C_HDLC ],
                  foo = DLT_C_HDLC ],
                 [ AC_DEFINE([HAVE_DLT_C_HDLC], [1], 
                 [ AC_DEFINE([HAVE_DLT_C_HDLC], [1], 
-					[Does pcap.h include a header with DLT_C_HDLC?])
+                            [Does pcap.h include a header with DLT_C_HDLC?])
                   AC_MSG_RESULT(yes)
                   AC_MSG_RESULT(yes)
                 ],
                 ],
                 AC_MSG_RESULT(no)   
                 AC_MSG_RESULT(no)   
@@ -862,29 +871,29 @@ AC_TRY_COMPILE([#include <sys/types.h>
 
 
 foundbpfheader=no
 foundbpfheader=no
 AC_MSG_CHECKING(for libpcap bpf header)
 AC_MSG_CHECKING(for libpcap bpf header)
-	for testfile in $LPCAPINCDIR/pcap/bpf.h $LPCAPINCDIR/pcap-bpf.h ; do
-    	if test -f "${testfile}" -a $foundbpfheader = no ; then
-			AC_TRY_COMPILE([
-				#include <sys/types.h>
-				#include <sys/time.h>
-				#include <stdint.h>
-				#include "$testfile"],
-			[
-				int foo;
-				foo = BPF_MAJOR_VERSION;
-			],
-			[
-				foundbpfheader=yes
-				PCAP_BPF_H_FILE=$testfile
-				AC_SUBST(PCAP_BPF_H_FILE)
-				AC_DEFINE([INCLUDE_PCAP_BPF_HEADER], [1],
-					[What is the path (if any) to the libpcap bpf header file?])
-				AC_MSG_RESULT($testfile)
-			],
-				AC_MSG_RESULT(no)
-			)
-		fi
-	done
+for testfile in $LPCAPINCDIR/pcap/bpf.h $LPCAPINCDIR/pcap-bpf.h ; do
+    if test -f "${testfile}" -a $foundbpfheader = no ; then
+        AC_TRY_COMPILE([
+            #include <sys/types.h>
+            #include <sys/time.h>
+            #include <stdint.h>
+            #include "$testfile"],
+            [
+                int foo;
+                foo = BPF_MAJOR_VERSION;
+            ],
+            [
+                foundbpfheader=yes
+                PCAP_BPF_H_FILE=$testfile
+                AC_SUBST(PCAP_BPF_H_FILE)
+                AC_DEFINE([INCLUDE_PCAP_BPF_HEADER], [1],
+                        [What is the path (if any) to the libpcap bpf header file?])
+                AC_MSG_RESULT($testfile)
+            ],
+            AC_MSG_RESULT(no)
+            )
+    fi
+done
 dnl restore LIBS & CFLAGS
 dnl restore LIBS & CFLAGS
 LIBS="$OLDLIBS"
 LIBS="$OLDLIBS"
 CFLAGS="$OLDCFLAGS"
 CFLAGS="$OLDCFLAGS"
@@ -899,12 +908,12 @@ AC_ARG_WITH(pcapnav-config,
     AC_HELP_STRING([--with-pcapnav-config=FILE], [Use given pcapnav-config]),
     AC_HELP_STRING([--with-pcapnav-config=FILE], [Use given pcapnav-config]),
     [ AC_MSG_CHECKING(for pcapnav-config)
     [ AC_MSG_CHECKING(for pcapnav-config)
     if test -x $withval ; then
     if test -x $withval ; then
-	pcncfg=$withval
-	AC_MSG_RESULT($pcncfg)
+        pcncfg=$withval
+        AC_MSG_RESULT($pcncfg)
     elif test x$withval = xno ; then
     elif test x$withval = xno ; then
-	AC_MSG_RESULT(no)
-	else
-	AC_MSG_RESULT([Can't find pcapnav-config: disabling offset jump feature])
+        AC_MSG_RESULT(no)
+    else
+        AC_MSG_RESULT([Can't find pcapnav-config: disabling offset jump feature])
     fi ],
     fi ],
     [ AC_PATH_PROG(pcncfg,[pcapnav-config], [no] ) ]
     [ AC_PATH_PROG(pcncfg,[pcapnav-config], [no] ) ]
 )
 )
@@ -921,8 +930,8 @@ if test $pcncfg != no ; then
 dnl Check to see what version of libpcapnav
 dnl Check to see what version of libpcapnav
 dnl this code has been reduced a lot, but probably still could be
 dnl this code has been reduced a lot, but probably still could be
 dnl reduced quite a bit more if we chose too
 dnl reduced quite a bit more if we chose too
-        AC_MSG_CHECKING(for libpcapnav version)
-        AC_TRY_RUN([
+    AC_MSG_CHECKING(for libpcapnav version)
+    AC_TRY_RUN([
 #include <string.h>
 #include <string.h>
 #define PCAPNAV_TEST "0.4"
 #define PCAPNAV_TEST "0.4"
 /* 
 /* 
@@ -934,20 +943,20 @@ dnl reduced quite a bit more if we chose too
 int
 int
 main (int argc, char *argv[])
 main (int argc, char *argv[])
 {
 {
-	if (strncmp(PCAPNAV_VERSION, PCAPNAV_TEST, 3) >= 0)
-		exit(0);
-	exit(1);
-}],
-     	libpcapnav_ver=yes
-       	AC_MSG_RESULT(>= 0.4),
-       	libpcapnav_ver=no
-       	AC_MSG_RESULT(< 0.4),
-       	libpcapnav_ver=no
-       	)
+    if (strncmp(PCAPNAV_VERSION, PCAPNAV_TEST, 3) >= 0)
+        exit(0);
+    exit(1);
+}           ],
+            libpcapnav_ver=yes
+            AC_MSG_RESULT(>= 0.4),
+            libpcapnav_ver=no
+            AC_MSG_RESULT(< 0.4),
+            libpcapnav_ver=no
+    )
 
 
 
 
 if test x$libpcapnav_ver = xno ; then
 if test x$libpcapnav_ver = xno ; then
-     	AC_MSG_WARN([Libpcapnav versions < 0.4 are not supported.
+    AC_MSG_WARN([Libpcapnav versions < 0.4 are not supported.
     Please upgrade to version 0.4 or better.
     Please upgrade to version 0.4 or better.
     Disabling offset jump feature.])
     Disabling offset jump feature.])
 else
 else
@@ -972,52 +981,54 @@ AC_CACHE_VAL(unaligned_cv_fail,
                 ;;
                 ;;
 
 
         *)
         *)
-                cat >conftest.c <<EOF
-		#include <sys/types.h>
-		#include <sys/wait.h>
-		#include <stdio.h>
-                unsigned char a[[5]] = { 1, 2, 3, 4, 5 };
-                main() {
-                unsigned int i;
-                pid_t pid;
-                int status;
-                /* avoid "core dumped" message */
-                pid = fork();
-                if (pid <  0)
-                        exit(2);
-                if (pid > 0) {
-                        /* parent */
-                        pid = waitpid(pid, &status, 0);
-                        if (pid < 0)
-                                exit(3);
-                        exit(!WIFEXITED(status));
-                }
-                /* child */
-                i = *(unsigned int *)&a[[1]];
-                printf("%d\n", i);
-                exit(0);
-                }
+        cat >conftest.c <<EOF
+        #include <sys/types.h>
+        #include <sys/wait.h>
+        #include <stdio.h>
+        unsigned char a[[5]] = { 1, 2, 3, 4, 5 };
+        main() {
+            unsigned int i;
+            pid_t pid;
+            int status;
+            /* avoid "core dumped" message */
+            pid = fork();
+            if (pid <  0)
+                exit(2);
+            if (pid > 0) {
+                /* parent */
+                pid = waitpid(pid, &status, 0);
+                if (pid < 0)
+                        exit(3);
+                exit(!WIFEXITED(status));
+            }
+            /* child */
+            i = *(unsigned int *)&a[[1]];
+            printf("%d\n", i);
+            exit(0);
+        }
 EOF
 EOF
-                ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
-                    conftest.c $LIBS >/dev/null 2>&1
-                if test ! -x conftest ; then
-                        dnl failed to compile for some reason
-                        unaligned_cv_fail=yes
-                else
-                        ./conftest >conftest.out
-                        if test ! -s conftest.out ; then
-                                unaligned_cv_fail=yes
-                        else
-                                unaligned_cv_fail=no
-                        fi
-                fi
-                rm -f conftest* core core.conftest
-                ;;
-        esac])
-    AC_MSG_RESULT($unaligned_cv_fail)
-    if test $unaligned_cv_fail = yes ; then
-            AC_DEFINE([FORCE_ALIGN], [1], [Are we strictly aligned?])
-    fi
+        ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
+            conftest.c $LIBS >/dev/null 2>&1
+        if test ! -x conftest ; then
+            dnl failed to compile for some reason
+            unaligned_cv_fail=yes
+        else
+            ./conftest >conftest.out
+            if test ! -s conftest.out ; then
+                unaligned_cv_fail=yes
+            else
+                unaligned_cv_fail=no
+            fi
+        fi
+        rm -f conftest* core core.conftest
+        ;;
+
+        esac
+    ])
+AC_MSG_RESULT($unaligned_cv_fail)
+if test $unaligned_cv_fail = yes ; then
+    AC_DEFINE([FORCE_ALIGN], [1], [Are we strictly aligned?])
+fi
 
 
 dnl ##################################################
 dnl ##################################################
 dnl # Check for tcpdump.
 dnl # Check for tcpdump.
@@ -1033,7 +1044,7 @@ AC_ARG_WITH(tcpdump,
           AC_MSG_RESULT([Error: $withval does not exist or is not executable])
           AC_MSG_RESULT([Error: $withval does not exist or is not executable])
       fi ],
       fi ],
     [ AC_PATH_PROG(tcpdump_path, tcpdump, "no", [$PATH:/usr/sbin:/sbin:/usr/local/sbin]) ])
     [ AC_PATH_PROG(tcpdump_path, tcpdump, "no", [$PATH:/usr/sbin:/sbin:/usr/local/sbin]) ])
-           
+
 
 
 if test "$tcpdump_path" = "no"; then
 if test "$tcpdump_path" = "no"; then
     AC_MSG_WARN([Unable to find tcpdump.  Please specify --with-tcpdump.
     AC_MSG_WARN([Unable to find tcpdump.  Please specify --with-tcpdump.
@@ -1046,16 +1057,16 @@ fi
 
 
 AM_CONDITIONAL([ENABLE_TCPDUMP], test "$tcpdump_path" != "no" -a x$have_pcap_dump_fopen = xyes)
 AM_CONDITIONAL([ENABLE_TCPDUMP], test "$tcpdump_path" != "no" -a x$have_pcap_dump_fopen = xyes)
 if test x$tcpdump_path != xno -a x$have_pcap_dump_fopen = xyes ; then
 if test x$tcpdump_path != xno -a x$have_pcap_dump_fopen = xyes ; then
-	AC_DEFINE([ENABLE_VERBOSE], [1], [Do we have tcpdump and pcap_dump_fopen()?])
+    AC_DEFINE([ENABLE_VERBOSE], [1], [Do we have tcpdump and pcap_dump_fopen()?])
 else
 else
-	AC_MSG_WARN([Your version of libpcap is too old for --verbose support])
+    AC_MSG_WARN([Your version of libpcap is too old for --verbose support])
 fi
 fi
 
 
 dnl No 'make test' when cross compile
 dnl No 'make test' when cross compile
 
 
 AC_MSG_CHECKING(for 'make test' profile)
 AC_MSG_CHECKING(for 'make test' profile)
 if test "$host" != "$build" ; then
 if test "$host" != "$build" ; then
-	AC_MSG_WARN(Unable to do tests when cross-compiling)
+    AC_MSG_WARN(Unable to do tests when cross-compiling)
 fi
 fi
 
 
 dnl Allows user to choose which nic to use for testing purposes
 dnl Allows user to choose which nic to use for testing purposes
@@ -1073,35 +1084,35 @@ disable_pcap_findalldevs=no
 osx_frameworks=no
 osx_frameworks=no
 dnl these need to be dynamic based on OS
 dnl these need to be dynamic based on OS
 case $host in
 case $host in
-	*-*-linux*)
-	nic1=eth0
-	nic2=eth0
-	AC_MSG_RESULT(Linux)
-	;;
-
-	*-*-solaris*)
-	nic1=hme0
-	nic2=hme0
-	AC_MSG_RESULT(Solaris)
-	;;
-
-	*-*-sunos*)
-	nic1=hme0
-	nic2=hme0
-	AC_MSG_RESULT(SunOS)
-	;;
-
-	*-apple-darwin*)
-	nic1=en0
-	nic2=en0
-	if test x$libpcap_version_096 = xno ; then
-    	disable_pcap_findalldevs=yes
+    *-*-linux*)
+    nic1=eth0
+    nic2=eth0
+    AC_MSG_RESULT(Linux)
+    ;;
+
+    *-*-solaris*)
+    nic1=hme0
+    nic2=hme0
+    AC_MSG_RESULT(Solaris)
+    ;;
+
+    *-*-sunos*)
+    nic1=hme0
+    nic2=hme0
+    AC_MSG_RESULT(SunOS)
+    ;;
+
+    *-apple-darwin*)
+    nic1=en0
+    nic2=en0
+    if test x$libpcap_version_096 = xno ; then
+        disable_pcap_findalldevs=yes
     fi
     fi
     AC_DEFINE([HAVE_ABSOLUTE_TIME], [1], [Have OS X UpTime()/AbsoluteTime high-precision timing])
     AC_DEFINE([HAVE_ABSOLUTE_TIME], [1], [Have OS X UpTime()/AbsoluteTime high-precision timing])
     osx_frameworks=yes
     osx_frameworks=yes
     AC_DEFINE([HAVE_DARWIN], [1], [Building Apple/Darwin])
     AC_DEFINE([HAVE_DARWIN], [1], [Building Apple/Darwin])
-	AC_MSG_RESULT(Apple OS X)
-	;;
+    AC_MSG_RESULT(Apple OS X)
+    ;;
 
 
     *-*-openbsd*)
     *-*-openbsd*)
     nic1=xl0
     nic1=xl0
@@ -1109,17 +1120,17 @@ case $host in
     AC_MSG_RESULT(OpenBSD)
     AC_MSG_RESULT(OpenBSD)
     ;;
     ;;
 
 
-	*-*-cygwin)
-	AC_MSG_RESULT(Win32/Cygwin)
-	nic1=%0
-	nic2=%0
-	;;
-	
-	*)
-	AC_MSG_RESULT([$host is unknown!  Using first non-loopback interface])
-	nic1=%0
-	nic2=%0
-	;;
+    *-*-cygwin)
+    AC_MSG_RESULT(Win32/Cygwin)
+    nic1=%0
+    nic2=%0
+    ;;
+
+    *)
+    AC_MSG_RESULT([$host is unknown!  Using first non-loopback interface])
+    nic1=%0
+    nic2=%0
+    ;;
 esac])
 esac])
 
 
 AM_CONDITIONAL([ENABLE_OSX_FRAMEWORKS], test "$osx_frameworks" == "yes")
 AM_CONDITIONAL([ENABLE_OSX_FRAMEWORKS], test "$osx_frameworks" == "yes")
@@ -1136,10 +1147,10 @@ AC_SUBST(nic2)
 
 
 AC_MSG_CHECKING([if it's ok to use pcap_findalldevs()])
 AC_MSG_CHECKING([if it's ok to use pcap_findalldevs()])
 if test x$disable_pcap_findalldevs = xno ; then
 if test x$disable_pcap_findalldevs = xno ; then
-	AC_DEFINE([ENABLE_PCAP_FINDALLDEVS], [1], [Enable use of pcap_findalldevs()])
-	AC_MSG_RESULT(yes)
+    AC_DEFINE([ENABLE_PCAP_FINDALLDEVS], [1], [Enable use of pcap_findalldevs()])
+    AC_MSG_RESULT(yes)
 else
 else
-	AC_MSG_RESULT(no)
+    AC_MSG_RESULT(no)
 fi
 fi
 
 
 dnl tcpreplay has (so far) been relying on leading-edge autogen.
 dnl tcpreplay has (so far) been relying on leading-edge autogen.
@@ -1201,14 +1212,14 @@ pcap_sendpacket:            ${have_pcap_sendpacket} **
 
 
 
 
 case $host in
 case $host in
-	*-apple-darwin*)
-	AC_MSG_WARN([Apple OS X versions prior to 10.5 (Leopard) has a serious problem!
+    *-apple-darwin*)
+    AC_MSG_WARN([Apple OS X versions prior to 10.5 (Leopard) has a serious problem!
 Please see: http://tcpreplay.synfin.net/trac/ticket/142 for more details])
 Please see: http://tcpreplay.synfin.net/trac/ticket/142 for more details])
-	;;
-	
-	*-*-cygwin)
-	AC_MSG_WARN([Windows/Cygwin support is still somewhat experimental. 
+    ;;
+
+    *-*-cygwin)
+        AC_MSG_WARN([Windows/Cygwin support is still somewhat experimental. 
 Please report any bugs!	http://tcpreplay.synfin.net/trac/newticket])
 Please report any bugs!	http://tcpreplay.synfin.net/trac/newticket])
-	;;
+    ;;
 esac
 esac
 
 

BIN
docs/._CHANGELOG


+ 14 - 1
docs/CHANGELOG

@@ -1,4 +1,17 @@
-$Id: CHANGELOG 2215 2009-02-18 04:46:51Z aturner $
+$Id: CHANGELOG 2374 2009-06-25 18:41:18Z aturner $
+
+06/25/09: Version 3.4.3
+    - Link libnl when newer versions of libpcap require it (#397)
+    - Ship m4 directory (#398)
+    - Upgrade to latest autotools scripts (#400)
+    - Fix error message when running autogen.sh (#401)
+
+05/20/2009: Version 3.4.2
+    - Added extensive IPv6 support to tcprewrite & tcpreplay-edit (#11)
+    - Add IPv6 fragroute support (#388)
+    - Add IPv6 decoding support to tcpprep (#11)
+    - Fix compile time error in err.h (#390)
+    - Add --endpoints support in tcpreplay-edit (#393)
 
 
 02/18/2009: Version 3.4.1
 02/18/2009: Version 3.4.1
     - Sendpacket method did not match documentation (#361)
     - Sendpacket method did not match documentation (#361)

+ 5 - 1
docs/CREDIT

@@ -1,4 +1,4 @@
-$Id: CREDIT 2101 2009-01-04 22:42:57Z aturner $ 
+$Id: CREDIT 2308 2009-05-06 19:05:38Z aturner $ 
 
 
 tcpreplay and it's associated utilities (tcpprep, tcprewrite and flowreplay)
 tcpreplay and it's associated utilities (tcpprep, tcprewrite and flowreplay)
 were designed and written by Aaron Turner.
 were designed and written by Aaron Turner.
@@ -53,3 +53,7 @@ Jim West <jim_west@agilent.com>
 
 
 Bojan Smojver <bojan@rexursive.com>
 Bojan Smojver <bojan@rexursive.com>
    - For maintaining the RPM package and helping with portability issues
    - For maintaining the RPM package and helping with portability issues
+
+Stas Grabois <sagig@radware.com>
+    - For his efforts to add IPv6 support to tcpprep and the tcpedit engine
+    - For adding IPv6 support to fragroute

+ 32 - 10
docs/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
 @SET_MAKE@
 @SET_MAKE@
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 SOURCES =
 DIST_SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -203,9 +206,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  docs/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  docs/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu docs/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -223,6 +226,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 mostlyclean-libtool:
 mostlyclean-libtool:
 	-rm -f *.lo
 	-rm -f *.lo
@@ -252,13 +256,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -286,6 +294,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -305,6 +314,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -313,18 +324,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -394,6 +415,7 @@ clean-docs: clean
 
 
 maintainer-clean-local: clean-docs
 maintainer-clean-local: clean-docs
 	-rm -f web/*.html
 	-rm -f web/*.html
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 50 - 22
lib/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -45,6 +47,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
 ARFLAGS = cru
 libstrl_a_AR = $(AR) $(ARFLAGS)
 libstrl_a_AR = $(AR) $(ARFLAGS)
@@ -54,6 +57,7 @@ libstrl_a_OBJECTS = $(am_libstrl_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -230,9 +234,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  lib/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu lib/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -250,6 +254,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 clean-noinstLIBRARIES:
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -269,21 +274,21 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
@@ -306,7 +311,7 @@ tags: TAGS
 
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
@@ -314,29 +319,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -357,13 +367,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -392,6 +406,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -414,6 +429,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -422,18 +439,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -471,6 +498,7 @@ uninstall-am:
 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 	pdf pdf-am ps ps-am tags uninstall uninstall-am
 	pdf pdf-am ps ps-am tags uninstall uninstall-am
 
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 82 - 36
libopts/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -43,14 +45,29 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
     *) f=$$p;; \
   esac;
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 am__installdirs = "$(DESTDIR)$(libdir)"
 am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
 LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
 libopts_la_LIBADD =
 libopts_la_LIBADD =
 am_libopts_la_OBJECTS = libopts_la-libopts.lo
 am_libopts_la_OBJECTS = libopts_la-libopts.lo
@@ -63,6 +80,7 @@ libopts_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -258,9 +276,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  libopts/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  libopts/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libopts/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu libopts/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -278,23 +296,28 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	@$(NORMAL_INSTALL)
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
 	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
 	  if test -f $$p; then \
 	  if test -f $$p; then \
-	    f=$(am__strip_dir) \
-	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	    list2="$$list2 $$p"; \
 	  else :; fi; \
 	  else :; fi; \
-	done
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
 
 
 uninstall-libLTLIBRARIES:
 uninstall-libLTLIBRARIES:
 	@$(NORMAL_UNINSTALL)
 	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  p=$(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
 	done
 	done
 
 
 clean-libLTLIBRARIES:
 clean-libLTLIBRARIES:
@@ -327,31 +350,31 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 
 libopts_la-libopts.lo: libopts.c
 libopts_la-libopts.lo: libopts.c
-@am__fastdepCC_TRUE@	$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libopts_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libopts_la-libopts.lo -MD -MP -MF $(DEPDIR)/libopts_la-libopts.Tpo -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo '$(srcdir)/'`libopts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libopts_la-libopts.Tpo $(DEPDIR)/libopts_la-libopts.Plo
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libopts_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libopts_la-libopts.lo -MD -MP -MF $(DEPDIR)/libopts_la-libopts.Tpo -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo '$(srcdir)/'`libopts.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libopts_la-libopts.Tpo $(DEPDIR)/libopts_la-libopts.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libopts.c' object='libopts_la-libopts.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libopts.c' object='libopts_la-libopts.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libopts_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo '$(srcdir)/'`libopts.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libopts_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libopts_la-libopts.lo `test -f 'libopts.c' || echo '$(srcdir)/'`libopts.c
 
 
 mostlyclean-libtool:
 mostlyclean-libtool:
 	-rm -f *.lo
 	-rm -f *.lo
@@ -371,7 +394,7 @@ tags: TAGS
 
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
@@ -379,29 +402,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -422,13 +450,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -459,6 +491,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -481,6 +514,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -489,18 +524,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am: install-libLTLIBRARIES
 install-exec-am: install-libLTLIBRARIES
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -539,6 +584,7 @@ uninstall-am: uninstall-libLTLIBRARIES
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-libLTLIBRARIES
 	tags uninstall uninstall-am uninstall-libLTLIBRARIES
 
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

File diff suppressed because it is too large
+ 7357 - 0
m4/libtool.m4


+ 368 - 0
m4/ltoptions.m4

@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])

+ 123 - 0
m4/ltsugar.m4

@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])

+ 23 - 0
m4/ltversion.m4

@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])

+ 92 - 0
m4/lt~obsolete.m4

@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])

+ 32 - 10
scripts/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
 @SET_MAKE@
 @SET_MAKE@
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -42,6 +44,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 SOURCES =
 DIST_SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -202,9 +205,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  scripts/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  scripts/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu scripts/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -222,6 +225,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 mostlyclean-libtool:
 mostlyclean-libtool:
 	-rm -f *.lo
 	-rm -f *.lo
@@ -251,13 +255,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -285,6 +293,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -304,6 +313,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -312,18 +323,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -357,6 +378,7 @@ uninstall-am:
 	maintainer-clean-generic mostlyclean mostlyclean-generic \
 	maintainer-clean-generic mostlyclean mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

BIN
src/._Makefile.am


BIN
src/._bridge.c


BIN
src/._send_packets.c


BIN
src/._tcpbridge.c


BIN
src/._tcpbridge.h


BIN
src/._tcpprep.c


BIN
src/._tcpreplay_opts.def


BIN
src/._tree.c


+ 1 - 1
src/Makefile.am

@@ -48,7 +48,7 @@ bin_PROGRAMS += tcpbridge
 man_MANS += tcpbridge.1
 man_MANS += tcpbridge.1
 endif
 endif
 
 
-tcpreplay_edit_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY -DTCPREPLAY_EDIT
+tcpreplay_edit_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY -DTCPREPLAY_EDIT -DHAVE_CACHEFILE_SUPPORT
 tcpreplay_edit_LDADD = ./tcpedit/libtcpedit.a ./common/libcommon.a $(LIBSTRL) @LPCAPLIB@ @LDNETLIB@ $(LIBOPTS_LDADD)
 tcpreplay_edit_LDADD = ./tcpedit/libtcpedit.a ./common/libcommon.a $(LIBSTRL) @LPCAPLIB@ @LDNETLIB@ $(LIBOPTS_LDADD)
 tcpreplay_edit_SOURCES = tcpreplay_edit_opts.c send_packets.c signal_handler.c tcpreplay.c sleep.c
 tcpreplay_edit_SOURCES = tcpreplay_edit_opts.c send_packets.c signal_handler.c tcpreplay.c sleep.c
 tcpreplay_edit_OBJECTS: tcpreplay_opts.h
 tcpreplay_edit_OBJECTS: tcpreplay_opts.h

+ 246 - 138
src/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -50,9 +52,9 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = config.h
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = defines.h
 CONFIG_CLEAN_FILES = defines.h
+CONFIG_CLEAN_VPATH_FILES =
 @COMPILE_TCPBRIDGE_TRUE@am__EXEEXT_1 = tcpbridge$(EXEEXT)
 @COMPILE_TCPBRIDGE_TRUE@am__EXEEXT_1 = tcpbridge$(EXEEXT)
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 PROGRAMS = $(bin_PROGRAMS)
 am_tcpbridge_OBJECTS = tcpbridge-tcpbridge_opts.$(OBJEXT) \
 am_tcpbridge_OBJECTS = tcpbridge-tcpbridge_opts.$(OBJEXT) \
 	tcpbridge-tcpbridge.$(OBJEXT) tcpbridge-bridge.$(OBJEXT) \
 	tcpbridge-tcpbridge.$(OBJEXT) tcpbridge-bridge.$(OBJEXT) \
@@ -110,6 +112,7 @@ tcprewrite_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 DEFAULT_INCLUDES = -I.@am__isrc@
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -131,16 +134,65 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
 	ps-recursive uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 man1dir = $(mandir)/man1
 man1dir = $(mandir)/man1
 NROFF = nroff
 NROFF = nroff
 MANS = $(man_MANS)
 MANS = $(man_MANS)
 HEADERS = $(noinst_HEADERS)
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir
 ETAGS = etags
 ETAGS = etags
 CTAGS = ctags
 CTAGS = ctags
 DIST_SUBDIRS = common tcpedit fragroute
 DIST_SUBDIRS = common tcpedit fragroute
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR = @AR@
@@ -299,7 +351,7 @@ opts_list = -L tcpedit
 man_MANS = tcpreplay.1 tcpprep.1 tcprewrite.1 tcpreplay-edit.1 \
 man_MANS = tcpreplay.1 tcpprep.1 tcprewrite.1 tcpreplay-edit.1 \
 	$(am__append_2)
 	$(am__append_2)
 EXTRA_DIST = tcpreplay.1 tcpprep.1 tcprewrite.1 tcpbridge.1 tcpreplay-edit.1
 EXTRA_DIST = tcpreplay.1 tcpprep.1 tcprewrite.1 tcpbridge.1 tcpreplay-edit.1
-tcpreplay_edit_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY -DTCPREPLAY_EDIT
+tcpreplay_edit_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY -DTCPREPLAY_EDIT -DHAVE_CACHEFILE_SUPPORT
 tcpreplay_edit_LDADD = ./tcpedit/libtcpedit.a ./common/libcommon.a $(LIBSTRL) @LPCAPLIB@ @LDNETLIB@ $(LIBOPTS_LDADD)
 tcpreplay_edit_LDADD = ./tcpedit/libtcpedit.a ./common/libcommon.a $(LIBSTRL) @LPCAPLIB@ @LDNETLIB@ $(LIBOPTS_LDADD)
 tcpreplay_edit_SOURCES = tcpreplay_edit_opts.c send_packets.c signal_handler.c tcpreplay.c sleep.c
 tcpreplay_edit_SOURCES = tcpreplay_edit_opts.c send_packets.c signal_handler.c tcpreplay.c sleep.c
 tcpreplay_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY
 tcpreplay_CFLAGS = $(LIBOPTS_CFLAGS) -I.. $(LNAV_CFLAGS) @LDNETINC@ -DTCPREPLAY
@@ -352,9 +404,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -372,6 +424,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 config.h: stamp-h1
 config.h: stamp-h1
 	@if test ! -f $@; then \
 	@if test ! -f $@; then \
@@ -383,7 +436,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
 	@rm -f stamp-h1
 	cd $(top_builddir) && $(SHELL) ./config.status src/config.h
 	cd $(top_builddir) && $(SHELL) ./config.status src/config.h
 $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
 $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-	cd $(top_srcdir) && $(AUTOHEADER)
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
 	rm -f stamp-h1
 	rm -f stamp-h1
 	touch $@
 	touch $@
 
 
@@ -394,31 +447,46 @@ defines.h: $(top_builddir)/config.status $(srcdir)/defines.h.in
 install-binPROGRAMS: $(bin_PROGRAMS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	     || test -f $$p1 \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 
 uninstall-binPROGRAMS:
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 
 clean-binPROGRAMS:
 clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  echo " rm -f $$p $$f"; \
-	  rm -f $$p $$f ; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 tcpbridge$(EXEEXT): $(tcpbridge_OBJECTS) $(tcpbridge_DEPENDENCIES) 
 tcpbridge$(EXEEXT): $(tcpbridge_OBJECTS) $(tcpbridge_DEPENDENCIES) 
 	@rm -f tcpbridge$(EXEEXT)
 	@rm -f tcpbridge$(EXEEXT)
 	$(tcpbridge_LINK) $(tcpbridge_OBJECTS) $(tcpbridge_LDADD) $(LIBS)
 	$(tcpbridge_LINK) $(tcpbridge_OBJECTS) $(tcpbridge_LDADD) $(LIBS)
@@ -464,301 +532,301 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 
 tcpbridge-tcpbridge_opts.o: tcpbridge_opts.c
 tcpbridge-tcpbridge_opts.o: tcpbridge_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge_opts.o -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo -c -o tcpbridge-tcpbridge_opts.o `test -f 'tcpbridge_opts.c' || echo '$(srcdir)/'`tcpbridge_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge_opts.o -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo -c -o tcpbridge-tcpbridge_opts.o `test -f 'tcpbridge_opts.c' || echo '$(srcdir)/'`tcpbridge_opts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo $(DEPDIR)/tcpbridge-tcpbridge_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo $(DEPDIR)/tcpbridge-tcpbridge_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge_opts.c' object='tcpbridge-tcpbridge_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge_opts.c' object='tcpbridge-tcpbridge_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge_opts.o `test -f 'tcpbridge_opts.c' || echo '$(srcdir)/'`tcpbridge_opts.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge_opts.o `test -f 'tcpbridge_opts.c' || echo '$(srcdir)/'`tcpbridge_opts.c
 
 
 tcpbridge-tcpbridge_opts.obj: tcpbridge_opts.c
 tcpbridge-tcpbridge_opts.obj: tcpbridge_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge_opts.obj -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo -c -o tcpbridge-tcpbridge_opts.obj `if test -f 'tcpbridge_opts.c'; then $(CYGPATH_W) 'tcpbridge_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge_opts.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge_opts.obj -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo -c -o tcpbridge-tcpbridge_opts.obj `if test -f 'tcpbridge_opts.c'; then $(CYGPATH_W) 'tcpbridge_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge_opts.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo $(DEPDIR)/tcpbridge-tcpbridge_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-tcpbridge_opts.Tpo $(DEPDIR)/tcpbridge-tcpbridge_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge_opts.c' object='tcpbridge-tcpbridge_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge_opts.c' object='tcpbridge-tcpbridge_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge_opts.obj `if test -f 'tcpbridge_opts.c'; then $(CYGPATH_W) 'tcpbridge_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge_opts.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge_opts.obj `if test -f 'tcpbridge_opts.c'; then $(CYGPATH_W) 'tcpbridge_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge_opts.c'; fi`
 
 
 tcpbridge-tcpbridge.o: tcpbridge.c
 tcpbridge-tcpbridge.o: tcpbridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge.o -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge.Tpo -c -o tcpbridge-tcpbridge.o `test -f 'tcpbridge.c' || echo '$(srcdir)/'`tcpbridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge.o -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge.Tpo -c -o tcpbridge-tcpbridge.o `test -f 'tcpbridge.c' || echo '$(srcdir)/'`tcpbridge.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-tcpbridge.Tpo $(DEPDIR)/tcpbridge-tcpbridge.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-tcpbridge.Tpo $(DEPDIR)/tcpbridge-tcpbridge.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge.c' object='tcpbridge-tcpbridge.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge.c' object='tcpbridge-tcpbridge.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge.o `test -f 'tcpbridge.c' || echo '$(srcdir)/'`tcpbridge.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge.o `test -f 'tcpbridge.c' || echo '$(srcdir)/'`tcpbridge.c
 
 
 tcpbridge-tcpbridge.obj: tcpbridge.c
 tcpbridge-tcpbridge.obj: tcpbridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge.obj -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge.Tpo -c -o tcpbridge-tcpbridge.obj `if test -f 'tcpbridge.c'; then $(CYGPATH_W) 'tcpbridge.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-tcpbridge.obj -MD -MP -MF $(DEPDIR)/tcpbridge-tcpbridge.Tpo -c -o tcpbridge-tcpbridge.obj `if test -f 'tcpbridge.c'; then $(CYGPATH_W) 'tcpbridge.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-tcpbridge.Tpo $(DEPDIR)/tcpbridge-tcpbridge.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-tcpbridge.Tpo $(DEPDIR)/tcpbridge-tcpbridge.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge.c' object='tcpbridge-tcpbridge.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpbridge.c' object='tcpbridge-tcpbridge.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge.obj `if test -f 'tcpbridge.c'; then $(CYGPATH_W) 'tcpbridge.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-tcpbridge.obj `if test -f 'tcpbridge.c'; then $(CYGPATH_W) 'tcpbridge.c'; else $(CYGPATH_W) '$(srcdir)/tcpbridge.c'; fi`
 
 
 tcpbridge-bridge.o: bridge.c
 tcpbridge-bridge.o: bridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-bridge.o -MD -MP -MF $(DEPDIR)/tcpbridge-bridge.Tpo -c -o tcpbridge-bridge.o `test -f 'bridge.c' || echo '$(srcdir)/'`bridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-bridge.o -MD -MP -MF $(DEPDIR)/tcpbridge-bridge.Tpo -c -o tcpbridge-bridge.o `test -f 'bridge.c' || echo '$(srcdir)/'`bridge.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-bridge.Tpo $(DEPDIR)/tcpbridge-bridge.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-bridge.Tpo $(DEPDIR)/tcpbridge-bridge.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bridge.c' object='tcpbridge-bridge.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bridge.c' object='tcpbridge-bridge.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-bridge.o `test -f 'bridge.c' || echo '$(srcdir)/'`bridge.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-bridge.o `test -f 'bridge.c' || echo '$(srcdir)/'`bridge.c
 
 
 tcpbridge-bridge.obj: bridge.c
 tcpbridge-bridge.obj: bridge.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-bridge.obj -MD -MP -MF $(DEPDIR)/tcpbridge-bridge.Tpo -c -o tcpbridge-bridge.obj `if test -f 'bridge.c'; then $(CYGPATH_W) 'bridge.c'; else $(CYGPATH_W) '$(srcdir)/bridge.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-bridge.obj -MD -MP -MF $(DEPDIR)/tcpbridge-bridge.Tpo -c -o tcpbridge-bridge.obj `if test -f 'bridge.c'; then $(CYGPATH_W) 'bridge.c'; else $(CYGPATH_W) '$(srcdir)/bridge.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-bridge.Tpo $(DEPDIR)/tcpbridge-bridge.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-bridge.Tpo $(DEPDIR)/tcpbridge-bridge.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bridge.c' object='tcpbridge-bridge.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bridge.c' object='tcpbridge-bridge.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-bridge.obj `if test -f 'bridge.c'; then $(CYGPATH_W) 'bridge.c'; else $(CYGPATH_W) '$(srcdir)/bridge.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-bridge.obj `if test -f 'bridge.c'; then $(CYGPATH_W) 'bridge.c'; else $(CYGPATH_W) '$(srcdir)/bridge.c'; fi`
 
 
 tcpbridge-send_packets.o: send_packets.c
 tcpbridge-send_packets.o: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-send_packets.o -MD -MP -MF $(DEPDIR)/tcpbridge-send_packets.Tpo -c -o tcpbridge-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-send_packets.o -MD -MP -MF $(DEPDIR)/tcpbridge-send_packets.Tpo -c -o tcpbridge-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-send_packets.Tpo $(DEPDIR)/tcpbridge-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-send_packets.Tpo $(DEPDIR)/tcpbridge-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpbridge-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpbridge-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 
 
 tcpbridge-send_packets.obj: send_packets.c
 tcpbridge-send_packets.obj: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpbridge-send_packets.Tpo -c -o tcpbridge-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpbridge-send_packets.Tpo -c -o tcpbridge-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-send_packets.Tpo $(DEPDIR)/tcpbridge-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-send_packets.Tpo $(DEPDIR)/tcpbridge-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpbridge-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpbridge-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 
 
 tcpbridge-sleep.o: sleep.c
 tcpbridge-sleep.o: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-sleep.o -MD -MP -MF $(DEPDIR)/tcpbridge-sleep.Tpo -c -o tcpbridge-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-sleep.o -MD -MP -MF $(DEPDIR)/tcpbridge-sleep.Tpo -c -o tcpbridge-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-sleep.Tpo $(DEPDIR)/tcpbridge-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-sleep.Tpo $(DEPDIR)/tcpbridge-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpbridge-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpbridge-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 
 
 tcpbridge-sleep.obj: sleep.c
 tcpbridge-sleep.obj: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-sleep.obj -MD -MP -MF $(DEPDIR)/tcpbridge-sleep.Tpo -c -o tcpbridge-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -MT tcpbridge-sleep.obj -MD -MP -MF $(DEPDIR)/tcpbridge-sleep.Tpo -c -o tcpbridge-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpbridge-sleep.Tpo $(DEPDIR)/tcpbridge-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpbridge-sleep.Tpo $(DEPDIR)/tcpbridge-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpbridge-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpbridge-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpbridge_CFLAGS) $(CFLAGS) -c -o tcpbridge-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 
 
 tcpprep-tcpprep_opts.o: tcpprep_opts.c
 tcpprep-tcpprep_opts.o: tcpprep_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep_opts.o -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep_opts.Tpo -c -o tcpprep-tcpprep_opts.o `test -f 'tcpprep_opts.c' || echo '$(srcdir)/'`tcpprep_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep_opts.o -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep_opts.Tpo -c -o tcpprep-tcpprep_opts.o `test -f 'tcpprep_opts.c' || echo '$(srcdir)/'`tcpprep_opts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tcpprep_opts.Tpo $(DEPDIR)/tcpprep-tcpprep_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tcpprep_opts.Tpo $(DEPDIR)/tcpprep-tcpprep_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep_opts.c' object='tcpprep-tcpprep_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep_opts.c' object='tcpprep-tcpprep_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep_opts.o `test -f 'tcpprep_opts.c' || echo '$(srcdir)/'`tcpprep_opts.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep_opts.o `test -f 'tcpprep_opts.c' || echo '$(srcdir)/'`tcpprep_opts.c
 
 
 tcpprep-tcpprep_opts.obj: tcpprep_opts.c
 tcpprep-tcpprep_opts.obj: tcpprep_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep_opts.obj -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep_opts.Tpo -c -o tcpprep-tcpprep_opts.obj `if test -f 'tcpprep_opts.c'; then $(CYGPATH_W) 'tcpprep_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep_opts.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep_opts.obj -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep_opts.Tpo -c -o tcpprep-tcpprep_opts.obj `if test -f 'tcpprep_opts.c'; then $(CYGPATH_W) 'tcpprep_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep_opts.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tcpprep_opts.Tpo $(DEPDIR)/tcpprep-tcpprep_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tcpprep_opts.Tpo $(DEPDIR)/tcpprep-tcpprep_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep_opts.c' object='tcpprep-tcpprep_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep_opts.c' object='tcpprep-tcpprep_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep_opts.obj `if test -f 'tcpprep_opts.c'; then $(CYGPATH_W) 'tcpprep_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep_opts.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep_opts.obj `if test -f 'tcpprep_opts.c'; then $(CYGPATH_W) 'tcpprep_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep_opts.c'; fi`
 
 
 tcpprep-tcpprep.o: tcpprep.c
 tcpprep-tcpprep.o: tcpprep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep.o -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep.Tpo -c -o tcpprep-tcpprep.o `test -f 'tcpprep.c' || echo '$(srcdir)/'`tcpprep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep.o -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep.Tpo -c -o tcpprep-tcpprep.o `test -f 'tcpprep.c' || echo '$(srcdir)/'`tcpprep.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tcpprep.Tpo $(DEPDIR)/tcpprep-tcpprep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tcpprep.Tpo $(DEPDIR)/tcpprep-tcpprep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep.c' object='tcpprep-tcpprep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep.c' object='tcpprep-tcpprep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep.o `test -f 'tcpprep.c' || echo '$(srcdir)/'`tcpprep.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep.o `test -f 'tcpprep.c' || echo '$(srcdir)/'`tcpprep.c
 
 
 tcpprep-tcpprep.obj: tcpprep.c
 tcpprep-tcpprep.obj: tcpprep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep.obj -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep.Tpo -c -o tcpprep-tcpprep.obj `if test -f 'tcpprep.c'; then $(CYGPATH_W) 'tcpprep.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tcpprep.obj -MD -MP -MF $(DEPDIR)/tcpprep-tcpprep.Tpo -c -o tcpprep-tcpprep.obj `if test -f 'tcpprep.c'; then $(CYGPATH_W) 'tcpprep.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tcpprep.Tpo $(DEPDIR)/tcpprep-tcpprep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tcpprep.Tpo $(DEPDIR)/tcpprep-tcpprep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep.c' object='tcpprep-tcpprep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpprep.c' object='tcpprep-tcpprep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep.obj `if test -f 'tcpprep.c'; then $(CYGPATH_W) 'tcpprep.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tcpprep.obj `if test -f 'tcpprep.c'; then $(CYGPATH_W) 'tcpprep.c'; else $(CYGPATH_W) '$(srcdir)/tcpprep.c'; fi`
 
 
 tcpprep-tree.o: tree.c
 tcpprep-tree.o: tree.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tree.o -MD -MP -MF $(DEPDIR)/tcpprep-tree.Tpo -c -o tcpprep-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tree.o -MD -MP -MF $(DEPDIR)/tcpprep-tree.Tpo -c -o tcpprep-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tree.Tpo $(DEPDIR)/tcpprep-tree.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tree.Tpo $(DEPDIR)/tcpprep-tree.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='tcpprep-tree.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='tcpprep-tree.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c
 
 
 tcpprep-tree.obj: tree.c
 tcpprep-tree.obj: tree.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tree.obj -MD -MP -MF $(DEPDIR)/tcpprep-tree.Tpo -c -o tcpprep-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -MT tcpprep-tree.obj -MD -MP -MF $(DEPDIR)/tcpprep-tree.Tpo -c -o tcpprep-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpprep-tree.Tpo $(DEPDIR)/tcpprep-tree.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpprep-tree.Tpo $(DEPDIR)/tcpprep-tree.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='tcpprep-tree.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='tcpprep-tree.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpprep_CFLAGS) $(CFLAGS) -c -o tcpprep-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`
 
 
 tcpreplay-tcpreplay_opts.o: tcpreplay_opts.c
 tcpreplay-tcpreplay_opts.o: tcpreplay_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay_opts.o -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo -c -o tcpreplay-tcpreplay_opts.o `test -f 'tcpreplay_opts.c' || echo '$(srcdir)/'`tcpreplay_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay_opts.o -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo -c -o tcpreplay-tcpreplay_opts.o `test -f 'tcpreplay_opts.c' || echo '$(srcdir)/'`tcpreplay_opts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo $(DEPDIR)/tcpreplay-tcpreplay_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo $(DEPDIR)/tcpreplay-tcpreplay_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_opts.c' object='tcpreplay-tcpreplay_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_opts.c' object='tcpreplay-tcpreplay_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay_opts.o `test -f 'tcpreplay_opts.c' || echo '$(srcdir)/'`tcpreplay_opts.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay_opts.o `test -f 'tcpreplay_opts.c' || echo '$(srcdir)/'`tcpreplay_opts.c
 
 
 tcpreplay-tcpreplay_opts.obj: tcpreplay_opts.c
 tcpreplay-tcpreplay_opts.obj: tcpreplay_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay_opts.obj -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo -c -o tcpreplay-tcpreplay_opts.obj `if test -f 'tcpreplay_opts.c'; then $(CYGPATH_W) 'tcpreplay_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_opts.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay_opts.obj -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo -c -o tcpreplay-tcpreplay_opts.obj `if test -f 'tcpreplay_opts.c'; then $(CYGPATH_W) 'tcpreplay_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_opts.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo $(DEPDIR)/tcpreplay-tcpreplay_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-tcpreplay_opts.Tpo $(DEPDIR)/tcpreplay-tcpreplay_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_opts.c' object='tcpreplay-tcpreplay_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_opts.c' object='tcpreplay-tcpreplay_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay_opts.obj `if test -f 'tcpreplay_opts.c'; then $(CYGPATH_W) 'tcpreplay_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_opts.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay_opts.obj `if test -f 'tcpreplay_opts.c'; then $(CYGPATH_W) 'tcpreplay_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_opts.c'; fi`
 
 
 tcpreplay-send_packets.o: send_packets.c
 tcpreplay-send_packets.o: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-send_packets.o -MD -MP -MF $(DEPDIR)/tcpreplay-send_packets.Tpo -c -o tcpreplay-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-send_packets.o -MD -MP -MF $(DEPDIR)/tcpreplay-send_packets.Tpo -c -o tcpreplay-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-send_packets.Tpo $(DEPDIR)/tcpreplay-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-send_packets.Tpo $(DEPDIR)/tcpreplay-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 
 
 tcpreplay-send_packets.obj: send_packets.c
 tcpreplay-send_packets.obj: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpreplay-send_packets.Tpo -c -o tcpreplay-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpreplay-send_packets.Tpo -c -o tcpreplay-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-send_packets.Tpo $(DEPDIR)/tcpreplay-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-send_packets.Tpo $(DEPDIR)/tcpreplay-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 
 
 tcpreplay-signal_handler.o: signal_handler.c
 tcpreplay-signal_handler.o: signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-signal_handler.o -MD -MP -MF $(DEPDIR)/tcpreplay-signal_handler.Tpo -c -o tcpreplay-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-signal_handler.o -MD -MP -MF $(DEPDIR)/tcpreplay-signal_handler.Tpo -c -o tcpreplay-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-signal_handler.Tpo $(DEPDIR)/tcpreplay-signal_handler.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-signal_handler.Tpo $(DEPDIR)/tcpreplay-signal_handler.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay-signal_handler.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay-signal_handler.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 
 
 tcpreplay-signal_handler.obj: signal_handler.c
 tcpreplay-signal_handler.obj: signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-signal_handler.obj -MD -MP -MF $(DEPDIR)/tcpreplay-signal_handler.Tpo -c -o tcpreplay-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-signal_handler.obj -MD -MP -MF $(DEPDIR)/tcpreplay-signal_handler.Tpo -c -o tcpreplay-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-signal_handler.Tpo $(DEPDIR)/tcpreplay-signal_handler.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-signal_handler.Tpo $(DEPDIR)/tcpreplay-signal_handler.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay-signal_handler.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay-signal_handler.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 
 
 tcpreplay-tcpreplay.o: tcpreplay.c
 tcpreplay-tcpreplay.o: tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay.o -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay.Tpo -c -o tcpreplay-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay.o -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay.Tpo -c -o tcpreplay-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-tcpreplay.Tpo $(DEPDIR)/tcpreplay-tcpreplay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-tcpreplay.Tpo $(DEPDIR)/tcpreplay-tcpreplay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay-tcpreplay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay-tcpreplay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 
 
 tcpreplay-tcpreplay.obj: tcpreplay.c
 tcpreplay-tcpreplay.obj: tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay.obj -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay.Tpo -c -o tcpreplay-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-tcpreplay.obj -MD -MP -MF $(DEPDIR)/tcpreplay-tcpreplay.Tpo -c -o tcpreplay-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-tcpreplay.Tpo $(DEPDIR)/tcpreplay-tcpreplay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-tcpreplay.Tpo $(DEPDIR)/tcpreplay-tcpreplay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay-tcpreplay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay-tcpreplay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 
 
 tcpreplay-sleep.o: sleep.c
 tcpreplay-sleep.o: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-sleep.o -MD -MP -MF $(DEPDIR)/tcpreplay-sleep.Tpo -c -o tcpreplay-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-sleep.o -MD -MP -MF $(DEPDIR)/tcpreplay-sleep.Tpo -c -o tcpreplay-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-sleep.Tpo $(DEPDIR)/tcpreplay-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-sleep.Tpo $(DEPDIR)/tcpreplay-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 
 
 tcpreplay-sleep.obj: sleep.c
 tcpreplay-sleep.obj: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-sleep.obj -MD -MP -MF $(DEPDIR)/tcpreplay-sleep.Tpo -c -o tcpreplay-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -MT tcpreplay-sleep.obj -MD -MP -MF $(DEPDIR)/tcpreplay-sleep.Tpo -c -o tcpreplay-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay-sleep.Tpo $(DEPDIR)/tcpreplay-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay-sleep.Tpo $(DEPDIR)/tcpreplay-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_CFLAGS) $(CFLAGS) -c -o tcpreplay-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 
 
 tcpreplay_edit-tcpreplay_edit_opts.o: tcpreplay_edit_opts.c
 tcpreplay_edit-tcpreplay_edit_opts.o: tcpreplay_edit_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay_edit_opts.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo -c -o tcpreplay_edit-tcpreplay_edit_opts.o `test -f 'tcpreplay_edit_opts.c' || echo '$(srcdir)/'`tcpreplay_edit_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay_edit_opts.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo -c -o tcpreplay_edit-tcpreplay_edit_opts.o `test -f 'tcpreplay_edit_opts.c' || echo '$(srcdir)/'`tcpreplay_edit_opts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_edit_opts.c' object='tcpreplay_edit-tcpreplay_edit_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_edit_opts.c' object='tcpreplay_edit-tcpreplay_edit_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay_edit_opts.o `test -f 'tcpreplay_edit_opts.c' || echo '$(srcdir)/'`tcpreplay_edit_opts.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay_edit_opts.o `test -f 'tcpreplay_edit_opts.c' || echo '$(srcdir)/'`tcpreplay_edit_opts.c
 
 
 tcpreplay_edit-tcpreplay_edit_opts.obj: tcpreplay_edit_opts.c
 tcpreplay_edit-tcpreplay_edit_opts.obj: tcpreplay_edit_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay_edit_opts.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo -c -o tcpreplay_edit-tcpreplay_edit_opts.obj `if test -f 'tcpreplay_edit_opts.c'; then $(CYGPATH_W) 'tcpreplay_edit_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_edit_opts.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay_edit_opts.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo -c -o tcpreplay_edit-tcpreplay_edit_opts.obj `if test -f 'tcpreplay_edit_opts.c'; then $(CYGPATH_W) 'tcpreplay_edit_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_edit_opts.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay_edit_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_edit_opts.c' object='tcpreplay_edit-tcpreplay_edit_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay_edit_opts.c' object='tcpreplay_edit-tcpreplay_edit_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay_edit_opts.obj `if test -f 'tcpreplay_edit_opts.c'; then $(CYGPATH_W) 'tcpreplay_edit_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_edit_opts.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay_edit_opts.obj `if test -f 'tcpreplay_edit_opts.c'; then $(CYGPATH_W) 'tcpreplay_edit_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay_edit_opts.c'; fi`
 
 
 tcpreplay_edit-send_packets.o: send_packets.c
 tcpreplay_edit-send_packets.o: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-send_packets.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-send_packets.Tpo -c -o tcpreplay_edit-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-send_packets.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-send_packets.Tpo -c -o tcpreplay_edit-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-send_packets.Tpo $(DEPDIR)/tcpreplay_edit-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-send_packets.Tpo $(DEPDIR)/tcpreplay_edit-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay_edit-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay_edit-send_packets.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-send_packets.o `test -f 'send_packets.c' || echo '$(srcdir)/'`send_packets.c
 
 
 tcpreplay_edit-send_packets.obj: send_packets.c
 tcpreplay_edit-send_packets.obj: send_packets.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-send_packets.Tpo -c -o tcpreplay_edit-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-send_packets.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-send_packets.Tpo -c -o tcpreplay_edit-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-send_packets.Tpo $(DEPDIR)/tcpreplay_edit-send_packets.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-send_packets.Tpo $(DEPDIR)/tcpreplay_edit-send_packets.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay_edit-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='send_packets.c' object='tcpreplay_edit-send_packets.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-send_packets.obj `if test -f 'send_packets.c'; then $(CYGPATH_W) 'send_packets.c'; else $(CYGPATH_W) '$(srcdir)/send_packets.c'; fi`
 
 
 tcpreplay_edit-signal_handler.o: signal_handler.c
 tcpreplay_edit-signal_handler.o: signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-signal_handler.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo -c -o tcpreplay_edit-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-signal_handler.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo -c -o tcpreplay_edit-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo $(DEPDIR)/tcpreplay_edit-signal_handler.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo $(DEPDIR)/tcpreplay_edit-signal_handler.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay_edit-signal_handler.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay_edit-signal_handler.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-signal_handler.o `test -f 'signal_handler.c' || echo '$(srcdir)/'`signal_handler.c
 
 
 tcpreplay_edit-signal_handler.obj: signal_handler.c
 tcpreplay_edit-signal_handler.obj: signal_handler.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-signal_handler.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo -c -o tcpreplay_edit-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-signal_handler.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo -c -o tcpreplay_edit-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo $(DEPDIR)/tcpreplay_edit-signal_handler.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-signal_handler.Tpo $(DEPDIR)/tcpreplay_edit-signal_handler.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay_edit-signal_handler.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='signal_handler.c' object='tcpreplay_edit-signal_handler.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-signal_handler.obj `if test -f 'signal_handler.c'; then $(CYGPATH_W) 'signal_handler.c'; else $(CYGPATH_W) '$(srcdir)/signal_handler.c'; fi`
 
 
 tcpreplay_edit-tcpreplay.o: tcpreplay.c
 tcpreplay_edit-tcpreplay.o: tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo -c -o tcpreplay_edit-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo -c -o tcpreplay_edit-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay_edit-tcpreplay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay_edit-tcpreplay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay.o `test -f 'tcpreplay.c' || echo '$(srcdir)/'`tcpreplay.c
 
 
 tcpreplay_edit-tcpreplay.obj: tcpreplay.c
 tcpreplay_edit-tcpreplay.obj: tcpreplay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo -c -o tcpreplay_edit-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-tcpreplay.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo -c -o tcpreplay_edit-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-tcpreplay.Tpo $(DEPDIR)/tcpreplay_edit-tcpreplay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay_edit-tcpreplay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcpreplay.c' object='tcpreplay_edit-tcpreplay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-tcpreplay.obj `if test -f 'tcpreplay.c'; then $(CYGPATH_W) 'tcpreplay.c'; else $(CYGPATH_W) '$(srcdir)/tcpreplay.c'; fi`
 
 
 tcpreplay_edit-sleep.o: sleep.c
 tcpreplay_edit-sleep.o: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-sleep.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-sleep.Tpo -c -o tcpreplay_edit-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-sleep.o -MD -MP -MF $(DEPDIR)/tcpreplay_edit-sleep.Tpo -c -o tcpreplay_edit-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-sleep.Tpo $(DEPDIR)/tcpreplay_edit-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-sleep.Tpo $(DEPDIR)/tcpreplay_edit-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay_edit-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay_edit-sleep.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-sleep.o `test -f 'sleep.c' || echo '$(srcdir)/'`sleep.c
 
 
 tcpreplay_edit-sleep.obj: sleep.c
 tcpreplay_edit-sleep.obj: sleep.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-sleep.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-sleep.Tpo -c -o tcpreplay_edit-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -MT tcpreplay_edit-sleep.obj -MD -MP -MF $(DEPDIR)/tcpreplay_edit-sleep.Tpo -c -o tcpreplay_edit-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcpreplay_edit-sleep.Tpo $(DEPDIR)/tcpreplay_edit-sleep.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcpreplay_edit-sleep.Tpo $(DEPDIR)/tcpreplay_edit-sleep.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay_edit-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='sleep.c' object='tcpreplay_edit-sleep.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcpreplay_edit_CFLAGS) $(CFLAGS) -c -o tcpreplay_edit-sleep.obj `if test -f 'sleep.c'; then $(CYGPATH_W) 'sleep.c'; else $(CYGPATH_W) '$(srcdir)/sleep.c'; fi`
 
 
 tcprewrite-tcprewrite_opts.o: tcprewrite_opts.c
 tcprewrite-tcprewrite_opts.o: tcprewrite_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite_opts.o -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo -c -o tcprewrite-tcprewrite_opts.o `test -f 'tcprewrite_opts.c' || echo '$(srcdir)/'`tcprewrite_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite_opts.o -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo -c -o tcprewrite-tcprewrite_opts.o `test -f 'tcprewrite_opts.c' || echo '$(srcdir)/'`tcprewrite_opts.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo $(DEPDIR)/tcprewrite-tcprewrite_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo $(DEPDIR)/tcprewrite-tcprewrite_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite_opts.c' object='tcprewrite-tcprewrite_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite_opts.c' object='tcprewrite-tcprewrite_opts.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite_opts.o `test -f 'tcprewrite_opts.c' || echo '$(srcdir)/'`tcprewrite_opts.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite_opts.o `test -f 'tcprewrite_opts.c' || echo '$(srcdir)/'`tcprewrite_opts.c
 
 
 tcprewrite-tcprewrite_opts.obj: tcprewrite_opts.c
 tcprewrite-tcprewrite_opts.obj: tcprewrite_opts.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite_opts.obj -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo -c -o tcprewrite-tcprewrite_opts.obj `if test -f 'tcprewrite_opts.c'; then $(CYGPATH_W) 'tcprewrite_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite_opts.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite_opts.obj -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo -c -o tcprewrite-tcprewrite_opts.obj `if test -f 'tcprewrite_opts.c'; then $(CYGPATH_W) 'tcprewrite_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite_opts.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo $(DEPDIR)/tcprewrite-tcprewrite_opts.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcprewrite-tcprewrite_opts.Tpo $(DEPDIR)/tcprewrite-tcprewrite_opts.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite_opts.c' object='tcprewrite-tcprewrite_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite_opts.c' object='tcprewrite-tcprewrite_opts.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite_opts.obj `if test -f 'tcprewrite_opts.c'; then $(CYGPATH_W) 'tcprewrite_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite_opts.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite_opts.obj `if test -f 'tcprewrite_opts.c'; then $(CYGPATH_W) 'tcprewrite_opts.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite_opts.c'; fi`
 
 
 tcprewrite-tcprewrite.o: tcprewrite.c
 tcprewrite-tcprewrite.o: tcprewrite.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite.o -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite.Tpo -c -o tcprewrite-tcprewrite.o `test -f 'tcprewrite.c' || echo '$(srcdir)/'`tcprewrite.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite.o -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite.Tpo -c -o tcprewrite-tcprewrite.o `test -f 'tcprewrite.c' || echo '$(srcdir)/'`tcprewrite.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcprewrite-tcprewrite.Tpo $(DEPDIR)/tcprewrite-tcprewrite.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcprewrite-tcprewrite.Tpo $(DEPDIR)/tcprewrite-tcprewrite.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite.c' object='tcprewrite-tcprewrite.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite.c' object='tcprewrite-tcprewrite.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite.o `test -f 'tcprewrite.c' || echo '$(srcdir)/'`tcprewrite.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite.o `test -f 'tcprewrite.c' || echo '$(srcdir)/'`tcprewrite.c
 
 
 tcprewrite-tcprewrite.obj: tcprewrite.c
 tcprewrite-tcprewrite.obj: tcprewrite.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite.obj -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite.Tpo -c -o tcprewrite-tcprewrite.obj `if test -f 'tcprewrite.c'; then $(CYGPATH_W) 'tcprewrite.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -MT tcprewrite-tcprewrite.obj -MD -MP -MF $(DEPDIR)/tcprewrite-tcprewrite.Tpo -c -o tcprewrite-tcprewrite.obj `if test -f 'tcprewrite.c'; then $(CYGPATH_W) 'tcprewrite.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/tcprewrite-tcprewrite.Tpo $(DEPDIR)/tcprewrite-tcprewrite.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/tcprewrite-tcprewrite.Tpo $(DEPDIR)/tcprewrite-tcprewrite.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite.c' object='tcprewrite-tcprewrite.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tcprewrite.c' object='tcprewrite-tcprewrite.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite.obj `if test -f 'tcprewrite.c'; then $(CYGPATH_W) 'tcprewrite.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tcprewrite_CFLAGS) $(CFLAGS) -c -o tcprewrite-tcprewrite.obj `if test -f 'tcprewrite.c'; then $(CYGPATH_W) 'tcprewrite.c'; else $(CYGPATH_W) '$(srcdir)/tcprewrite.c'; fi`
@@ -768,51 +836,44 @@ mostlyclean-libtool:
 
 
 clean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 	-rm -rf .libs _libs
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
 	@$(NORMAL_INSTALL)
 	@$(NORMAL_INSTALL)
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
 	done; \
-	for i in $$list; do \
-	  if test -f $$i; then file=$$i; \
-	  else file=$(srcdir)/$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man1:
 uninstall-man1:
 	@$(NORMAL_UNINSTALL)
 	@$(NORMAL_UNINSTALL)
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
 
 
 # This directory's subdirectories are mostly independent; you can cd
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
 # into them and run `make' without going through this Makefile.
@@ -838,7 +899,7 @@ $(RECURSIVE_TARGETS):
 	  else \
 	  else \
 	    local_target="$$target"; \
 	    local_target="$$target"; \
 	  fi; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	  || eval $$failcom; \
 	done; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
 	if test "$$dot_seen" = "no"; then \
@@ -872,16 +933,16 @@ $(RECURSIVE_CLEAN_TARGETS):
 	  else \
 	  else \
 	    local_target="$$target"; \
 	    local_target="$$target"; \
 	  fi; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 	done && test -z "$$fail"
 tags-recursive:
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 	done
 ctags-recursive:
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 	done
 
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -896,7 +957,7 @@ tags: TAGS
 
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
 	  include_option=--etags-include; \
@@ -908,7 +969,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	  fi; \
 	done; \
 	done; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -917,34 +978,52 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 
 distdir: $(DISTFILES)
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
 	list='$(DISTFILES)'; \
@@ -960,29 +1039,44 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	        distdir) \
 	      || exit 1; \
 	      || exit 1; \
 	  fi; \
 	  fi; \
@@ -1016,6 +1110,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -1037,6 +1132,8 @@ dvi-am:
 
 
 html: html-recursive
 html: html-recursive
 
 
+html-am:
+
 info: info-recursive
 info: info-recursive
 
 
 info-am:
 info-am:
@@ -1045,18 +1142,28 @@ install-data-am: install-man
 
 
 install-dvi: install-dvi-recursive
 install-dvi: install-dvi-recursive
 
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS
 install-exec-am: install-binPROGRAMS
 
 
 install-html: install-html-recursive
 install-html: install-html-recursive
 
 
+install-html-am:
+
 install-info: install-info-recursive
 install-info: install-info-recursive
 
 
+install-info-am:
+
 install-man: install-man1
 install-man: install-man1
 
 
 install-pdf: install-pdf-recursive
 install-pdf: install-pdf-recursive
 
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 install-ps: install-ps-recursive
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-recursive
 maintainer-clean: maintainer-clean-recursive
@@ -1081,8 +1188,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man
 
 
 uninstall-man: uninstall-man1
 uninstall-man: uninstall-man1
 
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+	ctags-recursive install-am install-strip tags-recursive
 
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-binPROGRAMS \
 	all all-am check check-am clean clean-binPROGRAMS \
@@ -1144,6 +1251,7 @@ tcpbridge_OBJECTS: tcpbridge_opts.h
 tcpbridge_opts.h: tcpbridge_opts.c
 tcpbridge_opts.h: tcpbridge_opts.c
 tcpbridge_opts.c: tcpbridge_opts.def tcpedit/tcpedit_opts.def
 tcpbridge_opts.c: tcpbridge_opts.def tcpedit/tcpedit_opts.def
 	@AUTOGEN@ $(opts_list) tcpbridge_opts.def
 	@AUTOGEN@ $(opts_list) tcpbridge_opts.def
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 18 - 4
src/bridge.c

@@ -1,4 +1,4 @@
-/* $Id: bridge.c 2195 2009-02-04 21:17:45Z aturner $ */
+/* $Id: bridge.c 2281 2009-05-02 23:01:29Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2005 Aaron Turner.
  * Copyright (c) 2001-2005 Aaron Turner.
@@ -362,6 +362,7 @@ live_callback(struct live_data_t *livedata, struct pcap_pkthdr *pkthdr,
               const u_char * nextpkt)
               const u_char * nextpkt)
 {
 {
     ipv4_hdr_t *ip_hdr = NULL;
     ipv4_hdr_t *ip_hdr = NULL;
+    ipv6_hdr_t *ip6_hdr = NULL;
     pcap_t *send = NULL;
     pcap_t *send = NULL;
     static u_char *pktdata = NULL;     /* full packet buffer */
     static u_char *pktdata = NULL;     /* full packet buffer */
     int cache_mode, retcode;
     int cache_mode, retcode;
@@ -442,13 +443,26 @@ live_callback(struct live_data_t *livedata, struct pcap_pkthdr *pkthdr,
     
     
     /* should we skip this packet based on CIDR match? */
     /* should we skip this packet based on CIDR match? */
     if (l2proto == ETHERTYPE_IP) {
     if (l2proto == ETHERTYPE_IP) {
-        dbg(3, "Packet is IP");
+        dbg(3, "Packet is IPv4");
         ip_hdr = (ipv4_hdr_t *)tcpedit_l3data(livedata->tcpedit, BEFORE_PROCESS, pktdata, pkthdr->len);
         ip_hdr = (ipv4_hdr_t *)tcpedit_l3data(livedata->tcpedit, BEFORE_PROCESS, pktdata, pkthdr->len);
 
 
         /* look for include or exclude CIDR match */
         /* look for include or exclude CIDR match */
         if (livedata->options->xX.cidr != NULL) {
         if (livedata->options->xX.cidr != NULL) {
-            if (!process_xX_by_cidr(livedata->options->xX.mode, livedata->options->xX.cidr, ip_hdr)) {
-                dbg(2, "Skipping packet due to CIDR match");
+            if (!process_xX_by_cidr_ipv4(livedata->options->xX.mode, livedata->options->xX.cidr, ip_hdr)) {
+                dbg(2, "Skipping IPv4 packet due to CIDR match");
+                return (1);
+            }
+        }
+
+    }
+    else if (l2proto == ETHERTYPE_IP6) {
+        dbg(3, "Packet is IPv6");
+        ip6_hdr = (ipv6_hdr_t *)tcpedit_l3data(livedata->tcpedit, BEFORE_PROCESS, pktdata, pkthdr->len);
+
+        /* look for include or exclude CIDR match */
+        if (livedata->options->xX.cidr != NULL) {
+            if (!process_xX_by_cidr_ipv6(livedata->options->xX.mode, livedata->options->xX.cidr, ip6_hdr)) {
+                dbg(2, "Skipping IPv6 packet due to CIDR match");
                 return (1);
                 return (1);
             }
             }
         }
         }

BIN
src/common/._fakepoll.c


BIN
src/common/._fakepoll.h


BIN
src/common/._sendpacket.c


+ 51 - 23
src/common/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -46,6 +48,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
 ARFLAGS = cru
 libcommon_a_AR = $(AR) $(ARFLAGS)
 libcommon_a_AR = $(AR) $(ARFLAGS)
@@ -66,6 +69,7 @@ libcommon_a_OBJECTS = $(am_libcommon_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -255,9 +259,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/common/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/common/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/common/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/common/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -275,6 +279,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 clean-noinstLIBRARIES:
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -312,21 +317,21 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
@@ -349,7 +354,7 @@ tags: TAGS
 
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
@@ -357,29 +362,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -400,13 +410,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -437,6 +451,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -460,6 +475,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -468,18 +485,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -502,7 +529,7 @@ ps-am:
 
 
 uninstall-am:
 uninstall-am:
 
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 	clean-libtool clean-noinstLIBRARIES ctags distclean \
 	clean-libtool clean-noinstLIBRARIES ctags distclean \
@@ -525,6 +552,7 @@ svn_version.c:
 	$(ECHO) 'const char *svn_version(void) {'  >> svn_version.c
 	$(ECHO) 'const char *svn_version(void) {'  >> svn_version.c
 	$(ECHO) '	return SVN_Version;'			>> svn_version.c
 	$(ECHO) '	return SVN_Version;'			>> svn_version.c
 	$(ECHO) '}' 			      				>> svn_version.c
 	$(ECHO) '}' 			      				>> svn_version.c
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 242 - 67
src/common/cidr.c

@@ -1,4 +1,4 @@
-/* $Id: cidr.c 2074 2008-11-09 08:42:24Z aturner $ */
+/* $Id: cidr.c 2284 2009-05-03 07:24:10Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2004 Aaron Turner.
  * Copyright (c) 2001-2004 Aaron Turner.
@@ -64,8 +64,7 @@ print_cidr(tcpr_cidr_t * mycidr)
     cidr_ptr = mycidr;
     cidr_ptr = mycidr;
     while (cidr_ptr != NULL) {
     while (cidr_ptr != NULL) {
         /* print it */
         /* print it */
-        fprintf(stderr, "%s/%d, ",
-                get_addr2name4(cidr_ptr->network, RESOLVE),
+        fprintf(stderr, "%s/%d, ", get_cidr2name(cidr_ptr, RESOLVE),
                 cidr_ptr->masklen);
                 cidr_ptr->masklen);
 
 
         /* go to the next */
         /* go to the next */
@@ -106,13 +105,11 @@ add_cidr(tcpr_cidr_t ** cidrdata, tcpr_cidr_t ** newcidr)
 
 
     if (*cidrdata == NULL) {
     if (*cidrdata == NULL) {
         *cidrdata = *newcidr;
         *cidrdata = *newcidr;
-    }
-    else {
+    } else {
         cidr_ptr = *cidrdata;
         cidr_ptr = *cidrdata;
 
 
-        while (cidr_ptr->next != NULL) {
+        while (cidr_ptr->next != NULL)
             cidr_ptr = cidr_ptr->next;
             cidr_ptr = cidr_ptr->next;
-        }
 
 
         cidr_ptr->next = *newcidr;
         cidr_ptr->next = *newcidr;
     }
     }
@@ -137,8 +134,7 @@ ip2cidr(const unsigned long ip, const int masklen)
     if (masklen < 10) {
     if (masklen < 10) {
         snprintf(mask, 1, "%d", masklen);
         snprintf(mask, 1, "%d", masklen);
         strncat((char *)network, mask, 1);
         strncat((char *)network, mask, 1);
-    }
-    else {
+    } else {
         snprintf(mask, 2, "%d", masklen);
         snprintf(mask, 2, "%d", masklen);
         strncat((char *)network, mask, 2);
         strncat((char *)network, mask, 2);
     }
     }
@@ -192,52 +188,90 @@ cidr2cidr(char *cidr)
     unsigned int octets[4];     /* used in sscanf */
     unsigned int octets[4];     /* used in sscanf */
     tcpr_cidr_t *newcidr;
     tcpr_cidr_t *newcidr;
     char networkip[16], tempoctet[4], ebuf[EBUF_SIZE];
     char networkip[16], tempoctet[4], ebuf[EBUF_SIZE];
+    int family;
+    char* p;
 
 
     assert(cidr);
     assert(cidr);
     assert(strlen(cidr) <= EBUF_SIZE);
     assert(strlen(cidr) <= EBUF_SIZE);
 
 
     newcidr = new_cidr();
     newcidr = new_cidr();
 
 
+    for (p = cidr; *p; ++p) {
+        if (*p == '#') {
+            *p = ':';
+        } else if (*p == ']') {
+            *p = 0;
+            break;
+        }
+    }
+
     /*
     /*
      * scan it, and make sure it scanned correctly, also copy over the
      * scan it, and make sure it scanned correctly, also copy over the
      * masklen
      * masklen
      */
      */
     count = sscanf(cidr, "%u.%u.%u.%u/%d", &octets[0], &octets[1],
     count = sscanf(cidr, "%u.%u.%u.%u/%d", &octets[0], &octets[1],
-                   &octets[2], &octets[3], &newcidr->masklen);
+        &octets[2], &octets[3], &newcidr->masklen);
+
     if (count == 4) {
     if (count == 4) {
         newcidr->masklen = 32;
         newcidr->masklen = 32;
-    } else if (count != 5) {
-        goto error;
-    }
-
-    /* masklen better be 0 =< masklen <= 32 */
-    if (newcidr->masklen > 32)
-        goto error;
+        family = AF_INET;
+    } else if (count == 5) {
+        family = AF_INET;
+    } else {
+        p = strstr(cidr, "/");
+        if (p) {
+            *p = 0;
+            ++p;
+            count = sscanf(p, "%d", &newcidr->masklen);
+        } else {
+            newcidr->masklen = 128;
+        }
 
 
-    /* copy in the ip address */
-    memset(networkip, '\0', 16);
-    for (count = 0; count < 4; count++) {
-        if (octets[count] > 255)
+        if (newcidr->masklen < 0 || newcidr->masklen > 128)
             goto error;
             goto error;
 
 
-        snprintf(tempoctet, sizeof(octets[count]), "%d", octets[count]);
-        strcat(networkip, tempoctet);
-        /* we don't want a '.' at the end of the last octet */
-        if (count < 3)
-            strcat(networkip, ".");
+        if (get_name2addr6(cidr, RESOLVE, &newcidr->u.network6) > 0) {
+            family = AF_INET6;
+        } else {
+            goto error;
+        }
     }
     }
 
 
-    /* copy over the network address and return */
+    if (family == AF_INET) {
+        /* masklen better be 0 =< masklen <= 32 */
+        if (newcidr->masklen > 32)
+            goto error;
+
+        /* copy in the ip address */
+        memset(networkip, '\0', 16);
+        for (count = 0; count < 4; count++) {
+            if (octets[count] > 255)
+                goto error;
+
+            snprintf(tempoctet, sizeof(octets[count]), "%d", octets[count]);
+            strcat(networkip, tempoctet);
+            /* we don't want a '.' at the end of the last octet */
+            if (count < 3)
+                strcat(networkip, ".");
+        }
+
+        /* copy over the network address and return */
 #ifdef HAVE_INET_ATON
 #ifdef HAVE_INET_ATON
-    inet_aton(networkip, (struct in_addr *)&newcidr->network);
+        inet_aton(networkip, (struct in_addr *)&newcidr->u.network);
 #elif HAVE_INET_ADDR
 #elif HAVE_INET_ADDR
-    newcidr->network = inet_addr(networkip);
+        newcidr->network = inet_addr(networkip);
 #endif
 #endif
+    } else if (family == AF_INET6) {
+        /* Everything's done */
+    } else {
+        goto error;
+    }
 
 
+    newcidr->family = family;
     return (newcidr);
     return (newcidr);
 
 
     /* we only get here on error parsing input */
     /* we only get here on error parsing input */
-  error:
+error:
     memset(ebuf, '\0', EBUF_SIZE);
     memset(ebuf, '\0', EBUF_SIZE);
     strcpy(ebuf, "Unable to parse as a vaild CIDR: ");
     strcpy(ebuf, "Unable to parse as a vaild CIDR: ");
     strlcat(ebuf, cidr, EBUF_SIZE);
     strlcat(ebuf, cidr, EBUF_SIZE);
@@ -245,6 +279,22 @@ cidr2cidr(char *cidr)
     return NULL;
     return NULL;
 }
 }
 
 
+static void 
+mask_cidr6(char **cidrin, char* delim)
+{
+    char *p;
+
+    if (**cidrin == '[' && *delim == ':') {
+        ++*cidrin;
+        /* make strtok happy */
+        for (p = *cidrin; *p && *p != ']'; ++p) {
+            if (*p == ':') {
+                *p = '#';
+            }
+        }
+    }
+}
+
 /**
 /**
  * parses a list of tcpr_cidr_t's input from the user which should be in the form
  * parses a list of tcpr_cidr_t's input from the user which should be in the form
  * of x.x.x.x/y,x.x.x.x/y...
  * of x.x.x.x/y,x.x.x.x/y...
@@ -258,6 +308,8 @@ parse_cidr(tcpr_cidr_t ** cidrdata, char *cidrin, char *delim)
     char *network = NULL;
     char *network = NULL;
     char *token = NULL;
     char *token = NULL;
 
 
+    mask_cidr6(&cidrin, delim);
+
     /* first itteration of input using strtok */
     /* first itteration of input using strtok */
     network = strtok_r(cidrin, delim, &token);
     network = strtok_r(cidrin, delim, &token);
 
 
@@ -266,6 +318,9 @@ parse_cidr(tcpr_cidr_t ** cidrdata, char *cidrin, char *delim)
 
 
     /* do the same with the rest of the input */
     /* do the same with the rest of the input */
     while (1) {
     while (1) {
+        if (token)
+            mask_cidr6(&token, delim);
+
         network = strtok_r(NULL, delim, &token);
         network = strtok_r(NULL, delim, &token);
         /* if that was the last CIDR, then kickout */
         /* if that was the last CIDR, then kickout */
         if (network == NULL)
         if (network == NULL)
@@ -288,29 +343,56 @@ parse_cidr(tcpr_cidr_t ** cidrdata, char *cidrin, char *delim)
 int
 int
 parse_endpoints(tcpr_cidrmap_t ** cidrmap1, tcpr_cidrmap_t ** cidrmap2, const char *optarg)
 parse_endpoints(tcpr_cidrmap_t ** cidrmap1, tcpr_cidrmap_t ** cidrmap2, const char *optarg)
 {
 {
-#define NEWMAP_LEN 32
+#define NEWMAP_LEN (INET6_ADDRSTRLEN * 2)
     char *map = NULL, newmap[NEWMAP_LEN];
     char *map = NULL, newmap[NEWMAP_LEN];
     char *token = NULL;
     char *token = NULL;
     char *string;
     char *string;
+    char *p;
 
 
     string = safe_strdup(optarg);
     string = safe_strdup(optarg);
 
 
-    memset(newmap, '\0', NEWMAP_LEN);
-    map = strtok_r(string, ":", &token);
+    if (*string == '[') {
+        /* ipv6 mode */
+        memset(newmap, '\0', NEWMAP_LEN);
+        p = strstr(string, "]:[");
+        if (!p)
+            return 0;
+            
+        *p = 0;
+        strlcpy(newmap, "[::/0]:", NEWMAP_LEN);
+        strlcat(newmap, string, NEWMAP_LEN);
+        strlcat(newmap, "]", NEWMAP_LEN);
+        
+        if (! parse_cidr_map(cidrmap1, newmap))
+            return 0;
+
+        /* do again with the second IP */
+        memset(newmap, '\0', NEWMAP_LEN);
+        strlcpy(newmap, "[::/0]:", NEWMAP_LEN);
+        strlcat(newmap, p + 2, NEWMAP_LEN);
 
 
-    strlcpy(newmap, "0.0.0.0/0:", NEWMAP_LEN);
-    strlcat(newmap, map, NEWMAP_LEN);
-    if (! parse_cidr_map(cidrmap1, newmap))
-        return 0;
+        if (! parse_cidr_map(cidrmap2, newmap))
+            return 0;
+
+    } else {
+        /* ipv4 mode */
+        memset(newmap, '\0', NEWMAP_LEN);
+        map = strtok_r(string, ":", &token);
+
+        strlcpy(newmap, "0.0.0.0/0:", NEWMAP_LEN);
+        strlcat(newmap, map, NEWMAP_LEN);
+        if (! parse_cidr_map(cidrmap1, newmap))
+            return 0;
     
     
-    /* do again with the second IP */
-    memset(newmap, '\0', NEWMAP_LEN);
-    map = strtok_r(NULL, ":", &token);
+        /* do again with the second IP */
+        memset(newmap, '\0', NEWMAP_LEN);
+        map = strtok_r(NULL, ":", &token);
     
     
-    strlcpy(newmap, "0.0.0.0/0:", NEWMAP_LEN);
-    strlcat(newmap, map, NEWMAP_LEN);
-    if (! parse_cidr_map(cidrmap2, newmap))
-        return 0;
+        strlcpy(newmap, "0.0.0.0/0:", NEWMAP_LEN);
+        strlcat(newmap, map, NEWMAP_LEN);
+        if (! parse_cidr_map(cidrmap2, newmap))
+            return 0;
+    }
     
     
     safe_free(string);
     safe_free(string);
     return 1; /* success */
     return 1; /* success */
@@ -320,6 +402,7 @@ parse_endpoints(tcpr_cidrmap_t ** cidrmap1, tcpr_cidrmap_t ** cidrmap2, const ch
 /**
 /**
  * parses a list of tcpr_cidrmap_t's input from the user which should be in the form
  * parses a list of tcpr_cidrmap_t's input from the user which should be in the form
  * of x.x.x.x/y:x.x.x.x/y,...
  * of x.x.x.x/y:x.x.x.x/y,...
+ * IPv6 syntax: [addr/y]:[addr/y],...
  * returns 1 for success, or returns 0 on failure
  * returns 1 for success, or returns 0 on failure
  * since we use strtok to process optarg, it gets zeroed out.
  * since we use strtok to process optarg, it gets zeroed out.
  */
  */
@@ -369,8 +452,8 @@ parse_cidr_map(tcpr_cidrmap_t **cidrmap, const char *optarg)
         ptr->from = cidr;
         ptr->from = cidr;
         ptr->to = cidr->next;
         ptr->to = cidr->next;
         ptr->from->next = NULL;
         ptr->from->next = NULL;
-
     }
     }
+    
     safe_free(string);
     safe_free(string);
     return 1; /* success */
     return 1; /* success */
 }
 }
@@ -388,8 +471,11 @@ ip_in_cidr(const tcpr_cidr_t * mycidr, const unsigned long ip)
     char netstr[20];
     char netstr[20];
 #endif
 #endif
     
     
+    if (mycidr->family != AF_INET)
+        return 0;
+
     /* always return 1 if 0.0.0.0/0 */
     /* always return 1 if 0.0.0.0/0 */
-    if (mycidr->masklen == 0 && mycidr->network == 0)
+    if (mycidr->masklen == 0 && mycidr->u.network == 0)
         return 1;
         return 1;
 
 
     mask = ~0;                  /* turn on all the bits */
     mask = ~0;                  /* turn on all the bits */
@@ -400,12 +486,12 @@ ip_in_cidr(const tcpr_cidr_t * mycidr, const unsigned long ip)
     /* apply the mask to the network and ip */
     /* apply the mask to the network and ip */
     ipaddr = ntohl(ip) & mask;
     ipaddr = ntohl(ip) & mask;
 
 
-    network = htonl(mycidr->network) & mask;
+    network = htonl(mycidr->u.network) & mask;
 
 
 
 
 #ifdef DEBUG
 #ifdef DEBUG
     /* copy this for debug purposes, since it's not re-entrant */
     /* copy this for debug purposes, since it's not re-entrant */
-    strlcpy(netstr, get_addr2name4(htonl(mycidr->network), RESOLVE), 20);
+    strlcpy(netstr, get_addr2name4(htonl(mycidr->u.network), RESOLVE), 20);
 #endif
 #endif
 
 
     /* if they're the same, then ip is in network */
     /* if they're the same, then ip is in network */
@@ -415,8 +501,7 @@ ip_in_cidr(const tcpr_cidr_t * mycidr, const unsigned long ip)
             get_addr2name4(ip, RESOLVE), netstr, mycidr->masklen);
             get_addr2name4(ip, RESOLVE), netstr, mycidr->masklen);
 #endif
 #endif
         ret = 1;
         ret = 1;
-    }
-    else {
+    } else {
 #ifdef DEBUG
 #ifdef DEBUG
         dbgx(1, "The ip %s is not inside of %s/%d",
         dbgx(1, "The ip %s is not inside of %s/%d",
             get_addr2name4(ip, RESOLVE), netstr, mycidr->masklen);
             get_addr2name4(ip, RESOLVE), netstr, mycidr->masklen);
@@ -427,6 +512,70 @@ ip_in_cidr(const tcpr_cidr_t * mycidr, const unsigned long ip)
 
 
 }
 }
 
 
+static int
+ip6_addr_is_unspec(const struct tcpr_in6_addr *addr)
+{
+    return addr->tcpr_s6_addr32[0] == 0 && addr->tcpr_s6_addr32[1] == 0 &&
+      addr->tcpr_s6_addr32[2] == 0 && addr->tcpr_s6_addr32[3] == 0;
+}
+
+int
+ip6_in_cidr(const tcpr_cidr_t * mycidr, const struct tcpr_in6_addr *addr)
+{
+    int ret = 0;
+#ifdef DEBUG
+    char netstr[INET6_ADDRSTRLEN];
+#endif
+    int i, j, k;
+
+    if (mycidr->family != AF_INET6)
+        return 0;
+
+    /* always return 1 if ::/0 */
+    if (mycidr->masklen == 0 && ip6_addr_is_unspec(addr))
+        return 1;
+
+    j = mycidr->masklen / 8;
+
+    for (i = 0; i < j; i++) {
+        if (addr->tcpr_s6_addr[i] != mycidr->u.network6.tcpr_s6_addr[i]) {
+            ret = 0;
+            goto out;
+        }
+    }
+    
+    if ((k = mycidr->masklen % 8) == 0) {
+        ret = 1;
+        goto out;
+    }
+
+    k = ~0 << (8 - k);
+    i = addr->tcpr_s6_addr[j] & k;
+    j = mycidr->u.network6.tcpr_s6_addr[j] & k;
+    ret = i == j;
+out:
+
+#ifdef DEBUG
+    /* copy this for debug purposes, since it's not re-entrant */
+    strlcpy(netstr, get_addr2name6(&mycidr->u.network6, RESOLVE), INET6_ADDRSTRLEN);
+#endif
+
+    /* if they're the same, then ip is in network */
+    if (ret) {
+#ifdef DEBUG
+        dbgx(1, "The ip %s is inside of %s/%d",
+            get_addr2name6(addr, RESOLVE), netstr, mycidr->masklen);
+#endif
+    } else {
+#ifdef DEBUG
+        dbgx(1, "The ip %s is not inside of %s/%d",
+            get_addr2name6(addr, RESOLVE), netstr, mycidr->masklen);
+#endif
+    }
+    return ret;
+
+}
+
 
 
 /**
 /**
  * iterates over cidrdata to find if a given ip matches
  * iterates over cidrdata to find if a given ip matches
@@ -441,10 +590,9 @@ check_ip_cidr(tcpr_cidr_t * cidrdata, const unsigned long ip)
     /* if we have no cidrdata, of course it isn't in there 
     /* if we have no cidrdata, of course it isn't in there 
      * this actually should happen occasionally, so don't put an assert here
      * this actually should happen occasionally, so don't put an assert here
      */
      */
-    if (cidrdata == NULL) {
+    if (cidrdata == NULL)
         return 1;
         return 1;
-    }
-
+        
     mycidr = cidrdata;
     mycidr = cidrdata;
 
 
     /* loop through cidr */
     /* loop through cidr */
@@ -455,11 +603,11 @@ check_ip_cidr(tcpr_cidr_t * cidrdata, const unsigned long ip)
             dbgx(3, "Found %s in cidr", get_addr2name4(ip, RESOLVE));
             dbgx(3, "Found %s in cidr", get_addr2name4(ip, RESOLVE));
             return 1;
             return 1;
         }
         }
+        
         /* check for next record */
         /* check for next record */
         if (mycidr->next != NULL) {
         if (mycidr->next != NULL) {
             mycidr = mycidr->next;
             mycidr = mycidr->next;
-        }
-        else {
+        } else {
             break;
             break;
         }
         }
     }
     }
@@ -469,6 +617,42 @@ check_ip_cidr(tcpr_cidr_t * cidrdata, const unsigned long ip)
     return 0;
     return 0;
 }
 }
 
 
+int
+check_ip6_cidr(tcpr_cidr_t * cidrdata, const struct tcpr_in6_addr *addr)
+{
+    tcpr_cidr_t *mycidr;
+
+    /* if we have no cidrdata, of course it isn't in there
+     * this actually should happen occasionally, so don't put an assert here
+     */
+    if (cidrdata == NULL) {
+        return 1;
+    }
+
+    mycidr = cidrdata;
+
+    /* loop through cidr */
+    while (1) {
+
+        /* if match, return 1 */
+        if (ip6_in_cidr(mycidr, addr)) {
+            dbgx(3, "Found %s in cidr", get_addr2name6(addr, RESOLVE));
+            return 1;
+        }
+        
+        /* check for next record */
+        if (mycidr->next != NULL) {
+            mycidr = mycidr->next;
+        } else {
+            break;
+        }
+    }
+
+    /* if we get here, no match */
+    dbgx(3, "Didn't find %s in cidr", get_addr2name6(addr, RESOLVE));
+    return 0;
+}
+
 
 
 /**
 /**
  * cidr2ip takes a tcpr_cidr_t and a delimiter
  * cidr2ip takes a tcpr_cidr_t and a delimiter
@@ -488,9 +672,9 @@ cidr2iplist(tcpr_cidr_t * cidr, char delim)
      * # of IP's = 2^(32-masklen)
      * # of IP's = 2^(32-masklen)
      */
      */
     numips = 2;
     numips = 2;
-    for (int i = 2; i <= (32 - cidr->masklen); i++) {
+    for (int i = 2; i <= (32 - cidr->masklen); i++)
         numips *= 2;
         numips *= 2;
-    }
+
     size = 16 * numips;
     size = 16 * numips;
 
 
     list = (char *)safe_malloc(size);
     list = (char *)safe_malloc(size);
@@ -498,7 +682,7 @@ cidr2iplist(tcpr_cidr_t * cidr, char delim)
     memset(list, 0, size);
     memset(list, 0, size);
 
 
     /* first and last should not include network or broadcast */
     /* first and last should not include network or broadcast */
-    first = ntohl(cidr->network) + 1;
+    first = ntohl(cidr->u.network) + 1;
     last = first + numips - 3;
     last = first + numips - 3;
 
 
     dbgx(1, "First: %u\t\tLast: %u", first, last);
     dbgx(1, "First: %u\t\tLast: %u", first, last);
@@ -518,12 +702,3 @@ cidr2iplist(tcpr_cidr_t * cidr, char delim)
 
 
     return list;
     return list;
 }
 }
-
-/*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:4
- End:
-*/
-

+ 10 - 1
src/common/cidr.h

@@ -1,4 +1,4 @@
-/* $Id: cidr.h 1846 2007-04-27 23:28:06Z aturner $ */
+/* $Id: cidr.h 2284 2009-05-03 07:24:10Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2004 Aaron Turner.
  * Copyright (c) 2001-2004 Aaron Turner.
@@ -36,7 +36,11 @@
 #define __CIDR_H__
 #define __CIDR_H__
 
 
 struct tcpr_cidr_s {
 struct tcpr_cidr_s {
+    int family;                 /* AF_INET or AF_INET6 */
+    union {
     u_int32_t network;
     u_int32_t network;
+        struct tcpr_in6_addr network6;
+    } u;
     int masklen;
     int masklen;
     struct tcpr_cidr_s *next;
     struct tcpr_cidr_s *next;
 };
 };
@@ -52,6 +56,7 @@ typedef struct tcpr_cidrmap_s tcpr_cidrmap_t;
 
 
 int ip_in_cidr(const tcpr_cidr_t *, const unsigned long);
 int ip_in_cidr(const tcpr_cidr_t *, const unsigned long);
 int check_ip_cidr(tcpr_cidr_t *, const unsigned long);
 int check_ip_cidr(tcpr_cidr_t *, const unsigned long);
+int check_ip6_cidr(tcpr_cidr_t *, const struct tcpr_in6_addr *addr);
 int parse_cidr(tcpr_cidr_t **, char *, char *delim);
 int parse_cidr(tcpr_cidr_t **, char *, char *delim);
 int parse_cidr_map(tcpr_cidrmap_t **, const char *);
 int parse_cidr_map(tcpr_cidrmap_t **, const char *);
 int parse_endpoints(tcpr_cidrmap_t **, tcpr_cidrmap_t **, const char *);
 int parse_endpoints(tcpr_cidrmap_t **, tcpr_cidrmap_t **, const char *);
@@ -62,6 +67,10 @@ tcpr_cidrmap_t *new_cidr_map(void);
 void destroy_cidr(tcpr_cidr_t *);
 void destroy_cidr(tcpr_cidr_t *);
 void print_cidr(tcpr_cidr_t *);
 void print_cidr(tcpr_cidr_t *);
 char *cidr2iplist(tcpr_cidr_t *, char);
 char *cidr2iplist(tcpr_cidr_t *, char);
+
+int ip6_in_cidr(const tcpr_cidr_t * mycidr, const struct tcpr_in6_addr *addr);
+int check_ip6_cidr(tcpr_cidr_t *, const struct tcpr_in6_addr *addr);
+
 #endif
 #endif
 
 
 /*
 /*

+ 3 - 1
src/common/err.h

@@ -1,4 +1,4 @@
-/* $Id: err.h 2100 2009-01-04 22:03:48Z aturner $ */
+/* $Id: err.h 2328 2009-05-09 04:51:35Z aturner $ */
 
 
 /*
 /*
  * err.h
  * err.h
@@ -46,6 +46,8 @@
 #ifndef _ERR_H_
 #ifndef _ERR_H_
 #define _ERR_H_
 #define _ERR_H_
 
 
+#include <stdlib.h>
+
 #ifdef DEBUG
 #ifdef DEBUG
 extern int debug;
 extern int debug;
 #endif
 #endif

+ 266 - 11
src/common/get.c

@@ -1,4 +1,4 @@
-/* $Id: get.c 2096 2009-01-04 20:48:34Z aturner $ */
+/* $Id: get.c 2335 2009-05-11 22:16:37Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2005 Aaron Turner.
  * Copyright (c) 2001-2005 Aaron Turner.
@@ -52,6 +52,7 @@ extern int debug;
 extern const char pcap_version[];
 extern const char pcap_version[];
 #endif
 #endif
 
 
+
 /**
 /**
  * Depending on what version of libpcap/WinPcap there are different ways to get the
  * Depending on what version of libpcap/WinPcap there are different ways to get the
  * version of the libpcap/WinPcap library.  This presents a unified way to get that
  * version of the libpcap/WinPcap library.  This presents a unified way to get that
@@ -243,11 +244,62 @@ get_ipv4(const u_char *pktdata, int datalen, int datalink, u_char **newbuff)
     return ip_hdr;
     return ip_hdr;
 }
 }
 
 
+const u_char *
+get_ipv6(const u_char *pktdata, int datalen, int datalink, u_char **newbuff)
+{
+    const u_char *ip6_hdr = NULL;
+    int l2_len = 0;
+    u_int16_t proto;
+
+    assert(pktdata);
+    assert(datalen);
+    assert(*newbuff);
+
+    l2_len = get_l2len(pktdata, datalen, datalink);
+
+    /* sanity... datalen must be > l2_len + IP header len*/
+    if (l2_len + TCPR_IPV6_H > datalen) {
+        dbg(1, "get_ipv6(): Layer 2 len > total packet len, hence no IPv6 header");
+        return NULL;
+    }
+
+    proto = get_l2protocol(pktdata, datalen, datalink);
+
+    if (proto != ETHERTYPE_IP6)
+        return NULL;
+
+#ifdef FORCE_ALIGN
+    /*
+     * copy layer 3 and up to our temp packet buffer
+     * for now on, we have to edit the packetbuff because
+     * just before we send the packet, we copy the packetbuff
+     * back onto the pkt.data + l2len buffer
+     * we do all this work to prevent byte alignment issues
+     */
+    if (l2_len % 4) {
+        ip6_hdr = *newbuff;
+        memcpy(ip6_hdr, (pktdata + l2_len), (datalen - l2_len));
+    } else {
+
+        /* we don't have to do a memcpy if l2_len lands on a boundry */
+        ip6_hdr = (pktdata + l2_len);
+    }
+#else
+    /*
+     * on non-strict byte align systems, don't need to memcpy(),
+     * just point to l2len bytes into the existing buffer
+     */
+    ip6_hdr = (pktdata + l2_len);
+#endif
+
+    return ip6_hdr;
+}
+
 /**
 /**
- * returns a pointer to the layer 4 header which is just beyond the IP header
+ * returns a pointer to the layer 4 header which is just beyond the IPv4 header
  */
  */
 void *
 void *
-get_layer4(const ipv4_hdr_t * ip_hdr)
+get_layer4_v4(const ipv4_hdr_t *ip_hdr)
 {
 {
     void *ptr;
     void *ptr;
 
 
@@ -258,6 +310,166 @@ get_layer4(const ipv4_hdr_t * ip_hdr)
 }
 }
 
 
 /**
 /**
+ * returns a pointer to the layer 4 header which is just beyond the IPv6 header
+ * and any exension headers or NULL when there is none as in the case of
+ * v6 Frag or ESP header.  Function is recursive.
+ */
+void *
+get_layer4_v6(const ipv6_hdr_t *ip6_hdr)
+{
+    struct tcpr_ipv6_ext_hdr_base *next, *exthdr;
+    u_int8_t proto;
+    
+    assert(ip6_hdr);
+    
+    /* jump to the end of the IPv6 header */ 
+    next = (struct tcpr_ipv6_ext_hdr_base *)((u_char *)ip6_hdr + TCPR_IPV6_H);    
+    proto = ip6_hdr->ip_nh;
+    
+    while (TRUE) {
+        dbgx(3, "Processing proto: 0x%hx", proto);
+        
+        switch (proto) {        
+        /* recurse due to v6-in-v6, need to recast next as an IPv6 Header */
+        case TCPR_IPV6_NH_IPV6:
+            dbg(3, "recursing due to v6-in-v6");
+            return get_layer4_v6((ipv6_hdr_t *)next);
+            break;
+        
+        /* loop again */            
+        case TCPR_IPV6_NH_AH:
+        case TCPR_IPV6_NH_ROUTING:
+        case TCPR_IPV6_NH_DESTOPTS:
+        case TCPR_IPV6_NH_HBH:
+            dbgx(3, "Going deeper due to extension header 0x%02X", proto);
+            exthdr = get_ipv6_next(next);
+            proto = exthdr->ip_nh;
+            next = exthdr;
+            break;
+            
+        /*
+         * Can't handle.  Unparsable IPv6 fragment/encrypted data
+         */
+        case TCPR_IPV6_NH_FRAGMENT:
+        case TCPR_IPV6_NH_ESP:
+            return NULL;
+            break;
+
+        /*
+         * no further processing, either TCP, UDP, ICMP, etc...
+         */
+        default:
+            if (proto != ip6_hdr->ip_nh) {
+                dbgx(3, "Returning byte offset of this ext header: %u", IPV6_EXTLEN_TO_BYTES(next->ip_len));
+                return (void *)((u_char *)next + IPV6_EXTLEN_TO_BYTES(next->ip_len));
+            } else {
+                dbgx(3, "%s", "Returning end of IPv6 Header");
+                return next;
+            }
+            break;
+        } /* switch */
+    } /* while */
+}
+
+
+/**
+ * returns the next payload or header of the current extention header
+ * returns NULL for none/ESP.
+ */
+void *
+get_ipv6_next(struct tcpr_ipv6_ext_hdr_base *exthdr)
+{
+    int len = 0;
+
+    assert(exthdr);
+
+    dbgx(3, "Jumping to next IPv6 header.  Processing 0x%02x", exthdr->ip_nh);
+    switch (exthdr->ip_nh) {
+    /* no further processing */
+    case TCPR_IPV6_NH_NO_NEXT:
+    case TCPR_IPV6_NH_ESP:
+        dbg(3, "No-Next or ESP... can't go any further...");
+        return NULL;
+        break;
+
+    /* 
+     * fragment header is fixed size 
+     * FIXME: Frag header has further ext headers (has a ip_nh field)
+     * but I don't support it because there's never a full L4 + payload beyond.
+     */
+    case TCPR_IPV6_NH_FRAGMENT:
+        dbg(3, "Looks like were a fragment header. Returning some frag'd data.");
+        return (void *)((u_char *)exthdr + sizeof(struct tcpr_ipv6_frag_hdr));
+        break;
+
+    /* all the rest require us to go deeper using the ip_len field */
+    case TCPR_IPV6_NH_IPV6:
+    case TCPR_IPV6_NH_ROUTING:
+    case TCPR_IPV6_NH_DESTOPTS:
+    case TCPR_IPV6_NH_HBH:
+    case TCPR_IPV6_NH_AH:
+        len = IPV6_EXTLEN_TO_BYTES(exthdr->ip_len);
+        dbgx(3, "Looks like we're an ext header (0x%hhx).  Jumping %u bytes to the next", exthdr->ip_nh, len);
+        return (void *)((u_char *)exthdr + len);
+        break;
+        
+    default:
+        dbg(3, "Must not be a v6 extension header... returning self");
+        return (void *)exthdr;
+        break;
+    }
+}
+
+/**
+ * returns the protocol of the actual layer4 header by processing through
+ * the extension headers
+ */
+u_int8_t 
+get_ipv6_l4proto(const ipv6_hdr_t *ip6_hdr)
+{
+    u_char *ptr = (u_char *)ip6_hdr + TCPR_IPV6_H; /* jump to the end of the IPv6 header */
+    u_int8_t proto;
+    struct tcpr_ipv6_ext_hdr_base *exthdr = NULL;
+    
+    proto = ip6_hdr->ip_nh;
+    assert(ip6_hdr);
+        
+    while (TRUE) {
+        dbgx(3, "Processing next proto 0x%02X", proto);
+        switch (proto) {
+            /* no further processing for IPV6 types with nothing beyond them */
+            case TCPR_IPV6_NH_FRAGMENT:
+            case TCPR_IPV6_NH_ESP:
+                dbg(3, "No-Next or ESP... can't go any further...");
+                return proto;
+                break;
+        
+            /* recurse */
+            case TCPR_IPV6_NH_IPV6:
+                dbg(3, "Recursing due to v6 in v6");
+                return get_ipv6_l4proto((ipv6_hdr_t *)ptr);
+                break;
+
+            /* loop again */            
+            case TCPR_IPV6_NH_AH:
+            case TCPR_IPV6_NH_ROUTING:
+            case TCPR_IPV6_NH_DESTOPTS:
+            case TCPR_IPV6_NH_HBH:
+                dbgx(3, "Jumping to next extension header (0x%hhx)", proto);
+                exthdr = get_ipv6_next((struct tcpr_ipv6_ext_hdr_base *)ptr);
+                proto = exthdr->ip_nh;
+                ptr = (u_char *)exthdr;
+                break;
+                
+            /* should be TCP, UDP or the like */
+            default:
+                dbgx(3, "Selecting next L4 Proto as: 0x%02x", proto);
+                return proto;
+        }
+    }    
+}
+
+/**
  * get_name2addr4()
  * get_name2addr4()
  * stolen from LIBNET since I didn't want to have to deal with 
  * stolen from LIBNET since I didn't want to have to deal with 
  * passing a libnet_t around.  Returns 0xFFFFFFFF (255.255.255.255)
  * passing a libnet_t around.  Returns 0xFFFFFFFF (255.255.255.255)
@@ -335,6 +547,19 @@ get_name2addr4(const char *hostname, u_int8_t dnslookup)
     }
     }
 }
 }
 
 
+int
+get_name2addr6(const char *hostname, u_int8_t dnslookup, struct tcpr_in6_addr *addr)
+{
+    (void)dnslookup;
+
+#ifdef HAVE_INET_PTON
+    return inet_pton(AF_INET6, hostname, addr);
+#else
+#error "Unable to support get_name2addr6."
+#endif
+    return -1;
+}
+
 /**
 /**
  * Generic wrapper around inet_ntop() and inet_ntoa() depending on whichever
  * Generic wrapper around inet_ntop() and inet_ntoa() depending on whichever
  * is available on your system
  * is available on your system
@@ -358,7 +583,7 @@ get_addr2name4(const u_int32_t ip, u_int8_t dnslookup)
     }
     }
     return new_string;
     return new_string;
 #elif defined HAVE_INET_NTOA
 #elif defined HAVE_INET_NTOA
-    return inet_pton(&addr);
+    return inet_ntoa(&addr);
 #else
 #else
 #error "Unable to support get_addr2name4."
 #error "Unable to support get_addr2name4."
 #endif
 #endif
@@ -368,11 +593,41 @@ get_addr2name4(const u_int32_t ip, u_int8_t dnslookup)
     }
     }
     return new_string;
     return new_string;
 }
 }
-/*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:4
- End:
-*/
 
 
+const char *
+get_addr2name6(const struct tcpr_in6_addr *addr, u_int8_t dnslookup)
+{
+    static char *new_string = NULL;
+
+    if (new_string == NULL)
+        new_string = (char *)safe_malloc(255);
+
+    new_string[0] = '\0';
+
+#ifdef HAVE_INET_NTOP
+    if (inet_ntop(AF_INET6, addr, new_string, 255) == NULL) {
+        warn("Unable to convert addr to a string");
+        strlcpy(new_string, "", sizeof(new_string));
+    }
+    return new_string;
+#else
+#error "Unable to support get_addr2name6."
+#endif
+
+    if (dnslookup != DNS_DONT_RESOLVE) {
+        warn("Sorry, we don't support name resolution.");
+    }
+    return new_string;
+}
+
+const char *
+get_cidr2name(const tcpr_cidr_t *cidr_ptr, u_int8_t dnslookup)
+{
+    if (cidr_ptr->family == AF_INET) {
+        return get_addr2name4(cidr_ptr->u.network, dnslookup);
+    } else if (cidr_ptr->family == AF_INET6) {
+        return get_addr2name6(&cidr_ptr->u.network6, dnslookup);
+    } else {
+        return NULL;
+    }
+}

+ 14 - 2
src/common/get.h

@@ -1,4 +1,4 @@
-/* $Id: get.h 1757 2007-03-22 05:38:56Z aturner $ */
+/* $Id: get.h 2287 2009-05-03 19:31:14Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2005 Aaron Turner.
  * Copyright (c) 2001-2005 Aaron Turner.
@@ -43,14 +43,26 @@ int get_l2len(const u_char *pktdata, const int datalen, const int datalink);
 
 
 u_int16_t get_l2protocol(const u_char *pktdata, const int datalen, const int datalink);
 u_int16_t get_l2protocol(const u_char *pktdata, const int datalen, const int datalink);
 
 
-void *get_layer4(const ipv4_hdr_t * ip_hdr);
+void *get_layer4_v4(const ipv4_hdr_t *ip_hdr);
+void *get_layer4_v6(const ipv6_hdr_t *ip_hdr);
+
+u_int8_t get_ipv6_l4proto(const ipv6_hdr_t *ip6_hdr);
+void *get_ipv6_next(struct tcpr_ipv6_ext_hdr_base *exthdr);
 
 
 const u_char *get_ipv4(const u_char *pktdata, int datalen, int datalink, u_char **newbuff);
 const u_char *get_ipv4(const u_char *pktdata, int datalen, int datalink, u_char **newbuff);
+const u_char *get_ipv6(const u_char *pktdata, int datalen, int datalink, u_char **newbuff);
 
 
 u_int32_t get_name2addr4(const char *hostname, u_int8_t dnslookup);
 u_int32_t get_name2addr4(const char *hostname, u_int8_t dnslookup);
 const char *get_addr2name4(const u_int32_t ip, u_int8_t dnslookup);
 const char *get_addr2name4(const u_int32_t ip, u_int8_t dnslookup);
+const char *get_addr2name6(const struct tcpr_in6_addr *addr, u_int8_t dnslookup);
 const char *get_pcap_version(void);
 const char *get_pcap_version(void);
 
 
+int get_name2addr6(const char *hostname, u_int8_t dnslookup, struct tcpr_in6_addr *addr);
+
+
+const char *get_cidr2name(const tcpr_cidr_t *cidr_ptr, u_int8_t dnslookup);
+
+
 #endif
 #endif
 
 
 /*
 /*

+ 1 - 1
src/common/svn_version.c

@@ -1,4 +1,4 @@
-const char SVN_Version[] = "2229";
+const char SVN_Version[] = "2375";
 const char *svn_version(void) {
 const char *svn_version(void) {
 	return SVN_Version;
 	return SVN_Version;
 }
 }

+ 74 - 10
src/common/xX.c

@@ -1,4 +1,4 @@
-/* $Id: xX.c 2074 2008-11-09 08:42:24Z aturner $ */
+/* $Id: xX.c 2285 2009-05-03 07:27:38Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2004 Aaron Turner.
  * Copyright (c) 2001-2004 Aaron Turner.
@@ -41,6 +41,7 @@
 #include "config.h"
 #include "config.h"
 #include "defines.h"
 #include "defines.h"
 #include "common.h"
 #include "common.h"
+#include <stdlib.h>
 
 
 /**
 /**
  * returns the include_exclude_mode on success placing the CIDR or LIST in mybuf
  * returns the include_exclude_mode on success placing the CIDR or LIST in mybuf
@@ -61,18 +62,21 @@ parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf)
         if (!parse_cidr(&(xX->cidr), str, ","))
         if (!parse_cidr(&(xX->cidr), str, ","))
             return xXError;
             return xXError;
         break;
         break;
+
     case 'D':                  /* dst ip */
     case 'D':                  /* dst ip */
         str = str + 2;
         str = str + 2;
         out = xXDest;
         out = xXDest;
         if (!parse_cidr(&(xX->cidr), str, ","))
         if (!parse_cidr(&(xX->cidr), str, ","))
             return xXError;
             return xXError;
         break;
         break;
+
     case 'E':                  /* either ip */
     case 'E':                  /* either ip */
         str = str + 2;
         str = str + 2;
         out = xXEither;
         out = xXEither;
         if (!parse_cidr(&(xX->cidr), str, ","))
         if (!parse_cidr(&(xX->cidr), str, ","))
             return xXError;
             return xXError;
         break;
         break;
+        
     case 'F':                  /* bpf filter */
     case 'F':                  /* bpf filter */
         str = str + 2;
         str = str + 2;
         out = xXBPF;
         out = xXBPF;
@@ -83,12 +87,14 @@ parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf)
          * to compile the BPF once we open the pcap file
          * to compile the BPF once we open the pcap file
          */
          */
         break;
         break;
+        
     case 'P':                  /* packet id */
     case 'P':                  /* packet id */
         str = str + 2;
         str = str + 2;
         out = xXPacket;
         out = xXPacket;
         if (!parse_list(&(xX->list), str))
         if (!parse_list(&(xX->list), str))
             return xXError;
             return xXError;
         break;
         break;
+
     case 'S':                  /* source ip */
     case 'S':                  /* source ip */
         str = str + 2;
         str = str + 2;
         out = xXSource;
         out = xXSource;
@@ -96,7 +102,6 @@ parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf)
             return xXError;
             return xXError;
         break;
         break;
 
 
-
     default:
     default:
         errx(-1, "Invalid -%c option: %c", xX->mode, *str);
         errx(-1, "Invalid -%c option: %c", xX->mode, *str);
         break;
         break;
@@ -120,7 +125,7 @@ parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf)
  * and return 1 if we should send the packet or 0 if not
  * and return 1 if we should send the packet or 0 if not
  */
  */
 int
 int
-process_xX_by_cidr(int mode, tcpr_cidr_t * cidr, ipv4_hdr_t * ip_hdr)
+process_xX_by_cidr_ipv4(int mode, tcpr_cidr_t * cidr, ipv4_hdr_t * ip_hdr)
 {
 {
 
 
     if (mode & xXExclude) {
     if (mode & xXExclude) {
@@ -132,12 +137,15 @@ process_xX_by_cidr(int mode, tcpr_cidr_t * cidr, ipv4_hdr_t * ip_hdr)
              */
              */
             return check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ? DONT_SEND : SEND;
             return check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ? DONT_SEND : SEND;
             break;
             break;
+
         case xXDest:
         case xXDest:
             return check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ? DONT_SEND : SEND;
             return check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ? DONT_SEND : SEND;
+
         case xXBoth:
         case xXBoth:
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  &&
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  &&
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? DONT_SEND : SEND;
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? DONT_SEND : SEND;
             break;
             break;
+
         case xXEither:
         case xXEither:
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ||
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ||
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? DONT_SEND : SEND;
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? DONT_SEND : SEND;
@@ -150,13 +158,16 @@ process_xX_by_cidr(int mode, tcpr_cidr_t * cidr, ipv4_hdr_t * ip_hdr)
         case xXSource:
         case xXSource:
             return check_ip_cidr(cidr, ip_hdr->ip_src.s_addr)  ? SEND : DONT_SEND;
             return check_ip_cidr(cidr, ip_hdr->ip_src.s_addr)  ? SEND : DONT_SEND;
             break;
             break;
+
         case xXDest:
         case xXDest:
             return check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ? SEND : DONT_SEND;
             return check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ? SEND : DONT_SEND;
             break;
             break;
+
         case xXBoth:
         case xXBoth:
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  &&
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  &&
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? SEND : DONT_SEND;
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? SEND : DONT_SEND;
             break;
             break;
+
         case xXEither:
         case xXEither:
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ||
             return (check_ip_cidr(cidr, ip_hdr->ip_dst.s_addr)  ||
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? SEND : DONT_SEND;
                     check_ip_cidr(cidr, ip_hdr->ip_src.s_addr) ) ? SEND : DONT_SEND;
@@ -175,11 +186,64 @@ process_xX_by_cidr(int mode, tcpr_cidr_t * cidr, ipv4_hdr_t * ip_hdr)
 
 
 }
 }
 
 
-/*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:4
- End:
-*/
+int
+process_xX_by_cidr_ipv6(int mode, tcpr_cidr_t * cidr, ipv6_hdr_t * ip6_hdr)
+{
 
 
+    if (mode & xXExclude) {
+        /* Exclude mode */
+        switch (mode ^ xXExclude) {
+        case xXSource:
+            /* note: check_ip_cidr() returns TCPR_DIR_C2S for true, TCPR_DIR_S2C for false
+             * and NOT true/false or 1/0, etc!
+             */
+            return check_ip6_cidr(cidr, &ip6_hdr->ip_src) ? DONT_SEND : SEND;
+            break;
+
+        case xXDest:
+            return check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  ? DONT_SEND : SEND;
+
+        case xXBoth:
+            return (check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  &&
+                    check_ip6_cidr(cidr, &ip6_hdr->ip_src) ) ? DONT_SEND : SEND;
+            break;
+
+        case xXEither:
+            return (check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  ||
+                    check_ip6_cidr(cidr, &ip6_hdr->ip_src) ) ? DONT_SEND : SEND;
+            break;
+        }
+    }
+    else {
+        /* Include Mode */
+        switch (mode) {
+        case xXSource:
+            return check_ip6_cidr(cidr, &ip6_hdr->ip_src)  ? SEND : DONT_SEND;
+            break;
+
+        case xXDest:
+            return check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  ? SEND : DONT_SEND;
+            break;
+
+        case xXBoth:
+            return (check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  &&
+                    check_ip6_cidr(cidr, &ip6_hdr->ip_src) ) ? SEND : DONT_SEND;
+            break;
+
+        case xXEither:
+            return (check_ip6_cidr(cidr, &ip6_hdr->ip_dst)  ||
+                    check_ip6_cidr(cidr, &ip6_hdr->ip_src) ) ? SEND : DONT_SEND;
+            break;
+        }
+    }
+
+    /* total failure */
+    if (mode &xXExclude) {
+        warn("Unable to determine action in CIDR filter mode.  Default: Don't Send.");
+        return DONT_SEND;
+    } else {
+        warn("Unable to determine action in CIDR filter mode.  Default: Send.");
+        return SEND;
+    }
+
+}

+ 3 - 2
src/common/xX.h

@@ -1,4 +1,4 @@
-/* $Id: xX.h 1757 2007-03-22 05:38:56Z aturner $ */
+/* $Id: xX.h 2285 2009-05-03 07:27:38Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2004 Aaron Turner.
  * Copyright (c) 2001-2004 Aaron Turner.
@@ -38,7 +38,8 @@
  */
  */
 
 
 int parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf);
 int parse_xX_str(tcpr_xX_t *xX, char *str, tcpr_bpf_t *bpf);
-int process_xX_by_cidr(int, tcpr_cidr_t *, ipv4_hdr_t *);
+int process_xX_by_cidr_ipv4(int, tcpr_cidr_t *, ipv4_hdr_t *);
+int process_xX_by_cidr_ipv6(int, tcpr_cidr_t *, ipv6_hdr_t *);
 
 
 /*
 /*
  * Include/Exclude (xXmode) values
  * Include/Exclude (xXmode) values

+ 3 - 0
src/defines.h

@@ -210,6 +210,9 @@ enum tcpprep_mode {
 #endif
 #endif
 #endif
 #endif
 
 
+/* convert IPv6 Extention Header Len value to bytes */
+#define IPV6_EXTLEN_TO_BYTES(x) ((x * 4) + 8)
+
 #ifndef HAVE_UINT8_T
 #ifndef HAVE_UINT8_T
 typedef u_int8_t uint8_t
 typedef u_int8_t uint8_t
 typedef u_int16_t uint16_t
 typedef u_int16_t uint16_t

+ 3 - 0
src/defines.h.in

@@ -210,6 +210,9 @@ enum tcpprep_mode {
 #endif
 #endif
 #endif
 #endif
 
 
+/* convert IPv6 Extention Header Len value to bytes */
+#define IPV6_EXTLEN_TO_BYTES(x) ((x * 4) + 8)
+
 #ifndef HAVE_UINT8_T
 #ifndef HAVE_UINT8_T
 typedef u_int8_t uint8_t
 typedef u_int8_t uint8_t
 typedef u_int16_t uint16_t
 typedef u_int16_t uint16_t

BIN
src/fragroute/._argv.c


BIN
src/fragroute/._mod_ip_chaff.c


BIN
src/fragroute/._mod_ip_tos.c


BIN
src/fragroute/._mod_ip_ttl.c


BIN
src/fragroute/._mod_order.c


BIN
src/fragroute/._mod_print.c


BIN
src/fragroute/._mod_tcp_chaff.c


BIN
src/fragroute/._randutil.c


+ 3 - 2
src/fragroute/Makefile.am

@@ -3,14 +3,15 @@ libfragroute_a_SOURCES = fragroute.c bget.c mod.c pkt.c argv.c \
 						 randutil.c mod_delay.c mod_drop.c mod_dup.c \
 						 randutil.c mod_delay.c mod_drop.c mod_dup.c \
 						 mod_echo.c mod_ip_chaff.c mod_ip_frag.c mod_ip_opt.c \
 						 mod_echo.c mod_ip_chaff.c mod_ip_frag.c mod_ip_opt.c \
 						 mod_ip_ttl.c mod_ip_tos.c mod_order.c mod_print.c \
 						 mod_ip_ttl.c mod_ip_tos.c mod_order.c mod_print.c \
-						 mod_tcp_chaff.c mod_tcp_opt.c mod_tcp_seg.c
+						 mod_tcp_chaff.c mod_tcp_opt.c mod_tcp_seg.c \
+						 iputil.c mod_ip6_opt.c mod_ip6_qos.c
 
 
 
 
 libfragroute_a_CFLAGS = -I.. -I../.. @LDNETINC@
 libfragroute_a_CFLAGS = -I.. -I../.. @LDNETINC@
 
 
 # libfragroute_a_LIBS = @LDNETLIB@
 # libfragroute_a_LIBS = @LDNETLIB@
 
 
-noinst_HEADERS = bget.h mod.h pkt.h randutil.h fragroute.h argv.h \
+noinst_HEADERS = bget.h mod.h pkt.h randutil.h iputil.h fragroute.h argv.h \
 				 LICENSE README
 				 LICENSE README
 
 
 MOSTLYCLEANFILES = *~
 MOSTLYCLEANFILES = *~

+ 142 - 65
src/fragroute/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -45,6 +47,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
 ARFLAGS = cru
 libfragroute_a_AR = $(AR) $(ARFLAGS)
 libfragroute_a_AR = $(AR) $(ARFLAGS)
@@ -66,11 +69,15 @@ am_libfragroute_a_OBJECTS = libfragroute_a-fragroute.$(OBJEXT) \
 	libfragroute_a-mod_print.$(OBJEXT) \
 	libfragroute_a-mod_print.$(OBJEXT) \
 	libfragroute_a-mod_tcp_chaff.$(OBJEXT) \
 	libfragroute_a-mod_tcp_chaff.$(OBJEXT) \
 	libfragroute_a-mod_tcp_opt.$(OBJEXT) \
 	libfragroute_a-mod_tcp_opt.$(OBJEXT) \
-	libfragroute_a-mod_tcp_seg.$(OBJEXT)
+	libfragroute_a-mod_tcp_seg.$(OBJEXT) \
+	libfragroute_a-iputil.$(OBJEXT) \
+	libfragroute_a-mod_ip6_opt.$(OBJEXT) \
+	libfragroute_a-mod_ip6_qos.$(OBJEXT)
 libfragroute_a_OBJECTS = $(am_libfragroute_a_OBJECTS)
 libfragroute_a_OBJECTS = $(am_libfragroute_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -234,12 +241,13 @@ libfragroute_a_SOURCES = fragroute.c bget.c mod.c pkt.c argv.c \
 						 randutil.c mod_delay.c mod_drop.c mod_dup.c \
 						 randutil.c mod_delay.c mod_drop.c mod_dup.c \
 						 mod_echo.c mod_ip_chaff.c mod_ip_frag.c mod_ip_opt.c \
 						 mod_echo.c mod_ip_chaff.c mod_ip_frag.c mod_ip_opt.c \
 						 mod_ip_ttl.c mod_ip_tos.c mod_order.c mod_print.c \
 						 mod_ip_ttl.c mod_ip_tos.c mod_order.c mod_print.c \
-						 mod_tcp_chaff.c mod_tcp_opt.c mod_tcp_seg.c
+						 mod_tcp_chaff.c mod_tcp_opt.c mod_tcp_seg.c \
+						 iputil.c mod_ip6_opt.c mod_ip6_qos.c
 
 
 libfragroute_a_CFLAGS = -I.. -I../.. @LDNETINC@
 libfragroute_a_CFLAGS = -I.. -I../.. @LDNETINC@
 
 
 # libfragroute_a_LIBS = @LDNETLIB@
 # libfragroute_a_LIBS = @LDNETLIB@
-noinst_HEADERS = bget.h mod.h pkt.h randutil.h fragroute.h argv.h \
+noinst_HEADERS = bget.h mod.h pkt.h randutil.h iputil.h fragroute.h argv.h \
 				 LICENSE README
 				 LICENSE README
 
 
 MOSTLYCLEANFILES = *~
 MOSTLYCLEANFILES = *~
@@ -257,9 +265,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/fragroute/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/fragroute/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/fragroute/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/fragroute/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -277,6 +285,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 clean-noinstLIBRARIES:
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -294,11 +303,14 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-argv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-argv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-bget.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-bget.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-fragroute.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-fragroute.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-iputil.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_delay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_delay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_drop.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_drop.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_dup.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_dup.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_echo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_echo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip6_opt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip6_qos.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_chaff.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_chaff.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_frag.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_frag.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_opt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfragroute_a-mod_ip_opt.Po@am__quote@
@@ -314,305 +326,347 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 
 libfragroute_a-fragroute.o: fragroute.c
 libfragroute_a-fragroute.o: fragroute.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-fragroute.o -MD -MP -MF $(DEPDIR)/libfragroute_a-fragroute.Tpo -c -o libfragroute_a-fragroute.o `test -f 'fragroute.c' || echo '$(srcdir)/'`fragroute.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-fragroute.o -MD -MP -MF $(DEPDIR)/libfragroute_a-fragroute.Tpo -c -o libfragroute_a-fragroute.o `test -f 'fragroute.c' || echo '$(srcdir)/'`fragroute.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-fragroute.Tpo $(DEPDIR)/libfragroute_a-fragroute.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-fragroute.Tpo $(DEPDIR)/libfragroute_a-fragroute.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fragroute.c' object='libfragroute_a-fragroute.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fragroute.c' object='libfragroute_a-fragroute.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-fragroute.o `test -f 'fragroute.c' || echo '$(srcdir)/'`fragroute.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-fragroute.o `test -f 'fragroute.c' || echo '$(srcdir)/'`fragroute.c
 
 
 libfragroute_a-fragroute.obj: fragroute.c
 libfragroute_a-fragroute.obj: fragroute.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-fragroute.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-fragroute.Tpo -c -o libfragroute_a-fragroute.obj `if test -f 'fragroute.c'; then $(CYGPATH_W) 'fragroute.c'; else $(CYGPATH_W) '$(srcdir)/fragroute.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-fragroute.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-fragroute.Tpo -c -o libfragroute_a-fragroute.obj `if test -f 'fragroute.c'; then $(CYGPATH_W) 'fragroute.c'; else $(CYGPATH_W) '$(srcdir)/fragroute.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-fragroute.Tpo $(DEPDIR)/libfragroute_a-fragroute.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-fragroute.Tpo $(DEPDIR)/libfragroute_a-fragroute.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fragroute.c' object='libfragroute_a-fragroute.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fragroute.c' object='libfragroute_a-fragroute.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-fragroute.obj `if test -f 'fragroute.c'; then $(CYGPATH_W) 'fragroute.c'; else $(CYGPATH_W) '$(srcdir)/fragroute.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-fragroute.obj `if test -f 'fragroute.c'; then $(CYGPATH_W) 'fragroute.c'; else $(CYGPATH_W) '$(srcdir)/fragroute.c'; fi`
 
 
 libfragroute_a-bget.o: bget.c
 libfragroute_a-bget.o: bget.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-bget.o -MD -MP -MF $(DEPDIR)/libfragroute_a-bget.Tpo -c -o libfragroute_a-bget.o `test -f 'bget.c' || echo '$(srcdir)/'`bget.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-bget.o -MD -MP -MF $(DEPDIR)/libfragroute_a-bget.Tpo -c -o libfragroute_a-bget.o `test -f 'bget.c' || echo '$(srcdir)/'`bget.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-bget.Tpo $(DEPDIR)/libfragroute_a-bget.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-bget.Tpo $(DEPDIR)/libfragroute_a-bget.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bget.c' object='libfragroute_a-bget.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bget.c' object='libfragroute_a-bget.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-bget.o `test -f 'bget.c' || echo '$(srcdir)/'`bget.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-bget.o `test -f 'bget.c' || echo '$(srcdir)/'`bget.c
 
 
 libfragroute_a-bget.obj: bget.c
 libfragroute_a-bget.obj: bget.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-bget.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-bget.Tpo -c -o libfragroute_a-bget.obj `if test -f 'bget.c'; then $(CYGPATH_W) 'bget.c'; else $(CYGPATH_W) '$(srcdir)/bget.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-bget.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-bget.Tpo -c -o libfragroute_a-bget.obj `if test -f 'bget.c'; then $(CYGPATH_W) 'bget.c'; else $(CYGPATH_W) '$(srcdir)/bget.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-bget.Tpo $(DEPDIR)/libfragroute_a-bget.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-bget.Tpo $(DEPDIR)/libfragroute_a-bget.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bget.c' object='libfragroute_a-bget.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bget.c' object='libfragroute_a-bget.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-bget.obj `if test -f 'bget.c'; then $(CYGPATH_W) 'bget.c'; else $(CYGPATH_W) '$(srcdir)/bget.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-bget.obj `if test -f 'bget.c'; then $(CYGPATH_W) 'bget.c'; else $(CYGPATH_W) '$(srcdir)/bget.c'; fi`
 
 
 libfragroute_a-mod.o: mod.c
 libfragroute_a-mod.o: mod.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod.Tpo -c -o libfragroute_a-mod.o `test -f 'mod.c' || echo '$(srcdir)/'`mod.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod.Tpo -c -o libfragroute_a-mod.o `test -f 'mod.c' || echo '$(srcdir)/'`mod.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod.Tpo $(DEPDIR)/libfragroute_a-mod.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod.Tpo $(DEPDIR)/libfragroute_a-mod.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod.c' object='libfragroute_a-mod.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod.c' object='libfragroute_a-mod.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod.o `test -f 'mod.c' || echo '$(srcdir)/'`mod.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod.o `test -f 'mod.c' || echo '$(srcdir)/'`mod.c
 
 
 libfragroute_a-mod.obj: mod.c
 libfragroute_a-mod.obj: mod.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod.Tpo -c -o libfragroute_a-mod.obj `if test -f 'mod.c'; then $(CYGPATH_W) 'mod.c'; else $(CYGPATH_W) '$(srcdir)/mod.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod.Tpo -c -o libfragroute_a-mod.obj `if test -f 'mod.c'; then $(CYGPATH_W) 'mod.c'; else $(CYGPATH_W) '$(srcdir)/mod.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod.Tpo $(DEPDIR)/libfragroute_a-mod.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod.Tpo $(DEPDIR)/libfragroute_a-mod.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod.c' object='libfragroute_a-mod.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod.c' object='libfragroute_a-mod.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod.obj `if test -f 'mod.c'; then $(CYGPATH_W) 'mod.c'; else $(CYGPATH_W) '$(srcdir)/mod.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod.obj `if test -f 'mod.c'; then $(CYGPATH_W) 'mod.c'; else $(CYGPATH_W) '$(srcdir)/mod.c'; fi`
 
 
 libfragroute_a-pkt.o: pkt.c
 libfragroute_a-pkt.o: pkt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-pkt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-pkt.Tpo -c -o libfragroute_a-pkt.o `test -f 'pkt.c' || echo '$(srcdir)/'`pkt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-pkt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-pkt.Tpo -c -o libfragroute_a-pkt.o `test -f 'pkt.c' || echo '$(srcdir)/'`pkt.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-pkt.Tpo $(DEPDIR)/libfragroute_a-pkt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-pkt.Tpo $(DEPDIR)/libfragroute_a-pkt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pkt.c' object='libfragroute_a-pkt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pkt.c' object='libfragroute_a-pkt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-pkt.o `test -f 'pkt.c' || echo '$(srcdir)/'`pkt.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-pkt.o `test -f 'pkt.c' || echo '$(srcdir)/'`pkt.c
 
 
 libfragroute_a-pkt.obj: pkt.c
 libfragroute_a-pkt.obj: pkt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-pkt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-pkt.Tpo -c -o libfragroute_a-pkt.obj `if test -f 'pkt.c'; then $(CYGPATH_W) 'pkt.c'; else $(CYGPATH_W) '$(srcdir)/pkt.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-pkt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-pkt.Tpo -c -o libfragroute_a-pkt.obj `if test -f 'pkt.c'; then $(CYGPATH_W) 'pkt.c'; else $(CYGPATH_W) '$(srcdir)/pkt.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-pkt.Tpo $(DEPDIR)/libfragroute_a-pkt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-pkt.Tpo $(DEPDIR)/libfragroute_a-pkt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pkt.c' object='libfragroute_a-pkt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pkt.c' object='libfragroute_a-pkt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-pkt.obj `if test -f 'pkt.c'; then $(CYGPATH_W) 'pkt.c'; else $(CYGPATH_W) '$(srcdir)/pkt.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-pkt.obj `if test -f 'pkt.c'; then $(CYGPATH_W) 'pkt.c'; else $(CYGPATH_W) '$(srcdir)/pkt.c'; fi`
 
 
 libfragroute_a-argv.o: argv.c
 libfragroute_a-argv.o: argv.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-argv.o -MD -MP -MF $(DEPDIR)/libfragroute_a-argv.Tpo -c -o libfragroute_a-argv.o `test -f 'argv.c' || echo '$(srcdir)/'`argv.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-argv.o -MD -MP -MF $(DEPDIR)/libfragroute_a-argv.Tpo -c -o libfragroute_a-argv.o `test -f 'argv.c' || echo '$(srcdir)/'`argv.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-argv.Tpo $(DEPDIR)/libfragroute_a-argv.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-argv.Tpo $(DEPDIR)/libfragroute_a-argv.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='argv.c' object='libfragroute_a-argv.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='argv.c' object='libfragroute_a-argv.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-argv.o `test -f 'argv.c' || echo '$(srcdir)/'`argv.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-argv.o `test -f 'argv.c' || echo '$(srcdir)/'`argv.c
 
 
 libfragroute_a-argv.obj: argv.c
 libfragroute_a-argv.obj: argv.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-argv.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-argv.Tpo -c -o libfragroute_a-argv.obj `if test -f 'argv.c'; then $(CYGPATH_W) 'argv.c'; else $(CYGPATH_W) '$(srcdir)/argv.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-argv.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-argv.Tpo -c -o libfragroute_a-argv.obj `if test -f 'argv.c'; then $(CYGPATH_W) 'argv.c'; else $(CYGPATH_W) '$(srcdir)/argv.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-argv.Tpo $(DEPDIR)/libfragroute_a-argv.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-argv.Tpo $(DEPDIR)/libfragroute_a-argv.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='argv.c' object='libfragroute_a-argv.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='argv.c' object='libfragroute_a-argv.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-argv.obj `if test -f 'argv.c'; then $(CYGPATH_W) 'argv.c'; else $(CYGPATH_W) '$(srcdir)/argv.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-argv.obj `if test -f 'argv.c'; then $(CYGPATH_W) 'argv.c'; else $(CYGPATH_W) '$(srcdir)/argv.c'; fi`
 
 
 libfragroute_a-randutil.o: randutil.c
 libfragroute_a-randutil.o: randutil.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-randutil.o -MD -MP -MF $(DEPDIR)/libfragroute_a-randutil.Tpo -c -o libfragroute_a-randutil.o `test -f 'randutil.c' || echo '$(srcdir)/'`randutil.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-randutil.o -MD -MP -MF $(DEPDIR)/libfragroute_a-randutil.Tpo -c -o libfragroute_a-randutil.o `test -f 'randutil.c' || echo '$(srcdir)/'`randutil.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-randutil.Tpo $(DEPDIR)/libfragroute_a-randutil.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-randutil.Tpo $(DEPDIR)/libfragroute_a-randutil.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='randutil.c' object='libfragroute_a-randutil.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='randutil.c' object='libfragroute_a-randutil.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-randutil.o `test -f 'randutil.c' || echo '$(srcdir)/'`randutil.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-randutil.o `test -f 'randutil.c' || echo '$(srcdir)/'`randutil.c
 
 
 libfragroute_a-randutil.obj: randutil.c
 libfragroute_a-randutil.obj: randutil.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-randutil.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-randutil.Tpo -c -o libfragroute_a-randutil.obj `if test -f 'randutil.c'; then $(CYGPATH_W) 'randutil.c'; else $(CYGPATH_W) '$(srcdir)/randutil.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-randutil.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-randutil.Tpo -c -o libfragroute_a-randutil.obj `if test -f 'randutil.c'; then $(CYGPATH_W) 'randutil.c'; else $(CYGPATH_W) '$(srcdir)/randutil.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-randutil.Tpo $(DEPDIR)/libfragroute_a-randutil.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-randutil.Tpo $(DEPDIR)/libfragroute_a-randutil.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='randutil.c' object='libfragroute_a-randutil.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='randutil.c' object='libfragroute_a-randutil.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-randutil.obj `if test -f 'randutil.c'; then $(CYGPATH_W) 'randutil.c'; else $(CYGPATH_W) '$(srcdir)/randutil.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-randutil.obj `if test -f 'randutil.c'; then $(CYGPATH_W) 'randutil.c'; else $(CYGPATH_W) '$(srcdir)/randutil.c'; fi`
 
 
 libfragroute_a-mod_delay.o: mod_delay.c
 libfragroute_a-mod_delay.o: mod_delay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_delay.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_delay.Tpo -c -o libfragroute_a-mod_delay.o `test -f 'mod_delay.c' || echo '$(srcdir)/'`mod_delay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_delay.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_delay.Tpo -c -o libfragroute_a-mod_delay.o `test -f 'mod_delay.c' || echo '$(srcdir)/'`mod_delay.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_delay.Tpo $(DEPDIR)/libfragroute_a-mod_delay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_delay.Tpo $(DEPDIR)/libfragroute_a-mod_delay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_delay.c' object='libfragroute_a-mod_delay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_delay.c' object='libfragroute_a-mod_delay.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_delay.o `test -f 'mod_delay.c' || echo '$(srcdir)/'`mod_delay.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_delay.o `test -f 'mod_delay.c' || echo '$(srcdir)/'`mod_delay.c
 
 
 libfragroute_a-mod_delay.obj: mod_delay.c
 libfragroute_a-mod_delay.obj: mod_delay.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_delay.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_delay.Tpo -c -o libfragroute_a-mod_delay.obj `if test -f 'mod_delay.c'; then $(CYGPATH_W) 'mod_delay.c'; else $(CYGPATH_W) '$(srcdir)/mod_delay.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_delay.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_delay.Tpo -c -o libfragroute_a-mod_delay.obj `if test -f 'mod_delay.c'; then $(CYGPATH_W) 'mod_delay.c'; else $(CYGPATH_W) '$(srcdir)/mod_delay.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_delay.Tpo $(DEPDIR)/libfragroute_a-mod_delay.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_delay.Tpo $(DEPDIR)/libfragroute_a-mod_delay.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_delay.c' object='libfragroute_a-mod_delay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_delay.c' object='libfragroute_a-mod_delay.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_delay.obj `if test -f 'mod_delay.c'; then $(CYGPATH_W) 'mod_delay.c'; else $(CYGPATH_W) '$(srcdir)/mod_delay.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_delay.obj `if test -f 'mod_delay.c'; then $(CYGPATH_W) 'mod_delay.c'; else $(CYGPATH_W) '$(srcdir)/mod_delay.c'; fi`
 
 
 libfragroute_a-mod_drop.o: mod_drop.c
 libfragroute_a-mod_drop.o: mod_drop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_drop.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_drop.Tpo -c -o libfragroute_a-mod_drop.o `test -f 'mod_drop.c' || echo '$(srcdir)/'`mod_drop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_drop.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_drop.Tpo -c -o libfragroute_a-mod_drop.o `test -f 'mod_drop.c' || echo '$(srcdir)/'`mod_drop.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_drop.Tpo $(DEPDIR)/libfragroute_a-mod_drop.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_drop.Tpo $(DEPDIR)/libfragroute_a-mod_drop.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_drop.c' object='libfragroute_a-mod_drop.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_drop.c' object='libfragroute_a-mod_drop.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_drop.o `test -f 'mod_drop.c' || echo '$(srcdir)/'`mod_drop.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_drop.o `test -f 'mod_drop.c' || echo '$(srcdir)/'`mod_drop.c
 
 
 libfragroute_a-mod_drop.obj: mod_drop.c
 libfragroute_a-mod_drop.obj: mod_drop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_drop.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_drop.Tpo -c -o libfragroute_a-mod_drop.obj `if test -f 'mod_drop.c'; then $(CYGPATH_W) 'mod_drop.c'; else $(CYGPATH_W) '$(srcdir)/mod_drop.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_drop.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_drop.Tpo -c -o libfragroute_a-mod_drop.obj `if test -f 'mod_drop.c'; then $(CYGPATH_W) 'mod_drop.c'; else $(CYGPATH_W) '$(srcdir)/mod_drop.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_drop.Tpo $(DEPDIR)/libfragroute_a-mod_drop.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_drop.Tpo $(DEPDIR)/libfragroute_a-mod_drop.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_drop.c' object='libfragroute_a-mod_drop.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_drop.c' object='libfragroute_a-mod_drop.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_drop.obj `if test -f 'mod_drop.c'; then $(CYGPATH_W) 'mod_drop.c'; else $(CYGPATH_W) '$(srcdir)/mod_drop.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_drop.obj `if test -f 'mod_drop.c'; then $(CYGPATH_W) 'mod_drop.c'; else $(CYGPATH_W) '$(srcdir)/mod_drop.c'; fi`
 
 
 libfragroute_a-mod_dup.o: mod_dup.c
 libfragroute_a-mod_dup.o: mod_dup.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_dup.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_dup.Tpo -c -o libfragroute_a-mod_dup.o `test -f 'mod_dup.c' || echo '$(srcdir)/'`mod_dup.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_dup.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_dup.Tpo -c -o libfragroute_a-mod_dup.o `test -f 'mod_dup.c' || echo '$(srcdir)/'`mod_dup.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_dup.Tpo $(DEPDIR)/libfragroute_a-mod_dup.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_dup.Tpo $(DEPDIR)/libfragroute_a-mod_dup.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_dup.c' object='libfragroute_a-mod_dup.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_dup.c' object='libfragroute_a-mod_dup.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_dup.o `test -f 'mod_dup.c' || echo '$(srcdir)/'`mod_dup.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_dup.o `test -f 'mod_dup.c' || echo '$(srcdir)/'`mod_dup.c
 
 
 libfragroute_a-mod_dup.obj: mod_dup.c
 libfragroute_a-mod_dup.obj: mod_dup.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_dup.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_dup.Tpo -c -o libfragroute_a-mod_dup.obj `if test -f 'mod_dup.c'; then $(CYGPATH_W) 'mod_dup.c'; else $(CYGPATH_W) '$(srcdir)/mod_dup.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_dup.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_dup.Tpo -c -o libfragroute_a-mod_dup.obj `if test -f 'mod_dup.c'; then $(CYGPATH_W) 'mod_dup.c'; else $(CYGPATH_W) '$(srcdir)/mod_dup.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_dup.Tpo $(DEPDIR)/libfragroute_a-mod_dup.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_dup.Tpo $(DEPDIR)/libfragroute_a-mod_dup.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_dup.c' object='libfragroute_a-mod_dup.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_dup.c' object='libfragroute_a-mod_dup.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_dup.obj `if test -f 'mod_dup.c'; then $(CYGPATH_W) 'mod_dup.c'; else $(CYGPATH_W) '$(srcdir)/mod_dup.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_dup.obj `if test -f 'mod_dup.c'; then $(CYGPATH_W) 'mod_dup.c'; else $(CYGPATH_W) '$(srcdir)/mod_dup.c'; fi`
 
 
 libfragroute_a-mod_echo.o: mod_echo.c
 libfragroute_a-mod_echo.o: mod_echo.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_echo.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_echo.Tpo -c -o libfragroute_a-mod_echo.o `test -f 'mod_echo.c' || echo '$(srcdir)/'`mod_echo.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_echo.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_echo.Tpo -c -o libfragroute_a-mod_echo.o `test -f 'mod_echo.c' || echo '$(srcdir)/'`mod_echo.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_echo.Tpo $(DEPDIR)/libfragroute_a-mod_echo.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_echo.Tpo $(DEPDIR)/libfragroute_a-mod_echo.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_echo.c' object='libfragroute_a-mod_echo.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_echo.c' object='libfragroute_a-mod_echo.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_echo.o `test -f 'mod_echo.c' || echo '$(srcdir)/'`mod_echo.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_echo.o `test -f 'mod_echo.c' || echo '$(srcdir)/'`mod_echo.c
 
 
 libfragroute_a-mod_echo.obj: mod_echo.c
 libfragroute_a-mod_echo.obj: mod_echo.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_echo.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_echo.Tpo -c -o libfragroute_a-mod_echo.obj `if test -f 'mod_echo.c'; then $(CYGPATH_W) 'mod_echo.c'; else $(CYGPATH_W) '$(srcdir)/mod_echo.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_echo.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_echo.Tpo -c -o libfragroute_a-mod_echo.obj `if test -f 'mod_echo.c'; then $(CYGPATH_W) 'mod_echo.c'; else $(CYGPATH_W) '$(srcdir)/mod_echo.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_echo.Tpo $(DEPDIR)/libfragroute_a-mod_echo.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_echo.Tpo $(DEPDIR)/libfragroute_a-mod_echo.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_echo.c' object='libfragroute_a-mod_echo.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_echo.c' object='libfragroute_a-mod_echo.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_echo.obj `if test -f 'mod_echo.c'; then $(CYGPATH_W) 'mod_echo.c'; else $(CYGPATH_W) '$(srcdir)/mod_echo.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_echo.obj `if test -f 'mod_echo.c'; then $(CYGPATH_W) 'mod_echo.c'; else $(CYGPATH_W) '$(srcdir)/mod_echo.c'; fi`
 
 
 libfragroute_a-mod_ip_chaff.o: mod_ip_chaff.c
 libfragroute_a-mod_ip_chaff.o: mod_ip_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_chaff.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo -c -o libfragroute_a-mod_ip_chaff.o `test -f 'mod_ip_chaff.c' || echo '$(srcdir)/'`mod_ip_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_chaff.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo -c -o libfragroute_a-mod_ip_chaff.o `test -f 'mod_ip_chaff.c' || echo '$(srcdir)/'`mod_ip_chaff.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_ip_chaff.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_ip_chaff.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_chaff.c' object='libfragroute_a-mod_ip_chaff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_chaff.c' object='libfragroute_a-mod_ip_chaff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_chaff.o `test -f 'mod_ip_chaff.c' || echo '$(srcdir)/'`mod_ip_chaff.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_chaff.o `test -f 'mod_ip_chaff.c' || echo '$(srcdir)/'`mod_ip_chaff.c
 
 
 libfragroute_a-mod_ip_chaff.obj: mod_ip_chaff.c
 libfragroute_a-mod_ip_chaff.obj: mod_ip_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_chaff.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo -c -o libfragroute_a-mod_ip_chaff.obj `if test -f 'mod_ip_chaff.c'; then $(CYGPATH_W) 'mod_ip_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_chaff.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_chaff.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo -c -o libfragroute_a-mod_ip_chaff.obj `if test -f 'mod_ip_chaff.c'; then $(CYGPATH_W) 'mod_ip_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_chaff.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_ip_chaff.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_ip_chaff.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_chaff.c' object='libfragroute_a-mod_ip_chaff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_chaff.c' object='libfragroute_a-mod_ip_chaff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_chaff.obj `if test -f 'mod_ip_chaff.c'; then $(CYGPATH_W) 'mod_ip_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_chaff.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_chaff.obj `if test -f 'mod_ip_chaff.c'; then $(CYGPATH_W) 'mod_ip_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_chaff.c'; fi`
 
 
 libfragroute_a-mod_ip_frag.o: mod_ip_frag.c
 libfragroute_a-mod_ip_frag.o: mod_ip_frag.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_frag.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo -c -o libfragroute_a-mod_ip_frag.o `test -f 'mod_ip_frag.c' || echo '$(srcdir)/'`mod_ip_frag.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_frag.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo -c -o libfragroute_a-mod_ip_frag.o `test -f 'mod_ip_frag.c' || echo '$(srcdir)/'`mod_ip_frag.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo $(DEPDIR)/libfragroute_a-mod_ip_frag.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo $(DEPDIR)/libfragroute_a-mod_ip_frag.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_frag.c' object='libfragroute_a-mod_ip_frag.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_frag.c' object='libfragroute_a-mod_ip_frag.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_frag.o `test -f 'mod_ip_frag.c' || echo '$(srcdir)/'`mod_ip_frag.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_frag.o `test -f 'mod_ip_frag.c' || echo '$(srcdir)/'`mod_ip_frag.c
 
 
 libfragroute_a-mod_ip_frag.obj: mod_ip_frag.c
 libfragroute_a-mod_ip_frag.obj: mod_ip_frag.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_frag.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo -c -o libfragroute_a-mod_ip_frag.obj `if test -f 'mod_ip_frag.c'; then $(CYGPATH_W) 'mod_ip_frag.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_frag.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_frag.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo -c -o libfragroute_a-mod_ip_frag.obj `if test -f 'mod_ip_frag.c'; then $(CYGPATH_W) 'mod_ip_frag.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_frag.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo $(DEPDIR)/libfragroute_a-mod_ip_frag.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_frag.Tpo $(DEPDIR)/libfragroute_a-mod_ip_frag.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_frag.c' object='libfragroute_a-mod_ip_frag.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_frag.c' object='libfragroute_a-mod_ip_frag.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_frag.obj `if test -f 'mod_ip_frag.c'; then $(CYGPATH_W) 'mod_ip_frag.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_frag.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_frag.obj `if test -f 'mod_ip_frag.c'; then $(CYGPATH_W) 'mod_ip_frag.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_frag.c'; fi`
 
 
 libfragroute_a-mod_ip_opt.o: mod_ip_opt.c
 libfragroute_a-mod_ip_opt.o: mod_ip_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_opt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo -c -o libfragroute_a-mod_ip_opt.o `test -f 'mod_ip_opt.c' || echo '$(srcdir)/'`mod_ip_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_opt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo -c -o libfragroute_a-mod_ip_opt.o `test -f 'mod_ip_opt.c' || echo '$(srcdir)/'`mod_ip_opt.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip_opt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip_opt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_opt.c' object='libfragroute_a-mod_ip_opt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_opt.c' object='libfragroute_a-mod_ip_opt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_opt.o `test -f 'mod_ip_opt.c' || echo '$(srcdir)/'`mod_ip_opt.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_opt.o `test -f 'mod_ip_opt.c' || echo '$(srcdir)/'`mod_ip_opt.c
 
 
 libfragroute_a-mod_ip_opt.obj: mod_ip_opt.c
 libfragroute_a-mod_ip_opt.obj: mod_ip_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_opt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo -c -o libfragroute_a-mod_ip_opt.obj `if test -f 'mod_ip_opt.c'; then $(CYGPATH_W) 'mod_ip_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_opt.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_opt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo -c -o libfragroute_a-mod_ip_opt.obj `if test -f 'mod_ip_opt.c'; then $(CYGPATH_W) 'mod_ip_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_opt.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip_opt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip_opt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_opt.c' object='libfragroute_a-mod_ip_opt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_opt.c' object='libfragroute_a-mod_ip_opt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_opt.obj `if test -f 'mod_ip_opt.c'; then $(CYGPATH_W) 'mod_ip_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_opt.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_opt.obj `if test -f 'mod_ip_opt.c'; then $(CYGPATH_W) 'mod_ip_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_opt.c'; fi`
 
 
 libfragroute_a-mod_ip_ttl.o: mod_ip_ttl.c
 libfragroute_a-mod_ip_ttl.o: mod_ip_ttl.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_ttl.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo -c -o libfragroute_a-mod_ip_ttl.o `test -f 'mod_ip_ttl.c' || echo '$(srcdir)/'`mod_ip_ttl.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_ttl.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo -c -o libfragroute_a-mod_ip_ttl.o `test -f 'mod_ip_ttl.c' || echo '$(srcdir)/'`mod_ip_ttl.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo $(DEPDIR)/libfragroute_a-mod_ip_ttl.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo $(DEPDIR)/libfragroute_a-mod_ip_ttl.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_ttl.c' object='libfragroute_a-mod_ip_ttl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_ttl.c' object='libfragroute_a-mod_ip_ttl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_ttl.o `test -f 'mod_ip_ttl.c' || echo '$(srcdir)/'`mod_ip_ttl.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_ttl.o `test -f 'mod_ip_ttl.c' || echo '$(srcdir)/'`mod_ip_ttl.c
 
 
 libfragroute_a-mod_ip_ttl.obj: mod_ip_ttl.c
 libfragroute_a-mod_ip_ttl.obj: mod_ip_ttl.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_ttl.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo -c -o libfragroute_a-mod_ip_ttl.obj `if test -f 'mod_ip_ttl.c'; then $(CYGPATH_W) 'mod_ip_ttl.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_ttl.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_ttl.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo -c -o libfragroute_a-mod_ip_ttl.obj `if test -f 'mod_ip_ttl.c'; then $(CYGPATH_W) 'mod_ip_ttl.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_ttl.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo $(DEPDIR)/libfragroute_a-mod_ip_ttl.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_ttl.Tpo $(DEPDIR)/libfragroute_a-mod_ip_ttl.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_ttl.c' object='libfragroute_a-mod_ip_ttl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_ttl.c' object='libfragroute_a-mod_ip_ttl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_ttl.obj `if test -f 'mod_ip_ttl.c'; then $(CYGPATH_W) 'mod_ip_ttl.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_ttl.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_ttl.obj `if test -f 'mod_ip_ttl.c'; then $(CYGPATH_W) 'mod_ip_ttl.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_ttl.c'; fi`
 
 
 libfragroute_a-mod_ip_tos.o: mod_ip_tos.c
 libfragroute_a-mod_ip_tos.o: mod_ip_tos.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_tos.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo -c -o libfragroute_a-mod_ip_tos.o `test -f 'mod_ip_tos.c' || echo '$(srcdir)/'`mod_ip_tos.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_tos.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo -c -o libfragroute_a-mod_ip_tos.o `test -f 'mod_ip_tos.c' || echo '$(srcdir)/'`mod_ip_tos.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo $(DEPDIR)/libfragroute_a-mod_ip_tos.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo $(DEPDIR)/libfragroute_a-mod_ip_tos.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_tos.c' object='libfragroute_a-mod_ip_tos.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_tos.c' object='libfragroute_a-mod_ip_tos.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_tos.o `test -f 'mod_ip_tos.c' || echo '$(srcdir)/'`mod_ip_tos.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_tos.o `test -f 'mod_ip_tos.c' || echo '$(srcdir)/'`mod_ip_tos.c
 
 
 libfragroute_a-mod_ip_tos.obj: mod_ip_tos.c
 libfragroute_a-mod_ip_tos.obj: mod_ip_tos.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_tos.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo -c -o libfragroute_a-mod_ip_tos.obj `if test -f 'mod_ip_tos.c'; then $(CYGPATH_W) 'mod_ip_tos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_tos.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip_tos.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo -c -o libfragroute_a-mod_ip_tos.obj `if test -f 'mod_ip_tos.c'; then $(CYGPATH_W) 'mod_ip_tos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_tos.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo $(DEPDIR)/libfragroute_a-mod_ip_tos.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip_tos.Tpo $(DEPDIR)/libfragroute_a-mod_ip_tos.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_tos.c' object='libfragroute_a-mod_ip_tos.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip_tos.c' object='libfragroute_a-mod_ip_tos.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_tos.obj `if test -f 'mod_ip_tos.c'; then $(CYGPATH_W) 'mod_ip_tos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_tos.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip_tos.obj `if test -f 'mod_ip_tos.c'; then $(CYGPATH_W) 'mod_ip_tos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip_tos.c'; fi`
 
 
 libfragroute_a-mod_order.o: mod_order.c
 libfragroute_a-mod_order.o: mod_order.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_order.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_order.Tpo -c -o libfragroute_a-mod_order.o `test -f 'mod_order.c' || echo '$(srcdir)/'`mod_order.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_order.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_order.Tpo -c -o libfragroute_a-mod_order.o `test -f 'mod_order.c' || echo '$(srcdir)/'`mod_order.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_order.Tpo $(DEPDIR)/libfragroute_a-mod_order.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_order.Tpo $(DEPDIR)/libfragroute_a-mod_order.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_order.c' object='libfragroute_a-mod_order.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_order.c' object='libfragroute_a-mod_order.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_order.o `test -f 'mod_order.c' || echo '$(srcdir)/'`mod_order.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_order.o `test -f 'mod_order.c' || echo '$(srcdir)/'`mod_order.c
 
 
 libfragroute_a-mod_order.obj: mod_order.c
 libfragroute_a-mod_order.obj: mod_order.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_order.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_order.Tpo -c -o libfragroute_a-mod_order.obj `if test -f 'mod_order.c'; then $(CYGPATH_W) 'mod_order.c'; else $(CYGPATH_W) '$(srcdir)/mod_order.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_order.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_order.Tpo -c -o libfragroute_a-mod_order.obj `if test -f 'mod_order.c'; then $(CYGPATH_W) 'mod_order.c'; else $(CYGPATH_W) '$(srcdir)/mod_order.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_order.Tpo $(DEPDIR)/libfragroute_a-mod_order.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_order.Tpo $(DEPDIR)/libfragroute_a-mod_order.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_order.c' object='libfragroute_a-mod_order.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_order.c' object='libfragroute_a-mod_order.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_order.obj `if test -f 'mod_order.c'; then $(CYGPATH_W) 'mod_order.c'; else $(CYGPATH_W) '$(srcdir)/mod_order.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_order.obj `if test -f 'mod_order.c'; then $(CYGPATH_W) 'mod_order.c'; else $(CYGPATH_W) '$(srcdir)/mod_order.c'; fi`
 
 
 libfragroute_a-mod_print.o: mod_print.c
 libfragroute_a-mod_print.o: mod_print.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_print.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_print.Tpo -c -o libfragroute_a-mod_print.o `test -f 'mod_print.c' || echo '$(srcdir)/'`mod_print.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_print.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_print.Tpo -c -o libfragroute_a-mod_print.o `test -f 'mod_print.c' || echo '$(srcdir)/'`mod_print.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_print.Tpo $(DEPDIR)/libfragroute_a-mod_print.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_print.Tpo $(DEPDIR)/libfragroute_a-mod_print.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_print.c' object='libfragroute_a-mod_print.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_print.c' object='libfragroute_a-mod_print.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_print.o `test -f 'mod_print.c' || echo '$(srcdir)/'`mod_print.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_print.o `test -f 'mod_print.c' || echo '$(srcdir)/'`mod_print.c
 
 
 libfragroute_a-mod_print.obj: mod_print.c
 libfragroute_a-mod_print.obj: mod_print.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_print.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_print.Tpo -c -o libfragroute_a-mod_print.obj `if test -f 'mod_print.c'; then $(CYGPATH_W) 'mod_print.c'; else $(CYGPATH_W) '$(srcdir)/mod_print.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_print.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_print.Tpo -c -o libfragroute_a-mod_print.obj `if test -f 'mod_print.c'; then $(CYGPATH_W) 'mod_print.c'; else $(CYGPATH_W) '$(srcdir)/mod_print.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_print.Tpo $(DEPDIR)/libfragroute_a-mod_print.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_print.Tpo $(DEPDIR)/libfragroute_a-mod_print.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_print.c' object='libfragroute_a-mod_print.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_print.c' object='libfragroute_a-mod_print.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_print.obj `if test -f 'mod_print.c'; then $(CYGPATH_W) 'mod_print.c'; else $(CYGPATH_W) '$(srcdir)/mod_print.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_print.obj `if test -f 'mod_print.c'; then $(CYGPATH_W) 'mod_print.c'; else $(CYGPATH_W) '$(srcdir)/mod_print.c'; fi`
 
 
 libfragroute_a-mod_tcp_chaff.o: mod_tcp_chaff.c
 libfragroute_a-mod_tcp_chaff.o: mod_tcp_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_chaff.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo -c -o libfragroute_a-mod_tcp_chaff.o `test -f 'mod_tcp_chaff.c' || echo '$(srcdir)/'`mod_tcp_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_chaff.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo -c -o libfragroute_a-mod_tcp_chaff.o `test -f 'mod_tcp_chaff.c' || echo '$(srcdir)/'`mod_tcp_chaff.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_chaff.c' object='libfragroute_a-mod_tcp_chaff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_chaff.c' object='libfragroute_a-mod_tcp_chaff.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_chaff.o `test -f 'mod_tcp_chaff.c' || echo '$(srcdir)/'`mod_tcp_chaff.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_chaff.o `test -f 'mod_tcp_chaff.c' || echo '$(srcdir)/'`mod_tcp_chaff.c
 
 
 libfragroute_a-mod_tcp_chaff.obj: mod_tcp_chaff.c
 libfragroute_a-mod_tcp_chaff.obj: mod_tcp_chaff.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_chaff.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo -c -o libfragroute_a-mod_tcp_chaff.obj `if test -f 'mod_tcp_chaff.c'; then $(CYGPATH_W) 'mod_tcp_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_chaff.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_chaff.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo -c -o libfragroute_a-mod_tcp_chaff.obj `if test -f 'mod_tcp_chaff.c'; then $(CYGPATH_W) 'mod_tcp_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_chaff.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_chaff.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_chaff.c' object='libfragroute_a-mod_tcp_chaff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_chaff.c' object='libfragroute_a-mod_tcp_chaff.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_chaff.obj `if test -f 'mod_tcp_chaff.c'; then $(CYGPATH_W) 'mod_tcp_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_chaff.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_chaff.obj `if test -f 'mod_tcp_chaff.c'; then $(CYGPATH_W) 'mod_tcp_chaff.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_chaff.c'; fi`
 
 
 libfragroute_a-mod_tcp_opt.o: mod_tcp_opt.c
 libfragroute_a-mod_tcp_opt.o: mod_tcp_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_opt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo -c -o libfragroute_a-mod_tcp_opt.o `test -f 'mod_tcp_opt.c' || echo '$(srcdir)/'`mod_tcp_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_opt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo -c -o libfragroute_a-mod_tcp_opt.o `test -f 'mod_tcp_opt.c' || echo '$(srcdir)/'`mod_tcp_opt.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_opt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_opt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_opt.c' object='libfragroute_a-mod_tcp_opt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_opt.c' object='libfragroute_a-mod_tcp_opt.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_opt.o `test -f 'mod_tcp_opt.c' || echo '$(srcdir)/'`mod_tcp_opt.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_opt.o `test -f 'mod_tcp_opt.c' || echo '$(srcdir)/'`mod_tcp_opt.c
 
 
 libfragroute_a-mod_tcp_opt.obj: mod_tcp_opt.c
 libfragroute_a-mod_tcp_opt.obj: mod_tcp_opt.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_opt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo -c -o libfragroute_a-mod_tcp_opt.obj `if test -f 'mod_tcp_opt.c'; then $(CYGPATH_W) 'mod_tcp_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_opt.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_opt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo -c -o libfragroute_a-mod_tcp_opt.obj `if test -f 'mod_tcp_opt.c'; then $(CYGPATH_W) 'mod_tcp_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_opt.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_opt.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_opt.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_opt.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_opt.c' object='libfragroute_a-mod_tcp_opt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_opt.c' object='libfragroute_a-mod_tcp_opt.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_opt.obj `if test -f 'mod_tcp_opt.c'; then $(CYGPATH_W) 'mod_tcp_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_opt.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_opt.obj `if test -f 'mod_tcp_opt.c'; then $(CYGPATH_W) 'mod_tcp_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_opt.c'; fi`
 
 
 libfragroute_a-mod_tcp_seg.o: mod_tcp_seg.c
 libfragroute_a-mod_tcp_seg.o: mod_tcp_seg.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_seg.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo -c -o libfragroute_a-mod_tcp_seg.o `test -f 'mod_tcp_seg.c' || echo '$(srcdir)/'`mod_tcp_seg.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_seg.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo -c -o libfragroute_a-mod_tcp_seg.o `test -f 'mod_tcp_seg.c' || echo '$(srcdir)/'`mod_tcp_seg.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_seg.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_seg.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_seg.c' object='libfragroute_a-mod_tcp_seg.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_seg.c' object='libfragroute_a-mod_tcp_seg.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_seg.o `test -f 'mod_tcp_seg.c' || echo '$(srcdir)/'`mod_tcp_seg.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_seg.o `test -f 'mod_tcp_seg.c' || echo '$(srcdir)/'`mod_tcp_seg.c
 
 
 libfragroute_a-mod_tcp_seg.obj: mod_tcp_seg.c
 libfragroute_a-mod_tcp_seg.obj: mod_tcp_seg.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_seg.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo -c -o libfragroute_a-mod_tcp_seg.obj `if test -f 'mod_tcp_seg.c'; then $(CYGPATH_W) 'mod_tcp_seg.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_seg.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_tcp_seg.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo -c -o libfragroute_a-mod_tcp_seg.obj `if test -f 'mod_tcp_seg.c'; then $(CYGPATH_W) 'mod_tcp_seg.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_seg.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_seg.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_tcp_seg.Tpo $(DEPDIR)/libfragroute_a-mod_tcp_seg.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_seg.c' object='libfragroute_a-mod_tcp_seg.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_tcp_seg.c' object='libfragroute_a-mod_tcp_seg.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_seg.obj `if test -f 'mod_tcp_seg.c'; then $(CYGPATH_W) 'mod_tcp_seg.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_seg.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_tcp_seg.obj `if test -f 'mod_tcp_seg.c'; then $(CYGPATH_W) 'mod_tcp_seg.c'; else $(CYGPATH_W) '$(srcdir)/mod_tcp_seg.c'; fi`
 
 
+libfragroute_a-iputil.o: iputil.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-iputil.o -MD -MP -MF $(DEPDIR)/libfragroute_a-iputil.Tpo -c -o libfragroute_a-iputil.o `test -f 'iputil.c' || echo '$(srcdir)/'`iputil.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-iputil.Tpo $(DEPDIR)/libfragroute_a-iputil.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='iputil.c' object='libfragroute_a-iputil.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-iputil.o `test -f 'iputil.c' || echo '$(srcdir)/'`iputil.c
+
+libfragroute_a-iputil.obj: iputil.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-iputil.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-iputil.Tpo -c -o libfragroute_a-iputil.obj `if test -f 'iputil.c'; then $(CYGPATH_W) 'iputil.c'; else $(CYGPATH_W) '$(srcdir)/iputil.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-iputil.Tpo $(DEPDIR)/libfragroute_a-iputil.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='iputil.c' object='libfragroute_a-iputil.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-iputil.obj `if test -f 'iputil.c'; then $(CYGPATH_W) 'iputil.c'; else $(CYGPATH_W) '$(srcdir)/iputil.c'; fi`
+
+libfragroute_a-mod_ip6_opt.o: mod_ip6_opt.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip6_opt.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip6_opt.Tpo -c -o libfragroute_a-mod_ip6_opt.o `test -f 'mod_ip6_opt.c' || echo '$(srcdir)/'`mod_ip6_opt.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip6_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip6_opt.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip6_opt.c' object='libfragroute_a-mod_ip6_opt.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip6_opt.o `test -f 'mod_ip6_opt.c' || echo '$(srcdir)/'`mod_ip6_opt.c
+
+libfragroute_a-mod_ip6_opt.obj: mod_ip6_opt.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip6_opt.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip6_opt.Tpo -c -o libfragroute_a-mod_ip6_opt.obj `if test -f 'mod_ip6_opt.c'; then $(CYGPATH_W) 'mod_ip6_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip6_opt.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip6_opt.Tpo $(DEPDIR)/libfragroute_a-mod_ip6_opt.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip6_opt.c' object='libfragroute_a-mod_ip6_opt.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip6_opt.obj `if test -f 'mod_ip6_opt.c'; then $(CYGPATH_W) 'mod_ip6_opt.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip6_opt.c'; fi`
+
+libfragroute_a-mod_ip6_qos.o: mod_ip6_qos.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip6_qos.o -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip6_qos.Tpo -c -o libfragroute_a-mod_ip6_qos.o `test -f 'mod_ip6_qos.c' || echo '$(srcdir)/'`mod_ip6_qos.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip6_qos.Tpo $(DEPDIR)/libfragroute_a-mod_ip6_qos.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip6_qos.c' object='libfragroute_a-mod_ip6_qos.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip6_qos.o `test -f 'mod_ip6_qos.c' || echo '$(srcdir)/'`mod_ip6_qos.c
+
+libfragroute_a-mod_ip6_qos.obj: mod_ip6_qos.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -MT libfragroute_a-mod_ip6_qos.obj -MD -MP -MF $(DEPDIR)/libfragroute_a-mod_ip6_qos.Tpo -c -o libfragroute_a-mod_ip6_qos.obj `if test -f 'mod_ip6_qos.c'; then $(CYGPATH_W) 'mod_ip6_qos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip6_qos.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libfragroute_a-mod_ip6_qos.Tpo $(DEPDIR)/libfragroute_a-mod_ip6_qos.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod_ip6_qos.c' object='libfragroute_a-mod_ip6_qos.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfragroute_a_CFLAGS) $(CFLAGS) -c -o libfragroute_a-mod_ip6_qos.obj `if test -f 'mod_ip6_qos.c'; then $(CYGPATH_W) 'mod_ip6_qos.c'; else $(CYGPATH_W) '$(srcdir)/mod_ip6_qos.c'; fi`
+
 mostlyclean-libtool:
 mostlyclean-libtool:
 	-rm -f *.lo
 	-rm -f *.lo
 
 
@@ -631,7 +685,7 @@ tags: TAGS
 
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
@@ -639,29 +693,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -682,13 +741,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -717,6 +780,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -739,6 +803,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -747,18 +813,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -796,6 +872,7 @@ uninstall-am:
 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 	pdf pdf-am ps ps-am tags uninstall uninstall-am
 	pdf pdf-am ps ps-am tags uninstall uninstall-am
 
 
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 3 - 1
src/fragroute/fragroute.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2007-2008 Aaron Turner.
  * Copyright (c) 2007-2008 Aaron Turner.
- * $Id: fragroute.c 2110 2009-01-08 00:22:22Z aturner $
+ * $Id: fragroute.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -69,7 +69,9 @@ fragroute_process(fragroute_t *ctx, void *buf, size_t len)
 		strcpy(ctx->errbuf, "skipping non-IP packet");
 		strcpy(ctx->errbuf, "skipping non-IP packet");
 		return -1;
 		return -1;
 	}
 	}
+	if (pkt->pkt_eth && htons(pkt->pkt_eth->eth_type) == ETH_TYPE_IP) {
 	ip_checksum(pkt->pkt_ip, len);
 	ip_checksum(pkt->pkt_ip, len);
+	}
 
 
 	TAILQ_INIT(ctx->pktq);
 	TAILQ_INIT(ctx->pktq);
 	TAILQ_INSERT_TAIL(ctx->pktq, pkt, pkt_next);
 	TAILQ_INSERT_TAIL(ctx->pktq, pkt, pkt_next);

+ 147 - 0
src/fragroute/iputil.c

@@ -0,0 +1,147 @@
+#include "config.h"
+#include "defines.h"
+#include "common.h"
+#include "iputil.h"
+#include <dnet.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+static ssize_t
+inet_add_option_6(void *buf, size_t len, int proto, const void *optbuf, size_t optlen);
+
+ssize_t
+inet_add_option(uint16_t eth_type, void *buf, size_t len,
+                int proto, const void *optbuf, size_t optlen)
+{
+    if (eth_type == ETH_TYPE_IP) {
+        return ip_add_option(buf, len, proto, optbuf, optlen);
+    } else if (eth_type == ETH_TYPE_IPV6) {
+        return inet_add_option_6(buf, len, proto, optbuf, optlen);
+    } else {
+        errno = EINVAL;
+        return -1;
+    }
+}
+
+/*
+ * IPv6 version of libdnet's ip_add_option():
+ */
+ssize_t
+inet_add_option_6(void *buf, size_t len, int proto, const void *optbuf, size_t optlen)
+{
+    struct ip6_hdr *ip6;
+    struct tcp_hdr *tcp = NULL;
+    u_char *p;
+    int hl, datalen, padlen;
+
+    if (proto != IP_PROTO_TCP) {
+        errno = EINVAL;
+        return (-1);
+    }
+
+    ip6 = (struct ip6_hdr *)buf;
+    p = (u_char *)buf + IP6_HDR_LEN;
+
+    tcp = (struct tcp_hdr *)p;
+    hl = tcp->th_off << 2;
+    p = (u_char *)tcp + hl;
+
+    datalen = ntohs(ip6->ip6_plen) + IP6_HDR_LEN - (p - (u_char *)buf);
+
+    /* Compute padding to next word boundary. */
+    if ((padlen = 4 - (optlen % 4)) == 4)
+        padlen = 0;
+
+    /* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
+    if (hl + optlen + padlen > IP_HDR_LEN_MAX ||
+            ntohs(ip6->ip6_plen) + IP6_HDR_LEN + optlen + padlen > len) {
+        errno = EINVAL;
+        return (-1);
+    }
+
+    /* Shift any existing data. */
+    if (datalen) {
+        memmove(p + optlen + padlen, p, datalen);
+    }
+    /* XXX - IP_OPT_NOP == TCP_OPT_NOP */
+    if (padlen) {
+        memset(p, IP_OPT_NOP, padlen);
+        p += padlen;
+    }
+    memmove(p, optbuf, optlen);
+    p += optlen;
+    optlen += padlen;
+
+    tcp->th_off = (p - (u_char *)tcp) >> 2;
+
+    ip6->ip6_plen = htons(ntohs(ip6->ip6_plen) + optlen);
+
+    return (optlen);
+}
+
+
+void
+inet_checksum(uint16_t eth_type, void *buf, size_t len)
+{
+    if (eth_type == ETH_TYPE_IP) {
+        return ip_checksum(buf, len);
+    } else if (eth_type == ETH_TYPE_IPV6) {
+        return ip6_checksum(buf, len);
+    }
+}
+
+int
+raw_ip_opt_parse(int argc, char *argv[], uint8_t *opt_type, uint8_t *opt_len,
+        uint8_t *buff, int buff_len)
+{
+    int i, j;
+
+    if (sscanf(argv[0], "%hhx", opt_type) != 1) {
+        warn("invalid opt_type");
+        return -1;
+    }
+    if (sscanf(argv[1], "%hhx", opt_len) != 1) {
+        warn("invalid opt_len");
+        return -1;
+    }
+    j = 0;
+    for (i = 2; i < argc && j < buff_len; ++i, ++j) {
+        if (sscanf(argv[i], "%hhx", &buff[j]) != 1) {
+            warn("invalid opt_data");
+            return -1;
+        }
+    }
+    if (*opt_len != j + 2) {
+        warnx("invalid opt->len (%d) doesn't match data length (%d)",
+                *opt_len, j);
+        return -1;
+    }
+    return 0;
+}
+
+int
+raw_ip6_opt_parse(int argc, char *argv[], uint8_t *proto, int *len,
+        uint8_t *buff, int buff_len)
+{
+    int i, j;
+
+    if (sscanf(argv[0], "%hhx", proto) != 1) {
+        warn("invalid protocol");
+        return -1;
+    }
+
+    j = 0;
+    for (i = 1; i < argc && j < buff_len; ++i, ++j) {
+        if (sscanf(argv[i], "%hhx", &buff[j]) != 1) {
+            warn("invalid opt_data");
+            return -1;
+        }
+    }
+    *len = j;
+    if ((j + 2) % 8 != 0) {
+        warnx("(opt_len (%d) + 2) %% 8 != 0", j);
+        return -1;
+    }
+    return 0;
+}

+ 13 - 0
src/fragroute/iputil.h

@@ -0,0 +1,13 @@
+#ifndef IPUTIL_H
+#define IPUTIL_H
+
+ssize_t inet_add_option(uint16_t eth_type, void *buf, size_t len,
+                int proto, const void *optbuf, size_t optlen);
+void    inet_checksum(uint16_t eth_type, void *buf, size_t len);
+
+int raw_ip_opt_parse(int argc, char *argv[], uint8_t *type, uint8_t *len,
+        uint8_t *buff, int buff_len);
+int raw_ip6_opt_parse(int argc, char *argv[], uint8_t *proto, int *len,
+        uint8_t *buff, int buff_len);
+
+#endif /* IPUTIL_H */

+ 5 - 1
src/fragroute/mod.c

@@ -4,7 +4,7 @@
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2007-2008 Aaron Turner.
  * Copyright (c) 2007-2008 Aaron Turner.
  *
  *
- * $Id: mod.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -39,6 +39,8 @@ extern struct mod	 mod_ip_frag;
 extern struct mod	 mod_ip_opt;
 extern struct mod	 mod_ip_opt;
 extern struct mod	 mod_ip_ttl;
 extern struct mod	 mod_ip_ttl;
 extern struct mod	 mod_ip_tos;
 extern struct mod	 mod_ip_tos;
+extern struct mod	 mod_ip6_qos;
+extern struct mod	 mod_ip6_opt;
 extern struct mod	 mod_order;
 extern struct mod	 mod_order;
 extern struct mod	 mod_print;
 extern struct mod	 mod_print;
 extern struct mod	 mod_tcp_chaff;
 extern struct mod	 mod_tcp_chaff;
@@ -55,6 +57,8 @@ static struct mod *mods[] = {
 	&mod_ip_opt,
 	&mod_ip_opt,
 	&mod_ip_ttl,
 	&mod_ip_ttl,
 	&mod_ip_tos,
 	&mod_ip_tos,
+	&mod_ip6_qos,
+	&mod_ip6_opt,
 	&mod_order,
 	&mod_order,
 	&mod_print,
 	&mod_print,
 	&mod_tcp_chaff,
 	&mod_tcp_chaff,

+ 196 - 0
src/fragroute/mod_ip6_opt.c

@@ -0,0 +1,196 @@
+/*
+ * mod_ip6_opt.c
+ *
+ * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
+ *
+ */
+
+#include "config.h"
+
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "pkt.h"
+#include "mod.h"
+#include "iputil.h"
+
+#define MAX_ADDRS 32
+
+#define OPT6_TYPE_ROUTE	 1
+#define OPT6_TYPE_RAW	 2
+
+struct ip6_opt_data_route
+{
+	int segments;
+	struct addr addr[MAX_ADDRS];
+};
+
+struct ip6_opt_data_raw
+{
+	int len;
+	uint8_t proto;
+	uint8_t data8[512];
+};
+
+struct ip6_opt_data
+{
+	int type;
+	union
+	{
+		struct ip6_opt_data_route route;
+		struct ip6_opt_data_raw raw;
+	} u;
+};
+
+void *
+ip6_opt_close(void *d)
+{
+	if (d != NULL)
+		free(d);
+	return (NULL);
+}
+
+void *
+ip6_opt_open(int argc, char *argv[])
+{
+	struct ip6_opt_data *opt;
+	int i, j;
+
+	if (argc < 4)
+		return (NULL);
+
+	if ((opt = calloc(1, sizeof(*opt))) == NULL)
+		return (NULL);
+
+	if (strcasecmp(argv[1], "route") == 0) {
+		opt->type = OPT6_TYPE_ROUTE;
+
+		if ((opt->u.route.segments = atoi(argv[2])) < 1 ||
+				opt->u.route.segments > MAX_ADDRS) {
+			warnx("<segments> must be >= 1");
+			return (ip6_opt_close(opt));
+		}
+
+		i = 0;
+		j = 3;
+
+		if (opt->u.route.segments + 3 != argc) {
+			return (ip6_opt_close(opt));
+		}
+
+		for (; j < argc; i++, j++) {
+			if (addr_aton(argv[j], &opt->u.route.addr[i]) < 0 ||
+					opt->u.route.addr[i].addr_type != ADDR_TYPE_IP6) {
+				return (ip6_opt_close(opt));
+			}
+		}
+	} else if (strcasecmp(argv[1], "raw") == 0) {
+		opt->type = OPT6_TYPE_RAW;
+
+		if (raw_ip6_opt_parse(argc - 2, &argv[2],
+					&opt->u.raw.proto, &opt->u.raw.len,
+					&opt->u.raw.data8[2], sizeof(opt->u.raw.data8) - 2) != 0)
+			return (ip6_opt_close(opt));
+		opt->u.raw.len += 2;
+		opt->u.raw.data8[0] = 0;
+		opt->u.raw.data8[1] = opt->u.raw.len / 8;
+	} else {
+		return (ip6_opt_close(opt));
+	}
+
+	return (opt);
+}
+
+int
+ip6_opt_apply(void *d, struct pktq *pktq)
+{
+	struct ip6_opt_data *opt = (struct ip6_opt_data *)d;
+	struct __ip6_ext_data_routing* route;
+	struct ip6_ext_hdr* ext;
+	int offset, len;
+	struct pkt *pkt;
+	uint8_t nxt, iph_nxt;
+	uint8_t* p;
+	int i;
+
+	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type != ETH_TYPE_IPV6) {
+			continue;
+		}
+
+		nxt = pkt->pkt_ip6->ip6_nxt;
+		ext = (struct ip6_ext_hdr*)(((u_char*)pkt->pkt_ip6) + IP6_HDR_LEN);
+
+		if (opt->type == OPT6_TYPE_ROUTE) {
+			offset = 8 + IP6_ADDR_LEN * opt->u.route.segments;
+			memmove(((u_char*)ext) + offset, ext, pkt->pkt_end - (u_char*)ext);
+
+			pkt->pkt_end += offset;
+			pkt->pkt_ip_data += offset;
+
+			len = (IP6_ADDR_LEN / 8) * opt->u.route.segments;
+
+			route = (struct __ip6_ext_data_routing*)ext;
+
+			ext->ext_data.routing.type = 0;
+			ext->ext_data.routing.segleft = opt->u.route.segments;
+			((uint32_t*)ext)[1] = 0; /* reserved */
+
+			iph_nxt = IP_PROTO_ROUTING;
+
+			p = (uint8_t*)(ext) + 8;
+
+			for (i = 0; i < opt->u.route.segments; ++i, p += IP6_ADDR_LEN) {
+				memcpy(p, opt->u.route.addr[i].addr_data8, IP6_ADDR_LEN);
+			}
+
+		} else if (opt->type == OPT6_TYPE_RAW) {
+			offset = opt->u.raw.len;
+			memmove(((u_char*)ext) + offset, ext, pkt->pkt_end - (u_char*)ext);
+
+			pkt->pkt_end += offset;
+			pkt->pkt_ip_data += offset;
+
+			iph_nxt = opt->u.raw.proto;
+
+			p = (uint8_t*)ext;
+			memcpy(p, opt->u.raw.data8, opt->u.raw.len);
+
+#if 0
+			printf("len: %d, data %02x %02x %02x %02x %02x %02x %02x %02x\n",
+					opt->u.raw.len, opt->u.raw.data8[0], opt->u.raw.data8[1],
+					opt->u.raw.data8[2], opt->u.raw.data8[3],
+					opt->u.raw.data8[4], opt->u.raw.data8[5],
+					opt->u.raw.data8[6], opt->u.raw.data8[7]);
+#endif
+
+			len = (opt->u.raw.len - 8) / 8;
+
+		} else {
+			continue;
+		}
+
+		ext->ext_nxt = nxt;
+		ext->ext_len = len;
+
+		pkt->pkt_ip6->ip6_nxt = iph_nxt;
+		pkt->pkt_ip6->ip6_plen = htons(htons(pkt->pkt_ip6->ip6_plen) + offset);
+
+		/* XXX: do we need it? */
+		pkt_decorate(pkt);
+		/* ip6_checksum(pkt->pkt_ip, pkt->pkt_end - pkt->pkt_eth_data); */
+	}
+	return (0);
+}
+
+struct mod mod_ip6_opt = {
+	"ip6_opt",					/* name */
+	"ip6_opt [route <segments> <ip6-addr> ...] | [raw <type> <byte stream>]",		/* usage */
+	ip6_opt_open,					/* open */
+	ip6_opt_apply,					/* apply */
+	ip6_opt_close					/* close */
+};

+ 83 - 0
src/fragroute/mod_ip6_qos.c

@@ -0,0 +1,83 @@
+/*
+ * mod_ip6_qos.c
+ *
+ * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
+ *
+ */
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "argv.h"
+#include "mod.h"
+#include "pkt.h"
+
+struct ip6_qos_data
+{
+	int	ip6_tc;
+	int	ip6_fl;
+};
+
+static void *
+ip6_qos_close(void *d)
+{
+	if (d != NULL)
+		free(d);
+	return (NULL);
+}
+
+static void *
+ip6_qos_open(int argc, char *argv[])
+{
+	struct ip6_qos_data *data;
+
+	if (argc != 3) {
+		return NULL;
+	}
+
+	if ((data = calloc(1, sizeof(*data))) == NULL)
+		return (NULL);
+
+	if (sscanf(argv[1], "%x", &data->ip6_tc) != 1 ||
+			data->ip6_tc < 0 || data->ip6_tc > 255)
+		return (ip6_qos_close(data));
+
+	if (sscanf(argv[2], "%x", &data->ip6_fl) != 1 ||
+			data->ip6_fl < 0 || data->ip6_fl > 0x100000)
+		return (ip6_qos_close(data));
+
+	printf("init: %x\n", data->ip6_fl);
+
+	return (data);
+}
+
+static int
+ip6_qos_apply(void *d, struct pktq *pktq)
+{
+	struct ip6_qos_data *data = (struct ip6_qos_data *)d;
+	struct pkt *pkt;
+
+	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IPV6) {
+			if (data->ip6_tc || data->ip6_fl) {
+				pkt->pkt_ip6->ip6_flow = htonl((uint32_t)data->ip6_tc << 20 |
+						data->ip6_fl);
+				pkt->pkt_ip6->ip6_vfc = (IP6_VERSION | (data->ip6_tc >> 4));
+			}
+		}
+	}
+	return (0);
+}
+
+struct mod mod_ip6_qos = {
+	"ip6_qos",			/* name */
+	"ip6_qos <tc> <fl>",			/* usage */
+	ip6_qos_open,			/* open */
+	ip6_qos_apply,			/* apply */
+	ip6_qos_close			/* close */
+};

+ 16 - 4
src/fragroute/mod_ip_chaff.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_ip_chaff.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod_ip_chaff.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -71,9 +71,11 @@ ip_chaff_apply(void *d, struct pktq *pktq)
 	struct pkt *pkt, *new, *next;
 	struct pkt *pkt, *new, *next;
 	struct ip_opt opt;
 	struct ip_opt opt;
 	int i;
 	int i;
+	uint16_t eth_type;
 	
 	
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 		next = TAILQ_NEXT(pkt, pkt_next);
 		next = TAILQ_NEXT(pkt, pkt_next);
+		eth_type = htons(pkt->pkt_eth->eth_type);
 		
 		
 		if (pkt->pkt_ip_data == NULL)
 		if (pkt->pkt_ip_data == NULL)
 			continue;
 			continue;
@@ -85,10 +87,13 @@ ip_chaff_apply(void *d, struct pktq *pktq)
 		switch (data->type) {
 		switch (data->type) {
 		case CHAFF_TYPE_DUP:
 		case CHAFF_TYPE_DUP:
 			new->pkt_ts.tv_usec = 1;
 			new->pkt_ts.tv_usec = 1;
+			if (eth_type == ETH_TYPE_IP) {
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			    new->pkt_eth_data);
 			    new->pkt_eth_data);
+			}
 			break;
 			break;
 		case CHAFF_TYPE_OPT:
 		case CHAFF_TYPE_OPT:
+			if (eth_type == ETH_TYPE_IP) {
 			opt.opt_type = 0x42;
 			opt.opt_type = 0x42;
 			opt.opt_len = IP_OPT_LEN;
 			opt.opt_len = IP_OPT_LEN;
 			i = ip_add_option(new->pkt_ip,
 			i = ip_add_option(new->pkt_ip,
@@ -100,15 +105,22 @@ ip_chaff_apply(void *d, struct pktq *pktq)
 			new->pkt_end += i;
 			new->pkt_end += i;
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			    new->pkt_eth_data);
 			    new->pkt_eth_data);
-			break;
+			} else if (eth_type == ETH_TYPE_IPV6) {
+				continue;
+			}
 		case CHAFF_TYPE_TTL:
 		case CHAFF_TYPE_TTL:
+			if (eth_type == ETH_TYPE_IP) {
 			new->pkt_ip->ip_ttl = data->ttl;
 			new->pkt_ip->ip_ttl = data->ttl;
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			ip_checksum(new->pkt_ip, new->pkt_ip_data -
 			    new->pkt_eth_data);
 			    new->pkt_eth_data);
+			} else if (eth_type == ETH_TYPE_IPV6) {
+			    pkt->pkt_ip6->ip6_hlim = data->ttl;
+			}
+
 			break;
 			break;
 		}
 		}
-		/* Minimal random reordering. */
-		if ((pkt->pkt_ip->ip_sum & 1) == 0)
+		/* Minimal random reordering - for ipv4 and ipv6 */
+		if ((new->pkt_ip_data[0] & 1) == 0)
 			TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 			TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 		else
 		else
 			TAILQ_INSERT_AFTER(pktq, pkt, new, pkt_next);
 			TAILQ_INSERT_AFTER(pktq, pkt, new, pkt_next);

+ 146 - 2
src/fragroute/mod_ip_frag.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_ip_frag.c 2191 2009-02-01 21:34:27Z aturner $
+ * $Id: mod_ip_frag.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -25,10 +25,18 @@
 #define FAVOR_OLD	1
 #define FAVOR_OLD	1
 #define FAVOR_NEW	2
 #define FAVOR_NEW	2
 
 
-static struct ip_frag_data {
+static int
+ip_frag_apply_ipv4(void *d, struct pktq *pktq);
+
+static int
+ip_frag_apply_ipv6(void *d, struct pktq *pktq);
+
+static struct ip_frag_data
+{
 	rand_t	*rnd;
 	rand_t	*rnd;
 	int	 size;
 	int	 size;
 	int	 overlap;
 	int	 overlap;
+	uint32_t ident;
 } ip_frag_data;
 } ip_frag_data;
 
 
 void *
 void *
@@ -64,12 +72,35 @@ ip_frag_open(int argc, char *argv[])
 		else
 		else
 			return (ip_frag_close(&ip_frag_data));
 			return (ip_frag_close(&ip_frag_data));
 	}
 	}
+
+	ip_frag_data.ident = rand_uint32(ip_frag_data.rnd);
+
 	return (&ip_frag_data);
 	return (&ip_frag_data);
 }
 }
 
 
 int
 int
 ip_frag_apply(void *d, struct pktq *pktq)
 ip_frag_apply(void *d, struct pktq *pktq)
 {
 {
+	struct pkt *pkt;
+
+	/* Select eth protocol via first packet in que: */
+	pkt = TAILQ_FIRST(pktq);
+	if (pkt != TAILQ_END(pktq)) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IP) {
+			ip_frag_apply_ipv4(d, pktq);
+		} else if (eth_type == ETH_TYPE_IPV6) {
+			ip_frag_apply_ipv6(d, pktq);
+		}
+		return 0;
+	}
+	return 0;
+}
+
+static int
+ip_frag_apply_ipv4(void *d, struct pktq *pktq)
+{
 	struct pkt *pkt, *new, *next, tmp;
 	struct pkt *pkt, *new, *next, tmp;
 	int hl, fraglen, off;
 	int hl, fraglen, off;
 	u_char *p, *p1, *p2;
 	u_char *p, *p1, *p2;
@@ -109,6 +140,7 @@ ip_frag_apply(void *d, struct pktq *pktq)
 		
 		
 		for (p = pkt->pkt_ip_data; p < pkt->pkt_end; ) {
 		for (p = pkt->pkt_ip_data; p < pkt->pkt_end; ) {
 			new = pkt_new();
 			new = pkt_new();
+			memcpy(new->pkt_eth, pkt->pkt_eth, (u_char*)pkt->pkt_eth_data - (u_char*)pkt->pkt_eth);
 			memcpy(new->pkt_ip, pkt->pkt_ip, hl);
 			memcpy(new->pkt_ip, pkt->pkt_ip, hl);
 			new->pkt_ip_data = new->pkt_eth_data + hl;
 			new->pkt_ip_data = new->pkt_eth_data + hl;
 			
 			
@@ -163,6 +195,118 @@ ip_frag_apply(void *d, struct pktq *pktq)
 	return (0);
 	return (0);
 }
 }
 
 
+
+static int
+ip_frag_apply_ipv6(void *d, struct pktq *pktq)
+{
+	struct pkt *pkt, *new, *next, tmp;
+	struct ip6_ext_hdr *ext;
+	int hl, fraglen, off;
+	u_char *p, *p1, *p2;
+	uint8_t next_hdr;
+
+	ip_frag_data.ident++;
+
+	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
+		next = TAILQ_NEXT(pkt, pkt_next);
+
+		if (pkt->pkt_ip == NULL || pkt->pkt_ip_data == NULL)
+			continue;
+
+		hl = IP6_HDR_LEN;
+
+		/*
+		 * Preserve transport protocol header in first frag,
+		 * to bypass filters that block `short' fragments.
+		 */
+		switch (pkt->pkt_ip->ip_p) {
+		case IP_PROTO_ICMP:
+			fraglen = MAX(ICMP_LEN_MIN, ip_frag_data.size);
+			break;
+		case IP_PROTO_UDP:
+			fraglen = MAX(UDP_HDR_LEN, ip_frag_data.size);
+			break;
+		case IP_PROTO_TCP:
+			fraglen = MAX(pkt->pkt_tcp->th_off << 2,
+			    ip_frag_data.size);
+			break;
+		default:
+			fraglen = ip_frag_data.size;
+			break;
+		}
+		if (fraglen & 7)
+			fraglen = (fraglen & ~7) + 8;
+
+		if (pkt->pkt_end - pkt->pkt_ip_data < fraglen)
+			continue;
+
+		next_hdr = pkt->pkt_ip6->ip6_nxt;
+
+		for (p = pkt->pkt_ip_data; p < pkt->pkt_end; ) {
+			new = pkt_new();
+			memcpy(new->pkt_eth, pkt->pkt_eth, (u_char*)pkt->pkt_eth_data - (u_char*)pkt->pkt_eth);
+			memcpy(new->pkt_ip, pkt->pkt_ip, hl);
+			ext = (struct ip6_ext_hdr *)((u_char*)new->pkt_eth_data + hl);
+			new->pkt_ip_data = (u_char *)(ext) + 2 + 
+				sizeof(struct ip6_ext_data_fragment);
+			new->pkt_ip6->ip6_nxt = IP_PROTO_FRAGMENT;
+
+			ext->ext_nxt = next_hdr;
+			ext->ext_len = 0; /* ip6 fragf reserved */
+			ext->ext_data.fragment.ident = ip_frag_data.ident;
+
+
+			p1 = p, p2 = NULL;
+			off = (p - pkt->pkt_ip_data) >> 3;
+
+			if (ip_frag_data.overlap != 0 && (off & 1) != 0 &&
+			    p + (fraglen << 1) < pkt->pkt_end) {
+				rand_strset(ip_frag_data.rnd, tmp.pkt_buf,
+				    fraglen);
+				if (ip_frag_data.overlap == FAVOR_OLD) {
+					p1 = p + fraglen;
+					p2 = tmp.pkt_buf;
+				} else if (ip_frag_data.overlap == FAVOR_NEW) {
+					p1 = tmp.pkt_buf;
+					p2 = p + fraglen;
+				}
+				ext->ext_data.fragment.offlg = 
+					htons((off /*+ (fraglen >> 3)*/) << 3) | IP6_MORE_FRAG;
+			} else {
+				ext->ext_data.fragment.offlg = htons(off << 3) |
+						((p + fraglen < pkt->pkt_end) ? IP6_MORE_FRAG : 0);
+			}
+			new->pkt_ip6->ip6_plen = htons(fraglen + 8);
+
+			memcpy(new->pkt_ip_data, p1, fraglen);
+			new->pkt_end = new->pkt_ip_data + fraglen;
+			TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
+
+			if (p2 != NULL) {
+				new = pkt_dup(new);
+				new->pkt_ts.tv_usec = 1;
+
+				ext->ext_data.fragment.offlg = htons(off << 3) | IP6_MORE_FRAG;
+				new->pkt_ip6->ip6_plen = htons((fraglen << 1) + 8);
+
+				memcpy(new->pkt_ip_data, p, fraglen);
+				memcpy(new->pkt_ip_data + fraglen, p2, fraglen);
+				new->pkt_end = new->pkt_ip_data + (fraglen << 1);
+				TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
+				p += (fraglen << 1);
+			} else {
+				p += fraglen;
+			}
+
+			if ((fraglen = pkt->pkt_end - p) > ip_frag_data.size)
+				fraglen = ip_frag_data.size;
+		}
+		TAILQ_REMOVE(pktq, pkt, pkt_next);
+		pkt_free(pkt);
+	}
+	return 0;
+}
+
 struct mod mod_ip_frag = {
 struct mod mod_ip_frag = {
 	"ip_frag",				/* name */
 	"ip_frag",				/* name */
 	"ip_frag <size> [old|new]",		/* usage */
 	"ip_frag <size> [old|new]",		/* usage */

+ 12 - 2
src/fragroute/mod_ip_opt.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_ip_opt.c 2191 2009-02-01 21:34:27Z aturner $
+ * $Id: mod_ip_opt.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -16,6 +16,7 @@
 
 
 #include "pkt.h"
 #include "pkt.h"
 #include "mod.h"
 #include "mod.h"
+#include "iputil.h"
 
 
 void *
 void *
 ip_opt_close(void *d)
 ip_opt_close(void *d)
@@ -42,6 +43,11 @@ ip_opt_open(int argc, char *argv[])
 		opt->opt_type = IP_OPT_LSRR;
 		opt->opt_type = IP_OPT_LSRR;
 	} else if (strcasecmp(argv[1], "ssrr") == 0) {
 	} else if (strcasecmp(argv[1], "ssrr") == 0) {
 		opt->opt_type = IP_OPT_SSRR;
 		opt->opt_type = IP_OPT_SSRR;
+	} else if (strcasecmp(argv[1], "raw") == 0) {
+		if (raw_ip_opt_parse(argc - 2, &argv[2], &opt->opt_type, &opt->opt_len,
+					&opt->opt_data.data8[0], sizeof(opt->opt_data.data8)) != 0)
+			return (ip_opt_close(opt));
+		return opt;
 	} else
 	} else
 		return (ip_opt_close(opt));
 		return (ip_opt_close(opt));
 	
 	
@@ -70,6 +76,9 @@ ip_opt_apply(void *d, struct pktq *pktq)
 	size_t len;
 	size_t len;
 
 
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IP) {
 		len = ip_add_option(pkt->pkt_ip, PKT_BUF_LEN - ETH_HDR_LEN,
 		len = ip_add_option(pkt->pkt_ip, PKT_BUF_LEN - ETH_HDR_LEN,
 		    IP_PROTO_IP, opt, opt->opt_len);
 		    IP_PROTO_IP, opt, opt->opt_len);
 
 
@@ -80,12 +89,13 @@ ip_opt_apply(void *d, struct pktq *pktq)
 			    pkt->pkt_end - pkt->pkt_eth_data);
 			    pkt->pkt_end - pkt->pkt_eth_data);
 		}
 		}
 	}
 	}
+	}
 	return (0);
 	return (0);
 }
 }
 
 
 struct mod mod_ip_opt = {
 struct mod mod_ip_opt = {
 	"ip_opt",					/* name */
 	"ip_opt",					/* name */
-	"ip_opt lsrr|ssrr <ptr> <ip-addr> ...",		/* usage */
+	"ip_opt [lsrr|ssrr <ptr> <ip-addr> ...] | [raw <byte stream>]",		/* usage */
 	ip_opt_open,					/* open */
 	ip_opt_open,					/* open */
 	ip_opt_apply,					/* apply */
 	ip_opt_apply,					/* apply */
 	ip_opt_close					/* close */
 	ip_opt_close					/* close */

+ 5 - 1
src/fragroute/mod_ip_tos.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_ip_tos.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod_ip_tos.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -53,10 +53,14 @@ ip_tos_apply(void *d, struct pktq *pktq)
 	struct pkt *pkt;
 	struct pkt *pkt;
 
 
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IP) {
 		pkt->pkt_ip->ip_tos = data->tos;
 		pkt->pkt_ip->ip_tos = data->tos;
 		/* XXX - do incremental checksum */
 		/* XXX - do incremental checksum */
 		ip_checksum(pkt->pkt_ip, pkt->pkt_ip_data - pkt->pkt_eth_data);
 		ip_checksum(pkt->pkt_ip, pkt->pkt_ip_data - pkt->pkt_eth_data);
 	}
 	}
+	}
 	return (0);
 	return (0);
 }
 }
 
 

+ 7 - 1
src/fragroute/mod_ip_ttl.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_ip_ttl.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod_ip_ttl.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -53,6 +53,9 @@ ip_ttl_apply(void *d, struct pktq *pktq)
 	int ttldec;
 	int ttldec;
 
 
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IP) {
 		ttldec = pkt->pkt_ip->ip_ttl - data->ttl;
 		ttldec = pkt->pkt_ip->ip_ttl - data->ttl;
 		pkt->pkt_ip->ip_ttl = data->ttl;
 		pkt->pkt_ip->ip_ttl = data->ttl;
 		
 		
@@ -60,6 +63,9 @@ ip_ttl_apply(void *d, struct pktq *pktq)
 			pkt->pkt_ip->ip_sum += htons(ttldec << 8) + 1;
 			pkt->pkt_ip->ip_sum += htons(ttldec << 8) + 1;
 		else
 		else
 			pkt->pkt_ip->ip_sum += htons(ttldec << 8);
 			pkt->pkt_ip->ip_sum += htons(ttldec << 8);
+		} else if (eth_type == ETH_TYPE_IPV6) {
+			pkt->pkt_ip6->ip6_hlim = data->ttl;
+		}
 	}
 	}
 	return (0);
 	return (0);
 }
 }

+ 132 - 12
src/fragroute/mod_print.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_print.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod_print.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -15,6 +15,10 @@
 #include "mod.h"
 #include "mod.h"
 #include "pkt.h"
 #include "pkt.h"
 
 
+#ifndef INET6_ADDRSTRLEN
+#define INET6_ADDRSTRLEN 46
+#endif
+
 #define EXTRACT_16BITS(p)	((uint16_t)ntohs(*(uint16_t *)(p)))
 #define EXTRACT_16BITS(p)	((uint16_t)ntohs(*(uint16_t *)(p)))
 #define EXTRACT_32BITS(p)	((uint32_t)ntohl(*(uint32_t *)(p)))
 #define EXTRACT_32BITS(p)	((uint32_t)ntohl(*(uint32_t *)(p)))
 
 
@@ -34,20 +38,49 @@ _print_icmp(u_char *p, int length)
 	printf(" icmp: type %d code %d", icmp->icmp_type, icmp->icmp_code);
 	printf(" icmp: type %d code %d", icmp->icmp_type, icmp->icmp_code);
 }
 }
 
 
+static void
+_print_icmp6(u_char *p, int length)
+{
+	struct ip6_hdr *ip6;
+	struct icmp_hdr *icmp;
+
+	ip6 = (struct ip6_hdr *)p;
+	icmp = (struct icmp_hdr *)(p + IP6_HDR_LEN);
+
+	/* XXX - truncation? */
+	printf("%s > %s:", ip6_ntoa(&ip6->ip6_src), ip6_ntoa(&ip6->ip6_dst));
+	printf(" icmp: type %hhu code %hhu", icmp->icmp_type, icmp->icmp_code);
+}
+
 void
 void
-_print_tcp(unsigned char *p, int length)
+_print_tcp(int family, unsigned char *p, int length)
 {
 {
-	struct ip_hdr *ip;
 	struct tcp_hdr *tcp;
 	struct tcp_hdr *tcp;
 	u_short sport, dport, win, urp;
 	u_short sport, dport, win, urp;
 	u_long seq, ack;
 	u_long seq, ack;
 	int len, tcp_hl;
 	int len, tcp_hl;
 	register char ch;
 	register char ch;
 	
 	
+	char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+
+	if (family == AF_INET6) {
+			struct ip6_hdr *ip6 = (struct ip6_hdr *)p;
+			tcp = (struct tcp_hdr *)(p + IP6_HDR_LEN);
+			len = length;
+
+			ip6_ntop(&ip6->ip6_src, src, sizeof(src));
+			ip6_ntop(&ip6->ip6_dst, dst, sizeof(dst));
+	} else {
+			struct ip_hdr *ip;
+
 	ip = (struct ip_hdr *)p;
 	ip = (struct ip_hdr *)p;
 	tcp = (struct tcp_hdr *)(p + (ip->ip_hl * 4));
 	tcp = (struct tcp_hdr *)(p + (ip->ip_hl * 4));
 	len = length - (ip->ip_hl * 4);
 	len = length - (ip->ip_hl * 4);
 	
 	
+			ip_ntop(&ip->ip_src, src, sizeof(src));
+			ip_ntop(&ip->ip_dst, dst, sizeof(dst));
+	}
+
 	if (len < TCP_HDR_LEN) {
 	if (len < TCP_HDR_LEN) {
 		printf("truncated-tcp %d", len);
 		printf("truncated-tcp %d", len);
 		return;
 		return;
@@ -60,8 +93,7 @@ _print_tcp(unsigned char *p, int length)
 	urp = ntohs(tcp->th_urp);
 	urp = ntohs(tcp->th_urp);
 	tcp_hl = tcp->th_off * 4;
 	tcp_hl = tcp->th_off * 4;
 	
 	
-	printf("%s.%d > %s.%d: ", ip_ntoa(&ip->ip_src), sport,
-	    ip_ntoa(&ip->ip_dst), dport);
+	printf("%s.%d > %s.%d: ", src, sport, dst, dport);
 	
 	
 	if (tcp->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_PUSH)) {
 	if (tcp->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_PUSH)) {
 		if (tcp->th_flags & TH_SYN)	putchar('S');
 		if (tcp->th_flags & TH_SYN)	putchar('S');
@@ -218,22 +250,53 @@ _print_tcp(unsigned char *p, int length)
 }
 }
 
 
 static void
 static void
-_print_udp(u_char *p, int length)
+_print_udp(int family, u_char *p, int length)
 {
 {
-	struct ip_hdr *ip;
 	struct udp_hdr *udp;
 	struct udp_hdr *udp;
+	char src[INET6_ADDRSTRLEN], dst[INET6_ADDRSTRLEN];
+
+	if (family == AF_INET6) {
+			struct ip6_hdr *ip6 = (struct ip6_hdr *)p;
+			udp = (struct udp_hdr *)(p + IP6_HDR_LEN);
+
+			ip6_ntop(&ip6->ip6_src, src, sizeof(src));
+			ip6_ntop(&ip6->ip6_dst, dst, sizeof(dst));
+	} else {
+			struct ip_hdr *ip;
 	
 	
 	ip = (struct ip_hdr *)p;
 	ip = (struct ip_hdr *)p;
 	udp = (struct udp_hdr *)(p + (ip->ip_hl * 4));
 	udp = (struct udp_hdr *)(p + (ip->ip_hl * 4));
 
 
-	/* XXX - truncation? */
-	printf("%s.%d > %s.%d:", ip_ntoa(&ip->ip_src), ntohs(udp->uh_sport),
-	    ip_ntoa(&ip->ip_dst), ntohs(udp->uh_dport));
+			ip_ntop(&ip->ip_src, src, sizeof(src));
+			ip_ntop(&ip->ip_dst, dst, sizeof(dst));
+	}
 	
 	
+	/* XXX - truncation? */
+	printf("%s.%d > %s.%d:", src, ntohs(udp->uh_sport),
+		dst, ntohs(udp->uh_dport));
 	printf(" udp %d", ntohs(udp->uh_ulen) - UDP_HDR_LEN);
 	printf(" udp %d", ntohs(udp->uh_ulen) - UDP_HDR_LEN);
 }
 }
 
 
 static void
 static void
+_print_frag6(u_char *p, int length)
+{
+	struct ip6_hdr *ip6;
+	struct ip6_ext_hdr *ext;
+	int off;
+
+	ip6 = (struct ip6_hdr *)p;
+	ext = (struct ip6_ext_hdr *)(p + IP6_HDR_LEN);
+
+	off = htons(ext->ext_data.fragment.offlg & IP6_OFF_MASK);
+
+	printf("%s > %s:", ip6_ntoa(&ip6->ip6_src), ip6_ntoa(&ip6->ip6_dst));
+	printf(" fragment: next %hhu offset %d%s ident 0x%08x",
+		ext->ext_nxt, off,
+		(ext->ext_data.fragment.offlg & IP6_MORE_FRAG) ? " MF" : "", 
+		htonl(ext->ext_data.fragment.ident));
+}
+
+static void
 _print_ip(u_char *p, int length)
 _print_ip(u_char *p, int length)
 {
 {
 	struct ip_hdr *ip;
 	struct ip_hdr *ip;
@@ -258,10 +321,10 @@ _print_ip(u_char *p, int length)
 	if ((ip_off & IP_OFFMASK) == 0) {
 	if ((ip_off & IP_OFFMASK) == 0) {
 		switch (ip->ip_p) {
 		switch (ip->ip_p) {
 		case IP_PROTO_TCP:
 		case IP_PROTO_TCP:
-			_print_tcp(p, ip_len);
+			_print_tcp(AF_INET, p, ip_len);
 			break;
 			break;
 		case IP_PROTO_UDP:
 		case IP_PROTO_UDP:
-			_print_udp(p, ip_len);
+			_print_udp(AF_INET, p, ip_len);
 			break;
 			break;
 		case IP_PROTO_ICMP:
 		case IP_PROTO_ICMP:
 			_print_icmp(p, ip_len);
 			_print_icmp(p, ip_len);
@@ -289,6 +352,56 @@ _print_ip(u_char *p, int length)
 		printf(" [ttl %d]", ip->ip_ttl);
 		printf(" [ttl %d]", ip->ip_ttl);
 }
 }
 
 
+static void
+_print_ip6(u_char *p, int length)
+{
+	struct ip6_hdr *ip6;
+	int plen;
+
+	ip6 = (struct ip6_hdr *)p;
+
+	if (length < IP6_HDR_LEN) {
+		printf("truncated-ip6 %d", length);
+		return;
+	}
+
+	plen = htons(ip6->ip6_plen);
+
+	switch (ip6->ip6_nxt) {
+		case IP_PROTO_TCP:
+			_print_tcp(AF_INET6, p, plen);
+			break;
+		case IP_PROTO_UDP:
+			_print_udp(AF_INET6, p, plen);
+			break;
+		case IP_PROTO_ICMPV6:
+			_print_icmp6(p, plen);
+			break;
+		case IP_PROTO_FRAGMENT:
+			_print_frag6(p, plen);
+			break;
+		default:
+			printf("%s > %s:", ip6_ntoa(&ip6->ip6_src),
+				ip6_ntoa(&ip6->ip6_dst));
+			printf(" ip-proto-%hhu ttl %hhu  payload len %hu", ip6->ip6_nxt,
+				ip6->ip6_hlim, plen);
+			break;
+	}
+
+	if (ip6->ip6_hlim <= 1)
+		printf(" [ttl %d]", ip6->ip6_hlim);
+}
+
+static void
+_print_eth(struct eth_hdr* e, int length)
+{
+		char d[20], s[20];
+		eth_ntop(&e->eth_dst, &d[0], sizeof(d));
+		eth_ntop(&e->eth_src, &s[0], sizeof(s));
+
+		printf("%s > %s type 0x%04hx length %d", d, s, htons(e->eth_type), length);
+}
+
 static char *
 static char *
 timerntoa(struct timeval *tv)
 timerntoa(struct timeval *tv)
 {
 {
@@ -309,7 +422,14 @@ print_apply(void *d, struct pktq *pktq)
 	struct pkt *pkt;
 	struct pkt *pkt;
 
 
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (eth_type == ETH_TYPE_IP)
 		_print_ip(pkt->pkt_eth_data, pkt->pkt_end - pkt->pkt_eth_data);
 		_print_ip(pkt->pkt_eth_data, pkt->pkt_end - pkt->pkt_eth_data);
+		else if (eth_type == ETH_TYPE_IPV6)
+		  _print_ip6(pkt->pkt_eth_data, pkt->pkt_end - pkt->pkt_eth_data);
+		else
+			_print_eth(pkt->pkt_eth, pkt->pkt_end - pkt->pkt_data);
 		if (timerisset(&pkt->pkt_ts))
 		if (timerisset(&pkt->pkt_ts))
 			printf(" [delay %s]", timerntoa(&pkt->pkt_ts));
 			printf(" [delay %s]", timerntoa(&pkt->pkt_ts));
 		printf("\n");
 		printf("\n");

+ 36 - 16
src/fragroute/mod_tcp_chaff.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_tcp_chaff.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: mod_tcp_chaff.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -15,6 +15,7 @@
 #include "pkt.h"
 #include "pkt.h"
 #include "mod.h"
 #include "mod.h"
 #include "randutil.h"
 #include "randutil.h"
+#include "iputil.h"
 
 
 #define CHAFF_TYPE_CKSUM	1
 #define CHAFF_TYPE_CKSUM	1
 #define CHAFF_TYPE_NULL		2
 #define CHAFF_TYPE_NULL		2
@@ -82,11 +83,26 @@ tcp_chaff_apply(void *d, struct pktq *pktq)
 	struct pkt *pkt, *new, *next;
 	struct pkt *pkt, *new, *next;
 	struct tcp_opt opt;
 	struct tcp_opt opt;
 	int i;
 	int i;
+	uint16_t eth_type;
+	uint8_t nxt;
 	
 	
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 		next = TAILQ_NEXT(pkt, pkt_next);
 		next = TAILQ_NEXT(pkt, pkt_next);
 		
 		
-		if (pkt->pkt_ip == NULL || pkt->pkt_ip->ip_p != IP_PROTO_TCP ||
+		eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (pkt->pkt_ip == NULL)
+			continue;
+
+		if (eth_type == ETH_TYPE_IP) {
+			nxt = pkt->pkt_ip->ip_p;
+		} else if (eth_type == ETH_TYPE_IPV6) {
+			nxt = pkt->pkt_ip6->ip6_nxt;
+		} else {
+			continue;
+		}
+
+		if (nxt != IP_PROTO_TCP ||
 		    pkt->pkt_tcp == NULL || pkt->pkt_tcp_data == NULL ||
 		    pkt->pkt_tcp == NULL || pkt->pkt_tcp_data == NULL ||
 		    (pkt->pkt_tcp->th_flags & TH_ACK) == 0)
 		    (pkt->pkt_tcp->th_flags & TH_ACK) == 0)
 			continue;
 			continue;
@@ -97,14 +113,14 @@ tcp_chaff_apply(void *d, struct pktq *pktq)
 	
 	
 		switch (data->type) {
 		switch (data->type) {
 		case CHAFF_TYPE_CKSUM:
 		case CHAFF_TYPE_CKSUM:
-			ip_checksum(new->pkt_ip,
+			inet_checksum(eth_type, new->pkt_ip,
 			    new->pkt_ip_data - new->pkt_eth_data);
 			    new->pkt_ip_data - new->pkt_eth_data);
 			new->pkt_tcp->th_sum = rand_uint16(data->rnd);
 			new->pkt_tcp->th_sum = rand_uint16(data->rnd);
 			break;
 			break;
 		case CHAFF_TYPE_NULL:
 		case CHAFF_TYPE_NULL:
 			new->pkt_tcp->th_flags = 0;
 			new->pkt_tcp->th_flags = 0;
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+			inet_checksum(eth_type, new->pkt_ip,
+					new->pkt_ip_data - new->pkt_eth_data);
 			break;
 			break;
 		case CHAFF_TYPE_PAWS:
 		case CHAFF_TYPE_PAWS:
 			/* Delete any existing TCP options. */
 			/* Delete any existing TCP options. */
@@ -119,28 +135,28 @@ tcp_chaff_apply(void *d, struct pktq *pktq)
 			opt.opt_len = TCP_OPT_LEN + 8;
 			opt.opt_len = TCP_OPT_LEN + 8;
 			opt.opt_data.timestamp[0] = 0;
 			opt.opt_data.timestamp[0] = 0;
 			opt.opt_data.timestamp[1] = 0;
 			opt.opt_data.timestamp[1] = 0;
-			if ((i = ip_add_option(new->pkt_ip,
+			if ((i = inet_add_option(eth_type, new->pkt_ip,
 			    PKT_BUF_LEN - ETH_HDR_LEN,
 			    PKT_BUF_LEN - ETH_HDR_LEN,
 			    IP_PROTO_TCP, &opt, opt.opt_len)) < 0) {
 			    IP_PROTO_TCP, &opt, opt.opt_len)) < 0) {
 				pkt_free(new);
 				pkt_free(new);
 				continue;
 				continue;
 			}
 			}
 			new->pkt_end += i;
 			new->pkt_end += i;
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+			inet_checksum(eth_type, new->pkt_ip,
+					new->pkt_ip_data - new->pkt_eth_data);
 			pkt_decorate(new);
 			pkt_decorate(new);
 			break;
 			break;
 		case CHAFF_TYPE_REXMIT:
 		case CHAFF_TYPE_REXMIT:
 			new->pkt_ts.tv_usec = 1;
 			new->pkt_ts.tv_usec = 1;
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+			inet_checksum(eth_type, new->pkt_ip,
+					new->pkt_ip_data - new->pkt_eth_data);
 			break;
 			break;
 		case CHAFF_TYPE_SEQ:
 		case CHAFF_TYPE_SEQ:
 			/* XXX - dunno recv window? */
 			/* XXX - dunno recv window? */
 			new->pkt_tcp->th_seq = htonl(666);
 			new->pkt_tcp->th_seq = htonl(666);
 			new->pkt_tcp->th_ack = htonl(666);
 			new->pkt_tcp->th_ack = htonl(666);
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+			inet_checksum(eth_type, new->pkt_ip,
+					new->pkt_ip_data - new->pkt_eth_data);
 			break;
 			break;
 		case CHAFF_TYPE_SYN:
 		case CHAFF_TYPE_SYN:
 			new->pkt_tcp->th_flags = TH_SYN;
 			new->pkt_tcp->th_flags = TH_SYN;
@@ -150,13 +166,17 @@ tcp_chaff_apply(void *d, struct pktq *pktq)
 			new->pkt_tcp_data = NULL;
 			new->pkt_tcp_data = NULL;
 			new->pkt_ip->ip_len = htons(new->pkt_end -
 			new->pkt_ip->ip_len = htons(new->pkt_end -
 			    new->pkt_eth_data);
 			    new->pkt_eth_data);
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+			inet_checksum(eth_type, new->pkt_ip,
+					new->pkt_ip_data - new->pkt_eth_data);
 			break;
 			break;
 		case CHAFF_TYPE_TTL:
 		case CHAFF_TYPE_TTL:
+			if (eth_type == ETH_TYPE_IP) {
 			new->pkt_ip->ip_ttl = data->ttl;
 			new->pkt_ip->ip_ttl = data->ttl;
-			ip_checksum(new->pkt_ip, new->pkt_end -
-			    new->pkt_eth_data);
+				ip_checksum(new->pkt_ip,
+						new->pkt_ip_data - new->pkt_eth_data);
+			} else if (eth_type == ETH_TYPE_IPV6) {
+				new->pkt_ip6->ip6_hlim = data->ttl;
+			}
 			break;
 			break;
 		}
 		}
 		/* Minimal random reordering. */
 		/* Minimal random reordering. */

+ 11 - 5
src/fragroute/mod_tcp_opt.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_tcp_opt.c 2191 2009-02-01 21:34:27Z aturner $
+ * $Id: mod_tcp_opt.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -16,6 +16,7 @@
 
 
 #include "pkt.h"
 #include "pkt.h"
 #include "mod.h"
 #include "mod.h"
+#include "iputil.h"
 
 
 void *
 void *
 tcp_opt_close(void *d)
 tcp_opt_close(void *d)
@@ -55,6 +56,10 @@ tcp_opt_open(int argc, char *argv[])
 			return (tcp_opt_close(opt));
 			return (tcp_opt_close(opt));
 		}
 		}
 		opt->opt_data.wscale = i;
 		opt->opt_data.wscale = i;
+	} else if (strcasecmp(argv[1], "raw") == 0) {
+		if (raw_ip_opt_parse(argc - 2, &argv[2], &opt->opt_type, &opt->opt_len,
+					&opt->opt_data.data8[0], sizeof(opt->opt_data.data8)) != 0)
+			return (tcp_opt_close(opt));
 	} else
 	} else
 		return (tcp_opt_close(opt));
 		return (tcp_opt_close(opt));
 	
 	
@@ -69,15 +74,16 @@ tcp_opt_apply(void *d, struct pktq *pktq)
 	size_t len;
 	size_t len;
 
 
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
 	TAILQ_FOREACH(pkt, pktq, pkt_next) {
-		len = ip_add_option(pkt->pkt_ip,
+		uint16_t eth_type = htons(pkt->pkt_eth->eth_type);
+
+		len = inet_add_option(eth_type, pkt->pkt_ip,
 		    sizeof(pkt->pkt_data) - ETH_HDR_LEN,
 		    sizeof(pkt->pkt_data) - ETH_HDR_LEN,
 		    IP_PROTO_TCP, opt, opt->opt_len);
 		    IP_PROTO_TCP, opt, opt->opt_len);
 
 
 		if (len > 0) {
 		if (len > 0) {
 			pkt->pkt_end += len;
 			pkt->pkt_end += len;
 			pkt_decorate(pkt);
 			pkt_decorate(pkt);
-			ip_checksum(pkt->pkt_ip, pkt->pkt_end -
-			    pkt->pkt_eth_data);
+			inet_checksum(eth_type, pkt->pkt_ip, pkt->pkt_end - pkt->pkt_eth_data);
 		}
 		}
 	}
 	}
 	return (0);
 	return (0);
@@ -85,7 +91,7 @@ tcp_opt_apply(void *d, struct pktq *pktq)
 
 
 struct mod mod_tcp_opt = {
 struct mod mod_tcp_opt = {
 	"tcp_opt",					/* name */
 	"tcp_opt",					/* name */
-	"tcp_opt mss|wscale <size>",			/* usage */
+	"tcp_opt mss|wscale <size>|raw <byte stream>",			/* usage */
 	tcp_opt_open,					/* open */
 	tcp_opt_open,					/* open */
 	tcp_opt_apply,					/* apply */
 	tcp_opt_apply,					/* apply */
 	tcp_opt_close					/* close */
 	tcp_opt_close					/* close */

+ 39 - 8
src/fragroute/mod_tcp_seg.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: mod_tcp_seg.c 2191 2009-02-01 21:34:27Z aturner $
+ * $Id: mod_tcp_seg.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -17,6 +17,7 @@
 #include "mod.h"
 #include "mod.h"
 #include "pkt.h"
 #include "pkt.h"
 #include "randutil.h"
 #include "randutil.h"
+#include "iputil.h"
 
 
 #ifndef MIN
 #ifndef MIN
 #define MIN(a,b)	(((a)<(b))?(a):(b))
 #define MIN(a,b)	(((a)<(b))?(a):(b))
@@ -73,22 +74,45 @@ tcp_seg_apply(void *d, struct pktq *pktq)
 	uint32_t seq;
 	uint32_t seq;
 	int hl, tl, len;	
 	int hl, tl, len;	
 	u_char *p, *p1, *p2;
 	u_char *p, *p1, *p2;
+	uint16_t eth_type;
+	uint8_t nxt;
 
 
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 	for (pkt = TAILQ_FIRST(pktq); pkt != TAILQ_END(pktq); pkt = next) {
 		next = TAILQ_NEXT(pkt, pkt_next);
 		next = TAILQ_NEXT(pkt, pkt_next);
 		
 		
-		if (pkt->pkt_ip == NULL || pkt->pkt_ip->ip_p != IP_PROTO_TCP ||
+		eth_type = htons(pkt->pkt_eth->eth_type);
+
+		if (pkt->pkt_ip == NULL)
+			continue;
+
+		if (eth_type == ETH_TYPE_IP) {
+			nxt = pkt->pkt_ip->ip_p;
+		} else if (eth_type == ETH_TYPE_IPV6) {
+			nxt = pkt->pkt_ip6->ip6_nxt;
+		} else {
+			continue;
+		}
+
+		if (nxt != IP_PROTO_TCP ||
 		    pkt->pkt_tcp == NULL || pkt->pkt_tcp_data == NULL ||
 		    pkt->pkt_tcp == NULL || pkt->pkt_tcp_data == NULL ||
 		    (pkt->pkt_tcp->th_flags & TH_ACK) == 0 ||
 		    (pkt->pkt_tcp->th_flags & TH_ACK) == 0 ||
 		    pkt->pkt_end - pkt->pkt_tcp_data <= tcp_seg_data.size)
 		    pkt->pkt_end - pkt->pkt_tcp_data <= tcp_seg_data.size)
 			continue;
 			continue;
 		
 		
+		if (eth_type == ETH_TYPE_IP) {
 		hl = pkt->pkt_ip->ip_hl << 2;
 		hl = pkt->pkt_ip->ip_hl << 2;
+		} else if (eth_type == ETH_TYPE_IPV6) {
+			hl = IP6_HDR_LEN;
+		} else {
+			continue;
+		}
+
 		tl = pkt->pkt_tcp->th_off << 2;
 		tl = pkt->pkt_tcp->th_off << 2;
 		seq = ntohl(pkt->pkt_tcp->th_seq);
 		seq = ntohl(pkt->pkt_tcp->th_seq);
 	
 	
 		for (p = pkt->pkt_tcp_data; p < pkt->pkt_end; p += len) {
 		for (p = pkt->pkt_tcp_data; p < pkt->pkt_end; p += len) {
 			new = pkt_new();
 			new = pkt_new();
+			memcpy(new->pkt_eth, pkt->pkt_eth, (u_char*)pkt->pkt_eth_data - (u_char*)pkt->pkt_eth);
 			p1 = p, p2 = NULL;
 			p1 = p, p2 = NULL;
 			len = MIN(pkt->pkt_end - p, tcp_seg_data.size);
 			len = MIN(pkt->pkt_end - p, tcp_seg_data.size);
 		
 		
@@ -112,25 +136,32 @@ tcp_seg_apply(void *d, struct pktq *pktq)
 			memcpy(new->pkt_tcp_data, p1, len);
 			memcpy(new->pkt_tcp_data, p1, len);
 			new->pkt_end = new->pkt_tcp_data + len;
 			new->pkt_end = new->pkt_tcp_data + len;
 			
 			
+			if (eth_type == ETH_TYPE_IP) {
 			new->pkt_ip->ip_id = rand_uint16(tcp_seg_data.rnd);
 			new->pkt_ip->ip_id = rand_uint16(tcp_seg_data.rnd);
 			new->pkt_ip->ip_len = htons(hl + tl + len);
 			new->pkt_ip->ip_len = htons(hl + tl + len);
+			} else {
+				new->pkt_ip6->ip6_plen = htons(tl + len);
+			}
+
 			new->pkt_tcp->th_seq = htonl(seq);
 			new->pkt_tcp->th_seq = htonl(seq);
-			ip_checksum(new->pkt_ip, hl + tl + len);
+			inet_checksum(eth_type, new->pkt_ip, hl + tl + len);
 			TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 			TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 			
 			
 			if (p2 != NULL) {
 			if (p2 != NULL) {
 				new = pkt_dup(new);
 				new = pkt_dup(new);
 				new->pkt_ts.tv_usec = 1;
 				new->pkt_ts.tv_usec = 1;
-				new->pkt_ip->ip_id =
-				    rand_uint16(tcp_seg_data.rnd);
-				new->pkt_ip->ip_len = htons(hl + tl +
-				    (len << 1));
+				if (eth_type == ETH_TYPE_IP) {
+					new->pkt_ip->ip_id = rand_uint16(tcp_seg_data.rnd);
+					new->pkt_ip->ip_len = htons(hl + tl + (len << 1));
+				} else if (eth_type == ETH_TYPE_IPV6) {
+					new->pkt_ip6->ip6_plen = htons(tl + (len << 1));
+				}
 				new->pkt_tcp->th_seq = htonl(seq - len);
 				new->pkt_tcp->th_seq = htonl(seq - len);
 				
 				
 				memcpy(new->pkt_tcp_data, p, len);
 				memcpy(new->pkt_tcp_data, p, len);
 				memcpy(new->pkt_tcp_data + len, p2, len);
 				memcpy(new->pkt_tcp_data + len, p2, len);
 				new->pkt_end = new->pkt_tcp_data + (len << 1);
 				new->pkt_end = new->pkt_tcp_data + (len << 1);
-				ip_checksum(new->pkt_ip, hl + tl + (len << 1));
+				inet_checksum(eth_type, new->pkt_ip, hl + tl + (len << 1));
 				TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 				TAILQ_INSERT_BEFORE(pkt, new, pkt_next);
 				p += len;
 				p += len;
 			}
 			}

+ 35 - 3
src/fragroute/pkt.c

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: pkt.c 2000 2008-04-27 06:17:35Z aturner $
+ * $Id: pkt.c 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #include "config.h"
 #include "config.h"
@@ -79,11 +79,18 @@ pkt_dup(struct pkt *pkt)
 	return (new);
 	return (new);
 }
 }
 
 
+#define IP6_IS_EXT(n)   \
+	((n) == IP_PROTO_HOPOPTS || (n) == IP_PROTO_DSTOPTS || \
+	 (n) == IP_PROTO_ROUTING || (n) == IP_PROTO_FRAGMENT)
+
 void
 void
 pkt_decorate(struct pkt *pkt)
 pkt_decorate(struct pkt *pkt)
 {
 {
 	u_char *p;
 	u_char *p;
+	uint16_t eth_type;
 	int hl, len, off;
 	int hl, len, off;
+	uint8_t next_hdr;
+	struct ip6_ext_hdr *ext;
 
 
 	pkt->pkt_data = pkt->pkt_buf + PKT_BUF_ALIGN;
 	pkt->pkt_data = pkt->pkt_buf + PKT_BUF_ALIGN;
 	pkt->pkt_eth = NULL;
 	pkt->pkt_eth = NULL;
@@ -99,6 +106,9 @@ pkt_decorate(struct pkt *pkt)
 	pkt->pkt_eth = (struct eth_hdr *)p;
 	pkt->pkt_eth = (struct eth_hdr *)p;
 	p += ETH_HDR_LEN;
 	p += ETH_HDR_LEN;
 
 
+	eth_type = htons(pkt->pkt_eth->eth_type);
+
+	if (eth_type == ETH_TYPE_IP) {
 	if (p + IP_HDR_LEN > pkt->pkt_end)
 	if (p + IP_HDR_LEN > pkt->pkt_end)
 		return;
 		return;
 	
 	
@@ -122,10 +132,29 @@ pkt_decorate(struct pkt *pkt)
 	
 	
 	pkt->pkt_end = p + len;
 	pkt->pkt_end = p + len;
 	p += hl;
 	p += hl;
+		next_hdr = pkt->pkt_ip->ip_p;
+	} else if (eth_type == ETH_TYPE_IPV6) {
+		if (p + IP6_HDR_LEN > pkt->pkt_end)
+			return;
+
+		pkt->pkt_eth_data = p;
+		p += IP6_HDR_LEN;
+		next_hdr = pkt->pkt_ip6->ip6_nxt;
+
+		for (; IP6_IS_EXT(next_hdr); p += (ext->ext_len + 1) << 3) {
+			if (p > pkt->pkt_end)
+				return;
+			ext = (struct ip6_ext_hdr *)p;
+			next_hdr = ext->ext_nxt;
+		}
+	} else {
+		return;
+	}
 
 
 	/* If transport layer header is longer than packet length, stop. */
 	/* If transport layer header is longer than packet length, stop. */
-	switch (pkt->pkt_ip->ip_p) {
+	switch (next_hdr) {
 	case IP_PROTO_ICMP:
 	case IP_PROTO_ICMP:
+	case IP_PROTO_ICMPV6:
 		hl = ICMP_HDR_LEN;
 		hl = ICMP_HDR_LEN;
 		break;
 		break;
 	case IP_PROTO_TCP:
 	case IP_PROTO_TCP:
@@ -146,7 +175,7 @@ pkt_decorate(struct pkt *pkt)
 	p += hl;
 	p += hl;
 
 
 	/* Check for transport layer data. */
 	/* Check for transport layer data. */
-	switch (pkt->pkt_ip->ip_p) {
+	switch (next_hdr) {
 	case IP_PROTO_ICMP:
 	case IP_PROTO_ICMP:
 		pkt->pkt_icmp_msg = (union icmp_msg *)p;
 		pkt->pkt_icmp_msg = (union icmp_msg *)p;
 		
 		
@@ -196,6 +225,9 @@ pkt_decorate(struct pkt *pkt)
 		if (p + hl > pkt->pkt_end)
 		if (p + hl > pkt->pkt_end)
 			pkt->pkt_icmp_msg = NULL;
 			pkt->pkt_icmp_msg = NULL;
 		break;
 		break;
+	case IP_PROTO_ICMPV6:
+		pkt->pkt_icmp_msg = (union icmp_msg *)p;
+		break;
 	case IP_PROTO_TCP:
 	case IP_PROTO_TCP:
 		if (p < pkt->pkt_end)
 		if (p < pkt->pkt_end)
 			pkt->pkt_tcp_data = p;
 			pkt->pkt_tcp_data = p;

+ 3 - 1
src/fragroute/pkt.h

@@ -3,7 +3,7 @@
  *
  *
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  * Copyright (c) 2001 Dug Song <dugsong@monkey.org>
  *
  *
- * $Id: pkt.h 2035 2008-05-19 05:35:24Z aturner $
+ * $Id: pkt.h 2303 2009-05-06 18:48:20Z aturner $
  */
  */
 
 
 #ifndef PKT_H
 #ifndef PKT_H
@@ -34,6 +34,7 @@ struct pkt {
 	union {
 	union {
 		u_char		*eth_data;
 		u_char		*eth_data;
 		struct ip_hdr	*ip;
 		struct ip_hdr	*ip;
+		struct ip6_hdr	*ip6;
 	} pkt_n_hdr_u;
 	} pkt_n_hdr_u;
 	union {
 	union {
 		u_char		*ip_data;
 		u_char		*ip_data;
@@ -53,6 +54,7 @@ struct pkt {
 	TAILQ_ENTRY(pkt) pkt_next;
 	TAILQ_ENTRY(pkt) pkt_next;
 };
 };
 #define pkt_ip		 pkt_n_hdr_u.ip
 #define pkt_ip		 pkt_n_hdr_u.ip
+#define pkt_ip6		 pkt_n_hdr_u.ip6
 #define pkt_eth_data	 pkt_n_hdr_u.eth_data
 #define pkt_eth_data	 pkt_n_hdr_u.eth_data
 
 
 #define pkt_icmp	 pkt_t_hdr_u.icmp
 #define pkt_icmp	 pkt_t_hdr_u.icmp

+ 4 - 2
src/send_packets.c

@@ -1,4 +1,4 @@
-/* $Id: send_packets.c 2110 2009-01-08 00:22:22Z aturner $ */
+/* $Id: send_packets.c 2346 2009-05-19 00:14:52Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2008 Aaron Turner.
  * Copyright (c) 2001-2008 Aaron Turner.
@@ -47,11 +47,13 @@
 #include "tcpreplay.h"
 #include "tcpreplay.h"
 
 
 #ifdef TCPREPLAY
 #ifdef TCPREPLAY
-#include "tcpreplay_opts.h"
 
 
 #ifdef TCPREPLAY_EDIT
 #ifdef TCPREPLAY_EDIT
+#include "tcpreplay_edit_opts.h"
 #include "tcpedit/tcpedit.h"
 #include "tcpedit/tcpedit.h"
 extern tcpedit_t *tcpedit;
 extern tcpedit_t *tcpedit;
+#else
+#include "tcpreplay_opts.h"
 #endif
 #endif
 
 
 #endif /* TCPREPLAY */
 #endif /* TCPREPLAY */

+ 59 - 21
src/tcpbridge.1

@@ -1,7 +1,7 @@
-.TH TCPBRIDGE 1 2009-02-17 "(tcpbridge )" "Programmer's Manual"
+.TH TCPBRIDGE 1 2009-06-25 "(tcpbridge )" "Programmer's Manual"
 .\"  DO NOT EDIT THIS FILE   (tcpbridge.1)
 .\"  DO NOT EDIT THIS FILE   (tcpbridge.1)
 .\"  
 .\"  
-.\"  It has been AutoGen-ed  Tuesday February 17, 2009 at 06:27:05 PM PST
+.\"  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:11 PM PDT
 .\"  From the definitions    tcpbridge_opts.def
 .\"  From the definitions    tcpbridge_opts.def
 .\"  and the template file   agman1.tpl
 .\"  and the template file   agman1.tpl
 .\"
 .\"
@@ -42,17 +42,17 @@ Example:
 .fi
 .fi
 .TP
 .TP
 .BR \-s " \fInumber\fP, " \--seed "=" \fInumber\fP
 .BR \-s " \fInumber\fP, " \--seed "=" \fInumber\fP
-Randomize src/dst IP addresses w/ given seed.
+Randomize src/dst IPv4/v6 addresses w/ given seed.
 This option may appear up to 1 times.
 This option may appear up to 1 times.
 This option takes an integer number as its argument.
 This option takes an integer number as its argument.
 .sp
 .sp
-Causes the source and destination IP addresses to be pseudo 
+Causes the source and destination IPv4/v6 addresses to be pseudo 
 randomized but still maintain client/server relationships.
 randomized but still maintain client/server relationships.
 Since the randomization is deterministic based on the seed, 
 Since the randomization is deterministic based on the seed, 
 you can reuse the same seed value to recreate the traffic.
 you can reuse the same seed value to recreate the traffic.
 .TP
 .TP
 .BR \-N " \fIstring\fP, " \--pnat "=" \fIstring\fP
 .BR \-N " \fIstring\fP, " \--pnat "=" \fIstring\fP
-Rewrite IP addresses using pseudo-NAT.
+Rewrite IPv4/v6 addresses using pseudo-NAT.
 This option may appear up to 2 times.
 This option may appear up to 2 times.
 This option must not appear in combination with any of the following options:
 This option must not appear in combination with any of the following options:
 srcipmap.
 srcipmap.
@@ -63,28 +63,32 @@ the IP addresses.  If the IP address in the packet matches the
 first netblock, it is rewriten using the second netblock as a
 first netblock, it is rewriten using the second netblock as a
 mask against the high order bits.
 mask against the high order bits.
 
 
-Example:
+IPv4 Example:
 .nf
 .nf
     \--pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
     \--pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
 .fi
 .fi
+IPv6 Example:
+.nf
+    \--pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]
+.fi
 .TP
 .TP
 .BR \-S " \fIstring\fP, " \--srcipmap "=" \fIstring\fP
 .BR \-S " \fIstring\fP, " \--srcipmap "=" \fIstring\fP
-Rewrite source IP addresses using pseudo-NAT.
+Rewrite source IPv4/v6 addresses using pseudo-NAT.
 This option may appear up to 1 times.
 This option may appear up to 1 times.
 This option must not appear in combination with any of the following options:
 This option must not appear in combination with any of the following options:
 pnat.
 pnat.
 .sp
 .sp
 Works just like the \--pnat option, but only affects the source IP
 Works just like the \--pnat option, but only affects the source IP
-addresses in the IPv4 header.
+addresses in the IPv4/v6 header.
 .TP
 .TP
 .BR \-D " \fIstring\fP, " \--dstipmap "=" \fIstring\fP
 .BR \-D " \fIstring\fP, " \--dstipmap "=" \fIstring\fP
-Rewrite destination IP addresses using pseudo-NAT.
+Rewrite destination IPv4/v6 addresses using pseudo-NAT.
 This option may appear up to 1 times.
 This option may appear up to 1 times.
 This option must not appear in combination with any of the following options:
 This option must not appear in combination with any of the following options:
 pnat.
 pnat.
 .sp
 .sp
 Works just like the \--pnat option, but only affects the destination IP
 Works just like the \--pnat option, but only affects the destination IP
-addresses in the IPv4 header.
+addresses in the IPv4/v6 header.
 .TP
 .TP
 .BR \-e " \fIstring\fP, " \--endpoints "=" \fIstring\fP
 .BR \-e " \fIstring\fP, " \--endpoints "=" \fIstring\fP
 Rewrite IP addresses to be between two endpoints.
 Rewrite IP addresses to be between two endpoints.
@@ -92,25 +96,30 @@ This option may appear up to 1 times.
 This option must appear in combination with the following options:
 This option must appear in combination with the following options:
 cachefile.
 cachefile.
 .sp
 .sp
-Takes a pair of colon delimited IP addresses which will be used to rewrite
+Takes a pair of colon delimited IPv4/v6 addresses which will be used to rewrite
 all traffic to appear to be between the two IP's.
 all traffic to appear to be between the two IP's.
 
 
-Example:
+IPv4 Example:
 .nf
 .nf
     \--endpoints=172.16.0.1:172.16.0.2
     \--endpoints=172.16.0.1:172.16.0.2
 .fi
 .fi
+IPv6 Example:
+.nf
+    \--endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]
+.fi
+
 .TP
 .TP
 .BR \-b ", " \--skipbroadcast
 .BR \-b ", " \--skipbroadcast
-Skip rewriting broadcast/multicast IP's.
+Skip rewriting broadcast/multicast IPv4/v6 addresses.
 .sp
 .sp
 By default \--seed, \--pnat and \--endpoints will rewrite 
 By default \--seed, \--pnat and \--endpoints will rewrite 
-broadcast and multicast IP and MAC addresses.	Setting this flag
-will keep broadcast/multicast IP and MAC addresses from being rewritten.
+broadcast and multicast IPv4/v6 and MAC addresses.	Setting this flag
+will keep broadcast/multicast IPv4/v6 and MAC addresses from being rewritten.
 .TP
 .TP
 .BR \-C ", " \--fixcsum
 .BR \-C ", " \--fixcsum
-Force recalculation of IP/TCP/UDP checksums.
+Force recalculation of IPv4/TCP/UDP header checksums.
 .sp
 .sp
-Causes each IP packet to have it's checksums recalcualted and
+Causes each IPv4/v6 packet to have it's checksums recalcualted and
 fixed.  Automatically enabled for packets modified with \fB--seed\fP, 
 fixed.  Automatically enabled for packets modified with \fB--seed\fP, 
 \fB--pnat\fP, \fB--endpoints\fP or \fB--fixlen\fP.
 \fB--pnat\fP, \fB--endpoints\fP or \fB--fixlen\fP.
 .TP
 .TP
@@ -145,9 +154,9 @@ you should only use this if you know know that your OS provides the FCS when
 reading raw packets.
 reading raw packets.
 .TP
 .TP
 .BR \--ttl "=\fIstring\fP"
 .BR \--ttl "=\fIstring\fP"
-Modify the IPv4 TTL.
+Modify the IPv4/v6 TTL/Hop Limit.
 .sp
 .sp
-Allows you to modify the TTL of all the IPv4 packets.  Specify a number to hard-code
+Allows you to modify the TTL/Hop Limit of all the IPv4/v6 packets.  Specify a number to hard-code
 the value or +/-value to increase or decrease by the value provided (limited to 1-255).    
 the value or +/-value to increase or decrease by the value provided (limited to 1-255).    
 
 
 Examples:
 Examples:
@@ -169,7 +178,36 @@ in the range  0 through 255
 .fi
 .fi
 .in -4
 .in -4
 .sp
 .sp
-Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4 packets.    
+Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4.
+.TP
+.BR \--tclass "=\fInumber\fP"
+Set the IPv6 Traffic Class byte.
+This option may appear up to 1 times.
+This option takes an integer number as its argument.
+The value of \fInumber\fP is constrained to being:
+.in +4
+.nf
+.na
+in the range  0 through 255
+.fi
+.in -4
+.sp
+Allows you to override the IPv6 Traffic Class field.
+.TP
+.BR \--flowlabel "=\fInumber\fP"
+Set the IPv6 Flow Label.
+This option may appear up to 1 times.
+This option takes an integer number as its argument.
+The value of \fInumber\fP is constrained to being:
+.in +4
+.nf
+.na
+in the range  0 through 1048575
+.fi
+.in -4
+.sp
+Allows you to override the 20bit IPv6 Flow Label field.  Has no effect on IPv4 
+packets.
 .TP
 .TP
 .BR \-F " \fIstring\fP, " \--fixlen "=" \fIstring\fP
 .BR \-F " \fIstring\fP, " \--fixlen "=" \fIstring\fP
 Pad or truncate packet data to match header length.
 Pad or truncate packet data to match header length.
@@ -177,7 +215,7 @@ This option may appear up to 1 times.
 .sp
 .sp
 Packets may be truncated during capture if the snaplen is smaller then the
 Packets may be truncated during capture if the snaplen is smaller then the
 packet.  This option allows you to modify the packet to pad the packet back
 packet.  This option allows you to modify the packet to pad the packet back
-out to the size stored in the IPv4 header or rewrite the IP header total length
+out to the size stored in the IPv4/v6 header or rewrite the IP header total length
 to reflect the stored packet length.
 to reflect the stored packet length.
 .sp 1
 .sp 1
 \fBpad\fP
 \fBpad\fP

+ 211 - 66
src/tcpbridge_opts.c

@@ -2,7 +2,7 @@
  *  
  *  
  *  DO NOT EDIT THIS FILE   (tcpbridge_opts.c)
  *  DO NOT EDIT THIS FILE   (tcpbridge_opts.c)
  *  
  *  
- *  It has been AutoGen-ed  Tuesday February 17, 2009 at 06:27:03 PM PST
+ *  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:10 PM PDT
  *  From the definitions    tcpbridge_opts.def
  *  From the definitions    tcpbridge_opts.def
  *  and the template file   options
  *  and the template file   options
  *
  *
@@ -134,7 +134,7 @@ tSCC    zPortmap_Name[]            = "portmap";
  *  Seed option description:
  *  Seed option description:
  */
  */
 tSCC    zSeedText[] =
 tSCC    zSeedText[] =
-        "Randomize src/dst IP addresses w/ given seed";
+        "Randomize src/dst IPv4/v6 addresses w/ given seed";
 tSCC    zSeed_NAME[]               = "SEED";
 tSCC    zSeed_NAME[]               = "SEED";
 tSCC    zSeed_Name[]               = "seed";
 tSCC    zSeed_Name[]               = "seed";
 #define SEED_FLAGS       (OPTST_DISABLED \
 #define SEED_FLAGS       (OPTST_DISABLED \
@@ -145,7 +145,7 @@ tSCC    zSeed_Name[]               = "seed";
  *  "Must also have options" and "Incompatible options":
  *  "Must also have options" and "Incompatible options":
  */
  */
 tSCC    zPnatText[] =
 tSCC    zPnatText[] =
-        "Rewrite IP addresses using pseudo-NAT";
+        "Rewrite IPv4/v6 addresses using pseudo-NAT";
 tSCC    zPnat_NAME[]               = "PNAT";
 tSCC    zPnat_NAME[]               = "PNAT";
 tSCC    zPnat_Name[]               = "pnat";
 tSCC    zPnat_Name[]               = "pnat";
 static const int
 static const int
@@ -159,7 +159,7 @@ static const int
  *  "Must also have options" and "Incompatible options":
  *  "Must also have options" and "Incompatible options":
  */
  */
 tSCC    zSrcipmapText[] =
 tSCC    zSrcipmapText[] =
-        "Rewrite source IP addresses using pseudo-NAT";
+        "Rewrite source IPv4/v6 addresses using pseudo-NAT";
 tSCC    zSrcipmap_NAME[]           = "SRCIPMAP";
 tSCC    zSrcipmap_NAME[]           = "SRCIPMAP";
 tSCC    zSrcipmap_Name[]           = "srcipmap";
 tSCC    zSrcipmap_Name[]           = "srcipmap";
 static const int
 static const int
@@ -173,7 +173,7 @@ static const int
  *  "Must also have options" and "Incompatible options":
  *  "Must also have options" and "Incompatible options":
  */
  */
 tSCC    zDstipmapText[] =
 tSCC    zDstipmapText[] =
-        "Rewrite destination IP addresses using pseudo-NAT";
+        "Rewrite destination IPv4/v6 addresses using pseudo-NAT";
 tSCC    zDstipmap_NAME[]           = "DSTIPMAP";
 tSCC    zDstipmap_NAME[]           = "DSTIPMAP";
 tSCC    zDstipmap_Name[]           = "dstipmap";
 tSCC    zDstipmap_Name[]           = "dstipmap";
 static const int
 static const int
@@ -210,7 +210,7 @@ static const int
  *  Skipbroadcast option description:
  *  Skipbroadcast option description:
  */
  */
 tSCC    zSkipbroadcastText[] =
 tSCC    zSkipbroadcastText[] =
-        "Skip rewriting broadcast/multicast IP's";
+        "Skip rewriting broadcast/multicast IPv4/v6 addresses";
 tSCC    zSkipbroadcast_NAME[]      = "SKIPBROADCAST";
 tSCC    zSkipbroadcast_NAME[]      = "SKIPBROADCAST";
 tSCC    zSkipbroadcast_Name[]      = "skipbroadcast";
 tSCC    zSkipbroadcast_Name[]      = "skipbroadcast";
 #define SKIPBROADCAST_FLAGS       (OPTST_DISABLED)
 #define SKIPBROADCAST_FLAGS       (OPTST_DISABLED)
@@ -219,7 +219,7 @@ tSCC    zSkipbroadcast_Name[]      = "skipbroadcast";
  *  Fixcsum option description:
  *  Fixcsum option description:
  */
  */
 tSCC    zFixcsumText[] =
 tSCC    zFixcsumText[] =
-        "Force recalculation of IP/TCP/UDP checksums";
+        "Force recalculation of IPv4/TCP/UDP header checksums";
 tSCC    zFixcsum_NAME[]            = "FIXCSUM";
 tSCC    zFixcsum_NAME[]            = "FIXCSUM";
 tSCC    zFixcsum_Name[]            = "fixcsum";
 tSCC    zFixcsum_Name[]            = "fixcsum";
 #define FIXCSUM_FLAGS       (OPTST_DISABLED)
 #define FIXCSUM_FLAGS       (OPTST_DISABLED)
@@ -256,7 +256,7 @@ tSCC    zEfcs_Name[]               = "efcs";
  *  Ttl option description:
  *  Ttl option description:
  */
  */
 tSCC    zTtlText[] =
 tSCC    zTtlText[] =
-        "Modify the IPv4 TTL";
+        "Modify the IPv4/v6 TTL/Hop Limit";
 tSCC    zTtl_NAME[]                = "TTL";
 tSCC    zTtl_NAME[]                = "TTL";
 tSCC    zTtl_Name[]                = "ttl";
 tSCC    zTtl_Name[]                = "ttl";
 #define TTL_FLAGS       (OPTST_DISABLED \
 #define TTL_FLAGS       (OPTST_DISABLED \
@@ -273,6 +273,26 @@ tSCC    zTos_Name[]                = "tos";
         | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
         | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
 
 
 /*
 /*
+ *  Tclass option description:
+ */
+tSCC    zTclassText[] =
+        "Set the IPv6 Traffic Class byte";
+tSCC    zTclass_NAME[]             = "TCLASS";
+tSCC    zTclass_Name[]             = "tclass";
+#define TCLASS_FLAGS       (OPTST_DISABLED \
+        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
+
+/*
+ *  Flowlabel option description:
+ */
+tSCC    zFlowlabelText[] =
+        "Set the IPv6 Flow Label";
+tSCC    zFlowlabel_NAME[]          = "FLOWLABEL";
+tSCC    zFlowlabel_Name[]          = "flowlabel";
+#define FLOWLABEL_FLAGS       (OPTST_DISABLED \
+        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
+
+/*
  *  Fixlen option description:
  *  Fixlen option description:
  */
  */
 tSCC    zFixlenText[] =
 tSCC    zFixlenText[] =
@@ -630,9 +650,10 @@ extern tOptProc
     optionNumericVal, optionPagedUsage, optionStackArg;
     optionNumericVal, optionPagedUsage, optionStackArg;
 static tOptProc
 static tOptProc
     doOptEnet_Vlan_Cfi, doOptEnet_Vlan_Pri, doOptEnet_Vlan_Tag,
     doOptEnet_Vlan_Cfi, doOptEnet_Vlan_Pri, doOptEnet_Vlan_Tag,
-    doOptExclude,       doOptInclude,       doOptLess_Help,
-    doOptLimit,         doOptMtu,           doOptPid,
-    doOptTos,           doOptVersion,       doUsageOpt;
+    doOptExclude,       doOptFlowlabel,     doOptInclude,
+    doOptLess_Help,     doOptLimit,         doOptMtu,
+    doOptPid,           doOptTclass,        doOptTos,
+    doOptVersion,       doUsageOpt;
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *
@@ -807,8 +828,32 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zTosText, zTos_NAME, zTos_Name,
      /* desc, NAME, name */ zTosText, zTos_NAME, zTos_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 14, VALUE_OPT_FIXLEN,
-     /* equiv idx, value */ 14, VALUE_OPT_FIXLEN,
+  {  /* entry idx, value */ 14, VALUE_OPT_TCLASS,
+     /* equiv idx, value */ 14, VALUE_OPT_TCLASS,
+     /* equivalenced to  */ NO_EQUIVALENT,
+     /* min, max, act ct */ 0, 1, 0,
+     /* opt state flags  */ TCLASS_FLAGS, 0,
+     /* last opt argumnt */ { NULL },
+     /* arg list/cookie  */ NULL,
+     /* must/cannot opts */ NULL, NULL,
+     /* option proc      */ doOptTclass,
+     /* desc, NAME, name */ zTclassText, zTclass_NAME, zTclass_Name,
+     /* disablement strs */ NULL, NULL },
+
+  {  /* entry idx, value */ 15, VALUE_OPT_FLOWLABEL,
+     /* equiv idx, value */ 15, VALUE_OPT_FLOWLABEL,
+     /* equivalenced to  */ NO_EQUIVALENT,
+     /* min, max, act ct */ 0, 1, 0,
+     /* opt state flags  */ FLOWLABEL_FLAGS, 0,
+     /* last opt argumnt */ { NULL },
+     /* arg list/cookie  */ NULL,
+     /* must/cannot opts */ NULL, NULL,
+     /* option proc      */ doOptFlowlabel,
+     /* desc, NAME, name */ zFlowlabelText, zFlowlabel_NAME, zFlowlabel_Name,
+     /* disablement strs */ NULL, NULL },
+
+  {  /* entry idx, value */ 16, VALUE_OPT_FIXLEN,
+     /* equiv idx, value */ 16, VALUE_OPT_FIXLEN,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ FIXLEN_FLAGS, 0,
      /* opt state flags  */ FIXLEN_FLAGS, 0,
@@ -819,8 +864,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zFixlenText, zFixlen_NAME, zFixlen_Name,
      /* desc, NAME, name */ zFixlenText, zFixlen_NAME, zFixlen_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 15, VALUE_OPT_SKIPL2BROADCAST,
-     /* equiv idx, value */ 15, VALUE_OPT_SKIPL2BROADCAST,
+  {  /* entry idx, value */ 17, VALUE_OPT_SKIPL2BROADCAST,
+     /* equiv idx, value */ 17, VALUE_OPT_SKIPL2BROADCAST,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ SKIPL2BROADCAST_FLAGS, 0,
      /* opt state flags  */ SKIPL2BROADCAST_FLAGS, 0,
@@ -831,8 +876,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zSkipl2broadcastText, zSkipl2broadcast_NAME, zSkipl2broadcast_Name,
      /* desc, NAME, name */ zSkipl2broadcastText, zSkipl2broadcast_NAME, zSkipl2broadcast_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 16, VALUE_OPT_DLT,
-     /* equiv idx, value */ 16, VALUE_OPT_DLT,
+  {  /* entry idx, value */ 18, VALUE_OPT_DLT,
+     /* equiv idx, value */ 18, VALUE_OPT_DLT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ DLT_FLAGS, 0,
      /* opt state flags  */ DLT_FLAGS, 0,
@@ -843,8 +888,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zDltText, zDlt_NAME, zDlt_Name,
      /* desc, NAME, name */ zDltText, zDlt_NAME, zDlt_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 17, VALUE_OPT_ENET_DMAC,
-     /* equiv idx, value */ 17, VALUE_OPT_ENET_DMAC,
+  {  /* entry idx, value */ 19, VALUE_OPT_ENET_DMAC,
+     /* equiv idx, value */ 19, VALUE_OPT_ENET_DMAC,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_DMAC_FLAGS, 0,
      /* opt state flags  */ ENET_DMAC_FLAGS, 0,
@@ -855,8 +900,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_DmacText, zEnet_Dmac_NAME, zEnet_Dmac_Name,
      /* desc, NAME, name */ zEnet_DmacText, zEnet_Dmac_NAME, zEnet_Dmac_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 18, VALUE_OPT_ENET_SMAC,
-     /* equiv idx, value */ 18, VALUE_OPT_ENET_SMAC,
+  {  /* entry idx, value */ 20, VALUE_OPT_ENET_SMAC,
+     /* equiv idx, value */ 20, VALUE_OPT_ENET_SMAC,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_SMAC_FLAGS, 0,
      /* opt state flags  */ ENET_SMAC_FLAGS, 0,
@@ -867,8 +912,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_SmacText, zEnet_Smac_NAME, zEnet_Smac_Name,
      /* desc, NAME, name */ zEnet_SmacText, zEnet_Smac_NAME, zEnet_Smac_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 19, VALUE_OPT_ENET_VLAN,
-     /* equiv idx, value */ 19, VALUE_OPT_ENET_VLAN,
+  {  /* entry idx, value */ 21, VALUE_OPT_ENET_VLAN,
+     /* equiv idx, value */ 21, VALUE_OPT_ENET_VLAN,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_VLAN_FLAGS, 0,
      /* opt state flags  */ ENET_VLAN_FLAGS, 0,
@@ -879,8 +924,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_VlanText, zEnet_Vlan_NAME, zEnet_Vlan_Name,
      /* desc, NAME, name */ zEnet_VlanText, zEnet_Vlan_NAME, zEnet_Vlan_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 20, VALUE_OPT_ENET_VLAN_TAG,
-     /* equiv idx, value */ 20, VALUE_OPT_ENET_VLAN_TAG,
+  {  /* entry idx, value */ 22, VALUE_OPT_ENET_VLAN_TAG,
+     /* equiv idx, value */ 22, VALUE_OPT_ENET_VLAN_TAG,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_VLAN_TAG_FLAGS, 0,
      /* opt state flags  */ ENET_VLAN_TAG_FLAGS, 0,
@@ -891,8 +936,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_Vlan_TagText, zEnet_Vlan_Tag_NAME, zEnet_Vlan_Tag_Name,
      /* desc, NAME, name */ zEnet_Vlan_TagText, zEnet_Vlan_Tag_NAME, zEnet_Vlan_Tag_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 21, VALUE_OPT_ENET_VLAN_CFI,
-     /* equiv idx, value */ 21, VALUE_OPT_ENET_VLAN_CFI,
+  {  /* entry idx, value */ 23, VALUE_OPT_ENET_VLAN_CFI,
+     /* equiv idx, value */ 23, VALUE_OPT_ENET_VLAN_CFI,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_VLAN_CFI_FLAGS, 0,
      /* opt state flags  */ ENET_VLAN_CFI_FLAGS, 0,
@@ -903,8 +948,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_Vlan_CfiText, zEnet_Vlan_Cfi_NAME, zEnet_Vlan_Cfi_Name,
      /* desc, NAME, name */ zEnet_Vlan_CfiText, zEnet_Vlan_Cfi_NAME, zEnet_Vlan_Cfi_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 22, VALUE_OPT_ENET_VLAN_PRI,
-     /* equiv idx, value */ 22, VALUE_OPT_ENET_VLAN_PRI,
+  {  /* entry idx, value */ 24, VALUE_OPT_ENET_VLAN_PRI,
+     /* equiv idx, value */ 24, VALUE_OPT_ENET_VLAN_PRI,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ ENET_VLAN_PRI_FLAGS, 0,
      /* opt state flags  */ ENET_VLAN_PRI_FLAGS, 0,
@@ -915,8 +960,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zEnet_Vlan_PriText, zEnet_Vlan_Pri_NAME, zEnet_Vlan_Pri_Name,
      /* desc, NAME, name */ zEnet_Vlan_PriText, zEnet_Vlan_Pri_NAME, zEnet_Vlan_Pri_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 23, VALUE_OPT_HDLC_CONTROL,
-     /* equiv idx, value */ 23, VALUE_OPT_HDLC_CONTROL,
+  {  /* entry idx, value */ 25, VALUE_OPT_HDLC_CONTROL,
+     /* equiv idx, value */ 25, VALUE_OPT_HDLC_CONTROL,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ HDLC_CONTROL_FLAGS, 0,
      /* opt state flags  */ HDLC_CONTROL_FLAGS, 0,
@@ -927,8 +972,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zHdlc_ControlText, zHdlc_Control_NAME, zHdlc_Control_Name,
      /* desc, NAME, name */ zHdlc_ControlText, zHdlc_Control_NAME, zHdlc_Control_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 24, VALUE_OPT_HDLC_ADDRESS,
-     /* equiv idx, value */ 24, VALUE_OPT_HDLC_ADDRESS,
+  {  /* entry idx, value */ 26, VALUE_OPT_HDLC_ADDRESS,
+     /* equiv idx, value */ 26, VALUE_OPT_HDLC_ADDRESS,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ HDLC_ADDRESS_FLAGS, 0,
      /* opt state flags  */ HDLC_ADDRESS_FLAGS, 0,
@@ -939,8 +984,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zHdlc_AddressText, zHdlc_Address_NAME, zHdlc_Address_Name,
      /* desc, NAME, name */ zHdlc_AddressText, zHdlc_Address_NAME, zHdlc_Address_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 25, VALUE_OPT_USER_DLT,
-     /* equiv idx, value */ 25, VALUE_OPT_USER_DLT,
+  {  /* entry idx, value */ 27, VALUE_OPT_USER_DLT,
+     /* equiv idx, value */ 27, VALUE_OPT_USER_DLT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ USER_DLT_FLAGS, 0,
      /* opt state flags  */ USER_DLT_FLAGS, 0,
@@ -951,8 +996,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zUser_DltText, zUser_Dlt_NAME, zUser_Dlt_Name,
      /* desc, NAME, name */ zUser_DltText, zUser_Dlt_NAME, zUser_Dlt_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 26, VALUE_OPT_USER_DLINK,
-     /* equiv idx, value */ 26, VALUE_OPT_USER_DLINK,
+  {  /* entry idx, value */ 28, VALUE_OPT_USER_DLINK,
+     /* equiv idx, value */ 28, VALUE_OPT_USER_DLINK,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 2, 0,
      /* min, max, act ct */ 0, 2, 0,
      /* opt state flags  */ USER_DLINK_FLAGS, 0,
      /* opt state flags  */ USER_DLINK_FLAGS, 0,
@@ -963,8 +1008,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zUser_DlinkText, zUser_Dlink_NAME, zUser_Dlink_Name,
      /* desc, NAME, name */ zUser_DlinkText, zUser_Dlink_NAME, zUser_Dlink_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 27, VALUE_OPT_DBUG,
-     /* equiv idx, value */ 27, VALUE_OPT_DBUG,
+  {  /* entry idx, value */ 29, VALUE_OPT_DBUG,
+     /* equiv idx, value */ 29, VALUE_OPT_DBUG,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ DBUG_FLAGS, 0,
      /* opt state flags  */ DBUG_FLAGS, 0,
@@ -975,8 +1020,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zDbugText, zDbug_NAME, zDbug_Name,
      /* desc, NAME, name */ zDbugText, zDbug_NAME, zDbug_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 28, VALUE_OPT_INTF1,
-     /* equiv idx, value */ 28, VALUE_OPT_INTF1,
+  {  /* entry idx, value */ 30, VALUE_OPT_INTF1,
+     /* equiv idx, value */ 30, VALUE_OPT_INTF1,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 1, 1, 0,
      /* min, max, act ct */ 1, 1, 0,
      /* opt state flags  */ INTF1_FLAGS, 0,
      /* opt state flags  */ INTF1_FLAGS, 0,
@@ -987,8 +1032,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zIntf1Text, zIntf1_NAME, zIntf1_Name,
      /* desc, NAME, name */ zIntf1Text, zIntf1_NAME, zIntf1_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 29, VALUE_OPT_INTF2,
-     /* equiv idx, value */ 29, VALUE_OPT_INTF2,
+  {  /* entry idx, value */ 31, VALUE_OPT_INTF2,
+     /* equiv idx, value */ 31, VALUE_OPT_INTF2,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ INTF2_FLAGS, 0,
      /* opt state flags  */ INTF2_FLAGS, 0,
@@ -999,8 +1044,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zIntf2Text, zIntf2_NAME, zIntf2_Name,
      /* desc, NAME, name */ zIntf2Text, zIntf2_NAME, zIntf2_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 30, VALUE_OPT_UNIDIR,
-     /* equiv idx, value */ 30, VALUE_OPT_UNIDIR,
+  {  /* entry idx, value */ 32, VALUE_OPT_UNIDIR,
+     /* equiv idx, value */ 32, VALUE_OPT_UNIDIR,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ UNIDIR_FLAGS, 0,
      /* opt state flags  */ UNIDIR_FLAGS, 0,
@@ -1011,8 +1056,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zUnidirText, zUnidir_NAME, zUnidir_Name,
      /* desc, NAME, name */ zUnidirText, zUnidir_NAME, zUnidir_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 31, VALUE_OPT_LISTNICS,
-     /* equiv idx, value */ 31, VALUE_OPT_LISTNICS,
+  {  /* entry idx, value */ 33, VALUE_OPT_LISTNICS,
+     /* equiv idx, value */ 33, VALUE_OPT_LISTNICS,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ LISTNICS_FLAGS, 0,
      /* opt state flags  */ LISTNICS_FLAGS, 0,
@@ -1023,8 +1068,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zListnicsText, zListnics_NAME, zListnics_Name,
      /* desc, NAME, name */ zListnicsText, zListnics_NAME, zListnics_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 32, VALUE_OPT_LIMIT,
-     /* equiv idx, value */ 32, VALUE_OPT_LIMIT,
+  {  /* entry idx, value */ 34, VALUE_OPT_LIMIT,
+     /* equiv idx, value */ 34, VALUE_OPT_LIMIT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ LIMIT_FLAGS, 0,
      /* opt state flags  */ LIMIT_FLAGS, 0,
@@ -1035,8 +1080,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zLimitText, zLimit_NAME, zLimit_Name,
      /* desc, NAME, name */ zLimitText, zLimit_NAME, zLimit_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 33, VALUE_OPT_MAC,
-     /* equiv idx, value */ 33, VALUE_OPT_MAC,
+  {  /* entry idx, value */ 35, VALUE_OPT_MAC,
+     /* equiv idx, value */ 35, VALUE_OPT_MAC,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 2, 0,
      /* min, max, act ct */ 0, 2, 0,
      /* opt state flags  */ MAC_FLAGS, 0,
      /* opt state flags  */ MAC_FLAGS, 0,
@@ -1047,8 +1092,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zMacText, zMac_NAME, zMac_Name,
      /* desc, NAME, name */ zMacText, zMac_NAME, zMac_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 34, VALUE_OPT_INCLUDE,
-     /* equiv idx, value */ 34, VALUE_OPT_INCLUDE,
+  {  /* entry idx, value */ 36, VALUE_OPT_INCLUDE,
+     /* equiv idx, value */ 36, VALUE_OPT_INCLUDE,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ INCLUDE_FLAGS, 0,
      /* opt state flags  */ INCLUDE_FLAGS, 0,
@@ -1059,8 +1104,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zIncludeText, zInclude_NAME, zInclude_Name,
      /* desc, NAME, name */ zIncludeText, zInclude_NAME, zInclude_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 35, VALUE_OPT_EXCLUDE,
-     /* equiv idx, value */ 35, VALUE_OPT_EXCLUDE,
+  {  /* entry idx, value */ 37, VALUE_OPT_EXCLUDE,
+     /* equiv idx, value */ 37, VALUE_OPT_EXCLUDE,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ EXCLUDE_FLAGS, 0,
      /* opt state flags  */ EXCLUDE_FLAGS, 0,
@@ -1071,8 +1116,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zExcludeText, zExclude_NAME, zExclude_Name,
      /* desc, NAME, name */ zExcludeText, zExclude_NAME, zExclude_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 36, VALUE_OPT_PID,
-     /* equiv idx, value */ 36, VALUE_OPT_PID,
+  {  /* entry idx, value */ 38, VALUE_OPT_PID,
+     /* equiv idx, value */ 38, VALUE_OPT_PID,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ PID_FLAGS, 0,
      /* opt state flags  */ PID_FLAGS, 0,
@@ -1083,8 +1128,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zPidText, zPid_NAME, zPid_Name,
      /* desc, NAME, name */ zPidText, zPid_NAME, zPid_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 37, VALUE_OPT_VERBOSE,
-     /* equiv idx, value */ 37, VALUE_OPT_VERBOSE,
+  {  /* entry idx, value */ 39, VALUE_OPT_VERBOSE,
+     /* equiv idx, value */ 39, VALUE_OPT_VERBOSE,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ VERBOSE_FLAGS, 0,
      /* opt state flags  */ VERBOSE_FLAGS, 0,
@@ -1095,8 +1140,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zVerboseText, zVerbose_NAME, zVerbose_Name,
      /* desc, NAME, name */ zVerboseText, zVerbose_NAME, zVerbose_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 38, VALUE_OPT_DECODE,
-     /* equiv idx, value */ 38, VALUE_OPT_DECODE,
+  {  /* entry idx, value */ 40, VALUE_OPT_DECODE,
+     /* equiv idx, value */ 40, VALUE_OPT_DECODE,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ DECODE_FLAGS, 0,
      /* opt state flags  */ DECODE_FLAGS, 0,
@@ -1107,8 +1152,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zDecodeText, zDecode_NAME, zDecode_Name,
      /* desc, NAME, name */ zDecodeText, zDecode_NAME, zDecode_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 39, VALUE_OPT_VERSION,
-     /* equiv idx, value */ 39, VALUE_OPT_VERSION,
+  {  /* entry idx, value */ 41, VALUE_OPT_VERSION,
+     /* equiv idx, value */ 41, VALUE_OPT_VERSION,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ VERSION_FLAGS, 0,
      /* opt state flags  */ VERSION_FLAGS, 0,
@@ -1119,8 +1164,8 @@ static tOptDesc optDesc[ OPTION_CT ] = {
      /* desc, NAME, name */ zVersionText, zVersion_NAME, zVersion_Name,
      /* desc, NAME, name */ zVersionText, zVersion_NAME, zVersion_Name,
      /* disablement strs */ NULL, NULL },
      /* disablement strs */ NULL, NULL },
 
 
-  {  /* entry idx, value */ 40, VALUE_OPT_LESS_HELP,
-     /* equiv idx, value */ 40, VALUE_OPT_LESS_HELP,
+  {  /* entry idx, value */ 42, VALUE_OPT_LESS_HELP,
+     /* equiv idx, value */ 42, VALUE_OPT_LESS_HELP,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* equivalenced to  */ NO_EQUIVALENT,
      /* min, max, act ct */ 0, 1, 0,
      /* min, max, act ct */ 0, 1, 0,
      /* opt state flags  */ LESS_HELP_FLAGS, 0,
      /* opt state flags  */ LESS_HELP_FLAGS, 0,
@@ -1248,7 +1293,7 @@ tOptions tcpbridgeOptions = {
       NO_EQUIVALENT, /* '-#' option index */
       NO_EQUIVALENT, /* '-#' option index */
       9 /* index of default opt */
       9 /* index of default opt */
     },
     },
-    45 /* full option count */, 41 /* user option count */,
+    47 /* full option count */, 43 /* user option count */,
     tcpbridge_full_usage, tcpbridge_short_usage,
     tcpbridge_full_usage, tcpbridge_short_usage,
     NULL, NULL
     NULL, NULL
 };
 };
@@ -1366,6 +1411,106 @@ doOptTos(tOptions* pOptions, tOptDesc* pOptDesc)
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *
+ *   For the tclass option.
+ */
+static void
+doOptTclass(tOptions* pOptions, tOptDesc* pOptDesc)
+{
+    static const struct {long const rmin, rmax;} rng[1] = {
+        { 0, 255 } };
+    long val;
+    int  ix;
+    char * pzEnd;
+
+    if (pOptions <= OPTPROC_EMIT_LIMIT)
+        goto emit_ranges;
+
+    errno = 0;
+    val = strtol(pOptDesc->optArg.argString, &pzEnd, 0);
+    if ((pOptDesc->optArg.argString == pzEnd) || (errno != 0))
+        goto bad_value;
+
+    if (*pzEnd != '\0')
+        goto bad_value;
+    for (ix = 0; ix < 1; ix++) {
+        if (val < rng[ix].rmin)
+            continue;  /* ranges need not be ordered. */
+        if (val == rng[ix].rmin)
+            goto valid_return;
+        if (rng[ix].rmax == LONG_MIN)
+            continue;
+        if (val <= rng[ix].rmax)
+            goto valid_return;
+    }
+
+  bad_value:
+
+    option_usage_fp = stderr;
+
+  emit_ranges:
+    optionShowRange(pOptions, pOptDesc, (void *)rng, 1);
+    return;
+
+  valid_return:
+    if ((pOptDesc->fOptState & OPTST_ALLOC_ARG) != 0) {
+        free((void *)pOptDesc->optArg.argString);
+        pOptDesc->fOptState &= ~OPTST_ALLOC_ARG;
+    }
+    pOptDesc->optArg.argInt = val;
+}
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *   For the flowlabel option.
+ */
+static void
+doOptFlowlabel(tOptions* pOptions, tOptDesc* pOptDesc)
+{
+    static const struct {long const rmin, rmax;} rng[1] = {
+        { 0, 1048575 } };
+    long val;
+    int  ix;
+    char * pzEnd;
+
+    if (pOptions <= OPTPROC_EMIT_LIMIT)
+        goto emit_ranges;
+
+    errno = 0;
+    val = strtol(pOptDesc->optArg.argString, &pzEnd, 0);
+    if ((pOptDesc->optArg.argString == pzEnd) || (errno != 0))
+        goto bad_value;
+
+    if (*pzEnd != '\0')
+        goto bad_value;
+    for (ix = 0; ix < 1; ix++) {
+        if (val < rng[ix].rmin)
+            continue;  /* ranges need not be ordered. */
+        if (val == rng[ix].rmin)
+            goto valid_return;
+        if (rng[ix].rmax == LONG_MIN)
+            continue;
+        if (val <= rng[ix].rmax)
+            goto valid_return;
+    }
+
+  bad_value:
+
+    option_usage_fp = stderr;
+
+  emit_ranges:
+    optionShowRange(pOptions, pOptDesc, (void *)rng, 1);
+    return;
+
+  valid_return:
+    if ((pOptDesc->fOptState & OPTST_ALLOC_ARG) != 0) {
+        free((void *)pOptDesc->optArg.argString);
+        pOptDesc->fOptState &= ~OPTST_ALLOC_ARG;
+    }
+    pOptDesc->optArg.argInt = val;
+}
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *   For the enet-vlan-tag option.
  *   For the enet-vlan-tag option.
  */
  */
 static void
 static void

+ 53 - 47
src/tcpbridge_opts.h

@@ -2,7 +2,7 @@
  *  
  *  
  *  DO NOT EDIT THIS FILE   (tcpbridge_opts.h)
  *  DO NOT EDIT THIS FILE   (tcpbridge_opts.h)
  *  
  *  
- *  It has been AutoGen-ed  Tuesday February 17, 2009 at 06:27:03 PM PST
+ *  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:10 PM PDT
  *  From the definitions    tcpbridge_opts.def
  *  From the definitions    tcpbridge_opts.def
  *  and the template file   options
  *  and the template file   options
  *
  *
@@ -90,40 +90,42 @@ typedef enum {
         INDEX_OPT_EFCS             = 11,
         INDEX_OPT_EFCS             = 11,
         INDEX_OPT_TTL              = 12,
         INDEX_OPT_TTL              = 12,
         INDEX_OPT_TOS              = 13,
         INDEX_OPT_TOS              = 13,
-        INDEX_OPT_FIXLEN           = 14,
-        INDEX_OPT_SKIPL2BROADCAST  = 15,
-        INDEX_OPT_DLT              = 16,
-        INDEX_OPT_ENET_DMAC        = 17,
-        INDEX_OPT_ENET_SMAC        = 18,
-        INDEX_OPT_ENET_VLAN        = 19,
-        INDEX_OPT_ENET_VLAN_TAG    = 20,
-        INDEX_OPT_ENET_VLAN_CFI    = 21,
-        INDEX_OPT_ENET_VLAN_PRI    = 22,
-        INDEX_OPT_HDLC_CONTROL     = 23,
-        INDEX_OPT_HDLC_ADDRESS     = 24,
-        INDEX_OPT_USER_DLT         = 25,
-        INDEX_OPT_USER_DLINK       = 26,
-        INDEX_OPT_DBUG             = 27,
-        INDEX_OPT_INTF1            = 28,
-        INDEX_OPT_INTF2            = 29,
-        INDEX_OPT_UNIDIR           = 30,
-        INDEX_OPT_LISTNICS         = 31,
-        INDEX_OPT_LIMIT            = 32,
-        INDEX_OPT_MAC              = 33,
-        INDEX_OPT_INCLUDE          = 34,
-        INDEX_OPT_EXCLUDE          = 35,
-        INDEX_OPT_PID              = 36,
-        INDEX_OPT_VERBOSE          = 37,
-        INDEX_OPT_DECODE           = 38,
-        INDEX_OPT_VERSION          = 39,
-        INDEX_OPT_LESS_HELP        = 40,
-        INDEX_OPT_HELP             = 41,
-        INDEX_OPT_MORE_HELP        = 42,
-        INDEX_OPT_SAVE_OPTS        = 43,
-        INDEX_OPT_LOAD_OPTS        = 44
+        INDEX_OPT_TCLASS           = 14,
+        INDEX_OPT_FLOWLABEL        = 15,
+        INDEX_OPT_FIXLEN           = 16,
+        INDEX_OPT_SKIPL2BROADCAST  = 17,
+        INDEX_OPT_DLT              = 18,
+        INDEX_OPT_ENET_DMAC        = 19,
+        INDEX_OPT_ENET_SMAC        = 20,
+        INDEX_OPT_ENET_VLAN        = 21,
+        INDEX_OPT_ENET_VLAN_TAG    = 22,
+        INDEX_OPT_ENET_VLAN_CFI    = 23,
+        INDEX_OPT_ENET_VLAN_PRI    = 24,
+        INDEX_OPT_HDLC_CONTROL     = 25,
+        INDEX_OPT_HDLC_ADDRESS     = 26,
+        INDEX_OPT_USER_DLT         = 27,
+        INDEX_OPT_USER_DLINK       = 28,
+        INDEX_OPT_DBUG             = 29,
+        INDEX_OPT_INTF1            = 30,
+        INDEX_OPT_INTF2            = 31,
+        INDEX_OPT_UNIDIR           = 32,
+        INDEX_OPT_LISTNICS         = 33,
+        INDEX_OPT_LIMIT            = 34,
+        INDEX_OPT_MAC              = 35,
+        INDEX_OPT_INCLUDE          = 36,
+        INDEX_OPT_EXCLUDE          = 37,
+        INDEX_OPT_PID              = 38,
+        INDEX_OPT_VERBOSE          = 39,
+        INDEX_OPT_DECODE           = 40,
+        INDEX_OPT_VERSION          = 41,
+        INDEX_OPT_LESS_HELP        = 42,
+        INDEX_OPT_HELP             = 43,
+        INDEX_OPT_MORE_HELP        = 44,
+        INDEX_OPT_SAVE_OPTS        = 45,
+        INDEX_OPT_LOAD_OPTS        = 46
 } teOptIndex;
 } teOptIndex;
 
 
-#define OPTION_CT    45
+#define OPTION_CT    47
 
 
 /*
 /*
  *  Interface defines for all options.  Replace "n" with the UPPER_CASED
  *  Interface defines for all options.  Replace "n" with the UPPER_CASED
@@ -168,25 +170,29 @@ typedef enum {
 #define VALUE_OPT_TTL            12
 #define VALUE_OPT_TTL            12
 #define VALUE_OPT_TOS            13
 #define VALUE_OPT_TOS            13
 #define OPT_VALUE_TOS            (DESC(TOS).optArg.argInt)
 #define OPT_VALUE_TOS            (DESC(TOS).optArg.argInt)
+#define VALUE_OPT_TCLASS         14
+#define OPT_VALUE_TCLASS         (DESC(TCLASS).optArg.argInt)
+#define VALUE_OPT_FLOWLABEL      15
+#define OPT_VALUE_FLOWLABEL      (DESC(FLOWLABEL).optArg.argInt)
 #define VALUE_OPT_FIXLEN         'F'
 #define VALUE_OPT_FIXLEN         'F'
-#define VALUE_OPT_SKIPL2BROADCAST 15
-#define VALUE_OPT_DLT            16
-#define VALUE_OPT_ENET_DMAC      17
-#define VALUE_OPT_ENET_SMAC      18
-#define VALUE_OPT_ENET_VLAN      19
-#define VALUE_OPT_ENET_VLAN_TAG  20
+#define VALUE_OPT_SKIPL2BROADCAST 17
+#define VALUE_OPT_DLT            18
+#define VALUE_OPT_ENET_DMAC      19
+#define VALUE_OPT_ENET_SMAC      20
+#define VALUE_OPT_ENET_VLAN      21
+#define VALUE_OPT_ENET_VLAN_TAG  22
 #define OPT_VALUE_ENET_VLAN_TAG  (DESC(ENET_VLAN_TAG).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_TAG  (DESC(ENET_VLAN_TAG).optArg.argInt)
-#define VALUE_OPT_ENET_VLAN_CFI  21
+#define VALUE_OPT_ENET_VLAN_CFI  23
 #define OPT_VALUE_ENET_VLAN_CFI  (DESC(ENET_VLAN_CFI).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_CFI  (DESC(ENET_VLAN_CFI).optArg.argInt)
-#define VALUE_OPT_ENET_VLAN_PRI  22
+#define VALUE_OPT_ENET_VLAN_PRI  24
 #define OPT_VALUE_ENET_VLAN_PRI  (DESC(ENET_VLAN_PRI).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_PRI  (DESC(ENET_VLAN_PRI).optArg.argInt)
-#define VALUE_OPT_HDLC_CONTROL   23
+#define VALUE_OPT_HDLC_CONTROL   25
 #define OPT_VALUE_HDLC_CONTROL   (DESC(HDLC_CONTROL).optArg.argInt)
 #define OPT_VALUE_HDLC_CONTROL   (DESC(HDLC_CONTROL).optArg.argInt)
-#define VALUE_OPT_HDLC_ADDRESS   24
+#define VALUE_OPT_HDLC_ADDRESS   26
 #define OPT_VALUE_HDLC_ADDRESS   (DESC(HDLC_ADDRESS).optArg.argInt)
 #define OPT_VALUE_HDLC_ADDRESS   (DESC(HDLC_ADDRESS).optArg.argInt)
-#define VALUE_OPT_USER_DLT       25
+#define VALUE_OPT_USER_DLT       27
 #define OPT_VALUE_USER_DLT       (DESC(USER_DLT).optArg.argInt)
 #define OPT_VALUE_USER_DLT       (DESC(USER_DLT).optArg.argInt)
-#define VALUE_OPT_USER_DLINK     26
+#define VALUE_OPT_USER_DLINK     28
 #ifdef DEBUG
 #ifdef DEBUG
 #define VALUE_OPT_DBUG           'd'
 #define VALUE_OPT_DBUG           'd'
 #define OPT_VALUE_DBUG           (DESC(DBUG).optArg.argInt)
 #define OPT_VALUE_DBUG           (DESC(DBUG).optArg.argInt)
@@ -195,7 +201,7 @@ typedef enum {
 #define VALUE_OPT_INTF2          'I'
 #define VALUE_OPT_INTF2          'I'
 #define VALUE_OPT_UNIDIR         'u'
 #define VALUE_OPT_UNIDIR         'u'
 #ifdef ENABLE_PCAP_FINDALLDEVS
 #ifdef ENABLE_PCAP_FINDALLDEVS
-#define VALUE_OPT_LISTNICS       31
+#define VALUE_OPT_LISTNICS       129
 #endif /* ENABLE_PCAP_FINDALLDEVS */
 #endif /* ENABLE_PCAP_FINDALLDEVS */
 #define VALUE_OPT_LIMIT          'L'
 #define VALUE_OPT_LIMIT          'L'
 #define OPT_VALUE_LIMIT          (DESC(LIMIT).optArg.argInt)
 #define OPT_VALUE_LIMIT          (DESC(LIMIT).optArg.argInt)
@@ -206,7 +212,7 @@ typedef enum {
 #ifdef ENABLE_VERBOSE
 #ifdef ENABLE_VERBOSE
 #define VALUE_OPT_VERBOSE        'v'
 #define VALUE_OPT_VERBOSE        'v'
 #define SET_OPT_VERBOSE   STMTS( \
 #define SET_OPT_VERBOSE   STMTS( \
-        DESC(VERBOSE).optActualIndex = 37; \
+        DESC(VERBOSE).optActualIndex = 39; \
         DESC(VERBOSE).optActualValue = VALUE_OPT_VERBOSE; \
         DESC(VERBOSE).optActualValue = VALUE_OPT_VERBOSE; \
         DESC(VERBOSE).fOptState &= OPTST_PERSISTENT_MASK; \
         DESC(VERBOSE).fOptState &= OPTST_PERSISTENT_MASK; \
         DESC(VERBOSE).fOptState |= OPTST_SET )
         DESC(VERBOSE).fOptState |= OPTST_SET )

BIN
src/tcpedit/._edit_packet.c


BIN
src/tcpedit/._parse_args.c


BIN
src/tcpedit/._tcpedit-int.h


BIN
src/tcpedit/._tcpedit.c


BIN
src/tcpedit/._tcpedit.h


BIN
src/tcpedit/._tcpedit_opts.def


BIN
src/tcpedit/._tcpedit_stub.def


+ 77 - 49
src/tcpedit/Makefile.in

@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 # @configure_input@
 
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # with or without modifications, as long as this notice is preserved.
@@ -94,8 +95,9 @@
 
 
 VPATH = @srcdir@
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
 install_sh_PROGRAM = $(install_sh) -c
@@ -131,6 +133,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_HEADER = $(top_builddir)/src/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
 ARFLAGS = cru
 libtcpedit_a_AR = $(AR) $(ARFLAGS)
 libtcpedit_a_AR = $(AR) $(ARFLAGS)
@@ -146,6 +149,7 @@ libtcpedit_a_OBJECTS = $(am_libtcpedit_a_OBJECTS)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
 am__depfiles_maybe = depfiles
+am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -399,9 +403,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pl
 	      exit 1;; \
 	      exit 1;; \
 	  esac; \
 	  esac; \
 	done; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/tcpedit/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/tcpedit/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/tcpedit/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu src/tcpedit/Makefile
 .PRECIOUS: Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	@case '$?' in \
@@ -419,6 +423,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 
 
 clean-noinstLIBRARIES:
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -455,203 +460,203 @@ distclean-compile:
 
 
 .c.o:
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 @am__fastdepCC_FALSE@	$(COMPILE) -c $<
 
 
 .c.obj:
 .c.obj:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 @am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 
 .c.lo:
 .c.lo:
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 
 dlt_plugins.o: $(srcdir)/plugins/dlt_plugins.c
 dlt_plugins.o: $(srcdir)/plugins/dlt_plugins.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_plugins.o -MD -MP -MF $(DEPDIR)/dlt_plugins.Tpo -c -o dlt_plugins.o `test -f '$(srcdir)/plugins/dlt_plugins.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_plugins.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_plugins.o -MD -MP -MF $(DEPDIR)/dlt_plugins.Tpo -c -o dlt_plugins.o `test -f '$(srcdir)/plugins/dlt_plugins.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_plugins.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/dlt_plugins.Tpo $(DEPDIR)/dlt_plugins.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dlt_plugins.Tpo $(DEPDIR)/dlt_plugins.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_plugins.c' object='dlt_plugins.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_plugins.c' object='dlt_plugins.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_plugins.o `test -f '$(srcdir)/plugins/dlt_plugins.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_plugins.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_plugins.o `test -f '$(srcdir)/plugins/dlt_plugins.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_plugins.c
 
 
 dlt_plugins.obj: $(srcdir)/plugins/dlt_plugins.c
 dlt_plugins.obj: $(srcdir)/plugins/dlt_plugins.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_plugins.obj -MD -MP -MF $(DEPDIR)/dlt_plugins.Tpo -c -o dlt_plugins.obj `if test -f '$(srcdir)/plugins/dlt_plugins.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_plugins.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_plugins.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_plugins.obj -MD -MP -MF $(DEPDIR)/dlt_plugins.Tpo -c -o dlt_plugins.obj `if test -f '$(srcdir)/plugins/dlt_plugins.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_plugins.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_plugins.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/dlt_plugins.Tpo $(DEPDIR)/dlt_plugins.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dlt_plugins.Tpo $(DEPDIR)/dlt_plugins.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_plugins.c' object='dlt_plugins.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_plugins.c' object='dlt_plugins.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_plugins.obj `if test -f '$(srcdir)/plugins/dlt_plugins.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_plugins.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_plugins.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_plugins.obj `if test -f '$(srcdir)/plugins/dlt_plugins.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_plugins.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_plugins.c'; fi`
 
 
 ethernet.o: $(srcdir)/plugins/ethernet.c
 ethernet.o: $(srcdir)/plugins/ethernet.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ethernet.o -MD -MP -MF $(DEPDIR)/ethernet.Tpo -c -o ethernet.o `test -f '$(srcdir)/plugins/ethernet.c' || echo '$(srcdir)/'`$(srcdir)/plugins/ethernet.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ethernet.o -MD -MP -MF $(DEPDIR)/ethernet.Tpo -c -o ethernet.o `test -f '$(srcdir)/plugins/ethernet.c' || echo '$(srcdir)/'`$(srcdir)/plugins/ethernet.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ethernet.Tpo $(DEPDIR)/ethernet.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ethernet.Tpo $(DEPDIR)/ethernet.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/ethernet.c' object='ethernet.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/ethernet.c' object='ethernet.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ethernet.o `test -f '$(srcdir)/plugins/ethernet.c' || echo '$(srcdir)/'`$(srcdir)/plugins/ethernet.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ethernet.o `test -f '$(srcdir)/plugins/ethernet.c' || echo '$(srcdir)/'`$(srcdir)/plugins/ethernet.c
 
 
 ethernet.obj: $(srcdir)/plugins/ethernet.c
 ethernet.obj: $(srcdir)/plugins/ethernet.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ethernet.obj -MD -MP -MF $(DEPDIR)/ethernet.Tpo -c -o ethernet.obj `if test -f '$(srcdir)/plugins/ethernet.c'; then $(CYGPATH_W) '$(srcdir)/plugins/ethernet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/ethernet.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ethernet.obj -MD -MP -MF $(DEPDIR)/ethernet.Tpo -c -o ethernet.obj `if test -f '$(srcdir)/plugins/ethernet.c'; then $(CYGPATH_W) '$(srcdir)/plugins/ethernet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/ethernet.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ethernet.Tpo $(DEPDIR)/ethernet.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ethernet.Tpo $(DEPDIR)/ethernet.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/ethernet.c' object='ethernet.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/ethernet.c' object='ethernet.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ethernet.obj `if test -f '$(srcdir)/plugins/ethernet.c'; then $(CYGPATH_W) '$(srcdir)/plugins/ethernet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/ethernet.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ethernet.obj `if test -f '$(srcdir)/plugins/ethernet.c'; then $(CYGPATH_W) '$(srcdir)/plugins/ethernet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/ethernet.c'; fi`
 
 
 dlt_utils.o: $(srcdir)/plugins/dlt_utils.c
 dlt_utils.o: $(srcdir)/plugins/dlt_utils.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_utils.o -MD -MP -MF $(DEPDIR)/dlt_utils.Tpo -c -o dlt_utils.o `test -f '$(srcdir)/plugins/dlt_utils.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_utils.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_utils.o -MD -MP -MF $(DEPDIR)/dlt_utils.Tpo -c -o dlt_utils.o `test -f '$(srcdir)/plugins/dlt_utils.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_utils.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/dlt_utils.Tpo $(DEPDIR)/dlt_utils.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dlt_utils.Tpo $(DEPDIR)/dlt_utils.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_utils.c' object='dlt_utils.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_utils.c' object='dlt_utils.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_utils.o `test -f '$(srcdir)/plugins/dlt_utils.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_utils.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_utils.o `test -f '$(srcdir)/plugins/dlt_utils.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_utils.c
 
 
 dlt_utils.obj: $(srcdir)/plugins/dlt_utils.c
 dlt_utils.obj: $(srcdir)/plugins/dlt_utils.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_utils.obj -MD -MP -MF $(DEPDIR)/dlt_utils.Tpo -c -o dlt_utils.obj `if test -f '$(srcdir)/plugins/dlt_utils.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_utils.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dlt_utils.obj -MD -MP -MF $(DEPDIR)/dlt_utils.Tpo -c -o dlt_utils.obj `if test -f '$(srcdir)/plugins/dlt_utils.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_utils.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/dlt_utils.Tpo $(DEPDIR)/dlt_utils.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dlt_utils.Tpo $(DEPDIR)/dlt_utils.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_utils.c' object='dlt_utils.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_utils.c' object='dlt_utils.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_utils.obj `if test -f '$(srcdir)/plugins/dlt_utils.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_utils.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dlt_utils.obj `if test -f '$(srcdir)/plugins/dlt_utils.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_utils.c'; fi`
 
 
 en10mb.o: $(srcdir)/plugins/dlt_en10mb/en10mb.c
 en10mb.o: $(srcdir)/plugins/dlt_en10mb/en10mb.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT en10mb.o -MD -MP -MF $(DEPDIR)/en10mb.Tpo -c -o en10mb.o `test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_en10mb/en10mb.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT en10mb.o -MD -MP -MF $(DEPDIR)/en10mb.Tpo -c -o en10mb.o `test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_en10mb/en10mb.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/en10mb.Tpo $(DEPDIR)/en10mb.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/en10mb.Tpo $(DEPDIR)/en10mb.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_en10mb/en10mb.c' object='en10mb.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_en10mb/en10mb.c' object='en10mb.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o en10mb.o `test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_en10mb/en10mb.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o en10mb.o `test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_en10mb/en10mb.c
 
 
 en10mb.obj: $(srcdir)/plugins/dlt_en10mb/en10mb.c
 en10mb.obj: $(srcdir)/plugins/dlt_en10mb/en10mb.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT en10mb.obj -MD -MP -MF $(DEPDIR)/en10mb.Tpo -c -o en10mb.obj `if test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_en10mb/en10mb.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT en10mb.obj -MD -MP -MF $(DEPDIR)/en10mb.Tpo -c -o en10mb.obj `if test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_en10mb/en10mb.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/en10mb.Tpo $(DEPDIR)/en10mb.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/en10mb.Tpo $(DEPDIR)/en10mb.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_en10mb/en10mb.c' object='en10mb.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_en10mb/en10mb.c' object='en10mb.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o en10mb.obj `if test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_en10mb/en10mb.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o en10mb.obj `if test -f '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_en10mb/en10mb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_en10mb/en10mb.c'; fi`
 
 
 hdlc.o: $(srcdir)/plugins/dlt_hdlc/hdlc.c
 hdlc.o: $(srcdir)/plugins/dlt_hdlc/hdlc.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hdlc.o -MD -MP -MF $(DEPDIR)/hdlc.Tpo -c -o hdlc.o `test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_hdlc/hdlc.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hdlc.o -MD -MP -MF $(DEPDIR)/hdlc.Tpo -c -o hdlc.o `test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_hdlc/hdlc.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/hdlc.Tpo $(DEPDIR)/hdlc.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/hdlc.Tpo $(DEPDIR)/hdlc.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_hdlc/hdlc.c' object='hdlc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_hdlc/hdlc.c' object='hdlc.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hdlc.o `test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_hdlc/hdlc.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hdlc.o `test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_hdlc/hdlc.c
 
 
 hdlc.obj: $(srcdir)/plugins/dlt_hdlc/hdlc.c
 hdlc.obj: $(srcdir)/plugins/dlt_hdlc/hdlc.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hdlc.obj -MD -MP -MF $(DEPDIR)/hdlc.Tpo -c -o hdlc.obj `if test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_hdlc/hdlc.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hdlc.obj -MD -MP -MF $(DEPDIR)/hdlc.Tpo -c -o hdlc.obj `if test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_hdlc/hdlc.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/hdlc.Tpo $(DEPDIR)/hdlc.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/hdlc.Tpo $(DEPDIR)/hdlc.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_hdlc/hdlc.c' object='hdlc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_hdlc/hdlc.c' object='hdlc.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hdlc.obj `if test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_hdlc/hdlc.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hdlc.obj `if test -f '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_hdlc/hdlc.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_hdlc/hdlc.c'; fi`
 
 
 user.o: $(srcdir)/plugins/dlt_user/user.c
 user.o: $(srcdir)/plugins/dlt_user/user.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT user.o -MD -MP -MF $(DEPDIR)/user.Tpo -c -o user.o `test -f '$(srcdir)/plugins/dlt_user/user.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_user/user.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT user.o -MD -MP -MF $(DEPDIR)/user.Tpo -c -o user.o `test -f '$(srcdir)/plugins/dlt_user/user.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_user/user.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/user.Tpo $(DEPDIR)/user.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/user.Tpo $(DEPDIR)/user.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_user/user.c' object='user.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_user/user.c' object='user.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o user.o `test -f '$(srcdir)/plugins/dlt_user/user.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_user/user.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o user.o `test -f '$(srcdir)/plugins/dlt_user/user.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_user/user.c
 
 
 user.obj: $(srcdir)/plugins/dlt_user/user.c
 user.obj: $(srcdir)/plugins/dlt_user/user.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT user.obj -MD -MP -MF $(DEPDIR)/user.Tpo -c -o user.obj `if test -f '$(srcdir)/plugins/dlt_user/user.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_user/user.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_user/user.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT user.obj -MD -MP -MF $(DEPDIR)/user.Tpo -c -o user.obj `if test -f '$(srcdir)/plugins/dlt_user/user.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_user/user.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_user/user.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/user.Tpo $(DEPDIR)/user.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/user.Tpo $(DEPDIR)/user.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_user/user.c' object='user.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_user/user.c' object='user.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o user.obj `if test -f '$(srcdir)/plugins/dlt_user/user.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_user/user.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_user/user.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o user.obj `if test -f '$(srcdir)/plugins/dlt_user/user.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_user/user.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_user/user.c'; fi`
 
 
 raw.o: $(srcdir)/plugins/dlt_raw/raw.c
 raw.o: $(srcdir)/plugins/dlt_raw/raw.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT raw.o -MD -MP -MF $(DEPDIR)/raw.Tpo -c -o raw.o `test -f '$(srcdir)/plugins/dlt_raw/raw.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_raw/raw.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT raw.o -MD -MP -MF $(DEPDIR)/raw.Tpo -c -o raw.o `test -f '$(srcdir)/plugins/dlt_raw/raw.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_raw/raw.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/raw.Tpo $(DEPDIR)/raw.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/raw.Tpo $(DEPDIR)/raw.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_raw/raw.c' object='raw.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_raw/raw.c' object='raw.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o raw.o `test -f '$(srcdir)/plugins/dlt_raw/raw.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_raw/raw.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o raw.o `test -f '$(srcdir)/plugins/dlt_raw/raw.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_raw/raw.c
 
 
 raw.obj: $(srcdir)/plugins/dlt_raw/raw.c
 raw.obj: $(srcdir)/plugins/dlt_raw/raw.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT raw.obj -MD -MP -MF $(DEPDIR)/raw.Tpo -c -o raw.obj `if test -f '$(srcdir)/plugins/dlt_raw/raw.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_raw/raw.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_raw/raw.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT raw.obj -MD -MP -MF $(DEPDIR)/raw.Tpo -c -o raw.obj `if test -f '$(srcdir)/plugins/dlt_raw/raw.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_raw/raw.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_raw/raw.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/raw.Tpo $(DEPDIR)/raw.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/raw.Tpo $(DEPDIR)/raw.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_raw/raw.c' object='raw.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_raw/raw.c' object='raw.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o raw.obj `if test -f '$(srcdir)/plugins/dlt_raw/raw.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_raw/raw.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_raw/raw.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o raw.obj `if test -f '$(srcdir)/plugins/dlt_raw/raw.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_raw/raw.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_raw/raw.c'; fi`
 
 
 null.o: $(srcdir)/plugins/dlt_null/null.c
 null.o: $(srcdir)/plugins/dlt_null/null.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT null.o -MD -MP -MF $(DEPDIR)/null.Tpo -c -o null.o `test -f '$(srcdir)/plugins/dlt_null/null.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_null/null.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT null.o -MD -MP -MF $(DEPDIR)/null.Tpo -c -o null.o `test -f '$(srcdir)/plugins/dlt_null/null.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_null/null.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/null.Tpo $(DEPDIR)/null.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/null.Tpo $(DEPDIR)/null.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_null/null.c' object='null.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_null/null.c' object='null.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null.o `test -f '$(srcdir)/plugins/dlt_null/null.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_null/null.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null.o `test -f '$(srcdir)/plugins/dlt_null/null.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_null/null.c
 
 
 null.obj: $(srcdir)/plugins/dlt_null/null.c
 null.obj: $(srcdir)/plugins/dlt_null/null.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT null.obj -MD -MP -MF $(DEPDIR)/null.Tpo -c -o null.obj `if test -f '$(srcdir)/plugins/dlt_null/null.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_null/null.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_null/null.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT null.obj -MD -MP -MF $(DEPDIR)/null.Tpo -c -o null.obj `if test -f '$(srcdir)/plugins/dlt_null/null.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_null/null.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_null/null.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/null.Tpo $(DEPDIR)/null.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/null.Tpo $(DEPDIR)/null.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_null/null.c' object='null.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_null/null.c' object='null.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null.obj `if test -f '$(srcdir)/plugins/dlt_null/null.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_null/null.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_null/null.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null.obj `if test -f '$(srcdir)/plugins/dlt_null/null.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_null/null.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_null/null.c'; fi`
 
 
 loop.o: $(srcdir)/plugins/dlt_loop/loop.c
 loop.o: $(srcdir)/plugins/dlt_loop/loop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loop.o -MD -MP -MF $(DEPDIR)/loop.Tpo -c -o loop.o `test -f '$(srcdir)/plugins/dlt_loop/loop.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_loop/loop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loop.o -MD -MP -MF $(DEPDIR)/loop.Tpo -c -o loop.o `test -f '$(srcdir)/plugins/dlt_loop/loop.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_loop/loop.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/loop.Tpo $(DEPDIR)/loop.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/loop.Tpo $(DEPDIR)/loop.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_loop/loop.c' object='loop.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_loop/loop.c' object='loop.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loop.o `test -f '$(srcdir)/plugins/dlt_loop/loop.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_loop/loop.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loop.o `test -f '$(srcdir)/plugins/dlt_loop/loop.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_loop/loop.c
 
 
 loop.obj: $(srcdir)/plugins/dlt_loop/loop.c
 loop.obj: $(srcdir)/plugins/dlt_loop/loop.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loop.obj -MD -MP -MF $(DEPDIR)/loop.Tpo -c -o loop.obj `if test -f '$(srcdir)/plugins/dlt_loop/loop.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_loop/loop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_loop/loop.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loop.obj -MD -MP -MF $(DEPDIR)/loop.Tpo -c -o loop.obj `if test -f '$(srcdir)/plugins/dlt_loop/loop.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_loop/loop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_loop/loop.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/loop.Tpo $(DEPDIR)/loop.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/loop.Tpo $(DEPDIR)/loop.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_loop/loop.c' object='loop.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_loop/loop.c' object='loop.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loop.obj `if test -f '$(srcdir)/plugins/dlt_loop/loop.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_loop/loop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_loop/loop.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loop.obj `if test -f '$(srcdir)/plugins/dlt_loop/loop.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_loop/loop.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_loop/loop.c'; fi`
 
 
 linuxsll.o: $(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 linuxsll.o: $(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linuxsll.o -MD -MP -MF $(DEPDIR)/linuxsll.Tpo -c -o linuxsll.o `test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linuxsll.o -MD -MP -MF $(DEPDIR)/linuxsll.Tpo -c -o linuxsll.o `test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_linuxsll/linuxsll.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/linuxsll.Tpo $(DEPDIR)/linuxsll.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/linuxsll.Tpo $(DEPDIR)/linuxsll.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' object='linuxsll.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' object='linuxsll.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linuxsll.o `test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linuxsll.o `test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 
 
 linuxsll.obj: $(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 linuxsll.obj: $(srcdir)/plugins/dlt_linuxsll/linuxsll.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linuxsll.obj -MD -MP -MF $(DEPDIR)/linuxsll.Tpo -c -o linuxsll.obj `if test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linuxsll.obj -MD -MP -MF $(DEPDIR)/linuxsll.Tpo -c -o linuxsll.obj `if test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/linuxsll.Tpo $(DEPDIR)/linuxsll.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/linuxsll.Tpo $(DEPDIR)/linuxsll.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' object='linuxsll.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_linuxsll/linuxsll.c' object='linuxsll.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linuxsll.obj `if test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linuxsll.obj `if test -f '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_linuxsll/linuxsll.c'; fi`
 
 
 ieee80211.o: $(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 ieee80211.o: $(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211.o -MD -MP -MF $(DEPDIR)/ieee80211.Tpo -c -o ieee80211.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211.o -MD -MP -MF $(DEPDIR)/ieee80211.Tpo -c -o ieee80211.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ieee80211.Tpo $(DEPDIR)/ieee80211.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ieee80211.Tpo $(DEPDIR)/ieee80211.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' object='ieee80211.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' object='ieee80211.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 
 
 ieee80211.obj: $(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 ieee80211.obj: $(srcdir)/plugins/dlt_ieee80211/ieee80211.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211.obj -MD -MP -MF $(DEPDIR)/ieee80211.Tpo -c -o ieee80211.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211.obj -MD -MP -MF $(DEPDIR)/ieee80211.Tpo -c -o ieee80211.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ieee80211.Tpo $(DEPDIR)/ieee80211.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ieee80211.Tpo $(DEPDIR)/ieee80211.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' object='ieee80211.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211.c' object='ieee80211.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211.c'; fi`
 
 
 ieee80211_hdr.o: $(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 ieee80211_hdr.o: $(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211_hdr.o -MD -MP -MF $(DEPDIR)/ieee80211_hdr.Tpo -c -o ieee80211_hdr.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211_hdr.o -MD -MP -MF $(DEPDIR)/ieee80211_hdr.Tpo -c -o ieee80211_hdr.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ieee80211_hdr.Tpo $(DEPDIR)/ieee80211_hdr.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ieee80211_hdr.Tpo $(DEPDIR)/ieee80211_hdr.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' object='ieee80211_hdr.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' object='ieee80211_hdr.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211_hdr.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211_hdr.o `test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 
 
 ieee80211_hdr.obj: $(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 ieee80211_hdr.obj: $(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211_hdr.obj -MD -MP -MF $(DEPDIR)/ieee80211_hdr.Tpo -c -o ieee80211_hdr.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ieee80211_hdr.obj -MD -MP -MF $(DEPDIR)/ieee80211_hdr.Tpo -c -o ieee80211_hdr.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/ieee80211_hdr.Tpo $(DEPDIR)/ieee80211_hdr.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/ieee80211_hdr.Tpo $(DEPDIR)/ieee80211_hdr.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' object='ieee80211_hdr.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c' object='ieee80211_hdr.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211_hdr.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee80211_hdr.obj `if test -f '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_ieee80211/ieee80211_hdr.c'; fi`
 
 
 radiotap.o: $(srcdir)/plugins/dlt_radiotap/radiotap.c
 radiotap.o: $(srcdir)/plugins/dlt_radiotap/radiotap.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT radiotap.o -MD -MP -MF $(DEPDIR)/radiotap.Tpo -c -o radiotap.o `test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_radiotap/radiotap.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT radiotap.o -MD -MP -MF $(DEPDIR)/radiotap.Tpo -c -o radiotap.o `test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_radiotap/radiotap.c
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/radiotap.Tpo $(DEPDIR)/radiotap.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/radiotap.Tpo $(DEPDIR)/radiotap.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_radiotap/radiotap.c' object='radiotap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_radiotap/radiotap.c' object='radiotap.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o radiotap.o `test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_radiotap/radiotap.c
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o radiotap.o `test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c' || echo '$(srcdir)/'`$(srcdir)/plugins/dlt_radiotap/radiotap.c
 
 
 radiotap.obj: $(srcdir)/plugins/dlt_radiotap/radiotap.c
 radiotap.obj: $(srcdir)/plugins/dlt_radiotap/radiotap.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT radiotap.obj -MD -MP -MF $(DEPDIR)/radiotap.Tpo -c -o radiotap.obj `if test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_radiotap/radiotap.c'; fi`
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT radiotap.obj -MD -MP -MF $(DEPDIR)/radiotap.Tpo -c -o radiotap.obj `if test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_radiotap/radiotap.c'; fi`
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/radiotap.Tpo $(DEPDIR)/radiotap.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/radiotap.Tpo $(DEPDIR)/radiotap.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_radiotap/radiotap.c' object='radiotap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(srcdir)/plugins/dlt_radiotap/radiotap.c' object='radiotap.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o radiotap.obj `if test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_radiotap/radiotap.c'; fi`
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o radiotap.obj `if test -f '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; then $(CYGPATH_W) '$(srcdir)/plugins/dlt_radiotap/radiotap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/plugins/dlt_radiotap/radiotap.c'; fi`
@@ -674,7 +679,7 @@ tags: TAGS
 
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
@@ -682,29 +687,34 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 	fi
 ctags: CTAGS
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 		$(TAGS_FILES) $(LISP)
-	tags=; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
 	  done | \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 
 GTAGS:
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 
 distclean-tags:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -725,13 +735,17 @@ distdir: $(DISTFILES)
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	    || exit 1; \
 	  fi; \
 	  fi; \
 	done
 	done
@@ -762,6 +776,7 @@ clean-generic:
 
 
 distclean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 
 
 maintainer-clean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "This command is intended for maintainers to use"
@@ -785,6 +800,8 @@ dvi-am:
 
 
 html: html-am
 html: html-am
 
 
+html-am:
+
 info: info-am
 info: info-am
 
 
 info-am:
 info-am:
@@ -793,18 +810,28 @@ install-data-am:
 
 
 install-dvi: install-dvi-am
 install-dvi: install-dvi-am
 
 
+install-dvi-am:
+
 install-exec-am:
 install-exec-am:
 
 
 install-html: install-html-am
 install-html: install-html-am
 
 
+install-html-am:
+
 install-info: install-info-am
 install-info: install-info-am
 
 
+install-info-am:
+
 install-man:
 install-man:
 
 
 install-pdf: install-pdf-am
 install-pdf: install-pdf-am
 
 
+install-pdf-am:
+
 install-ps: install-ps-am
 install-ps: install-ps-am
 
 
+install-ps-am:
+
 installcheck-am:
 installcheck-am:
 
 
 maintainer-clean: maintainer-clean-am
 maintainer-clean: maintainer-clean-am
@@ -827,7 +854,7 @@ ps-am:
 
 
 uninstall-am:
 uninstall-am:
 
 
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
 
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
 	clean-libtool clean-noinstLIBRARIES ctags distclean \
 	clean-libtool clean-noinstLIBRARIES ctags distclean \
@@ -916,6 +943,7 @@ $(srcdir)/plugins/dlt_radiotap/radiotap.c:  $(srcdir)/tcpedit_stub.h $(srcdir)/p
 ########################################################
 ########################################################
 # Add your plugin Makefile.am's below this line
 # Add your plugin Makefile.am's below this line
 ########################################################
 ########################################################
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # 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.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
 .NOEXPORT:

+ 21 - 2
src/tcpedit/checksum.c

@@ -1,4 +1,4 @@
-/* $Id: checksum.c 1895 2007-08-22 04:24:33Z aturner $ */
+/* $Id: checksum.c 2344 2009-05-17 15:42:49Z aturner $ */
 /*
 /*
  * Copyright (c) 2006 Aaron Turner.
  * Copyright (c) 2006 Aaron Turner.
  * Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
  * Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
@@ -52,6 +52,7 @@ do_checksum(tcpedit_t *tcpedit, u_int8_t *data, int proto, int len) {
     tcp_hdr_t *tcp;
     tcp_hdr_t *tcp;
     udp_hdr_t *udp;
     udp_hdr_t *udp;
     icmpv4_hdr_t *icmp;
     icmpv4_hdr_t *icmp;
+    icmpv6_hdr_t *icmp6;
     int ip_hl;
     int ip_hl;
     int sum;
     int sum;
     
     
@@ -69,7 +70,14 @@ do_checksum(tcpedit_t *tcpedit, u_int8_t *data, int proto, int len) {
     if (ipv4->ip_v == 6) {
     if (ipv4->ip_v == 6) {
         ipv6 = (ipv6_hdr_t *)data;
         ipv6 = (ipv6_hdr_t *)data;
         ipv4 = NULL;
         ipv4 = NULL;
-        ip_hl = 40;
+
+        proto = get_ipv6_l4proto(ipv6);
+        dbgx(3, "layer4 proto is 0x%hhu", proto);
+
+        ip_hl = (u_char*)get_layer4_v6(ipv6) - (u_char*)data;
+        dbgx(3, "ip_hl proto is 0x%d", ip_hl);
+
+        len -= (ip_hl - TCPR_IPV6_H);
     } else {
     } else {
         ip_hl = ipv4->ip_hl << 2;
         ip_hl = ipv4->ip_hl << 2;
     }
     }
@@ -121,6 +129,17 @@ do_checksum(tcpedit_t *tcpedit, u_int8_t *data, int proto, int len) {
             icmp->icmp_sum = CHECKSUM_CARRY(sum);
             icmp->icmp_sum = CHECKSUM_CARRY(sum);
             break;
             break;
         
         
+        case IPPROTO_ICMP6:
+            icmp6 = (icmpv6_hdr_t *)(data + ip_hl);
+            icmp6->icmp_sum = 0;
+            if (ipv6 != NULL) {
+                sum = do_checksum_math((u_int16_t *)&ipv6->ip_src, 32);
+            }
+            sum += ntohs(IPPROTO_ICMP6 + len);
+            sum += do_checksum_math((u_int16_t *)icmp6, len);
+            icmp6->icmp_sum = CHECKSUM_CARRY(sum);
+            break;
+
      
      
         case IPPROTO_IP:
         case IPPROTO_IP:
             ipv4->ip_sum = 0;
             ipv4->ip_sum = 0;

+ 280 - 25
src/tcpedit/edit_packet.c

@@ -1,4 +1,4 @@
-/* $Id: edit_packet.c 2211 2009-02-18 02:48:04Z aturner $ */
+/* $Id: edit_packet.c 2289 2009-05-03 19:43:01Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2007 Aaron Turner.
  * Copyright (c) 2001-2007 Aaron Turner.
@@ -51,6 +51,10 @@ static u_int32_t randomize_ipv4_addr(tcpedit_t *tcpedit, u_int32_t ip);
 static u_int32_t remap_ipv4(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, const u_int32_t original);
 static u_int32_t remap_ipv4(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, const u_int32_t original);
 static int is_unicast_ipv4(tcpedit_t *tcpedit, u_int32_t ip);
 static int is_unicast_ipv4(tcpedit_t *tcpedit, u_int32_t ip);
 
 
+static void randomize_ipv6_addr(tcpedit_t *tcpedit, struct tcpr_in6_addr *addr);
+static int remap_ipv6(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, struct tcpr_in6_addr *addr);
+static int is_multicast_ipv6(tcpedit_t *tcpedit, struct tcpr_in6_addr *addr);
+
 /**
 /**
  * this code re-calcs the IP and Layer 4 checksums
  * this code re-calcs the IP and Layer 4 checksums
  * the IMPORTANT THING is that the Layer 4 header 
  * the IMPORTANT THING is that the Layer 4 header 
@@ -61,7 +65,7 @@ static int is_unicast_ipv4(tcpedit_t *tcpedit, u_int32_t ip);
  * Returns 0 on sucess, -1 on error
  * Returns 0 on sucess, -1 on error
  */
  */
 int
 int
-fix_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, ipv4_hdr_t *ip_hdr)
+fix_ipv4_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, ipv4_hdr_t *ip_hdr)
 {
 {
     int ret1 = 0, ret2 = 0;
     int ret1 = 0, ret2 = 0;
     assert(tcpedit);
     assert(tcpedit);
@@ -89,6 +93,30 @@ fix_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, ipv4_hdr_t *ip_hdr
     return TCPEDIT_OK;
     return TCPEDIT_OK;
 }
 }
 
 
+int
+fix_ipv6_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, ipv6_hdr_t *ip6_hdr)
+{
+    int ret = 0;
+    assert(tcpedit);
+    assert(pkthdr);
+    assert(ip6_hdr);
+
+
+    /* calc the L4 checksum if we have the whole packet && not a frag or first frag */
+    if (pkthdr->caplen == pkthdr->len) {
+        ret = do_checksum(tcpedit, (u_char *) ip6_hdr, ip6_hdr->ip_nh,
+            htons(ip6_hdr->ip_len));
+        if (ret < 0)
+            return TCPEDIT_ERROR;
+    }
+
+    /* what do we return? */
+    if (ret == TCPEDIT_WARN)
+        return TCPEDIT_WARN;
+
+    return TCPEDIT_OK;
+}
+
 /**
 /**
  * returns a new 32bit integer which is the randomized IP 
  * returns a new 32bit integer which is the randomized IP 
  * based upon the user specified seed
  * based upon the user specified seed
@@ -105,6 +133,30 @@ randomize_ipv4_addr(tcpedit_t *tcpedit, u_int32_t ip)
     return ((ip ^ htonl(tcpedit->seed)) - (ip & htonl(tcpedit->seed)));
     return ((ip ^ htonl(tcpedit->seed)) - (ip & htonl(tcpedit->seed)));
 }
 }
 
 
+static void
+randomize_ipv6_addr(tcpedit_t *tcpedit, struct tcpr_in6_addr *addr)
+{
+    u_int32_t *p;
+    int i;
+    u_char was_multicast;
+
+    assert(tcpedit);
+
+    p = &addr->__u6_addr.__u6_addr32[0];
+
+    was_multicast = is_multicast_ipv6(tcpedit, addr);
+
+    for (i = 0; i < 4; ++i) {
+        p[i] = ((p[i] ^ htonl(tcpedit->seed)) - (p[i] & htonl(tcpedit->seed)));
+    }
+
+    if (was_multicast) {
+        addr->tcpr_s6_addr[0] = 0xff;
+    } else if (is_multicast_ipv6(tcpedit, addr)) {
+        addr->tcpr_s6_addr[0] = 0xaa;
+    }
+}
+
 
 
 /**
 /**
  * randomizes the source and destination IP addresses based on a 
  * randomizes the source and destination IP addresses based on a 
@@ -124,10 +176,8 @@ randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
     assert(ip_hdr);
     assert(ip_hdr);
 
 
 #ifdef DEBUG
 #ifdef DEBUG
-    strlcpy(srcip, get_addr2name4(ip_hdr->ip_src.s_addr, 
-                RESOLVE), 16);
-    strlcpy(dstip, get_addr2name4(ip_hdr->ip_dst.s_addr, 
-                RESOLVE), 16);
+    strlcpy(srcip, get_addr2name4(ip_hdr->ip_src.s_addr, RESOLVE), 16);
+    strlcpy(dstip, get_addr2name4(ip_hdr->ip_dst.s_addr, RESOLVE), 16);
 #endif
 #endif
 
 
     /* randomize IP addresses based on the value of random */
     /* randomize IP addresses based on the value of random */
@@ -145,10 +195,8 @@ randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
     }
     }
 
 
 #ifdef DEBUG    
 #ifdef DEBUG    
-    strlcpy(srcip, get_addr2name4(ip_hdr->ip_src.s_addr, 
-                RESOLVE), 16);
-    strlcpy(dstip, get_addr2name4(ip_hdr->ip_dst.s_addr, 
-                RESOLVE), 16);
+    strlcpy(srcip, get_addr2name4(ip_hdr->ip_src.s_addr, RESOLVE), 16);
+    strlcpy(dstip, get_addr2name4(ip_hdr->ip_dst.s_addr, RESOLVE), 16);
 #endif
 #endif
 
 
     dbgx(1, "New Src IP: %s\tNew Dst IP: %s\n", srcip, dstip);
     dbgx(1, "New Src IP: %s\tNew Dst IP: %s\n", srcip, dstip);
@@ -156,6 +204,46 @@ randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
     return(1);
     return(1);
 }
 }
 
 
+int
+randomize_ipv6(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
+        u_char *pktdata, ipv6_hdr_t *ip6_hdr)
+{
+#ifdef DEBUG
+    char srcip[INET6_ADDRSTRLEN], dstip[INET6_ADDRSTRLEN];
+#endif
+    assert(tcpedit);
+    assert(pkthdr);
+    assert(pktdata);
+    assert(ip6_hdr);
+
+#ifdef DEBUG
+    strlcpy(srcip, get_addr2name6(&ip6_hdr->ip_src, RESOLVE), INET6_ADDRSTRLEN);
+    strlcpy(dstip, get_addr2name6(&ip6_hdr->ip_dst, RESOLVE), INET6_ADDRSTRLEN);
+#endif
+
+    /* randomize IP addresses based on the value of random */
+    dbgx(1, "Old Src IP: %s\tOld Dst IP: %s", srcip, dstip);
+
+    /* don't rewrite broadcast addresses */
+    if ((tcpedit->skip_broadcast && !is_multicast_ipv6(tcpedit, &ip6_hdr->ip_dst))
+        || !tcpedit->skip_broadcast) {
+        randomize_ipv6_addr(tcpedit, &ip6_hdr->ip_dst);
+    }
+
+    if ((tcpedit->skip_broadcast && !is_multicast_ipv6(tcpedit, &ip6_hdr->ip_src))
+        || !tcpedit->skip_broadcast) {
+        randomize_ipv6_addr(tcpedit, &ip6_hdr->ip_src);
+    }
+
+#ifdef DEBUG
+    strlcpy(srcip, get_addr2name6(&ip6_hdr->ip_src, RESOLVE), INET6_ADDRSTRLEN);
+    strlcpy(dstip, get_addr2name6(&ip6_hdr->ip_dst, RESOLVE), INET6_ADDRSTRLEN);
+#endif
+
+    dbgx(1, "New Src IP: %s\tNew Dst IP: %s\n", srcip, dstip);
+
+    return(1);
+}
 
 
 /**
 /**
  * this code will untruncate a packet via padding it with null
  * this code will untruncate a packet via padding it with null
@@ -165,7 +253,7 @@ randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
 
 
 int
 int
 untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
 untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
-        u_char *pktdata, ipv4_hdr_t *ip_hdr)
+        u_char *pktdata, ipv4_hdr_t *ip_hdr, ipv6_hdr_t *ip6_hdr)
 {
 {
     int l2len;
     int l2len;
     assert(tcpedit);
     assert(tcpedit);
@@ -173,7 +261,7 @@ untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
     assert(pktdata);
     assert(pktdata);
 
 
     /* if actual len == cap len or there's no IP header, don't do anything */
     /* if actual len == cap len or there's no IP header, don't do anything */
-    if ((pkthdr->caplen == pkthdr->len) || (ip_hdr == NULL)) {
+    if ((pkthdr->caplen == pkthdr->len) || (ip_hdr == NULL && ip6_hdr == NULL)) {
         /* unless we're in MTU truncate mode */
         /* unless we're in MTU truncate mode */
         if (! tcpedit->mtu_truncate)
         if (! tcpedit->mtu_truncate)
             return(0);
             return(0);
@@ -207,13 +295,15 @@ untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr,
         pkthdr->len = pkthdr->caplen;
         pkthdr->len = pkthdr->caplen;
     }
     }
     else if (tcpedit->mtu_truncate) {
     else if (tcpedit->mtu_truncate) {
-        if (pkthdr->len > (tcpedit->mtu + l2len)) {
+        if (pkthdr->len > (u_int16_t)(tcpedit->mtu + l2len)) {
             /* first truncate the packet */
             /* first truncate the packet */
             pkthdr->len = pkthdr->caplen = l2len + tcpedit->mtu;
             pkthdr->len = pkthdr->caplen = l2len + tcpedit->mtu;
             
             
             /* if ip_hdr exists, update the length */
             /* if ip_hdr exists, update the length */
             if (ip_hdr != NULL) {
             if (ip_hdr != NULL) {
                 ip_hdr->ip_len = htons(tcpedit->mtu);
                 ip_hdr->ip_len = htons(tcpedit->mtu);
+            } else if (ip6_hdr != NULL) {
+                ip6_hdr->ip_len = htons(tcpedit->mtu - sizeof(*ip6_hdr));
             } else {
             } else {
                  /* for non-IP frames, don't try to fix checksums */  
                  /* for non-IP frames, don't try to fix checksums */  
                 return 0;
                 return 0;
@@ -237,7 +327,7 @@ int
 extract_data(tcpedit_t *tcpedit, const u_char *pktdata, int caplen, 
 extract_data(tcpedit_t *tcpedit, const u_char *pktdata, int caplen, 
         char *l7data[])
         char *l7data[])
 {
 {
-    int datalen = 0;
+    int datalen = 0; /* amount of data beyond ip header */
     ipv4_hdr_t *ip_hdr = NULL;
     ipv4_hdr_t *ip_hdr = NULL;
     tcp_hdr_t *tcp_hdr = NULL;
     tcp_hdr_t *tcp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
@@ -254,7 +344,8 @@ extract_data(tcpedit_t *tcpedit, const u_char *pktdata, int caplen,
                     tcpedit->runtime.dlt1, &dataptr)) == NULL)
                     tcpedit->runtime.dlt1, &dataptr)) == NULL)
         return 0;
         return 0;
 
 
-    /* figure out the actual datalen which might be < the caplen
+    /* 
+     * figure out the actual datalen which might be < the caplen
      * due to ethernet padding 
      * due to ethernet padding 
      */
      */
     if (caplen > ntohs(ip_hdr->ip_len)) {
     if (caplen > ntohs(ip_hdr->ip_len)) {
@@ -271,7 +362,7 @@ extract_data(tcpedit_t *tcpedit, const u_char *pktdata, int caplen,
 
 
     /* TCP ? */
     /* TCP ? */
     if (ip_hdr->ip_p == IPPROTO_TCP) {
     if (ip_hdr->ip_p == IPPROTO_TCP) {
-        tcp_hdr = (tcp_hdr_t *) get_layer4(ip_hdr);
+        tcp_hdr = (tcp_hdr_t *) get_layer4_v4(ip_hdr);
         datalen -= tcp_hdr->th_off << 2;
         datalen -= tcp_hdr->th_off << 2;
         if (datalen <= 0)
         if (datalen <= 0)
             goto nodata;
             goto nodata;
@@ -281,7 +372,7 @@ extract_data(tcpedit_t *tcpedit, const u_char *pktdata, int caplen,
 
 
     /* UDP ? */
     /* UDP ? */
     else if (ip_hdr->ip_p == IPPROTO_UDP) {
     else if (ip_hdr->ip_p == IPPROTO_UDP) {
-        udp_hdr = (udp_hdr_t *) get_layer4(ip_hdr);
+        udp_hdr = (udp_hdr_t *) get_layer4_v4(ip_hdr);
         datalen -= TCPR_UDP_H;
         datalen -= TCPR_UDP_H;
         if (datalen <= 0)
         if (datalen <= 0)
             goto nodata;
             goto nodata;
@@ -350,6 +441,45 @@ rewrite_ipv4_ttl(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr)
 }
 }
 
 
 /**
 /**
+ * rewrites an IPv6 packet's hop limit based on the rules
+ * return 0 if no change, 1 if changed
+ */
+int
+rewrite_ipv6_hlim(tcpedit_t *tcpedit, ipv6_hdr_t *ip6_hdr)
+{
+    assert(tcpedit);
+
+    /* make sure there's something to edit */
+    if (ip6_hdr == NULL || tcpedit->ttl_mode == TCPEDIT_TTL_OFF)
+        return(0);
+
+    switch(tcpedit->ttl_mode) {
+    case TCPEDIT_TTL_SET:
+        if (ip6_hdr->ip_hl == tcpedit->ttl_value)
+            return(0);           /* no change required */
+        ip6_hdr->ip_hl = tcpedit->ttl_value;
+        break;
+    case TCPEDIT_TTL_ADD:
+        if (((int)ip6_hdr->ip_hl + tcpedit->ttl_value) > 255) {
+            ip6_hdr->ip_hl = 255;
+        } else {
+            ip6_hdr->ip_hl += tcpedit->ttl_value;
+        }
+        break;
+    case TCPEDIT_TTL_SUB:
+        if (ip6_hdr->ip_hl <= tcpedit->ttl_value) {
+            ip6_hdr->ip_hl = 1;
+        } else {
+            ip6_hdr->ip_hl -= tcpedit->ttl_value;
+        }
+        break;
+    default:
+        errx(1, "invalid ttl_mode: %d", tcpedit->ttl_mode);
+    }
+    return(1);
+}
+
+/**
  * takes a CIDR notation netblock and uses that to "remap" given IP
  * takes a CIDR notation netblock and uses that to "remap" given IP
  * onto that netblock.  ie: 10.0.0.0/8 and 192.168.55.123 -> 10.168.55.123
  * onto that netblock.  ie: 10.0.0.0/8 and 192.168.55.123 -> 10.168.55.123
  * while 10.150.9.0/24 and 192.168.55.123 -> 10.150.9.123
  * while 10.150.9.0/24 and 192.168.55.123 -> 10.150.9.123
@@ -362,6 +492,10 @@ remap_ipv4(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, const u_int32_t original)
     assert(tcpedit);
     assert(tcpedit);
     assert(cidr);
     assert(cidr);
     
     
+    if (cidr->family != AF_INET) {
+        return 0;
+    }
+
     /* don't rewrite broadcast addresses */
     /* don't rewrite broadcast addresses */
     if (tcpedit->skip_broadcast && !is_unicast_ipv4(tcpedit, original))
     if (tcpedit->skip_broadcast && !is_unicast_ipv4(tcpedit, original))
         return original;
         return original;
@@ -372,7 +506,7 @@ remap_ipv4(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, const u_int32_t original)
     mask = mask << (32 - cidr->masklen);
     mask = mask << (32 - cidr->masklen);
 
 
     /* apply the mask to the network */
     /* apply the mask to the network */
-    network = htonl(cidr->network) & mask;
+    network = htonl(cidr->u.network) & mask;
 
 
     /* apply the reverse of the mask to the IP */
     /* apply the reverse of the mask to the IP */
     mask = mask ^ 0xffffffff;
     mask = mask ^ 0xffffffff;
@@ -385,6 +519,39 @@ remap_ipv4(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, const u_int32_t original)
     return(htonl(result));
     return(htonl(result));
 }
 }
 
 
+static int
+remap_ipv6(tcpedit_t *tcpedit, tcpr_cidr_t *cidr, struct tcpr_in6_addr *addr)
+{
+    int i, j, k;
+
+    assert(tcpedit);
+    assert(cidr);
+
+    if (cidr->family != AF_INET6) {
+        return 0;
+    }
+
+    /* don't rewrite broadcast addresses */
+    if (tcpedit->skip_broadcast && is_multicast_ipv6(tcpedit, addr))
+        return 0;
+
+    j = cidr->masklen / 8;
+
+    for (i = 0; i < j; i++)
+        addr->tcpr_s6_addr[i] = cidr->u.network6.tcpr_s6_addr[i];
+
+    if ((k = cidr->masklen % 8) == 0)
+        return 1;
+
+    k = ~0 << (8 - k);
+    i = addr->tcpr_s6_addr[i] & k;
+
+    addr->tcpr_s6_addr[i] = (cidr->u.network6.tcpr_s6_addr[j] & (0xff << (8 - k))) |
+      (addr->tcpr_s6_addr[i] & (0xff >> k));
+
+    return 1;
+}
+
 /**
 /**
  * rewrite IP address (layer3)
  * rewrite IP address (layer3)
  * uses -N to rewrite (map) one subnet onto another subnet
  * uses -N to rewrite (map) one subnet onto another subnet
@@ -471,6 +638,86 @@ rewrite_ipv4l3(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr, tcpr_dir_t direction)
     return (diddst + didsrc);
     return (diddst + didsrc);
 }
 }
 
 
+int
+rewrite_ipv6l3(tcpedit_t *tcpedit, ipv6_hdr_t *ip6_hdr, tcpr_dir_t direction)
+{
+    tcpr_cidrmap_t *cidrmap1 = NULL, *cidrmap2 = NULL;
+    int didsrc = 0, diddst = 0, loop = 1;
+
+    assert(tcpedit);
+    assert(ip6_hdr);
+
+    /* first check the src/dst IP maps */
+    if (tcpedit->srcipmap != NULL) {
+        if (ip6_in_cidr(tcpedit->srcipmap->from, &ip6_hdr->ip_src)) {
+            remap_ipv6(tcpedit, tcpedit->srcipmap->to, &ip6_hdr->ip_src);
+            dbgx(2, "Remapped src addr to: %s", get_addr2name6(&ip6_hdr->ip_src, RESOLVE));
+        }
+    }
+
+    if (tcpedit->dstipmap != NULL) {
+        if (ip6_in_cidr(tcpedit->dstipmap->from, &ip6_hdr->ip_dst)) {
+            remap_ipv6(tcpedit, tcpedit->dstipmap->to, &ip6_hdr->ip_dst);
+            dbgx(2, "Remapped src addr to: %s", get_addr2name6(&ip6_hdr->ip_dst, RESOLVE));
+        }
+    }
+
+    /* anything else to rewrite? */
+    if (tcpedit->cidrmap1 == NULL)
+        return(0);
+
+    /* don't play with the main pointers */
+    if (direction == TCPR_DIR_C2S) {
+        cidrmap1 = tcpedit->cidrmap1;
+        cidrmap2 = tcpedit->cidrmap2;
+    } else {
+        cidrmap1 = tcpedit->cidrmap2;
+        cidrmap2 = tcpedit->cidrmap1;
+    }
+
+
+    /* loop through the cidrmap to rewrite */
+    do {
+        if ((! diddst) && ip6_in_cidr(cidrmap2->from, &ip6_hdr->ip_dst)) {
+            remap_ipv6(tcpedit, cidrmap2->to, &ip6_hdr->ip_dst);
+            dbgx(2, "Remapped dst addr to: %s", get_addr2name6(&ip6_hdr->ip_dst, RESOLVE));
+            diddst = 1;
+        }
+        if ((! didsrc) && ip6_in_cidr(cidrmap1->from, &ip6_hdr->ip_src)) {
+            remap_ipv6(tcpedit, cidrmap1->to, &ip6_hdr->ip_src);
+            dbgx(2, "Remapped src addr to: %s", get_addr2name6(&ip6_hdr->ip_src, RESOLVE));
+            didsrc = 1;
+        }
+
+        /*
+         * loop while we haven't modified both src/dst AND
+         * at least one of the cidr maps have a next pointer
+         */
+        if ((! (diddst && didsrc)) &&
+            (! ((cidrmap1->next == NULL) && (cidrmap2->next == NULL)))) {
+
+            /* increment our ptr's if possible */
+            if (cidrmap1->next != NULL)
+                cidrmap1 = cidrmap1->next;
+
+            if (cidrmap2->next != NULL)
+                cidrmap2 = cidrmap2->next;
+
+        } else {
+            loop = 0;
+        }
+
+        /* Later on we should support various IP protocols which embed
+         * the IP address in the application layer.  Things like
+         * DNS and FTP.
+         */
+
+    } while (loop);
+
+    /* return how many changes we made */
+    return (diddst + didsrc);
+}
+
 /**
 /**
  * Randomize the IP addresses in an ARP packet based on the user seed
  * Randomize the IP addresses in an ARP packet based on the user seed
  * return 0 if no change, or 1 for a change
  * return 0 if no change, or 1 for a change
@@ -649,11 +896,19 @@ is_unicast_ipv4(tcpedit_t *tcpedit, u_int32_t ip)
         
         
     return 1;
     return 1;
 }
 }
-/*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:4
- End:
-*/
+
+/**
+ * returns 1 if the IPv6 address is a multicast address, otherwise, returns 0
+ * for unicast/anycast addresses.  Returns -1 on error
+ */
+static int
+is_multicast_ipv6(tcpedit_t *tcpedit, struct tcpr_in6_addr *addr)
+{
+    assert(tcpedit);
+
+    if (addr->tcpr_s6_addr[0] == 0xff)
+        return 1;
+
+    return 0;
+}
 
 

+ 13 - 3
src/tcpedit/edit_packet.h

@@ -1,4 +1,4 @@
-/* $Id: edit_packet.h 1983 2008-04-25 04:51:07Z aturner $ */
+/* $Id: edit_packet.h 2289 2009-05-03 19:43:01Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2004 Aaron Turner.
  * Copyright (c) 2001-2004 Aaron Turner.
@@ -37,26 +37,36 @@
 #include "common.h"
 #include "common.h"
 
 
 int untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
 int untrunc_packet(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
-        u_char *pktdata, ipv4_hdr_t *ip_hdr);
+        u_char *pktdata, ipv4_hdr_t *ip_hdr, ipv6_hdr_t *ip6_hdr);
 
 
 int randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pktdhr, 
 int randomize_ipv4(tcpedit_t *tcpedit, struct pcap_pkthdr *pktdhr, 
         u_char *pktdata, ipv4_hdr_t *ip_hdr);
         u_char *pktdata, ipv4_hdr_t *ip_hdr);
 
 
+int randomize_ipv6(tcpedit_t *tcpedit, struct pcap_pkthdr *pktdhr,
+        u_char *pktdata, ipv6_hdr_t *ip_hdr);
+
 int randomize_iparp(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
 int randomize_iparp(tcpedit_t *tcpedit, struct pcap_pkthdr *pkthdr, 
         u_char *pktdata, int datalink);
         u_char *pktdata, int datalink);
 
 
-int fix_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkdhdr, 
+int fix_ipv4_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkdhdr,
         ipv4_hdr_t *ip_hdr);
         ipv4_hdr_t *ip_hdr);
 
 
+int fix_ipv6_checksums(tcpedit_t *tcpedit, struct pcap_pkthdr *pkdhdr,
+        ipv6_hdr_t *ip_hdr);
+
 int extract_data(tcpedit_t *tcpedit, const u_char *pktdata, 
 int extract_data(tcpedit_t *tcpedit, const u_char *pktdata, 
         int caplen, char *l7data[]);
         int caplen, char *l7data[]);
 
 
 int rewrite_ipv4l3(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr, tcpr_dir_t direction);
 int rewrite_ipv4l3(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr, tcpr_dir_t direction);
 
 
+int rewrite_ipv6l3(tcpedit_t *tcpedit, ipv6_hdr_t *ip_hdr, tcpr_dir_t direction);
+
 int rewrite_iparp(tcpedit_t *tcpedit, arp_hdr_t *arp_hdr, int direction);
 int rewrite_iparp(tcpedit_t *tcpedit, arp_hdr_t *arp_hdr, int direction);
 
 
 int rewrite_ipv4_ttl(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr);
 int rewrite_ipv4_ttl(tcpedit_t *tcpedit, ipv4_hdr_t *ip_hdr);
 
 
+int rewrite_ipv6_hlim(tcpedit_t *tcpedit, ipv6_hdr_t *ip6_hdr);
+
 #define BROADCAST_IP 4294967295
 #define BROADCAST_IP 4294967295
 
 
 #endif
 #endif

+ 5 - 1
src/tcpedit/parse_args.c

@@ -1,4 +1,4 @@
-/* $Id: parse_args.c 2211 2009-02-18 02:48:04Z aturner $ */
+/* $Id: parse_args.c 2314 2009-05-07 05:42:47Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2006 Aaron Turner.
  * Copyright (c) 2006 Aaron Turner.
@@ -144,6 +144,10 @@ tcpedit_post_args(tcpedit_t **tcpedit_ex) {
     if (HAVE_OPT(TOS))
     if (HAVE_OPT(TOS))
         tcpedit->tos = OPT_VALUE_TOS;
         tcpedit->tos = OPT_VALUE_TOS;
 
 
+    /* --flowlabel */
+    if (HAVE_OPT(FLOWLABEL))
+        tcpedit->flowlabel = OPT_VALUE_FLOWLABEL;
+
     /* --mtu */
     /* --mtu */
     if (HAVE_OPT(MTU))
     if (HAVE_OPT(MTU))
         tcpedit->mtu = OPT_VALUE_MTU;
         tcpedit->mtu = OPT_VALUE_MTU;

BIN
src/tcpedit/plugins/dlt_en10mb/._en10mb.c


BIN
src/tcpedit/plugins/dlt_en10mb/._en10mb_opts.def


+ 34 - 9
src/tcpedit/portmap.c

@@ -1,4 +1,4 @@
-/* $Id: portmap.c 1895 2007-08-22 04:24:33Z aturner $ */
+/* $Id: portmap.c 2290 2009-05-03 19:44:32Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2007 Aaron Turner.
  * Copyright (c) 2001-2007 Aaron Turner.
@@ -211,8 +211,8 @@ map_port(tcpedit_portmap_t *portmap_data, long port)
  * returns 1 for changes made or 0 for none
  * returns 1 for changes made or 0 for none
  */
  */
 
 
-int
-rewrite_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr)
+static int
+rewrite_ports(tcpedit_t *tcpedit, u_char protocol, u_char *layer4)
 {
 {
     tcp_hdr_t *tcp_hdr = NULL;
     tcp_hdr_t *tcp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
@@ -224,10 +224,8 @@ rewrite_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr)
     assert(tcpedit->portmap);
     assert(tcpedit->portmap);
     portmap = tcpedit->portmap;
     portmap = tcpedit->portmap;
 
 
-    if (*ip_hdr == NULL) {
-        return 0;
-    } else if ((*ip_hdr)->ip_p == IPPROTO_TCP) {
-        tcp_hdr = (tcp_hdr_t *)get_layer4(*ip_hdr);
+    if (protocol == IPPROTO_TCP) {
+        tcp_hdr = (tcp_hdr_t *)layer4;
 
 
         /* check if we need to remap the destination port */
         /* check if we need to remap the destination port */
         newport = map_port(portmap, tcp_hdr->th_dport);
         newport = map_port(portmap, tcp_hdr->th_dport);
@@ -243,8 +241,8 @@ rewrite_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr)
             changes ++;
             changes ++;
         }
         }
         
         
-    } else if ((*ip_hdr)->ip_p == IPPROTO_UDP) {
-        udp_hdr = (udp_hdr_t *)get_layer4(*ip_hdr);
+    } else if (protocol == IPPROTO_UDP) {
+        udp_hdr = (udp_hdr_t *)layer4;
 
 
         /* check if we need to remap the destination port */
         /* check if we need to remap the destination port */
         newport = map_port(portmap, udp_hdr->uh_dport);
         newport = map_port(portmap, udp_hdr->uh_dport);
@@ -265,6 +263,33 @@ rewrite_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr)
     return changes;
     return changes;
 }
 }
 
 
+int
+rewrite_ipv4_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr)
+{
+    assert(tcpedit);
+
+    if (*ip_hdr == NULL) {
+        return 0;
+    } else if ((*ip_hdr)->ip_p == IPPROTO_TCP || (*ip_hdr)->ip_p == IPPROTO_UDP) {
+        return rewrite_ports(tcpedit, (*ip_hdr)->ip_p, get_layer4_v4(*ip_hdr));
+    }
+
+    return 0;
+}
+
+int
+rewrite_ipv6_ports(tcpedit_t *tcpedit, ipv6_hdr_t **ip6_hdr)
+{
+    assert(tcpedit);
+
+    if (*ip6_hdr == NULL) {
+        return 0;
+    } else if ((*ip6_hdr)->ip_nh == IPPROTO_TCP || (*ip6_hdr)->ip_nh == IPPROTO_UDP) {
+        return rewrite_ports(tcpedit, (*ip6_hdr)->ip_nh, ((u_char*)*ip6_hdr) + TCPR_IPV6_H);
+    }
+    return 0;
+}
+
 /*
 /*
  Local Variables:
  Local Variables:
  mode:c
  mode:c

+ 3 - 2
src/tcpedit/portmap.h

@@ -1,4 +1,4 @@
-/* $Id: portmap.h 1757 2007-03-22 05:38:56Z aturner $ */
+/* $Id: portmap.h 2290 2009-05-03 19:44:32Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2007 Aaron Turner.
  * Copyright (c) 2001-2007 Aaron Turner.
@@ -39,7 +39,8 @@ int parse_portmap(tcpedit_portmap_t **portmapdata, const char *ourstr);
 void free_portmap(tcpedit_portmap_t *portmap);
 void free_portmap(tcpedit_portmap_t *portmap);
 void print_portmap(tcpedit_portmap_t *portmap);
 void print_portmap(tcpedit_portmap_t *portmap);
 long map_port(tcpedit_portmap_t *portmap , long port);
 long map_port(tcpedit_portmap_t *portmap , long port);
-int rewrite_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr);
+int rewrite_ipv4_ports(tcpedit_t *tcpedit, ipv4_hdr_t **ip_hdr);
+int rewrite_ipv6_ports(tcpedit_t *tcpedit, ipv6_hdr_t **ip_hdr);
 
 
 #endif
 #endif
 
 

+ 9 - 3
src/tcpedit/tcpedit-int.h

@@ -1,4 +1,4 @@
-/* $Id: tcpedit-int.h 2211 2009-02-18 02:48:04Z aturner $ */
+/* $Id: tcpedit-int.h 2315 2009-05-07 17:35:07Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2006-2007 Aaron Turner.
  * Copyright (c) 2006-2007 Aaron Turner.
@@ -112,8 +112,14 @@ struct tcpedit_s {
 #define TCPEDIT_TTL_SUB 0x3
 #define TCPEDIT_TTL_SUB 0x3
     u_int8_t ttl_value;
     u_int8_t ttl_value;
 
 
-    /* TOS/DiffServ/ECN */
-    int tos;  /* -1 is disabled, else copy value */
+    /* TOS/DiffServ/ECN, -1 is disabled, else copy value */
+    int tos;
+    
+    /* IPv6 FlowLabel, -1 is disabled, else copy value */
+    int flowlabel;
+    
+    /* IPv6 TClass, -1 is disabled, else copy value */
+    int tclass;
     
     
     /* rewrite end-point IP addresses between cidrmap1 & cidrmap2 */
     /* rewrite end-point IP addresses between cidrmap1 & cidrmap2 */
     tcpr_cidrmap_t *cidrmap1;       /* tcpprep cache data */
     tcpr_cidrmap_t *cidrmap1;       /* tcpprep cache data */

+ 74 - 9
src/tcpedit/tcpedit.c

@@ -1,4 +1,4 @@
-/* $Id: tcpedit.c 2211 2009-02-18 02:48:04Z aturner $ */
+/* $Id: tcpedit.c 2317 2009-05-07 17:57:11Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2007 Aaron Turner.
  * Copyright (c) 2001-2007 Aaron Turner.
@@ -71,8 +71,10 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
         u_char **pktdata, tcpr_dir_t direction)
         u_char **pktdata, tcpr_dir_t direction)
 {
 {
     ipv4_hdr_t *ip_hdr = NULL;
     ipv4_hdr_t *ip_hdr = NULL;
+    ipv6_hdr_t *ip6_hdr = NULL;
     arp_hdr_t *arp_hdr = NULL;
     arp_hdr_t *arp_hdr = NULL;
     int l2len = 0, l2proto, retval = 0, dst_dlt, src_dlt, pktlen, lendiff;
     int l2len = 0, l2proto, retval = 0, dst_dlt, src_dlt, pktlen, lendiff;
+    int ipflags = 0, tclass = 0;
     int needtorecalc = 0;           /* did the packet change? if so, checksum */
     int needtorecalc = 0;           /* did the packet change? if so, checksum */
     u_char *packet = *pktdata;
     u_char *packet = *pktdata;
     assert(tcpedit);
     assert(tcpedit);
@@ -134,8 +136,14 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
             return TCPEDIT_ERROR;
             return TCPEDIT_ERROR;
         }        
         }        
         dbgx(3, "Packet has an IPv4 header: %p...", ip_hdr);
         dbgx(3, "Packet has an IPv4 header: %p...", ip_hdr);
+    } else if (l2proto == htons(ETHERTYPE_IP6)) {
+        ip6_hdr = (ipv6_hdr_t *)tcpedit_dlt_l3data(tcpedit->dlt_ctx, src_dlt, packet, (*pkthdr)->caplen);
+        if (ip6_hdr == NULL) {
+            return TCPEDIT_ERROR;
+        }
+        dbgx(3, "Packet has an IPv6 header: %p...", ip6_hdr);
     } else {
     } else {
-        dbgx(3, "Packet isn't IPv4: 0x%04x", l2proto);
+        dbgx(3, "Packet isn't IPv4 or IPv6: 0x%04x", l2proto);
         /* non-IP packets have a NULL ip_hdr struct */
         /* non-IP packets have a NULL ip_hdr struct */
         ip_hdr = NULL;
         ip_hdr = NULL;
     }
     }
@@ -152,26 +160,68 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
 
 
         /* rewrite TCP/UDP ports */
         /* rewrite TCP/UDP ports */
         if (tcpedit->portmap != NULL) {
         if (tcpedit->portmap != NULL) {
-            if ((retval = rewrite_ports(tcpedit, &ip_hdr)) < 0)
+            if ((retval = rewrite_ipv4_ports(tcpedit, &ip_hdr)) < 0)
                 return TCPEDIT_ERROR;
                 return TCPEDIT_ERROR;
             needtorecalc += retval;
             needtorecalc += retval;
         }
         }
+    }
+    /* IPv6 edits */
+    else if (ip6_hdr != NULL) {
+        /* rewrite the hop limit */
+        needtorecalc += rewrite_ipv6_hlim(tcpedit, ip6_hdr);
+
+        /* set traffic class? */
+        if (tcpedit->tclass > -1) {
+            /* calculate the bits */
+            tclass = tcpedit->tclass << 20;
+            
+            /* convert our 4 bytes to an int */
+            memcpy(&ipflags, &ip6_hdr->ip_flags, 4);
+            
+            /* strip out the old tclass bits */
+            ipflags = ntohl(ipflags) & 0xf00fffff;
+
+            /* add the tclass bits back */
+            ipflags += tclass; 
+            ipflags = htonl(ipflags);
+            memcpy(&ip6_hdr->ip_flags, &ipflags, 4);
+        }
+
+        /* set the flow label? */
+        if (tcpedit->flowlabel > -1) {
+            memcpy(&ipflags, &ip6_hdr->ip_flags, 4);
+            ipflags = ntohl(ipflags) & 0xfff00000;
+            ipflags += tcpedit->flowlabel;
+            ipflags = htonl(ipflags);
+            memcpy(&ip6_hdr->ip_flags, &ipflags, 4);
+        }
 
 
+        /* rewrite TCP/UDP ports */
+        if (tcpedit->portmap != NULL) {
+            if ((retval = rewrite_ipv6_ports(tcpedit, &ip6_hdr)) < 0)
+                return TCPEDIT_ERROR;
+            needtorecalc += retval;
+        }
     }
     }
+
     /* (Un)truncate or MTU truncate packet? */
     /* (Un)truncate or MTU truncate packet? */
     if (tcpedit->fixlen || tcpedit->mtu_truncate) {
     if (tcpedit->fixlen || tcpedit->mtu_truncate) {
-        if ((retval = untrunc_packet(tcpedit, *pkthdr, packet, ip_hdr)) < 0)
+        if ((retval = untrunc_packet(tcpedit, *pkthdr, packet, ip_hdr, ip6_hdr)) < 0)
             return TCPEDIT_ERROR;
             return TCPEDIT_ERROR;
         needtorecalc += retval;
         needtorecalc += retval;
     }
     }
     
     
-    /* rewrite IP addresses in IPv4 or ARP */
+    /* rewrite IP addresses in IPv4/IPv6 or ARP */
     if (tcpedit->rewrite_ip) {
     if (tcpedit->rewrite_ip) {
         /* IP packets */
         /* IP packets */
         if (ip_hdr != NULL) {
         if (ip_hdr != NULL) {
             if ((retval = rewrite_ipv4l3(tcpedit, ip_hdr, direction)) < 0)
             if ((retval = rewrite_ipv4l3(tcpedit, ip_hdr, direction)) < 0)
                 return TCPEDIT_ERROR;
                 return TCPEDIT_ERROR;
             needtorecalc += retval;
             needtorecalc += retval;
+        } else if (ip6_hdr != NULL) {
+            if ((retval = rewrite_ipv6l3(tcpedit, ip6_hdr, direction)) < 0)
+                return TCPEDIT_ERROR;
+            needtorecalc += retval;
         }
         }
 
 
         /* ARP packets */
         /* ARP packets */
@@ -196,6 +246,12 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
                 return TCPEDIT_ERROR;
                 return TCPEDIT_ERROR;
             needtorecalc += retval;
             needtorecalc += retval;
 
 
+        } else if (ip6_hdr != NULL) {
+            if ((retval = randomize_ipv6(tcpedit, *pkthdr, packet,
+                    ip6_hdr)) < 0)
+                return TCPEDIT_ERROR;
+            needtorecalc += retval;
+
         /* ARP packets */
         /* ARP packets */
         } else if (l2proto == htons(ETHERTYPE_ARP)) {
         } else if (l2proto == htons(ETHERTYPE_ARP)) {
             if (direction == TCPR_DIR_C2S) {
             if (direction == TCPR_DIR_C2S) {
@@ -211,8 +267,14 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
     }
     }
 
 
     /* do we need to fix checksums? -- must always do this last! */
     /* do we need to fix checksums? -- must always do this last! */
-    if ((tcpedit->fixcsum || needtorecalc) && (ip_hdr != NULL)) {
-        retval = fix_checksums(tcpedit, *pkthdr, ip_hdr);
+    if ((tcpedit->fixcsum || needtorecalc)) {
+        if (ip_hdr != NULL) {
+            retval = fix_ipv4_checksums(tcpedit, *pkthdr, ip_hdr);
+        } else if (ip6_hdr != NULL) {
+            retval = fix_ipv6_checksums(tcpedit, *pkthdr, ip6_hdr);
+        } else {
+            retval = TCPEDIT_OK;
+        }
         if (retval < 0) {
         if (retval < 0) {
             return TCPEDIT_ERROR;
             return TCPEDIT_ERROR;
         } else if (retval == TCPEDIT_WARN) {
         } else if (retval == TCPEDIT_WARN) {
@@ -220,7 +282,6 @@ tcpedit_packet(tcpedit_t *tcpedit, struct pcap_pkthdr **pkthdr,
         }
         }
     }
     }
 
 
-    
     tcpedit_dlt_merge_l3data(tcpedit->dlt_ctx, dst_dlt, packet, (*pkthdr)->caplen, (u_char *)ip_hdr);
     tcpedit_dlt_merge_l3data(tcpedit->dlt_ctx, dst_dlt, packet, (*pkthdr)->caplen, (u_char *)ip_hdr);
 
 
     tcpedit->runtime.total_bytes += (*pkthdr)->caplen;
     tcpedit->runtime.total_bytes += (*pkthdr)->caplen;
@@ -243,7 +304,11 @@ tcpedit_init(tcpedit_t **tcpedit_ex, int dlt)
         return TCPEDIT_ERROR;
         return TCPEDIT_ERROR;
 
 
     tcpedit->mtu = DEFAULT_MTU; /* assume 802.3 Ethernet */
     tcpedit->mtu = DEFAULT_MTU; /* assume 802.3 Ethernet */
-    tcpedit->tos = -1; /* disabled by default */
+
+    /* disabled by default */
+    tcpedit->tos = -1;
+    tcpedit->tclass = -1;
+    tcpedit->flowlabel = -1;
  
  
     memset(&(tcpedit->runtime), 0, sizeof(tcpedit_runtime_t));
     memset(&(tcpedit->runtime), 0, sizeof(tcpedit_runtime_t));
     tcpedit->runtime.dlt1 = dlt;
     tcpedit->runtime.dlt1 = dlt;

+ 51 - 19
src/tcpedit/tcpedit_opts.def

@@ -26,10 +26,10 @@ flag = {
     name        = seed;
     name        = seed;
     value       = s;
     value       = s;
     arg-type    = number;
     arg-type    = number;
-    descrip     = "Randomize src/dst IP addresses w/ given seed";
+    descrip     = "Randomize src/dst IPv4/v6 addresses w/ given seed";
     max         = 1;
     max         = 1;
     doc         = <<- EOText
     doc         = <<- EOText
-Causes the source and destination IP addresses to be pseudo 
+Causes the source and destination IPv4/v6 addresses to be pseudo 
 randomized but still maintain client/server relationships.
 randomized but still maintain client/server relationships.
 Since the randomization is deterministic based on the seed, 
 Since the randomization is deterministic based on the seed, 
 you can reuse the same seed value to recreate the traffic.
 you can reuse the same seed value to recreate the traffic.
@@ -44,7 +44,7 @@ flag = {
     stack-arg;
     stack-arg;
     flags-cant  = srcipmap;
     flags-cant  = srcipmap;
     flass-cant  = dstipmap;
     flass-cant  = dstipmap;
-    descrip     = "Rewrite IP addresses using pseudo-NAT";
+    descrip     = "Rewrite IPv4/v6 addresses using pseudo-NAT";
     doc         = <<- EOText
     doc         = <<- EOText
 Takes a comma delimited series of colon delimited CIDR
 Takes a comma delimited series of colon delimited CIDR
 netblock pairs.  Each netblock pair is evaluated in order against
 netblock pairs.  Each netblock pair is evaluated in order against
@@ -52,10 +52,14 @@ the IP addresses.  If the IP address in the packet matches the
 first netblock, it is rewriten using the second netblock as a
 first netblock, it is rewriten using the second netblock as a
 mask against the high order bits.
 mask against the high order bits.
 
 
-Example:
+IPv4 Example:
 @example
 @example
 --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
 --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
 @end example
 @end example
+IPv6 Example:
+@example
+--pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]
+@end example
 EOText; 
 EOText; 
 };
 };
 
 
@@ -65,10 +69,10 @@ flag = {
     arg-type    = string;
     arg-type    = string;
     max         = 1;
     max         = 1;
     flags-cant  = pnat;
     flags-cant  = pnat;
-    descrip     = "Rewrite source IP addresses using pseudo-NAT";
+    descrip     = "Rewrite source IPv4/v6 addresses using pseudo-NAT";
     doc         = <<- EOText
     doc         = <<- EOText
 Works just like the --pnat option, but only affects the source IP
 Works just like the --pnat option, but only affects the source IP
-addresses in the IPv4 header.
+addresses in the IPv4/v6 header.
 EOText;
 EOText;
 };
 };
 
 
@@ -78,10 +82,10 @@ flag = {
     arg-type    = string;
     arg-type    = string;
     max         = 1;
     max         = 1;
     flags-cant  = pnat;
     flags-cant  = pnat;
-    descrip     = "Rewrite destination IP addresses using pseudo-NAT";
+    descrip     = "Rewrite destination IPv4/v6 addresses using pseudo-NAT";
     doc         = <<- EOText
     doc         = <<- EOText
 Works just like the --pnat option, but only affects the destination IP
 Works just like the --pnat option, but only affects the destination IP
-addresses in the IPv4 header.
+addresses in the IPv4/v6 header.
 EOText;
 EOText;
 };
 };
 
 
@@ -95,33 +99,38 @@ flag = {
     flags-must  = cachefile;
     flags-must  = cachefile;
     descrip     = "Rewrite IP addresses to be between two endpoints";
     descrip     = "Rewrite IP addresses to be between two endpoints";
     doc         = <<- EOText
     doc         = <<- EOText
-Takes a pair of colon delimited IP addresses which will be used to rewrite
+Takes a pair of colon delimited IPv4/v6 addresses which will be used to rewrite
 all traffic to appear to be between the two IP's.
 all traffic to appear to be between the two IP's.
 
 
-Example:
+IPv4 Example:
 @example
 @example
 --endpoints=172.16.0.1:172.16.0.2
 --endpoints=172.16.0.1:172.16.0.2
 @end example
 @end example
+IPv6 Example:
+@example
+--endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]
+@end example
+
 EOText;
 EOText;
 };
 };
 
 
 flag = {
 flag = {
 	name		= skipbroadcast;
 	name		= skipbroadcast;
 	value		= b;
 	value		= b;
-	descrip		= "Skip rewriting broadcast/multicast IP's";
+	descrip		= "Skip rewriting broadcast/multicast IPv4/v6 addresses";
 	doc			= <<- EOText
 	doc			= <<- EOText
 By default --seed, --pnat and --endpoints will rewrite 
 By default --seed, --pnat and --endpoints will rewrite 
-broadcast and multicast IP and MAC addresses.	Setting this flag
-will keep broadcast/multicast IP and MAC addresses from being rewritten.
+broadcast and multicast IPv4/v6 and MAC addresses.	Setting this flag
+will keep broadcast/multicast IPv4/v6 and MAC addresses from being rewritten.
 EOText;
 EOText;
 };
 };
 
 
 flag = {
 flag = {
     name        = fixcsum;
     name        = fixcsum;
     value       = C;
     value       = C;
-    descrip     = "Force recalculation of IP/TCP/UDP checksums";
+    descrip     = "Force recalculation of IPv4/TCP/UDP header checksums";
     doc         = <<- EOText
     doc         = <<- EOText
-Causes each IP packet to have it's checksums recalcualted and
+Causes each IPv4/v6 packet to have it's checksums recalcualted and
 fixed.  Automatically enabled for packets modified with @samp{--seed}, 
 fixed.  Automatically enabled for packets modified with @samp{--seed}, 
 @samp{--pnat}, @samp{--endpoints} or @samp{--fixlen}.
 @samp{--pnat}, @samp{--endpoints} or @samp{--fixlen}.
 EOText;
 EOText;
@@ -165,10 +174,10 @@ EOText;
 
 
 flag = {
 flag = {
     name        = ttl;
     name        = ttl;
-    descrip     = "Modify the IPv4 TTL";
+    descrip     = "Modify the IPv4/v6 TTL/Hop Limit";
     arg-type    = string;
     arg-type    = string;
     doc         = <<- EOText
     doc         = <<- EOText
-Allows you to modify the TTL of all the IPv4 packets.  Specify a number to hard-code
+Allows you to modify the TTL/Hop Limit of all the IPv4/v6 packets.  Specify a number to hard-code
 the value or +/-value to increase or decrease by the value provided (limited to 1-255).    
 the value or +/-value to increase or decrease by the value provided (limited to 1-255).    
 
 
 Examples:
 Examples:
@@ -187,7 +196,30 @@ flag = {
     arg-range   = "0->255";
     arg-range   = "0->255";
     max         = 1;
     max         = 1;
     doc         = <<- EOText
     doc         = <<- EOText
-Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4 packets.    
+Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4.
+EOText;
+};
+
+flag = {
+    name        = tclass;
+    descrip     = "Set the IPv6 Traffic Class byte";
+    arg-type    = number;
+    arg-range   = "0->255";
+    max         = 1;
+    doc         = <<- EOText
+Allows you to override the IPv6 Traffic Class field.
+EOText;
+};
+
+flag = {
+    name        = flowlabel;
+    descrip     = "Set the IPv6 Flow Label";
+    arg-type    = number;
+    arg-range   = "0->1048575";
+    max         = 1;
+    doc         = <<- EOText
+Allows you to override the 20bit IPv6 Flow Label field.  Has no effect on IPv4 
+packets.
 EOText;
 EOText;
 };
 };
 
 
@@ -200,7 +232,7 @@ flag = {
     doc         = <<- EOText
     doc         = <<- EOText
 Packets may be truncated during capture if the snaplen is smaller then the
 Packets may be truncated during capture if the snaplen is smaller then the
 packet.  This option allows you to modify the packet to pad the packet back
 packet.  This option allows you to modify the packet to pad the packet back
-out to the size stored in the IPv4 header or rewrite the IP header total length
+out to the size stored in the IPv4/v6 header or rewrite the IP header total length
 to reflect the stored packet length.
 to reflect the stored packet length.
 @table @bullet
 @table @bullet
 @item
 @item

+ 33 - 27
src/tcpedit/tcpedit_stub.h

@@ -2,7 +2,7 @@
  *  
  *  
  *  DO NOT EDIT THIS FILE   (tcpedit_stub.h)
  *  DO NOT EDIT THIS FILE   (tcpedit_stub.h)
  *  
  *  
- *  It has been AutoGen-ed  Tuesday February 17, 2009 at 06:26:43 PM PST
+ *  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:12 PM PDT
  *  From the definitions    tcpedit_stub.def
  *  From the definitions    tcpedit_stub.def
  *  and the template file   options
  *  and the template file   options
  *
  *
@@ -45,23 +45,25 @@ typedef enum {
         INDEX_OPT_EFCS             = 11,
         INDEX_OPT_EFCS             = 11,
         INDEX_OPT_TTL              = 12,
         INDEX_OPT_TTL              = 12,
         INDEX_OPT_TOS              = 13,
         INDEX_OPT_TOS              = 13,
-        INDEX_OPT_FIXLEN           = 14,
-        INDEX_OPT_SKIPL2BROADCAST  = 15,
-        INDEX_OPT_DLT              = 16,
-        INDEX_OPT_ENET_DMAC        = 17,
-        INDEX_OPT_ENET_SMAC        = 18,
-        INDEX_OPT_ENET_VLAN        = 19,
-        INDEX_OPT_ENET_VLAN_TAG    = 20,
-        INDEX_OPT_ENET_VLAN_CFI    = 21,
-        INDEX_OPT_ENET_VLAN_PRI    = 22,
-        INDEX_OPT_HDLC_CONTROL     = 23,
-        INDEX_OPT_HDLC_ADDRESS     = 24,
-        INDEX_OPT_USER_DLT         = 25,
-        INDEX_OPT_USER_DLINK       = 26,
+        INDEX_OPT_TCLASS           = 14,
+        INDEX_OPT_FLOWLABEL        = 15,
+        INDEX_OPT_FIXLEN           = 16,
+        INDEX_OPT_SKIPL2BROADCAST  = 17,
+        INDEX_OPT_DLT              = 18,
+        INDEX_OPT_ENET_DMAC        = 19,
+        INDEX_OPT_ENET_SMAC        = 20,
+        INDEX_OPT_ENET_VLAN        = 21,
+        INDEX_OPT_ENET_VLAN_TAG    = 22,
+        INDEX_OPT_ENET_VLAN_CFI    = 23,
+        INDEX_OPT_ENET_VLAN_PRI    = 24,
+        INDEX_OPT_HDLC_CONTROL     = 25,
+        INDEX_OPT_HDLC_ADDRESS     = 26,
+        INDEX_OPT_USER_DLT         = 27,
+        INDEX_OPT_USER_DLINK       = 28,
         LIBRARY_OPTION_COUNT
         LIBRARY_OPTION_COUNT
 } teOptIndex;
 } teOptIndex;
 
 
-#define OPTION_CT    27
+#define OPTION_CT    29
 
 
 /*
 /*
  *  Interface defines for all options.  Replace "n" with the UPPER_CASED
  *  Interface defines for all options.  Replace "n" with the UPPER_CASED
@@ -107,25 +109,29 @@ extern tOptDesc * const tcpedit_tcpedit_optDesc_p;
 #define VALUE_OPT_TTL            12
 #define VALUE_OPT_TTL            12
 #define VALUE_OPT_TOS            13
 #define VALUE_OPT_TOS            13
 #define OPT_VALUE_TOS            (DESC(TOS).optArg.argInt)
 #define OPT_VALUE_TOS            (DESC(TOS).optArg.argInt)
+#define VALUE_OPT_TCLASS         14
+#define OPT_VALUE_TCLASS         (DESC(TCLASS).optArg.argInt)
+#define VALUE_OPT_FLOWLABEL      15
+#define OPT_VALUE_FLOWLABEL      (DESC(FLOWLABEL).optArg.argInt)
 #define VALUE_OPT_FIXLEN         'F'
 #define VALUE_OPT_FIXLEN         'F'
-#define VALUE_OPT_SKIPL2BROADCAST 15
-#define VALUE_OPT_DLT            16
-#define VALUE_OPT_ENET_DMAC      17
-#define VALUE_OPT_ENET_SMAC      18
-#define VALUE_OPT_ENET_VLAN      19
-#define VALUE_OPT_ENET_VLAN_TAG  20
+#define VALUE_OPT_SKIPL2BROADCAST 17
+#define VALUE_OPT_DLT            18
+#define VALUE_OPT_ENET_DMAC      19
+#define VALUE_OPT_ENET_SMAC      20
+#define VALUE_OPT_ENET_VLAN      21
+#define VALUE_OPT_ENET_VLAN_TAG  22
 #define OPT_VALUE_ENET_VLAN_TAG  (DESC(ENET_VLAN_TAG).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_TAG  (DESC(ENET_VLAN_TAG).optArg.argInt)
-#define VALUE_OPT_ENET_VLAN_CFI  21
+#define VALUE_OPT_ENET_VLAN_CFI  23
 #define OPT_VALUE_ENET_VLAN_CFI  (DESC(ENET_VLAN_CFI).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_CFI  (DESC(ENET_VLAN_CFI).optArg.argInt)
-#define VALUE_OPT_ENET_VLAN_PRI  22
+#define VALUE_OPT_ENET_VLAN_PRI  24
 #define OPT_VALUE_ENET_VLAN_PRI  (DESC(ENET_VLAN_PRI).optArg.argInt)
 #define OPT_VALUE_ENET_VLAN_PRI  (DESC(ENET_VLAN_PRI).optArg.argInt)
-#define VALUE_OPT_HDLC_CONTROL   23
+#define VALUE_OPT_HDLC_CONTROL   25
 #define OPT_VALUE_HDLC_CONTROL   (DESC(HDLC_CONTROL).optArg.argInt)
 #define OPT_VALUE_HDLC_CONTROL   (DESC(HDLC_CONTROL).optArg.argInt)
-#define VALUE_OPT_HDLC_ADDRESS   24
+#define VALUE_OPT_HDLC_ADDRESS   26
 #define OPT_VALUE_HDLC_ADDRESS   (DESC(HDLC_ADDRESS).optArg.argInt)
 #define OPT_VALUE_HDLC_ADDRESS   (DESC(HDLC_ADDRESS).optArg.argInt)
-#define VALUE_OPT_USER_DLT       25
+#define VALUE_OPT_USER_DLT       27
 #define OPT_VALUE_USER_DLT       (DESC(USER_DLT).optArg.argInt)
 #define OPT_VALUE_USER_DLT       (DESC(USER_DLT).optArg.argInt)
-#define VALUE_OPT_USER_DLINK     26
+#define VALUE_OPT_USER_DLINK     28
 #define VALUE_OPT_HELP          '?'
 #define VALUE_OPT_HELP          '?'
 #define VALUE_OPT_MORE_HELP     '!'
 #define VALUE_OPT_MORE_HELP     '!'
 /* extracted from /usr/local/share/autogen/opthead.tpl near line 415 */
 /* extracted from /usr/local/share/autogen/opthead.tpl near line 415 */

+ 21 - 12
src/tcpprep.1

@@ -1,7 +1,7 @@
-.TH TCPPREP 1 2009-01-18 "(tcpprep )" "Programmer's Manual"
+.TH TCPPREP 1 2009-06-25 "(tcpprep )" "Programmer's Manual"
 .\"  DO NOT EDIT THIS FILE   (tcpprep.1)
 .\"  DO NOT EDIT THIS FILE   (tcpprep.1)
 .\"  
 .\"  
-.\"  It has been AutoGen-ed  Sunday January 18, 2009 at 10:08:32 AM PST
+.\"  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:11 PM PDT
 .\"  From the definitions    tcpprep_opts.def
 .\"  From the definitions    tcpprep_opts.def
 .\"  and the template file   agman1.tpl
 .\"  and the template file   agman1.tpl
 .\"
 .\"
@@ -97,6 +97,15 @@ auto, port, regex, mac.
 Specify a comma delimited list of CIDR netblocks to match against
 Specify a comma delimited list of CIDR netblocks to match against
 the source IP of each packet.  Packets matching any of the CIDR's
 the source IP of each packet.  Packets matching any of the CIDR's
 are classified as servers.
 are classified as servers.
+
+IPv4 Example:
+.nf
+    \--cidr=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
+.fi
+IPv6 Example:
+.nf
+    \--cidr=[::ffff:0:0/96],[fe80::/16]
+.fi
 .TP
 .TP
 .BR \-r " \fIstring\fP, " \--regex "=" \fIstring\fP
 .BR \-r " \fIstring\fP, " \--regex "=" \fIstring\fP
 Regex-split mode.
 Regex-split mode.
@@ -113,8 +122,8 @@ This option may appear up to 1 times.
 This option must not appear in combination with any of the following options:
 This option must not appear in combination with any of the following options:
 auto, regex, cidr, mac.
 auto, regex, cidr, mac.
 .sp
 .sp
-Specifies that TCP and UDP traffic should be classified as client
-or server based upon the destination port of the header.
+Specifies that TCP and UDP traffic over IPv4 and IPv6 should be classified 
+as client or server based upon the destination port of the header.
 .TP
 .TP
 .BR \-e " \fIstring\fP, " \--mac "=" \fIstring\fP
 .BR \-e " \fIstring\fP, " \--mac "=" \fIstring\fP
 Source MAC split mode.
 Source MAC split mode.
@@ -161,16 +170,16 @@ send/edit packets which match the provided rule.  Rules can be one of:
 
 
 .sp
 .sp
 .IR "S:<CIDR1>,... "
 .IR "S:<CIDR1>,... "
-- Source IP must match specified CIDR(s)
+- Source IP must match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "D:<CIDR1>,... "
 .IR "D:<CIDR1>,... "
-- Destination IP must match specified CIDR(s)
+- Destination IP must match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "B:<CIDR1>,... "
 .IR "B:<CIDR1>,... "
-- Both source and destination IP must match specified CIDR(s)
+- Both source and destination IP must match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "E:<CIDR1>,... "
 .IR "E:<CIDR1>,... "
-- Either IP must match specified CIDR(s)
+- Either IP must match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "P:<LIST>      "
 .IR "P:<LIST>      "
 - Must be one of the listed packets where the list
 - Must be one of the listed packets where the list
@@ -196,16 +205,16 @@ send/edit packets which do NOT match the provided rule.  Rules can be one of:
 
 
 .sp
 .sp
 .IR "S:<CIDR1>,... "
 .IR "S:<CIDR1>,... "
-- Source IP must not match specified CIDR(s)
+- Source IP must not match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "D:<CIDR1>,... "
 .IR "D:<CIDR1>,... "
-- Destination IP must not match specified CIDR(s)
+- Destination IP must not match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "B:<CIDR1>,... "
 .IR "B:<CIDR1>,... "
-- Both source and destination IP must not match specified CIDR(s)
+- Both source and destination IP must not match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "E:<CIDR1>,... "
 .IR "E:<CIDR1>,... "
-- Either IP must not match specified CIDR(s)
+- Either IP must not match specified IPv4/v6 CIDR(s)
 .sp
 .sp
 .IR "P:<LIST>      "
 .IR "P:<LIST>      "
 - Must not be one of the listed packets where the list
 - Must not be one of the listed packets where the list

+ 139 - 53
src/tcpprep.c

@@ -1,4 +1,4 @@
-/* $Id: tcpprep.c 2169 2009-01-21 20:07:02Z aturner $ */
+/* $Id: tcpprep.c 2302 2009-05-06 18:41:29Z aturner $ */
 
 
 /*
 /*
  * Copyright (c) 2001-2007 Aaron Turner.
  * Copyright (c) 2001-2007 Aaron Turner.
@@ -85,9 +85,10 @@ static void post_args(int, char *[]);
 static void print_comment(const char *);
 static void print_comment(const char *);
 static void print_info(const char *);
 static void print_info(const char *);
 static void print_stats(const char *);
 static void print_stats(const char *);
-static int check_ip_regex(const unsigned long ip);
+static int check_ipv4_regex(const unsigned long ip);
+static int check_ipv6_regex(const struct tcpr_in6_addr *addr);
 static COUNTER process_raw_packets(pcap_t * pcap);
 static COUNTER process_raw_packets(pcap_t * pcap);
-static int check_dst_port(ipv4_hdr_t *ip_hdr, int len);
+static int check_dst_port(ipv4_hdr_t *ip_hdr, ipv6_hdr_t *ip6_hdr, int len);
 
 
 
 
 /*
 /*
@@ -213,21 +214,36 @@ main(int argc, char *argv[])
  * returns 1 for true, 0 for false
  * returns 1 for true, 0 for false
  */
  */
 static int 
 static int 
-check_dst_port(ipv4_hdr_t *ip_hdr, int len)
+check_dst_port(ipv4_hdr_t *ip_hdr, ipv6_hdr_t *ip6_hdr, int len)
 {
 {
     tcp_hdr_t *tcp_hdr = NULL;
     tcp_hdr_t *tcp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
     udp_hdr_t *udp_hdr = NULL;
-
-    assert(ip_hdr);
-
-    if (len < ((ip_hdr->ip_hl * 4) + 4))
-        return 0; /* not enough data in the packet to know */
-
+    u_char proto;
+    u_char *l4;
+
+    if (ip_hdr) {
+        if (len < ((ip_hdr->ip_hl * 4) + 4))
+            return 0; /* not enough data in the packet to know */
+
+        proto = ip_hdr->ip_p;
+        l4 = get_layer4_v4(ip_hdr);
+    } else if (ip6_hdr) {
+        if (len < (TCPR_IPV6_H + 4))
+            return 0; /* not enough data in the packet to know */
+
+        proto = get_ipv6_l4proto(ip6_hdr);
+        dbgx(3, "Our layer4 proto is 0x%hhu", proto);
+        l4 = get_layer4_v6(ip6_hdr);
+        
+        dbgx(3, "Found proto %u at offset %p.  base %p (%u)", proto, (void *)l4, (void *)ip6_hdr, (l4 - (u_char *)ip6_hdr));
+    } else {
+        assert(0);
+    }
 
 
     dbg(3, "Checking the destination port...");
     dbg(3, "Checking the destination port...");
 
 
-    if (ip_hdr->ip_p == IPPROTO_TCP) {
-        tcp_hdr = (tcp_hdr_t *)get_layer4(ip_hdr);
+    if (proto == IPPROTO_TCP) {
+        tcp_hdr = (tcp_hdr_t *)l4;
 
 
         /* is a service? */
         /* is a service? */
         if (options.services.tcp[ntohs(tcp_hdr->th_dport)]) {
         if (options.services.tcp[ntohs(tcp_hdr->th_dport)]) {
@@ -238,8 +254,8 @@ check_dst_port(ipv4_hdr_t *ip_hdr, int len)
         /* nope */
         /* nope */
         dbgx(1, "TCP packet is NOT destined for a server port: %d", ntohs(tcp_hdr->th_dport));
         dbgx(1, "TCP packet is NOT destined for a server port: %d", ntohs(tcp_hdr->th_dport));
         return 0;
         return 0;
-    } else if (ip_hdr->ip_p == IPPROTO_UDP) {
-        udp_hdr = (udp_hdr_t *)get_layer4(ip_hdr);
+    } else if (proto == IPPROTO_UDP) {
+        udp_hdr = (udp_hdr_t *)l4;
 
 
         /* is a service? */
         /* is a service? */
         if (options.services.udp[ntohs(udp_hdr->uh_dport)]) {
         if (options.services.udp[ntohs(udp_hdr->uh_dport)]) {
@@ -264,7 +280,7 @@ check_dst_port(ipv4_hdr_t *ip_hdr, int len)
  * 0 for false
  * 0 for false
  */
  */
 static int
 static int
-check_ip_regex(const unsigned long ip)
+check_ipv4_regex(const unsigned long ip)
 {
 {
     int eflags = 0;
     int eflags = 0;
     u_char src_ip[16];
     u_char src_ip[16];
@@ -275,14 +291,30 @@ check_ip_regex(const unsigned long ip)
     strlcpy((char *)src_ip, (char *)get_addr2name4(ip, RESOLVE),
     strlcpy((char *)src_ip, (char *)get_addr2name4(ip, RESOLVE),
             sizeof(src_ip));
             sizeof(src_ip));
     if (regexec(&options.preg, (char *)src_ip, nmatch, pmatch, eflags) == 0) {
     if (regexec(&options.preg, (char *)src_ip, nmatch, pmatch, eflags) == 0) {
-        return (1);
-    }
-    else {
-        return (0);
+        return 1;
+    } else {
+        return 0;
     }
     }
 
 
 }
 }
 
 
+static int
+check_ipv6_regex(const struct tcpr_in6_addr *addr)
+{
+    int eflags = 0;
+    u_char src_ip[INET6_ADDRSTRLEN];
+    size_t nmatch = 0;
+    regmatch_t *pmatch = NULL;
+
+    memset(src_ip, '\0', 16);
+    strlcpy((char *)src_ip, (char *)get_addr2name6(addr, RESOLVE), sizeof(src_ip));
+    if (regexec(&options.preg, (char *)src_ip, nmatch, pmatch, eflags) == 0) {
+        return 1;
+    } else {
+        return 0;
+    }
+}
+
 /**
 /**
  * uses libpcap library to parse the packets and build
  * uses libpcap library to parse the packets and build
  * the cache file.
  * the cache file.
@@ -291,6 +323,7 @@ static COUNTER
 process_raw_packets(pcap_t * pcap)
 process_raw_packets(pcap_t * pcap)
 {
 {
     ipv4_hdr_t *ip_hdr = NULL;
     ipv4_hdr_t *ip_hdr = NULL;
+    ipv6_hdr_t *ip6_hdr = NULL;
     eth_hdr_t *eth_hdr = NULL;
     eth_hdr_t *eth_hdr = NULL;
     struct pcap_pkthdr pkthdr;
     struct pcap_pkthdr pkthdr;
     const u_char *pktdata = NULL;
     const u_char *pktdata = NULL;
@@ -337,14 +370,27 @@ process_raw_packets(pcap_t * pcap)
         eth_hdr = (eth_hdr_t *)pktdata;
         eth_hdr = (eth_hdr_t *)pktdata;
 
 
         if (options.mode != MAC_MODE) {
         if (options.mode != MAC_MODE) {
-
+            dbg(3, "Looking for IPv4/v6 header in non-MAC mode");
+            
             /* get the IP header (if any) */
             /* get the IP header (if any) */
             buffptr = ipbuff;
             buffptr = ipbuff;
-            ip_hdr = (ipv4_hdr_t *)get_ipv4(pktdata, pkthdr.caplen, 
-                    pcap_datalink(pcap), &buffptr);
-        
-            if (ip_hdr == NULL) {
-                dbg(2, "Packet isn't IP");
+    
+            /* first look for IPv4 */
+            if ((ip_hdr = (ipv4_hdr_t *)get_ipv4(pktdata, pkthdr.caplen, 
+                    pcap_datalink(pcap), &buffptr))) {
+                dbg(2, "Packet is IPv4");
+                    
+            } 
+            
+            /* then look for IPv6 */
+            else if ((ip6_hdr = (ipv6_hdr_t *)get_ipv6(pktdata, pkthdr.caplen,
+                    pcap_datalink(pcap), &buffptr))) {
+                dbg(2, "Packet is IPv6");    
+            } 
+            
+            /* we're something else... */
+            else {
+                dbg(2, "Packet isn't IPv4/v6");
 
 
                 /* we don't want to cache these packets twice */
                 /* we don't want to cache these packets twice */
                 if (options.mode != AUTO_MODE) {
                 if (options.mode != AUTO_MODE) {
@@ -352,16 +398,24 @@ process_raw_packets(pcap_t * pcap)
                     add_cache(&options.cachedata, SEND, options.nonip);
                     add_cache(&options.cachedata, SEND, options.nonip);
                 }
                 }
 
 
+                /* go to next packet */
                 continue;
                 continue;
             }
             }
-        
+    
             l2len = get_l2len(pktdata, pkthdr.caplen, pcap_datalink(pcap));
             l2len = get_l2len(pktdata, pkthdr.caplen, pcap_datalink(pcap));
 
 
             /* look for include or exclude CIDR match */
             /* look for include or exclude CIDR match */
             if (options.xX.cidr != NULL) {
             if (options.xX.cidr != NULL) {
-                if (!process_xX_by_cidr(options.xX.mode, options.xX.cidr, ip_hdr)) {
-                    add_cache(&options.cachedata, DONT_SEND, 0);
-                    continue;
+                if (ip_hdr) {
+                    if (!process_xX_by_cidr_ipv4(options.xX.mode, options.xX.cidr, ip_hdr)) {
+                        add_cache(&options.cachedata, DONT_SEND, 0);
+                        continue;
+                    }
+                } else if (ip6_hdr) {
+                    if (!process_xX_by_cidr_ipv6(options.xX.mode, options.xX.cidr, ip6_hdr)) {
+                        add_cache(&options.cachedata, DONT_SEND, 0);
+                        continue;
+                    }
                 }
                 }
             }
             }
         }
         }
@@ -369,7 +423,11 @@ process_raw_packets(pcap_t * pcap)
         switch (options.mode) {
         switch (options.mode) {
         case REGEX_MODE:
         case REGEX_MODE:
             dbg(2, "processing regex mode...");
             dbg(2, "processing regex mode...");
-            direction = check_ip_regex(ip_hdr->ip_src.s_addr);
+            if (ip_hdr) {
+                direction = check_ipv4_regex(ip_hdr->ip_src.s_addr);
+            } else if (ip6_hdr) {
+                direction = check_ipv6_regex(&ip6_hdr->ip_src);
+            }
 
 
             /* reverse direction? */
             /* reverse direction? */
             if (HAVE_OPT(REVERSE) && (direction == TCPR_DIR_C2S || direction == TCPR_DIR_S2C))
             if (HAVE_OPT(REVERSE) && (direction == TCPR_DIR_C2S || direction == TCPR_DIR_S2C))
@@ -380,7 +438,11 @@ process_raw_packets(pcap_t * pcap)
 
 
         case CIDR_MODE:
         case CIDR_MODE:
             dbg(2, "processing cidr mode...");
             dbg(2, "processing cidr mode...");
-            direction = check_ip_cidr(options.cidrdata, ip_hdr->ip_src.s_addr) ? TCPR_DIR_C2S : TCPR_DIR_S2C;
+            if (ip_hdr) {
+                direction = check_ip_cidr(options.cidrdata, ip_hdr->ip_src.s_addr) ? TCPR_DIR_C2S : TCPR_DIR_S2C;
+            } else if (ip6_hdr) {
+                direction = check_ip6_cidr(options.cidrdata, &ip6_hdr->ip_src) ? TCPR_DIR_C2S : TCPR_DIR_S2C;
+            }
 
 
             /* reverse direction? */
             /* reverse direction? */
             if (HAVE_OPT(REVERSE) && (direction == TCPR_DIR_C2S || direction == TCPR_DIR_S2C))
             if (HAVE_OPT(REVERSE) && (direction == TCPR_DIR_C2S || direction == TCPR_DIR_S2C))
@@ -404,9 +466,17 @@ process_raw_packets(pcap_t * pcap)
             dbg(2, "processing first pass of auto mode...");
             dbg(2, "processing first pass of auto mode...");
             /* first run through in auto mode: create tree */
             /* first run through in auto mode: create tree */
             if (options.automode != FIRST_MODE) {
             if (options.automode != FIRST_MODE) {
-                add_tree(ip_hdr->ip_src.s_addr, pktdata);
+                if (ip_hdr) {
+                    add_tree_ipv4(ip_hdr->ip_src.s_addr, pktdata);
+                } else if (ip6_hdr) {
+                    add_tree_ipv6(&ip6_hdr->ip_src, pktdata);
+                }
             } else {
             } else {
-                add_tree_first(pktdata);
+                if (ip_hdr) {
+                    add_tree_first_ipv4(pktdata);
+                } else if (ip6_hdr) {
+                    add_tree_first_ipv6(pktdata);
+                }
             }  
             }  
             break;
             break;
 
 
@@ -416,8 +486,13 @@ process_raw_packets(pcap_t * pcap)
              * based cache
              * based cache
              */
              */
             dbg(2, "processing second pass of auto: router mode...");
             dbg(2, "processing second pass of auto: router mode...");
-            cache_result = add_cache(&options.cachedata, SEND,
-                check_ip_tree(options.nonip, ip_hdr->ip_src.s_addr));
+            if (ip_hdr) {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip_tree(options.nonip, ip_hdr->ip_src.s_addr));
+            } else {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip6_tree(options.nonip, &ip6_hdr->ip_src));
+            }
             break;
             break;
 
 
         case BRIDGE_MODE:
         case BRIDGE_MODE:
@@ -426,8 +501,13 @@ process_raw_packets(pcap_t * pcap)
              * based cache
              * based cache
              */
              */
             dbg(2, "processing second pass of auto: bridge mode...");
             dbg(2, "processing second pass of auto: bridge mode...");
-            cache_result = add_cache(&options.cachedata, SEND,
-                check_ip_tree(DIR_UNKNOWN, ip_hdr->ip_src.s_addr));
+            if (ip_hdr) {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip_tree(DIR_UNKNOWN, ip_hdr->ip_src.s_addr));
+            } else {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip6_tree(DIR_UNKNOWN, &ip6_hdr->ip_src));
+            }
             break;
             break;
 
 
         case SERVER_MODE:
         case SERVER_MODE:
@@ -436,8 +516,13 @@ process_raw_packets(pcap_t * pcap)
              * where unknowns are servers
              * where unknowns are servers
              */
              */
             dbg(2, "processing second pass of auto: server mode...");
             dbg(2, "processing second pass of auto: server mode...");
-            cache_result = add_cache(&options.cachedata, SEND,
-                check_ip_tree(DIR_SERVER, ip_hdr->ip_src.s_addr));
+            if (ip_hdr) {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip_tree(DIR_SERVER, ip_hdr->ip_src.s_addr));
+            } else {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip6_tree(DIR_SERVER, &ip6_hdr->ip_src));
+            }
             break;
             break;
 
 
         case CLIENT_MODE:
         case CLIENT_MODE:
@@ -446,8 +531,13 @@ process_raw_packets(pcap_t * pcap)
              * where unknowns are clients
              * where unknowns are clients
              */
              */
             dbg(2, "processing second pass of auto: client mode...");
             dbg(2, "processing second pass of auto: client mode...");
-            cache_result = add_cache(&options.cachedata, SEND,
-                check_ip_tree(DIR_CLIENT, ip_hdr->ip_src.s_addr));
+            if (ip_hdr) {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip_tree(DIR_CLIENT, ip_hdr->ip_src.s_addr));
+            } else {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip6_tree(DIR_CLIENT, &ip6_hdr->ip_src));
+            }
             break;
             break;
 
 
         case PORT_MODE:
         case PORT_MODE:
@@ -456,7 +546,7 @@ process_raw_packets(pcap_t * pcap)
              */
              */
             dbg(2, "processing port mode...");
             dbg(2, "processing port mode...");
             cache_result = add_cache(&options.cachedata, SEND, 
             cache_result = add_cache(&options.cachedata, SEND, 
-                check_dst_port(ip_hdr, (pkthdr.caplen - l2len)));
+                check_dst_port(ip_hdr, ip6_hdr, (pkthdr.caplen - l2len)));
             break;
             break;
 
 
         case FIRST_MODE:
         case FIRST_MODE:
@@ -465,8 +555,13 @@ process_raw_packets(pcap_t * pcap)
              * by the ones which send the first packet in a session
              * by the ones which send the first packet in a session
              */
              */
             dbg(2, "processing second pass of auto: first packet mode...");
             dbg(2, "processing second pass of auto: first packet mode...");
-            cache_result = add_cache(&options.cachedata, SEND,
-                check_ip_tree(DIR_UNKNOWN, ip_hdr->ip_src.s_addr));
+            if (ip_hdr) {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip_tree(DIR_UNKNOWN, ip_hdr->ip_src.s_addr));
+            } else {
+                cache_result = add_cache(&options.cachedata, SEND,
+                    check_ip6_tree(DIR_UNKNOWN, &ip6_hdr->ip_src));
+            }
             break;
             break;
             
             
         default:
         default:
@@ -685,12 +780,3 @@ print_stats(const char *file)
     printf("Total packets:\t\t" COUNTER_SPEC "\n", count);
     printf("Total packets:\t\t" COUNTER_SPEC "\n", count);
     exit(0);
     exit(0);
 }
 }
-
-/*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:4
- End:
-*/
-

+ 12 - 12
src/tcpprep_opts.c

@@ -2,7 +2,7 @@
  *  
  *  
  *  DO NOT EDIT THIS FILE   (tcpprep_opts.c)
  *  DO NOT EDIT THIS FILE   (tcpprep_opts.c)
  *  
  *  
- *  It has been AutoGen-ed  Sunday January 18, 2009 at 10:08:06 AM PST
+ *  It has been AutoGen-ed  Thursday June 25, 2009 at 12:25:10 PM PDT
  *  From the definitions    tcpprep_opts.def
  *  From the definitions    tcpprep_opts.def
  *  and the template file   options
  *  and the template file   options
  *
  *
@@ -1028,7 +1028,7 @@ doOptCidr(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptRegex(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptRegex(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 187 */
+    /* extracted from tcpprep_opts.def, line 196 */
     
     
     int regex_error;
     int regex_error;
     char ebuf[EBUF_SIZE];
     char ebuf[EBUF_SIZE];
@@ -1049,7 +1049,7 @@ doOptRegex(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptPort(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptPort(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 215 */
+    /* extracted from tcpprep_opts.def, line 224 */
     
     
     options.mode = PORT_MODE;
     options.mode = PORT_MODE;
     
     
@@ -1062,7 +1062,7 @@ doOptPort(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptMac(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptMac(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 236 */
+    /* extracted from tcpprep_opts.def, line 245 */
 
 
 options.mode = MAC_MODE;
 options.mode = MAC_MODE;
 options.maclist = safe_strdup(OPT_ARG(MAC));
 options.maclist = safe_strdup(OPT_ARG(MAC));
@@ -1077,7 +1077,7 @@ options.maclist = safe_strdup(OPT_ARG(MAC));
 static void
 static void
 doOptComment(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptComment(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 269 */
+    /* extracted from tcpprep_opts.def, line 278 */
 
 
     /* our comment_len is only 16bit - myargs[] */
     /* our comment_len is only 16bit - myargs[] */
     if (strlen(OPT_ARG(COMMENT)) > ((1 << 16) - 1 - MYARGS_LEN))
     if (strlen(OPT_ARG(COMMENT)) > ((1 << 16) - 1 - MYARGS_LEN))
@@ -1097,7 +1097,7 @@ doOptComment(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptNo_Arg_Comment(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptNo_Arg_Comment(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 291 */
+    /* extracted from tcpprep_opts.def, line 300 */
 
 
 options.nocomment = 1;
 options.nocomment = 1;
 }
 }
@@ -1109,7 +1109,7 @@ options.nocomment = 1;
 static void
 static void
 doOptInclude(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptInclude(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 311 */
+    /* extracted from tcpprep_opts.def, line 320 */
     
     
     char *include;
     char *include;
     
     
@@ -1130,7 +1130,7 @@ doOptInclude(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptExclude(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptExclude(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 358 */
+    /* extracted from tcpprep_opts.def, line 367 */
     
     
     char *exclude;
     char *exclude;
     
     
@@ -1151,7 +1151,7 @@ doOptExclude(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptServices(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptServices(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 455 */
+    /* extracted from tcpprep_opts.def, line 464 */
     parse_services(OPT_ARG(SERVICES), &options.services);
     parse_services(OPT_ARG(SERVICES), &options.services);
     
     
 }
 }
@@ -1163,7 +1163,7 @@ doOptServices(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptNonip(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptNonip(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 466 */
+    /* extracted from tcpprep_opts.def, line 475 */
  
  
     options.nonip = DIR_SERVER;
     options.nonip = DIR_SERVER;
     
     
@@ -1276,7 +1276,7 @@ doOptMaxmask(tOptions* pOptions, tOptDesc* pOptDesc)
 static void
 static void
 doOptVersion(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptVersion(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 567 */
+    /* extracted from tcpprep_opts.def, line 576 */
     
     
     fprintf(stderr, "tcpprep version: %s (build %s)", VERSION, svn_version());
     fprintf(stderr, "tcpprep version: %s (build %s)", VERSION, svn_version());
 #ifdef DEBUG
 #ifdef DEBUG
@@ -1316,7 +1316,7 @@ fprintf(stderr, "Compiled against winpcap: %s\n", get_pcap_version());
 static void
 static void
 doOptLess_Help(tOptions* pOptions, tOptDesc* pOptDesc)
 doOptLess_Help(tOptions* pOptions, tOptDesc* pOptDesc)
 {
 {
-    /* extracted from tcpprep_opts.def, line 607 */
+    /* extracted from tcpprep_opts.def, line 616 */
   
   
     USAGE(EXIT_FAILURE);
     USAGE(EXIT_FAILURE);
 
 

+ 0 - 0
src/tcpprep_opts.def


Some files were not shown because too many files changed in this diff