Using memcpy on overlapping memory has undefined behaviour (read: on GCC 4.8.1 this destroys the plaintext and invalidates the MAC).
This patch fixes parsing Application Data records for TLS 1.1 and 1.2 (while I am at it, also for DTLS 1.0/1.2) by using memmove instead of memcpy.
svn path=/trunk/; revision=52051
Fix decryption of TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)
Caught when iterating through all SSLv3 cipher suites.
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006) was another one that
could not be decrypted
svn path=/trunk/; revision=52050
Add more TLS cipher suites (SEED, AES-GCM, ECC)
- cipher suites from `RFC 5246 - TLS 1.2`
- cipher suites 150-155 are taken from: RFC 4162 - SEED for TLS
- cipher suites 156-167 are taken from: RFC 5288 - AES-GCM Cipher suites
- cipher suites 49153-49177 are taken from: RFC 4492 - ECC for TLS
- cipher suites 49195-49202 are taken from RFC 5289 - ECC with SHA256/384 and AES GCM
svn path=/trunk/; revision=52049
The script didn't catch as many as I would have liked, but it's a start.
The most common (ab)use of proto_tree_add_uint_format was for appending strings to CRC/checksum values to note good or bad CRC/checksum.
svn path=/trunk/; revision=52045
key pointer value. _insert just takes the key-pointer, not a pointer to it.
Passing a pointer-to-a-pointer causes the outer pointer to be dereferenced as a
struct (when it in fact points to a pointer to struct) and leads to incorrect
behaviour and uninitialized/out-of-bounds memory accesses.
Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9139
svn path=/trunk/; revision=52036
Scan our segment list (and the capture file) once per stream. Switch the
stream selection control to a QSpinBox. Add graph type selection
actions. The context menu + shortcuts should now be complete. Add the
intitial tcptrace graph. Only ACKs and RWINs so far. A bunch of other
updates and fixes.
svn path=/trunk/; revision=52027
imported from upstreams with correct licensing but without a useful header (and
there's no particular reason to carry that delta).
svn path=/trunk/; revision=52017
/home/jmayer/work/wireshark/svn/trunk/echld/parent.c: In function ‘echld_terminate’:
/home/jmayer/work/wireshark/svn/trunk/echld/parent.c:305:5: error: suggest braces around empty body in ‘do’ statement [-Werror=empty-body]
do ; while(sleep(1)); /* wait a full sec without signals */
^
cc1: all warnings being treated as errors
svn path=/trunk/; revision=52011
The windows-common dissector seems to make excessive use of strbufs - I
converted them and simplified a bit, but it could probably be simplified more.
svn path=/trunk/; revision=52008
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:134:2: error: enum conversion in initialization is invalid in C++ [-Werror=c++-compat]
{0,NULL}
^
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:134:2: error: (near initialization for ‘t_map[34].type’) [-Werror=c++-compat]
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:269:3: note: expected ‘echld_msg_type_t’ but argument is of type ‘guint32’
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:253:8: error: variable ‘off’ set but not used [-Werror=unused-but-set-variable]
long off;
^
cc1: all warnings being treated as errors
Still todo:
/home/jmayer/work/wireshark/svn/trunk/echld/common.c: In function ‘echld_read_frame’:
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:269:3: error: enum conversion when passing argument 4 of ‘cb’ is invalid in C++ [-Werror=c++-compat]
cb( &(r->rp[sizeof(hdr_t)]), HDR_LEN(h), h->h.chld_id, HDR_TYPE(h), h->h.reqh_id, cb_data);
^
/home/jmayer/work/wireshark/svn/trunk/echld/common.c:269:3: note: expected ‘echld_msg_type_t’ but argument is of type ‘guint32’
Whitespace fixes
svn path=/trunk/; revision=52007