Compare Revisions

The credentials to download the source code are:
 Username: svnusers
 Password: svnusers

Ignore whitespace Rev 2402 → Rev 2403

/tags/STF507-2016-07-01-final/tt3plugins/TT_TestSystem/TT3plugin.xml
0,0 → 1,282
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
<plugin id="com.testingtech.ttworkbench" name="Testing Technologies TTworkbench Integration" provider-name="Testing Technologies IST GmbH" version="1.0.0.0">
<runtime>
<library name="TT_TestSystem.jar"/>
<library name="../../build"/>
</runtime>
<dependency>
<reference id="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1"/>
<reference id="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1"/>
<reference id="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1"/>
<reference id="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1"/>
<reference id="org.etsi.its.tool.testingtech.Its_CodecProvider"/>
<reference id="org.etsi.its.tool.testingtech.LibItsV2G_TypesAndValuesCodec"/>
<reference id="org.etsi.its.ttcn.ItsExternalFunctionsProvider"/>
<reference id="org.etsi.its.adapter"/>
<reference id="org.etsi.ttcn.codec"/>
</dependency>
<extension point="com.testingtech.ttcn.extension.CodecProvider">
<parameter id="class" value="org.etsi.its.tool.testingtech.Its_CodecProvider"/>
<parameter id="name" value="Main ITS Codec"/>
<parameter id="description" value="Main ITS Codec"/>
</extension>
<extension point="com.testingtech.ttcn.extension.CodecProvider">
<parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERCanonicalUnalignedCodecProvider"/>
<parameter id="encoding" value="LibItsDenm_asn1"/>
<parameter id="name" value="DENM ASN.1 Codec"/>
<parameter id="description" value="ASN.1 External Codec (DENM)"/>
</extension>
<extension point="com.testingtech.ttcn.extension.CodecProvider">
<parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERCanonicalUnalignedCodecProvider"/>
<parameter id="encoding" value="LibItsCam_asn1"/>
<parameter id="name" value="CAM ASN.1Codec"/>
<parameter id="description" value="ASN.1 External Codec (CAM)"/>
</extension>
<extension point="com.testingtech.ttcn.extension.CodecProvider">
<parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERCanonicalUnalignedCodecProvider"/>
<parameter id="encoding" value="LibItsCdd_asn1"/>
<parameter id="name" value="CDD ASN.1 Codec"/>
<parameter id="description" value="ASN.1 External Codec (CDD)"/>
</extension>
<extension point="com.testingtech.ttcn.extension.CodecProvider">
<parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.LibItsMapSpat_asn1PERCanonicalUnalignedCodecProvider"/>
<parameter id="encoding" value="LibItsMapSpat_asn1"/>
<parameter id="name" value="MAP/SPaT ASN.1 Codec"/>
<parameter id="description" value="ASN.1 External Codec (MapSpat)"/>
</extension>
<extension point="com.testingtech.ttcn.extension.ExternalFunctionsProvider">
<parameter id="class" value="org.etsi.its.tool.testingtech.ExternalFunctionsPluginProvider"/>
<parameter id="name" value="Its External Function"/>
<parameter id="description" value="The implementation of the external functions defined in the ITS project."/>
</extension>
<extension point="com.testingtech.ttcn.tri.extension.PortPluginProvider">
<parameter id="class" value="org.etsi.its.tool.testingtech.PluginAdapter"/>
<parameter id="taParams">
<parameter id="taParamDeclaration">
<parameter id="name" value="DEBUG_ENABLED"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="ALL"/>
<parameter id="description" value="Set to ALL/INFO/OFF to activate full/medium/no traces"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="camPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="CamSource"/>
<parameter id="description" value="Define the port/layer configuration for CAM"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="denmPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="DenmSource"/>
<parameter id="description" value="Define the port/layer configuration for DENM"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="mapSpatPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="MapSpatSource"/>
<parameter id="description" value="Define the port/layer configuration for MAP/SPaT"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="btpPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BtpSource"/>
<parameter id="description" value="Define the port/layer configuration for BTP"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="geoNetworkingPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="GnSource"/>
<parameter id="description" value="Define the port/layer configuration for GeoNetworking"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="ipv6OverGeoNetworkingPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="Gn6Source"/>
<parameter id="description" value="Define the port/layer configuration for GeoNetworking over IPv6"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="v2gPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="Debug"/>
<parameter id="description" value="Define the port/layer configuration for V2G"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="UpperTesterSettings"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="192.168.56.11:2222"/>
<parameter id="description" value="Define the Upper Tester settings for communication with Upper Tester"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LocalEthernetMAC"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="0025645B0CED"/>
<parameter id="description" value="Define the MAC address of the Ethernet interface connected to the IUT device"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="IutEthernetTypeValue"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="0x8947"/>
<parameter id="description" value="Define the Ethernet type value used by the IUT"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeA"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0001"/>
<parameter id="description" value="Link-Layer address of component NodeA"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeB"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0002"/>
<parameter id="description" value="Link-Layer address of component NodeB"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeC"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0003"/>
<parameter id="description" value="Link-Layer address of component NodeC"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeD"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0004"/>
<parameter id="description" value="Link-Layer address of component NodeD"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeE"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0005"/>
<parameter id="description" value="Link-Layer address of component NodeE"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="LinkLayer_NodeF"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="BABEBABE0006"/>
<parameter id="description" value="Link-Layer address of component NodeF"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="Gn6RemoteAdapterIp"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="192.168.56.11"/>
<parameter id="description" value="IP address of GN6 remote Adapter"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="Gn6RemoteAdapterPort"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="42000"/>
<parameter id="description" value="UDP port of GN6 remote Adapter"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsBeaconInterval"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="1000"/>
<parameter id="description" value="Interval between each beacon sent by TS (ms)"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsLatitude"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="7000"/>
<parameter id="description" value="Latitude of Test System"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsLongitude"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="520000"/>
<parameter id="description" value="Longitude of Test System"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="V2gTsRole"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="SECC"/>
<parameter id="description" value="Is TS SECC or EVCC"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="V2gSeccAddress"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="FE80::1"/>
<parameter id="description" value="V2gSeccAddress"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="V2gSeccPort"/>
<parameter id="type" value="integer"/>
<parameter id="default" value="32000"/>
<parameter id="description" value="V2gSeccPort"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="UtSecuredMode"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="false"/>
<parameter id="description" value="UpperTester Secured mode status"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsSecuredMode"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="false"/>
<parameter id="description" value="Secured mode status"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsSecuredRootPath"/>
<parameter id="type" value="charstring"/>
<parameter id="default"/>
<parameter id="description" value="Secured root path to access certificates and private keys"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsSecuredConfiId"/>
<parameter id="type" value="charstring"/>
<parameter id="default"/>
<parameter id="description" value="Secured configuration identifier"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="TsItsAidOther"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="38"/>
<parameter id="description" value="ITS-AID for other profile"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="GnssControllerAddress"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="192.168.89.106"/>
<parameter id="description" value="IP address of GNSS Controller"/>
</parameter>
<parameter id="taParamDeclaration" value="${LibItsCommon_Pixits.PICS_GNSS_SCENARIO_SUPPORT}">
<parameter id="name" value="GnssScenarioSupport"/>
<parameter id="type" value="boolean"/>
<parameter id="default">
<value>
<Values:boolean xmlns:Values="Values.xsd" type="boolean">
<Values:value>true</Values:value>
</Values:boolean>
</value>
</parameter>
<parameter id="description" value="Is GNSS scenario support available?"/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="GnssScenario_StaticPos"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\StaticPos\StaticPos.scn"/>
<parameter id="description" value="Path to the GNSS scenario - static position."/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="GnssScenario_DynamicPos200m"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos200m\DynamicPos200m.scn"/>
<parameter id="description" value="Path to the GNSS scenario - dynamic position 200m."/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="GnssScenario_DynamicPos1000m"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1000m\DynamicPos1000m.scn"/>
<parameter id="description" value="Path to the GNSS scenario - dynamic position 1000m."/>
</parameter>
<parameter id="taParamDeclaration">
<parameter id="name" value="GnssScenario_DynamicPos1500m"/>
<parameter id="type" value="charstring"/>
<parameter id="default" value="C:\Program Files (x86)\Spirent Communications\Positioning Application\Scenarios\C2C\DynamicPos1500m\DynamicPos1500m.scn"/>
<parameter id="description" value="Path to the GNSS scenario - dynamic position 1500m."/>
</parameter>
</parameter>
<parameter id="name" value="ITS System Adapter"/>
<parameter id="description" value="The ITS System Adapter providing the communication functionality to and from the SUT."/>
</extension>
</plugin>
/tags/STF507-2016-07-01-final/tt3plugins/TT_TestSystem
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+TT_TestSystem.jar
Index: EtsiItsAdapter/TT3plugin.xml
===================================================================
--- EtsiItsAdapter/TT3plugin.xml (nonexistent)
+++ EtsiItsAdapter/TT3plugin.xml (revision 2403)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.adapter" name="ETSI Its Adapter" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiItsAdapter.jar"/>
+ <library name="JSon/gson-2.3.jar"/>
+ <library name="jnetpcap-1.4.r1425/jnetpcap.jar"/>
+ <library name="Preserve/CryptoLib.jar"/>
+ <library name="Preserve/bcprov-jdk16-146.jar"/>
+ <library name="Preserve/de.fraunhofer.sit.c2x.pki.ca.jar"/>
+ <library name="Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar"/>
+ <library name="Preserve/commons-codec-1.4.jar"/>
+ <library name="../../build"/>
+ <native path="JSon"/>
+ <native path="jnetpcap-1.4.r1425"/>
+ <native path="Preserve"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.adapter"/>
+ </dependency>
+</plugin>
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt (revision 2403)
@@ -0,0 +1,436 @@
+################################################################################
+#
+# Copyright (C) 2007-2010 Sly Technologies, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+################################################################################
+
+ jNetPcap Package
+ Change Log
+
+== Release 1.3.b4 (2010-12-15) ==
+
+* Fixes
+
+ - Memory swings - Object finalization is replaced with java Reference
+ cleanup. Memory is now managed through Reference and
+ ReferenceQueue mechanism.
+
+
+ - Various performance optimizations in JMemory and JBuffer class. Optimized
+ memory allocation path in JMemoryPool for certain object
+ types.
+
+ - Fixed boundary check in Checksum calculation with truncated jumbo
+ Ethernet frames.
+
+ - Fixed an issue when an JMemory based object tried to peer to itself.
+
+ - Fixed JMemory resize issue.
+
+ - Fixed Bug#3108615 - Ethernet FCS - FCS calculation and various Ethernet
+ header APIs that check for presence of FCS field, allow
+ verification, calculation and setting of new FCS value.
+
+
+* Added
+
+ - Added a new management class named DisposableGC which runs in
+ a background system thread and schedules native memory
+ cleanup.
+
+ - Added several system properties (nio.mx, nio.ms, nio.blocksize) which
+ affect native memory allocation, limits and DisposableGC
+ behavior.
+
+ - PcapPacket.peerAndScan - convenience method peering header and buffer
+ to a PcapPacket object. Implements certain optimizations
+ to perform the task faster.
+
+
+* Changes
+
+ - Changed the format of the debug output for
+ PcapPacket.State.toDebugString() method. The output produced
+ is more tabular with a table heading on top.
+
+ - Removed no longer used classes and directories from source such as
+ tests/beta1.5, JReference class, JMemory.references field
+
+* Non-code changes
+
+ - Added complete MANIFEST to jnetpcap.jar file, which describes version
+ information of the jNetPcap library being used.
+
+ - Changed the native and java library files names to not include full
+ version information. The versioning is now fully accomplished
+ through the use of jnetpcap root distribution directory
+ instead. This allows easier switching between different
+ versions of jNetPcap.
+
+ - Updated file headers which reflects the proper copyright and license
+ agreement (LGPL v3)
+
+ - Updated all javadoc comments and tags for all classes
+
+== Release 1.3.b3 (2010-10-01) ==
+
+* Fixes
+
+ - Bug#3078703 - JMemory.transferTo(ByteBuffer) (array version)
+
+ - Bug#3078704 - Debug message coming from Tcp header when options are parsed
+
+* Removed
+
+ - org.jnetpcap.package.dissect - left over and unusable package intended for
+ the native dissector feature which has been removed from 1.3
+ release
+
+ - SipHandler interface - left over from analyzer feature that has been
+ removed from 1.3 release
+
+* Modifications/Updates
+
+ - org.jnetpcap.protocol.voip - updated javadocs, cleaned up warnings on all
+ the classes in this package
+
+== Release 1.3.b2 (2010-09-26) ==
+
+* Fixes
+
+ - Bug#3062026 - Scanner.reloadAll() in JPacket.scan()
+
+ - Bug#3062029 - Memory leak in native scanner reloadAll() tables
+
+ - Bug#3062031 - @Bind method with multiple same headers, gets wrong header
+
+ - Bug#3062035 - AnnotatedMethod doesn't open up method access perm
+
+ - Bug#3062037 - Checksum.pseudoUDP coredumps on invalid headers
+
+ - Bug#3062050 - Main scanner loop processes 0 length headers
+
+ - Bug#3062053 - @Deprecated JPacket.getScanner method
+
+ - Bug#3065968 - Missing sendPacket(JBuffer) implementation
+
+ - Bug#3066662 - UDP header missing setter methods
+
+ - Bug#3066959 - VLAN definition incorrectly assumes 802.1d as next header
+
+ - Bug#2353774 - Tcp header incomplete - missing tcp options
+
+ - Bug#3067088 - Ip4.Timestamp incorrectly initialized
+
+ - Bug#3067096 - JPacket.toString() exceptions consume all output in progress
+
+ - Bug#2933449 - SIP PRACK Message dosn't recognized
+
+ - Bug#3018072 - Wrong scanning Sdp headers in Linux
+
+
+== Release 1.3 final (2010-08-24) ==
+
+* No code changes (b1 code thoroughly tested and deployed for several months)
+
+* Various build script changes
+
+ - Added x86_64 builds
+
+== Release 1.3.b1 (2010-04-05) ==
+
+* Fixes
+
+ - Bug#2981951 - Intermittent crashes in scanner
+
+ - Bug#2978441 - JRegistry.addBinding(JBinding) not working
+
+ - Bug#2890736 - reopened bug ConcurrentModificationException in JMemoryPool
+
+ - Bug#2906021 - Ethernet trailer end up in last header payload
+
+ - Bug#2908252 - JFormatter invalid state after exception during format output
+
+ - Bug#2908513 - exception thrown by Checksum for truncated or recursive ICMP
+ headers.
+
+* Added
+
+ - Added testcase for Bug#2899902 ( buffer underflow on 64-bit systems)
+
+== Release 1.3.a1 (2009-11-06) ==
+
+* Fixes
+
+ - Bug#2890773 - PcapPacketHandler invalid PcapHeader peer
+
+ - Bug#2890736 - JMemoryPool concurrent mod exception
+
+ - Bug#2890094 - JPacket.toHexdump doesn't work on unintialized packets
+
+ - Bug#2878768 - JMemoryPacket(int) constructor doesn't work
+
+ - Bug#2857282 - Ip4.destination(byte[]) setter uses incorrect offset
+
+ - Bug#2897714 - invalid (char *) to (int) conversion in packet_protocol.cpp
+
+* Added
+
+ - Feature#2848659 - Add frame counter reset on JScanner
+
+== No Official 1.2 stable release ==
+
+* Notes
+
+ - Release 1.2 branch was deprecated and replaced with stable 1.3 branch
+
+== Release 1.2.rc5 (2009-3-18) ==
+
+* Fixes
+
+ - #2688877 - reported that debian package is missing .so soft link to .so.rc4
+ main lib file. Will add that link in post-install to debian
+ package control file
+
+ - #2648427 - PcapDumper.dump() core-dumps. A patch is available upon request.
+
+ - #2557009 - LLC header problem
+
+* Added
+
+ - Pcap.loop() and Pcap.dispatch() variation to allow the user to supply
+ JScanner. This allows JScanner internal buffer size to be changed by the
+ user
+
+ - Added JPacket.setMemoryPool(). This allows the user to change the default
+ allocation block size of JMemoryPool for packets that are copied via the
+ constructor and transferTo() methods
+
+ - Added analyzer support for Tcp/Ip family of protocols. This includes Ip
+ fragment reassembly, tcp segment sequencing and reassembly as well
+
+ - Added Http and Html as CORE jnetpcap protocols supported by native scanner
+
+* Changed
+
+ - Moved org.jnetpcap.packet.header package to new org.jnetpcap.protocol
+ package. Protocols are grouped into families of protocols, which are stored
+ under appropriate protocol suite sub-packages.
+
+
+== Release 1.2.rc4 (2009-1-4) ==
+
+* Fixes
+
+ - #2469209 - Ip6 CORE protocol missing scanner
+
+ - #2469205 - Unchecked exceptions consumed in dispatch handlers
+
+ - #2469198 - PcapPacket.transferStateAndDataFrom(PcapPacket) not working
+
+* Added
+
+ - JConfig class for managing configuration through properties
+
+ - Activated java's logging system for logging messages
+
+ - Address resolvers - resolve addresses and numbers to human labels such as
+ ip addresses to hostnames
+
+* Changes
+
+ - Renamed annotation interface @FieldRuntime to @Dynamic
+
+* TODO
+
+ - Mapped fields for protocols such as Http and SIP
+
+
+== Release 1.2.rc3 (2008-12-22) ==
+
+* Update to 1.2.rc2
+
+* Fixes
+
+ - #2458371 - Serious memory leak in JMemory
+
+ - #2458376 - Invalid class name for an exception being thrown from JNI code
+
+* Added
+
+ - Protocol to protocol binding and registration
+
+ - Protocol header annotations; makes protocol definitions much cleaner and
+ easier to write
+
+ - Protocols/java directory with some - new non core protocols being released;
+ Http and Html headers are included
+
+ - Added several static methods to JMemory class which report on native memory
+ usage for jNetPcap library; since native memory is not reported in any JRE
+ statictics, the user can rely on these JMemory methods for monitoring
+ native memory usage
+
+ - Added several getter methods to JBuffer class that retrieve UTF8 strings in
+ raw buffers
+
+* Changes
+
+ - Main JNI scanner LOOP has been slightly rewritten to take advantage of
+ JHeaderScanner java objects, their bidnings and user written scanners
+
+* TODO
+
+ - JField class still needs more cleanup; JFieldRuntime needs to be removed
+ completely
+
+ - Formatting styles for field values need to be redone; currently too limited
+ in functionality
+
+ - Add exception hooks; exception hooks rewrite exceptions being thrown to
+ include a lot more debug information that is useful when debugging a
+ protocol
+
+== Release 1.2.rc2 (2008-12-06) ==
+
+* Update to 1.2.rc1 released on 2008-11-24
+
+* Fixed
+
+ - Fixed PcapPacket and JPacket class APIs
+
+ - Fixed various memory related issues found with JMemory
+
+* Added
+
+ - Added sub-header capabilities to JHeader and formatters
+
+ - Added all Ip options to Ip4 header definition
+
+ - Added all missing ICMP sub-header types
+
+* Known Issues
+
+ - TCP header definition is missing its optional sub-headers
+
+ - Java binding overrides are implemented but still not fully tested
+
+ - Numerous javadoc typos and blank type comments
+
+== Release 1.2 (2008-11-24) ==
+
+* Feature release
+
+* Added
+
+ - #2292402 - Packet decoding framework
+
+ - #2292455 - Memory management
+
+ - #2292464 - Add a function to acquire network interface MAC address
+
+ - #2292515 - Simplify capturing packets in multi-threaded environment
+
+ - #2321006 - Deprecate: PcapHandler
+
+ - #2321014 - Deprecate: PcapPktHdr
+
+ - #2321017 - Deprecate: PcapInteger
+
+ - #2321024 - Deprecate: certain loop, dispatch functions
+
+* Bugs
+
+ - #2219738 - WinPcap.sendQueue ignores its parameter.
+ WinPcapSendQueue(int size) constructor was ignoring size
+ parameter and using a constant.
+
+ - #2219729 - Memory leak in Pcap.loop().
+ Memory leak in Pcap.loop method. Local JNI references were
+ accumulating causing out of memory errors in Pcap.loop when it
+ was set to loop forever.
+
+== Release 1.1 (2008-06-19) ==
+
+* Maintenance release
+
+* Provides packages for: Fedora Core 8 (Linux), Debian 4 (Linux), Win32 (WinXP/Vista)
+
+* NO BUG FIXES - no bugs reported from the time of previous release
+
+== Release 1.0 (2007-12-21) ==
+
+* First production release
+
+* Bug #1855589 - Win32 isInjectSupported returned incorrect value
+
+== Release 1.0b4 (2007-08-21) ==
+
+* Linux support
+
+* Bug #1776380 - PcapBpfProgram exceptions on linux platform
+
+* Added
+
+ - Pcap.inject, Pcap.isSendPacketSupported, Pcap.isInjectPacketSupported,
+ Pcap.lookupDev, Pcap.lookupNet
+
+== Release 1.0b3 ==
+
+* No bugs found or reported since previous release
+
+* Additions to org.jnetpcap package
+
+ - All core 'libpcap' functions
+
+ - PcapClosedException, PcapExtensionNotAvailableException exceptions
+
+* Addtions of and to jnetpcap.org.winpcap package - WinPcap extensions
+
+ + Nearly all WinPcap based functions, very few exceptions
+
+* Removed "commons-logging" dependency. Static initializers throw appropriate
+ exceptions directly during initialization failure.
+
+== Release 1.0b2 ==
+
+* Bug #1767744 - PcapHandler object ptr error in loop() and dispatch()
+ This is a critical bug, where PcapHandler objects clobers the
+ parent Pcap object data after invocation through loop() or
+ dispatch() method.
+
+* Add a number of int constants to Pcap.java class to represent various return
+ codes, flags, and mode settings. Each constant has detailed explanation of
+ its usage and where it is be applicable.
+
+* openLive() method will now also return "warning" messages in errbuf, even if
+ result code from the OK was 0, meaning no error had occured, as per pcap
+ specification.
+
+* Possible issue uncovered, but not fixed in this release.
+
+ - setting the snaplen value on openLinve() call does not seem to cause a
+ return of a truncated packet buffer from next(), nextEx(), dispatch() or
+ loop(). The buffer always contains the entire packet. Significant
+ debugging effort does not point to a bug in jNetPcap software but in
+ underlying WinPcap library. This could be in issue with particular Network
+ Interface Card in use. The issue is still under investigation, but the fix
+ to critical bug #1767744 can not be delayed.
+
+== Release 1.0b1 ==
+
+* Initial release
/EtsiItsAdapter/jnetpcap-1.4.r1425/CHANGE_LOG.txt
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING (revision 2403)
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
\ No newline at end of file
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/COPYING.LESSER (revision 2403)
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
\ No newline at end of file
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt (revision 2403)
@@ -0,0 +1,260 @@
+################################################################################
+#
+# Copyright (C) 2007-2010 Sly Technologies, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+################################################################################
+
+
+ jNetPcap Package
+ Version 1.3.b4
+ Release Notes
+ Created on 2010-12-15
+
+INTRODUCTION:
+============
+
+This is a stable release beta #4 of jNetPcap library. The feature set for
+1.3 release cycle is frozen and only bug fixes will be released in future
+1.3 updates.
+
+Beta 4 addresses a significant memory utilization issue. Beta 4 replaced
+Object finalization memory cleanup model, with java Reference and ReferenceQueue
+managed objects. No classes in jNetPcap library rely on Object.finalize() to
+perform any type of cleanup. Any class requiring cleanup, now uses the
+java.lang.reference package mechanism to be notified when cleanup needs to
+occur. This is Sun/Oracle recommended way of performing cleanup.
+
+Beta 4 adds a background system thread which schedules cleanup of resources. The
+cleanup thread, named after the class implementing most of the functionality,
+DisposableGC class, works in conjunction with memory allocation mechanism to
+ensure that memory is kept within default limits of 64mb.
+
+Several system properties were added to control the behavior and limits of
+DisposableGC. Properties 'nio.mx', 'nio.ms', 'nio.blocksize' control native
+memory allocation. These properties can be defined on the command line
+as '-Dnio.mx=64mb', '-Dnio.ms=64mb', '-Dnio.blocksize=32kb'. Property 'nio.mx'
+defines an absolute limit on the amount of native memory that can be allocated.
+When the limit is reached, and memory cleanup is unable to free sufficient
+amount of memory to fulfill the original request, an OutOfMemory exception is
+thrown. Property 'nio.ms' defines a soft limit, where forcible memory cleanup
+is attempted, while memory requests continue to be honored. Property
+'nio.blocksize' defines the minimum size for the smallest memory allocation
+request. Memory is allocated in larger 'nio.blocksize' blocks and sub-allocated
+per each allocation request. This prevents excessive system memory fragmentation,
+improves overall performance (since most subsequent allocation requests are
+fulfilled in java).
+
+The default values for all 3 properties are: nio.mx=64mb, nio.ms=64mb,
+nio.blocksize=32kb. The defaults are applied to all platforms and hardware
+architectures (32-bit and 64-bit).
+
+Beta 4 also improves some critical areas of jNetPcap API. Specifically, peering,
+memory allocation and use of accessor methods in JBuffer class, are
+significantly improved.
+
+The API classes are compiled with Java 1.5.X compiler and require Java 1.5
+compatibility. The package is platform dependent as there is a native library
+components supplied for each supported operating system
+(i.e. jnetpcap.dll file for win32 systems.)
+
+This release provides the API for a complete list of Libpcap's operations which
+are to openLive, openOffline, openDead, compile filters, set them and many
+others. For capturing packets, both packet at a time and dispatched handler
+methods are implemented. Also various low level kernel buffer operations that
+are natively available through WinPcap extension library are implemented as
+well, but only available on windows based platforms.
+
+The javadoc API documentation and a user guide is available at the project's
+website at: http://jnetpcap.org.
+
+== Installation Instructions ==
+
+To install the library unzip the binary platform-dependent package into any
+directory, or install the RPM package on unix based systems into its default
+directories. There are 2 parts to setting up environment for jNetPcap.
+
+ *) Win32 Dependency: jNetPcap requires WinPcap 3.1 or greater installed.
+ WinPcap version 4.0.1 or greater is recommended, but not
+ neccessary. (http://winpcap.org)
+
+ *) FC notes: main files of interest from linux RPM package are installed
+ in the following locations:
+
+ - /usr/lib/libjnetpcap.so
+ - /usr/share/java/jnetpcap-1.3.a1.jar
+ - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
+
+ *) Debian notes: main files of interest from linux deb package are installed
+ in the following locations:
+
+ - /usr/lib/libjnetpcap.so
+ - /usr/share/java/jnetpcap-1.3.a1.jar
+ - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
+
+ 1) Add supplied jnetpcap-version.jar file to your build system's CLASSPATH.
+ The jar file is found at the root of the installation directory in zip
+ files and in /usr/share/java on linux systems.
+
+ 2) Setup native jnetpcap dynamically loadable library. This varies between
+ operating systems.
+
+ * On Win32 systems do only one of the following
+
+ - copy the jnetpcap.dll library file, found at root of jnetpcap's
+ installation directory to one of the window's system folders. This
+ could be \windows or \windows\system32 directory.
+
+ - add the jNetPcap's installation directory to system PATH variable. This
+ is the same variable used access executables and scripts.
+
+ - Tell Java VM at startup exactly where to find jnetpcap.dll by setting
+ a java system property 'java.library.path' such as:
+ c:\> java -Djava.library.path=%JNETPCAP_HOME%
+
+ - You can change working directory into the root of jnetpcap's
+ installation directory.
+
+ * On unix based systems, use one of the following
+ - add /usr/lib directory to LD_LIBRARY_PATH variable as java JRE does not
+ look in this directory by default
+
+ - Tell Java VM at startup exactly where to find jnetpcap.dll by setting
+ a java system property 'java.library.path' such as:
+ shell > java -Djava.library.path=$JNETPCAP_HOME
+
+ - You can change working directory into the root of jnetpcap's
+ installation directory.
+
+ * For further trouble shooting information, please see the following link:
+ (http://jnetpcap.wiki.sourceforge.net/Troubleshooting+native+library)
+
+== Project Website and Support ==
+
+The project is actively maintained at (http://jnetpcap.org).
+
+Also please join project's [email protected] list, to discuss
+the project or report bugs at (http://sourceforge.net/mail/?group_id=164277).
+
+== Distributed Jar Files ==
+
+The file jnetpcap-version.jar provides the java implementation of the
+public API. The jar file will not function on its own and requires that the
+supplied "native shared library" be also utilized (see below.) Without the
+library, most of the classes in this jar file will throw a java
+'UnsatisfiedLinkException'.
+
+== Distributed native shared library ==
+
+The base directory of the distributed package contains a "native shared library"
+either called 'jnetpcap.dll' on windows platforms, or 'libjnetpcap.so' on
+unix based systems. The library is required in order to utilize this
+distribution. Most of the java classes included in this package will throw
+'UnsatisfiedLinkException' without this library being loaded.
+
+An environment variable pointing to the directory where the native library
+is located needs to be setup. This is either LD_LIBRARY_PATH on unix system,
+or PATH variable on windows systems. The library resides within the jnetpcap
+installation directory using zip packages and in /usr/lib directory using RPM
+packages.
+
+Within the package zip file, jnetpcap-version-arch.zip that would be
+'jnetpcap-version-arch' directory.
+
+== Dependencies ==
+
+ * On win32 systems
+
+ - Install of WinPcap 3.1 or greater
+
+ + This is the main program pacakge. It installs drivers and DLLs
+ (http://winpcap.org)
+
+ - No requirement for cgywin or mingw for runtime support, only to build.
+
+
+ * To run supplied tests (optional)
+
+ - jUnit any version
+ (http://www.junit.org/index.htm)
+
+ * To build from source (compiled binaries provided in package bundle)
+
+ - ANT build tool for both Java and C++ sources
+ (http://ant.apache.org)
+
+ - Optinal ANT task for <CC> tag
+ (http://ant-contrib.sourceforge.net/cc.html)
+
+ - Win32 MinGW with GCC (doesn't require 'cgywin' or any compatibility layers)
+
+ - gcc on unix
+
+Both the jnetpcap-version.jar file and native jnetpcap library have to be
+loaded in order to use this package. The jnetpcap-version.jar file needs
+to be added to CLASSPATH, while the native library to either LD_LIBRARY_PATH
+on unix system, or PATH variable on windows systems.
+
+Also if you want to run the included junit tests in the 'tests' sub directory,
+you will need to included any version of 'jUnit' in the CLASSPATH.
+
+== Operating System Notes ==
+
+ * WinPcap OS support
+
+ - "Starting from WinPcap 4.0beta3, support for the Windows 9x/ME family of
+ operating systems has been dropped. The last builds supporting such OSes
+ are WinPcap 3.1 and WinPcap 4.0beta2", source http://winpcap.org website.
+
+ - Current version of jNetPcap has been tested with WinPcap versions 3.1,
+ 4.0, 4.0.1, 4.1.1
+
+ - jNetPcap will not work with versions prior to 3.1 including 3.0 itself.
+
+ - WinPcap extension API is only available on windows based platforms. You
+ must use org.jnetpcap.winpcap.WinPcap.isSupport method to check if the
+ extension is available on this particular platform, even when code was
+ built under windows environment. The java classes are included even
+ on platforms that don't support WinPcap extensions, but those classes and
+ any methods inkoved will throw a PcapExtensionNotAvailableException.
+
+ * On Linux/Debian
+
+ - current release of jNetPcap only provides support for all linux based
+ operating platforms. The RPM package does not place any explicit
+ dependencies but does require libpcap RPM package to be installed. Any
+ version of 0.8 or above will do.
+
+ - only org.jnetpcap package is supported on all Unix based platforms.
+ WinPcap extensions are disabled for non windows based platforms. (Use
+ WinPcap.isSupported() method to check for support.)
+
+ * On Apple OS support
+
+ - no immediate support planned, but will release support at some point.
+
+
+== General Notes ==
+
+This is a major feature release. Adds support for high level protocol analysis,
+fixes several bugs, adds Http and Html header support and moves header package
+to new protocol package.
+
+== Changes ==
+
+ * See CHANGE_LOG.txt in the doc/ directory
+
+
/EtsiItsAdapter/jnetpcap-1.4.r1425/RELEASE_NOTES.txt
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/analysis.h (revision 2403)
@@ -0,0 +1,51 @@
+/* Header for analysis_flow utility methods */
+
+#ifndef _Included_analysis_h
+#define _Included_analysis_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+#include "org_jnetpcap_packet_analysis_Analysis.h"
+#include "org_jnetpcap_packet_analysis_AnalysisUtils.h"
+
+#define ROOT_TYPE org_jnetpcap_analysis_AnalysisUtils_ROOT_TYPE
+
+/*
+ * A header for every analysis object
+ */
+typedef struct analysis_t {
+ uint16_t type;
+ uint16_t len; // length so we can walk unknown analysis types
+} analysis_t;
+
+/*
+ * Roots are embeded in packet_state_t and header_state_t objects
+ */
+typedef struct root_analysis_t {
+ uint16_t type; // == ROOT_TYPE
+ uint16_t len; // length so we can walk unknown analysis types
+
+ analysis_t *child;
+};
+
+
+typedef void (*native_analyzer_func_t)(packet_state_t *packet);
+extern native_analyzer_func_t native_analyzers[];
+
+typedef struct analyzer_t {
+
+ native_analyzer_func_t analyzers[64][4];
+
+} analyzer_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/export.h (revision 2403)
@@ -0,0 +1,23 @@
+
+// Include this file after jni.h is included. It undefines MS compiler, def for
+// gcc specific one.
+//
+#ifndef Include_export_h
+#define Include_export_h
+
+// JNIEXPORT is designed for microsoft compilers, we're using gcc to compile
+#ifdef JNIEXPORT
+#undef JNIEXPORT
+#endif
+#undef JNIEXPORT
+#define JNIEXPORT extern "C"
+
+#undef __declspec
+#define __declspec(a) extern "C"
+
+#ifndef FALSE
+#define TRUE 1
+#define FALSE !TRUE
+#endif
+
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_bpf.h (revision 2403)
@@ -0,0 +1,25 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_bpf_h
+#define _Included_jnetpcap_bpf_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+extern jclass bpfProgramClass;
+
+extern jfieldID bpfProgramPhysicalFID;
+
+// Prototypes
+bpf_program *getBpfProgram(JNIEnv *env, jobject obj);
+void setBpfProgramPhysical(JNIEnv *env, jobject obj, jlong value);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_dumper.h (revision 2403)
@@ -0,0 +1,27 @@
+#include <jni.h>
+/* Header for jnetpcap_dumper methods */
+
+#ifndef _Included_org_jnetpcap_PcapDumper
+#define _Included_org_jnetpcap_PcapDumper
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass pcapDumperClass;
+
+extern jclass pcapDumperClass;
+
+extern jmethodID pcapDumperConstructorMID;
+
+extern jfieldID pcapDumperPhysicalFID;
+
+// Prototypes
+void setPcapDumper(JNIEnv *env, jobject obj, pcap_dumper_t *dumper);
+pcap_dumper_t *getPcapDumper(JNIEnv *env, jobject obj);
+jobject newPcapDumper(JNIEnv *env, pcap_dumper_t *dumper);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_ids.h (revision 2403)
@@ -0,0 +1,89 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_ids_h
+#define _Included_jnetpcap_ids_h
+
+#include "export.h"
+
+#include <jni.h>
+
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass pcapClass;
+extern jclass byteBufferClass;
+extern jclass stringBuilderClass;
+extern jclass pcapIfClass;
+extern jclass pcapAddrClass;
+extern jclass PcapSockAddrClass;
+extern jclass pcapIntegerClass;
+extern jclass JBufferHandlerClass;
+extern jclass ByteBufferHandlerClass;
+extern jclass JPacketHandlerClass;
+extern jclass PcapPacketHandlerClass;
+
+extern jmethodID byteBufferIsDirectMID;
+extern jmethodID bufferGetPositionMID;
+extern jmethodID bufferGetLimitMID;
+extern jmethodID bufferSetLimitMID;
+extern jmethodID bufferSetPositionMID;
+extern jmethodID bufferGetPositionMID;
+extern jmethodID bufferGetCapacityMID;
+extern jmethodID JBufferHandlerNextPacketMID;
+extern jmethodID ByteBufferHandlerNextPacketMID;
+extern jmethodID JPacketHandlerNextPacketMID;
+extern jmethodID PcapPacketHandlerNextPacketMID;
+
+
+extern jclass msIpAdapterIndexMapClass;
+
+extern jfieldID pcapPhysicalFID;
+extern jfieldID pcapIntegerValueFID;
+
+
+extern jfieldID PcapPktHdrSecondsFID;
+extern jfieldID PcapPktHdrUSecondsFID;
+extern jfieldID PcapPktHdrCaplenFID;
+extern jfieldID PcapPktHdrLenFID;
+
+extern jfieldID PcapPktBufferFID;
+
+extern jfieldID pcapIfNextFID;
+extern jfieldID pcapIfNameFID;
+extern jfieldID pcapIfDescriptionFID;
+extern jfieldID pcapIfAddressesFID;
+extern jfieldID pcapIfFlagsFID;
+
+extern jfieldID pcapAddrNextFID;
+extern jfieldID pcapAddrAddrFID;
+extern jfieldID pcapAddrNetmaskFID;
+extern jfieldID pcapAddrBroadaddrFID;
+extern jfieldID pcapAddrDstaddrFID;
+
+extern jfieldID PcapSockAddrFamilyFID;
+extern jfieldID PcapSockAddrDataFID;
+
+extern jmethodID pcapConstructorMID;
+extern jmethodID pcapIfConstructorMID;
+extern jmethodID PcapSockAddrConstructorMID;
+extern jmethodID pcapAddrConstructorMID;
+extern jmethodID msIpAdapterIndexMapMID;
+
+extern jmethodID appendMID;
+extern jmethodID setLengthMID;
+
+extern jclass pcapStatClass;
+
+extern jfieldID pcapStatRecvFID;
+extern jfieldID pcapStatDropFID;
+extern jfieldID pcapStatIfDropFID;
+extern jfieldID pcapStatCaptFID;
+extern jfieldID pcapStatSentFID;
+extern jfieldID pcapStatNetdropFID;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/jnetpcap_utils.h (revision 2403)
@@ -0,0 +1,179 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_Pcap_utils
+#define _Included_org_jnetpcap_Pcap_utils
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+#include "packet_jscanner.h"
+
+/*
+ * LIBPCAP versions that specify when each feature or function was first
+ * introduced. The format of the value is a collapsed version number. That is
+ * Actual libpcap version number 0.9.3 is first collapsed to 093 and then a
+ * 0x prefixed otherwise compiler complains that its a out-of-range octal value.
+ * So 0.9.3 becomes 0x093 and for our comparison purposes is sufficient to ensure
+ * correct libpcap version level.
+ */
+#define LIBPCAP_PCAP_SENDPACKET 0x093
+#define LIBPCAP_PCAP_INJECT 0x097
+
+
+#define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException"
+#define ILLEGAL_ARGUMENT_EXCEPTION "java/lang/IllegalArgumentException"
+#define CLASS_NOT_FOUND_EXCEPTION "java/lang/ClassNotFoundException"
+#define NO_SUCH_METHOD_EXCEPTION "java/lang/NoSuchMethodException"
+#define NO_SUCH_FIELD_EXCEPTION "java/lang/NoSuchFieldException"
+#define INDEX_OUT_OF_BOUNDS_EXCEPTION "java/lang/IndexOutOfBoundsException"
+#define NULL_PTR_EXCEPTION "java/lang/NullPointerException"
+#define UNSUPPORTED_OPERATION_EXCEPTION "java/lang/UnsupportedOperationException"
+#define PCAP_CLOSED_EXCEPTION "org/jnetpcap/PcapClosedException"
+#define PCAP_EXTENSION_NOT_AVAILABLE_EXCEPTION "org/jnetpcap/PcapExtensionNotAvailableException"
+#define OUT_OF_MEMORY_ERROR "java/lang/OutOfMemoryError"
+#define BUFFER_OVERFLOW_EXCEPTION "java/nio/BufferOverflowException"
+#define BUFFER_UNDERFLOW_EXCEPTION "java/nio/BufferUnderflowException"
+#define READ_ONLY_BUFFER_EXCETPION "java/nio/ReadOnlyBufferException"
+#define UNREGISTERED_SCANNER_EXCEPTION "org/jnetpcap/packet/UnregisteredHeaderException"
+#define IO_EXCEPTION "java/io/IOException"
+
+extern jclass pcapClass;
+extern jclass pcapHandlerClass;
+extern jclass stringBuilderClass;
+
+extern jfieldID pcapPhysicalFID;
+extern jfieldID pcapIfNextFID;
+
+extern jmethodID pcapConstructorMID;
+extern jmethodID pcapHandlerMID;
+extern jmethodID appendMID;
+extern jmethodID setLengthMID;
+
+/* IDs for packet_jpacket.cpp file */
+extern jclass pcapPacketClass;
+extern jmethodID pcapPacketConstructorMID;
+extern jfieldID pcapStateFID;
+extern jfieldID pcapHeaderFID;
+
+
+// GENERIC utilities
+const char *toCharArray(JNIEnv *env, jstring jstr, char *buf);
+jstring toJavaString(JNIEnv *env, const char *buf);
+jlong toLong(void *ptr);
+void *toPtr(jlong lp);
+
+jclass getClass(JNIEnv *env, char *clazz);
+
+
+/*
+ * PCAP class related utilities
+ */
+
+/*
+ * Structure which holds information for a callback from dispatch and loop.
+ * Holds enough information so we can callback to Java handler and still return
+ * the original generic user data object.
+ */
+typedef struct pcap_user_data_t {
+ JNIEnv *env;
+ jobject obj;
+ jobject pcap;
+ jobject user;
+ jclass clazz;
+ jthrowable exception; // Any exceptions to rethrow
+ jmethodID mid;
+ pcap_t *p;
+
+} pcap_user_data_t;
+
+typedef struct cb_byte_buffer_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // ByteBufferHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+} cb_byte_buffer_t;
+
+typedef struct cb_jbuffer_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // JBufferHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+ jobject buffer; // JBuffer
+} cb_jbuffer_t;
+
+#define DEBUG_INJECT_PACKET_BREAK_LOOP 1
+typedef struct cb_packet_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // JPacketHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+ jobject packet; // JPacket
+ jobject state; // JPacket.State
+ jint id; // Header ID
+ jobject scanner; // JScanner
+ int flags; // Flags used when inject packet is used
+
+} cb_jpacket_t;
+
+
+
+extern "C"
+void pcap_callback(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_byte_buffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_jbuffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_pcap_packet_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_pcap_dumper_handler(u_char*, const pcap_pkthdr*, const u_char*);
+
+pcap_t *getPcap(JNIEnv *env, jobject obj);
+jmethodID getPcapHandlerMID(JNIEnv *env);
+jfieldID getPcapPhysicalFID(JNIEnv *env, jclass clazz);
+jlong getPhysical(JNIEnv *, jobject);
+void setPhysical(JNIEnv *, jobject, jlong);
+void setString(JNIEnv *env, jobject buffer, const char *);
+jmethodID getPcapConstructorMID(JNIEnv *env, jclass clazz);
+pcap_pkthdr *getPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header);
+void setPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header);
+void setPktBuffer(JNIEnv *env, jobject jpkt_buffer, jobject jbuffer);
+jclass findClass(JNIEnv *env, const char *name);
+jmethodID findMethod(JNIEnv *env, jobject obj, const char *name, const char *signature);
+
+jobject newPcapAddr(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_addr *addr);
+jobject newPcapIf(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_if_t *ifp);
+jobject newPcapSockAddr(JNIEnv *env, sockaddr *a);
+
+void setPcapStat(JNIEnv *env, jobject jstats, pcap_stat *stats);
+
+void throwException(JNIEnv *env, const char *exception, const char *message);
+void throwVoidException(JNIEnv *env, const char *exception);
+
+/*
+ * Creates a new PcapPacket object, allocates a new memory block and copies
+ * header, state and packet data into the buffer. Then peers all the packet
+ * structures to point at the buffer.
+ */
+jobject transferToNewBuffer(
+ JNIEnv *env,
+ const pcap_pkthdr *pkt_header,
+ const u_char *pkt_data,
+ jobject state);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/mac_addr.h (revision 2403)
@@ -0,0 +1,7 @@
+#ifndef __MAC_ADDR_HDR__
+#define __MAC_ADDR_HDR__
+
+extern "C" int mac_addr_dlpi ( char *dev, u_char *addr);
+extern "C" int mac_addr_sys ( char *dev, u_char *addr);
+
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jbuffer.h (revision 2403)
@@ -0,0 +1,102 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_nio_jbuffer_h
+#define _Included_nio_jbuffer_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+
+/****************************************************************
+ * **************************************************************
+ *
+ * JNI IDs
+ *
+ * **************************************************************
+ ****************************************************************/
+extern jfieldID jbufferOrderFID;
+extern jfieldID jbufferReadonlyFID;
+
+/****************************************************************
+ * **************************************************************
+ *
+ * ENDIAN MACROS - swap bytes for proper endianess
+ *
+ * **************************************************************
+ ****************************************************************/
+#define ENDIAN16_ATOM_SWAP(data) (\
+ ((((uint16_t)data) >> 8) & 0x00FF) | ((((uint16_t)data) << 8) & 0xFF00))
+
+#define ENDIAN32_ATOM_SWAP(data) (\
+ ( (((uint32_t)data) >> 24) & 0x000000FF) | ((((uint32_t)data) >> 8) & 0x0000FF00) |\
+ ( (((uint32_t)data) << 8) & 0x00FF0000) | ((((uint32_t)data) << 24) & 0xFF000000))
+
+#define ENDIAN64_ATOM_SWAP(data) (\
+ ( (((uint64_t)data) >> 56) & 0x00000000000000FFLLU) | ((((uint64_t)data) >> 40) & 0x000000000000FF00LLU) |\
+ ( (((uint64_t)data) >> 24) & 0x0000000000FF0000LLU) | ((((uint64_t)data) >> 8) & 0x00000000FF000000LLU) |\
+ ( (((uint64_t)data) << 8) & 0x000000FF00000000LLU) | ((((uint64_t)data) << 24) & 0x0000FF0000000000LLU) |\
+ ( (((uint64_t)data) << 40) & 0x00FF000000000000LLU) | ((((uint64_t)data) << 56) & 0xFF00000000000000LLU) \
+ )
+
+#define ENDIAN16_PTR_SWAP(data) \
+ ((uint16_t)*(data + 0) << 8) | ((uint16_t)*(data + 1))
+
+#define ENDIAN32_PTR_SWAP(data) \
+ ((uint32_t)*(data + 0) << 24) | ((uint32_t)*(data + 3) ) |\
+ ((uint32_t)*(data + 1) << 16) | ((uint32_t)*(data + 2) << 8)
+
+#define ENDIAN64_PTR_SWAP(data) \
+ ((uint64_t)*(data + 0) << 56) | ((uint64_t)*(data + 7) ) |\
+ ((uint64_t)*(data + 1) << 48) | ((uint64_t)*(data + 6) << 8) |\
+ ((uint64_t)*(data + 2) << 40) | ((uint64_t)*(data + 5) << 16) |\
+ ((uint64_t)*(data + 3) << 32) | ((uint64_t)*(data + 4) << 24)
+
+/*
+ * These macros test for requested BIG ENDIAN condition and appropriately define
+ * the correct byte swap macro for various CPU ENDIAN platforms.
+ *
+ * Usage - if cond is TRUE will ensure that BIG_ENDIAN is returned on both
+ * LITTLE AND BIG platforms. If cond is FALSE then LITTLE_ENDIAN will be
+ * returned.
+ */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?ENDIAN16_ATOM_SWAP(data):data)
+#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?ENDIAN32_ATOM_SWAP(data):data)
+#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?ENDIAN64_ATOM_SWAP(data):data)
+
+#define BIG_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data)
+#define BIG_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data)
+#define BIG_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data)
+
+#define LITTLE_ENDIAN16(data) data
+#define LITTLE_ENDIAN32(data) data
+#define LITTLE_ENDIAN64(data) data
+
+#elif __BYTE_ORDER == __BIG_ENDIAN
+#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN16_ATOM_SWAP(data))
+#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN32_ATOM_SWAP(data))
+#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN64_ATOM_SWAP(data))
+
+#define BIG_ENDIAN16(data) data
+#define BIG_ENDIAN32(data) data
+#define BIG_ENDIAN64(data) data
+
+#define LITTLE_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data)
+#define LITTLE_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data)
+#define LITTLE_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data)
+
+#else
+# error "ENDIAN MACROS NOT DEFINED :("
+#endif
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/nio_jmemory.h (revision 2403)
@@ -0,0 +1,88 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_nio_jmemory_h
+#define _Included_nio_jmemory_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+
+typedef struct memory_usage_t {
+ uint64_t total_allocated;
+ uint64_t total_deallocated;
+
+ uint64_t total_allocate_calls;
+ uint64_t total_deallocate_calls;
+
+ uint64_t seg_0_255_bytes;
+ uint64_t seg_256_or_above_bytes;
+
+ uint64_t max_direct;
+ uint64_t soft_direct;
+ uint64_t reserved_direct;
+ uint64_t available_direct;
+
+} memory_usage_t;
+
+typedef struct jni_global_ref_t {
+ int count; // Number of references held
+ jobject reference[]; // array of references held
+} jni_global_ref_t;
+
+
+extern jclass jmemoryClass;
+extern jclass jmemoryPoolClass;
+extern jclass jmemoryReferenceClass;
+
+extern jmethodID jmemoryToDebugStringMID;
+extern jmethodID jmemoryMaxDirectMemoryBreachMID;
+extern jmethodID jmemorySoftDirectMemoryBreachMID;
+extern jmethodID jmemoryCleanupMID;
+extern jmethodID jmemoryPeer0MID;
+extern jmethodID jmemoryAllocateMID;
+extern jmethodID jmemorySetSize0MID;
+
+extern jfieldID jmemoryPhysicalFID;
+extern jfieldID jmemorySizeFID;
+extern jfieldID jmemoryOwnerFID;
+extern jfieldID jmemoryKeeperFID;
+extern jfieldID jmemoryRefFID;
+extern jfieldID jmemoryRefAddressFID;
+extern jobject jmemoryPOINTER_CONST; // JMemory.POINTER constant reference
+
+extern jmethodID jmemoryPoolAllocateExclusiveMID;
+extern jmethodID jmemoryPoolDefaultMemoryPoolMID;
+
+extern jobject defaultMemoryPool;
+
+extern memory_usage_t memory_usage;
+
+// Prototypes
+void init_jmemory(JNIEnv *env);
+void *getJMemoryPhysical(JNIEnv *env, jobject obj);
+void setJMemoryPhysical(JNIEnv *env, jobject obj, jlong value);
+void jmemoryCleanup(JNIEnv *env, jobject obj);
+
+jint jmemoryPeer(JNIEnv *env, jobject obj, const void *ptr, size_t length, jobject owner);
+
+char *jmemoryPoolAllocate(JNIEnv *env, size_t size, jobject *obj_ref);
+void jmemoryResize(JNIEnv *env, jobject obj, size_t size);
+char *jmemoryAllocate(JNIEnv *env, size_t size, jobject obj);
+char *jmemoryToDebugString(JNIEnv *env, jobject obj, char *buf);
+
+#ifdef ENABLE_ASSERT
+#define TOKEN_TO_STRING(TOK) # TOK
+#define ASSERT(cond) if (!(cond)) { fprintf(stderr, "ASSERT FAILED: %s:%d \"%s\"\n", __FILE__, __LINE__, TOKEN_TO_STRING(cond)); fflush(stderr); exit(1);}
+#else
+#define ASSERT(cond)
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_flow.h (revision 2403)
@@ -0,0 +1,53 @@
+/* Header for analysis_flow utility methods */
+
+#ifndef _Included_packet_flow_h
+#define _Included_packet_flow_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+#include "org_jnetpcap_packet_JFlowKey.h"
+
+#define FLOW_KEY_PAIR_COUNT org_jnetpcap_packet_JFlowKey_FLOW_KEY_PAIR_COUNT
+
+struct scan_t; // Forward reference
+
+/*
+ * Flow key is made up of several key pairs. In order for a flow key to be
+ * equal to another flow key, all the pair values must match. The flow pairs
+ * can be bi-directional. If uni directional flag is not set, it means that the
+ * second array of pairs is also in use and the values there are exact pair
+ * reversal of the first array of pairs.
+ */
+typedef struct flow_key_t {
+ uint64_t header_map; // bitmap of header IDs part of this flowkey
+ uint32_t hash; // Hashcode
+#define FLOW_KEY_FLAG_REVERSABLE_PAIRS org_jnetpcap_packet_JFlowKey_FLAG_REVERSABLE
+ uint16_t flags; // flags
+ uint16_t pair_count; // number of pairs upto FLOW_KEY_PAIR_COUNT
+ uint8_t id[FLOW_KEY_PAIR_COUNT];
+ uint32_t forward_pair[FLOW_KEY_PAIR_COUNT][2];
+ uint32_t reverse_pair[FLOW_KEY_PAIR_COUNT][2];
+} flow_key_t;
+
+/**
+ * Based on the first part of the key, it sets the second part of the key
+ * using reversed direction values for each pair. flow_key_t->pair[2] is a
+ * multi-dimensional array that has 2 sets of key pairs. [0] for forward keys
+ * and [1] for reverse direction keys.
+ */
+void flow_key_init(flow_key_t *key, int id);
+
+void process_flow_key(scan_t *scan);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_jscanner.h (revision 2403)
@@ -0,0 +1,374 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_packet_jscanner_h
+#define _Included_jnetpcap_packet_jscanner_h
+#ifdef __cplusplus
+
+#include <stdint.h>
+
+#include "export.h"
+#include "org_jnetpcap_packet_JScanner.h"
+#include "org_jnetpcap_packet_JRegistry.h"
+#include "org_jnetpcap_packet_JPacket_State.h"
+#include "org_jnetpcap_packet_JHeader_State.h"
+#include "org_jnetpcap_protocol_JProtocol.h"
+#include "packet_flow.h"
+#include "util_debug.h"
+
+/******************************
+ ******************************
+ */
+#define JREGISTRY org_jnetpcap_packet_JRegistry_
+#define MAX_ID_COUNT org_jnetpcap_packet_JRegistry_MAX_ID_COUNT
+#define MAX_MAP_COUNT (MAX_ID_COUNT / 32)
+#define FLAG_OVERRIDE_LENGTH org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_LENGTH
+#define FLAG_OVERRIDE_BINDING org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_BINDING
+#define FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_BINDING
+#define FLAG_HEURISTIC_PRE_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_PRE_BINDING
+
+#define JSCANNER org_jnetpcap_packet_JScanner_
+#define MAX_ENTRY_COUNT org_jnetpcap_packet_JScanner_MAX_ENTRY_COUNT
+
+#define JPROTOCOL org_jnetpcap_protocol_JProtocol_
+#define PAYLOAD_ID org_jnetpcap_protocol_JProtocol_PAYLOAD_ID
+
+#define JPACKET org_jnetpcap_packet_JPacket_State_
+#define PACKET_FLAG_TRUNCATED org_jnetpcap_packet_JPacket_State_FLAG_TRUNCATED
+
+#define JHEADER org_jnetpcap_packet_JHeader_State_
+#define HEADER_FLAG_PREFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PREFIX_TRUNCATED
+#define HEADER_FLAG_HEADER_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_TRUNCATED
+#define HEADER_FLAG_PAYLOAD_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PAYLOAD_TRUNCATED
+#define HEADER_FLAG_GAP_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_GAP_TRUNCATED
+#define HEADER_FLAG_POSTFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_POSTFIX_TRUNCATED
+#define HEADER_FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JHeader_State_FLAG_HEURISTIC_BINDING
+#define HEADER_FLAG_CRC_PERFORMED org_jnetpcap_packet_JHeader_State_FLAG_CRC_PERFORMED
+#define HEADER_FLAG_CRC_INVALID org_jnetpcap_packet_JHeader_State_FLAG_CRC_INVALID
+#define HEADER_FLAG_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED
+#define HEADER_FLAG_SUBHEADERS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_SUBHEADERS_DISSECTED
+#define HEADER_FLAG_FIELDS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_FIELDS_DISSECTED
+#define HEADER_FLAG_IGNORE_BOUNDS org_jnetpcap_packet_JHeader_State_FLAG_IGNORE_BOUNDS
+#define HEADER_FLAG_HEADER_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED
+
+/* Cumulative flags. Flags which are passed to subsequent encapsulated headers */
+#define CUMULATIVE_FLAG_HEADER_FRAGMENTED \
+ HEADER_FLAG_HEADER_FRAGMENTED | \
+ HEADER_FLAG_IGNORE_BOUNDS
+
+#define CUMULATIVE_FLAG_MASK CUMULATIVE_FLAG_HEADER_FRAGMENTED
+
+#define INVALID PAYLOAD_ID
+
+#define ACCESS(offset) if (is_accessible(scan, offset) == FALSE) return;
+
+
+/******************************
+ ******************************
+ */
+extern jclass jheaderScannerClass;
+
+extern jmethodID scanHeaderMID;
+
+
+/******************************
+ ******************************
+ */
+
+// Forward references
+struct scanner_t;
+struct packet_state_t;
+struct header_t;
+struct scan_t;
+struct dissect_t;
+
+/*
+ * Array of function pointers. These functions perform a per protocol scan
+ * and return the next header. They also return the length of the header in
+ * the supplied int pointer.
+ */
+void init_native_protocols();
+typedef void (*native_protocol_func_t)(scan_t *scan);
+typedef int (*native_validate_func_t)(scan_t *scan);
+typedef void (*native_dissect_func_t)(dissect_t *dissect);
+typedef void (*native_debug_func_t)(void *hdr);
+
+extern native_protocol_func_t native_protocols[];
+extern native_validate_func_t native_heuristics[MAX_ID_COUNT][MAX_ID_COUNT];
+extern native_debug_func_t native_debug[];
+extern const char *native_protocol_names[];
+
+void callJavaHeaderScanner(scan_t *scan);
+void record_header(scan_t *scan);
+void adjustForTruncatedPacket(scan_t *scan);
+
+
+extern char str_buf[1024];
+
+
+
+/**
+ * Experimental structures to be used in header dissection, that is complete header
+ * structural breakdown. dissected_t records individual field information within
+ * the header. Also record information about sub-headers which are within the
+ * main header. Structure within the header is bitbased not byte based since
+ * any field within a header might occur at any particular bit offset into the
+ * header.
+ *
+ * Dissectors only record information about non-static fields headers. Static
+ * fields don't need description since they are always at the same offset and
+ * length.
+ */
+
+//#define DISSECTOR_TYPE_FIELD 1
+//#define DISSECTOR_TYPE_HEADER 2
+//
+#define DISSECTOR_FLAG_FIELDS 0x0001
+#define DISSECTOR_FLAG_HEADERS 0x0002
+//
+//typedef union dfield_t {
+// uint8_t dt_id;
+// uint16_t dt_flags;
+// uint16_t dt_offset; // in bits
+// uint16_t dt_length; // in bits
+//} dfield_t;
+
+/*
+ * Structure maintains state for the duration of a header dissection.
+ */
+typedef struct dissect_t {
+ JNIEnv *env;
+
+ packet_state_t *d_packet;
+ header_t *d_header;
+ scanner_t *d_scanner;
+
+ uint8_t *d_buf;
+ int d_buf_len;
+ int d_offset;
+} dissect_t;
+
+#define SCAN_STACK_SIZE 8
+typedef struct scan_stack_ {
+
+ int next_id;
+ int offset;
+
+} scan_stack_t;
+
+
+/*
+ * Structure maintains state for the duration of the scan in progress
+ *
+ * The structure keeps track of the packet buffer and 3 types of lengths.
+ * 1) mem_len is the actual total length of the buffer in memory
+ * 2) wire_len is the length of the original packet when it was captured before
+ * it was truncated
+ * 3) buf_len is the runtime/effectual length of the buffer used by the scanner
+ * methods. This length may shrink if a protocol uses postfix for padding
+ * or some kind of trailer. The buf_len field is reduced by the scanner
+ * for that header by the appropriate amount so that next header doesn't
+ * consider the previous header's postfix as valid part of the packet it
+ * needs to decode.
+ */
+typedef struct scan_t {
+ JNIEnv *env;
+ jobject jscanner;
+ jobject jpacket;
+ jobject jscan; // This structure as a java object
+ scanner_t *scanner;
+
+ packet_state_t *packet;
+ header_t *header;
+ char *buf;
+ int buf_len;
+ int wire_len;
+ int mem_len;
+ int offset;
+ int length;
+ int id;
+ int next_id;
+ int flags;
+ int sctp_offset;
+
+ int stack_index; // # of entries on the stack/Last index
+ scan_stack_t stack[SCAN_STACK_SIZE];
+
+ int hdr_prefix;
+ int hdr_gap;
+ int hdr_payload;
+ int hdr_postfix;
+ int hdr_flags;
+ int is_recorded;
+
+ int hdr_count;
+ int hdr_index;
+
+ int dport; // Transport destination port
+ int sport; // Transport source port
+} scan_t;
+
+#define SCAN_IS_FRAGMENT(scan) (scan->flags & HEADER_FLAG_FRAGMENTED)
+#define SCAN_IGNORE_BOUNDS(scan) (scan->flags & HEADER_FLAG_IGNORE_BOUNDS)
+#define SCAN_IS_PREFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PREFIX_TRUNCATED)
+#define SCAN_IS_HEADER_TRUNCATED(scan) (scan->flags & HEADER_FLAG_HEADER_TRUNCATED)
+#define SCAN_IS_GAP_TRUNCATED(scan) (scan->flags & HEADER_FLAG_GAP_TRUNCATED)
+#define SCAN_IS_PAYLOAD_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PAYLOAD_TRUNCATED)
+#define SCAN_IS_POSTFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_POSTFIX_TRUNCATED)
+
+/*
+ * Each header "record" may have the following physical structure:
+ * +-------------------------------------------+
+ * | prefix | header | gap | payload | postfix |
+ * +-------------------------------------------+
+ *
+ * Offset points at the start of the header, not the prefix. In order to calculate
+ * the exact start of the record, you must subtract the prefix length from the
+ * offset as follows:
+ *
+ * prefix_offset = hdr_offset - hdr_prefix;
+ *
+ * To calculate the offset of the start of the payload:
+ *
+ * payload_offset = hdr_offset + hdr_length + hdr_gap;
+ *
+ * To calculate the offset of the start of the postfix
+ *
+ * postfix_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload;
+ *
+ * To calculate the end of the header record:
+ *
+ * end_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload + hdr_postifx;
+ *
+ * Note that most of the time the fields hdr_prefix, hdr_gap and hdr_postfix
+ * will be zero, but this structure does allow a more complex headers in a
+ * frame to exist. Some protocols have prefixes such Ethernet2 frames on BSD
+ * systems and a trailer (represented as a postfix) which may contains padding,
+ * CRC counters etc. Rtp header for example utilizes padding after its payload
+ * and so do many other protocols. As of right now, the author is not aware of
+ * any protocols utilizing an inter header-to-payload gap, which is another way
+ * of saying a header-padding. None the less, the structure for gap is
+ * represented here for future compatibility.
+ */
+typedef struct header_t {
+ uint8_t hdr_id; // header ID
+
+ uint8_t hdr_prefix; // length of the prefix (preamble) before the header
+ uint8_t hdr_gap; // length of the gap between header and payload
+ uint16_t hdr_flags; // flags for this header
+ uint16_t hdr_postfix; // length of the postfix (trailer) after the payload
+ uint32_t hdr_offset; // offset into the packet_t->data buffer
+ uint32_t hdr_length; // length of the header in packet_t->data buffer
+ uint32_t hdr_payload; // length of the payload
+
+ uint8_t hdr_subcount; // number of sub-headers
+ header_t *hdr_subheader; // Index of the first subheader in packet_t
+
+ jobject hdr_analysis; // Java JAnalysis based object if not null
+} header_t;
+
+#define ID2MAP(id) (id >> 5)
+#define MASK2MAP(m) (map >> 32)
+#define ID2MASK(id) ((uint64_t)((uint64_t)(id & ~0x1F) << 27) | (1ULL << (id & 0x1F)))
+
+#define PACKET_STATE_ADD_HEADER(pkt, id) pkt->pkt_header_map[ID2MAP(id)] |= ID2MASK(id)
+#define PACKET_STATE_HAS_HEADER(pkt, id) (pkt->pkt_header_map[ID2MAP(id)] & ID2MAP(id) != 0)
+
+typedef struct packet_state_t {
+ flow_key_t pkt_flow_key; // Flow key calculated for this packet, must be first
+ uint8_t pkt_flags; // flags for this packet
+ jobject pkt_analysis; // Java JAnalysis based object if not null
+ uint64_t pkt_frame_num; // Packet's frame number assigned by scanner
+ uint64_t pkt_header_map[MAX_MAP_COUNT]; // bit map of presence of headers
+
+ uint32_t pkt_wirelen; // Original packet size
+ uint32_t pkt_caplen; // Original packet size
+
+ int8_t pkt_header_count; // total number of main headers found
+ header_t pkt_headers[]; // One per header + 1 more for payload
+
+ int8_t pkt_subheader_count; // total number of sub headers found
+ header_t pkt_subheaders[]; // One per header + 1 more for payload
+} packet_state_t;
+
+typedef struct scanner_t {
+ int32_t sc_len; // bytes allocated for sc_packets buffer
+
+ uint64_t sc_cur_frame_num; // Current frame number
+
+ uint32_t sc_flags[MAX_ID_COUNT]; // protocol flags
+// uint64_t sc_native_header_scanner_map; // java binding map
+
+ jobject sc_jscan; // Java JScan structure for interacting with java space
+
+ jobject sc_java_header_scanners[MAX_ID_COUNT]; // java scanners
+
+ /*
+ * A per scanner instance table that can be populated with native and
+ * java scanners at the same time.
+ */
+ native_protocol_func_t sc_scan_table[MAX_ID_COUNT];
+ native_validate_func_t sc_heuristics_table[MAX_ID_COUNT][MAX_ID_COUNT]; // Huristic
+
+
+ /* Packet and main header ring-buffer */
+ int sc_offset; // offset into sc_packets for next packet
+ packet_state_t *sc_packet; // ptr into scanner_t where the first packet begins
+
+ /* Sub-header ring buffer */
+ int sc_sublen; // Length of the sub-header ring-buffer
+ int sc_subindex; // sub-header offset
+ header_t *sc_subheader; // ptr where first sub-headers begin
+
+ int sc_heap_len;
+ int sc_heap_offset;
+ jobject sc_heap_owner;
+ uint8_t *sc_heap;
+
+} scanner_t;
+
+
+
+/******************************
+ ******************************
+ */
+
+int scan(JNIEnv *env, jobject obj, jobject jpacket, scanner_t *scanner, packet_state_t *packet,
+ int first_id, char *buf, int buf_length, uint32_t wirelen);
+
+int scanJPacket(JNIEnv *env, jobject obj, jobject jpacket, jobject jstate, scanner_t *scanner, int first_id, char *buf,
+ int buf_length, uint32_t wirelen);
+
+int scanJavaBinding(scan_t *scan);
+
+uint64_t toUlong64(JNIEnv *env, jintArray ja);
+
+jint findHeaderById(packet_state_t *packet, jint id, jint instance);
+
+const char *id2str(int id);
+
+int validate(int id, scan_t *);
+int validate_next(int id, scan_t *);
+
+/****
+ * Temporarily backed out of C++ Debug class and G++ compiler
+ *
+extern Debug scanner_logger;
+extern Debug protocol_logger;
+*****/
+/**
+ * Checks and calculates if there is enough data in the
+ * buffer to access entire header, if not the header's
+ * TRUNCATE flag is set and header's length set to wire_len.
+ *
+ * scan->length is the input and output with theoretical header length.
+ * scan->wire_len is the input with actual buffer length.
+ * scan->hdr_flags output with TRUNCATED flag set.
+ */
+int truncate_header(scan_t *scan);
+
+int is_accessible(scan_t *scan, int offset);
+
+
+
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/packet_protocol.h (revision 2403)
@@ -0,0 +1,455 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_packet_protocol_h
+#define _Included_jnetpcap_packet_protocol_h
+#ifdef __cplusplus
+
+#include <stdint.h>
+
+#include "export.h"
+#include <jni.h>
+#include "nio_jbuffer.h"
+#include "org_jnetpcap_protocol_JProtocol.h"
+#include "org_jnetpcap_packet_JScan.h"
+
+#define END_OF_HEADERS org_jnetpcap_packet_JScan_END_OF_HEADERS_ID
+#define ETHERNET_ID org_jnetpcap_protocol_JProtocol_ETHERNET_ID
+#define TCP_ID org_jnetpcap_protocol_JProtocol_TCP_ID
+#define UDP_ID org_jnetpcap_protocol_JProtocol_UDP_ID
+#define IEEE_802DOT3_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT3_ID
+#define IEEE_802DOT2_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT2_ID
+#define IEEE_SNAP_ID org_jnetpcap_protocol_JProtocol_IEEE_SNAP_ID
+#define IP4_ID org_jnetpcap_protocol_JProtocol_IP4_ID
+#define IP6_ID org_jnetpcap_protocol_JProtocol_IP6_ID
+#define IEEE_802DOT1Q_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT1Q_ID
+#define L2TP_ID org_jnetpcap_protocol_JProtocol_L2TP_ID
+#define PPP_ID org_jnetpcap_protocol_JProtocol_PPP_ID
+#define ICMP_ID org_jnetpcap_protocol_JProtocol_ICMP_ID
+#define HTTP_ID org_jnetpcap_protocol_JProtocol_HTTP_ID
+#define HTML_ID org_jnetpcap_protocol_JProtocol_HTML_ID
+#define ARP_ID org_jnetpcap_protocol_JProtocol_ARP_ID
+#define SIP_ID org_jnetpcap_protocol_JProtocol_SIP_ID
+#define SDP_ID org_jnetpcap_protocol_JProtocol_SDP_ID
+#define RTP_ID org_jnetpcap_protocol_JProtocol_RTP_ID
+#define SLL_ID org_jnetpcap_protocol_JProtocol_SLL_ID
+
+#define SCTP_ID org_jnetpcap_protocol_JProtocol_SCTP_ID
+#define SCTP_CHUNK_ID org_jnetpcap_protocol_JProtocol_SCTP_DATA_ID
+#define SCTP_DATA_ID org_jnetpcap_protocol_JProtocol_SCTP_DATA_ID
+#define SCTP_INIT_ID org_jnetpcap_protocol_JProtocol_SCTP_INIT_ID
+#define SCTP_INIT_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_INIT_ACK_ID
+#define SCTP_SACK_ID org_jnetpcap_protocol_JProtocol_SCTP_SACK_ID
+#define SCTP_HEARTBEAT_ID org_jnetpcap_protocol_JProtocol_SCTP_HEARTBEAT_ID
+#define SCTP_HEARTBEAT_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_HEARTBEAT_ACK_ID
+#define SCTP_ABORT_ID org_jnetpcap_protocol_JProtocol_SCTP_ABORT_ID
+#define SCTP_SHUTDOWN_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_ID
+#define SCTP_SHUTDOWN_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_ACK_ID
+#define SCTP_ERROR_ID org_jnetpcap_protocol_JProtocol_SCTP_ERROR_ID
+#define SCTP_COOKIE_ID org_jnetpcap_protocol_JProtocol_SCTP_COOKIE_ID
+#define SCTP_COOKIE_ACK_ID org_jnetpcap_protocol_JProtocol_SCTP_COOKIE_ACK_ID
+#define SCTP_ECNE_ID org_jnetpcap_protocol_JProtocol_SCTP_ECNE_ID
+#define SCTP_CWR_ID org_jnetpcap_protocol_JProtocol_SCTP_CWR_ID
+#define SCTP_SHUTDOWN_COMPLETE_ID org_jnetpcap_protocol_JProtocol_SCTP_SHUTDOWN_COMPLETE_ID
+
+#define RTCP_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID
+#define RTCP_CHUNK_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID
+#define RTCP_SENDER_REPORT_ID org_jnetpcap_protocol_JProtocol_RTCP_SENDER_REPORT_ID
+#define RTCP_RECEIVER_REPORT_ID org_jnetpcap_protocol_JProtocol_RTCP_RECEIVER_REPORT_ID
+#define RTCP_SDES_ID org_jnetpcap_protocol_JProtocol_RTCP_SDES_ID
+#define RTCP_BYE_ID org_jnetpcap_protocol_JProtocol_RTCP_BYE_ID
+#define RTCP_APP_ID org_jnetpcap_protocol_JProtocol_RTCP_APP_ID
+
+#define NULL_HEADER_ID org_jnetpcap_protocol_JProtocol_NULL_HEADER_ID
+
+#define WEB_IMAGE_ID org_jnetpcap_protocol_JProtocol_WEB_IMAGE_ID
+
+#define NETBIOS_ID END_OF_HEADERS
+
+typedef struct null_header_ {
+
+ uint32_t type; // PF_ protocol family type
+
+} null_header_t;
+
+#define SCTP_DATA_FLAG_LAST_SEG 0x01
+#define SCTP_DATA_FLAG_FIRST_SEG 0x02
+#define SCTP_DATA_FLAG_ORDERED 0x04
+#define SCTP_DATA_FLAG_DELAY 0x08
+/**
+ * SCTP Chunk
+ */
+typedef struct sctp_chunk_ {
+
+ uint8_t type;
+ uint8_t flags;
+ uint16_t length;
+
+} sctp_chunk_t;
+
+#define SCTP_LEN 12
+/**
+ * Stream Control Transport Protocol
+ */
+typedef struct sctp_ {
+
+ uint16_t sport;
+ uint16_t dport;
+ uint32_t tag;
+ uint32_t crc32;
+
+} sctp_t;
+
+/*
+ * Linux Socket Cooked Capture header - a pseudo header as DL substitute
+ */
+#define SLL_LEN 16 // total header length
+#define SLL_ADDR_LEN 8 // length of address field
+
+typedef struct sll_t {
+ uint16_t sll_pkttype; // packet type
+ uint16_t sll_hatype; // link-layer address type
+ uint16_t sll_halen; // link-layer address length
+ uint8_t sll_addr[SLL_ADDR_LEN]; // link-layer address
+ uint16_t sll_protocol; // protocol
+} sll_t;
+
+/*
+ * Realtime Transfer Protocol and extension
+ */
+#define RTP_LENGTH 12
+#define RTPX_LENGTH 4
+
+typedef struct rtpx_t {
+
+ uint16_t rtpx_profile; // Profile specific
+ uint16_t rtpx_len; // Length of extension header
+
+} rtpx_t;
+
+/*
+ * RTP and RTCP family of protocols
+ * See RFC3550
+ */
+
+/**
+ * RTCP SSRC Sender Report (section 3 of the header)
+ */
+typedef struct rtcp_ssrc_ {
+ uint32_t ssrc_id; // SSRC identifier of the source
+ uint32_t ssrc_fract_loss:8; // Fraction of RTP data lost
+ uint32_t ssrc_total_loss:24; // Cumulative of RTP data lost
+ uint32_t ssrc_high_seq; // Extended highest seq received
+ uint32_t ssrc_jitter; // Interarrival Jitter
+ uint32_t ssrc_lsr; // Last SR timestamp
+ uint32_t ssrc_dlsr; // Delay since last SR
+
+} rtcp_ssrc_t;
+
+/*
+ * RTCP Sender Report (SR)
+ * (Section 2 of the header)
+ */
+typedef struct rtcp_sr_ {
+
+ uint64_t sr_ntp; // NTP timestamp
+ uint32_t sr_pkt_count; // Sender's packet count
+ uint32_t sr_octet_count; // Sender's octet count
+
+} rtcp_sr_t;
+
+/*
+ * RTCP - main static header present in every RTCP packet.
+ * RTCP packets are always on odd port number, while RTP on even (see RFC3550)
+ * (Section 1 of the header)
+ */
+typedef struct rtcp_ {
+
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint8_t rtcp_rc:5; // Reception Report Count (RC)
+ uint8_t rtcp_pad:1;
+ uint8_t rtcp_ver:2; // Must be 2
+
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint8_t rtcp_ver:2; // Must be 2
+ uint8_t rtcp_pad:1;
+ uint8_t rtcp_rc:5; // Reception Report Count (RC)
+
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+
+ uint8_t rtcp_type; // SR==200, RR==201
+ uint16_t rtcp_len; // 32-bit word count (including header -1)
+ uint32_t rtcp_ssrc; // Synchronization source ID
+
+} rtcp_t;
+
+
+typedef struct rtp_t {
+
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint8_t rtp_cc:4;
+ uint8_t rtp_ext:1;
+ uint8_t rtp_pad:1;
+ uint8_t rtp_ver:2;
+
+ uint8_t rtp_type:7;
+ uint8_t rtp_marker:1;
+
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint8_t rtp_ver:2;
+ uint8_t rtp_pad:1;
+ uint8_t rtp_ext:1;
+ uint8_t rtp_cc:4;
+
+ uint8_t rtp_marker:1;
+ uint8_t rtp_type:7;
+
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+
+ uint16_t rtp_seq;
+ uint32_t rtp_ts;
+ uint32_t rtp_ssrc;
+
+} rtp_t;
+
+
+/*
+ * Address Resulution Protocol
+ */
+typedef struct arp_t {
+ uint16_t htype;
+ uint16_t ptype;
+ uint8_t hlen;
+ uint8_t plen;
+} arp_t;
+
+
+/*
+ * Internet Control Message Protocol
+ */
+typedef struct icmp_t {
+ uint8_t type;
+ uint8_t code;
+ uint16_t crc;
+
+} icmp_t;
+
+/*
+ * Point to Point Protocol
+ */
+typedef struct ppp_t {
+ uint8_t addr;
+ uint8_t control;
+ uint16_t protocol;
+} ppt_t;
+
+/*
+ * Layer 2 tunneling protocol
+ */
+typedef struct l2tp_t {
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint16_t p :1;
+ uint16_t o :1;
+ uint16_t res2 :1;
+ uint16_t s :1;
+ uint16_t res1 :2;
+ uint16_t l :1;
+ uint16_t t :1;
+ uint16_t version :4;
+ uint16_t res3 :4;
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint16_t t:1;
+ uint16_t l:1;
+ uint16_t res1:2;
+ uint16_t s:1;
+ uint16_t res2:1;
+ uint16_t o:1;
+ uint16_t p:1;
+ uint16_t res3:4;
+ uint16_t version:4;
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+
+} l2tp_t;
+
+/*
+ * IEEE 802.1q VLAN header
+ */
+typedef struct vlan_t {
+ uint16_t priority :3;
+ uint16_t cfi :1;
+ uint16_t id :12;
+
+ uint16_t type;
+} vlan_t;
+
+/**
+ * SNAP IEEE
+ */
+typedef union snap_t {
+ uint32_t oui :24;
+ struct {
+ uint16_t reserved[1];
+ uint16_t pid;
+ };
+} snap_t;
+
+/**
+ * LLC IEEE802.2
+ */
+typedef struct llc_t {
+ uint8_t dsap;
+ uint8_t ssap;
+ uint8_t control;
+ union {
+ uint8_t info;
+ } ucontrol;
+} llc_t;
+
+/**
+ * UDP structure
+ */
+typedef struct udp_t {
+ uint16_t sport;
+ uint16_t dport;
+ uint16_t length;
+ uint16_t checksum;
+
+} udp_t;
+
+/**
+ * TCP structure
+ */
+typedef struct tcp_t {
+ uint16_t sport;
+ uint16_t dport;
+ uint32_t seq;
+ uint32_t ack_seq;
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint16_t res1 :4;
+ uint16_t doff :4;
+ uint16_t fin :1;
+ uint16_t syn :1;
+ uint16_t rst :1;
+ uint16_t psh :1;
+ uint16_t ack :1;
+ uint16_t urg :1;
+ uint16_t res2 :2;
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint16_t doff:4;
+ uint16_t res1:4;
+ uint16_t res2:2;
+ uint16_t urg:1;
+ uint16_t ack:1;
+ uint16_t psh:1;
+ uint16_t rst:1;
+ uint16_t syn:1;
+ uint16_t fin:1;
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+ uint16_t window;
+ uint16_t check;
+ uint16_t urg_ptr;
+} tcp_t;
+
+#define PROTO_ETHERNET_HEADER_LENGTH 14
+#define PROTO_802_3_MAX_LEN 0x600
+
+/**
+ * Ethernet 2 structure
+ */
+typedef struct ethernet_t {
+ uint8_t dhost[6]; /* destination eth addr */
+ uint8_t shost[6]; /* destination eth addr */
+ uint16_t type; /* destination eth addr */
+} ethernet_t;
+
+/**
+ * IP v6 structure
+ * RFC 1883
+ */
+typedef struct ip6 {
+ union {
+ struct ip6_hdrctl {
+ uint32_t ip6_un1_flow; /* 20 bits of flow-ID */
+ uint16_t ip6_un1_plen; /* payload length */
+ uint8_t ip6_un1_nxt; /* next header */
+ uint8_t ip6_un1_hlim; /* hop limit */
+ } ip6_un1;
+ uint8_t ip6_un2_vfc; /* 4 bits version, 4 bits class */
+ } ip6_ctlun;
+ uint8_t ip6_src[16]; /* source address */
+ uint8_t ip6_dst[16]; /* destination address */
+} ip6_t;
+
+#define ip6_vfc ip6_ctlun.ip6_un2_vfc
+#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
+#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
+#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
+#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
+#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
+
+#define IP6_HEADER_LENGTH 40
+
+#define IP6_OPT_HOP_BY_HOP 0
+#define IP6_OPT_DEST_OPTIONS 60
+#define IP6_OPT_ROUTING_HEADER 43
+#define IP6_OPT_FRAGMENT_HEADER 44
+#define IP6_OPT_AUTH_HEADER 51
+#define IP6_OPT_SECURITY_HEADER 50
+#define IP6_OPT_MOBILITY_HEADER 135
+#define IP6_OPT_NO_NEXT_HEADER 59
+
+/**
+ * IP v4 structure
+ */
+typedef struct ip4 {
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+ unsigned int ihl :4;
+ unsigned int version :4;
+#elif __BYTE_ORDER == __BIG_ENDIAN
+ unsigned int version:4;
+ unsigned int ihl:4;
+#else
+# error "Please fix <bits/endian.h>"
+#endif
+ uint8_t tos;
+ uint16_t tot_len;
+ uint16_t id;
+ uint16_t frag_off; // flags=3 bits, offset=13 bits
+ uint8_t ttl;
+ uint8_t protocol;
+ uint16_t check;
+ uint32_t saddr;
+ uint32_t daddr;
+ /*The options start here. */
+} ip4_t;
+
+#define IP4_FLAGS_MASK 0xE000
+#define IP4_FRAG_OFF_MASK ~IP4_FLAGS_MASK
+#define IP4_FLAG_MF 0x2000
+#define IP4_FLAG_DF 0x4000
+#define IP4_FLAG_RESERVED 0x8000
+
+
+/****************************************************************
+ * **************************************************************
+ *
+ * Scanner's native and java per protocol prototypes
+ *
+ * **************************************************************
+ ****************************************************************/
+
+int lookup_ethertype(uint16_t type);
+//
+//void scan_ethernet (scan_t *scan);
+//void scan_ip4 (scan_t *scan);
+
+
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc16.h (revision 2403)
@@ -0,0 +1,72 @@
+/* crc16.h
+ * Declaration of CRC-16 routines and table
+ *
+ * 2004 Richard van der Hoff <[email protected]>
+ *
+ * $Id: crc16.h 20485 2007-01-18 18:43:30Z guy $
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <[email protected]>
+ * Copyright 1998 Gerald Combs
+ *
+ * Copied from README.developer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __CRC16_H_
+#define __CRC16_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdint.h>
+
+/* Calculate the CCITT/ITU/CRC-16 16-bit CRC
+
+ (parameters for this CRC are:
+ Polynomial: x^16 + x^12 + x^5 + 1 (0x1021);
+ Start value 0xFFFF;
+ XOR result with 0xFFFF;
+ First bit is LSB)
+*/
+
+/** Compute CRC16 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC16 CCITT checksum. */
+extern uint16_t crc16_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC16 X.25 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC16 X.25 CCITT checksum. */
+extern uint16_t crc16_x25_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC16 CCITT checksum of a buffer of data. If computing the
+ * checksum over multiple buffers and you want to feed the partial CRC16
+ * back in, remember to take the 1's complement of the partial CRC16 first.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param seed The seed to use.
+ @return The CRC16 CCITT checksum (using the given seed). */
+extern uint16_t crc16_ccitt_seed(const uint8_t *buf, uint32_t len, uint16_t seed);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* crc16.h */
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_crc32.h (revision 2403)
@@ -0,0 +1,80 @@
+/* crc32.h
+ * Declaration of CRC-32 routine and table
+ *
+ * $Id: crc32.h 24930 2008-04-12 12:31:53Z stig $
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <[email protected]>
+ * Copyright 1998 Gerald Combs
+ *
+ * Copied from README.developer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __UTIL_CRC32_H_
+#define __UTIL_CRC32_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdint.h>
+
+#define CRC32C_PRELOAD 0xffffffff
+
+/*
+ * Byte swap fix contributed by Dave Wysochanski <[email protected]>.
+ */
+#define CRC32C_SWAP(crc32c_value) \
+ (((crc32c_value & 0xff000000) >> 24) | \
+ ((crc32c_value & 0x00ff0000) >> 8) | \
+ ((crc32c_value & 0x0000ff00) << 8) | \
+ ((crc32c_value & 0x000000ff) << 24))
+
+#define CRC32C(c,d) (c=(c>>8)^crc32c_table[(c^(d))&0xFF])
+
+extern const uint32_t crc32c_table[256];
+
+/** Compute CRC32C checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param crc The preload value for the CRC32C computation.
+ @return The CRC32C checksum. */
+extern uint32_t calculate_crc32c(const void *buf, int len, uint32_t crc);
+
+extern const uint32_t crc32_ccitt_table[256];
+
+/** Compute CRC32 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC32 CCITT checksum. */
+extern uint32_t crc32_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC32 CCITT checksum of a buffer of data. If computing the
+ * checksum over multiple buffers and you want to feed the partial CRC32
+ * back in, remember to take the 1's complement of the partial CRC32 first.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param seed The seed to use.
+ @return The CRC32 CCITT checksum (using the given seed). */
+extern uint32_t crc32_ccitt_seed(const uint8_t *buf, uint32_t len, uint32_t seed);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* util_crc32.h */
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_debug.h (revision 2403)
@@ -0,0 +1,96 @@
+
+// Include this file after jni.h is included. It undefines MS compiler, def for
+// gcc specific one.
+//
+#ifndef Include_util_debug_h
+#define Include_util_debug_h
+
+#define JNIEXPORT extern "C"
+
+#undef __declspec
+#define __declspec(a) extern "C"
+
+#include <stdarg.h>
+
+#define DEBUG_MAX_LEVEL 10
+
+#define DEBUG_TRACE 10
+#define DEBUG_INFO 8
+#define DEBUG_WARN 6
+#define DEBUG_ERROR 4
+
+#define DEFAULT_LEVEL DEBUG_TRACE
+#define DEFAULT_INDENT_CHAR '.'
+
+extern int debug_get_level();
+extern void debug_set_level(int level);
+extern void debug_inc();
+extern void debug_dec();
+extern void debug_reset();
+extern void debug_vmsg(const char *type, const char *msg, const char *fmt, va_list ap);
+extern void debug_msg(const char *type, const char *msg, const char *fmt, ...);
+extern void debug_trace(const char *msg, const char *fmt, ...);
+extern void debug_warn(const char *msg, const char *fmt, ...);
+extern void debug_error(const char *msg, const char *fmt, ...);
+extern void debug_info(const char *msg, const char *fmt, ...);
+extern void debug_enter(const char *method);
+extern void debug_exit(const char *method);
+
+#define DEBUG_MAX_NAME 256
+#define DEBUG_DEFAULT_LEVEL TRACE
+
+/***
+ ******** Temporarily backedout
+class Debug {
+public:
+ enum Level {
+ ALL,
+ TRACE,
+ INFO,
+ WARN,
+ ERR,
+ NONE,
+ UNDEFINED
+ };
+
+private:
+ Level level;
+ int indentation;
+ char indentBuffer[DEBUG_MAX_LEVEL + 2];
+ char indentChar;
+ Debug *parent;
+ char name[DEBUG_MAX_NAME];
+
+public:
+ Debug(const char *name, Debug *parent);
+ Debug(const char *name);
+ Debug(const char *name, Level defaultLevel);
+ ~Debug() { }
+ void setLevel(Level level);
+ Level getLevel();
+ void inc();
+ void dec();
+ void reset();
+
+ void msg(Level type, char *msg, char *fmt, ...);
+ void trace(char *msg, char *fmt, ...);
+ void info(char *msg, char *fmt, ...);
+ void warn(char *msg, char *fmt, ...);
+ void error(char *msg, char *fmt, ...);
+
+ void enter(char *method);
+ void exit(char *method);
+
+
+private:
+ void vmsg(Level type, char *msg, char *fgm, va_list ap);
+ char *indent();
+ char *getLevelName(Level level);
+ static char *levelNames[ERR + 1];
+ static Debug global_logger;
+ static Debug null_logger;
+};
+
+****************/
+
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/util_in_cksum.h (revision 2403)
@@ -0,0 +1,63 @@
+/* in_cksum.h
+ * Declaration of Internet checksum routine.
+ *
+ * $Id: in_cksum.h 12117 2004-09-28 00:06:32Z guy $
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <jni.h>
+
+typedef struct {
+ const uint8_t *ptr;
+ int len;
+} vec_t;
+
+extern uint16_t in_cksum(const vec_t *vec, int veclen);
+extern uint16_t in_cksum_shouldbe(uint16_t sum, uint16_t computed_sum);
+
+typedef union {
+ uint8_t c[2];
+ uint16_t s;
+} pad_t;
+
+extern int in_checksum_pad_to_even(
+ vec_t *vec,
+ int veclen,
+ pad_t *pad);
+
+extern int in_checksum_skip_crc16_field(
+ const uint8_t *buf, // Buffer ptr
+ vec_t *vec,
+ int len,
+ int crc_offset);
+
+extern int in_checksum_add_ip_pseudo_header(
+ const uint8_t *buf,
+ vec_t *vec,
+ int type,
+ int len,
+ uint32_t phdr[2]);
+
+extern uint16_t psuedo_ip4_tcp(
+ JNIEnv *env,
+ const uint8_t *mem,
+ size_t size,
+ jint ip4,
+ jint tcp);
+
+uint16_t psuedo_ip6_tcp(
+ JNIEnv *env,
+ const uint8_t *mem,
+ size_t size,
+ jint ip6,
+ jint tcp);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ext.h (revision 2403)
@@ -0,0 +1,18 @@
+#include <jni.h>
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_WinPcapExtensions
+#define _Included_org_jnetpcap_WinPcapExtensions
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass winPcapClass;
+
+// Prototypes
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_ids.h (revision 2403)
@@ -0,0 +1,32 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_winpcap_ids_h
+#define _Included_winpcap_ids_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+// WinPcapSamp
+extern jclass winPcapSampClass;
+extern jfieldID winPcapSampPhysicalFID;
+extern jmethodID winPcapSampConstructorMID;
+
+// WinPcapStat
+extern jclass WinPcapStatClass;
+extern jmethodID WinPcapStatConstructorMID;
+
+// WinPcapRmtAuth
+extern jclass winPcapRmtAuthClass;
+extern jfieldID winPcapRmtAuthTypeFID;
+extern jfieldID winPcapRmtAuthUsernameFID;
+extern jfieldID winPcapRmtAuthPasswordFID;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/include/winpcap_stat_ex.h (revision 2403)
@@ -0,0 +1,22 @@
+#include <jni.h>
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_WinWinPcapStat
+#define _Included_org_jnetpcap_WinWinPcapStat
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass winWinPcapStatClass;
+
+// Prototypes
+jobject newWinPcapStat(JNIEnv *env);
+void setWinPcapStat(JNIEnv *env, jobject jstats, struct pcap_stat *stats,
+ int size);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll (revision 2403)
/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap-pcap100.dll
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll (revision 2403)
/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.dll
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar
===================================================================
--- EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar (revision 2403)
/EtsiItsAdapter/jnetpcap-1.4.r1425/jnetpcap.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/CryptoLib.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/CryptoLib.jar
===================================================================
--- EtsiItsAdapter/Preserve/CryptoLib.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/CryptoLib.jar (revision 2403)
/EtsiItsAdapter/Preserve/CryptoLib.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar
===================================================================
--- EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar (revision 2403)
/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.etsi_ts103097v1114.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/joda-time-2.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/joda-time-2.0.jar
===================================================================
--- EtsiItsAdapter/Preserve/joda-time-2.0.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/joda-time-2.0.jar (revision 2403)
/EtsiItsAdapter/Preserve/joda-time-2.0.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar
===================================================================
--- EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar (revision 2403)
/EtsiItsAdapter/Preserve/pax-logging-api-1.6.10.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/commons-codec-1.4.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/commons-codec-1.4.jar
===================================================================
--- EtsiItsAdapter/Preserve/commons-codec-1.4.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/commons-codec-1.4.jar (revision 2403)
/EtsiItsAdapter/Preserve/commons-codec-1.4.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar
===================================================================
--- EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar (revision 2403)
/EtsiItsAdapter/Preserve/bcprov-jdk16-146.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar
===================================================================
--- EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar (revision 2403)
/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.ca.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar
===================================================================
--- EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar (nonexistent)
+++ EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar (revision 2403)
/EtsiItsAdapter/Preserve/de.fraunhofer.sit.c2x.pki.libs.custom-guice.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/Preserve
===================================================================
--- EtsiItsAdapter/Preserve (nonexistent)
+++ EtsiItsAdapter/Preserve (revision 2403)
/EtsiItsAdapter/Preserve
Property changes:
Added: tsvn:logminsize
## -0,0 +1 ##
+5
\ No newline at end of property
Index: EtsiItsAdapter/JSon/gson-2.3.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/JSon/gson-2.3.jar
===================================================================
--- EtsiItsAdapter/JSon/gson-2.3.jar (nonexistent)
+++ EtsiItsAdapter/JSon/gson-2.3.jar (revision 2403)
/EtsiItsAdapter/JSon/gson-2.3.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.3.0/CHANGE_LOG.txt
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/CHANGE_LOG.txt (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/CHANGE_LOG.txt (revision 2403)
@@ -0,0 +1,452 @@
+################################################################################
+#
+# Copyright (C) 2007-2010 Sly Technologies, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+################################################################################
+
+ jNetPcap Package
+ Change Log
+
+== Release 1.3.0 (2011-04-01) ==
+
+* Fixes
+
+ - Fixed Bug#3240888 - WinPcapSendQueue throws BufferUnderflow exception
+
+ - Fixed Bug#3226590 - Flow API not working
+
+ - Fixed Bug#3226577 - Constant Pcap.LOOP_INFINATE miss-spelled
+
+ - Fixed Bug#3220271 - AbstractMessageHeader parser fails
+
+ - Fixed Bug#3220200 - NullPtr exception in multi-threaded pcap capture
+
+* No further changes. Code is production ready.
+
+== Release 1.3.b4 (2010-12-15) ==
+
+* Fixes
+
+ - Memory swings - Object finalization is replaced with java Reference
+ cleanup. Memory is now managed through Reference and
+ ReferenceQueue mechanism.
+
+
+ - Various performance optimizations in JMemory and JBuffer class. Optimized
+ memory allocation path in JMemoryPool for certain object
+ types.
+
+ - Fixed boundary check in Checksum calculation with truncated jumbo
+ Ethernet frames.
+
+ - Fixed an issue when an JMemory based object tried to peer to itself.
+
+ - Fixed JMemory resize issue.
+
+ - Fixed Bug#3108615 - Ethernet FCS - FCS calculation and various Ethernet
+ header APIs that check for presence of FCS field, allow
+ verification, calculation and setting of new FCS value.
+
+
+* Added
+
+ - Added a new management class named DisposableGC which runs in
+ a background system thread and schedules native memory
+ cleanup.
+
+ - Added several system properties (nio.mx, nio.ms, nio.blocksize) which
+ affect native memory allocation, limits and DisposableGC
+ behavior.
+
+ - PcapPacket.peerAndScan - convenience method peering header and buffer
+ to a PcapPacket object. Implements certain optimizations
+ to perform the task faster.
+
+
+* Changes
+
+ - Changed the format of the debug output for
+ PcapPacket.State.toDebugString() method. The output produced
+ is more tabular with a table heading on top.
+
+ - Removed no longer used classes and directories from source such as
+ tests/beta1.5, JReference class, JMemory.references field
+
+* Non-code changes
+
+ - Added complete MANIFEST to jnetpcap.jar file, which describes version
+ information of the jNetPcap library being used.
+
+ - Changed the native and java library files names to not include full
+ version information. The versioning is now fully accomplished
+ through the use of jnetpcap root distribution directory
+ instead. This allows easier switching between different
+ versions of jNetPcap.
+
+ - Updated file headers which reflects the proper copyright and license
+ agreement (LGPL v3)
+
+ - Updated all javadoc comments and tags for all classes
+
+== Release 1.3.b3 (2010-10-01) ==
+
+* Fixes
+
+ - Bug#3078703 - JMemory.transferTo(ByteBuffer) (array version)
+
+ - Bug#3078704 - Debug message coming from Tcp header when options are parsed
+
+* Removed
+
+ - org.jnetpcap.package.dissect - left over and unusable package intended for
+ the native dissector feature which has been removed from 1.3
+ release
+
+ - SipHandler interface - left over from analyzer feature that has been
+ removed from 1.3 release
+
+* Modifications/Updates
+
+ - org.jnetpcap.protocol.voip - updated javadocs, cleaned up warnings on all
+ the classes in this package
+
+== Release 1.3.b2 (2010-09-26) ==
+
+* Fixes
+
+ - Bug#3062026 - Scanner.reloadAll() in JPacket.scan()
+
+ - Bug#3062029 - Memory leak in native scanner reloadAll() tables
+
+ - Bug#3062031 - @Bind method with multiple same headers, gets wrong header
+
+ - Bug#3062035 - AnnotatedMethod doesn't open up method access perm
+
+ - Bug#3062037 - Checksum.pseudoUDP coredumps on invalid headers
+
+ - Bug#3062050 - Main scanner loop processes 0 length headers
+
+ - Bug#3062053 - @Deprecated JPacket.getScanner method
+
+ - Bug#3065968 - Missing sendPacket(JBuffer) implementation
+
+ - Bug#3066662 - UDP header missing setter methods
+
+ - Bug#3066959 - VLAN definition incorrectly assumes 802.1d as next header
+
+ - Bug#2353774 - Tcp header incomplete - missing tcp options
+
+ - Bug#3067088 - Ip4.Timestamp incorrectly initialized
+
+ - Bug#3067096 - JPacket.toString() exceptions consume all output in progress
+
+ - Bug#2933449 - SIP PRACK Message dosn't recognized
+
+ - Bug#3018072 - Wrong scanning Sdp headers in Linux
+
+
+== Release 1.3 final (2010-08-24) ==
+
+* No code changes (b1 code thoroughly tested and deployed for several months)
+
+* Various build script changes
+
+ - Added x86_64 builds
+
+== Release 1.3.b1 (2010-04-05) ==
+
+* Fixes
+
+ - Bug#2981951 - Intermittent crashes in scanner
+
+ - Bug#2978441 - JRegistry.addBinding(JBinding) not working
+
+ - Bug#2890736 - reopened bug ConcurrentModificationException in JMemoryPool
+
+ - Bug#2906021 - Ethernet trailer end up in last header payload
+
+ - Bug#2908252 - JFormatter invalid state after exception during format output
+
+ - Bug#2908513 - exception thrown by Checksum for truncated or recursive ICMP
+ headers.
+
+* Added
+
+ - Added testcase for Bug#2899902 ( buffer underflow on 64-bit systems)
+
+== Release 1.3.a1 (2009-11-06) ==
+
+* Fixes
+
+ - Bug#2890773 - PcapPacketHandler invalid PcapHeader peer
+
+ - Bug#2890736 - JMemoryPool concurrent mod exception
+
+ - Bug#2890094 - JPacket.toHexdump doesn't work on unintialized packets
+
+ - Bug#2878768 - JMemoryPacket(int) constructor doesn't work
+
+ - Bug#2857282 - Ip4.destination(byte[]) setter uses incorrect offset
+
+ - Bug#2897714 - invalid (char *) to (int) conversion in packet_protocol.cpp
+
+* Added
+
+ - Feature#2848659 - Add frame counter reset on JScanner
+
+== No Official 1.2 stable release ==
+
+* Notes
+
+ - Release 1.2 branch was deprecated and replaced with stable 1.3 branch
+
+== Release 1.2.rc5 (2009-3-18) ==
+
+* Fixes
+
+ - #2688877 - reported that debian package is missing .so soft link to .so.rc4
+ main lib file. Will add that link in post-install to debian
+ package control file
+
+ - #2648427 - PcapDumper.dump() core-dumps. A patch is available upon request.
+
+ - #2557009 - LLC header problem
+
+* Added
+
+ - Pcap.loop() and Pcap.dispatch() variation to allow the user to supply
+ JScanner. This allows JScanner internal buffer size to be changed by the
+ user
+
+ - Added JPacket.setMemoryPool(). This allows the user to change the default
+ allocation block size of JMemoryPool for packets that are copied via the
+ constructor and transferTo() methods
+
+ - Added analyzer support for Tcp/Ip family of protocols. This includes Ip
+ fragment reassembly, tcp segment sequencing and reassembly as well
+
+ - Added Http and Html as CORE jnetpcap protocols supported by native scanner
+
+* Changed
+
+ - Moved org.jnetpcap.packet.header package to new org.jnetpcap.protocol
+ package. Protocols are grouped into families of protocols, which are stored
+ under appropriate protocol suite sub-packages.
+
+
+== Release 1.2.rc4 (2009-1-4) ==
+
+* Fixes
+
+ - #2469209 - Ip6 CORE protocol missing scanner
+
+ - #2469205 - Unchecked exceptions consumed in dispatch handlers
+
+ - #2469198 - PcapPacket.transferStateAndDataFrom(PcapPacket) not working
+
+* Added
+
+ - JConfig class for managing configuration through properties
+
+ - Activated java's logging system for logging messages
+
+ - Address resolvers - resolve addresses and numbers to human labels such as
+ ip addresses to hostnames
+
+* Changes
+
+ - Renamed annotation interface @FieldRuntime to @Dynamic
+
+* TODO
+
+ - Mapped fields for protocols such as Http and SIP
+
+
+== Release 1.2.rc3 (2008-12-22) ==
+
+* Update to 1.2.rc2
+
+* Fixes
+
+ - #2458371 - Serious memory leak in JMemory
+
+ - #2458376 - Invalid class name for an exception being thrown from JNI code
+
+* Added
+
+ - Protocol to protocol binding and registration
+
+ - Protocol header annotations; makes protocol definitions much cleaner and
+ easier to write
+
+ - Protocols/java directory with some - new non core protocols being released;
+ Http and Html headers are included
+
+ - Added several static methods to JMemory class which report on native memory
+ usage for jNetPcap library; since native memory is not reported in any JRE
+ statictics, the user can rely on these JMemory methods for monitoring
+ native memory usage
+
+ - Added several getter methods to JBuffer class that retrieve UTF8 strings in
+ raw buffers
+
+* Changes
+
+ - Main JNI scanner LOOP has been slightly rewritten to take advantage of
+ JHeaderScanner java objects, their bidnings and user written scanners
+
+* TODO
+
+ - JField class still needs more cleanup; JFieldRuntime needs to be removed
+ completely
+
+ - Formatting styles for field values need to be redone; currently too limited
+ in functionality
+
+ - Add exception hooks; exception hooks rewrite exceptions being thrown to
+ include a lot more debug information that is useful when debugging a
+ protocol
+
+== Release 1.2.rc2 (2008-12-06) ==
+
+* Update to 1.2.rc1 released on 2008-11-24
+
+* Fixed
+
+ - Fixed PcapPacket and JPacket class APIs
+
+ - Fixed various memory related issues found with JMemory
+
+* Added
+
+ - Added sub-header capabilities to JHeader and formatters
+
+ - Added all Ip options to Ip4 header definition
+
+ - Added all missing ICMP sub-header types
+
+* Known Issues
+
+ - TCP header definition is missing its optional sub-headers
+
+ - Java binding overrides are implemented but still not fully tested
+
+ - Numerous javadoc typos and blank type comments
+
+== Release 1.2 (2008-11-24) ==
+
+* Feature release
+
+* Added
+
+ - #2292402 - Packet decoding framework
+
+ - #2292455 - Memory management
+
+ - #2292464 - Add a function to acquire network interface MAC address
+
+ - #2292515 - Simplify capturing packets in multi-threaded environment
+
+ - #2321006 - Deprecate: PcapHandler
+
+ - #2321014 - Deprecate: PcapPktHdr
+
+ - #2321017 - Deprecate: PcapInteger
+
+ - #2321024 - Deprecate: certain loop, dispatch functions
+
+* Bugs
+
+ - #2219738 - WinPcap.sendQueue ignores its parameter.
+ WinPcapSendQueue(int size) constructor was ignoring size
+ parameter and using a constant.
+
+ - #2219729 - Memory leak in Pcap.loop().
+ Memory leak in Pcap.loop method. Local JNI references were
+ accumulating causing out of memory errors in Pcap.loop when it
+ was set to loop forever.
+
+== Release 1.1 (2008-06-19) ==
+
+* Maintenance release
+
+* Provides packages for: Fedora Core 8 (Linux), Debian 4 (Linux), Win32 (WinXP/Vista)
+
+* NO BUG FIXES - no bugs reported from the time of previous release
+
+== Release 1.0 (2007-12-21) ==
+
+* First production release
+
+* Bug #1855589 - Win32 isInjectSupported returned incorrect value
+
+== Release 1.0b4 (2007-08-21) ==
+
+* Linux support
+
+* Bug #1776380 - PcapBpfProgram exceptions on linux platform
+
+* Added
+
+ - Pcap.inject, Pcap.isSendPacketSupported, Pcap.isInjectPacketSupported,
+ Pcap.lookupDev, Pcap.lookupNet
+
+== Release 1.0b3 ==
+
+* No bugs found or reported since previous release
+
+* Additions to org.jnetpcap package
+
+ - All core 'libpcap' functions
+
+ - PcapClosedException, PcapExtensionNotAvailableException exceptions
+
+* Addtions of and to jnetpcap.org.winpcap package - WinPcap extensions
+
+ + Nearly all WinPcap based functions, very few exceptions
+
+* Removed "commons-logging" dependency. Static initializers throw appropriate
+ exceptions directly during initialization failure.
+
+== Release 1.0b2 ==
+
+* Bug #1767744 - PcapHandler object ptr error in loop() and dispatch()
+ This is a critical bug, where PcapHandler objects clobers the
+ parent Pcap object data after invocation through loop() or
+ dispatch() method.
+
+* Add a number of int constants to Pcap.java class to represent various return
+ codes, flags, and mode settings. Each constant has detailed explanation of
+ its usage and where it is be applicable.
+
+* openLive() method will now also return "warning" messages in errbuf, even if
+ result code from the OK was 0, meaning no error had occured, as per pcap
+ specification.
+
+* Possible issue uncovered, but not fixed in this release.
+
+ - setting the snaplen value on openLinve() call does not seem to cause a
+ return of a truncated packet buffer from next(), nextEx(), dispatch() or
+ loop(). The buffer always contains the entire packet. Significant
+ debugging effort does not point to a bug in jNetPcap software but in
+ underlying WinPcap library. This could be in issue with particular Network
+ Interface Card in use. The issue is still under investigation, but the fix
+ to critical bug #1767744 can not be delayed.
+
+== Release 1.0b1 ==
+
+* Initial release
Index: EtsiItsAdapter/jnetpcap-1.3.0/COPYING
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/COPYING (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/COPYING (revision 2403)
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
\ No newline at end of file
Index: EtsiItsAdapter/jnetpcap-1.3.0/COPYING.LESSER
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/COPYING.LESSER (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/COPYING.LESSER (revision 2403)
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
\ No newline at end of file
Index: EtsiItsAdapter/jnetpcap-1.3.0/RELEASE_NOTES.txt
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/RELEASE_NOTES.txt (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/RELEASE_NOTES.txt (revision 2403)
@@ -0,0 +1,252 @@
+################################################################################
+#
+# Copyright (C) 2007-2011 Sly Technologies, Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+################################################################################
+
+
+ jNetPcap Package
+ Version 1.3.0
+ Release Notes
+ Created on 2011-04-01
+
+INTRODUCTION:
+============
+
+This is a production quality release of jNetPcap library. The feature set for
+1.3 release cycle is frozen and only bug fixes will be released in future
+1.3 maintenance releases.
+
+Significant improvements have been done to 1.3 codebase when compared to 1.2.
+Memory utilization has been fully stabilized. Flow-key generation, protocol
+quality, performance and other attributes have been stabilized in this release.
+
+Several system properties were added to control the behavior and limits of
+DisposableGC. Properties 'nio.mx', 'nio.ms', 'nio.blocksize' control native
+memory allocation. These properties can be defined on the command line
+as '-Dnio.mx=64mb', '-Dnio.ms=64mb', '-Dnio.blocksize=32kb'. Property 'nio.mx'
+defines an absolute limit on the amount of native memory that can be allocated.
+When the limit is reached, and memory cleanup is unable to free sufficient
+amount of memory to fulfill the original request, an OutOfMemory exception is
+thrown. Property 'nio.ms' defines a soft limit, where forcible memory cleanup
+is attempted, while memory requests continue to be honored. Property
+'nio.blocksize' defines the minimum size for the smallest memory allocation
+request. Memory is allocated in larger 'nio.blocksize' blocks and sub-allocated
+per each allocation request. This prevents excessive system memory fragmentation,
+improves overall performance (since most subsequent allocation requests are
+fulfilled in java).
+
+The default values for all 3 properties are: nio.mx=64mb, nio.ms=64mb,
+nio.blocksize=32kb. The defaults are applied to all platforms and hardware
+architectures (32-bit and 64-bit).
+
+Beta 4 also improves some critical areas of jNetPcap API. Specifically, peering,
+memory allocation and use of accessor methods in JBuffer class, are
+significantly improved.
+
+The API classes are compiled with Java 1.5.X compiler and require Java 1.5
+compatibility. The package is platform dependent as there is a native library
+components supplied for each supported operating system
+(i.e. jnetpcap.dll file for win32 systems.)
+
+This release provides the API for a complete list of Libpcap's operations which
+are to openLive, openOffline, openDead, compile filters, set them and many
+others. For capturing packets, both packet at a time and dispatched handler
+methods are implemented. Also various low level kernel buffer operations that
+are natively available through WinPcap extension library are implemented as
+well, but only available on windows based platforms.
+
+The javadoc API documentation and a user guide is available at the project's
+website at: http://jnetpcap.org.
+
+== Installation Instructions ==
+
+To install the library unzip the binary platform-dependent package into any
+directory, or install the RPM package on unix based systems into its default
+directories. There are 2 parts to setting up environment for jNetPcap.
+
+ *) Win32 Dependency: jNetPcap requires WinPcap 3.1 or greater installed.
+ WinPcap version 4.0.1 or greater is recommended, but not
+ neccessary. (http://winpcap.org)
+
+ *) FC notes: main files of interest from linux RPM package are installed
+ in the following locations:
+
+ - /usr/lib/libjnetpcap.so
+ - /usr/share/java/jnetpcap-1.3.a1.jar
+ - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
+
+ *) Debian notes: main files of interest from linux deb package are installed
+ in the following locations:
+
+ - /usr/lib/libjnetpcap.so
+ - /usr/share/java/jnetpcap-1.3.a1.jar
+ - /usr/share/doc/jnetpcap-1.3.a1 = contains RELEASE notes and javadocs
+
+ 1) Add supplied jnetpcap-version.jar file to your build system's CLASSPATH.
+ The jar file is found at the root of the installation directory in zip
+ files and in /usr/share/java on linux systems.
+
+ 2) Setup native jnetpcap dynamically loadable library. This varies between
+ operating systems.
+
+ * On Win32 systems do only one of the following
+
+ - copy the jnetpcap.dll library file, found at root of jnetpcap's
+ installation directory to one of the window's system folders. This
+ could be \windows or \windows\system32 directory.
+
+ - add the jNetPcap's installation directory to system PATH variable. This
+ is the same variable used access executables and scripts.
+
+ - Tell Java VM at startup exactly where to find jnetpcap.dll by setting
+ a java system property 'java.library.path' such as:
+ c:\> java -Djava.library.path=%JNETPCAP_HOME%
+
+ - You can change working directory into the root of jnetpcap's
+ installation directory.
+
+ * On unix based systems, use one of the following
+ - add /usr/lib directory to LD_LIBRARY_PATH variable as java JRE does not
+ look in this directory by default
+
+ - Tell Java VM at startup exactly where to find jnetpcap.dll by setting
+ a java system property 'java.library.path' such as:
+ shell > java -Djava.library.path=$JNETPCAP_HOME
+
+ - You can change working directory into the root of jnetpcap's
+ installation directory.
+
+ * For further trouble shooting information, please see the following link:
+ (http://jnetpcap.wiki.sourceforge.net/Troubleshooting+native+library)
+
+== Project Website and Support ==
+
+The project is actively maintained at (http://jnetpcap.org).
+
+Also please join project's [email protected] list, to discuss
+the project or report bugs at (http://sourceforge.net/mail/?group_id=164277).
+
+== Distributed Jar Files ==
+
+The file jnetpcap-version.jar provides the java implementation of the
+public API. The jar file will not function on its own and requires that the
+supplied "native shared library" be also utilized (see below.) Without the
+library, most of the classes in this jar file will throw a java
+'UnsatisfiedLinkException'.
+
+== Distributed native shared library ==
+
+The base directory of the distributed package contains a "native shared library"
+either called 'jnetpcap.dll' on windows platforms, or 'libjnetpcap.so' on
+unix based systems. The library is required in order to utilize this
+distribution. Most of the java classes included in this package will throw
+'UnsatisfiedLinkException' without this library being loaded.
+
+An environment variable pointing to the directory where the native library
+is located needs to be setup. This is either LD_LIBRARY_PATH on unix system,
+or PATH variable on windows systems. The library resides within the jnetpcap
+installation directory using zip packages and in /usr/lib directory using RPM
+packages.
+
+Within the package zip file, jnetpcap-version-arch.zip that would be
+'jnetpcap-version-arch' directory.
+
+== Dependencies ==
+
+ * On win32 systems
+
+ - Install of WinPcap 3.1 or greater
+
+ + This is the main program pacakge. It installs drivers and DLLs
+ (http://winpcap.org)
+
+ - No requirement for cgywin or mingw for runtime support, only to build.
+
+
+ * To run supplied tests (optional)
+
+ - jUnit any version
+ (http://www.junit.org/index.htm)
+
+ * To build from source (compiled binaries provided in package bundle)
+
+ - ANT build tool for both Java and C++ sources
+ (http://ant.apache.org)
+
+ - Optinal ANT task for <CC> tag
+ (http://ant-contrib.sourceforge.net/cc.html)
+
+ - Win32 MinGW with GCC (doesn't require 'cgywin' or any compatibility layers)
+
+ - gcc on unix
+
+Both the jnetpcap-version.jar file and native jnetpcap library have to be
+loaded in order to use this package. The jnetpcap-version.jar file needs
+to be added to CLASSPATH, while the native library to either LD_LIBRARY_PATH
+on unix system, or PATH variable on windows systems.
+
+Also if you want to run the included junit tests in the 'tests' sub directory,
+you will need to included any version of 'jUnit' in the CLASSPATH.
+
+== Operating System Notes ==
+
+ * WinPcap OS support
+
+ - "Starting from WinPcap 4.0beta3, support for the Windows 9x/ME family of
+ operating systems has been dropped. The last builds supporting such OSes
+ are WinPcap 3.1 and WinPcap 4.0beta2", source http://winpcap.org website.
+
+ - Current version of jNetPcap has been tested with WinPcap versions 3.1,
+ 4.0, 4.0.1, 4.1.1
+
+ - jNetPcap will not work with versions prior to 3.1 including 3.0 itself.
+
+ - WinPcap extension API is only available on windows based platforms. You
+ must use org.jnetpcap.winpcap.WinPcap.isSupport method to check if the
+ extension is available on this particular platform, even when code was
+ built under windows environment. The java classes are included even
+ on platforms that don't support WinPcap extensions, but those classes and
+ any methods inkoved will throw a PcapExtensionNotAvailableException.
+
+ * On Linux/Debian
+
+ - current release of jNetPcap only provides support for all linux based
+ operating platforms. The RPM package does not place any explicit
+ dependencies but does require libpcap RPM package to be installed. Any
+ version of 0.8 or above will do.
+
+ - only org.jnetpcap package is supported on all Unix based platforms.
+ WinPcap extensions are disabled for non windows based platforms. (Use
+ WinPcap.isSupported() method to check for support.)
+
+ * On Apple OS support
+
+ - no immediate support planned, but will release support at some point.
+
+
+== General Notes ==
+
+This is a major feature release. Adds support for high level protocol analysis,
+fixes several bugs, adds Http and Html header support and moves header package
+to new protocol package.
+
+== Changes ==
+
+ * See CHANGE_LOG.txt in the doc/ directory
+
+
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/analysis.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/analysis.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/analysis.h (revision 2403)
@@ -0,0 +1,51 @@
+/* Header for analysis_flow utility methods */
+
+#ifndef _Included_analysis_h
+#define _Included_analysis_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+#include "org_jnetpcap_packet_analysis_Analysis.h"
+#include "org_jnetpcap_packet_analysis_AnalysisUtils.h"
+
+#define ROOT_TYPE org_jnetpcap_analysis_AnalysisUtils_ROOT_TYPE
+
+/*
+ * A header for every analysis object
+ */
+typedef struct analysis_t {
+ uint16_t type;
+ uint16_t len; // length so we can walk unknown analysis types
+} analysis_t;
+
+/*
+ * Roots are embeded in packet_state_t and header_state_t objects
+ */
+typedef struct root_analysis_t {
+ uint16_t type; // == ROOT_TYPE
+ uint16_t len; // length so we can walk unknown analysis types
+
+ analysis_t *child;
+};
+
+
+typedef void (*native_analyzer_func_t)(packet_state_t *packet);
+extern native_analyzer_func_t native_analyzers[];
+
+typedef struct analyzer_t {
+
+ native_analyzer_func_t analyzers[64][4];
+
+} analyzer_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/export.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/export.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/export.h (revision 2403)
@@ -0,0 +1,23 @@
+
+// Include this file after jni.h is included. It undefines MS compiler, def for
+// gcc specific one.
+//
+#ifndef Include_export_h
+#define Include_export_h
+
+// JNIEXPORT is designed for microsoft compilers, we're using gcc to compile
+#ifdef JNIEXPORT
+#undef JNIEXPORT
+#endif
+#undef JNIEXPORT
+#define JNIEXPORT extern "C"
+
+#undef __declspec
+#define __declspec(a) extern "C"
+
+#ifndef FALSE
+#define TRUE 1
+#define FALSE !TRUE
+#endif
+
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_bpf.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_bpf.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_bpf.h (revision 2403)
@@ -0,0 +1,25 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_bpf_h
+#define _Included_jnetpcap_bpf_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+extern jclass bpfProgramClass;
+
+extern jfieldID bpfProgramPhysicalFID;
+
+// Prototypes
+bpf_program *getBpfProgram(JNIEnv *env, jobject obj);
+void setBpfProgramPhysical(JNIEnv *env, jobject obj, jlong value);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_dumper.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_dumper.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_dumper.h (revision 2403)
@@ -0,0 +1,27 @@
+#include <jni.h>
+/* Header for jnetpcap_dumper methods */
+
+#ifndef _Included_org_jnetpcap_PcapDumper
+#define _Included_org_jnetpcap_PcapDumper
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass pcapDumperClass;
+
+extern jclass pcapDumperClass;
+
+extern jmethodID pcapDumperConstructorMID;
+
+extern jfieldID pcapDumperPhysicalFID;
+
+// Prototypes
+void setPcapDumper(JNIEnv *env, jobject obj, pcap_dumper_t *dumper);
+pcap_dumper_t *getPcapDumper(JNIEnv *env, jobject obj);
+jobject newPcapDumper(JNIEnv *env, pcap_dumper_t *dumper);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_ids.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_ids.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_ids.h (revision 2403)
@@ -0,0 +1,89 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_ids_h
+#define _Included_jnetpcap_ids_h
+
+#include "export.h"
+
+#include <jni.h>
+
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass pcapClass;
+extern jclass byteBufferClass;
+extern jclass stringBuilderClass;
+extern jclass pcapIfClass;
+extern jclass pcapAddrClass;
+extern jclass PcapSockAddrClass;
+extern jclass pcapIntegerClass;
+extern jclass JBufferHandlerClass;
+extern jclass ByteBufferHandlerClass;
+extern jclass JPacketHandlerClass;
+extern jclass PcapPacketHandlerClass;
+
+extern jmethodID byteBufferIsDirectMID;
+extern jmethodID bufferGetPositionMID;
+extern jmethodID bufferGetLimitMID;
+extern jmethodID bufferSetLimitMID;
+extern jmethodID bufferSetPositionMID;
+extern jmethodID bufferGetPositionMID;
+extern jmethodID bufferGetCapacityMID;
+extern jmethodID JBufferHandlerNextPacketMID;
+extern jmethodID ByteBufferHandlerNextPacketMID;
+extern jmethodID JPacketHandlerNextPacketMID;
+extern jmethodID PcapPacketHandlerNextPacketMID;
+
+
+extern jclass msIpAdapterIndexMapClass;
+
+extern jfieldID pcapPhysicalFID;
+extern jfieldID pcapIntegerValueFID;
+
+
+extern jfieldID PcapPktHdrSecondsFID;
+extern jfieldID PcapPktHdrUSecondsFID;
+extern jfieldID PcapPktHdrCaplenFID;
+extern jfieldID PcapPktHdrLenFID;
+
+extern jfieldID PcapPktBufferFID;
+
+extern jfieldID pcapIfNextFID;
+extern jfieldID pcapIfNameFID;
+extern jfieldID pcapIfDescriptionFID;
+extern jfieldID pcapIfAddressesFID;
+extern jfieldID pcapIfFlagsFID;
+
+extern jfieldID pcapAddrNextFID;
+extern jfieldID pcapAddrAddrFID;
+extern jfieldID pcapAddrNetmaskFID;
+extern jfieldID pcapAddrBroadaddrFID;
+extern jfieldID pcapAddrDstaddrFID;
+
+extern jfieldID PcapSockAddrFamilyFID;
+extern jfieldID PcapSockAddrDataFID;
+
+extern jmethodID pcapConstructorMID;
+extern jmethodID pcapIfConstructorMID;
+extern jmethodID PcapSockAddrConstructorMID;
+extern jmethodID pcapAddrConstructorMID;
+extern jmethodID msIpAdapterIndexMapMID;
+
+extern jmethodID appendMID;
+extern jmethodID setLengthMID;
+
+extern jclass pcapStatClass;
+
+extern jfieldID pcapStatRecvFID;
+extern jfieldID pcapStatDropFID;
+extern jfieldID pcapStatIfDropFID;
+extern jfieldID pcapStatCaptFID;
+extern jfieldID pcapStatSentFID;
+extern jfieldID pcapStatNetdropFID;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_utils.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_utils.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/jnetpcap_utils.h (revision 2403)
@@ -0,0 +1,179 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_Pcap_utils
+#define _Included_org_jnetpcap_Pcap_utils
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+#include "packet_jscanner.h"
+
+/*
+ * LIBPCAP versions that specify when each feature or function was first
+ * introduced. The format of the value is a collapsed version number. That is
+ * Actual libpcap version number 0.9.3 is first collapsed to 093 and then a
+ * 0x prefixed otherwise compiler complains that its a out-of-range octal value.
+ * So 0.9.3 becomes 0x093 and for our comparison purposes is sufficient to ensure
+ * correct libpcap version level.
+ */
+#define LIBPCAP_PCAP_SENDPACKET 0x093
+#define LIBPCAP_PCAP_INJECT 0x097
+
+
+#define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException"
+#define ILLEGAL_ARGUMENT_EXCEPTION "java/lang/IllegalArgumentException"
+#define CLASS_NOT_FOUND_EXCEPTION "java/lang/ClassNotFoundException"
+#define NO_SUCH_METHOD_EXCEPTION "java/lang/NoSuchMethodException"
+#define NO_SUCH_FIELD_EXCEPTION "java/lang/NoSuchFieldException"
+#define INDEX_OUT_OF_BOUNDS_EXCEPTION "java/lang/IndexOutOfBoundsException"
+#define NULL_PTR_EXCEPTION "java/lang/NullPointerException"
+#define UNSUPPORTED_OPERATION_EXCEPTION "java/lang/UnsupportedOperationException"
+#define PCAP_CLOSED_EXCEPTION "org/jnetpcap/PcapClosedException"
+#define PCAP_EXTENSION_NOT_AVAILABLE_EXCEPTION "org/jnetpcap/PcapExtensionNotAvailableException"
+#define OUT_OF_MEMORY_ERROR "java/lang/OutOfMemoryError"
+#define BUFFER_OVERFLOW_EXCEPTION "java/nio/BufferOverflowException"
+#define BUFFER_UNDERFLOW_EXCEPTION "java/nio/BufferUnderflowException"
+#define READ_ONLY_BUFFER_EXCETPION "java/nio/ReadOnlyBufferException"
+#define UNREGISTERED_SCANNER_EXCEPTION "org/jnetpcap/packet/UnregisteredHeaderException"
+#define IO_EXCEPTION "java/io/IOException"
+
+extern jclass pcapClass;
+extern jclass pcapHandlerClass;
+extern jclass stringBuilderClass;
+
+extern jfieldID pcapPhysicalFID;
+extern jfieldID pcapIfNextFID;
+
+extern jmethodID pcapConstructorMID;
+extern jmethodID pcapHandlerMID;
+extern jmethodID appendMID;
+extern jmethodID setLengthMID;
+
+/* IDs for packet_jpacket.cpp file */
+extern jclass pcapPacketClass;
+extern jmethodID pcapPacketConstructorMID;
+extern jfieldID pcapStateFID;
+extern jfieldID pcapHeaderFID;
+
+
+// GENERIC utilities
+const char *toCharArray(JNIEnv *env, jstring jstr, char *buf);
+jstring toJavaString(JNIEnv *env, const char *buf);
+jlong toLong(void *ptr);
+void *toPtr(jlong lp);
+
+jclass getClass(JNIEnv *env, char *clazz);
+
+
+/*
+ * PCAP class related utilities
+ */
+
+/*
+ * Structure which holds information for a callback from dispatch and loop.
+ * Holds enough information so we can callback to Java handler and still return
+ * the original generic user data object.
+ */
+typedef struct pcap_user_data_t {
+ JNIEnv *env;
+ jobject obj;
+ jobject pcap;
+ jobject user;
+ jclass clazz;
+ jthrowable exception; // Any exceptions to rethrow
+ jmethodID mid;
+ pcap_t *p;
+
+} pcap_user_data_t;
+
+typedef struct cb_byte_buffer_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // ByteBufferHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+} cb_byte_buffer_t;
+
+typedef struct cb_jbuffer_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // JBufferHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+ jobject buffer; // JBuffer
+} cb_jbuffer_t;
+
+#define DEBUG_INJECT_PACKET_BREAK_LOOP 1
+typedef struct cb_packet_t {
+ pcap_t *p;
+ jmethodID mid;
+ JNIEnv *env; // thread
+ jobject obj; // JPacketHandler
+ jobject pcap;
+ jthrowable exception; // Any exceptions to rethrow
+ jobject user;
+ jobject header; // PcapHeader
+ jobject packet; // JPacket
+ jobject state; // JPacket.State
+ jint id; // Header ID
+ jobject scanner; // JScanner
+ int flags; // Flags used when inject packet is used
+
+} cb_jpacket_t;
+
+
+
+extern "C"
+void pcap_callback(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_byte_buffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_jbuffer_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_pcap_packet_dispatch(u_char*, const pcap_pkthdr*, const u_char*);
+void cb_pcap_dumper_handler(u_char*, const pcap_pkthdr*, const u_char*);
+
+pcap_t *getPcap(JNIEnv *env, jobject obj);
+jmethodID getPcapHandlerMID(JNIEnv *env);
+jfieldID getPcapPhysicalFID(JNIEnv *env, jclass clazz);
+jlong getPhysical(JNIEnv *, jobject);
+void setPhysical(JNIEnv *, jobject, jlong);
+void setString(JNIEnv *env, jobject buffer, const char *);
+jmethodID getPcapConstructorMID(JNIEnv *env, jclass clazz);
+pcap_pkthdr *getPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header);
+void setPktHeader(JNIEnv *env, jobject jpkt_header, pcap_pkthdr *pkt_header);
+void setPktBuffer(JNIEnv *env, jobject jpkt_buffer, jobject jbuffer);
+jclass findClass(JNIEnv *env, const char *name);
+jmethodID findMethod(JNIEnv *env, jobject obj, const char *name, const char *signature);
+
+jobject newPcapAddr(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_addr *addr);
+jobject newPcapIf(JNIEnv *env, jobject jlist, jmethodID MID_add, pcap_if_t *ifp);
+jobject newPcapSockAddr(JNIEnv *env, sockaddr *a);
+
+void setPcapStat(JNIEnv *env, jobject jstats, pcap_stat *stats);
+
+void throwException(JNIEnv *env, const char *exception, const char *message);
+void throwVoidException(JNIEnv *env, const char *exception);
+
+/*
+ * Creates a new PcapPacket object, allocates a new memory block and copies
+ * header, state and packet data into the buffer. Then peers all the packet
+ * structures to point at the buffer.
+ */
+jobject transferToNewBuffer(
+ JNIEnv *env,
+ const pcap_pkthdr *pkt_header,
+ const u_char *pkt_data,
+ jobject state);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jbuffer.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jbuffer.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jbuffer.h (revision 2403)
@@ -0,0 +1,101 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_nio_jbuffer_h
+#define _Included_nio_jbuffer_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+/****************************************************************
+ * **************************************************************
+ *
+ * JNI IDs
+ *
+ * **************************************************************
+ ****************************************************************/
+extern jfieldID jbufferOrderFID;
+extern jfieldID jbufferReadonlyFID;
+
+/****************************************************************
+ * **************************************************************
+ *
+ * ENDIAN MACROS - swap bytes for proper endianess
+ *
+ * **************************************************************
+ ****************************************************************/
+#define ENDIAN16_ATOM_SWAP(data) (\
+ ((((uint16_t)data) >> 8) & 0x00FF) | ((((uint16_t)data) << 8) & 0xFF00))
+
+#define ENDIAN32_ATOM_SWAP(data) (\
+ ( (((uint32_t)data) >> 24) & 0x000000FF) | ((((uint32_t)data) >> 8) & 0x0000FF00) |\
+ ( (((uint32_t)data) << 8) & 0x00FF0000) | ((((uint32_t)data) << 24) & 0xFF000000))
+
+#define ENDIAN64_ATOM_SWAP(data) (\
+ ( (((uint64_t)data) >> 56) & 0x00000000000000FFLLU) | ((((uint64_t)data) >> 40) & 0x000000000000FF00LLU) |\
+ ( (((uint64_t)data) >> 24) & 0x0000000000FF0000LLU) | ((((uint64_t)data) >> 8) & 0x00000000FF000000LLU) |\
+ ( (((uint64_t)data) << 8) & 0x000000FF00000000LLU) | ((((uint64_t)data) << 24) & 0x0000FF0000000000LLU) |\
+ ( (((uint64_t)data) << 40) & 0x00FF000000000000LLU) | ((((uint64_t)data) << 56) & 0xFF00000000000000LLU) \
+ )
+
+#define ENDIAN16_PTR_SWAP(data) \
+ ((uint16_t)*(data + 0) << 8) | ((uint16_t)*(data + 1))
+
+#define ENDIAN32_PTR_SWAP(data) \
+ ((uint32_t)*(data + 0) << 24) | ((uint32_t)*(data + 3) ) |\
+ ((uint32_t)*(data + 1) << 16) | ((uint32_t)*(data + 2) << 8)
+
+#define ENDIAN64_PTR_SWAP(data) \
+ ((uint64_t)*(data + 0) << 56) | ((uint64_t)*(data + 7) ) |\
+ ((uint64_t)*(data + 1) << 48) | ((uint64_t)*(data + 6) << 8) |\
+ ((uint64_t)*(data + 2) << 40) | ((uint64_t)*(data + 5) << 16) |\
+ ((uint64_t)*(data + 3) << 32) | ((uint64_t)*(data + 4) << 24)
+
+/*
+ * These macros test for requested BIG ENDIAN condition and appropriately define
+ * the correct byte swap macro for various CPU ENDIAN platforms.
+ *
+ * Usage - if cond is TRUE will ensure that BIG_ENDIAN is returned on both
+ * LITTLE AND BIG platforms. If cond is FALSE then LITTLE_ENDIAN will be
+ * returned.
+ */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?ENDIAN16_ATOM_SWAP(data):data)
+#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?ENDIAN32_ATOM_SWAP(data):data)
+#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?ENDIAN64_ATOM_SWAP(data):data)
+
+#define BIG_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data)
+#define BIG_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data)
+#define BIG_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data)
+
+#define LITTLE_ENDIAN16(data) data
+#define LITTLE_ENDIAN32(data) data
+#define LITTLE_ENDIAN64(data) data
+
+#elif __BYTE_ORDER == __BIG_ENDIAN
+#define ENDIAN16_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN16_ATOM_SWAP(data))
+#define ENDIAN32_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN32_ATOM_SWAP(data))
+#define ENDIAN64_GET(big, data) ((big == JNI_TRUE)?data:ENDIAN64_ATOM_SWAP(data))
+
+#define BIG_ENDIAN16(data) data
+#define BIG_ENDIAN32(data) data
+#define BIG_ENDIAN64(data) data
+
+#define LITTLE_ENDIAN16(data) ENDIAN16_ATOM_SWAP(data)
+#define LITTLE_ENDIAN32(data) ENDIAN32_ATOM_SWAP(data)
+#define LITTLE_ENDIAN64(data) ENDIAN64_ATOM_SWAP(data)
+
+#else
+# error "ENDIAN MACROS NOT DEFINED :("
+#endif
+
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jmemory.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jmemory.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/nio_jmemory.h (revision 2403)
@@ -0,0 +1,82 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_nio_jmemory_h
+#define _Included_nio_jmemory_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+
+typedef struct memory_usage_t {
+ uint64_t total_allocated;
+ uint64_t total_deallocated;
+
+ uint64_t total_allocate_calls;
+ uint64_t total_deallocate_calls;
+
+ uint64_t seg_0_255_bytes;
+ uint64_t seg_256_or_above_bytes;
+
+ uint64_t max_direct;
+ uint64_t soft_direct;
+ uint64_t reserved_direct;
+ uint64_t available_direct;
+
+} memory_usage_t;
+
+typedef struct jni_global_ref_t {
+ int count; // Number of references held
+ jobject reference[]; // array of references held
+} jni_global_ref_t;
+
+
+extern jclass jmemoryClass;
+extern jclass jmemoryPoolClass;
+extern jclass jmemoryReferenceClass;
+
+extern jmethodID jmemoryToDebugStringMID;
+extern jmethodID jmemoryMaxDirectMemoryBreachMID;
+extern jmethodID jmemorySoftDirectMemoryBreachMID;
+extern jmethodID jmemoryCleanupMID;
+extern jmethodID jmemoryPeer0MID;
+extern jmethodID jmemoryAllocateMID;
+extern jmethodID jmemorySetSize0MID;
+
+extern jfieldID jmemoryPhysicalFID;
+extern jfieldID jmemorySizeFID;
+extern jfieldID jmemoryOwnerFID;
+extern jfieldID jmemoryKeeperFID;
+extern jfieldID jmemoryRefFID;
+extern jfieldID jmemoryRefAddressFID;
+extern jobject jmemoryPOINTER_CONST; // JMemory.POINTER constant reference
+
+extern jmethodID jmemoryPoolAllocateExclusiveMID;
+extern jmethodID jmemoryPoolDefaultMemoryPoolMID;
+
+extern jobject defaultMemoryPool;
+
+extern memory_usage_t memory_usage;
+
+// Prototypes
+void init_jmemory(JNIEnv *env);
+void *getJMemoryPhysical(JNIEnv *env, jobject obj);
+void setJMemoryPhysical(JNIEnv *env, jobject obj, jlong value);
+void jmemoryCleanup(JNIEnv *env, jobject obj);
+
+jint jmemoryPeer(JNIEnv *env, jobject obj, const void *ptr, size_t length, jobject owner);
+
+char *jmemoryPoolAllocate(JNIEnv *env, size_t size, jobject *obj_ref);
+void jmemoryResize(JNIEnv *env, jobject obj, size_t size);
+char *jmemoryAllocate(JNIEnv *env, size_t size, jobject obj);
+char *jmemoryToDebugString(JNIEnv *env, jobject obj, char *buf);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/packet_flow.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/packet_flow.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/packet_flow.h (revision 2403)
@@ -0,0 +1,53 @@
+/* Header for analysis_flow utility methods */
+
+#ifndef _Included_packet_flow_h
+#define _Included_packet_flow_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include <stdint.h>
+#include <stdint.h>
+#include "export.h"
+
+#include <jni.h>
+#include "org_jnetpcap_packet_JFlowKey.h"
+
+#define FLOW_KEY_PAIR_COUNT org_jnetpcap_packet_JFlowKey_FLOW_KEY_PAIR_COUNT
+
+struct scan_t; // Forward reference
+
+/*
+ * Flow key is made up of several key pairs. In order for a flow key to be
+ * equal to another flow key, all the pair values must match. The flow pairs
+ * can be bi-directional. If uni directional flag is not set, it means that the
+ * second array of pairs is also in use and the values there are exact pair
+ * reversal of the first array of pairs.
+ */
+typedef struct flow_key_t {
+ uint64_t header_map; // bitmap of header IDs part of this flowkey
+ uint32_t hash; // Hashcode
+#define FLOW_KEY_FLAG_REVERSABLE_PAIRS org_jnetpcap_packet_JFlowKey_FLAG_REVERSABLE
+ uint16_t flags; // flags
+ uint16_t pair_count; // number of pairs upto FLOW_KEY_PAIR_COUNT
+ uint8_t id[FLOW_KEY_PAIR_COUNT];
+ uint32_t forward_pair[FLOW_KEY_PAIR_COUNT][2];
+ uint32_t reverse_pair[FLOW_KEY_PAIR_COUNT][2];
+} flow_key_t;
+
+/**
+ * Based on the first part of the key, it sets the second part of the key
+ * using reversed direction values for each pair. flow_key_t->pair[2] is a
+ * multi-dimensional array that has 2 sets of key pairs. [0] for forward keys
+ * and [1] for reverse direction keys.
+ */
+void flow_key_init(flow_key_t *key, int id);
+
+void process_flow_key(scan_t *scan);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/packet_jscanner.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/packet_jscanner.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/packet_jscanner.h (revision 2403)
@@ -0,0 +1,349 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_packet_jscanner_h
+#define _Included_jnetpcap_packet_jscanner_h
+#ifdef __cplusplus
+
+#include <stdint.h>
+
+#include "export.h"
+#include "org_jnetpcap_packet_JScanner.h"
+#include "org_jnetpcap_packet_JRegistry.h"
+#include "org_jnetpcap_packet_JPacket_State.h"
+#include "org_jnetpcap_packet_JHeader_State.h"
+#include "org_jnetpcap_protocol_JProtocol.h"
+#include "packet_flow.h"
+#include "util_debug.h"
+
+/******************************
+ ******************************
+ */
+#define JREGISTRY org_jnetpcap_packet_JRegistry_
+#define MAX_ID_COUNT org_jnetpcap_packet_JRegistry_MAX_ID_COUNT
+#define FLAG_OVERRIDE_LENGTH org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_LENGTH
+#define FLAG_OVERRIDE_BINDING org_jnetpcap_packet_JRegistry_FLAG_OVERRIDE_BINDING
+#define FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_BINDING
+#define FLAG_HEURISTIC_PRE_BINDING org_jnetpcap_packet_JRegistry_FLAG_HEURISTIC_PRE_BINDING
+
+#define JSCANNER org_jnetpcap_packet_JScanner_
+#define MAX_ENTRY_COUNT org_jnetpcap_packet_JScanner_MAX_ENTRY_COUNT
+
+#define JPROTOCOL org_jnetpcap_protocol_JProtocol_
+#define PAYLOAD_ID org_jnetpcap_protocol_JProtocol_PAYLOAD_ID
+
+#define JPACKET org_jnetpcap_packet_JPacket_State_
+#define PACKET_FLAG_TRUNCATED org_jnetpcap_packet_JPacket_State_FLAG_TRUNCATED
+
+#define JHEADER org_jnetpcap_packet_JHeader_State_
+#define HEADER_FLAG_PREFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PREFIX_TRUNCATED
+#define HEADER_FLAG_HEADER_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_TRUNCATED
+#define HEADER_FLAG_PAYLOAD_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_PAYLOAD_TRUNCATED
+#define HEADER_FLAG_GAP_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_GAP_TRUNCATED
+#define HEADER_FLAG_POSTFIX_TRUNCATED org_jnetpcap_packet_JHeader_State_FLAG_POSTFIX_TRUNCATED
+#define HEADER_FLAG_HEURISTIC_BINDING org_jnetpcap_packet_JHeader_State_FLAG_HEURISTIC_BINDING
+#define HEADER_FLAG_CRC_PERFORMED org_jnetpcap_packet_JHeader_State_FLAG_CRC_PERFORMED
+#define HEADER_FLAG_CRC_INVALID org_jnetpcap_packet_JHeader_State_FLAG_CRC_INVALID
+#define HEADER_FLAG_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED
+#define HEADER_FLAG_SUBHEADERS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_SUBHEADERS_DISSECTED
+#define HEADER_FLAG_FIELDS_DISSECTED org_jnetpcap_packet_JHeader_State_FLAG_FIELDS_DISSECTED
+#define HEADER_FLAG_IGNORE_BOUNDS org_jnetpcap_packet_JHeader_State_FLAG_IGNORE_BOUNDS
+#define HEADER_FLAG_HEADER_FRAGMENTED org_jnetpcap_packet_JHeader_State_FLAG_HEADER_FRAGMENTED
+
+/* Cumulative flags. Flags which are passed to subsequent encapsulated headers */
+#define CUMULATIVE_FLAG_HEADER_FRAGMENTED \
+ HEADER_FLAG_HEADER_FRAGMENTED | \
+ HEADER_FLAG_IGNORE_BOUNDS
+
+#define CUMULATIVE_FLAG_MASK CUMULATIVE_FLAG_HEADER_FRAGMENTED
+
+#define INVALID PAYLOAD_ID
+
+#define ACCESS(offset) if (is_accessible(scan, offset) == FALSE) return;
+
+
+/******************************
+ ******************************
+ */
+extern jclass jheaderScannerClass;
+
+extern jmethodID scanHeaderMID;
+
+
+/******************************
+ ******************************
+ */
+
+// Forward references
+struct scanner_t;
+struct packet_state_t;
+struct header_t;
+struct scan_t;
+struct dissect_t;
+
+/*
+ * Array of function pointers. These functions perform a per protocol scan
+ * and return the next header. They also return the length of the header in
+ * the supplied int pointer.
+ */
+void init_native_protocols();
+typedef void (*native_protocol_func_t)(scan_t *scan);
+typedef int (*native_validate_func_t)(scan_t *scan);
+typedef void (*native_dissect_func_t)(dissect_t *dissect);
+typedef void (*native_debug_func_t)(void *hdr);
+
+extern native_protocol_func_t native_protocols[];
+extern native_validate_func_t native_heuristics[MAX_ID_COUNT][MAX_ID_COUNT];
+extern native_debug_func_t native_debug[];
+extern const char *native_protocol_names[];
+
+void callJavaHeaderScanner(scan_t *scan);
+void record_header(scan_t *scan);
+void adjustForTruncatedPacket(scan_t *scan);
+
+
+extern char str_buf[1024];
+
+
+
+/**
+ * Experimental structures to be used in header dissection, that is complete header
+ * structural breakdown. dissected_t records individual field information within
+ * the header. Also record information about sub-headers which are within the
+ * main header. Structure within the header is bitbased not byte based since
+ * any field within a header might occur at any particular bit offset into the
+ * header.
+ *
+ * Dissectors only record information about non-static fields headers. Static
+ * fields don't need description since they are always at the same offset and
+ * length.
+ */
+
+//#define DISSECTOR_TYPE_FIELD 1
+//#define DISSECTOR_TYPE_HEADER 2
+//
+#define DISSECTOR_FLAG_FIELDS 0x0001
+#define DISSECTOR_FLAG_HEADERS 0x0002
+//
+//typedef union dfield_t {
+// uint8_t dt_id;
+// uint16_t dt_flags;
+// uint16_t dt_offset; // in bits
+// uint16_t dt_length; // in bits
+//} dfield_t;
+
+/*
+ * Structure maintains state for the duration of a header dissection.
+ */
+typedef struct dissect_t {
+ JNIEnv *env;
+
+ packet_state_t *d_packet;
+ header_t *d_header;
+ scanner_t *d_scanner;
+
+ uint8_t *d_buf;
+ int d_buf_len;
+ int d_offset;
+} dissect_t;
+
+/*
+ * Structure maintains state for the duration of the scan in progress
+ *
+ * The structure keeps track of the packet buffer and 3 types of lengths.
+ * 1) mem_len is the actual total length of the buffer in memory
+ * 2) wire_len is the length of the original packet when it was captured before
+ * it was truncated
+ * 3) buf_len is the runtime/effectual length of the buffer used by the scanner
+ * methods. This length may shrink if a protocol uses postfix for padding
+ * or some kind of trailer. The buf_len field is reduced by the scanner
+ * for that header by the appropriate amount so that next header doesn't
+ * consider the previous header's postfix as valid part of the packet it
+ * needs to decode.
+ */
+typedef struct scan_t {
+ JNIEnv *env;
+ jobject jscanner;
+ jobject jpacket;
+ jobject jscan; // This structure as a java object
+ scanner_t *scanner;
+
+ packet_state_t *packet;
+ header_t *header;
+ char *buf;
+ int buf_len;
+ int wire_len;
+ int mem_len;
+ int offset;
+ int length;
+ int id;
+ int next_id;
+ int flags;
+
+ int hdr_prefix;
+ int hdr_gap;
+ int hdr_payload;
+ int hdr_postfix;
+ int hdr_flags;
+ int is_recorded;
+
+ int hdr_count;
+ int hdr_index;
+} scan_t;
+
+#define SCAN_IS_FRAGMENT(scan) (scan->flags & HEADER_FLAG_FRAGMENTED)
+#define SCAN_IGNORE_BOUNDS(scan) (scan->flags & HEADER_FLAG_IGNORE_BOUNDS)
+#define SCAN_IS_PREFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PREFIX_TRUNCATED)
+#define SCAN_IS_HEADER_TRUNCATED(scan) (scan->flags & HEADER_FLAG_HEADER_TRUNCATED)
+#define SCAN_IS_GAP_TRUNCATED(scan) (scan->flags & HEADER_FLAG_GAP_TRUNCATED)
+#define SCAN_IS_PAYLOAD_TRUNCATED(scan) (scan->flags & HEADER_FLAG_PAYLOAD_TRUNCATED)
+#define SCAN_IS_POSTFIX_TRUNCATED(scan) (scan->flags & HEADER_FLAG_POSTFIX_TRUNCATED)
+
+/*
+ * Each header "record" may have the following physical structure:
+ * +-------------------------------------------+
+ * | prefix | header | gap | payload | postfix |
+ * +-------------------------------------------+
+ *
+ * Offset points at the start of the header, not the prefix. In order to calculate
+ * the exact start of the record, you must subtract the prefix length from the
+ * offset as follows:
+ *
+ * prefix_offset = hdr_offset - hdr_prefix;
+ *
+ * To calculate the offset of the start of the payload:
+ *
+ * payload_offset = hdr_offset + hdr_length + hdr_gap;
+ *
+ * To calculate the offset of the start of the postfix
+ *
+ * postfix_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload;
+ *
+ * To calculate the end of the header record:
+ *
+ * end_offset = hdr_offset + hdr_length + hdr_gap + hdr_payload + hdr_postifx;
+ *
+ * Note that most of the time the fields hdr_prefix, hdr_gap and hdr_postfix
+ * will be zero, but this structure does allow a more complex headers in a
+ * frame to exist. Some protocols have prefixes such Ethernet2 frames on BSD
+ * systems and a trailer (represented as a postfix) which may contains padding,
+ * CRC counters etc. Rtp header for example utilizes padding after its payload
+ * and so do many other protocols. As of right now, the author is not aware of
+ * any protocols utilizing an inter header-to-payload gap, which is another way
+ * of saying a header-padding. None the less, the structure for gap is
+ * represented here for future compatibility.
+ */
+typedef struct header_t {
+ uint8_t hdr_id; // header ID
+
+ uint8_t hdr_prefix; // length of the prefix (preamble) before the header
+ uint8_t hdr_gap; // length of the gap between header and payload
+ uint16_t hdr_flags; // flags for this header
+ uint16_t hdr_postfix; // length of the postfix (trailer) after the payload
+ uint32_t hdr_offset; // offset into the packet_t->data buffer
+ uint32_t hdr_length; // length of the header in packet_t->data buffer
+ uint32_t hdr_payload; // length of the payload
+
+ uint8_t hdr_subcount; // number of sub-headers
+ header_t *hdr_subheader; // Index of the first subheader in packet_t
+
+ jobject hdr_analysis; // Java JAnalysis based object if not null
+} header_t;
+
+typedef struct packet_state_t {
+ flow_key_t pkt_flow_key; // Flow key calculated for this packet, must be first
+ uint8_t pkt_flags; // flags for this packet
+ jobject pkt_analysis; // Java JAnalysis based object if not null
+ uint64_t pkt_frame_num; // Packet's frame number assigned by scanner
+ uint64_t pkt_header_map; // bit map of presence of headers
+
+ uint32_t pkt_wirelen; // Original packet size
+
+ int8_t pkt_header_count; // total number of main headers found
+ header_t pkt_headers[]; // One per header + 1 more for payload
+
+ int8_t pkt_subheader_count; // total number of sub headers found
+ header_t pkt_subheaders[]; // One per header + 1 more for payload
+} packet_state_t;
+
+typedef struct scanner_t {
+ int32_t sc_len; // bytes allocated for sc_packets buffer
+
+ uint64_t sc_cur_frame_num; // Current frame number
+
+ uint32_t sc_flags[MAX_ID_COUNT]; // protocol flags
+// uint64_t sc_native_header_scanner_map; // java binding map
+
+ jobject sc_jscan; // Java JScan structure for interacting with java space
+
+ jobject sc_java_header_scanners[MAX_ID_COUNT]; // java scanners
+
+ /*
+ * A per scanner instance table that can be populated with native and
+ * java scanners at the same time.
+ */
+ native_protocol_func_t sc_scan_table[MAX_ID_COUNT];
+ native_validate_func_t sc_heuristics_table[MAX_ID_COUNT][MAX_ID_COUNT]; // Huristic
+
+
+ /* Packet and main header ring-buffer */
+ int sc_offset; // offset into sc_packets for next packet
+ packet_state_t *sc_packet; // ptr into scanner_t where the first packet begins
+
+ /* Sub-header ring buffer */
+ int sc_sublen; // Length of the sub-header ring-buffer
+ int sc_subindex; // sub-header offset
+ header_t *sc_subheader; // ptr where first sub-headers begin
+
+ int sc_heap_len;
+ int sc_heap_offset;
+ jobject sc_heap_owner;
+ uint8_t *sc_heap;
+
+} scanner_t;
+
+
+
+/******************************
+ ******************************
+ */
+
+int scan(JNIEnv *env, jobject obj, jobject jpacket, scanner_t *scanner, packet_state_t *packet,
+ int first_id, char *buf, int buf_length, uint32_t wirelen);
+
+int scanJPacket(JNIEnv *env, jobject obj, jobject jpacket, jobject jstate, scanner_t *scanner, int first_id, char *buf,
+ int buf_length, uint32_t wirelen);
+
+int scanJavaBinding(scan_t *scan);
+
+uint64_t toUlong64(JNIEnv *env, jintArray ja);
+
+jint findHeaderById(packet_state_t *packet, jint id, jint instance);
+
+const char *id2str(int id);
+
+int validate(int id, scan_t *);
+int validate_next(int id, scan_t *);
+
+/****
+ * Temporarily backed out of C++ Debug class and G++ compiler
+ *
+extern Debug scanner_logger;
+extern Debug protocol_logger;
+*****/
+/**
+ * Checks and calculates if there is enough data in the
+ * buffer to access entire header, if not the header's
+ * TRUNCATE flag is set and header's length set to wire_len.
+ *
+ * scan->length is the input and output with theoretical header length.
+ * scan->wire_len is the input with actual buffer length.
+ * scan->hdr_flags output with TRUNCATED flag set.
+ */
+int truncate_header(scan_t *scan);
+
+int is_accessible(scan_t *scan, int offset);
+
+
+
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/packet_protocol.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/packet_protocol.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/packet_protocol.h (revision 2403)
@@ -0,0 +1,333 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_jnetpcap_packet_protocol_h
+#define _Included_jnetpcap_packet_protocol_h
+#ifdef __cplusplus
+
+#include <stdint.h>
+
+#include "export.h"
+#include <jni.h>
+#include "nio_jbuffer.h"
+#include "org_jnetpcap_protocol_JProtocol.h"
+#include "org_jnetpcap_packet_JScan.h"
+
+#define END_OF_HEADERS org_jnetpcap_packet_JScan_END_OF_HEADERS_ID
+#define ETHERNET_ID org_jnetpcap_protocol_JProtocol_ETHERNET_ID
+#define TCP_ID org_jnetpcap_protocol_JProtocol_TCP_ID
+#define UDP_ID org_jnetpcap_protocol_JProtocol_UDP_ID
+#define IEEE_802DOT3_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT3_ID
+#define IEEE_802DOT2_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT2_ID
+#define IEEE_SNAP_ID org_jnetpcap_protocol_JProtocol_IEEE_SNAP_ID
+#define IP4_ID org_jnetpcap_protocol_JProtocol_IP4_ID
+#define IP6_ID org_jnetpcap_protocol_JProtocol_IP6_ID
+#define IEEE_802DOT1Q_ID org_jnetpcap_protocol_JProtocol_IEEE_802DOT1Q_ID
+#define L2TP_ID org_jnetpcap_protocol_JProtocol_L2TP_ID
+#define PPP_ID org_jnetpcap_protocol_JProtocol_PPP_ID
+#define ICMP_ID org_jnetpcap_protocol_JProtocol_ICMP_ID
+#define HTTP_ID org_jnetpcap_protocol_JProtocol_HTTP_ID
+#define HTML_ID org_jnetpcap_protocol_JProtocol_HTML_ID
+#define ARP_ID org_jnetpcap_protocol_JProtocol_ARP_ID
+#define SIP_ID org_jnetpcap_protocol_JProtocol_SIP_ID
+#define SDP_ID org_jnetpcap_protocol_JProtocol_SDP_ID
+#define RTP_ID org_jnetpcap_protocol_JProtocol_RTP_ID
+#define SLL_ID org_jnetpcap_protocol_JProtocol_SLL_ID
+#define WEB_IMAGE_ID org_jnetpcap_protocol_JProtocol_WEB_IMAGE_ID
+
+
+/*
+ * Linux Socket Cooked Capture header - a pseudo header as DL substitute
+ */
+#define SLL_LEN 16 // total header length
+#define SLL_ADDR_LEN 8 // length of address field
+
+typedef struct sll_t {
+ u_int16_t sll_pkttype; // packet type
+ u_int16_t sll_hatype; // link-layer address type
+ u_int16_t sll_halen; // link-layer address length
+ u_int8_t sll_addr[SLL_ADDR_LEN]; // link-layer address
+ u_int16_t sll_protocol; // protocol
+} sll_t;
+
+/*
+ * Realtime Transfer Protocol and extension
+ */
+#define RTP_LENGTH 12
+#define RTPX_LENGTH 4
+
+typedef struct rtpx_t {
+
+ uint16_t rtpx_profile; // Profile specific
+ uint16_t rtpx_len; // Length of extension header
+
+} rtpx_t;
+
+typedef struct rtp_t {
+
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint8_t rtp_cc:4;
+ uint8_t rtp_ext:1;
+ uint8_t rtp_pad:1;
+ uint8_t rtp_ver:2;
+
+ uint8_t rtp_type:7;
+ uint8_t rtp_marker:1;
+
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint8_t rtp_ver:2;
+ uint8_t rtp_pad:1;
+ uint8_t rtp_ext:1;
+ uint8_t rtp_cc:4;
+
+ uint8_t rtp_marker:1;
+ uint8_t rtp_type:7;
+
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+
+ uint16_t rtp_seq;
+ uint32_t rtp_ts;
+ uint32_t rtp_ssrc;
+
+
+} rtp_t;
+
+
+/*
+ * Address Resulution Protocol
+ */
+typedef struct arp_t {
+ uint16_t htype;
+ uint16_t ptype;
+ uint8_t hlen;
+ uint8_t plen;
+} arp_t;
+
+
+/*
+ * Internet Control Message Protocol
+ */
+typedef struct icmp_t {
+ uint8_t type;
+ uint8_t code;
+ uint16_t crc;
+
+} icmp_t;
+
+/*
+ * Point to Point Protocol
+ */
+typedef struct ppp_t {
+ uint8_t addr;
+ uint8_t control;
+ uint16_t protocol;
+} ppt_t;
+
+/*
+ * Layer 2 tunneling protocol
+ */
+typedef struct l2tp_t {
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint16_t p :1;
+ uint16_t o :1;
+ uint16_t res2 :1;
+ uint16_t s :1;
+ uint16_t res1 :2;
+ uint16_t l :1;
+ uint16_t t :1;
+ uint16_t version :4;
+ uint16_t res3 :4;
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint16_t t:1;
+ uint16_t l:1;
+ uint16_t res1:2;
+ uint16_t s:1;
+ uint16_t res2:1;
+ uint16_t o:1;
+ uint16_t p:1;
+ uint16_t res3:4;
+ uint16_t version:4;
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+
+} l2tp_t;
+
+/*
+ * IEEE 802.1q VLAN header
+ */
+typedef struct vlan_t {
+ uint16_t priority :3;
+ uint16_t cfi :1;
+ uint16_t id :12;
+
+ uint16_t type;
+} vlan_t;
+
+/**
+ * SNAP IEEE
+ */
+typedef union snap_t {
+ uint32_t oui :24;
+ struct {
+ uint16_t reserved[1];
+ uint16_t pid;
+ };
+} snap_t;
+
+/**
+ * LLC IEEE802.2
+ */
+typedef struct llc_t {
+ uint8_t dsap;
+ uint8_t ssap;
+ uint8_t control;
+ union {
+ uint8_t info;
+ } ucontrol;
+} llc_t;
+
+/**
+ * UDP structure
+ */
+typedef struct udp_t {
+ uint16_t sport;
+ uint16_t dport;
+ uint16_t length;
+ uint16_t checksum;
+
+} udp_t;
+
+/**
+ * TCP structure
+ */
+typedef struct tcp_t {
+ uint16_t sport;
+ uint16_t dport;
+ uint32_t seq;
+ uint32_t ack_seq;
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ uint16_t res1 :4;
+ uint16_t doff :4;
+ uint16_t fin :1;
+ uint16_t syn :1;
+ uint16_t rst :1;
+ uint16_t psh :1;
+ uint16_t ack :1;
+ uint16_t urg :1;
+ uint16_t res2 :2;
+# elif __BYTE_ORDER == __BIG_ENDIAN
+ uint16_t doff:4;
+ uint16_t res1:4;
+ uint16_t res2:2;
+ uint16_t urg:1;
+ uint16_t ack:1;
+ uint16_t psh:1;
+ uint16_t rst:1;
+ uint16_t syn:1;
+ uint16_t fin:1;
+# else
+# error "Adjust your <bits/endian.h> defines"
+# endif
+ uint16_t window;
+ uint16_t check;
+ uint16_t urg_ptr;
+} tcp_t;
+
+#define PROTO_ETHERNET_HEADER_LENGTH 14
+#define PROTO_802_3_MAX_LEN 0x600
+
+/**
+ * Ethernet 2 structure
+ */
+typedef struct ethernet_t {
+ uint8_t dhost[6]; /* destination eth addr */
+ uint8_t shost[6]; /* destination eth addr */
+ uint16_t type; /* destination eth addr */
+} ethernet_t;
+
+/**
+ * IP v6 structure
+ * RFC 1883
+ */
+typedef struct ip6 {
+ union {
+ struct ip6_hdrctl {
+ uint32_t ip6_un1_flow; /* 20 bits of flow-ID */
+ uint16_t ip6_un1_plen; /* payload length */
+ uint8_t ip6_un1_nxt; /* next header */
+ uint8_t ip6_un1_hlim; /* hop limit */
+ } ip6_un1;
+ uint8_t ip6_un2_vfc; /* 4 bits version, 4 bits class */
+ } ip6_ctlun;
+ uint8_t ip6_src[16]; /* source address */
+ uint8_t ip6_dst[16]; /* destination address */
+} ip6_t;
+
+#define ip6_vfc ip6_ctlun.ip6_un2_vfc
+#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
+#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
+#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
+#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
+#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
+
+#define IP6_HEADER_LENGTH 40
+
+#define IP6_OPT_HOP_BY_HOP 0
+#define IP6_OPT_DEST_OPTIONS 60
+#define IP6_OPT_ROUTING_HEADER 43
+#define IP6_OPT_FRAGMENT_HEADER 44
+#define IP6_OPT_AUTH_HEADER 51
+#define IP6_OPT_SECURITY_HEADER 50
+#define IP6_OPT_MOBILITY_HEADER 135
+#define IP6_OPT_NO_NEXT_HEADER 59
+
+/**
+ * IP v4 structure
+ */
+typedef struct ip4 {
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+ unsigned int ihl :4;
+ unsigned int version :4;
+#elif __BYTE_ORDER == __BIG_ENDIAN
+ unsigned int version:4;
+ unsigned int ihl:4;
+#else
+# error "Please fix <bits/endian.h>"
+#endif
+ uint8_t tos;
+ uint16_t tot_len;
+ uint16_t id;
+ uint16_t frag_off; // flags=3 bits, offset=13 bits
+ uint8_t ttl;
+ uint8_t protocol;
+ uint16_t check;
+ uint32_t saddr;
+ uint32_t daddr;
+ /*The options start here. */
+} ip4_t;
+
+#define IP4_FLAGS_MASK 0xE000
+#define IP4_FRAG_OFF_MASK ~IP4_FLAGS_MASK
+#define IP4_FLAG_MF 0x2000
+#define IP4_FLAG_DF 0x4000
+#define IP4_FLAG_RESERVED 0x8000
+
+
+/****************************************************************
+ * **************************************************************
+ *
+ * Scanner's native and java per protocol prototypes
+ *
+ * **************************************************************
+ ****************************************************************/
+
+int lookup_ethertype(uint16_t type);
+//
+//void scan_ethernet (scan_t *scan);
+//void scan_ip4 (scan_t *scan);
+
+
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc16.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc16.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc16.h (revision 2403)
@@ -0,0 +1,72 @@
+/* crc16.h
+ * Declaration of CRC-16 routines and table
+ *
+ * 2004 Richard van der Hoff <[email protected]>
+ *
+ * $Id: crc16.h 20485 2007-01-18 18:43:30Z guy $
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <[email protected]>
+ * Copyright 1998 Gerald Combs
+ *
+ * Copied from README.developer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __CRC16_H_
+#define __CRC16_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdint.h>
+
+/* Calculate the CCITT/ITU/CRC-16 16-bit CRC
+
+ (parameters for this CRC are:
+ Polynomial: x^16 + x^12 + x^5 + 1 (0x1021);
+ Start value 0xFFFF;
+ XOR result with 0xFFFF;
+ First bit is LSB)
+*/
+
+/** Compute CRC16 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC16 CCITT checksum. */
+extern uint16_t crc16_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC16 X.25 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC16 X.25 CCITT checksum. */
+extern uint16_t crc16_x25_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC16 CCITT checksum of a buffer of data. If computing the
+ * checksum over multiple buffers and you want to feed the partial CRC16
+ * back in, remember to take the 1's complement of the partial CRC16 first.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param seed The seed to use.
+ @return The CRC16 CCITT checksum (using the given seed). */
+extern uint16_t crc16_ccitt_seed(const uint8_t *buf, uint32_t len, uint16_t seed);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* crc16.h */
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc32.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc32.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/util_crc32.h (revision 2403)
@@ -0,0 +1,80 @@
+/* crc32.h
+ * Declaration of CRC-32 routine and table
+ *
+ * $Id: crc32.h 24930 2008-04-12 12:31:53Z stig $
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <[email protected]>
+ * Copyright 1998 Gerald Combs
+ *
+ * Copied from README.developer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __UTIL_CRC32_H_
+#define __UTIL_CRC32_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdint.h>
+
+#define CRC32C_PRELOAD 0xffffffff
+
+/*
+ * Byte swap fix contributed by Dave Wysochanski <[email protected]>.
+ */
+#define CRC32C_SWAP(crc32c_value) \
+ (((crc32c_value & 0xff000000) >> 24) | \
+ ((crc32c_value & 0x00ff0000) >> 8) | \
+ ((crc32c_value & 0x0000ff00) << 8) | \
+ ((crc32c_value & 0x000000ff) << 24))
+
+#define CRC32C(c,d) (c=(c>>8)^crc32c_table[(c^(d))&0xFF])
+
+extern const uint32_t crc32c_table[256];
+
+/** Compute CRC32C checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param crc The preload value for the CRC32C computation.
+ @return The CRC32C checksum. */
+extern uint32_t calculate_crc32c(const void *buf, int len, uint32_t crc);
+
+extern const uint32_t crc32_ccitt_table[256];
+
+/** Compute CRC32 CCITT checksum of a buffer of data.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @return The CRC32 CCITT checksum. */
+extern uint32_t crc32_ccitt(const uint8_t *buf, uint32_t len);
+
+/** Compute CRC32 CCITT checksum of a buffer of data. If computing the
+ * checksum over multiple buffers and you want to feed the partial CRC32
+ * back in, remember to take the 1's complement of the partial CRC32 first.
+ @param buf The buffer containing the data.
+ @param len The number of bytes to include in the computation.
+ @param seed The seed to use.
+ @return The CRC32 CCITT checksum (using the given seed). */
+extern uint32_t crc32_ccitt_seed(const uint8_t *buf, uint32_t len, uint32_t seed);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* util_crc32.h */
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/util_debug.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/util_debug.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/util_debug.h (revision 2403)
@@ -0,0 +1,96 @@
+
+// Include this file after jni.h is included. It undefines MS compiler, def for
+// gcc specific one.
+//
+#ifndef Include_util_debug_h
+#define Include_util_debug_h
+
+#define JNIEXPORT extern "C"
+
+#undef __declspec
+#define __declspec(a) extern "C"
+
+#include <stdarg.h>
+
+#define DEBUG_MAX_LEVEL 10
+
+#define DEBUG_TRACE 10
+#define DEBUG_INFO 8
+#define DEBUG_WARN 6
+#define DEBUG_ERROR 4
+
+#define DEFAULT_LEVEL DEBUG_TRACE
+#define DEFAULT_INDENT_CHAR '.'
+
+extern int debug_get_level();
+extern void debug_set_level(int level);
+extern void debug_inc();
+extern void debug_dec();
+extern void debug_reset();
+extern void debug_vmsg(const char *type, const char *msg, const char *fmt, va_list ap);
+extern void debug_msg(const char *type, const char *msg, const char *fmt, ...);
+extern void debug_trace(const char *msg, const char *fmt, ...);
+extern void debug_warn(const char *msg, const char *fmt, ...);
+extern void debug_error(const char *msg, const char *fmt, ...);
+extern void debug_info(const char *msg, const char *fmt, ...);
+extern void debug_enter(const char *method);
+extern void debug_exit(const char *method);
+
+#define DEBUG_MAX_NAME 256
+#define DEBUG_DEFAULT_LEVEL TRACE
+
+/***
+ ******** Temporarily backedout
+class Debug {
+public:
+ enum Level {
+ ALL,
+ TRACE,
+ INFO,
+ WARN,
+ ERR,
+ NONE,
+ UNDEFINED
+ };
+
+private:
+ Level level;
+ int indentation;
+ char indentBuffer[DEBUG_MAX_LEVEL + 2];
+ char indentChar;
+ Debug *parent;
+ char name[DEBUG_MAX_NAME];
+
+public:
+ Debug(const char *name, Debug *parent);
+ Debug(const char *name);
+ Debug(const char *name, Level defaultLevel);
+ ~Debug() { }
+ void setLevel(Level level);
+ Level getLevel();
+ void inc();
+ void dec();
+ void reset();
+
+ void msg(Level type, char *msg, char *fmt, ...);
+ void trace(char *msg, char *fmt, ...);
+ void info(char *msg, char *fmt, ...);
+ void warn(char *msg, char *fmt, ...);
+ void error(char *msg, char *fmt, ...);
+
+ void enter(char *method);
+ void exit(char *method);
+
+
+private:
+ void vmsg(Level type, char *msg, char *fgm, va_list ap);
+ char *indent();
+ char *getLevelName(Level level);
+ static char *levelNames[ERR + 1];
+ static Debug global_logger;
+ static Debug null_logger;
+};
+
+****************/
+
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/util_in_cksum.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/util_in_cksum.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/util_in_cksum.h (revision 2403)
@@ -0,0 +1,63 @@
+/* in_cksum.h
+ * Declaration of Internet checksum routine.
+ *
+ * $Id: in_cksum.h 12117 2004-09-28 00:06:32Z guy $
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <jni.h>
+
+typedef struct {
+ const uint8_t *ptr;
+ int len;
+} vec_t;
+
+extern uint16_t in_cksum(const vec_t *vec, int veclen);
+extern uint16_t in_cksum_shouldbe(uint16_t sum, uint16_t computed_sum);
+
+typedef union {
+ uint8_t c[2];
+ uint16_t s;
+} pad_t;
+
+extern int in_checksum_pad_to_even(
+ vec_t *vec,
+ int veclen,
+ pad_t *pad);
+
+extern int in_checksum_skip_crc16_field(
+ const uint8_t *buf, // Buffer ptr
+ vec_t *vec,
+ int len,
+ int crc_offset);
+
+extern int in_checksum_add_ip_pseudo_header(
+ const uint8_t *buf,
+ vec_t *vec,
+ int type,
+ int len,
+ uint32_t phdr[2]);
+
+extern uint16_t psuedo_ip4_tcp(
+ JNIEnv *env,
+ const uint8_t *mem,
+ size_t size,
+ jint ip4,
+ jint tcp);
+
+uint16_t psuedo_ip6_tcp(
+ JNIEnv *env,
+ const uint8_t *mem,
+ size_t size,
+ jint ip6,
+ jint tcp);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ext.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ext.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ext.h (revision 2403)
@@ -0,0 +1,18 @@
+#include <jni.h>
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_WinPcapExtensions
+#define _Included_org_jnetpcap_WinPcapExtensions
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass winPcapClass;
+
+// Prototypes
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ids.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ids.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_ids.h (revision 2403)
@@ -0,0 +1,32 @@
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_winpcap_ids_h
+#define _Included_winpcap_ids_h
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+#include "export.h"
+
+#include <jni.h>
+
+// WinPcapSamp
+extern jclass winPcapSampClass;
+extern jfieldID winPcapSampPhysicalFID;
+extern jmethodID winPcapSampConstructorMID;
+
+// WinPcapStat
+extern jclass WinPcapStatClass;
+extern jmethodID WinPcapStatConstructorMID;
+
+// WinPcapRmtAuth
+extern jclass winPcapRmtAuthClass;
+extern jfieldID winPcapRmtAuthTypeFID;
+extern jfieldID winPcapRmtAuthUsernameFID;
+extern jfieldID winPcapRmtAuthPasswordFID;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_stat_ex.h
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_stat_ex.h (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/include/winpcap_stat_ex.h (revision 2403)
@@ -0,0 +1,22 @@
+#include <jni.h>
+/* Header for jnetpcap_utils utility methods */
+
+#ifndef _Included_org_jnetpcap_WinWinPcapStat
+#define _Included_org_jnetpcap_WinWinPcapStat
+#ifdef __cplusplus
+extern "C" {
+#define EXTERN extern "C"
+#endif
+
+extern jclass winWinPcapStatClass;
+
+// Prototypes
+jobject newWinPcapStat(JNIEnv *env);
+void setWinPcapStat(JNIEnv *env, jobject jstats, struct pcap_stat *stats,
+ int size);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
Index: EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.dll
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.dll (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.dll (revision 2403)
/EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.dll
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.jar
===================================================================
--- EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.jar (nonexistent)
+++ EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.jar (revision 2403)
/EtsiItsAdapter/jnetpcap-1.3.0/jnetpcap.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: EtsiItsAdapter
===================================================================
--- EtsiItsAdapter (nonexistent)
+++ EtsiItsAdapter (revision 2403)
/EtsiItsAdapter
Property changes:
Added: svn:ignore
## -0,0 +1,2 ##
+EtsiItsAdapter.jar
+Preserve
Index: LibItsMapSpat_asn1/TT3plugin.xml
===================================================================
--- LibItsMapSpat_asn1/TT3plugin.xml (nonexistent)
+++ LibItsMapSpat_asn1/TT3plugin.xml (revision 2403)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd">
+
+<plugin id="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1"
+ name="LibItsMapSpat_asn1 ASN.1 Codec Plugin"
+ version="1.0.0"
+ provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support ">
+
+ <runtime>
+ <library name="lib/LibItsMapSpat_asn1.jar"/>
+ </runtime>
+
+ <dependency>
+ <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/>
+ </dependency>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsMapSpat_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DSRC ITS_Container MAP_SPAT_ETSI REG_D REGION"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.LibItsMapSpat_asn1PERCanonicalUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.Libitsmapspat_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="DSRC"/>
+ <parameter id="module" value="ITS_Container"/>
+ <parameter id="module" value="MAP_SPAT_ETSI"/>
+ <parameter id="module" value="REG_D"/>
+ <parameter id="module" value="REGION"/>
+ </parameter>
+ </extension>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsMapSpat_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DSRC ITS_Container MAP_SPAT_ETSI REG_D REGION"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.LibItsMapSpat_asn1PERBasicUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsMapSpat_asn1.Libitsmapspat_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="DSRC"/>
+ <parameter id="module" value="ITS_Container"/>
+ <parameter id="module" value="MAP_SPAT_ETSI"/>
+ <parameter id="module" value="REG_D"/>
+ <parameter id="module" value="REGION"/>
+ </parameter>
+ </extension>
+
+
+</plugin>
Index: LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar
===================================================================
--- LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar (nonexistent)
+++ LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar (revision 2403)
/LibItsMapSpat_asn1/lib/LibItsMapSpat_asn1.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: LibItsMapSpat_asn1/lib
===================================================================
--- LibItsMapSpat_asn1/lib (nonexistent)
+++ LibItsMapSpat_asn1/lib (revision 2403)
/LibItsMapSpat_asn1/lib
Property changes:
Added: tsvn:logminsize
## -0,0 +1 ##
+5
\ No newline at end of property
Index: LibItsMapSpat_asn1
===================================================================
--- LibItsMapSpat_asn1 (nonexistent)
+++ LibItsMapSpat_asn1 (revision 2403)
/LibItsMapSpat_asn1
Property changes:
Added: tsvn:logminsize
## -0,0 +1 ##
+5
\ No newline at end of property
Index: LibItsCam_asn1/lib/LibItsCam_asn1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: LibItsCam_asn1/lib/LibItsCam_asn1.jar
===================================================================
--- LibItsCam_asn1/lib/LibItsCam_asn1.jar (nonexistent)
+++ LibItsCam_asn1/lib/LibItsCam_asn1.jar (revision 2403)
/LibItsCam_asn1/lib/LibItsCam_asn1.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: LibItsCam_asn1/TT3plugin.xml
===================================================================
--- LibItsCam_asn1/TT3plugin.xml (nonexistent)
+++ LibItsCam_asn1/TT3plugin.xml (revision 2403)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd">
+
+<plugin id="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1"
+ name="LibItsCam_asn1 ASN.1 Codec Plugin"
+ version="1.0.0"
+ provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support ">
+
+ <runtime>
+ <library name="lib/LibItsCam_asn1.jar"/>
+ </runtime>
+
+ <dependency>
+ <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/>
+ </dependency>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsCam_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules ITS_Container CAM_PDU_Descriptions"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERCanonicalUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.Libitscam_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="ITS_Container"/>
+ <parameter id="module" value="CAM_PDU_Descriptions"/>
+ </parameter>
+ </extension>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsCam_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules ITS_Container CAM_PDU_Descriptions"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.LibItsCam_asn1PERBasicUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCam_asn1.Libitscam_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="ITS_Container"/>
+ <parameter id="module" value="CAM_PDU_Descriptions"/>
+ </parameter>
+ </extension>
+
+
+</plugin>
Index: LibItsCdd_asn1/lib/LibItsCdd_asn1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: LibItsCdd_asn1/lib/LibItsCdd_asn1.jar
===================================================================
--- LibItsCdd_asn1/lib/LibItsCdd_asn1.jar (nonexistent)
+++ LibItsCdd_asn1/lib/LibItsCdd_asn1.jar (revision 2403)
/LibItsCdd_asn1/lib/LibItsCdd_asn1.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: LibItsCdd_asn1/TT3plugin.xml
===================================================================
--- LibItsCdd_asn1/TT3plugin.xml (nonexistent)
+++ LibItsCdd_asn1/TT3plugin.xml (revision 2403)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd">
+
+<plugin id="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1"
+ name="LibItsCdd_asn1 ASN.1 Codec Plugin"
+ version="1.0.0"
+ provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support ">
+
+ <runtime>
+ <library name="lib/LibItsCdd_asn1.jar"/>
+ </runtime>
+
+ <dependency>
+ <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/>
+ </dependency>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsCdd_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules ITS_Container"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERCanonicalUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.Libitscdd_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="ITS_Container"/>
+ </parameter>
+ </extension>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsCdd_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules ITS_Container"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.LibItsCdd_asn1PERBasicUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsCdd_asn1.Libitscdd_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="ITS_Container"/>
+ </parameter>
+ </extension>
+
+
+</plugin>
Index: LibItsDenm_asn1/lib/LibItsDenm_asn1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: LibItsDenm_asn1/lib/LibItsDenm_asn1.jar
===================================================================
--- LibItsDenm_asn1/lib/LibItsDenm_asn1.jar (nonexistent)
+++ LibItsDenm_asn1/lib/LibItsDenm_asn1.jar (revision 2403)
/LibItsDenm_asn1/lib/LibItsDenm_asn1.jar
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: LibItsDenm_asn1/TT3plugin.xml
===================================================================
--- LibItsDenm_asn1/TT3plugin.xml (nonexistent)
+++ LibItsDenm_asn1/TT3plugin.xml (revision 2403)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//1.0" "TT3plugin.dtd">
+
+<plugin id="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1"
+ name="LibItsDenm_asn1 ASN.1 Codec Plugin"
+ version="1.0.0"
+ provider-name="Generated by Testing Technologies' TTworkbench ASN.1 language support ">
+
+ <runtime>
+ <library name="lib/LibItsDenm_asn1.jar"/>
+ </runtime>
+
+ <dependency>
+ <reference id="com.testingtech.asn.codec.ttaci.ASN1CodecBase"/>
+ </dependency>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsDenm_asn1 PER-CANONICAL-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-CANONICAL-UNALIGNED:1997 codec for modules DENM_PDU_Descriptions ITS_Container"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERCanonicalUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-CANONICAL-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.Libitsdenm_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="DENM_PDU_Descriptions"/>
+ <parameter id="module" value="ITS_Container"/>
+ </parameter>
+ </extension>
+
+ <extension point="com.testingtech.ttcn.extension.CodecProvider">
+ <parameter id="name" value="LibItsDenm_asn1 PER-BASIC-UNALIGNED:1997 ASN.1 Codec"/>
+ <parameter id="description" value="Generated ASN.1 PER-BASIC-UNALIGNED:1997 codec for modules DENM_PDU_Descriptions ITS_Container"/>
+ <parameter id="class" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.LibItsDenm_asn1PERBasicUnalignedCodecProvider"/>
+ <parameter id="asn-encoding" value="PER-BASIC-UNALIGNED:1997"/>
+ <parameter id="project-name" value="org.etsi.its.codec.tool.testingtech.LibItsDenm_asn1.Libitsdenm_asn1"/>
+ <parameter id="modules">
+ <parameter id="module" value="DENM_PDU_Descriptions"/>
+ <parameter id="module" value="ITS_Container"/>
+ </parameter>
+ </extension>
+
+
+</plugin>
Index: MainCodec/TT3plugin.xml
===================================================================
--- MainCodec/TT3plugin.xml (nonexistent)
+++ MainCodec/TT3plugin.xml (revision 2403)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.ttcn.codec.MainCodec" name="Main Codec" provider-name="STF462" version="1.0.0.0">
+ <runtime>
+ <library name="MainCodec.jar"/>
+ <library name="../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.ttcn.codec"/>
+ <reference id="org.etsi.its.tool"/>
+ </dependency>
+</plugin>
Index: LibItsFntp_TypesAndValues/TT3plugin.xml
===================================================================
--- LibItsFntp_TypesAndValues/TT3plugin.xml (nonexistent)
+++ LibItsFntp_TypesAndValues/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.codec.ttcn.LibItsFntp_TypesAndValuesCodec" name="LibItsFntp_TypesAndValues Codec" provider-name="STF424_ITS_Test_Platform" version="1.0.0.0">
+ <runtime>
+ <library name="LibItsFntp_TypesAndValuesCodec.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.its.codec"/>
+ </dependency>
+</plugin>
Index: LibItsFntp_TypesAndValues
===================================================================
--- LibItsFntp_TypesAndValues (nonexistent)
+++ LibItsFntp_TypesAndValues (revision 2403)
/LibItsFntp_TypesAndValues
Property changes:
Added: tsvn:logminsize
## -0,0 +1 ##
+5
\ No newline at end of property
Index: LibItsFsap_TypesAndValues/TT3plugin.xml
===================================================================
--- LibItsFsap_TypesAndValues/TT3plugin.xml (nonexistent)
+++ LibItsFsap_TypesAndValues/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.codec.ttcn.LibItsFsap_TypesAndValuesCodec" name="LibItsFsap_TypesAndValues Codec" provider-name="STF424_ITS_Test_Platform" version="1.0.0.0">
+ <runtime>
+ <library name="LibItsFsap_TypesAndValuesCodec.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.its.codec"/>
+ </dependency>
+</plugin>
Index: LibItsFsap_TypesAndValues
===================================================================
--- LibItsFsap_TypesAndValues (nonexistent)
+++ LibItsFsap_TypesAndValues (revision 2403)
/LibItsFsap_TypesAndValues
Property changes:
Added: tsvn:logminsize
## -0,0 +1 ##
+5
\ No newline at end of property
Index: EtsiCommon/TT3plugin.xml
===================================================================
--- EtsiCommon/TT3plugin.xml (nonexistent)
+++ EtsiCommon/TT3plugin.xml (revision 2403)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.common" name="ETSI Common" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiCommon.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency/>
+</plugin>
Index: EtsiCommon
===================================================================
--- EtsiCommon (nonexistent)
+++ EtsiCommon (revision 2403)
/EtsiCommon
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiCommon.jar
Index: EtsiCommonAdapter/TT3plugin.xml
===================================================================
--- EtsiCommonAdapter/TT3plugin.xml (nonexistent)
+++ EtsiCommonAdapter/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.adapter" name="ETSI Common Adapter" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiCommonAdapter.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.its.uppertester"/>
+ </dependency>
+</plugin>
Index: EtsiCommonAdapter
===================================================================
--- EtsiCommonAdapter (nonexistent)
+++ EtsiCommonAdapter (revision 2403)
/EtsiCommonAdapter
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiCommonAdapter.jar
Index: EtsiCommonCodec/TT3plugin.xml
===================================================================
--- EtsiCommonCodec/TT3plugin.xml (nonexistent)
+++ EtsiCommonCodec/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.codec" name="ETSI Common Codec" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiCommonCodec.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.common"/>
+ </dependency>
+</plugin>
Index: EtsiCommonCodec
===================================================================
--- EtsiCommonCodec (nonexistent)
+++ EtsiCommonCodec (revision 2403)
/EtsiCommonCodec
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiCommonCodec.jar
Index: EtsiItsCommonCodec/TT3plugin.xml
===================================================================
--- EtsiItsCommonCodec/TT3plugin.xml (nonexistent)
+++ EtsiItsCommonCodec/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.codec" name="ETSI Its Common Codec" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiItsCommonCodec.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.codec"/>
+ </dependency>
+</plugin>
Index: EtsiItsCommonCodec
===================================================================
--- EtsiItsCommonCodec (nonexistent)
+++ EtsiItsCommonCodec (revision 2403)
/EtsiItsCommonCodec
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiItsCommonCodec.jar
Index: EtsiItsExternalFunctions/TT3plugin.xml
===================================================================
--- EtsiItsExternalFunctions/TT3plugin.xml (nonexistent)
+++ EtsiItsExternalFunctions/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.ttcn.ItsExternalFunctionsProvider" name="ETSI Its External functions" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiItsExternalFunctions.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.codec"/>
+ </dependency>
+</plugin>
Index: EtsiItsExternalFunctions
===================================================================
--- EtsiItsExternalFunctions (nonexistent)
+++ EtsiItsExternalFunctions (revision 2403)
/EtsiItsExternalFunctions
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiItsExternalFunctions.jar
Index: EtsiItsUpperTester/TT3plugin.xml
===================================================================
--- EtsiItsUpperTester/TT3plugin.xml (nonexistent)
+++ EtsiItsUpperTester/TT3plugin.xml (revision 2403)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plugin PUBLIC "-//TESTING TECH//DTD TT3plugin//2.0" "TT3plugin.dtd">
+<plugin id="org.etsi.its.uppertester" name="ETSI Its Upper Tester" provider-name="ETSI" version="1.0.0.0">
+ <runtime>
+ <library name="EtsiItsUpperTester.jar"/>
+ <library name="../../build"/>
+ </runtime>
+ <dependency>
+ <reference id="org.etsi.codec"/>
+ </dependency>
+</plugin>
Index: EtsiItsUpperTester
===================================================================
--- EtsiItsUpperTester (nonexistent)
+++ EtsiItsUpperTester (revision 2403)
/EtsiItsUpperTester
Property changes:
Added: svn:ignore
## -0,0 +1 ##
+EtsiItsUpperTester.jar
Index: .
===================================================================
--- . (nonexistent)
+++ . (revision 2403)
/.
Property changes:
Added: svn:ignore
## -0,0 +1,9 ##
+EtsiItsAdapter
+LibIts_Interface
+LibItsBtp_TypesAndValues
+LibItsCam_TypesAndValues
+LibItsCommon_TypesAndValues
+LibItsDenm_TypesAndValues
+LibItsGeoNetworking_TypesAndValues
+LibItsIpv6OverGeoNetworking_TypesAndValues
+LibItsSecurity_TypesAndValues