summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Compile with '-Wmissing-variable-declarations' if it's availableFrancois-Xavier Le Bail2020-05-301-0/+1
| | | | (In devel mode)
* Add print-macsec.c to CMakeLists.txt.Guy Harris2020-05-271-0/+1
|
* Print packets for unsupported link-layer protocols in hexadecimal/ASCIIFrancois-Xavier Le Bail2020-05-101-0/+1
| | | | | | | | | | | | | | | This avoids to get only: tcpdump: packet printing is not supported for link type XYZ: use -w The default printing is like: 18:45:52.723872 UNSUPPORTED 0x0000: 001f 0000 0540 6078 725d 586d 4d66 4671 .....@`xr]XmMfFq 0x0010: 6d58 4d5c 7159 5f71 565c 556c 4e71 7171 mXM\qY_qV\UlNqqq 0x0020: 7171 7171 7171 7171 7171 7171 7171 5180 qqqqqqqqqqqqqqQ. 0x0030: 7f7f .. 18:45:52.755995 UNSUPPORTED 0x0000: 001f 0000 0540 6043 7851 807f 7f .....@`CxQ... [...]
* Extract NTP printingHerwin Weststrate2020-04-211-0/+1
| | | | This method is required to dissect some RADIUS attributes
* CMakeLists.txt: Restore alphabetical order for printersFrancois-Xavier Le Bail2020-04-071-3/+3
|
* add support for Broadcom LI headerHannes Gredler2020-04-021-0/+1
| | | | | | | | | | | | | | | | (pull request #843) fix build break for Broadcom LI printer on BSD platforms incorporate review comments: make bcm_li_print() void, add a sample capture incorporate review comments: remove trailing tabs add BCM LI outputs to testset incorporate review comment: return after printing update verbose output for bcm-li
* Autosar SOME/IP protocol supportFrancesco Fondelli2020-02-191-0/+1
|
* Don't assume a Perl script can be run directly as a command.Guy Harris2020-02-051-3/+12
| | | | | | That's not the case on Windows - it doesn't support #!. Look for the perl interpreter and, if we find it, add a rule that runs tests/TESTrun with the interpreter.
* Push the floating-point test into a separate file.Guy Harris2020-02-041-1/+1
| | | | | | Hopefully, that will make sure we don't optimize away anything that will, for example, cause us not to do things differently on 32-bit x86 using the x87 instructions.
* Do the floating-point tests closer to what we need.Guy Harris2020-02-041-1/+1
| | | | | | | | | It's All Very Complicated, so mirror what print-lmp.c does - just do a calculation based on a particular input value and print the result using the same format print-lmp.c does, and have tests/TESTrun see what that result is. Just do that inside tcpdump.c, so we don't need the fptype stuff.
* Add fptype.c to CMake builds.Guy Harris2020-02-041-1/+1
|
* Fix checks for libcrypto.Guy Harris2020-02-041-3/+3
| | | | | | | | | 1) We don't need libcrypto to check for the header files, and if we say we do, we get a lot of noise from CMake about policy CMP0075. 2) We need libcrypto, with the full path specified, for library tests; just linking with -lcrypto might not find it, or might find another version (thanks, Apple!).
* TESTrun.sh is dead; long live TESTrun.Guy Harris2020-01-241-1/+1
|
* Clean up ESP and ISAKMP decryption.Guy Harris2020-01-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least as I read RFC 5996 section 3.14 and RFC 4303 section 2.4, if the cipher has a block size of which the ciphertext's size must be a multiple, the payload must be padded to make that happen, so the ciphertext length must be a multiple of the block size. Instead of allocating a buffer, copying the ciphertext to it, and padding it to the block size, fail if its size isn't a multiple of the block size. (Note also that the old padding code added a block's worth of padding to the end of a ciphertext block that *was* a multiple of the cipher block size; this might have caused problems.) Don't use the undocumented EVP_Cipher(); the lack of documentation means a lack of information about whatever requirements it might impose. Use EVP_DecryptUpdate() instead. Before calling it, use EVP_CIPHER_CTX_set_padding() to say "don't do your own padding, this block is a multiple of the cipher block size". Instead of using EVP_CipherInit() or EVP_CipherInit_ex(), use EVP_DecryptInit() or EVP_DecryptInit_ex(). as we're always doing decryption and never doing encryption - the extra parameter to EVP_CipherInit() and EVP_CipherInit_ex() is always 0. This may address GitHub issue #814. It may also make it a bit easier to have the code use Common Crypto on macOS (rather than requiring that OpenSSL be installed - macOS ships with an OpenSSL shared library for binary compatibility with older releases, but doesn't ship with the headers, because Apple wants you using their crypto code) and use Cryptography API: Next Generation on Windows (Vista/Server 2008 and later) (rather than requiring a Windows build of OpenSSL). (Hopefully this will all work with LibreSSL.)
* The ptp (precision time protocol) with UDP as the transport protocol.Partha Ghosh2019-11-221-0/+1
| | | | | | | | | - the print routines for ptp different ptp messages - test completed for sync message, announce message, delay request message, delay response message and follow up message. - integration of the ptp v2 code with the tcpdump code. Signed-off-by: Partha S. Ghosh <psglinux@gmail.com>
* libdnet has bugs, do not use it.Denis Ovsienko2019-11-031-39/+0
| | | | | | | | | | | | | | | | | | The only function tcpdump used in libdnet was dnet_htoa(), which tries to translate a binary DECnet address to a nodename through a lookup in /etc/decnet.conf. The translation is slow and has a bug, so stop using the function and remove the dependency on libdnet. This makes tcpdump always print DECnet addresses in numeric format, if anybody needs the translation back they are welcome to fix libdnet or (more realistically) add an implementation of dnet_htoa() to the tcpdump source code and use it. (This is a forward-port of commit 9a6eb27 from tcpdump-4.9 to master. Sadly, together with libdnet this change removes the fine work that Guy had done in the master branch in commits ebf3f19 and 4ef8d63 to put libdnet usage right whilst my original "do not use libdnet" commit was aging in the pipeline.)
* Require CMake 3.12 or later on Windows.Guy Harris2019-10-291-1/+8
| | | | | We require it for policy CMP0074, so the user can tell CMake where the Npcap or WinPcap SDK is hiding with -DPCAP_ROOT=.
* Use PCAP_ROOT to tell CMake where to find Npcap or WinPcap.Guy Harris2019-10-291-0/+9
|
* Fix check target to work with the new versions of the test scripts.Guy Harris2019-08-191-2/+1
|
* Remove trailing spacesFrancois-Xavier Le Bail2019-08-161-2/+2
|
* Small cleanups.Guy Harris2019-08-091-2/+1
| | | | | | Always initialize C_ADDITIONAL_FLAGS to empty. Get rid of an extra empty line in a comment.
* Always define check_and_add_compiler_option().Guy Harris2019-08-091-11/+17
|
* Check for VS 2015 or later at configure time.Guy Harris2019-08-091-63/+72
| | | | | | | | Fail if we don't have it, as we require it. If we're using MSVC, skip the tests for options to request C99 compatibility - either we have VS 2015, which is sufficient, or we don't, in which case we fail.
* Use check_symbol_exists() for vsnprintf() and snprintf().Guy Harris2019-08-091-4/+7
| | | | | | | At least with Visual Studio, they're inline functions that call a common external function, so check_function_exists() doesn't find them. Clean up indentation while we're at it.
* Remove more old-compiler compensation.Guy Harris2019-08-081-28/+14
| | | | | | | | | | | | We require an environment with a C99-compatible snprintf(), so we don't need to work around older implementations. Make the configuration process fail if we don't have snprintf() and vsnprintf(). We require at least VS 2015, so we don't have to check for _MSC_VER >= 1400. Make the build fail if we don't have at least VS 2015. We apparently do, however, have to use __inline, as the VS 2015 documentation doesn't meaning plain old "inline". Update a comment.
* Use -Wpointer-sign if it's availableFrancois-Xavier Le Bail2019-07-131-0/+1
|
* Use spaces rather than tabs.Guy Harris2019-05-231-1/+1
|
* Add check for openssl/evp.h.Guy Harris2019-05-231-1/+3
|
* New ethertype protocol for Arista Networksniks30892019-05-231-0/+1
|
* Add dissector for SSH version exchangeAndreas Jaggi2019-05-081-0/+1
|
* Add /utf-8 for MSVC.Guy Harris2019-04-291-0/+8
|
* Squelch C4324 warnings.Guy Harris2019-04-181-0/+12
|
* Update comments to mention Npcap.Guy Harris2019-04-181-2/+2
|
* InfiniBand support for tcpdump.alexandr nedvedicky - Sun Microsystems - Prague Czech Republic2019-04-181-0/+1
| | | | | | | | | | InfiniBand support for tcpdump. This is an in-house patch. Sent upstream for potential inclusion in future versions of tcpdump. (also adding print-ipoib.c to CMakeLists.txt, asked by @guyharris) (s/u_int16_t/uint16_t asked by @guyharris)
* Remove MEDSA ethertype printerVivien Didelot2019-04-161-1/+0
| | | | | | | | | | MEDSA (which unofficially stands for Marvell EDSA) relies on the unregistered 0xDADA ethertype value that was randomly choosen and currently used by the kernel. But with EDSA this value is programmable, hence can be changed anytime. Now that a reliable DLT parser is implemented for both DSA and EDSA tagged master interfaces, let's get rid for the MEDSA ethertype parser.
* Add support for decoding Marvell (E)DSA tagsVivien Didelot2019-04-161-0/+1
| | | | | | | | | | | | | | Similarly to commit 6eaebfe adding support for the Broadcom tagging format supported by the DSA kernel subsystem, this commit adds support for the Marvell DSA and Ethertype DSA (EDSA) tagging formats. Marvell DSA is a 4-byte proprietary tag placed between the ether source address and the ether length/type. It contains data such as the switch device and port IDs from which a frame came from, or to which port a frame is targetting. It also contains additional FPri and IEEE bits. EDSA is a 8-byte variant including a programmable ethertype, two null bytes and a standard DSA tag.
* Add printing support for vsockmon devices.Gerard Garcia2019-04-161-0/+1
| | | | | | | | | | | | | | | | | | Print Linux 4.12 vsockmon captures: # modprobe vsockmon # ip link add type vsockmon # ip link set vsockmon0 up # tcpdump -i vsockmon0 16:25:24.987917 VIRTIO 3.1025 > 2.1234 CONNECT, length 76 16:25:24.987963 VIRTIO 2.1234 > 3.1025 CONNECT, length 76 16:25:26.568271 VIRTIO 3.1025 > 2.1234 PAYLOAD, length 82 16:25:26.568512 VIRTIO 2.1234 > 3.1025 CONTROL, length 76 16:25:28.411335 VIRTIO 3.1025 > 2.1234 DISCONNECT, length 76 16:25:28.411628 VIRTIO 2.1234 > 3.1025 DISCONNECT, length 76 For more information about vsock see: http://wiki.qemu.org/Features/VirtioVsock
* Put IPv4/IPv6 protocol demultiplexing into a common routine.Guy Harris2019-03-271-0/+1
| | | | | | | That means less duplication of functionality - and less chance that XXX-over-IPv4 will be handled but XXX-over-IPv6 won't be handled, or *vice versa*. (CARP and VRRP were being handled over IPv4 but not over IPv6; this fixes that.)
* Merge branch 'master' of https://github.com/kivinen/tcpdump into kivinen-masterMichael Richardson2019-03-241-0/+1
|\
| * Fixed some warnings, added print-zep.c to CMakeListsTero Kivinen2018-11-181-0/+1
| |
* | Add support for decoding Broadcom Ethernet switches tagsFlorian Fainelli2019-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | This adds support for decoding the Broadcom Ethernet switches tags which are are 4byte in length and are located between the Ethernet MAC SA and the Type/Length field (DSA_TAG_BRCM) as well as the pre-pended Broadcom tag (DSA_TAG_BRCM_PREPEND) which are located in front of the standard Ethernet header. This makes use of the recently introduced ether_print_hdr_len() to allow specifying the non-standard Ethernet header length of 12 + 4 + 2 bytes.
* | Try to squelch another annoying repeated warning.Guy Harris2018-12-101-0/+14
|/
* Require sys/capsicum.h to use Capsicum.Guy Harris2018-11-091-26/+29
| | | | | | My PC-BSD 9.1 VM, at least, has sys/capability.h but not sys/capsicum.h; we now use sys/capsicum.h, so require it to be present (which it is in FreeBSD 10 and later).
* Compile with -Wsign-compare in devel mode if supported (cmake)Francois-Xavier Le Bail2018-10-301-0/+1
|
* Don't warn about declarations after statements.Guy Harris2018-09-151-1/+0
| | | | | We now allow them, and require a compiler that supports them, so there's no need to warn about them.
* Add '-Wunreachable-code-return' warning option in devel mode for cmakeFrancois-Xavier Le Bail2018-08-071-0/+1
|
* Sort the tested compiler warning options for cmakeFrancois-Xavier Le Bail2018-08-071-8/+8
|
* Remove the no more used gmt2local() functionFrancois-Xavier Le Bail2018-08-071-1/+0
|
* Display interface and index and name on DLT_LINUX_SLL2Petr Vorel2018-07-191-0/+1
| | | | | | | | | | | | | | | | | Index is displayed always, name only if available. Warn about possible wrong interfaces when in reading mode (pcap file can be displayed on a different host then where was captured) [1]. See: GH the-tcpdump-group/libpcap#127 [1] https://lists.sandelman.ca/pipermail/tcpdump-workers/2018-July/001019.html Signed-off-by: Petr Vorel <pvorel@suse.cz> Suggested-by: Guy Harris <guy@alum.mit.edu> Reviewed-by: Denis Ovsienko <denis@ovsienko.info> Reviewed-by: Guy Harris <guy@alum.mit.edu>
* Remove trailing spaces/tabsFrancois-Xavier Le Bail2018-05-251-1/+1
|