Commit Graph

10336 Commits

Author SHA1 Message Date
John Safranek b6b57154e5 Add the new IPv6 sniffer test file to the automake list. 2019-10-04 14:54:17 -07:00
John Safranek 89ff909d73 Sniffer IPv6
1. Sorted out IPv6 configuration for sniff test.
2. Tests the sniffer using an IPv6 file.
2019-10-04 14:54:17 -07:00
John Safranek ebd435ae46 skip IPv6 extended headers 2019-10-04 14:54:17 -07:00
John Safranek a5bfb8a18b Change the IP address wrappers to include the version. Makes comparing
easier. Hard-coded some IPv6 localhost tests.
2019-10-04 14:54:17 -07:00
John Safranek d1d2eb0edd Add IPv6 to the sniffer. 2019-10-04 14:54:17 -07:00
John Safranek 8b21082abe Use wrapper macros for all touches of the sniffer statistics mutex. 2019-10-04 14:54:17 -07:00
John Safranek 1b057df610 When enabling SHOW_SECRETS one of the array counter variables for a
secret had a type mismatch. Changed the index to a word32 to match the
boundary variable's type.
2019-10-04 14:54:17 -07:00
John Safranek 841e469340 Convert the data the snifftest is about to print into printable text.
Anything that isprint() or isspace() is kept, anything else is changed
to a period.
2019-10-04 14:54:17 -07:00
John Safranek 725243b132 Changed how the sniffer calculates the sslFrame size, sslBytes, and the
end of packet pointer. The end of packet pointer is based on sslFrame
and sslBytes. sslBytes is calculated from the total length in the IP
header, rather than the caplen. The caplen may include things like
Ethernet's FCS, which throws packet processing off.
2019-10-04 14:54:17 -07:00
John Safranek b2fb6d1a81 Move some stats captures to a different location. 2019-10-04 14:54:17 -07:00
John Safranek 3256fef7f9 Sniffer Chain Buffers
1. Fixed an issue when a TLS record is split across two chain buffers.
The second buffer was being treated as a new record.
2. Fixed an issue with STARTTLS_ALLOWED where the input buffer isn't
getting cleared and the skipped data just builds up blocking TLS
records.
2019-10-04 14:54:17 -07:00
John Safranek 53c7f864b2 Add midding function prototype. 2019-10-04 14:54:17 -07:00
John Safranek b6ca72549c Sniffer Fixes
Added a flag to disable the normally enabled session stats, WOLFSSL_NO_SESSION_STATS.
2019-10-04 14:54:17 -07:00
John Safranek dea5e73852 Sniffer Chain Input
Add a new method for handling input records where the input is in the form of an iovec list.
2019-10-04 14:54:17 -07:00
John Safranek 62ac388f55 Store Data Callback
Added a callback and support to allow one to handle storing the data
directly without reallocating the data buffer. Also added an example
that uses this callback if the callback is enabled in the build.
2019-10-04 14:54:17 -07:00
John Safranek 98e94a6f0f Added a preprocessor guard around ssl_GetSessionStats(). 2019-10-04 14:54:17 -07:00
John Safranek a0ad39cf70 Sniffer Stats
Moved the increment of the resume misses statistic.
2019-10-04 14:54:17 -07:00
John Safranek 73273f4fec Sniffer Memory
1. Modify the sniffer code to use XMALLOC and XFREE.
2. Added some new dynamic memory types for the sniffer.
2019-10-04 14:54:17 -07:00
John Safranek 0e1073f622 Sniffer Statistics
Addded two more statistics, cache hits and cache inserts.
2019-10-04 14:54:17 -07:00
John Safranek 4292936efc wolfSSL Global
1. Renamed the global variable tag to WOLFSSL_GLOBAL.
2. Tagged several more global variables with WOLFSSL_GLOBAL.
2019-10-04 14:54:17 -07:00
John Safranek bbc208ad33 Updated some more globals in the sniffer and session cache with being shared. 2019-10-04 14:54:17 -07:00
John Safranek a991cc42f4 Add function wolfSSL_get_cipher_name_iana_from_suite() a wrapper around
internal API GetCipherNameIana().
2019-10-04 14:54:17 -07:00
John Safranek 87a8447f0d 1. Added a tag for global variables in environments where they aren't
shared across threads by default.
2. Set the Trace file and flag up with the shared flag.
2019-10-04 14:54:17 -07:00
John Safranek 743a6ab829 Update the decrypted packet and byte counts. 2019-10-04 14:54:17 -07:00
toddouska dd9635d8ff Merge pull request #2469 from embhorn/sk_types
Sk types
2019-10-04 14:44:25 -07:00
toddouska 30829cec09 Merge pull request #2482 from SparkiDev/cppcheck_fixes_1
Fixes from using cppcheck tool
2019-10-04 14:39:31 -07:00
David Garske b213a962e9 Merge pull request #2493 from ejohnstown/sync-qat
Synchronous Quick Assist Support for Sniffer
2019-10-04 11:45:08 -07:00
Daniele Lacamera c26a7ccb68 Fix copy-paste from LTE module 2019-10-04 20:37:38 +02:00
Daniele Lacamera 52bf19eefd Added initial support for STM32_PKA ECC accelerator 2019-10-04 20:15:33 +02:00
David Garske 0d43c1f3d7 Merge pull request #2488 from aaronjense/openssh-fixes
Fix defines that aren't in configure.ac
2019-10-04 10:35:07 -07:00
David Garske d48e904c16 Merge pull request #2496 from embhorn/test_ASN1_INTEGER_set
Add conditional check to test_wolfSSL_ASN1_INTEGER_set test case failing for 32-bit platform
2019-10-04 10:33:37 -07:00
John Safranek 48d872187d Synchronous Quick Assist Support for Sniffer
1. Add a HardwareStop for the QAT sync build in wolfCrypt_Cleanup();
2019-10-04 09:01:59 -07:00
David Garske a258b84018 Merge pull request #2497 from danielinux/openssl-cleanup
Fix include path issue for openssl compatibility for dh.h.
2019-10-04 08:23:37 -07:00
Eric Blankenhorn f47a9c8b20 Add conditional to 64-bit tests 2019-10-04 09:41:48 -05:00
Daniele Lacamera 3183ccc0c8 x509.h: include the correct header 2019-10-04 15:04:35 +02:00
Daniele Lacamera 5f1dcc3b0c Removed inclusion of openSSL header 2019-10-04 10:22:38 +02:00
Jacob Barthelmeh 82fc96b7f3 adjust onHeap to be a bit field 2019-10-04 08:44:00 +07:00
tmael 197b22973b Merge pull request #2490 from dgarske/riscv
Consolidate RISC-V examples and fix `make dist` file error
2019-10-03 15:08:49 -07:00
David Garske 12bf46296e Consolidate RISC-V examples. Fix make dist file error. 2019-10-03 11:08:50 -07:00
David Garske f5a4b82302 Merge pull request #2492 from ejohnstown/titan-cache
Titan Session Cache
2019-10-03 09:52:51 -07:00
John Safranek 177bab84e5 Synchronous Quick Assist Support for Sniffer
1. Add missing deinitializers for the QAT as the sniffer exits.
2019-10-03 09:15:50 -07:00
JacobBarthelmeh df2c27af32 check on if free'ing ctx/method back to heap hint 2019-10-03 08:39:18 -07:00
John Safranek c0a4143942 Titan Session Cache
1. Added a new build option for a TITAN session cache that can hold just over 2 million session entires.
2. Reordered the cache options from largest to smallest.
2019-10-02 14:36:38 -07:00
John Safranek 3b989329cd Merge pull request #2491 from aaronjense/fix-shadow-ret
Fix shadow redeclaration
2019-10-02 12:17:35 -07:00
John Safranek 9a5eb1bb67 Synchronous Quick Assist Support for Sniffer
1. Add configure option for sync IntelQA that uses the crypto callback API.
2. Refactor the IntelQA configure checks so they are usable by both the sync and async options.
3. Make a synchonous copy of the quickassist files.
4. Replace the printfs in the code with a logging macro.
5. Added padding to the AES_KEY structure for WOLF_CRYPTO_CB.
6. Tie in the crypto device to the sniffer.
7. When setting up the symmetric operation, add a build case for the sniffer to use malloc instead of realloc. Sniffer usually uses the middle of another buffer for the input data rather than the beginning of the buffer as it has the TCP/IP data to handle as well.
8. Add the raw key to the DES3 structure.
9. Copy the functions from qa_mem over to qa_sync.
2019-10-02 10:08:46 -07:00
Aaron Jense 0340b323cd Fix shadow redeclaration 2019-10-02 09:41:06 -06:00
Aaron Jense 91222bc887 Fix defines that aren't in configure.ac 2019-10-02 09:14:47 -06:00
David Garske 43e391528d Merge pull request #2489 from ejohnstown/sniffer-etm
Sniffer and Encrypt-Then-Mac
2019-10-02 08:05:25 -07:00
Chris Conlon ca817c50aa Merge pull request #2481 from dgarske/nxp_mmcau
Improvements to SHA-1, SHA-256 and MD5 performance
2019-10-01 15:16:50 -06:00
John Safranek 7261ed8b6f Sniffer and Encrypt-Then-Mac
The sniffer doesn't know how to deal with ETM. If the sniffer is enabled, disble ETM.
2019-10-01 13:00:55 -07:00