diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/autorun/Makefile v6eval-linux/bin/autorun/Makefile *** v6eval-3.0.12/bin/autorun/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/autorun/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,7 **** ! beforeinstall: ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ ! ${.CURDIR}/autorun.pl ${DESTDIR}${BINDIR}/autorun ! ! .include ! --- 1,4 ---- + SRC = autorun.pl + PROG = autorun ! include ../Makefile.scripts diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/checker/Makefile v6eval-linux/bin/checker/Makefile *** v6eval-3.0.12/bin/checker/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/checker/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,14 **** ! CXXFLAGS+= -I${Cm} -I${Pz} -I${pkt} -I/usr/local/include ! LDFLAGS+= -L${Cm} -L${Pz} -L${pkt} -L/usr/local/lib ! LDADD+= -lPkt -lPz -lCm -lcrypto ! SRCS= checker.cc ! PROG_CXX= $(SRCS:.cc=) ! PROG= ${PROG_CXX} ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! .include "../Makefile.inc" ! .include "bsd.prog.mk" ! ! $(PROG): ${Cm}/libCm.a ${Pz}/libPz.a ${pkt}/libPkt.a --- 1,4 ---- ! SRCS = checker.cc ! PROG = checker ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/dhcomp/Makefile v6eval-linux/bin/dhcomp/Makefile *** v6eval-3.0.12/bin/dhcomp/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/dhcomp/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,59 **** ! # ! # The Initial Developer of the Original Code is International Business ! # Machines Corporation. Portions created by IBM Corporation are ! # Copyright (C) 2003 International Business Machines Corporation. ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/dhcomp/Makefile,v 1.5 2006/08/31 01:57:53 akisada Exp $ ! # ! ###################################################################### ! CXXFLAGS+= -I/usr/local/include ! CXXFLAGS+= -DTAHI ! LDFLAGS += -L/usr/local/lib ! LDADD+= -lcrypto ! SRCS= dhcomp.cc ! PROG_CXX= $(SRCS:.cc=) ! PROG= ${PROG_CXX} ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! SRCS = dhcomp.cc ! PROG = dhcomp ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/dhgen/Makefile v6eval-linux/bin/dhgen/Makefile *** v6eval-3.0.12/bin/dhgen/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/dhgen/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,59 **** ! # ! # The Initial Developer of the Original Code is International Business ! # Machines Corporation. Portions created by IBM Corporation are ! # Copyright (C) 2003 International Business Machines Corporation. ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/dhgen/Makefile,v 1.5 2006/08/31 01:57:53 akisada Exp $ ! # ! ###################################################################### ! CXXFLAGS+= -I/usr/local/include ! CXXFLAGS+= -DTAHI ! LDFLAGS+= -L/usr/local/lib ! LDADD+= -lcrypto ! SRCS= dhgen.cc ! PROG_CXX= $(SRCS:.cc=) ! PROG= ${PROG_CXX} ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! SRCS = dhgen.cc ! PROG = dhgen ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/file2hex/Makefile v6eval-linux/bin/file2hex/Makefile *** v6eval-3.0.12/bin/file2hex/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/file2hex/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,55 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/file2hex/Makefile,v 1.2 2006/08/31 01:57:54 akisada Exp $ ! # ! ######################################################################## ! PROG= file2hex ! SRCS= file2hex.c ! CFLAGS+= -Wall -g ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! PROG= file2hex ! SRCS= file2hex.c ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/ivcomp/Makefile v6eval-linux/bin/ivcomp/Makefile *** v6eval-3.0.12/bin/ivcomp/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/ivcomp/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,56 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/ivcomp/Makefile,v 1.3 2006/08/31 01:57:54 akisada Exp $ ! # ! ######################################################################## ! PROG= ivcomp ! SRCS= ivcomp.c ! CFLAGS+= -Wall -g ! LDADD+= -lcrypto ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! PROG = ivcomp ! SRCS = ivcomp.c ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/Makefile v6eval-linux/bin/Makefile *** v6eval-3.0.12/bin/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/bin/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,4 **** ! SUBDIR=pktbuf pktctl pktsend pktrecv checker autorun pktlint remotes dhgen dhcomp prfcomp ivcomp x509dec sigcomp file2hex ! .MAIN: depend all ! .include --- 1,22 ---- ! SUBDIRS = pktbuf pktctl pktsend pktrecv checker autorun \ ! pktlint remotes dhgen dhcomp prfcomp ivcomp \ ! x509dec sigcomp file2hex ! .PHONY: all ${SUBDIRS} ! all: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir all; \ ! done ! ! .PHONY: clean ! clean: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir clean; \ ! done ! ! .PHONY: install ! install: ! install -d -o bin -g bin -m 755 ${PREFIX}/bin ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir install; \ ! done diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/Makefile.inc v6eval-linux/bin/Makefile.inc *** v6eval-3.0.12/bin/Makefile.inc 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/bin/Makefile.inc 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,14 **** ! BINDIR?= /usr/local/v6eval/bin ! MANDIR= /usr/local/v6eval/man/man ! l=../../lib ! Cm=$l/Cm ! Pz=$l/Pz ! pkt=$l/pkt ! DEBUG_FLAGS=-g -Wall -Woverloaded-virtual ! .if exists(/usr/local/v6/lib/libinet6.a) ! LDFLAGS += -L/usr/local/v6/lib ! LDADD += -linet6 ! .endif - .MAIN: depend all - beforedepend: cleandepend --- 1,30 ---- ! Cm = ../../lib/Cm/ ! Pz = ../../lib/Pz/ ! pkt = ../../lib/pkt/ ! CFLAGS += -pipe -g -fno-strict-aliasing ! CPPFLAGS += -I${Cm} -I${Pz} -I${pkt} ! CXXFLAGS+= ${CFLAGS} -Woverloaded-virtual ! LDFLAGS += -L${Cm} -L${Pz} -L${pkt} ! LDLIBS += -lPkt -lPz -lCm -lcrypto ! ! INSTALL = /usr/bin/install -c ! ! %: %.c ! $(CC) ${CPPFLAGS} ${CFLAGS} $^ ${LDFLAGS} ${LDLIBS} -o $@ ! ! %: %.cc ! $(CXX) ${CPPFLAGS} ${CXXFLAGS} $^ ${LDFLAGS} ${LDLIBS} -o $@ ! ! .PHONY: all ! all: ${PROG} ! ! ${PROG}: ${SRCS} ! ! .PHONY: install ! install: ${PROG} ! $(INSTALL) ${PROG} ${PREFIX}/bin/${PROG} ! ! .PHONY: clean ! clean: ! rm -f ${PROG} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/Makefile.scripts v6eval-linux/bin/Makefile.scripts *** v6eval-3.0.12/bin/Makefile.scripts 1969-12-31 17:00:00.000000000 -0700 --- v6eval-linux/bin/Makefile.scripts 2008-04-03 10:00:20.000000000 -0600 *************** *** 0 **** --- 1,16 ---- + INSTALL = /usr/bin/install -c + + .PHONY: all + all: ${PROG} + + ${PROG}: ${SRC} + cp ${SRC} ${PROG} + chmod +x ${PROG} + + .PHONY: install + install: ${PROG} + $(INSTALL) ${PROG} ${PREFIX}/bin/${PROG} + + .PHONY: clean + clean: + rm -f ${PROG} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/pktbuf/Makefile v6eval-linux/bin/pktbuf/Makefile *** v6eval-3.0.12/bin/pktbuf/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/pktbuf/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,14 **** ! CXXFLAGS+= -I${Cm} -I${Pz} -I${pkt} -I/usr/local/include ! LDFLAGS += -L${Cm} -L${Pz} -L${pkt} -L/usr/local/lib ! LDADD+= -lPkt -lPz -lCm -lcrypto ! SRCS= pktbuf.cc ! PROG_CXX= pktbuf ! PROG= ${PROG_CXX} ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! .include "../Makefile.inc" ! .include "bsd.prog.mk" ! ! $(PROG): ${Cm}/libCm.a ${Pz}/libPz.a ${pkt}/libPkt.a --- 1,4 ---- ! SRCS = pktbuf.cc ! PROG = pktbuf ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/pktctl/Makefile v6eval-linux/bin/pktctl/Makefile *** v6eval-3.0.12/bin/pktctl/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/pktctl/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,12 **** ! CXXFLAGS+= -I${Cm} -I${Pz} -I${pkt} -I/usr/local/include ! LDFLAGS += -L${Cm} -L${Pz} -L${pkt} -L/usr/local/lib ! LDADD+= -lPkt -lPz -lCm -lcrypto ! SRCS= pktctl.cc ! PROG_CXX= pktctl ! PROG= ${PROG_CXX} ! CLEANFILES+= .depend ! .include "../Makefile.inc" ! .include "bsd.prog.mk" ! ! $(PROG): ${Cm}/libCm.a ${Pz}/libPz.a ${pkt}/libPkt.a --- 1,4 ---- ! SRCS = pktctl.cc ! PROG = pktctl ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/pktlint/Makefile v6eval-linux/bin/pktlint/Makefile *** v6eval-3.0.12/bin/pktlint/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/pktlint/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,7 **** ! beforeinstall: ! ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ ! ${.CURDIR}/pktlint.pl ${DESTDIR}${BINDIR}/pktlint ! ! .include ! --- 1,4 ---- + SRC = pktlint.pl + PROG = pktlint ! include ../Makefile.scripts diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/pktrecv/Makefile v6eval-linux/bin/pktrecv/Makefile *** v6eval-3.0.12/bin/pktrecv/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/bin/pktrecv/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,14 **** ! CXXFLAGS+= -I${Cm} -I${Pz} -I${pkt} -I/usr/local/include ! LDFLAGS += -L${Cm} -L${Pz} -L${pkt} -L/usr/local/lib ! LDADD+= -lPkt -lPz -lCm -lcrypto ! SRCS= pktrecv.cc ! PROG_CXX= pktrecv ! PROG= ${PROG_CXX} ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! .include "../Makefile.inc" ! .include "bsd.prog.mk" ! ! $(PROG): ${Cm}/libCm.a ${Pz}/libPz.a ${pkt}/libPkt.a --- 1,4 ---- ! SRCS = pktrecv.cc ! PROG = pktrecv ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/pktsend/Makefile v6eval-linux/bin/pktsend/Makefile *** v6eval-3.0.12/bin/pktsend/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/pktsend/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,12 **** ! CXXFLAGS+= -I${Cm} -I${Pz} -I${pkt} -I/usr/local/include ! LDFLAGS += -L${Cm} -L${Pz} -L${pkt} -L/usr/local/lib ! LDADD+= -lPkt -lPz -lCm -lcrypto ! SRCS= pktsend.cc ! PROG_CXX= pktsend ! PROG= ${PROG_CXX} ! CLEANFILES+= .depend ! .include "../Makefile.inc" ! .include "bsd.prog.mk" ! ! $(PROG): ${Cm}/libCm.a ${Pz}/libPz.a ${pkt}/libPkt.a --- 1,4 ---- ! SRCS = pktsend.cc ! PROG = pktsend ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/prfcomp/Makefile v6eval-linux/bin/prfcomp/Makefile *** v6eval-3.0.12/bin/prfcomp/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/prfcomp/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,56 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/prfcomp/Makefile,v 1.3 2006/08/31 01:57:55 akisada Exp $ ! # ! ######################################################################## ! PROG= prfcomp ! SRCS= prfcomp.c ! CFLAGS+= -Wall -g ! LDADD+= -lcrypto ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! PROG = prfcomp ! SRCS = prfcomp.c ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/remotes/Makefile v6eval-linux/bin/remotes/Makefile *** v6eval-3.0.12/bin/remotes/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/bin/remotes/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,58 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/remotes/Makefile,v 1.43 2005/05/25 02:08:48 akisada Exp $ ! # - SUBDIR= unknown \ - manual - - PREFIX=/usr/local/v6eval DOCFILES=00README ! depend: ! afterinstall: ! install -d -o bin -g bin -m 755 $(PREFIX)/bin install -c -o bin -g bin -m 444 $(DOCFILES) $(PREFIX)/bin/ ! .include --- 1,22 ---- ! SUBDIRS = unknown manual DOCFILES=00README ! .PHONY: all ! all: ! @for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir; \ ! done ! .PHONY: install ! install: install -c -o bin -g bin -m 444 $(DOCFILES) $(PREFIX)/bin/ + for dir in ${SUBDIRS}; do \ + $(MAKE) -C $$dir install; \ + done ! .PHONY: clean ! clean: ! @for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir clean; \ ! done diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/remotes/manual/Makefile v6eval-linux/bin/remotes/manual/Makefile *** v6eval-3.0.12/bin/remotes/manual/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/bin/remotes/manual/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,47 **** - # - # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 - # Yokogawa Electric Corporation, - # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). - # All rights reserved. - # - # Redistribution and use of this software in source and binary forms, with - # or without modification, are permitted provided that the following - # conditions and disclaimer are agreed and accepted by the user: - # - # 1. Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # - # 2. Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in the - # documentation and/or other materials provided with the distribution. - # - # 3. Neither the names of the copyrighters, the name of the project which - # is related to this software (hereinafter referred to as "project") nor - # the names of the contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # 4. No merchantable use may be permitted without prior written - # notification to the copyrighters. However, using this software for the - # purpose of testing or evaluating any products including merchantable - # products may be permitted without any notification to the copyrighters. - # - # - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING - # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE - # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - # THE POSSIBILITY OF SUCH DAMAGE. - # - - PREFIX=/usr/local/v6eval RMTDIR=$(PREFIX)/bin/manual REMOTES= cleardefr.rmt \ clearmtu.rmt \ --- 1,3 ---- *************** *** 94,104 **** tunnel.rmt \ useTempAddr.rmt all: depend: clean: install: - install -d -o bin -g bin -m 755 $(PREFIX)/bin install -d -o bin -g bin -m 755 $(RMTDIR) install -c -o bin -g bin -m 555 $(REMOTES) $(RMTDIR) --- 50,61 ---- tunnel.rmt \ useTempAddr.rmt + .PHONY: all depend clean all: depend: clean: + .PHONY: install install: install -d -o bin -g bin -m 755 $(RMTDIR) install -c -o bin -g bin -m 555 $(REMOTES) $(RMTDIR) diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/remotes/unknown/Makefile v6eval-linux/bin/remotes/unknown/Makefile *** v6eval-3.0.12/bin/remotes/unknown/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/remotes/unknown/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,49 **** - # - # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 - # Yokogawa Electric Corporation, - # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). - # All rights reserved. - # - # Redistribution and use of this software in source and binary forms, with - # or without modification, are permitted provided that the following - # conditions and disclaimer are agreed and accepted by the user: - # - # 1. Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # - # 2. Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in the - # documentation and/or other materials provided with the distribution. - # - # 3. Neither the names of the copyrighters, the name of the project which - # is related to this software (hereinafter referred to as "project") nor - # the names of the contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # 4. No merchantable use may be permitted without prior written - # notification to the copyrighters. However, using this software for the - # purpose of testing or evaluating any products including merchantable - # products may be permitted without any notification to the copyrighters. - # - # - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING - # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE - # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - # THE POSSIBILITY OF SUCH DAMAGE. - # - PRODUCT=unknown - PREFIX=/usr/local/v6eval RMTDIR=$(PREFIX)/bin/$(PRODUCT) REMOTES= cleardefr.rmt \ clearmtu.rmt \ --- 1,5 ---- *************** *** 96,106 **** tunnel.rmt \ useTempAddr.rmt all: depend: clean: install: - install -d -o bin -g bin -m 755 $(PREFIX)/bin install -d -o bin -g bin -m 755 $(RMTDIR) install -c -o bin -g bin -m 555 $(REMOTES) $(RMTDIR) --- 52,63 ---- tunnel.rmt \ useTempAddr.rmt + .PHONY: all depend clean all: depend: clean: + .PHONY: install install: install -d -o bin -g bin -m 755 $(RMTDIR) install -c -o bin -g bin -m 555 $(REMOTES) $(RMTDIR) diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/sigcomp/Makefile v6eval-linux/bin/sigcomp/Makefile *** v6eval-3.0.12/bin/sigcomp/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/sigcomp/Makefile 2008-04-03 10:00:19.000000000 -0600 *************** *** 1,60 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/sigcomp/Makefile,v 1.3 2006/08/31 01:57:55 akisada Exp $ ! # ! ######################################################################## ! PROG= sigcomp ! SRCS= sigcomp.c ! CFLAGS+= -Wall -g ! LDADD+= -lcrypto ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! # CFLAGS+= -DDEBUG ! # LDFLAGS+= -L/usr/local/lib ! # LDADD+= -lefence ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! PROG = sigcomp ! SRCS = sigcomp.c ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/sigcomp/sigcomp.c v6eval-linux/bin/sigcomp/sigcomp.c *** v6eval-3.0.12/bin/sigcomp/sigcomp.c 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/sigcomp/sigcomp.c 2008-04-03 10:00:19.000000000 -0600 *************** *** 54,59 **** --- 54,60 ---- #include #include + #include *************** *** 782,792 **** break; } ! if(rsa && !strcmp(algorithm, "mdc2")) { evp_md = EVP_mdc2(); break; } ! if(rsa && !strcmp(algorithm, "ripemd160")) { evp_md = EVP_ripemd160(); break; --- 783,794 ---- break; } ! /* Standard openssl is build withouht EVP_mdc2 option :-( */ ! /* if(rsa && !strcmp(algorithm, "mdc2")) { evp_md = EVP_mdc2(); break; } ! */ if(rsa && !strcmp(algorithm, "ripemd160")) { evp_md = EVP_ripemd160(); break; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/x509dec/Makefile v6eval-linux/bin/x509dec/Makefile *** v6eval-3.0.12/bin/x509dec/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/x509dec/Makefile 2008-04-03 10:00:18.000000000 -0600 *************** *** 1,59 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/bin/x509dec/Makefile,v 1.3 2006/08/31 01:57:55 akisada Exp $ ! # ! ######################################################################## ! PROG= x509dec ! SRCS= x509dec.c ! CFLAGS+= -Wall -g ! LDADD+= -lcrypto ! NOMAN= ! NO_MAN= ! CLEANFILES+= .depend ! ! # LDFLAGS+= -L/usr/local/lib ! # LDADD+= -lefence ! ! .include "../Makefile.inc" ! .include "bsd.prog.mk" --- 1,4 ---- ! PROG = x509dec ! SRCS = x509dec.c ! include ../Makefile.inc diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/bin/x509dec/x509dec.c v6eval-linux/bin/x509dec/x509dec.c *** v6eval-3.0.12/bin/x509dec/x509dec.c 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/bin/x509dec/x509dec.c 2008-04-03 10:00:18.000000000 -0600 *************** *** 245,259 **** TAILQ_INIT(&head); ! if(!((unsigned char *)pubkey = ! X509dec_get_pubkey(x509, &pubkeylen))) { ! return(x509dec_on_evp_return(false, pubkey, subject_name)); } ! ! if(!((unsigned char *)subject_name = ! X509dec_get_subject_name(x509, (int *)&subject_namelen))) { ! return(x509dec_on_evp_return(false, pubkey, subject_name)); } --- 245,256 ---- TAILQ_INIT(&head); ! if(!(pubkey = X509dec_get_pubkey(x509, &pubkeylen))) { return(x509dec_on_evp_return(false, pubkey, subject_name)); } ! ! if(!(subject_name = X509dec_get_subject_name(x509, (int *)&subject_namelen) ! )) { return(x509dec_on_evp_return(false, pubkey, subject_name)); } *************** *** 508,514 **** return(NULL); } ! strlcpy(name->name_buf, extension->d.ia5->data, name->name_len); name->name_type = extension->type; TAILQ_INSERT_TAIL(head, name, names); --- 505,511 ---- return(NULL); } ! strncpy(name->name_buf, extension->d.ia5->data, name->name_len); name->name_type = extension->type; TAILQ_INSERT_TAIL(head, name, names); diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/CHANGELOG.v6eval v6eval-linux/CHANGELOG.v6eval *** v6eval-3.0.12/CHANGELOG.v6eval 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/CHANGELOG.v6eval 2008-04-03 10:00:20.000000000 -0600 *************** *** 5,10 **** --- 5,12 ---- $Date: 2007/05/25 02:12:20 $ + 2004/01/07 by Kazuo Hiekata + (Experimental) Support RedHat 9 and UnitedLinux 1.0 as TN 2007/05/25 Release 3.0.12 diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/etc/Makefile v6eval-linux/etc/Makefile *** v6eval-3.0.12/etc/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/etc/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,58 **** - # - # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 - # Yokogawa Electric Corporation, - # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). - # All rights reserved. - # - # Redistribution and use of this software in source and binary forms, with - # or without modification, are permitted provided that the following - # conditions and disclaimer are agreed and accepted by the user: - # - # 1. Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # - # 2. Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in the - # documentation and/or other materials provided with the distribution. - # - # 3. Neither the names of the copyrighters, the name of the project which - # is related to this software (hereinafter referred to as "project") nor - # the names of the contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # 4. No merchantable use may be permitted without prior written - # notification to the copyrighters. However, using this software for the - # purpose of testing or evaluating any products including merchantable - # products may be permitted without any notification to the copyrighters. - # - # - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING - # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE - # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - # THE POSSIBILITY OF SUCH DAMAGE. - # - # Makefile for sample config file - # - - PREFIX=/usr/local/v6eval ETCDIR=$(PREFIX)/etc SAMPLE=tn.def.sample nut.def.sample all: install: install -d -o bin -g bin -m 755 $(ETCDIR) install -c -o bin -g bin -m 644 $(SAMPLE) $(ETCDIR) depend: clean: --- 1,15 ---- ETCDIR=$(PREFIX)/etc SAMPLE=tn.def.sample nut.def.sample + .PHONY: all all: + .PHONY: install install: install -d -o bin -g bin -m 755 $(ETCDIR) install -c -o bin -g bin -m 644 $(SAMPLE) $(ETCDIR) + .PHONY: depend clean depend: clean: diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/include/Makefile v6eval-linux/include/Makefile *** v6eval-3.0.12/include/Makefile 2008-03-12 13:17:43.000000000 -0600 --- v6eval-linux/include/Makefile 2008-04-03 10:00:16.000000000 -0600 *************** *** 1,62 **** ! # ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 ! # Yokogawa Electric Corporation, ! # YDC Corporation, IPA (Information-technology Promotion Agency, Japan). ! # All rights reserved. ! # ! # Redistribution and use of this software in source and binary forms, with ! # or without modification, are permitted provided that the following ! # conditions and disclaimer are agreed and accepted by the user: ! # ! # 1. Redistributions of source code must retain the above copyright ! # notice, this list of conditions and the following disclaimer. ! # ! # 2. Redistributions in binary form must reproduce the above copyright ! # notice, this list of conditions and the following disclaimer in the ! # documentation and/or other materials provided with the distribution. ! # ! # 3. Neither the names of the copyrighters, the name of the project which ! # is related to this software (hereinafter referred to as "project") nor ! # the names of the contributors may be used to endorse or promote products ! # derived from this software without specific prior written permission. ! # ! # 4. No merchantable use may be permitted without prior written ! # notification to the copyrighters. However, using this software for the ! # purpose of testing or evaluating any products including merchantable ! # products may be permitted without any notification to the copyrighters. ! # ! # ! # ! # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHTERS, THE PROJECT AND ! # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING ! # BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS ! # FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE ! # COPYRIGHTERS, THE PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ! # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ! # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ! # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ! # CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ! # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ! # THE POSSIBILITY OF SUCH DAMAGE. ! # ! # $TAHI: v6eval/include/Makefile,v 1.10 2001/10/05 06:27:30 masaxmasa Exp $ ! # ! # Makefile for standard definition file ! # ! ! PREFIX=/usr/local/v6eval ! INCLUDEDIR=$(PREFIX)/include/ all: install: install -d -o bin -g bin -m 755 $(INCLUDEDIR) ! install -c -o bin -g bin -m 644 std.def $(INCLUDEDIR) ! install -c -o bin -g bin -m 644 stdaddr.def $(INCLUDEDIR) ! install -c -o bin -g bin -m 644 stdpacket.def $(INCLUDEDIR) ! install -c -o bin -g bin -m 644 stdconst.def $(INCLUDEDIR) depend: clean: --- 1,15 ---- ! INCLUDEDIR = $(PREFIX)/include/ ! DEFS = std.def stdaddr.def stdpacket.def stdconst.def + .PHONY: all all: + .PHONY: install install: install -d -o bin -g bin -m 755 $(INCLUDEDIR) ! install -c -o bin -g bin -m 644 ${DEFS} $(INCLUDEDIR) + .PHONY: depend clean depend: clean: diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Cm/BtObject.cc v6eval-linux/lib/Cm/BtObject.cc *** v6eval-3.0.12/lib/Cm/BtObject.cc 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/lib/Cm/BtObject.cc 2008-04-03 10:00:17.000000000 -0600 *************** *** 48,53 **** BtObject::BtObject(const BtObject&) {} BtObject::~BtObject() {} uint32_t BtObject::hash() const {return 0;} ! int BtObject::compare(const BtObject*p) const {return (int)this-(int)p;} bool BtObject::isEqual(const BtObject* v) const { return compare(v)==0;} --- 48,53 ---- BtObject::BtObject(const BtObject&) {} BtObject::~BtObject() {} uint32_t BtObject::hash() const {return 0;} ! long BtObject::compare(const BtObject*p) const {return (long)this-(long)p;} bool BtObject::isEqual(const BtObject* v) const { return compare(v)==0;} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Cm/BtObject.h v6eval-linux/lib/Cm/BtObject.h *** v6eval-3.0.12/lib/Cm/BtObject.h 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/lib/Cm/BtObject.h 2008-04-03 10:00:17.000000000 -0600 *************** *** 50,56 **** BtObject(const BtObject&); virtual ~BtObject(); virtual uint32_t hash() const; ! virtual int compare(const BtObject* p) const; bool isEqual(const BtObject* p) const; bool operator<(const BtObject& r) const; bool operator<=(const BtObject& r) const; --- 50,56 ---- BtObject(const BtObject&); virtual ~BtObject(); virtual uint32_t hash() const; ! virtual long compare(const BtObject* p) const; bool isEqual(const BtObject* p) const; bool operator<(const BtObject& r) const; bool operator<=(const BtObject& r) const; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Cm/CmSocket.h v6eval-linux/lib/Cm/CmSocket.h *** v6eval-3.0.12/lib/Cm/CmSocket.h 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/lib/Cm/CmSocket.h 2008-04-03 10:00:17.000000000 -0600 *************** *** 55,60 **** --- 55,61 ---- #include "CmTypes.h" #if !defined(__KAME__) + #if !defined(__linux__) struct in6_addr { union { uint8_t u6_addr8[16]; *************** *** 69,77 **** --- 70,83 ---- uint32_t sin6_scope_id; /* intface scope id */ }; #define s6_addr u6_addr.u6_addr8 + #endif #define getipnodebyname(a,b,c,d)0 #endif + #if defined(__linux__) + #define SO_REUSEPORT 15 + #endif + #ifndef IN6_IS_ADDR_LINKLOCAL #define IN6_IS_ADDR_LINKLOCAL(a)\ (((a)->s6_addr[0] == 0xfe) && (((a)->s6_addr[1] & 0xc0) == 0x80)) diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Cm/CmTypes.h v6eval-linux/lib/Cm/CmTypes.h *** v6eval-3.0.12/lib/Cm/CmTypes.h 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/lib/Cm/CmTypes.h 2008-04-03 10:00:17.000000000 -0600 *************** *** 49,64 **** #include typedef char *STR; typedef const char *CSTR; ! #if defined(__FreeBSD__) || defined(__bsdi__) typedef u_int8_t uint8_t; typedef u_int16_t uint16_t; typedef u_int32_t uint32_t; typedef u_int64_t uint64_t; #endif #if (__FreeBSD__ <= 3) || defined(__bsdi__) || defined(__hpux) typedef int socklen_t; #endif ! #if defined(__hpux) #define SETPGRP(a,b)setpgrp() #else #define SETPGRP(a,b)setpgrp(a,b) --- 49,66 ---- #include typedef char *STR; typedef const char *CSTR; ! #if defined(__FreeBSD__) || defined(__bsdi__) || defined(__linux__) typedef u_int8_t uint8_t; typedef u_int16_t uint16_t; typedef u_int32_t uint32_t; typedef u_int64_t uint64_t; #endif #if (__FreeBSD__ <= 3) || defined(__bsdi__) || defined(__hpux) + #if !defined(__linux__) typedef int socklen_t; #endif ! #endif ! #if defined(__hpux) || defined(__linux__) #define SETPGRP(a,b)setpgrp() #else #define SETPGRP(a,b)setpgrp(a,b) diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Cm/Makefile v6eval-linux/lib/Cm/Makefile *** v6eval-3.0.12/lib/Cm/Makefile 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/lib/Cm/Makefile 2008-04-03 10:00:17.000000000 -0600 *************** *** 1,12 **** ! LIB= Cm ! SRCS= CmTypes.cc \ BtObject.cc BtArray.cc BtList.cc BtSet.cc \ CmQueue.cc CmAgent.cc CmMain.cc CmSocket.cc \ CmFdSet.cc CmFdMasks.cc CmString.cc PerfCollect.cc \ Timer.cc CmDispatch.cc CmReceiver.cc timeval.cc \ CmToken.cc CmMatch.cc CmLexer.cc ! CXXFLAGS+= -I. ! CLEANFILES+= .depend - .include "bsd.lib.mk" --- 1,31 ---- ! LIB = libCm.a ! SRCS = CmTypes.cc \ BtObject.cc BtArray.cc BtList.cc BtSet.cc \ CmQueue.cc CmAgent.cc CmMain.cc CmSocket.cc \ CmFdSet.cc CmFdMasks.cc CmString.cc PerfCollect.cc \ Timer.cc CmDispatch.cc CmReceiver.cc timeval.cc \ CmToken.cc CmMatch.cc CmLexer.cc ! OBJS = CmTypes.o \ ! BtObject.o BtArray.o BtList.o BtSet.o \ ! CmQueue.o CmAgent.o CmMain.o CmSocket.o \ ! CmFdSet.o CmFdMasks.o CmString.o PerfCollect.o \ ! Timer.o CmDispatch.o CmReceiver.o timeval.o \ ! CmToken.o CmMatch.o CmLexer.o ! ! CFLAGS+= -O0 -pipe -g -DYYDEBUG -Wall -fno-strict-aliasing ! CXXFLAGS+= ${CFLAGS} -Woverloaded-virtual ! ! .PHONY: all ! all: ${LIB} ! ! ${LIB}: ${OBJS} ! $(AR) r $@ $? ! ! .PHONY: install ! install: ; ! ! .PHONY: clean ! clean: ! - rm -f ${LIB} *.o diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Makefile v6eval-linux/lib/Makefile *** v6eval-3.0.12/lib/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/Makefile 2008-04-03 10:00:18.000000000 -0600 *************** *** 1,3 **** ! SUBDIR=Cm Pz pkt ! .MAIN: depend all ! .include --- 1,20 ---- ! SUBDIRS = Cm Pz pkt ! ! .PHONY: all ${SUBDIRS} ! ! all: $(SUBDIRS) ! ! $(SUBDIRS): ! $(MAKE) -C $@ ! ! .PHONY: install ! install: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir install; \ ! done ! ! .PHONY: clean ! clean: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir clean; \ ! done diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/BpfAgent.cc v6eval-linux/lib/pkt/BpfAgent.cc *** v6eval-3.0.12/lib/pkt/BpfAgent.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/BpfAgent.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 47,53 **** --- 47,58 ---- #include #include #include + #if defined(__linux__) + #include + #include + #else #include + #endif #include #include #include "debug.h" *************** *** 74,105 **** rbuf = new Ringbuf(2048,rbsize); /* xxx Ethernet Depend */ readAction((agentFunc)&BpfAgent::receive);} int BpfAgent::receive(int) { ! int rc=filter().receive(buffer_); #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "rc: %d\n", rc); #endif // VCLEAR_DBG ! for(int i=0;i < rc; ){ #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "i: %d\n", i); #endif // VCLEAR_DBG ! char *next = buffer_+i; ! struct bpf_hdr *hdr = (struct bpf_hdr *)next; ! int datasize = hdr->bh_caplen + hdr->bh_hdrlen; ! if(!fifo.IsEmpty() && ! fifo.firstdatalen()==(int)hdr->bh_caplen && ! memcmp(fifo.firstdata(),next+hdr->bh_hdrlen,hdr->bh_caplen)==0){ ! fifo.del();} ! else if(runStat() == eRun_) ! rbuf->write(next,datasize); ! if(datasize > rc) ! abort(); ! i += BPF_WORDALIGN(datasize);} ! if (!rbuf->isEmpty()){ ! struct bpf_hdr *hdr = (struct bpf_hdr *)buffer_; ! int datasize = hdr->bh_caplen + hdr->bh_hdrlen; ! readydata(buffer_,datasize);} ! return 0;} int BpfAgent::nonblock_receive(int) --- 79,153 ---- rbuf = new Ringbuf(2048,rbsize); /* xxx Ethernet Depend */ readAction((agentFunc)&BpfAgent::receive);} + + #if defined(__linux__) int BpfAgent::receive(int) { ! int rc=filter().receive(buffer_); #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "rc: %d\n", rc); #endif // VCLEAR_DBG ! ! for(int i=0;i < rc; ) { #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "i: %d\n", i); ! #endif // VCLEAR_DBG ! char *next = buffer_+i; ! struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)next; ! // This datasize may need tweaking if the compiler does byte-alignment ! // of the struct. ! int datasize = hdr->caplen + sizeof(struct pcap_pkthdr); ! if(!fifo.IsEmpty() && ! fifo.firstdatalen()==(int)hdr->caplen && ! memcmp(fifo.firstdata(), next + sizeof(struct pcap_pkthdr), hdr->caplen )==0 ) { ! fifo.del(); ! } else if(runStat() == eRun_) ! rbuf->write(next,datasize); ! ! if(datasize > rc) ! abort(); ! i += BPF_WORDALIGN(datasize); ! } ! if (!rbuf->isEmpty()){ ! struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)buffer_; ! int datasize = hdr->caplen + sizeof(struct pcap_pkthdr); ! readydata(buffer_,datasize); ! } ! return 0; ! } ! #else /* !__linux__ */ ! int BpfAgent::receive(int) { ! int rc=filter().receive(buffer_); ! #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "rc: %d\n", rc); #endif // VCLEAR_DBG ! ! for(int i=0;i < rc; ) { ! #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "i: %d\n", i); ! #endif // VCLEAR_DBG ! char *next = buffer_+i; ! struct bpf_hdr *hdr = (struct bpf_hdr *)next; ! int datasize = hdr->bh_caplen + hdr->bh_hdrlen; ! if(!fifo.IsEmpty() && ! fifo.firstdatalen()==(int)hdr->bh_caplen && ! memcmp(fifo.firstdata(),next+hdr->bh_hdrlen,hdr->bh_caplen)==0){ ! fifo.del(); ! } else if(runStat() == eRun_) ! rbuf->write(next,datasize); ! ! if(datasize > rc) ! abort(); ! i += BPF_WORDALIGN(datasize); ! } ! if (!rbuf->isEmpty()){ ! struct bpf_hdr *hdr = (struct bpf_hdr *)buffer_; ! int datasize = hdr->bh_caplen + hdr->bh_hdrlen; ! readydata(buffer_,datasize); ! } ! return 0; ! } ! #endif ! int BpfAgent::nonblock_receive(int) *************** *** 131,136 **** --- 179,219 ---- fifo.del(); } + #if defined(__linux__) + for(int i=0; i < rc; ) { + #ifdef VCLEAR_DBG + xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "i: %d\n", i); + #endif // VCLEAR_DBG + char *next = buffer_ + i; + struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)next; + int datasize = hdr->caplen + sizeof(struct pcap_pkthdr); + + if(!fifo.IsEmpty() && + (fifo.firstdatalen() == (int)hdr->caplen) && + (memcmp( + fifo.firstdata(), + next + sizeof(struct pcap_pkthdr), + hdr->caplen + ) == 0) + ) { + fifo.del(); + } else if(runStat() == eRun_) { + rbuf->write(next, datasize); + } + + if(datasize > rc) { + abort(); + } + + i += BPF_WORDALIGN(datasize); + } + + if(!rbuf->isEmpty()) { + struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)buffer_; + int datasize = hdr->caplen + sizeof(struct pcap_pkthdr); + readydata(buffer_, datasize); + } + #else //!__linux__ for(int i=0; i < rc; ) { #ifdef VCLEAR_DBG xdbg("/tmp/vclear_dbg.txt", "BpfAgent", "i: %d\n", i); *************** *** 164,170 **** int datasize = hdr->bh_caplen + hdr->bh_hdrlen; readydata(buffer_, datasize); } ! return(0); } --- 247,253 ---- int datasize = hdr->bh_caplen + hdr->bh_hdrlen; readydata(buffer_, datasize); } ! #endif return(0); } *************** *** 177,198 **** char *rb=rbuf->read(buf); if(rb==NULL) return 0; struct bpf_hdr *hdr = (struct bpf_hdr *)rb; rc=hdr->bh_caplen + hdr->bh_hdrlen; ! return rc;} int BpfAgent::readn(caddr_t buf, uint32_t n){ ! int rc; ! if(rbuf->readn(n,buf)==0) rc=0; ! else { ! struct bpf_hdr *hdr = (struct bpf_hdr *)buf; ! rc=hdr->bh_caplen + hdr->bh_hdrlen;} ! return rc;} timeval* BpfAgent::ReceiveTimeOfOldestData() const{ if(rbuf->isEmpty()) return 0; ! return (timeval*)rbuf->readn(0,0);} int BpfAgent::write(caddr_t p, uint32_t l) { #ifdef VCLEAR_DBG --- 260,298 ---- char *rb=rbuf->read(buf); if(rb==NULL) return 0; + #if defined(__linux__) + struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)rb; + rc=hdr->caplen + sizeof(struct pcap_pkthdr); + #else struct bpf_hdr *hdr = (struct bpf_hdr *)rb; rc=hdr->bh_caplen + hdr->bh_hdrlen; ! #endif ! return rc; ! } int BpfAgent::readn(caddr_t buf, uint32_t n){ ! int rc; ! if(rbuf->readn(n,buf)==0) ! rc=0; ! else { ! #if defined(__linux__) ! struct pcap_pkthdr *hdr = (struct pcap_pkthdr *)buf; ! rc=hdr->caplen + sizeof(struct pcap_pkthdr); ! #else ! struct bpf_hdr *hdr = (struct bpf_hdr *)buf; ! rc=hdr->bh_caplen + hdr->bh_hdrlen; ! #endif ! } ! return rc; ! } ! timeval* BpfAgent::ReceiveTimeOfOldestData() const{ if(rbuf->isEmpty()) return 0; ! return (timeval*)rbuf->readn(0,0); ! } ! int BpfAgent::write(caddr_t p, uint32_t l) { #ifdef VCLEAR_DBG *************** *** 212,218 **** return rc;} void BpfAgent::clear() { ! #if 1 /* In rare case, clear() function is called before filterd out all sent packets. So need to wait all sent packets filtered --- 312,318 ---- return rc;} void BpfAgent::clear() { ! #if ! defined(__linux__) /* In rare case, clear() function is called before filterd out all sent packets. So need to wait all sent packets filtered diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/Bpfilter.cc v6eval-linux/lib/pkt/Bpfilter.cc *** v6eval-3.0.12/lib/pkt/Bpfilter.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/Bpfilter.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 51,63 **** --- 51,82 ---- #include #include #include + #if defined(__linux__) + #include + #include + #else #include + #endif #include #include #include "debug.h" + #if defined(__linux__) + #include /* for the glibc version number */ + #if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1 + #include + #include /* the L2 protocols */ + #else + #include + #include + #include /* The L2 protocols */ + #endif + #include + #endif + Bpfilter::Bpfilter(CSTR n):fd_(-1),bufsize_(0) { + #if !defined(__linux__) int i, fd=-1; char dev[32]; struct ifreq ifr; *************** *** 95,156 **** ::close(fd); return;} fd_=fd;} int Bpfilter::setfilter(struct bpf_program *filter) const { int fd=fileDesc(); if(fd<0) return -1; int rc = ioctl(fd,BIOCSETF,filter); if(rc<0){perror("err:ioctl(BIOCSETF)");} return rc; } int Bpfilter::promiscuous() const { int fd=fileDesc(); if(fd<0) return -1; int rc=ioctl(fd,BIOCPROMISC,NULL); if(rc<0) {perror("err:ioctl(BIOCPROMISC)");} ! return rc;} int Bpfilter::flush() const { int fd=fileDesc(); if(fd<0) return -1; int rc=ioctl(fd,BIOCFLUSH,NULL); if(rc<0) {perror("err:ioctl(BIOCFLUSH)");} return rc;} int Bpfilter::immediate(uint32_t n) const { int fd=fileDesc(); if(fd<0) return -1; int rc=ioctl(fd,BIOCIMMEDIATE,&n); if(rc<0) {perror("err:ioctl(BIOCIMMEDIATE)");} return rc;} int Bpfilter::statistics(uint32_t& recv,uint32_t& drop) const { ! struct bpf_stat stat; ! int fd=fileDesc(); ! recv=0; drop=0; ! if(fd<0) return -1; ! int rc=ioctl(fd,BIOCGSTATS,(caddr_t)&stat); ! if(rc<0) {perror("err:ioctl(BIOCGSTATS)");} ! else {recv=stat.bs_recv; drop=stat.bs_drop;} ! return rc;} int Bpfilter::receive(caddr_t p) const { ! int fd=fileDesc(); ! if(fd<0) return -1; ! uint32_t l=bufferSize(); #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "Bpfilter", "l: %d\n", l); #endif // VCLEAR_DBG ! int rc=::read(fd,p,l); #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "Bpfilter", "l: %d, rc: %d\n", l, rc); #endif // VCLEAR_DBG ! if(rc<0) {perror("err:read");} ! return rc;} ! int ! Bpfilter::nonblock_receive(caddr_t p) const { int rc = 0; int fd = fileDesc(); --- 114,265 ---- ::close(fd); return;} fd_=fd;} + #else + int i, fd=-1; + char dev[32]; + struct sockaddr_ll sll; + + fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); + if(fd<0) { + perror("err:open"); + return;} + memset(&sll, 0xff, sizeof(sll)); + sll.sll_family = AF_PACKET; + sll.sll_protocol = htons(ETH_P_ALL); + ifindex_ = if_nametoindex(n); + if(ifindex_<0) { + perror("err:if_nametoindex()"); + return;} + sll.sll_ifindex = ifindex_; + int rc = bind(fd, (struct sockaddr *)&sll, sizeof(sll)); + if(rc<0) { + perror("err:bind"); + return;} + bufsize_=BPF_MAXBUFSIZE; + fd_=fd;} + #endif int Bpfilter::setfilter(struct bpf_program *filter) const { + #if !defined(__linux__) int fd=fileDesc(); if(fd<0) return -1; int rc = ioctl(fd,BIOCSETF,filter); if(rc<0){perror("err:ioctl(BIOCSETF)");} return rc; } + #else + /* xxx: For Linux, "filter ipv6" in tn.def is NOT supported */ + return 0; + } + #endif + int Bpfilter::promiscuous() const { int fd=fileDesc(); if(fd<0) return -1; + #if !defined(__linux__) int rc=ioctl(fd,BIOCPROMISC,NULL); if(rc<0) {perror("err:ioctl(BIOCPROMISC)");} ! return rc;} ! #else ! struct ifreq ifr; ! int rc=ioctl(fd,SIOCGIFFLAGS,&ifr); ! if(rc<0) {perror("err:ioctl(SIOCGIFFLAGS)");} ! ifr.ifr_flags = ifr.ifr_flags | IFF_PROMISC; ! rc=ioctl(fd,SIOCSIFFLAGS,&ifr); ! if(rc<0) {perror("err:ioctl(SIOCSIFFLAGS)");} ! return 0;} ! #endif int Bpfilter::flush() const { int fd=fileDesc(); if(fd<0) return -1; + #if !defined(__linux__) int rc=ioctl(fd,BIOCFLUSH,NULL); if(rc<0) {perror("err:ioctl(BIOCFLUSH)");} return rc;} + #else + unsigned char buf[2048]; + int i=0; + do { + fd_set fds; + struct timeval t; + FD_ZERO(&fds); + FD_SET(fd, &fds); + memset(&t, 0, sizeof(t)); + i = select(FD_SETSIZE, &fds, NULL, NULL, &t); + if (i > 0) + recv(fd, buf, i, 0); + } while (i); + return 0;} + #endif + int Bpfilter::immediate(uint32_t n) const { + #if !defined(__linux__) int fd=fileDesc(); if(fd<0) return -1; int rc=ioctl(fd,BIOCIMMEDIATE,&n); if(rc<0) {perror("err:ioctl(BIOCIMMEDIATE)");} return rc;} + #else + /* xxx: For Linux, tahi works only in immediate=true mode */ + return 0;} + #endif int Bpfilter::statistics(uint32_t& recv,uint32_t& drop) const { ! int fd = fileDesc(); ! recv=0; ! drop=0; ! if(fd<0) ! return -1; ! #if !defined(__linux__) ! struct bpf_stat stat; ! int rc = ioctl( fd, BIOCGSTATS, (caddr_t)&stat ); ! if(rc<0) { ! perror("err:ioctl(BIOCGSTATS)"); ! } else { ! recv=stat.bs_recv; drop=stat.bs_drop; ! } ! return rc; ! #else ! /* xxx: Linux cannot get per-socket statistics */ ! return 0; ! #endif ! } int Bpfilter::receive(caddr_t p) const { ! int fd = fileDesc(); ! if( fd < 0 ) ! return -1; ! uint32_t l=bufferSize(); ! #if !defined(__linux__) #ifdef VCLEAR_DBG ! xdbg( "/tmp/vclear_dbg.txt", "Bpfilter", "l: %d\n", l ); #endif // VCLEAR_DBG ! int rc=::read( fd, p, l ); #ifdef VCLEAR_DBG ! xdbg("/tmp/vclear_dbg.txt", "Bpfilter", "l: %d, rc: %d\n", l, rc); #endif // VCLEAR_DBG ! if( rc < 0 ) { ! perror("err:read"); ! } ! return rc; ! #else ! int rc = recv( fd, (p + sizeof(struct pcap_pkthdr)), (l - sizeof(struct pcap_pkthdr)), 0 ); ! gettimeofday( &((struct pcap_pkthdr *)p)->ts, 0) ; ! ((struct pcap_pkthdr *)p)->caplen = rc; ! ((struct pcap_pkthdr *)p)->len = rc + sizeof(struct pcap_pkthdr); ! if( rc < 0 ) { ! perror("err:recv"); ! return rc; ! } ! return ( rc + sizeof(struct pcap_pkthdr)); ! #endif ! } ! ! int Bpfilter::nonblock_receive(caddr_t p) const { int rc = 0; int fd = fileDesc(); *************** *** 208,214 **** --- 317,332 ---- #ifdef VCLEAR_DBG xdbg("/tmp/vclear_dbg.txt", "Bpfilter", "l: %d\n", l); #endif // VCLEAR_DBG + + #if !defined(__linux__) int rc=::write(fd,p,l); + #else + struct sockaddr_ll sll; + memset(&sll, 0, sizeof(sll)); + sll.sll_ifindex = ifindex_; + int rc = sendto(fd, p, l, 0, (struct sockaddr *)&sll, sizeof(sll)); + #endif + #ifdef VCLEAR_DBG xdbg("/tmp/vclear_dbg.txt", "Bpfilter", "l: %d, rc: %d\n", l, rc); #endif // VCLEAR_DBG *************** *** 218,225 **** --- 336,348 ---- uint32_t Bpfilter::getDLT() const { int fd=fileDesc(); if(fd<0) return 0xffff; /* xxx */ + #if !defined(__linux__) uint32_t dlt; int rc=ioctl(fd,BIOCGDLT,&dlt); if(rc<0) {perror("err:ioctl(BIOCGSTATS)");} return dlt;} + #else + /* Linux assumes ethernet */ + return DLT_EN10MB;} + #endif diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/Bpfilter.h v6eval-linux/lib/pkt/Bpfilter.h *** v6eval-3.0.12/lib/pkt/Bpfilter.h 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/Bpfilter.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 46,57 **** #define __Bpfilter_h__ 1 #include #include ! #include #include "CmString.h" struct Bpfilter { private: int fd_; uint32_t bufsize_; public: Bpfilter(CSTR); int fileDesc() const; --- 46,61 ---- #define __Bpfilter_h__ 1 #include #include ! // #include ! #include #include "CmString.h" struct Bpfilter { private: int fd_; uint32_t bufsize_; + #if defined(__linux__) + int ifindex_; + #endif public: Bpfilter(CSTR); int fileDesc() const; *************** *** 64,70 **** int receive(caddr_t) const; int nonblock_receive(caddr_t) const; int send(caddr_t,uint32_t) const; ! uint32_t Bpfilter::getDLT() const; }; inline int Bpfilter::fileDesc() const {return fd_;} inline uint32_t Bpfilter::bufferSize() const {return bufsize_;} --- 68,75 ---- int receive(caddr_t) const; int nonblock_receive(caddr_t) const; int send(caddr_t,uint32_t) const; ! // uint32_t Bpfilter::getDLT() const; ! uint32_t getDLT() const; }; inline int Bpfilter::fileDesc() const {return fd_;} inline uint32_t Bpfilter::bufferSize() const {return bufsize_;} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/LxLexer.cc v6eval-linux/lib/pkt/LxLexer.cc *** v6eval-3.0.12/lib/pkt/LxLexer.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/LxLexer.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 62,67 **** --- 62,74 ---- #include "MfAlgorithm.h" #include "CmMain.h" #include + + /* Enabling traces. + int yydebug = 0; + #ifndef YYDEBUG + # define YYDEBUG 0 + #endif + */ extern PObject* yylval; STR LxLexer::controls(STR s) { DBGFLAGS(0)=yydebug; *************** *** 285,291 **** --- 292,300 ---- function(new MfDESCBC("descbc",8,8,8)); function(new MfDESCBC_2("descbc_2", 8, 8, 8)); // binary args function(new MfBLOWFISH("blowfish",8,8,8)); + #if ! defined(__linux__) function(new MfRC5("rc5",8,8,8)); + #endif function(new MfCAST128("cast128",8,8,8)); function(new MfDES3CBC("des3cbc",8*3,8,8)); function(new MfDES3CBC_2("des3cbc_2", 8 * 3, 8, 8)); // binary args diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/Makefile v6eval-linux/lib/pkt/Makefile *** v6eval-3.0.12/lib/pkt/Makefile 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/Makefile 2008-04-03 10:00:18.000000000 -0600 *************** *** 1,14 **** ! LIB= Pkt ! YSRCS= PzParse.y ! SRCS= $(YSRCS:.y=.cc) LxToken.cc LxLexer.cc RAFControl.cc \ PktAgent.cc PktRecv.cc PktClient.cc PktServer.cc StdAgent.cc \ BpfAgent.cc Bpfilter.cc Ringbuf.cc RunEnv.cc PktCtlClient.cc \ PktSndClient.cc PktRcvClient.cc PktBuf.cc PktQueue.cc bufStat.cc ! CXXFLAGS+= -I. -I$(Cm) -I$(Pz) -DHAVE_BPF_HDRCMPLT -I/usr/include ! # CXXFLAGS+= -DVCLEAR_DBG ! CLEANFILES+= PzParse.h ! CLEANFILES+= .depend - .include "bsd.lib.mk" --- 1,40 ---- ! LIB = libPkt.a ! ! YSRCS = PzParse.y ! SRCS = PzParse.cc LxToken.cc LxLexer.cc RAFControl.cc \ PktAgent.cc PktRecv.cc PktClient.cc PktServer.cc StdAgent.cc \ BpfAgent.cc Bpfilter.cc Ringbuf.cc RunEnv.cc PktCtlClient.cc \ PktSndClient.cc PktRcvClient.cc PktBuf.cc PktQueue.cc bufStat.cc ! OBJS = PzParse.o LxToken.o LxLexer.o RAFControl.o \ ! PktAgent.o PktRecv.o PktClient.o PktServer.o StdAgent.o \ ! BpfAgent.o Bpfilter.o Ringbuf.o RunEnv.o PktCtlClient.o \ ! PktSndClient.o PktRcvClient.o PktBuf.o PktQueue.o bufStat.o ! ! Cm = ../Cm ! Pz = ../Pz ! ! CFLAGS+= -I. -I$(Cm) -I$(Pz) -DHAVE_BPF_HDRCMPLT -fno-strict-aliasing -pipe -g -DYYDEBUG ! CXXFLAGS+= ${CFLAGS} -Woverloaded-virtual ! ! CLEANFILES+=PzParse.h ! ! MKLINT=no ! # .include "bsd.lib.mk" ! ! .PHONY: ${LIB} ! all: ${LIB} ! ! ${LIB}: ${OBJS} ! $(AR) r $@ $? ! ! PzParse.cc: PzParse.y ! yacc -dv -o PzParse.cc PzParse.y ! ! .PHONY: install ! install: ; ! .PHONY: clean ! clean: ! - rm -f ${LIB} *.o PzParse.cc PzParse.h diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktAgent.cc v6eval-linux/lib/pkt/PktAgent.cc *** v6eval-3.0.12/lib/pkt/PktAgent.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktAgent.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 93,101 **** xdbg("/tmp/vclear_dbg.txt", "PktAgent", "this: %p\n", this); #endif // VCLEAR_DBG h.length(l); ! if(DBGFLAGS('o')) { uint16_t r=h.request()&0xffff; ! printf("PktAgent::sendPacket request=%4.4x len=%d\n",r,l);} int rc=send((CSTR)&h,sizeof(h)); if(rc>=0 && l>0) {rc=send(s,l);} return rc;} --- 93,102 ---- xdbg("/tmp/vclear_dbg.txt", "PktAgent", "this: %p\n", this); #endif // VCLEAR_DBG h.length(l); ! // if(DBGFLAGS('o')) { uint16_t r=h.request()&0xffff; ! printf("PktAgent::sendPacket request=%4.4x len=%d this %x \n",r,l,(CSTR)&h); ! // } int rc=send((CSTR)&h,sizeof(h)); if(rc>=0 && l>0) {rc=send(s,l);} return rc;} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktCtlClient.cc v6eval-linux/lib/pkt/PktCtlClient.cc *** v6eval-3.0.12/lib/pkt/PktCtlClient.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktCtlClient.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 55,61 **** --- 55,66 ---- #include #include #include + #if defined(__linux__) + #include + #include + #else #include + #endif PktCtlClient::PktCtlClient(StringList pos):PktClient(), command_(pos),parsed_(0) {} *************** *** 140,197 **** return Confirmation("Connected");} int PktCtlClient::readConfirmation() { ! int rc=result(); ! STR s=buffer(); ! uint32_t l=bodyLength(); ! if(rc==2) { ! printf("log:pktbuf timeout\n"); ! exit(1);} ! if(rc!=0||s==0||l==0) { ! printf("err:pktbuf result=%d length=%d\n",rc,l); ! terminate(); exit(3);} ! bpf_hdr* hdr=(bpf_hdr*)s; ! hdr->bh_tstamp.tv_sec=ntohl(hdr->bh_tstamp.tv_sec); ! hdr->bh_tstamp.tv_usec=ntohl(hdr->bh_tstamp.tv_usec); ! hdr->bh_hdrlen=ntohs(hdr->bh_hdrlen); ! hdr->bh_caplen=ntohl(hdr->bh_caplen); ! hdr->bh_datalen=ntohl(hdr->bh_datalen); ! timeval *tv=&(hdr->bh_tstamp); ! if(*tvtv_sec,tv->tv_usec); ! uint32_t hlen=hdr->bh_hdrlen; ! uint32_t caplen=hdr->bh_caplen; ! PvOctets rcv(caplen,(OCTSTR)s+hlen); ! rcv.print(); ! ! return command();} int PktCtlClient::dumpConfirmation() { ! int rc=result(); ! STR s=buffer(); ! uint32_t l=bodyLength(); ! if(rc==0&&l==0) { ! printf("std:buffer empty\n"); ! terminate(); exit(0);} ! if(s==0||l==0) { ! printf("err:pktctl result=%d length=%d\n",rc,l); ! terminate(); exit(3);} ! bpf_hdr* hdr=(bpf_hdr*)s; ! hdr->bh_tstamp.tv_sec=ntohl(hdr->bh_tstamp.tv_sec); ! hdr->bh_tstamp.tv_usec=ntohl(hdr->bh_tstamp.tv_usec); ! timeval *tv=&(hdr->bh_tstamp); ! printf("std: %ld.%06ld\n",tv->tv_sec,tv->tv_usec); ! uint32_t hlen=ntohs(hdr->bh_hdrlen); ! uint32_t caplen=ntohl(hdr->bh_caplen); ! PvOctets rcv(caplen,(OCTSTR)s+hlen); ! rcv.print(); ! printf("\n"); ! if(rc) return dumpIndication(rc); ! else return command();} int PktCtlClient::command(int) { int rc=0; --- 145,233 ---- return Confirmation("Connected");} int PktCtlClient::readConfirmation() { ! int rc=result(); ! STR s=buffer(); ! uint32_t l=bodyLength(); ! if(rc==2) { ! printf("log:pktbuf timeout\n"); ! exit(1); ! } ! if(rc!=0||s==0||l==0) { ! printf("err:pktbuf result=%d length=%d\n",rc,l); ! terminate(); exit(3); ! } ! #if defined(__linux__) ! pcap_pkthdr* hdr = (pcap_pkthdr*)s; ! hdr->ts.tv_sec = ntohl( hdr->ts.tv_sec ); ! hdr->ts.tv_usec = ntohl( hdr->ts.tv_usec ); ! hdr->caplen = ntohl( hdr->caplen ); ! hdr->len = ntohl(hdr->len ); ! timeval *tv=&(hdr->ts); ! uint32_t hlen = sizeof(struct pcap_pkthdr); ! uint32_t caplen = hdr->caplen; ! #else ! bpf_hdr* hdr=(bpf_hdr*)s; ! hdr->bh_tstamp.tv_sec=ntohl(hdr->bh_tstamp.tv_sec); ! hdr->bh_tstamp.tv_usec=ntohl(hdr->bh_tstamp.tv_usec); ! hdr->bh_hdrlen=ntohs(hdr->bh_hdrlen); ! hdr->bh_caplen=ntohl(hdr->bh_caplen); ! hdr->bh_datalen=ntohl(hdr->bh_datalen); ! timeval *tv=&(hdr->bh_tstamp); ! uint32_t hlen=hdr->bh_hdrlen; ! uint32_t caplen=hdr->bh_caplen; ! #endif ! ! if(*tvtv_sec,tv->tv_usec); ! PvOctets rcv(caplen,(OCTSTR)s+hlen); ! rcv.print(); ! return command(); ! } int PktCtlClient::dumpConfirmation() { ! int rc=result(); ! STR s=buffer(); ! uint32_t l=bodyLength(); ! if(rc==0&&l==0) { ! printf("std:buffer empty\n"); ! terminate(); ! exit(0); ! } ! if(s==0||l==0) { ! printf("err:pktctl result=%d length=%d\n",rc,l); ! terminate(); ! exit(3); ! } ! #if defined(__linux__) ! pcap_pkthdr* hdr = (pcap_pkthdr*)s; ! hdr->ts.tv_sec = ntohl( hdr->ts.tv_sec ); ! hdr->ts.tv_usec = ntohl( hdr->ts.tv_usec ); ! timeval *tv = &(hdr->ts); ! printf( "std: %ld.%06ld\n", tv->tv_sec, tv->tv_usec ); ! uint32_t hlen = ntohs( sizeof(struct pcap_pkthdr) ); ! uint32_t caplen = ntohl( hdr->caplen ); ! #else ! bpf_hdr* hdr=(bpf_hdr*)s; ! hdr->bh_tstamp.tv_sec=ntohl(hdr->bh_tstamp.tv_sec); ! hdr->bh_tstamp.tv_usec=ntohl(hdr->bh_tstamp.tv_usec); ! timeval *tv=&(hdr->bh_tstamp); ! printf("std: %ld.%06ld\n",tv->tv_sec,tv->tv_usec); ! uint32_t hlen=ntohs(hdr->bh_hdrlen); ! uint32_t caplen=ntohl(hdr->bh_caplen); ! #endif ! PvOctets rcv(caplen,(OCTSTR)s+hlen); ! rcv.print(); ! printf("\n"); ! if(rc) ! return dumpIndication(rc); ! else ! return command(); ! } int PktCtlClient::command(int) { int rc=0; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktRcvClient.cc v6eval-linux/lib/pkt/PktRcvClient.cc *** v6eval-3.0.12/lib/pkt/PktRcvClient.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktRcvClient.cc 2008-04-03 14:00:14.000000000 -0600 *************** *** 54,60 **** --- 54,65 ---- #include "PAlgorithm.h" #include "RAFControl.h" #include + #if defined(__linux__) + #include + #include + #else #include + #endif PktRcvClient::PktRcvClient(const McObject* m,AlgorithmFrames& l):PktClient(), reverser_(m),candidates_(l),evalc(1) {} *************** *** 74,79 **** --- 79,99 ---- int PktRcvClient::sendConnect(CSTR) { return PktClient::sendConnect("pktrecv");} + + #if defined(__linux__) + bool PktRcvClient::evaluate( const pcap_pkthdr& h, STR s ) { + time_t sec = h.ts.tv_sec; + uint32_t usec = h.ts.tv_usec; + uint32_t hlen = sizeof(struct pcap_pkthdr); + uint32_t caplen = h.caplen; + PvOctets rcv( caplen, (OCTSTR)s + hlen ); + RAFControl rc( candidates_ ); + bool okng = false; + CSTR result = rc.reverseEvaluate( *reverser_, rcv, okng ); + printf( "std: %ld.%06d %s\n", (long)sec, usec, result ); + return okng; + } + #else bool PktRcvClient::evaluate(const bpf_hdr& h,STR s) { time_t sec=h.bh_tstamp.tv_sec; uint32_t usec=h.bh_tstamp.tv_usec; *************** *** 85,90 **** --- 105,111 ---- CSTR result=rc.reverseEvaluate(*reverser_,rcv,okng); printf("std: %ld.%06d %s\n",(long)sec,usec,result); return okng;} + #endif int PktRcvClient::readConfirmation() { int rc=result(); *************** *** 96,101 **** --- 117,131 ---- if(rc!=0||s==0||l==0) { printf("err:pktbuf result=%d length=%d\n",rc,l); terminate(); exit(3);} + #if defined(__linux__) + pcap_pkthdr* hdr = (pcap_pkthdr*)s; + pcap_pkthdr host; + host.ts.tv_sec = ntohl( hdr->ts.tv_sec ); + host.ts.tv_usec = ntohl( hdr->ts.tv_usec ); + host.caplen = ntohl( hdr->caplen ); + host.len = ntohl( hdr->len ); + struct timeval tstamp = host.ts; + #else bpf_hdr* hdr=(bpf_hdr*)s; bpf_hdr host; host.bh_tstamp.tv_sec=ntohl(hdr->bh_tstamp.tv_sec); *************** *** 103,109 **** host.bh_hdrlen=ntohs(hdr->bh_hdrlen); host.bh_caplen=ntohl(hdr->bh_caplen); host.bh_datalen=ntohl(hdr->bh_datalen); ! if(host.bh_tstampbh_hdrlen); host.bh_caplen=ntohl(hdr->bh_caplen); host.bh_datalen=ntohl(hdr->bh_datalen); ! struct timeval tstamp = host.bh_tstamp; ! #endif ! if( tstamp < RunEnv::seek()) { printf("log: skip evaluate\n"); } else { if(evaluate(host,s)) {terminate(); exit(0);} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktRcvClient.h v6eval-linux/lib/pkt/PktRcvClient.h *** v6eval-3.0.12/lib/pkt/PktRcvClient.h 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktRcvClient.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 45,51 **** --- 45,55 ---- #if !defined(__PktRcvClient_h__) #define __PktRcvClient_h__ 1 #include "PktClient.h" + #if defined(__linux__) + struct pcap_pkthdr; + #else struct bpf_hdr; + #endif class McObject; class AlgorithmFrames; class PktRcvClient:public PktClient { *************** *** 62,68 **** --- 66,76 ---- virtual int connectConfirmation(); int readIndication(); int readConfirmation(); + #if defined(__linux__) + bool evaluate(const pcap_pkthdr&,STR); + #else bool evaluate(const bpf_hdr&,STR); + #endif //---------------------------------------------------------------------- virtual int sendConnect(CSTR); }; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktRecv.cc v6eval-linux/lib/pkt/PktRecv.cc *** v6eval-3.0.12/lib/pkt/PktRecv.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktRecv.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 80,85 **** --- 80,86 ---- tcpHead h=header(); h.request(h.request()|eResponse_); h.result(r); + printf("DEBUG: PktRecv.cc 0x%x \n",s); return sendPacket(h,l,s)>=0?0:-1;} //====================================================================== *************** *** 125,137 **** eRequest r=(eRequest)request(); if(DBGFLAGS('i')) { printf("PktReceiver::analizePacket request=%4.4x\n",r&0xffff);} ! if(DBGFLAGS('x')) { printf("PktReceiver::analizePacket\n"); printf(" request=%4.4x length=%d, result=%d\n", r&0xffff,header().length(),header().result()); PvOctets body(header().length(),(OCTSTR)buffer(0)); body.print(); ! printf("\n");} if(r&eResponse_) {rc=analizeConfirmation(r&eMask_);} else {rc=analizeRequest(r);} return rc;} --- 126,139 ---- eRequest r=(eRequest)request(); if(DBGFLAGS('i')) { printf("PktReceiver::analizePacket request=%4.4x\n",r&0xffff);} ! // if(DBGFLAGS('x')) { printf("PktReceiver::analizePacket\n"); printf(" request=%4.4x length=%d, result=%d\n", r&0xffff,header().length(),header().result()); PvOctets body(header().length(),(OCTSTR)buffer(0)); body.print(); ! printf("\n"); ! //} if(r&eResponse_) {rc=analizeConfirmation(r&eMask_);} else {rc=analizeRequest(r);} return rc;} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PktServer.cc v6eval-linux/lib/pkt/PktServer.cc *** v6eval-3.0.12/lib/pkt/PktServer.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PktServer.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 48,54 **** --- 48,59 ---- #include #include #include + #if defined(__linux__) + #include + #include + #else #include + #endif #include #include "CmDispatch.h" #include "CmMain.h" *************** *** 149,154 **** --- 154,167 ---- return(readResponse(tmp,len));} int PktServer::readResponse(char *p, int32_t size) { + #if defined(__linux__) + struct pcap_pkthdr* hdr=(pcap_pkthdr*)p; + const struct pcap_pkthdr hdrorg=*hdr; + hdr->ts.tv_sec=htonl(hdrorg.ts.tv_sec); + hdr->ts.tv_usec=htonl(hdrorg.ts.tv_usec); + hdr->caplen=htonl(hdrorg.caplen); + hdr->len=htonl(hdrorg.len); + #else struct bpf_hdr* hdr=(bpf_hdr*)p; const struct bpf_hdr hdrorg=*hdr; hdr->bh_tstamp.tv_sec=htonl(hdrorg.bh_tstamp.tv_sec); *************** *** 156,161 **** --- 169,175 ---- hdr->bh_caplen=htonl(hdrorg.bh_caplen); hdr->bh_datalen=htonl(hdrorg.bh_datalen); hdr->bh_hdrlen=htons(hdrorg.bh_hdrlen); + #endif dispatch()->stopTimer(this); return(response(0,size,p));} *************** *** 201,206 **** --- 215,228 ---- int size=bpfbuf_->readn(tmp,dp); if(size!=0){ // convert network byte order + #if defined(__linux__) + struct pcap_pkthdr* hdr=(pcap_pkthdr*)tmp; + const struct pcap_pkthdr hdrorg=*hdr; + hdr->ts.tv_sec=htonl(hdrorg.ts.tv_sec); + hdr->ts.tv_usec=htonl(hdrorg.ts.tv_usec); + hdr->caplen=htonl(hdrorg.caplen); + hdr->len=htonl(hdrorg.len); + #else struct bpf_hdr* hdr=(bpf_hdr*)tmp; const struct bpf_hdr hdrorg=*hdr; hdr->bh_tstamp.tv_sec=htonl(hdrorg.bh_tstamp.tv_sec); *************** *** 208,213 **** --- 230,236 ---- hdr->bh_caplen=htonl(hdrorg.bh_caplen); hdr->bh_datalen=htonl(hdrorg.bh_datalen); hdr->bh_hdrlen=htons(hdrorg.bh_hdrlen); + #endif } if(size==0||++dp >= datanum) dp=0; // buffer has more data return(response(dp,size,tmp));} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/PzParse.y v6eval-linux/lib/pkt/PzParse.y *** v6eval-3.0.12/lib/pkt/PzParse.y 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/PzParse.y 2008-04-03 10:00:18.000000000 -0600 *************** *** 182,188 **** --- 182,192 ---- #define YYPARSE_PARAM_TYPE LxLexer& #define yyparse(lex)parse(lex) #else + #if ! defined(__linux__) #define yyparse()parse(LxLexer& lexer) + #else + #define yyparse(void)parse(LxLexer& lexer) + #endif #endif #define yylex()lexer.lex(compound_) #define yyerror lexer.yaccError diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/RAFControl.h v6eval-linux/lib/pkt/RAFControl.h *** v6eval-3.0.12/lib/pkt/RAFControl.h 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/RAFControl.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 70,76 **** CSTR reverseEvaluate(const McObject&,PvOctets&,bool&); bool evaluateWith(RObject*,WObject*) const; WObject* evaluateAlgorithm(RObject*) const; ! WObject* RAFControl::evaluate(RObject*); virtual void reset(); void applyFrame(const WObject* w) const; const WAlgorithm* appliedAlgorithm() const; --- 70,77 ---- CSTR reverseEvaluate(const McObject&,PvOctets&,bool&); bool evaluateWith(RObject*,WObject*) const; WObject* evaluateAlgorithm(RObject*) const; ! // WObject* RAFControl::evaluate(RObject*); ! WObject* evaluate(RObject*); virtual void reset(); void applyFrame(const WObject* w) const; const WAlgorithm* appliedAlgorithm() const; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/pkt/RunEnv.cc v6eval-linux/lib/pkt/RunEnv.cc *** v6eval-3.0.12/lib/pkt/RunEnv.cc 2008-03-12 13:17:46.000000000 -0600 --- v6eval-linux/lib/pkt/RunEnv.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 52,57 **** --- 52,60 ---- #include #include #include + #if defined(__linux__) + #include + #endif IfName::IfName(CSTR n,CSTR i,CSTR e):CmCString(n),interface_(i),ether_(e) {} IfName::~IfName() {} IfName* IfName::create(CSTR n,CSTR i,CSTR m,CSTR file,uint32_t line) { diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/crypto/hmac/hmac.c v6eval-linux/lib/Pz/crypto/hmac/hmac.c *** v6eval-3.0.12/lib/Pz/crypto/hmac/hmac.c 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/crypto/hmac/hmac.c 2008-04-03 10:00:18.000000000 -0600 *************** *** 113,119 **** memcpy(&ctx->md_ctx,&ctx->i_ctx,sizeof(ctx->i_ctx)); } ! void HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, int len) { EVP_DigestUpdate(&(ctx->md_ctx),data,len); } --- 113,119 ---- memcpy(&ctx->md_ctx,&ctx->i_ctx,sizeof(ctx->i_ctx)); } ! void HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len) { EVP_DigestUpdate(&(ctx->md_ctx),data,len); } *************** *** 138,144 **** } unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, ! const unsigned char *d, int n, unsigned char *md, unsigned int *md_len) { HMAC_CTX c; --- 138,144 ---- } unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, ! const unsigned char *d, size_t n, unsigned char *md, unsigned int *md_len) { HMAC_CTX c; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/crypto/sha2/sha2.c v6eval-linux/lib/Pz/crypto/sha2/sha2.c *** v6eval-3.0.12/lib/Pz/crypto/sha2/sha2.c 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/crypto/sha2/sha2.c 2008-04-03 10:00:18.000000000 -0600 *************** *** 39,45 **** --- 39,49 ---- #include #include + #if defined(__linux__) + #include + #else #include + #endif #include #include diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/Makefile v6eval-linux/lib/Pz/Makefile *** v6eval-3.0.12/lib/Pz/Makefile 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/Makefile 2008-04-03 10:00:18.000000000 -0600 *************** *** 1,5 **** ! LIB= Pz ! SRCS= DmObject.cc ItPosition.cc McAH.cc McARP.cc McAlgorithm.cc \ McDHCPv6.cc McDNS.cc McESP.cc McEther.cc McICMPv4.cc \ McICMPv6.cc McIGMP.cc McIKE.cc McIPv4.cc McIPv6.cc McInit.cc \ McMLDv2.cc McMobility.cc McNoNext.cc McNull.cc McObject.cc \ --- 1,5 ---- ! LIB = libPz.a ! SRCS = DmObject.cc ItPosition.cc McAH.cc McARP.cc McAlgorithm.cc \ McDHCPv6.cc McDNS.cc McESP.cc McEther.cc McICMPv4.cc \ McICMPv6.cc McIGMP.cc McIKE.cc McIPv4.cc McIPv6.cc McInit.cc \ McMLDv2.cc McMobility.cc McNoNext.cc McNull.cc McObject.cc \ *************** *** 11,67 **** PvObject.cc PvOctets.cc RObject.cc WObject.cc hmac.c \ rijndael-alg-fst.c rijndael-api-fst.c sha2.c ! CXXFLAGS+= -O0 -I$(Cm) -I. ! CFLAGS+= -I$(Cm) -I. ! #CXXFLAGS= -pipe -g -Wall -I./ -I$(Cm) ! #CFLAGS= -pipe -g -Wall -I./ -I$(Cm) -I/usr/local/include ! ! .PATH: ${.CURDIR}/crypto/sha2 ${.CURDIR}/crypto/rijndael ${.CURDIR}/crypto/hmac ! ! # , NEMO Basic Support ! # CXXFLAGS+= -DTBD_OPT_MH_MOB_NETWORK_PREF=6 ! ! # , ! # Default Router Preferences and More-Specific Routes ! # CXXFLAGS+= -DTBD_OPT_ROUTE_INFO=200 ! ! # , ! # Time Configuration Options for DHCPv6 ! # CXXFLAGS+= -DTBD_OPT_NTP_SERVERS=27 ! # CXXFLAGS+= -DTBD_OPT_TIME_ZONE=28 ! # RFC 1157, SNMP ! # RFC 1905, Protocol Operations for SNMPv2 ! # CXXFLAGS+= -DNOT_USE_SNMP ! # RFC 3376, IGMPv3 ! # CXXFLAGS+= -DNOT_USE_IGMPV3_QUERY ! ! # RFC 3810, MLDv2 for IPv6 ! # CXXFLAGS+= -DUSE_MLDV2_QUERY ! ! # RFC 3775, Mobility Support in IPv6 ! # CXXFLAGS+= -DRR_DBG ! ! # RFC 3315, DHCP for IPv6 ! # CXXFLAGS+= -DDHCP_DBG ! ! # RFC 3768, VRRP ! # draft-ietf-vrrp-ipv6-spec-06.txt, VRRP for IPv6 ! # CXXFLAGS+= -DVRRP_DBG ! # RFC 2408, ISAKMP ! # CXXFLAGS+= -DISAKMP_DBG ! # RFC 3566, AES-XCBC-MAC-96 Algorithm ! # CXXFLAGS+= -DAESXCBC_DBG ! # RFC 3686, Using AES Counter Mode With IPsec ESP ! # CXXFLAGS+= -DAESCTR_DBG ! # RFC 4303, IP Encapsulating Security Payload (ESP) ! # 2.2.1. Extended (64-bit) Sequence Number ! # CXXFLAGS+= -DESN_DBG ! .include "bsd.lib.mk" --- 11,47 ---- PvObject.cc PvOctets.cc RObject.cc WObject.cc hmac.c \ rijndael-alg-fst.c rijndael-api-fst.c sha2.c ! OBJS = DmObject.o ItPosition.o McAH.o McARP.o McAlgorithm.o \ ! McDHCPv6.o McDNS.o McESP.o McEther.o McICMPv4.o \ ! McICMPv6.o McIGMP.o McIKE.o McIPv4.o McIPv6.o McInit.o \ ! McMLDv2.o McMobility.o McNoNext.o McNull.o McObject.o \ ! McRIPng.o McRR.o McSIP.o McSNMP.o McSub.o McTCP.o \ ! McUDP.o McVRRP.o MfAlgorithm.o MmChecksum.o MmData.o \ ! MmHeader.o MmObject.o MvArgCheck.o MvFunction.o \ ! PAlgorithm.o PControl.o PObject.o PcObject.o PlObject.o \ ! PrItem.o PvAction.o PvAutoItem.o PvIfName.o PvName.o \ ! PvObject.o PvOctets.o RObject.o WObject.o hmac.o \ ! rijndael-alg-fst.o rijndael-api-fst.o sha2.o ! Cm = ../Cm ! CFLAGS+= -O0 -I$(Cm) -I. -pipe -g -DYYDEBUG -Wall -fno-strict-aliasing ! CXXFLAGS+= ${CFLAGS} -Woverloaded-virtual ! #CXXFLAGS= -pipe -g -Wall -I./ -I$(Cm) ! #CFLAGS= -pipe -g -Wall -I./ -I$(Cm) -I/usr/local/include ! VPATH = crypto/sha2:crypto/rijndael:crypto/hmac ! .PHONY: all ! all: ${LIB} ! ${LIB}: ${OBJS} ! $(AR) r $@ $? ! .PHONY: install ! install: ; ! .PHONY: clean ! clean: ! rm -f *.o ${LIB} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/McIKE.h v6eval-linux/lib/Pz/McIKE.h *** v6eval-3.0.12/lib/Pz/McIKE.h 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/McIKE.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 398,404 **** class PaISAKMP: public PaESP { public: ! PaISAKMP::PaISAKMP(const MObject *m, CSTR st, int l): PaESP(m, st, l) {}; virtual ~PaISAKMP() {} --- 398,405 ---- class PaISAKMP: public PaESP { public: ! // PaISAKMP::PaISAKMP(const MObject *m, CSTR st, int l): ! PaISAKMP(const MObject *m, CSTR st, int l): PaESP(m, st, l) {}; virtual ~PaISAKMP() {} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/McSub.h v6eval-linux/lib/Pz/McSub.h *** v6eval-3.0.12/lib/Pz/McSub.h 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/McSub.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 49,55 **** #include "MmObject.h" #include //for bpf.h ! #include #include class PControl; --- 49,56 ---- #include "MmObject.h" #include //for bpf.h ! // #include ! #include #include class PControl; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/MfAlgorithm.cc v6eval-linux/lib/Pz/MfAlgorithm.cc *** v6eval-3.0.12/lib/Pz/MfAlgorithm.cc 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/MfAlgorithm.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 217,222 **** --- 217,223 ---- scheduleKeys(key,schd); BF_cbc_encrypt(is,os,l,&schd,iv,DES_DECRYPT);} + #if ! defined(__linux__) #include //---------------------------------------------------------------------- // RC5 CRYPT ALGORITHM *************** *** 234,239 **** --- 235,241 ---- RC5_32_KEY schd; scheduleKeys(key,schd); RC5_32_cbc_encrypt(is,os,l,&schd,iv,DES_DECRYPT);} + #endif #include //---------------------------------------------------------------------- *************** *** 589,596 **** --- 591,600 ---- MfDESCBC::~MfDESCBC() {} MfBLOWFISH::MfBLOWFISH(CSTR s,uint8_t k,uint8_t i,uint8_t a):MfCryptKey(s,k,i,a) {} MfBLOWFISH::~MfBLOWFISH() {} + #if ! defined(__linux__) MfRC5::MfRC5(CSTR s,uint8_t k,uint8_t i,uint8_t a):MfCryptKey(s,k,i,a) {} MfRC5::~MfRC5() {} + #endif MfCAST128::MfCAST128(CSTR s,uint8_t k,uint8_t i,uint8_t a):MfCryptKey(s,k,i,a) {} MfCAST128::~MfCAST128() {} MfDES3CBC::MfDES3CBC(CSTR s,uint8_t k,uint8_t i,uint8_t a):MfCryptKey(s,k,i,a) {} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/MfAlgorithm.h v6eval-linux/lib/Pz/MfAlgorithm.h *** v6eval-3.0.12/lib/Pz/MfAlgorithm.h 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/MfAlgorithm.h 2008-04-03 10:00:18.000000000 -0600 *************** *** 48,54 **** --- 48,56 ---- #include #include #include + #if ! defined(__linux__) #include + #endif #include #include *************** *** 242,247 **** --- 244,250 ---- }; //---------------------------------------------------------------------- + #if ! defined(__linux__) class MfRC5:public MfCryptKey { public: MfRC5(CSTR,uint8_t,uint8_t,uint8_t); *************** *** 250,255 **** --- 253,259 ---- virtual void encrypt(OCTSTR,OCTSTR,uint32_t,const PObject*,OCTSTR) const; virtual void decrypt(OCTSTR,OCTSTR,uint32_t,const PObject*,OCTSTR) const; }; + #endif //---------------------------------------------------------------------- class MfCAST128:public MfCryptKey { *************** *** 402,408 **** virtual PvOctets* result(OCTSTR, const PObjectList &) const; struct aes_ctx *crypto_alloc_xcbc_block(void) const; void crypto_free_xcbc_block(struct aes_ctx *) const; ! void MfAES_XCBC::_crypto_xcbc_init(struct aes_ctx *, const u_int8_t *, const int) const; void xor_128(u_int8_t *, const u_int8_t *) const; }; --- 406,413 ---- virtual PvOctets* result(OCTSTR, const PObjectList &) const; struct aes_ctx *crypto_alloc_xcbc_block(void) const; void crypto_free_xcbc_block(struct aes_ctx *) const; ! // void MfAES_XCBC::_crypto_xcbc_init(struct aes_ctx *, ! void _crypto_xcbc_init(struct aes_ctx *, const u_int8_t *, const int) const; void xor_128(u_int8_t *, const u_int8_t *) const; }; diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/lib/Pz/PvOctets.cc v6eval-linux/lib/Pz/PvOctets.cc *** v6eval-3.0.12/lib/Pz/PvOctets.cc 2008-03-12 13:17:45.000000000 -0600 --- v6eval-linux/lib/Pz/PvOctets.cc 2008-04-03 10:00:18.000000000 -0600 *************** *** 67,72 **** --- 67,75 ---- } */ #endif + #if defined(__linux__) + #include + #endif #include PvOctets::~PvOctets() { *************** *** 123,129 **** --- 126,136 ---- bool PvEther::pton(CSTR p) { if(p==0) {return false;} struct ether_addr *n=ether_aton((char*)p); + #if defined(__linux__) + if(n!=0) {set(length(),n->ether_addr_octet);} + #else if(n!=0) {set(length(),n->octet);} + #endif return (n!=0);} PvEther::PvEther(const PvV6Addr& v6,OCTSTR o):PvOctets(sizeof(etheraddr),o) { multicast(v6);} diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/Makefile v6eval-linux/Makefile *** v6eval-3.0.12/Makefile 2008-03-12 13:17:47.000000000 -0600 --- v6eval-linux/Makefile 2008-04-03 10:00:20.000000000 -0600 *************** *** 1,24 **** ! SUBDIR=lib bin etc script include ! PREFIX= /usr/local/v6eval DOCFILES=00README INSTALL CHANGELOG \ 00README.v6eval INSTALL.v6eval CHANGELOG.v6eval \ COPYRIGHT ! DIRS= $(PREFIX) $(PREFIX)/bin $(PREFIX)/man $(PREFIX)/doc #SECTIONS= 1 2 3 4 5 6 7 8 9 n SECTIONS= 1 .MAIN: depend all ! beforeinstall: ! for i in $(DIRS); do \ ! [ -d $$i ] || mkdir $$i; \ done ! # for i in $(SECTIONS); do \ ! # [ -d $(PREFIX)/man/man$$i ] || mkdir $(PREFIX)/man/man$$i; \ ! # [ -d $(PREFIX)/man/cat$$i ] || mkdir $(PREFIX)/man/cat$$i; \ ! # done ! for i in $(SECTIONS); do \ ! [ -d $(PREFIX)/man/man$$i ] || mkdir $(PREFIX)/man/man$$i; \ done - install -c -o bin -g bin -m 444 $(DOCFILES) $(PREFIX)/doc ! .include --- 1,34 ---- ! SUBDIRS = lib bin etc script include ! export PREFIX= /usr/local/v6eval DOCFILES=00README INSTALL CHANGELOG \ 00README.v6eval INSTALL.v6eval CHANGELOG.v6eval \ COPYRIGHT ! DIRS= $(PREFIX) $(PREFIX)/man $(PREFIX)/doc #SECTIONS= 1 2 3 4 5 6 7 8 9 n SECTIONS= 1 .MAIN: depend all ! ! .PHONY: all ${SUBDIRS} ! all: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir; \ done ! ! clean: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir clean; \ done ! .PHONY: install ! install: ! for dir in ${DIRS}; do \ ! install -d -o bin -g bin -m 755 $$dir; \ ! done ! for i in ${SECTIONS}; do \ ! install -d -o bin -g bin -m 755 ${PREFIX}/man/man$$i; \ ! done ! install -c -o bin -g bin -m 444 ${DOCFILES} ${PREFIX}/doc ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir install; \ ! done diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/script/Makefile v6eval-linux/script/Makefile *** v6eval-3.0.12/script/Makefile 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/script/Makefile 2008-04-03 10:00:17.000000000 -0600 *************** *** 1,2 **** ! SUBDIR=pmod ! .include --- 1,20 ---- ! SUBDIRS = pmod ! ! .PHONY: all ! all: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir all; \ ! done ! ! .PHONY: clean ! clean: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir clean; \ ! done ! ! .PHONY: install ! install: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir install; \ ! done ! diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/script/pmod/Makefile v6eval-linux/script/pmod/Makefile *** v6eval-3.0.12/script/pmod/Makefile 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/script/pmod/Makefile 2008-04-03 10:00:17.000000000 -0600 *************** *** 1,2 **** ! SUBDIR=V6evalTool V6evalRemote V6evalCommon ! .include --- 1,20 ---- ! SUBDIRS = V6evalTool V6evalRemote V6evalCommon ! ! .PHONY: all ! all: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir all; \ ! done ! ! .PHONY: clean ! clean: ! for dir in $(SUBDIRS); do \ ! $(MAKE) -C $$dir clean; \ ! done ! ! .PHONY: install ! install: ! for dir in ${SUBDIRS}; do \ ! $(MAKE) -C $$dir install; \ ! done ! diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/script/pmod/V6evalRemote/V6evalRemote.pm v6eval-linux/script/pmod/V6evalRemote/V6evalRemote.pm *** v6eval-3.0.12/script/pmod/V6evalRemote/V6evalRemote.pm 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/script/pmod/V6evalRemote/V6evalRemote.pm 2008-04-03 10:00:17.000000000 -0600 *************** *** 125,238 **** # login prompt %prompt_user = ( ); - # %prompt_user = ( - # 'kame-freebsd', 'login: ', - # 'freebsd43-i386', 'login: ', - # 'hitachi-nr60', 'login:', - # 'hitachi-nr60-v2', 'login:', - # 'hitachi-gr2k', 'login:', - # 'hitachi-gr2k-beta', 'login:', - # 'nec-libra', 'login: ', - # 'nec-libra-utcpip', 'login: ', - # 'nec-mip6', 'login: ', - # 'nec-ix1k', 'login: ', - # 'sfc-mip6', 'login: ', - # 'yamaha-ws-one', '(starts|Yamaha Corporation)', - # 'linux-v6', 'login: ', - # 'sun-solaris', 'login: ', - # 'ms-win2k', 'Login: ', - # 'cisco-ios', 'get started', - # 'iij-seil', 'login: ', - # 'telebit-tbc2k', 'Username:', - # 'mgcs-sj6', 'login: ', - # 'netbsd-i386', 'login: ', - # 'kame-netbsd-i386', 'login: ', - # 'freebsd-i386', 'login: ', - # 'openbsd-i386', 'login: ', - # 'aix', 'login: ', - # 'hpux', 'login: ', - # 'usagi-i386', 'login: ', - # 'usagi24-i386', 'login: ', - # 'mipl', 'login: ', - # 'lcna', 'login: ', - # 'ttb3010', 'login: ', - # 'unitedlinux', 'login: ', - # ); # password prompt %prompt_password = ( ); - # %prompt_password = ( - # 'kame-freebsd', 'Password:', - # 'freebsd43-i386', 'Password:', - # 'hitachi-nr60', 'Password:', - # 'hitachi-nr60-v2', 'Password:', - # 'hitachi-gr2k', 'Password:', - # 'hitachi-gr2k-beta', 'Password:', - # 'nec-libra', 'Password:', - # 'nec-libra-utcpip', 'Password:', - # 'nec-mip6', 'Password:', - # 'nec-ix1k', 'Password:', - # 'sfc-mip6', 'Password:', - # 'yamaha-ws-one', 'Password:', - # 'linux-v6', 'Password: ', - # 'sun-solaris', 'Password:', - # 'ms-win2k', 'Password:', - # 'cisco-ios', 'Password:', - # 'iij-seil', 'DUMMY_PROMPT', # dummy - # 'telebit-tbc2k', 'Password:', - # 'mgcs-sj6', 'Password:', - # 'netbsd-i386', 'Password:', - # 'kame-netbsd-i386', 'Password:', - # 'freebsd-i386', 'Password:', - # 'openbsd-i386', 'Password:', - # 'aix', 'Password:', - # 'hpux', 'Password:', - # 'usagi-i386', 'Password: ', - # 'usagi24-i386', 'Password: ', - # 'mipl', 'Password: ', - # 'lcna', 'Password:', - # 'ttb3010', 'Password:', - # 'unitedlinux', 'Password: ', - # ); # command prompt %prompt_command = ( ); - # %prompt_command = ( - # 'kame-freebsd', '(\$|#) ', - # 'freebsd43-i386', '(\$|#) ', - # 'hitachi-nr60', '% ', - # 'hitachi-nr60-v2', '% ', - # 'hitachi-gr2k', '(command|admin)(:|>) ', - # 'hitachi-gr2k-beta', '(command|admin): ', - # 'nec-libra', '(\$|#) ', - # 'nec-libra-utcpip', '(\$|#) ', - # 'nec-mip6', '(\$|#) ', - # 'nec-ix1k', '(\$|#) ', - # 'sfc-mip6', '(\$|#) ', - # 'yamaha-ws-one', '(>|#) ', - # 'linux-v6', '# ', - # 'sun-solaris', '# ', - # 'ms-win2k', '.:.>', - # 'cisco-ios', '(>|#)', - # 'iij-seil', '\r(>|#) ', - # 'telebit-tbc2k', '(> |% |accepted)', - # 'mgcs-sj6', '(\$|#) ', - # 'netbsd-i386', '(\$|#) ', - # 'kame-netbsd-i386', '(\$|#) ', - # 'freebsd-i386', '(\$|#) ', - # 'openbsd-i386', '(\$|#) ', - # 'aix', '(\$|#) ', - # 'hpux', '(\$|#) ', - # 'usagi-i386', '# ', - # 'usagi24-i386', '# ', - # 'mipl', '# ', - # 'lcna', '(\$|#) ', - # 'ttb3010', '(>|#) ', - # 'unitedlinux', '# ', - # ); # command of the admin mode if any %cmd_admin = ( --- 125,235 ---- # login prompt %prompt_user = ( + 'kame-freebsd', 'login: ', + 'freebsd43-i386', 'login: ', + 'hitachi-nr60', 'login:', + 'hitachi-nr60-v2', 'login:', + 'hitachi-gr2k', 'login:', + 'hitachi-gr2k-beta', 'login:', + 'nec-libra', 'login: ', + 'nec-libra-utcpip', 'login: ', + 'nec-mip6', 'login: ', + 'nec-ix1k', 'login: ', + 'sfc-mip6', 'login: ', + 'yamaha-ws-one', '(starts|Yamaha Corporation)', + 'linux-v6', 'login: ', + 'sun-solaris', 'login: ', + 'ms-win2k', 'Login: ', + 'cisco-ios', 'get started', + 'iij-seil', 'login: ', + 'telebit-tbc2k', 'Username:', + 'mgcs-sj6', 'login: ', + 'netbsd-i386', 'login: ', + 'kame-netbsd-i386', 'login: ', + 'freebsd-i386', 'login: ', + 'openbsd-i386', 'login: ', + 'aix', 'login: ', + 'hpux', 'login: ', + 'usagi-i386', 'login: ', + 'usagi24-i386', 'login: ', + 'mipl', 'login: ', + 'lcna', 'login: ', + 'ttb3010', 'login: ', + 'unitedlinux', 'login: ', + 'suse', 'login: ', ); # password prompt %prompt_password = ( + 'kame-freebsd', 'Password:', + 'freebsd43-i386', 'Password:', + 'hitachi-nr60', 'Password:', + 'hitachi-nr60-v2', 'Password:', + 'hitachi-gr2k', 'Password:', + 'hitachi-gr2k-beta', 'Password:', + 'nec-libra', 'Password:', + 'nec-libra-utcpip', 'Password:', + 'nec-mip6', 'Password:', + 'nec-ix1k', 'Password:', + 'sfc-mip6', 'Password:', + 'yamaha-ws-one', 'Password:', + 'linux-v6', 'Password: ', + 'sun-solaris', 'Password:', + 'ms-win2k', 'Password:', + 'cisco-ios', 'Password:', + 'iij-seil', 'DUMMY_PROMPT', # dummy + 'telebit-tbc2k', 'Password:', + 'mgcs-sj6', 'Password:', + 'netbsd-i386', 'Password:', + 'kame-netbsd-i386', 'Password:', + 'freebsd-i386', 'Password:', + 'openbsd-i386', 'Password:', + 'aix', 'Password:', + 'hpux', 'Password:', + 'usagi-i386', 'Password: ', + 'usagi24-i386', 'Password: ', + 'mipl', 'Password: ', + 'lcna', 'Password:', + 'ttb3010', 'Password:', + 'unitedlinux', 'Password: ', + 'suse', 'Password: ', ); # command prompt %prompt_command = ( + 'kame-freebsd', '(\$|#) ', + 'freebsd43-i386', '(\$|#) ', + 'hitachi-nr60', '% ', + 'hitachi-nr60-v2', '% ', + 'hitachi-gr2k', '(command|admin)(:|>) ', + 'hitachi-gr2k-beta', '(command|admin): ', + 'nec-libra', '(\$|#) ', + 'nec-libra-utcpip', '(\$|#) ', + 'nec-mip6', '(\$|#) ', + 'nec-ix1k', '(\$|#) ', + 'sfc-mip6', '(\$|#) ', + 'yamaha-ws-one', '(>|#) ', + 'linux-v6', '# ', + 'sun-solaris', '# ', + 'ms-win2k', '.:.>', + 'cisco-ios', '(>|#)', + 'iij-seil', '\r(>|#) ', + 'telebit-tbc2k', '(> |% |accepted)', + 'mgcs-sj6', '(\$|#) ', + 'netbsd-i386', '(\$|#) ', + 'kame-netbsd-i386', '(\$|#) ', + 'freebsd-i386', '(\$|#) ', + 'openbsd-i386', '(\$|#) ', + 'aix', '(\$|#) ', + 'hpux', '(\$|#) ', + 'usagi-i386', '# ', + 'usagi24-i386', '# ', + 'mipl', '# ', + 'lcna', '(\$|#) ', + 'ttb3010', '(>|#) ', + 'unitedlinux', '# ', + 'suse', '# ', ); # command of the admin mode if any %cmd_admin = ( *************** *** 256,295 **** # logout command %cmd_exit = ( ); - # %cmd_exit = ( - # 'kame-freebsd', 'exit', - # 'freebsd43-i386', 'exit', - # 'hitachi-nr60', 'exit', - # 'hitachi-nr60-v2', 'exit', - # 'hitachi-gr2k', 'exit', - # 'hitachi-gr2k-beta', 'exit', - # 'nec-libra', 'exit', - # 'nec-libra-utcpip', 'exit', - # 'nec-mip6', 'exit', - # 'nec-ix1k', 'exit', - # 'sfc-mip6', 'exit', - # 'yamaha-ws-one', 'exit', - # 'linux-v6', 'exit', - # 'sun-solaris', 'exit', - # 'ms-win2k', 'exit', - # 'cisco-ios', 'exit', - # 'iij-seil', 'exit', - # 'telebit-tbc2k', "\elogout\r", - # 'mgcs-sj6', 'exit', - # 'netbsd-i386', 'exit', - # 'kame-netbsd-i386', 'exit', - # 'freebsd-i386', 'exit', - # 'openbsd-i386', 'exit', - # 'aix', 'exit', - # 'hpux', 'exit', - # 'usagi-i386', 'exit', - # 'usagi24-i386', 'exit', - # 'mipl', 'exit', - # 'lcna', 'exit', - # 'ttb3010', 'logout', - # 'unitedlinux', 'exit', - # ); # confirmation for logout %prompt_exit_confirm = ( --- 253,291 ---- # logout command %cmd_exit = ( + 'kame-freebsd', 'exit', + 'freebsd43-i386', 'exit', + 'hitachi-nr60', 'exit', + 'hitachi-nr60-v2', 'exit', + 'hitachi-gr2k', 'exit', + 'hitachi-gr2k-beta', 'exit', + 'nec-libra', 'exit', + 'nec-libra-utcpip', 'exit', + 'nec-mip6', 'exit', + 'nec-ix1k', 'exit', + 'sfc-mip6', 'exit', + 'yamaha-ws-one', 'exit', + 'linux-v6', 'exit', + 'sun-solaris', 'exit', + 'ms-win2k', 'exit', + 'cisco-ios', 'exit', + 'iij-seil', 'exit', + 'telebit-tbc2k', "\elogout\r", + 'mgcs-sj6', 'exit', + 'netbsd-i386', 'exit', + 'kame-netbsd-i386', 'exit', + 'freebsd-i386', 'exit', + 'openbsd-i386', 'exit', + 'aix', 'exit', + 'hpux', 'exit', + 'usagi-i386', 'exit', + 'usagi24-i386', 'exit', + 'mipl', 'exit', + 'lcna', 'exit', + 'ttb3010', 'logout', + 'unitedlinux', 'exit', + 'suse', 'exit', ); # confirmation for logout %prompt_exit_confirm = ( *************** *** 351,390 **** # reboot command %cmd_reboot = ( ); - # %cmd_reboot = ( - # 'kame-freebsd', 'reboot', - # 'freebsd43-i386', 'reboot', - # 'hitachi-nr60', 'reboot', - # 'hitachi-nr60-v2', 'reboot', - # 'hitachi-gr2k', 'boot -nf', - # 'hitachi-gr2k-beta', 'boot -nf', - # 'nec-libra', 'reboot', - # 'nec-libra-utcpip', 'reboot', - # 'nec-mip6', 'reboot', - # 'nec-ix1k', 'reload y', - # 'sfc-mip6', 'reboot', - # 'yamaha-ws-one', 'restart', - # 'linux-v6', 'reboot', - # 'sun-solaris', 'reboot', - # # ms-win2k - # 'cisco-ios', 'reload', - # 'iij-seil', 'reboot', - # 'telebit-tbc2k', 'restart', - # 'mgcs-sj6', 'reboot', - # 'netbsd-i386', 'reboot', - # 'kame-netbsd-i386', 'reboot', - # 'freebsd-i386', 'reboot', - # 'openbsd-i386', 'reboot', - # 'aix', 'reboot', - # 'hpux', 'reboot', - # 'usagi-i386', 'reboot', - # 'usagi24-i386', 'reboot', - # 'mipl', 'reboot', - # 'lcna', 'reboot', - # 'ttb3010', 'reboot', - # 'unitedlinux', 'reboot', - # ); # final confirmation for reboot if any %prompt_reboot_confirm = ( --- 347,385 ---- # reboot command %cmd_reboot = ( + 'kame-freebsd', 'reboot', + 'freebsd43-i386', 'reboot', + 'hitachi-nr60', 'reboot', + 'hitachi-nr60-v2', 'reboot', + 'hitachi-gr2k', 'boot -nf', + 'hitachi-gr2k-beta', 'boot -nf', + 'nec-libra', 'reboot', + 'nec-libra-utcpip', 'reboot', + 'nec-mip6', 'reboot', + 'nec-ix1k', 'reload y', + 'sfc-mip6', 'reboot', + 'yamaha-ws-one', 'restart', + 'linux-v6', 'reboot', + 'sun-solaris', 'reboot', + # ms-win2k + 'cisco-ios', 'reload', + 'iij-seil', 'reboot', + 'telebit-tbc2k', 'restart', + 'mgcs-sj6', 'reboot', + 'netbsd-i386', 'reboot', + 'kame-netbsd-i386', 'reboot', + 'freebsd-i386', 'reboot', + 'openbsd-i386', 'reboot', + 'aix', 'reboot', + 'hpux', 'reboot', + 'usagi-i386', 'reboot', + 'usagi24-i386', 'reboot', + 'mipl', 'reboot', + 'lcna', 'reboot', + 'ttb3010', 'reboot', + 'unitedlinux', 'reboot', + 'suse', 'reboot', ); # final confirmation for reboot if any %prompt_reboot_confirm = ( *************** *** 439,475 **** # command for reading command status %cmd_status = ( ); - # %cmd_status = ( - # 'kame-freebsd', 'echo $status', - # 'freebsd43-i386', 'echo $status', - # 'hitachi-nr60', 'echo $status', - # 'hitachi-nr60-v2', 'echo $status', - # 'hitachi-gr2k', 'echo $status', - # 'hitachi-gr2k-beta', 'echo $status', - # 'nec-libra', 'echo $status', - # 'nec-libra-utcpip', 'echo $status', - # 'nec-mip6', 'echo $status', - # 'sfc-mip6', 'echo $status', - # 'linux-v6', 'echo $?', - # 'sun-solaris', 'echo $?', - # # ms-win2k - # # cisco-ios - # # iij-seil - # # ttb3010 - # 'mgcs-sj6', 'echo $status', - # 'netbsd-i386', 'echo $status', - # 'kame-netbsd-i386', 'echo $status', - # 'freebsd-i386', 'echo $status', - # 'openbsd-i386', 'echo $status', - # 'aix', 'echo $?', - # 'hpux', 'echo $?', - # 'usagi-i386', 'echo $?', - # 'usagi24-i386', 'echo $?', - # 'mipl', 'echo $?', - # 'lcna', 'echo $status', - # 'unitedlinux', 'echo $?', - # ); } ######################################################################## --- 434,469 ---- # command for reading command status %cmd_status = ( + 'kame-freebsd', 'echo $status', + 'freebsd43-i386', 'echo $status', + 'hitachi-nr60', 'echo $status', + 'hitachi-nr60-v2', 'echo $status', + 'hitachi-gr2k', 'echo $status', + 'hitachi-gr2k-beta', 'echo $status', + 'nec-libra', 'echo $status', + 'nec-libra-utcpip', 'echo $status', + 'nec-mip6', 'echo $status', + 'sfc-mip6', 'echo $status', + 'linux-v6', 'echo $?', + 'sun-solaris', 'echo $?', + # ms-win2k + # cisco-ios + # iij-seil + # ttb3010 + 'mgcs-sj6', 'echo $status', + 'netbsd-i386', 'echo $status', + 'kame-netbsd-i386', 'echo $status', + 'freebsd-i386', 'echo $status', + 'openbsd-i386', 'echo $status', + 'aix', 'echo $?', + 'hpux', 'echo $?', + 'usagi-i386', 'echo $?', + 'usagi24-i386', 'echo $?', + 'mipl', 'echo $?', + 'lcna', 'echo $status', + 'unitedlinux', 'echo $?', + 'suse', 'echo $?', ); } ######################################################################## diff --context=3 --recursive --unidirectional-new-file --exclude=.svn v6eval-3.0.12/script/pmod/V6evalTool/V6evalTool.pm v6eval-linux/script/pmod/V6evalTool/V6evalTool.pm *** v6eval-3.0.12/script/pmod/V6evalTool/V6evalTool.pm 2008-03-12 13:17:44.000000000 -0600 --- v6eval-linux/script/pmod/V6evalTool/V6evalTool.pm 2008-04-03 10:00:17.000000000 -0600 *************** *** 2721,2732 **** push(@PktbufPids,$ExecutingPid) if($ExecutingPid!=0); foreach(@PktbufPids){ prTrace("Exiting... sending SIGTERM to $_"); ! kill('TERM',$_) || prOut("Error in killing pktbuf pid=$_"); } sleep 1; foreach(@TcpdumpPids){ prTrace("Exiting... sending SIGTERM to $_"); ! kill('INT',$_) || prOut("Error in killing tcpdump pid=$_"); } foreach my $key (keys(%SIG)) { --- 2721,2732 ---- push(@PktbufPids,$ExecutingPid) if($ExecutingPid!=0); foreach(@PktbufPids){ prTrace("Exiting... sending SIGTERM to $_"); ! kill('TERM',$_) || system("kill -n 15 $_") || prOut("Error in killing pktbuf pid=$_"); } sleep 1; foreach(@TcpdumpPids){ prTrace("Exiting... sending SIGTERM to $_"); ! kill('INT',$_) || system("kill -n 15 $_") || prOut("Error in killing tcpdump pid=$_"); } foreach my $key (keys(%SIG)) {