Treat CR-LF at the end of a line like LF.

That way, if we're reading a Windows-format file on UN*X, we handle it
the same way we'd handle a UN*X-format file.

This handles bug 10272 for the preference file and the "recent" files;
there are other configuration files that may need code changes as well.

Change-Id: Iec15a8fac276929ce8b53ae16070e9f2855f574c
Reviewed-on: https://code.wireshark.org/review/3042
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Treat CR-LF at the end of a line like LF.

That way, if we're reading a Windows-format file on UN*X, we handle it
the same way we'd handle a UN*X-format file.

This handles bug 10272 for the cfilter and dfilter file; there are other
configuration files that may need code changes as well.

While we're at it, don't hand non-ASCII characters to isspace().

Change-Id: I4f5efeaa938bcb2d85737ab136c3ca19ea1ddb5b
Reviewed-on: https://code.wireshark.org/review/3045
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Add application/atom+xml as an XML document type.

Change-Id: I9fcf438f3cafcb3ab3a5b6dc0f72ed2561e5a94f
Reviewed-on: https://code.wireshark.org/review/3049
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Cleanup the "export PDU" common code.

exp_pdu_file_open() isn't used outside ui/tap_export_pdu.c; make it
static.

do_export_pdu() isn't a tap routine, it's called *from* tap routines, so
its last argument doesn't need to be a generic pointer; its last
argument must be a pointer to an exp_pdu_t, so declare it as such.

Clean up comments while we're at it.

Change-Id: Iab51b54a0c272052d7876110a095f2fff66fa2c1
Reviewed-on: https://code.wireshark.org/review/3060
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Fix up library names when using CMake on Windows

Change-Id: I3573e69eb54044bb915161756dbb8f18cc769061
Reviewed-on: https://code.wireshark.org/review/2957
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Make the state variable an enum, and add a case for the IN_SKIP value.

Also indicate what the states mean.

Change-Id: Ie1701bb2fb33334bcd66d325d1368c2a15cbb7e8
Reviewed-on: https://code.wireshark.org/review/3061
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Get rid of cf_reset_state() - it's only called from one place.

Change-Id: I48521bbaa898c99286e6bb5e40281aba7701ed4d
Reviewed-on: https://code.wireshark.org/review/3062
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Fix Dead Store (Dead assignement/Dead increment) warning found by Clang

Change-Id: I17dc2259e039586b9a06944bd1c2b552dd23855d
Reviewed-on: https://code.wireshark.org/review/3052
Reviewed-by: Evan Huus <eapache@gmail.com>
Fix Dead Store (Dead assignement/Dead increment) warning found by Clang

Change-Id: I908e08e491bae6c7532e02269d8ed004ad0cee91
Reviewed-on: https://code.wireshark.org/review/3053
Reviewed-by: Evan Huus <eapache@gmail.com>
Fix Dereference of null pointer found by Clang analyzer

Change-Id: I3e84e987ad26019d7536baf4d90d6b0c684f6ec1
Reviewed-on: https://code.wireshark.org/review/3054
Reviewed-by: Evan Huus <eapache@gmail.com>
Moved USB Setup Response Dissection into own function

USB Setup Responses are now dissected in their own function.
Before they were dissected inline in the usb_dissect_common()
function.
(just copied code).

Also replaced proto_tree_add_text() with proto_tree_add_item()
for generic setup response data.

Change-Id: Ia3943334cccc0a1813e0c906196307f99561ad21
Reviewed-on: https://code.wireshark.org/review/2959
Reviewed-by: Evan Huus <eapache@gmail.com>
MAUSB dissection of control transfer responses

The MAUSB dissector can now dissect transfer responses for control
endpoints.

Change-Id: Ic488ccb308365d072bbbf0eaf128b198caf74eca
Reviewed-on: https://code.wireshark.org/review/2960
Reviewed-by: Evan Huus <eapache@gmail.com>
HTTP2: Fix double free

Found by Clang Analyzer

Backport from https://github.com/tatsuhiro-t/nghttp2/commit/62423f5949001c375c8e325296c74c92d1be0965
Signed-off-by: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>

Change-Id: Ic70f74b55ab80ca0b8d5042f07a29c9d14af4fe2
Reviewed-on: https://code.wireshark.org/review/3058
Reviewed-by: Evan Huus <eapache@gmail.com>
Fix Argument with 'nonnull' attribute passed null found by Clang

Change-Id: I48f488a75f53d077a213f7b9379960985ce3bf08
Reviewed-on: https://code.wireshark.org/review/3055
Reviewed-by: Evan Huus <eapache@gmail.com>
Looks like this file is completely outdated - at least the problems
it mentions are.

Change-Id: Idc8fd36bc605c9b79019285e1a259fa545cf72b5
Reviewed-on: https://code.wireshark.org/review/3026
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Evan Huus <eapache@gmail.com>
ssl: unify common Hello dissection to ssl-utils

Based on DTLS code with changes merged from SSL. Changes:

 - Ignore large Session IDs, this was not harmful though since the
   backing storage was 256 bytes in size.
 - {ssl,dtls}.handshake.random: fixed description, it is not used like
   a SSLv2 random challenge.
 - dtls: also debug print client/server for random
 - SSL: the common dissector now returns an offset rather than dissected
   length.
 - dtls: display actual Session ID bytes in the UI rather than the text
   "Session ID (32 bytes)". The length field is already visible in the
   preceding field.

Also changed is the handling of key material generation. The SSL
dissector previously generated key material based on the Session ID,
Session Ticket or a key logfile. (DTLS did not have this functionality.)
As decryption is needed only after ChangeCipherSpec, I have removed it
from the ServerHello handling. This will break decryption when a
ClientKeyExchange message is missing, but it will be restored proper in
a next patch.

(By the way, there was an inverted if-condition bug in DTLS that could
break decryption by not restoring the master key matching a SID. This
is gone in the refactoring because the faulty code is removed.)

Change-Id: Ida3de88adefe3f7691f85936c496977426c4d96e
Reviewed-on: https://code.wireshark.org/review/3018
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Hauke Mehrtens <hauke@hauke-m.de>
Reviewed-by: Evan Huus <eapache@gmail.com>
ssl: move decoder init from ClientKeyExchange to ChangeCipherSpec

My previous change removed master-key retrieval in the Server Hello.
This broke decryption when ClientKeyExchange is missing. That was done
because decryption is only needed after ChangeCipherSpec.

This patch moves the remaining initialization in ClientKeyExchange to
ChangeCipherSpec. In theory this could fix decryption of DTLS traffic
when an abbreviated handshake is used (and thus keyring material is
never generated in ClientKeyExchange since it is not called).

It also avoids saving a session ticket with an empty key which can
happen when no RSA key is present, but the NewSessionTicket message
is received. This could lead to garbage decryption.

Change-Id: If0f475232c270b1d7b006c1f9af0e8d8098c6b65
Reviewed-on: https://code.wireshark.org/review/3019
Reviewed-by: Hauke Mehrtens <hauke@hauke-m.de>
Reviewed-by: Evan Huus <eapache@gmail.com>
Have buffer_free() null out the buffer data pointer.

That prevents some double-free issues (I got one when doing non-"Update
list of packets in real time" captures, if I do one such capture and
then another one).

Change-Id: Ia08034d9d1640bad21b74960efade8926dbfc5de
Reviewed-on: https://code.wireshark.org/review/3063
Reviewed-by: Guy Harris <guy@alum.mit.edu>
No more README.irix.

Change-Id: I3c906451549d28040f1068356bf7e62bff9cd92a
Reviewed-on: https://code.wireshark.org/review/3065
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Only one buffer.c, please.

Otherwise, if you link with both libwiretap and libfiletap, it's
anybody's guess which one you get.  That means you're wasting memory
with two copies of its routines if they're identical, and means
surprising behavior if they're not (which showed up when I was debugging
a double-free crash - fixing libwiretap's buffer_free() didn't fix the
problem, because Wireshark happened to be calling libfiletap' unfixed
buffer_free()).

There's nothing *tap-specific about Buffers, anyway, so it really
belongs in wsutil.

Change-Id: I91537e46917e91277981f8f3365a2c0873152870
Reviewed-on: https://code.wireshark.org/review/3066
Reviewed-by: Guy Harris <guy@alum.mit.edu>