summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-10Update changelog for version 4.1v4.1Matias Fontanini
2018-12-10Bump version to 4.1.0Matias Fontanini
2018-12-01Fix Dot1Q serialization for non-qinq packets (#319)Saxon Parker
2018-10-09Fix serialization for QinQ (#316)Teodoro Vargas
* Add QinQ Frame * Fix serialization for QinQ
2018-08-02Added base class access specifier for socket_close_error (#306)Ulf Wetzker
2018-05-31Rewrote hw_address_to_string to not require a stringstream (#299)Stefan Schmidt
2018-05-18Set TINS_HAVE_DOT11 as predefined in DoxyfileMatias Fontanini
Fixes #294
2018-05-16Make RadioTapParser::skip_to_field check for end of buffer (#296)Matias Fontanini
Fixes #295
2018-05-09Remove note regarding develop branchMatias Fontanini
This was useful at some point but now it's more of a burden to keep up to date. PRs should use `master` as base directly.
2018-05-09Ensure local include directory comes before system. (#293)Jim Hague
If building (say) libtins 4.0 on a system with 3.4 installed, you need the libtins include files to come from the repository include, not the system include directory. The OpenSSL and PCAP includes may be from the system include, so we need to ensure the libtins include is the first on the list - which means the last on the before list.
2018-04-08Calculate IP option sizes properlyMatias Fontanini
Fixes #288
2018-03-28Add parsing of well known IPv6 extension headers (#287)Kasper Laudrup
* Add parsing of well known IPv6 extension headers Add classes for IPv6 extension headers defined in the IPv6 protocol specification (RFC 2460) as well as functions for creating them from the IPv6 class' ext_header type. The currently known extension headers are Hop-By-Hop Option, Destination Routing, Routing and Fragment. * Cleanup after PR #287 comments Pull in stuff from the std namespace with "using" instead of qualifying with std::. Keep starting braces on the same line. Avoid potential copy when appending to vector.
2018-03-28Add missing operators to address classes (#275)stubbfel
* * add or-operator and a simlple unit test for hw_address, ip_address, ipv6_address * add not-operator and a simlple unit test for hw_address, ip_address, ipv6_address * add greater-then-operator and a simlple unit test for ipv6_address * add new constructor and a simlple unit test for network_interface, which use a ipv6_address to find the nic * add override the function gateway_from_ip for ipv6_address parameter (untested) * change the ipv6_address in NotMaskAdress_Test, so that the expceted addresses are valid for the winsock api * Delete CMakeLists.txt.user * * add <=, >, >= operator for HWAddress with tests * add <=, >, >= operator for IPv4Address with tests * add <=,>= operator for IPv6Address with tests * refactoring the & , |, ~ operator of ipv6_address to "regular" operator
2018-03-20Add version macros in config.hMatias Fontanini
Fixes #286
2018-03-18Don't assume IPv6 uses ICMPv6 underneathMatias Fontanini
2018-03-17Allow users to specify library install dirMatias Fontanini
Fixes #273
2018-03-14Use Sleep windows function passing milliseconds as parameterMatias Fontanini
Fixes #271
2018-02-25Implement IPv6::recv_responseMatias Fontanini
2018-02-21Merge remote-tracking branch 'origin/master' into developMatias Fontanini
2018-02-21Don't use nullptr in non C++11 codeMatias Fontanini
2018-02-03Ignore (possibly malformed) options after EOL (#281)Ed Catmur
2018-02-03Don't call &* on PDUIteratorEd Catmur
2018-02-03Don't include dot11.h in tins.h if it is not configured in the library (#277)Jeff Ebert
2017-12-20Merge branch 'develop'Matias Fontanini
Ugh
2017-12-20Update CHANGES.md file using v4.0 changesMatias Fontanini
2017-12-14Fix memory leak in PDU's move assignment operatorMatias Fontanini
Fixes #272
2017-12-12Append padding to IPv6 optionsMatias Fontanini
Relates to #270
2017-12-03Update CHANGES.md file using v4.0 changesv4.0Matias Fontanini
2017-12-03Use first IP fragment as base for reassemblyMatias Fontanini
Fixes #225 for good
2017-11-25Fix invalid memory accesses when parsing bogus RadioTapMatias Fontanini
2017-11-06Fix dhcpv6::duid_type constructor from duid_ll (#266)mavrikiy
2017-11-04Add MPLS experimental field (#265)Santiago Alessandri
* Add experimental field to MPLS PDU See RFC-4950 https://tools.ietf.org/html/rfc4950 * Add tests for MPLS' experimental field
2017-10-28Fix #263 - Install only the headers which are enabled. (#264)Alex Collins
* Fix #263 - Install only the headers which are enabled. * Fix #263 - Install only the headers which are enabled. Fix clumsy typo!
2017-10-26Reorders SOURCE includes alphanumerically, and adds HEADERS as source (#260)Alex Collins
* Reorders SOURCE includes alphanumerically, and adds HEADERS as sources to enable code completion in CLion. * Add forward slash after variable to clarify path. * Separate out DOT11 headers and sources. * Reposition some sources as per general alpha sorting.
2017-10-24Fix minor typo in comment. (#261)Alex Collins
2017-10-19Ensure TCP::OptionTypes has 8-bit range (#259)Ed Catmur
When reading TCP packets with esoteric (or corrupt) values for option types, the asan fsanitize=enum will trigger if the read value is not in range of the enum. The range of a classic (pre-C++11) enum with no negative enumerators is determined by the highest bit set in any of its enumerators, so if `TCP::OptionTypes` has highest enumerator `ALTCHK = 14` it cannot take values above 15. Define enumerators (per IANA) with bit 7 set to ensure that `TCP::OptionTypes` can take any 8-bit value. An alternative (C++11 only) would be to give `TCP::OptionTypes` underlying type `uint8_t`.
2017-10-18Fix build issues when disabling Dot11Matias Fontanini
Fixes #258
2017-10-12Implemented matching for ND protocol related ICMPv6 messages (#257)Steven
- ROUTER_SOLICIT -> ROUTER_ADVERTIST - NEIGHBOUR_SOLICIT -> NEIGHBOUR_ADVERTIST Check if code equals zero according to https://tools.ietf.org/html/rfc4861#page-39
2017-10-12Add RawPDU c'tor for const payload_type&. (#253)Alex Collins
* Add RawPDU c'tor for const payload_type &. * Correct indentation.
2017-10-11Fix header install location. (#256)Alex Collins
2017-10-09Correct "promiscuous" spelling in comments (#254)Alex Collins
2017-10-04Add getter/setter for more data field in Dot11Base (#252)juno0812
2017-10-01Fix warnings in testsMatias Fontanini
2017-10-01Add IPv4/6Address::size member functionMatias Fontanini
2017-10-01Don't convert IPv6Address to string when hashingMatias Fontanini
2017-09-21Use absolute include pathsMatias Fontanini
Fixes #250
2017-09-19Fix hash<IPv4/6Address> build issues in VCsolvingj
* fixed compile failure due to macro * add functional to cxxstd.h to try to fix mac * clang bug identified, moving functional include to later * last step, move hash def to header * avoid allocation on hash * set ipv6 back to string hash
2017-09-14Remove include directories CMakeLists filessolvingj
* simply consolidate 6 files into 6 lines * narrowed glob on inc and simplified
2017-09-10Keep first fragment during IPv4 reassemblyMatias Fontanini
Fixes #225
2017-08-13Serialize Loopback on Windows and use proper flag for IPv6Matias Fontanini