add netbeans project
This commit is contained in:
5
.dep.inc
Normal file
5
.dep.inc
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# This code depends on make tool being used
|
||||||
|
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
|
||||||
|
ifneq (${DEPFILES},)
|
||||||
|
include ${DEPFILES}
|
||||||
|
endif
|
||||||
128
Makefile
Normal file
128
Makefile
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
#
|
||||||
|
# There exist several targets which are by default empty and which can be
|
||||||
|
# used for execution of your targets. These targets are usually executed
|
||||||
|
# before and after some main targets. They are:
|
||||||
|
#
|
||||||
|
# .build-pre: called before 'build' target
|
||||||
|
# .build-post: called after 'build' target
|
||||||
|
# .clean-pre: called before 'clean' target
|
||||||
|
# .clean-post: called after 'clean' target
|
||||||
|
# .clobber-pre: called before 'clobber' target
|
||||||
|
# .clobber-post: called after 'clobber' target
|
||||||
|
# .all-pre: called before 'all' target
|
||||||
|
# .all-post: called after 'all' target
|
||||||
|
# .help-pre: called before 'help' target
|
||||||
|
# .help-post: called after 'help' target
|
||||||
|
#
|
||||||
|
# Targets beginning with '.' are not intended to be called on their own.
|
||||||
|
#
|
||||||
|
# Main targets can be executed directly, and they are:
|
||||||
|
#
|
||||||
|
# build build a specific configuration
|
||||||
|
# clean remove built files from a configuration
|
||||||
|
# clobber remove all built files
|
||||||
|
# all build all configurations
|
||||||
|
# help print help mesage
|
||||||
|
#
|
||||||
|
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
|
||||||
|
# .help-impl are implemented in nbproject/makefile-impl.mk.
|
||||||
|
#
|
||||||
|
# Available make variables:
|
||||||
|
#
|
||||||
|
# CND_BASEDIR base directory for relative paths
|
||||||
|
# CND_DISTDIR default top distribution directory (build artifacts)
|
||||||
|
# CND_BUILDDIR default top build directory (object files, ...)
|
||||||
|
# CONF name of current configuration
|
||||||
|
# CND_PLATFORM_${CONF} platform name (current configuration)
|
||||||
|
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
|
||||||
|
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
|
||||||
|
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
|
||||||
|
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
|
||||||
|
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
|
||||||
|
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
|
||||||
|
#
|
||||||
|
# NOCDDL
|
||||||
|
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
MKDIR=mkdir
|
||||||
|
CP=cp
|
||||||
|
CCADMIN=CCadmin
|
||||||
|
|
||||||
|
|
||||||
|
# build
|
||||||
|
build: .build-post
|
||||||
|
|
||||||
|
.build-pre:
|
||||||
|
# Add your pre 'build' code here...
|
||||||
|
|
||||||
|
.build-post: .build-impl
|
||||||
|
# Add your post 'build' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# clean
|
||||||
|
clean: .clean-post
|
||||||
|
|
||||||
|
.clean-pre:
|
||||||
|
# Add your pre 'clean' code here...
|
||||||
|
|
||||||
|
.clean-post: .clean-impl
|
||||||
|
# Add your post 'clean' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# clobber
|
||||||
|
clobber: .clobber-post
|
||||||
|
|
||||||
|
.clobber-pre:
|
||||||
|
# Add your pre 'clobber' code here...
|
||||||
|
|
||||||
|
.clobber-post: .clobber-impl
|
||||||
|
# Add your post 'clobber' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# all
|
||||||
|
all: .all-post
|
||||||
|
|
||||||
|
.all-pre:
|
||||||
|
# Add your pre 'all' code here...
|
||||||
|
|
||||||
|
.all-post: .all-impl
|
||||||
|
# Add your post 'all' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# build tests
|
||||||
|
build-tests: .build-tests-post
|
||||||
|
|
||||||
|
.build-tests-pre:
|
||||||
|
# Add your pre 'build-tests' code here...
|
||||||
|
|
||||||
|
.build-tests-post: .build-tests-impl
|
||||||
|
# Add your post 'build-tests' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# run tests
|
||||||
|
test: .test-post
|
||||||
|
|
||||||
|
.test-pre: build-tests
|
||||||
|
# Add your pre 'test' code here...
|
||||||
|
|
||||||
|
.test-post: .test-impl
|
||||||
|
# Add your post 'test' code here...
|
||||||
|
|
||||||
|
|
||||||
|
# help
|
||||||
|
help: .help-post
|
||||||
|
|
||||||
|
.help-pre:
|
||||||
|
# Add your pre 'help' code here...
|
||||||
|
|
||||||
|
.help-post: .help-impl
|
||||||
|
# Add your post 'help' code here...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# include project implementation makefile
|
||||||
|
include nbproject/Makefile-impl.mk
|
||||||
|
|
||||||
|
# include project make variables
|
||||||
|
include nbproject/Makefile-variables.mk
|
||||||
150
nbproject/Makefile-Debug.mk
Normal file
150
nbproject/Makefile-Debug.mk
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
#
|
||||||
|
# Generated Makefile - do not edit!
|
||||||
|
#
|
||||||
|
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||||
|
# has a -pre and a -post target defined where you can add customized code.
|
||||||
|
#
|
||||||
|
# This makefile implements configuration specific macros and targets.
|
||||||
|
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
MKDIR=mkdir
|
||||||
|
CP=cp
|
||||||
|
GREP=grep
|
||||||
|
NM=nm
|
||||||
|
CCADMIN=CCadmin
|
||||||
|
RANLIB=ranlib
|
||||||
|
CC=gcc
|
||||||
|
CCC=g++
|
||||||
|
CXX=g++
|
||||||
|
FC=gfortran
|
||||||
|
AS=as
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
CND_CONF=Debug
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
|
||||||
|
# Include project Makefile
|
||||||
|
include Makefile
|
||||||
|
|
||||||
|
# Object Directory
|
||||||
|
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
|
# Object Files
|
||||||
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/src/main.o \
|
||||||
|
${OBJECTDIR}/src/map/natmap.o
|
||||||
|
|
||||||
|
# Test Directory
|
||||||
|
TESTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tests
|
||||||
|
|
||||||
|
# Test Files
|
||||||
|
TESTFILES= \
|
||||||
|
${TESTDIR}/TestFiles/f1
|
||||||
|
|
||||||
|
# C Compiler Flags
|
||||||
|
CFLAGS=
|
||||||
|
|
||||||
|
# CC Compiler Flags
|
||||||
|
CCFLAGS=
|
||||||
|
CXXFLAGS=
|
||||||
|
|
||||||
|
# Fortran Compiler Flags
|
||||||
|
FFLAGS=
|
||||||
|
|
||||||
|
# Assembler Flags
|
||||||
|
ASFLAGS=
|
||||||
|
|
||||||
|
# Link Libraries and Options
|
||||||
|
LDLIBSOPTIONS=-ltins -lpthread
|
||||||
|
|
||||||
|
# Build Targets
|
||||||
|
.build-conf: ${BUILD_SUBPROJECTS}
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat: ${OBJECTFILES}
|
||||||
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat ${OBJECTFILES} ${LDLIBSOPTIONS}
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main.o: src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Wall -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap.o: src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Wall -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.build-subprojects:
|
||||||
|
|
||||||
|
# Build Test Targets
|
||||||
|
.build-tests-conf: .build-conf ${TESTFILES}
|
||||||
|
${TESTDIR}/TestFiles/f1: ${TESTDIR}/tests/nattest.o ${TESTDIR}/tests/nattestrunner.o ${OBJECTFILES:%.o=%_nomain.o}
|
||||||
|
${MKDIR} -p ${TESTDIR}/TestFiles
|
||||||
|
${LINK.cc} -o ${TESTDIR}/TestFiles/f1 $^ ${LDLIBSOPTIONS} `cppunit-config --libs`
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattest.o: tests/nattest.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Wall -I. -std=c++11 `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattest.o tests/nattest.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattestrunner.o: tests/nattestrunner.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Wall -I. -std=c++11 `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattestrunner.o tests/nattestrunner.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main_nomain.o: ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/main.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -g -Wall -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main_nomain.o src/main.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/main_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap_nomain.o: ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/map/natmap.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -g -Wall -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap_nomain.o src/map/natmap.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/map/natmap.o ${OBJECTDIR}/src/map/natmap_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Test Targets
|
||||||
|
.test-conf:
|
||||||
|
@if [ "${TEST}" = "" ]; \
|
||||||
|
then \
|
||||||
|
${TESTDIR}/TestFiles/f1 || true; \
|
||||||
|
else \
|
||||||
|
./${TEST} || true; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean Targets
|
||||||
|
.clean-conf: ${CLEAN_SUBPROJECTS}
|
||||||
|
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
||||||
|
${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.clean-subprojects:
|
||||||
|
|
||||||
|
# Enable dependency checking
|
||||||
|
.dep.inc: .depcheck-impl
|
||||||
|
|
||||||
|
include .dep.inc
|
||||||
150
nbproject/Makefile-Release.mk
Normal file
150
nbproject/Makefile-Release.mk
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
#
|
||||||
|
# Generated Makefile - do not edit!
|
||||||
|
#
|
||||||
|
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||||
|
# has a -pre and a -post target defined where you can add customized code.
|
||||||
|
#
|
||||||
|
# This makefile implements configuration specific macros and targets.
|
||||||
|
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
MKDIR=mkdir
|
||||||
|
CP=cp
|
||||||
|
GREP=grep
|
||||||
|
NM=nm
|
||||||
|
CCADMIN=CCadmin
|
||||||
|
RANLIB=ranlib
|
||||||
|
CC=gcc
|
||||||
|
CCC=g++
|
||||||
|
CXX=g++
|
||||||
|
FC=gfortran
|
||||||
|
AS=as
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
CND_CONF=Release
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
|
||||||
|
# Include project Makefile
|
||||||
|
include Makefile
|
||||||
|
|
||||||
|
# Object Directory
|
||||||
|
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
|
# Object Files
|
||||||
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/src/main.o \
|
||||||
|
${OBJECTDIR}/src/map/natmap.o
|
||||||
|
|
||||||
|
# Test Directory
|
||||||
|
TESTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tests
|
||||||
|
|
||||||
|
# Test Files
|
||||||
|
TESTFILES= \
|
||||||
|
${TESTDIR}/TestFiles/f1
|
||||||
|
|
||||||
|
# C Compiler Flags
|
||||||
|
CFLAGS=
|
||||||
|
|
||||||
|
# CC Compiler Flags
|
||||||
|
CCFLAGS=
|
||||||
|
CXXFLAGS=
|
||||||
|
|
||||||
|
# Fortran Compiler Flags
|
||||||
|
FFLAGS=
|
||||||
|
|
||||||
|
# Assembler Flags
|
||||||
|
ASFLAGS=
|
||||||
|
|
||||||
|
# Link Libraries and Options
|
||||||
|
LDLIBSOPTIONS=
|
||||||
|
|
||||||
|
# Build Targets
|
||||||
|
.build-conf: ${BUILD_SUBPROJECTS}
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat: ${OBJECTFILES}
|
||||||
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat ${OBJECTFILES} ${LDLIBSOPTIONS}
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main.o: src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap.o: src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.build-subprojects:
|
||||||
|
|
||||||
|
# Build Test Targets
|
||||||
|
.build-tests-conf: .build-conf ${TESTFILES}
|
||||||
|
${TESTDIR}/TestFiles/f1: ${TESTDIR}/tests/nattest.o ${TESTDIR}/tests/nattestrunner.o ${OBJECTFILES:%.o=%_nomain.o}
|
||||||
|
${MKDIR} -p ${TESTDIR}/TestFiles
|
||||||
|
${LINK.cc} -o ${TESTDIR}/TestFiles/f1 $^ ${LDLIBSOPTIONS} `cppunit-config --libs`
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattest.o: tests/nattest.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -I. `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattest.o tests/nattest.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattestrunner.o: tests/nattestrunner.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -I. `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattestrunner.o tests/nattestrunner.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main_nomain.o: ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/main.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -O2 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main_nomain.o src/main.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/main_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap_nomain.o: ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/map/natmap.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -O2 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap_nomain.o src/map/natmap.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/map/natmap.o ${OBJECTDIR}/src/map/natmap_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Test Targets
|
||||||
|
.test-conf:
|
||||||
|
@if [ "${TEST}" = "" ]; \
|
||||||
|
then \
|
||||||
|
${TESTDIR}/TestFiles/f1 || true; \
|
||||||
|
else \
|
||||||
|
./${TEST} || true; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean Targets
|
||||||
|
.clean-conf: ${CLEAN_SUBPROJECTS}
|
||||||
|
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
||||||
|
${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.clean-subprojects:
|
||||||
|
|
||||||
|
# Enable dependency checking
|
||||||
|
.dep.inc: .depcheck-impl
|
||||||
|
|
||||||
|
include .dep.inc
|
||||||
150
nbproject/Makefile-Unitest.mk
Normal file
150
nbproject/Makefile-Unitest.mk
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
#
|
||||||
|
# Generated Makefile - do not edit!
|
||||||
|
#
|
||||||
|
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||||
|
# has a -pre and a -post target defined where you can add customized code.
|
||||||
|
#
|
||||||
|
# This makefile implements configuration specific macros and targets.
|
||||||
|
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
MKDIR=mkdir
|
||||||
|
CP=cp
|
||||||
|
GREP=grep
|
||||||
|
NM=nm
|
||||||
|
CCADMIN=CCadmin
|
||||||
|
RANLIB=ranlib
|
||||||
|
CC=gcc
|
||||||
|
CCC=g++
|
||||||
|
CXX=g++
|
||||||
|
FC=gfortran
|
||||||
|
AS=as
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
CND_CONF=Unitest
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
|
||||||
|
# Include project Makefile
|
||||||
|
include Makefile
|
||||||
|
|
||||||
|
# Object Directory
|
||||||
|
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
|
# Object Files
|
||||||
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/src/main.o \
|
||||||
|
${OBJECTDIR}/src/map/natmap.o
|
||||||
|
|
||||||
|
# Test Directory
|
||||||
|
TESTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tests
|
||||||
|
|
||||||
|
# Test Files
|
||||||
|
TESTFILES= \
|
||||||
|
${TESTDIR}/TestFiles/f1
|
||||||
|
|
||||||
|
# C Compiler Flags
|
||||||
|
CFLAGS=
|
||||||
|
|
||||||
|
# CC Compiler Flags
|
||||||
|
CCFLAGS=
|
||||||
|
CXXFLAGS=
|
||||||
|
|
||||||
|
# Fortran Compiler Flags
|
||||||
|
FFLAGS=
|
||||||
|
|
||||||
|
# Assembler Flags
|
||||||
|
ASFLAGS=
|
||||||
|
|
||||||
|
# Link Libraries and Options
|
||||||
|
LDLIBSOPTIONS=
|
||||||
|
|
||||||
|
# Build Targets
|
||||||
|
.build-conf: ${BUILD_SUBPROJECTS}
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat: ${OBJECTFILES}
|
||||||
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat ${OBJECTFILES} ${LDLIBSOPTIONS}
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main.o: src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Itest -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap.o: src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Itest -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.build-subprojects:
|
||||||
|
|
||||||
|
# Build Test Targets
|
||||||
|
.build-tests-conf: .build-conf ${TESTFILES}
|
||||||
|
${TESTDIR}/TestFiles/f1: ${TESTDIR}/tests/nattest.o ${TESTDIR}/tests/nattestrunner.o ${OBJECTFILES:%.o=%_nomain.o}
|
||||||
|
${MKDIR} -p ${TESTDIR}/TestFiles
|
||||||
|
${LINK.cc} -o ${TESTDIR}/TestFiles/f1 $^ ${LDLIBSOPTIONS} `cppunit-config --libs`
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattest.o: tests/nattest.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Itest -I. -std=c++11 `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattest.o tests/nattest.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${TESTDIR}/tests/nattestrunner.o: tests/nattestrunner.cpp
|
||||||
|
${MKDIR} -p ${TESTDIR}/tests
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -Itest -I. -std=c++11 `cppunit-config --cflags` -MMD -MP -MF "$@.d" -o ${TESTDIR}/tests/nattestrunner.o tests/nattestrunner.cpp
|
||||||
|
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/main_nomain.o: ${OBJECTDIR}/src/main.o src/main.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/main.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -g -Itest -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main_nomain.o src/main.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/main.o ${OBJECTDIR}/src/main_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
${OBJECTDIR}/src/map/natmap_nomain.o: ${OBJECTDIR}/src/map/natmap.o src/map/natmap.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/src/map
|
||||||
|
@NMOUTPUT=`${NM} ${OBJECTDIR}/src/map/natmap.o`; \
|
||||||
|
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
|
||||||
|
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
|
||||||
|
then \
|
||||||
|
${RM} "$@.d";\
|
||||||
|
$(COMPILE.cc) -g -Itest -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/map/natmap_nomain.o src/map/natmap.cpp;\
|
||||||
|
else \
|
||||||
|
${CP} ${OBJECTDIR}/src/map/natmap.o ${OBJECTDIR}/src/map/natmap_nomain.o;\
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run Test Targets
|
||||||
|
.test-conf:
|
||||||
|
@if [ "${TEST}" = "" ]; \
|
||||||
|
then \
|
||||||
|
${TESTDIR}/TestFiles/f1 || true; \
|
||||||
|
else \
|
||||||
|
./${TEST} || true; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean Targets
|
||||||
|
.clean-conf: ${CLEAN_SUBPROJECTS}
|
||||||
|
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
||||||
|
${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
|
||||||
|
# Subprojects
|
||||||
|
.clean-subprojects:
|
||||||
|
|
||||||
|
# Enable dependency checking
|
||||||
|
.dep.inc: .depcheck-impl
|
||||||
|
|
||||||
|
include .dep.inc
|
||||||
133
nbproject/Makefile-impl.mk
Normal file
133
nbproject/Makefile-impl.mk
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
#
|
||||||
|
# Generated Makefile - do not edit!
|
||||||
|
#
|
||||||
|
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||||
|
# has a pre- and a post- target defined where you can add customization code.
|
||||||
|
#
|
||||||
|
# This makefile implements macros and targets common to all configurations.
|
||||||
|
#
|
||||||
|
# NOCDDL
|
||||||
|
|
||||||
|
|
||||||
|
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
|
||||||
|
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
|
||||||
|
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
|
||||||
|
# and .clean-reqprojects-conf unless SUB has the value 'no'
|
||||||
|
SUB_no=NO
|
||||||
|
SUBPROJECTS=${SUB_${SUB}}
|
||||||
|
BUILD_SUBPROJECTS_=.build-subprojects
|
||||||
|
BUILD_SUBPROJECTS_NO=
|
||||||
|
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
|
||||||
|
CLEAN_SUBPROJECTS_=.clean-subprojects
|
||||||
|
CLEAN_SUBPROJECTS_NO=
|
||||||
|
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
|
||||||
|
|
||||||
|
|
||||||
|
# Project Name
|
||||||
|
PROJECTNAME=1T1NAT
|
||||||
|
|
||||||
|
# Active Configuration
|
||||||
|
DEFAULTCONF=Debug
|
||||||
|
CONF=${DEFAULTCONF}
|
||||||
|
|
||||||
|
# All Configurations
|
||||||
|
ALLCONFS=Debug Release Unitest
|
||||||
|
|
||||||
|
|
||||||
|
# build
|
||||||
|
.build-impl: .build-pre .validate-impl .depcheck-impl
|
||||||
|
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
|
||||||
|
|
||||||
|
|
||||||
|
# clean
|
||||||
|
.clean-impl: .clean-pre .validate-impl .depcheck-impl
|
||||||
|
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
|
||||||
|
|
||||||
|
|
||||||
|
# clobber
|
||||||
|
.clobber-impl: .clobber-pre .depcheck-impl
|
||||||
|
@#echo "=> Running $@..."
|
||||||
|
for CONF in ${ALLCONFS}; \
|
||||||
|
do \
|
||||||
|
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# all
|
||||||
|
.all-impl: .all-pre .depcheck-impl
|
||||||
|
@#echo "=> Running $@..."
|
||||||
|
for CONF in ${ALLCONFS}; \
|
||||||
|
do \
|
||||||
|
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# build tests
|
||||||
|
.build-tests-impl: .build-impl .build-tests-pre
|
||||||
|
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
|
||||||
|
|
||||||
|
# run tests
|
||||||
|
.test-impl: .build-tests-impl .test-pre
|
||||||
|
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||||
|
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
|
||||||
|
|
||||||
|
# dependency checking support
|
||||||
|
.depcheck-impl:
|
||||||
|
@echo "# This code depends on make tool being used" >.dep.inc
|
||||||
|
@if [ -n "${MAKE_VERSION}" ]; then \
|
||||||
|
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
|
||||||
|
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
|
||||||
|
echo "include \$${DEPFILES}" >>.dep.inc; \
|
||||||
|
echo "endif" >>.dep.inc; \
|
||||||
|
else \
|
||||||
|
echo ".KEEP_STATE:" >>.dep.inc; \
|
||||||
|
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# configuration validation
|
||||||
|
.validate-impl:
|
||||||
|
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
|
||||||
|
then \
|
||||||
|
echo ""; \
|
||||||
|
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
|
||||||
|
echo "See 'make help' for details."; \
|
||||||
|
echo "Current directory: " `pwd`; \
|
||||||
|
echo ""; \
|
||||||
|
fi
|
||||||
|
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
|
||||||
|
then \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# help
|
||||||
|
.help-impl: .help-pre
|
||||||
|
@echo "This makefile supports the following configurations:"
|
||||||
|
@echo " ${ALLCONFS}"
|
||||||
|
@echo ""
|
||||||
|
@echo "and the following targets:"
|
||||||
|
@echo " build (default target)"
|
||||||
|
@echo " clean"
|
||||||
|
@echo " clobber"
|
||||||
|
@echo " all"
|
||||||
|
@echo " help"
|
||||||
|
@echo ""
|
||||||
|
@echo "Makefile Usage:"
|
||||||
|
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
|
||||||
|
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
|
||||||
|
@echo " make [SUB=no] clobber"
|
||||||
|
@echo " make [SUB=no] all"
|
||||||
|
@echo " make help"
|
||||||
|
@echo ""
|
||||||
|
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
|
||||||
|
@echo " also build subprojects."
|
||||||
|
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
|
||||||
|
@echo " also clean subprojects."
|
||||||
|
@echo "Target 'clobber' will remove all built files from all configurations and,"
|
||||||
|
@echo " unless 'SUB=no', also from subprojects."
|
||||||
|
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
|
||||||
|
@echo " also build subprojects."
|
||||||
|
@echo "Target 'help' prints this message."
|
||||||
|
@echo ""
|
||||||
|
|
||||||
43
nbproject/Makefile-variables.mk
Normal file
43
nbproject/Makefile-variables.mk
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#
|
||||||
|
# Generated - do not edit!
|
||||||
|
#
|
||||||
|
# NOCDDL
|
||||||
|
#
|
||||||
|
CND_BASEDIR=`pwd`
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
# Debug configuration
|
||||||
|
CND_PLATFORM_Debug=GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_NAME_Debug=1t1nat
|
||||||
|
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/1t1nat
|
||||||
|
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
|
||||||
|
CND_PACKAGE_NAME_Debug=1t1nat.tar
|
||||||
|
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/1t1nat.tar
|
||||||
|
# Release configuration
|
||||||
|
CND_PLATFORM_Release=GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_NAME_Release=1t1nat
|
||||||
|
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/1t1nat
|
||||||
|
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
|
||||||
|
CND_PACKAGE_NAME_Release=1t1nat.tar
|
||||||
|
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/1t1nat.tar
|
||||||
|
# Unitest configuration
|
||||||
|
CND_PLATFORM_Unitest=GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_DIR_Unitest=dist/Unitest/GNU-Linux-x86
|
||||||
|
CND_ARTIFACT_NAME_Unitest=1t1nat
|
||||||
|
CND_ARTIFACT_PATH_Unitest=dist/Unitest/GNU-Linux-x86/1t1nat
|
||||||
|
CND_PACKAGE_DIR_Unitest=dist/Unitest/GNU-Linux-x86/package
|
||||||
|
CND_PACKAGE_NAME_Unitest=1t1nat.tar
|
||||||
|
CND_PACKAGE_PATH_Unitest=dist/Unitest/GNU-Linux-x86/package/1t1nat.tar
|
||||||
|
#
|
||||||
|
# include compiler specific variables
|
||||||
|
#
|
||||||
|
# dmake command
|
||||||
|
ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
|
||||||
|
(mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
|
||||||
|
#
|
||||||
|
# gmake command
|
||||||
|
.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
|
||||||
|
#
|
||||||
|
include nbproject/private/Makefile-variables.mk
|
||||||
76
nbproject/Package-Debug.bash
Normal file
76
nbproject/Package-Debug.bash
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generated - do not edit!
|
||||||
|
#
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
TOP=`pwd`
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_CONF=Debug
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||||
|
TMPDIRNAME=tmp-packaging
|
||||||
|
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
OUTPUT_BASENAME=1t1nat
|
||||||
|
PACKAGE_TOP_DIR=1t1nat/
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
function checkReturnCode
|
||||||
|
{
|
||||||
|
rc=$?
|
||||||
|
if [ $rc != 0 ]
|
||||||
|
then
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function makeDirectory
|
||||||
|
# $1 directory path
|
||||||
|
# $2 permission (optional)
|
||||||
|
{
|
||||||
|
mkdir -p "$1"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$2" != "" ]
|
||||||
|
then
|
||||||
|
chmod $2 "$1"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function copyFileToTmpDir
|
||||||
|
# $1 from-file path
|
||||||
|
# $2 to-file path
|
||||||
|
# $3 permission
|
||||||
|
{
|
||||||
|
cp "$1" "$2"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$3" != "" ]
|
||||||
|
then
|
||||||
|
chmod $3 "$2"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
cd "${TOP}"
|
||||||
|
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
|
mkdir -p ${NBTMPDIR}
|
||||||
|
|
||||||
|
# Copy files and create directories and links
|
||||||
|
cd "${TOP}"
|
||||||
|
makeDirectory "${NBTMPDIR}/1t1nat/bin"
|
||||||
|
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||||
|
|
||||||
|
|
||||||
|
# Generate tar file
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar
|
||||||
|
cd ${NBTMPDIR}
|
||||||
|
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar *
|
||||||
|
checkReturnCode
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
76
nbproject/Package-Release.bash
Normal file
76
nbproject/Package-Release.bash
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generated - do not edit!
|
||||||
|
#
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
TOP=`pwd`
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_CONF=Release
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||||
|
TMPDIRNAME=tmp-packaging
|
||||||
|
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
OUTPUT_BASENAME=1t1nat
|
||||||
|
PACKAGE_TOP_DIR=1t1nat/
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
function checkReturnCode
|
||||||
|
{
|
||||||
|
rc=$?
|
||||||
|
if [ $rc != 0 ]
|
||||||
|
then
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function makeDirectory
|
||||||
|
# $1 directory path
|
||||||
|
# $2 permission (optional)
|
||||||
|
{
|
||||||
|
mkdir -p "$1"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$2" != "" ]
|
||||||
|
then
|
||||||
|
chmod $2 "$1"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function copyFileToTmpDir
|
||||||
|
# $1 from-file path
|
||||||
|
# $2 to-file path
|
||||||
|
# $3 permission
|
||||||
|
{
|
||||||
|
cp "$1" "$2"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$3" != "" ]
|
||||||
|
then
|
||||||
|
chmod $3 "$2"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
cd "${TOP}"
|
||||||
|
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
|
mkdir -p ${NBTMPDIR}
|
||||||
|
|
||||||
|
# Copy files and create directories and links
|
||||||
|
cd "${TOP}"
|
||||||
|
makeDirectory "${NBTMPDIR}/1t1nat/bin"
|
||||||
|
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||||
|
|
||||||
|
|
||||||
|
# Generate tar file
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar
|
||||||
|
cd ${NBTMPDIR}
|
||||||
|
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar *
|
||||||
|
checkReturnCode
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
76
nbproject/Package-Unitest.bash
Normal file
76
nbproject/Package-Unitest.bash
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generated - do not edit!
|
||||||
|
#
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
TOP=`pwd`
|
||||||
|
CND_PLATFORM=GNU-Linux-x86
|
||||||
|
CND_CONF=Unitest
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||||
|
TMPDIRNAME=tmp-packaging
|
||||||
|
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/1t1nat
|
||||||
|
OUTPUT_BASENAME=1t1nat
|
||||||
|
PACKAGE_TOP_DIR=1t1nat/
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
function checkReturnCode
|
||||||
|
{
|
||||||
|
rc=$?
|
||||||
|
if [ $rc != 0 ]
|
||||||
|
then
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function makeDirectory
|
||||||
|
# $1 directory path
|
||||||
|
# $2 permission (optional)
|
||||||
|
{
|
||||||
|
mkdir -p "$1"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$2" != "" ]
|
||||||
|
then
|
||||||
|
chmod $2 "$1"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function copyFileToTmpDir
|
||||||
|
# $1 from-file path
|
||||||
|
# $2 to-file path
|
||||||
|
# $3 permission
|
||||||
|
{
|
||||||
|
cp "$1" "$2"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$3" != "" ]
|
||||||
|
then
|
||||||
|
chmod $3 "$2"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
cd "${TOP}"
|
||||||
|
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
|
mkdir -p ${NBTMPDIR}
|
||||||
|
|
||||||
|
# Copy files and create directories and links
|
||||||
|
cd "${TOP}"
|
||||||
|
makeDirectory "${NBTMPDIR}/1t1nat/bin"
|
||||||
|
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||||
|
|
||||||
|
|
||||||
|
# Generate tar file
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar
|
||||||
|
cd ${NBTMPDIR}
|
||||||
|
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/1t1nat.tar *
|
||||||
|
checkReturnCode
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
194
nbproject/configurations.xml
Normal file
194
nbproject/configurations.xml
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configurationDescriptor version="95">
|
||||||
|
<logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
|
||||||
|
<logicalFolder name="HeaderFiles"
|
||||||
|
displayName="Header Files"
|
||||||
|
projectFiles="true">
|
||||||
|
<logicalFolder name="map" displayName="map" projectFiles="true">
|
||||||
|
<itemPath>src/map/natmap.h</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
|
</logicalFolder>
|
||||||
|
<logicalFolder name="ResourceFiles"
|
||||||
|
displayName="Resource Files"
|
||||||
|
projectFiles="true">
|
||||||
|
</logicalFolder>
|
||||||
|
<logicalFolder name="SourceFiles"
|
||||||
|
displayName="Source Files"
|
||||||
|
projectFiles="true">
|
||||||
|
<logicalFolder name="f1" displayName="map" projectFiles="true">
|
||||||
|
<itemPath>src/map/natmap.cpp</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
|
<itemPath>src/main.cpp</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
|
<logicalFolder name="TestFiles"
|
||||||
|
displayName="Test Files"
|
||||||
|
projectFiles="false"
|
||||||
|
kind="TEST_LOGICAL_FOLDER">
|
||||||
|
<logicalFolder name="f1" displayName="nattest" projectFiles="true" kind="TEST">
|
||||||
|
<itemPath>tests/nattest.cpp</itemPath>
|
||||||
|
<itemPath>tests/nattest.h</itemPath>
|
||||||
|
<itemPath>tests/nattestrunner.cpp</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
|
</logicalFolder>
|
||||||
|
<logicalFolder name="ExternalFiles"
|
||||||
|
displayName="Important Files"
|
||||||
|
projectFiles="false"
|
||||||
|
kind="IMPORTANT_FILES_FOLDER">
|
||||||
|
<itemPath>Makefile</itemPath>
|
||||||
|
</logicalFolder>
|
||||||
|
</logicalFolder>
|
||||||
|
<projectmakefile>Makefile</projectmakefile>
|
||||||
|
<confs>
|
||||||
|
<conf name="Debug" type="1">
|
||||||
|
<toolsSet>
|
||||||
|
<compilerSet>default</compilerSet>
|
||||||
|
<dependencyChecking>true</dependencyChecking>
|
||||||
|
<rebuildPropChanged>false</rebuildPropChanged>
|
||||||
|
</toolsSet>
|
||||||
|
<compileType>
|
||||||
|
<ccTool>
|
||||||
|
<standard>8</standard>
|
||||||
|
<warningLevel>2</warningLevel>
|
||||||
|
</ccTool>
|
||||||
|
<linkerTool>
|
||||||
|
<linkerLibItems>
|
||||||
|
<linkerLibLibItem>tins</linkerLibLibItem>
|
||||||
|
<linkerLibLibItem>pthread</linkerLibLibItem>
|
||||||
|
</linkerLibItems>
|
||||||
|
</linkerTool>
|
||||||
|
</compileType>
|
||||||
|
<folder path="TestFiles/f1">
|
||||||
|
<cTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</cTool>
|
||||||
|
<ccTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</ccTool>
|
||||||
|
<linkerTool>
|
||||||
|
<output>${TESTDIR}/TestFiles/f1</output>
|
||||||
|
<linkerLibItems>
|
||||||
|
<linkerOptionItem>`cppunit-config --libs`</linkerOptionItem>
|
||||||
|
</linkerLibItems>
|
||||||
|
</linkerTool>
|
||||||
|
</folder>
|
||||||
|
<item path="src/main.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattestrunner.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
</conf>
|
||||||
|
<conf name="Release" type="1">
|
||||||
|
<toolsSet>
|
||||||
|
<compilerSet>default</compilerSet>
|
||||||
|
<dependencyChecking>true</dependencyChecking>
|
||||||
|
<rebuildPropChanged>false</rebuildPropChanged>
|
||||||
|
</toolsSet>
|
||||||
|
<compileType>
|
||||||
|
<cTool>
|
||||||
|
<developmentMode>5</developmentMode>
|
||||||
|
</cTool>
|
||||||
|
<ccTool>
|
||||||
|
<developmentMode>5</developmentMode>
|
||||||
|
</ccTool>
|
||||||
|
<fortranCompilerTool>
|
||||||
|
<developmentMode>5</developmentMode>
|
||||||
|
</fortranCompilerTool>
|
||||||
|
<asmTool>
|
||||||
|
<developmentMode>5</developmentMode>
|
||||||
|
</asmTool>
|
||||||
|
</compileType>
|
||||||
|
<folder path="TestFiles/f1">
|
||||||
|
<cTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</cTool>
|
||||||
|
<ccTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</ccTool>
|
||||||
|
<linkerTool>
|
||||||
|
<output>${TESTDIR}/TestFiles/f1</output>
|
||||||
|
<linkerLibItems>
|
||||||
|
<linkerOptionItem>`cppunit-config --libs`</linkerOptionItem>
|
||||||
|
</linkerLibItems>
|
||||||
|
</linkerTool>
|
||||||
|
</folder>
|
||||||
|
<item path="src/main.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattestrunner.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
</conf>
|
||||||
|
<conf name="Unitest" type="1">
|
||||||
|
<toolsSet>
|
||||||
|
<compilerSet>default</compilerSet>
|
||||||
|
<dependencyChecking>true</dependencyChecking>
|
||||||
|
<rebuildPropChanged>false</rebuildPropChanged>
|
||||||
|
</toolsSet>
|
||||||
|
<compileType>
|
||||||
|
<ccTool>
|
||||||
|
<standard>8</standard>
|
||||||
|
<incDir>
|
||||||
|
<pElem>test</pElem>
|
||||||
|
</incDir>
|
||||||
|
</ccTool>
|
||||||
|
</compileType>
|
||||||
|
<folder path="TestFiles/f1">
|
||||||
|
<cTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</cTool>
|
||||||
|
<ccTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>.</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>`cppunit-config --cflags`</commandLine>
|
||||||
|
</ccTool>
|
||||||
|
<linkerTool>
|
||||||
|
<output>${TESTDIR}/TestFiles/f1</output>
|
||||||
|
<linkerLibItems>
|
||||||
|
<linkerOptionItem>`cppunit-config --libs`</linkerOptionItem>
|
||||||
|
</linkerLibItems>
|
||||||
|
</linkerTool>
|
||||||
|
</folder>
|
||||||
|
<item path="src/main.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="src/map/natmap.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattest.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="tests/nattestrunner.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
</conf>
|
||||||
|
</confs>
|
||||||
|
</configurationDescriptor>
|
||||||
32
nbproject/project.xml
Normal file
32
nbproject/project.xml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://www.netbeans.org/ns/project/1">
|
||||||
|
<type>org.netbeans.modules.cnd.makeproject</type>
|
||||||
|
<configuration>
|
||||||
|
<data xmlns="http://www.netbeans.org/ns/make-project/1">
|
||||||
|
<name>1T1NAT</name>
|
||||||
|
<c-extensions/>
|
||||||
|
<cpp-extensions>cpp</cpp-extensions>
|
||||||
|
<header-extensions>h</header-extensions>
|
||||||
|
<sourceEncoding>UTF-8</sourceEncoding>
|
||||||
|
<make-dep-projects/>
|
||||||
|
<sourceRootList/>
|
||||||
|
<confList>
|
||||||
|
<confElem>
|
||||||
|
<name>Debug</name>
|
||||||
|
<type>1</type>
|
||||||
|
</confElem>
|
||||||
|
<confElem>
|
||||||
|
<name>Release</name>
|
||||||
|
<type>1</type>
|
||||||
|
</confElem>
|
||||||
|
<confElem>
|
||||||
|
<name>Unitest</name>
|
||||||
|
<type>1</type>
|
||||||
|
</confElem>
|
||||||
|
</confList>
|
||||||
|
<formatting>
|
||||||
|
<project-formatting-style>false</project-formatting-style>
|
||||||
|
</formatting>
|
||||||
|
</data>
|
||||||
|
</configuration>
|
||||||
|
</project>
|
||||||
118
src/main.cpp
Normal file
118
src/main.cpp
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <tins/tins.h>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace Tins;
|
||||||
|
|
||||||
|
const IPv4Address calcAdress(const IPv4Address & ip)
|
||||||
|
{
|
||||||
|
IPv4Address incommingIp = IPv4Address(ip);
|
||||||
|
IPv4Address networkStartIp = IPv4Address("10.0.0.0");
|
||||||
|
IPv4Address subnetp = IPv4Address("255.255.240.0");
|
||||||
|
|
||||||
|
uint32_t ipInt = (incommingIp & ~subnetp) | networkStartIp;
|
||||||
|
IPv4Address result = IPv4Address(ipInt);
|
||||||
|
std::cout << "Destination address: " << incommingIp << std::endl;
|
||||||
|
std::cout << "new Destination address: " << result<< std::endl;
|
||||||
|
std::cout << "####"<< std::endl;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool arpm(const PDU &pdu)
|
||||||
|
{
|
||||||
|
// Retrieve the ARP layer
|
||||||
|
const ARP &arp = pdu.rfind_pdu<ARP>();
|
||||||
|
std::cout << arp.opcode()<< std::endl;
|
||||||
|
if (arp.opcode() == ARP::REQUEST)
|
||||||
|
{
|
||||||
|
PacketSender sender;
|
||||||
|
const NetworkInterface iface("vboxnet0");
|
||||||
|
EthernetII req = ARP::make_arp_request(calcAdress(arp.target_ip_addr()),"10.0.3.42","08:00:27:d3:ef:1e");
|
||||||
|
sender.send(req, iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool arpm2(const PDU &pdu)
|
||||||
|
{
|
||||||
|
// Retrieve the ARP layer
|
||||||
|
const ARP &arp = pdu.rfind_pdu<ARP>();
|
||||||
|
|
||||||
|
std::cout << arp.opcode()<< std::endl;
|
||||||
|
if (arp.opcode() == ARP::REPLY)
|
||||||
|
{
|
||||||
|
PacketSender sender;
|
||||||
|
const NetworkInterface iface("vboxnet1");
|
||||||
|
EthernetII rep = ARP::make_arp_reply("172.16.3.42","172.17.0.20","08:00:27:d3:ef:1e","08:00:27:29:f2:55");
|
||||||
|
sender.send(rep, iface);
|
||||||
|
} else if (arp.target_ip_addr().to_string() == "10.0.3.42")
|
||||||
|
{
|
||||||
|
PacketSender sender;
|
||||||
|
const NetworkInterface iface("vboxnet0");
|
||||||
|
EthernetII rep = ARP::make_arp_reply("10.0.0.20","10.0.3.42","08:00:27:29:f2:55","08:00:27:d3:ef:1e");
|
||||||
|
sender.send(rep, iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool doo(PDU &some_pdu)
|
||||||
|
{
|
||||||
|
//PacketWriter writer("before.pcap", PacketWriter::ETH2);
|
||||||
|
//writer.write(some_pdu);
|
||||||
|
|
||||||
|
IP &ip = some_pdu.rfind_pdu<IP>();
|
||||||
|
ip.dst_addr(calcAdress(ip.dst_addr()));
|
||||||
|
ip.src_addr("10.0.3.42");
|
||||||
|
//writer = PacketWriter("after.pcap", PacketWriter::ETH2);
|
||||||
|
//writer.write(some_pdu);
|
||||||
|
PacketSender sender;
|
||||||
|
some_pdu.send(sender,"vboxnet0");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void test1()
|
||||||
|
{
|
||||||
|
SnifferConfiguration config;
|
||||||
|
config.set_promisc_mode(true);
|
||||||
|
config.set_immediate_mode(true);
|
||||||
|
//config.set_filter("ip src 192.168.0.100");
|
||||||
|
Sniffer sniffer("vboxnet1", config);
|
||||||
|
sniffer.sniff_loop(arpm);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test2()
|
||||||
|
{
|
||||||
|
SnifferConfiguration config;
|
||||||
|
config.set_promisc_mode(true);
|
||||||
|
config.set_immediate_mode(true);
|
||||||
|
//config.set_filter("ip src 192.168.0.100");
|
||||||
|
Sniffer sniffer("vboxnet0", config);
|
||||||
|
sniffer.sniff_loop(arpm2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test3()
|
||||||
|
{
|
||||||
|
SnifferConfiguration config;
|
||||||
|
config.set_promisc_mode(true);
|
||||||
|
config.set_immediate_mode(true);
|
||||||
|
//config.set_filter("ip src 192.168.0.100");
|
||||||
|
Sniffer sniffer("vboxnet1", config);
|
||||||
|
sniffer.sniff_loop(doo);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
thread t1(test1);
|
||||||
|
thread t2(test2);
|
||||||
|
thread t3(test3);
|
||||||
|
t1.join();
|
||||||
|
t2.join();
|
||||||
|
t3.join();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
76
tests/nattest.cpp
Normal file
76
tests/nattest.cpp
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
/*
|
||||||
|
* File: nattest.cpp
|
||||||
|
* Author: dev
|
||||||
|
*
|
||||||
|
* Created on 19.08.2015, 21:39:53
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "nattest.h"
|
||||||
|
|
||||||
|
|
||||||
|
CPPUNIT_TEST_SUITE_REGISTRATION(nattest);
|
||||||
|
|
||||||
|
nattest::nattest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
nattest::~nattest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::setUp() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::tearDown() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::testIpCalcEth0() {
|
||||||
|
Tins::IPv4Address expetedIp = deviceIpEth0;
|
||||||
|
Tins::IPv4Address resultIp = natMap.mapIPv4Address(deviceIpEth0, eth0Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = Tins::IPv4Address("10.168.23.42");
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth1, eth0Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = Tins::IPv4Address("10.27.123.4");
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth2, eth0Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::testIpCalcEth1() {
|
||||||
|
Tins::IPv4Address expetedIp = Tins::IPv4Address("192.168.23.40");
|
||||||
|
Tins::IPv4Address resultIp = natMap.mapIPv4Address(deviceIpEth0, eth1Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = deviceIpEth1;
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth1, eth1Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = Tins::IPv4Address("192.168.23.4");
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth2, eth1Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::testIpCalcEth2() {
|
||||||
|
Tins::IPv4Address expetedIp = Tins::IPv4Address("172.16.3.40");
|
||||||
|
Tins::IPv4Address resultIp = natMap.mapIPv4Address(deviceIpEth0, eth2Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = Tins::IPv4Address("172.24.23.42");
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth1, eth2Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
|
||||||
|
expetedIp = deviceIpEth2;
|
||||||
|
resultIp = natMap.mapIPv4Address(deviceIpEth2, eth2Info);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(expetedIp, resultIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::testTranslateIp() {
|
||||||
|
Tins::EthernetII eth = Tins::EthernetII() / Tins::IP() / Tins::TCP();
|
||||||
|
otonat::NatMap natMap = otonat::NatMap();
|
||||||
|
natMap.handlePdu(ð);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nattest::testNatInterfaces() {
|
||||||
|
CPPUNIT_ASSERT(!natMap.interfaces.empty());
|
||||||
|
}
|
||||||
|
|
||||||
70
tests/nattest.h
Normal file
70
tests/nattest.h
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* File: nattest.h
|
||||||
|
* Author: dev
|
||||||
|
*
|
||||||
|
* Created on 19.08.2015, 21:39:53
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef NATTEST_H
|
||||||
|
#define NATTEST_H
|
||||||
|
|
||||||
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
#include "../src/map/natmap.h"
|
||||||
|
#include <tins/tins.h>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
class nattest : public CPPUNIT_NS::TestFixture {
|
||||||
|
CPPUNIT_TEST_SUITE(nattest);
|
||||||
|
|
||||||
|
CPPUNIT_TEST(testNatInterfaces);
|
||||||
|
CPPUNIT_TEST(testIpCalcEth0);
|
||||||
|
CPPUNIT_TEST(testIpCalcEth1);
|
||||||
|
CPPUNIT_TEST(testIpCalcEth2);
|
||||||
|
CPPUNIT_TEST(testTranslateIp);
|
||||||
|
|
||||||
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
|
public:
|
||||||
|
nattest();
|
||||||
|
virtual ~nattest();
|
||||||
|
void setUp();
|
||||||
|
void tearDown();
|
||||||
|
|
||||||
|
private:
|
||||||
|
otonat::NatMap natMap = otonat::NatMap();
|
||||||
|
Tins::IPv4Address deviceIpEth0 = Tins::IPv4Address("10.0.3.40");
|
||||||
|
Tins::IPv4Address deviceIpEth1 = Tins::IPv4Address("192.168.23.42");
|
||||||
|
Tins::IPv4Address deviceIpEth2 = Tins::IPv4Address("172.27.123.4");
|
||||||
|
Tins::NetworkInterface::Info eth0Info = {
|
||||||
|
.ip_addr = Tins::IPv4Address("10.0.0.2"),
|
||||||
|
.netmask = Tins::IPv4Address("255.0.0.0"),
|
||||||
|
.bcast_addr = Tins::IPv4Address("10.255.255.255"),
|
||||||
|
.hw_addr = Tins::HWAddress<6>("00:00:00:00:00:01"),
|
||||||
|
.is_up = true
|
||||||
|
};
|
||||||
|
|
||||||
|
Tins::NetworkInterface::Info eth1Info = {
|
||||||
|
.ip_addr = Tins::IPv4Address("192.168.23.42"),
|
||||||
|
.netmask = Tins::IPv4Address("255.255.255.0"),
|
||||||
|
.bcast_addr = Tins::IPv4Address("192.168.23.255"),
|
||||||
|
.hw_addr = Tins::HWAddress<6>("00:00:00:00:00:02"),
|
||||||
|
.is_up = true
|
||||||
|
};
|
||||||
|
|
||||||
|
Tins::NetworkInterface::Info eth2Info = {
|
||||||
|
.ip_addr = Tins::IPv4Address("172.16.47.11"),
|
||||||
|
.netmask = Tins::IPv4Address("255.240.0.0"),
|
||||||
|
.bcast_addr = Tins::IPv4Address("172.31.255.255"),
|
||||||
|
.hw_addr = Tins::HWAddress<6>("00:00:00:00:00:03"),
|
||||||
|
.is_up = true
|
||||||
|
};
|
||||||
|
|
||||||
|
void testNatInterfaces();
|
||||||
|
void testIpCalcEth0();
|
||||||
|
void testIpCalcEth1();
|
||||||
|
void testIpCalcEth2();
|
||||||
|
void testTranslateIp();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* NATTEST_H */
|
||||||
|
|
||||||
37
tests/nattestrunner.cpp
Normal file
37
tests/nattestrunner.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* File: nattestrunner.cpp
|
||||||
|
* Author: dev
|
||||||
|
*
|
||||||
|
* Created on 19.08.2015, 21:39:53
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <cppunit/BriefTestProgressListener.h>
|
||||||
|
#include <cppunit/CompilerOutputter.h>
|
||||||
|
#include <cppunit/extensions/TestFactoryRegistry.h>
|
||||||
|
#include <cppunit/TestResult.h>
|
||||||
|
#include <cppunit/TestResultCollector.h>
|
||||||
|
#include <cppunit/TestRunner.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// Create the event manager and test controller
|
||||||
|
CPPUNIT_NS::TestResult controller;
|
||||||
|
|
||||||
|
// Add a listener that colllects test result
|
||||||
|
CPPUNIT_NS::TestResultCollector result;
|
||||||
|
controller.addListener(&result);
|
||||||
|
|
||||||
|
// Add a listener that print dots as test run.
|
||||||
|
CPPUNIT_NS::BriefTestProgressListener progress;
|
||||||
|
controller.addListener(&progress);
|
||||||
|
|
||||||
|
// Add the top suite to the test runner
|
||||||
|
CPPUNIT_NS::TestRunner runner;
|
||||||
|
runner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
|
||||||
|
runner.run(controller);
|
||||||
|
|
||||||
|
// Print test in a compiler compatible format.
|
||||||
|
CPPUNIT_NS::CompilerOutputter outputter(&result, CPPUNIT_NS::stdCOut());
|
||||||
|
outputter.write();
|
||||||
|
|
||||||
|
return result.wasSuccessful() ? 0 : 1;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user