wireshark/epan
Mikael Kanstrup 42544c8c44 dot11decrypt: Support decryption using TK user input
Add support for TK user input keys. With this Wireshark can
decrypt packet captures where 4WHS frames are missing and
packet captures with non-supported AKMS, for example
802.11r / Fast BSS Transitioning.

Decryption using user TK works as a backup if the normal
decryption flow does not succeed. Having TK decryption keys
added will affect general IEEE 802.11 dissector performance
as each encrypted packet will be tested with every TK.
Worst case scenario is plenty of TKs where none of them
matches encrypted frames.

On successful user TK decryption an SA is formed based on
parameters used to decrypt the frame. This SA is similar to
what is formed when Wireshark detects and derive keys from
4WHS messages. With the SA entry in place the decryption
performance (success case) should be on par with "normal"
decryption flow.

Bug: 16579
Change-Id: I72c2c1e2c6693131d3ba07f8ddb8ff772c1b54a9
Reviewed-on: https://code.wireshark.org/review/37217
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-06-01 07:23:56 +00:00
..
crypt dot11decrypt: Support decryption using TK user input 2020-06-01 07:23:56 +00:00
dfilter HTTPS In Even More Places, update some links. 2019-07-28 04:21:18 +00:00
dissectors dot11decrypt: Support decryption using TK user input 2020-06-01 07:23:56 +00:00
ftypes Get rid of some unnecessary string operations 2019-10-08 22:10:25 +00:00
wmem Protobuf: Add show_details preferences. Fix two bugs. 2019-10-14 06:47:30 +00:00
wslua wslua: Update the ByteArray and Tvb docs. 2020-03-31 04:13:01 +00:00
.editorconfig HTTPS In Even More Places, update some links. 2019-07-28 04:21:18 +00:00
CMakeLists.txt Use symbolic values for Cisco's LLC PIDs 2020-01-10 23:36:33 +00:00
addr_and_mask.c epan: access a ws_in4_addr byte by byte. 2020-04-16 17:11:59 +00:00
addr_and_mask.h wsutil: use ws_in4_addr in tvb_get_ipv4_addr_with_prefix_len. 2020-04-14 08:31:11 +00:00
addr_resolv.c Edit Resolved Name: Don't add duplicate IPs 2020-02-24 07:45:00 +00:00
addr_resolv.h Edit Resolved Name: Don't add duplicate IPs 2020-02-24 07:45:00 +00:00
address.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
address_types.c ax25: Fix addresses with non-zero SSIDs 2019-11-03 13:15:49 +00:00
address_types.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
afn.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
afn.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
aftypes.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
aftypes.h
app_mem_usage.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
app_mem_usage.h
arcnet_pids.h
arptypes.h ARP: expand the set of ARPHRD_ definitions from both IANA and Linxu. 2020-05-09 12:08:54 +00:00
asn1.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
asn1.h
ax25_pids.h
bridged_pids.h
capture_dissectors.c Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
capture_dissectors.h
charsets.c HTTPS In Still More Places, update more URLs. 2019-07-27 22:56:35 +00:00
charsets.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
chdlctypes.h
cisco_pid.h Use symbolic values for Cisco's LLC PIDs 2020-01-10 23:36:33 +00:00
color_filters.c epan/color filters: plug a memory leak. 2020-05-02 23:05:25 +00:00
color_filters.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
column-info.h
column-utils.c
column-utils.h
column.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
column.h
conv_id.h
conversation.c conversation: use wmem_new0 instead of memset. 2020-04-14 06:03:33 +00:00
conversation.h conversation.h: Whitespace fixes 2019-11-24 21:33:18 +00:00
conversation_debug.h conversation.c: do not use wmem packet scope for debug strings 2019-06-05 10:29:13 +00:00
conversation_filter.c epan: Rename dissector_filters.c to conversation_filter.c 2019-11-04 10:17:16 +00:00
conversation_filter.h epan: Rename dissector_filters.c to conversation_filter.c 2019-11-04 10:17:16 +00:00
conversation_table.c
conversation_table.h
crc6-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc6-tvb.h
crc8-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc8-tvb.h
crc10-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc10-tvb.h
crc16-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc16-tvb.h USBLL: Verify DATA packets CRC-16 2019-07-25 08:58:13 +00:00
crc32-tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
crc32-tvb.h
decode_as.c register_decode_as_next_proto: remove the "title" parameter 2019-06-13 05:38:22 +00:00
decode_as.h decode_as: Update the documentation a bit. 2020-04-09 09:40:04 +00:00
diam_dict.h
diam_dict.l
disabled_protos.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
disabled_protos.h
dtd.h
dtd_grammar.lemon
dtd_parse.h
dtd_parse.l
dtd_preparse.l epan DTD parser: don't leak the full path string on error. 2020-05-02 22:18:58 +00:00
dvb_chartbl.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
dvb_chartbl.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
eap.h EAP: Add TEAP (Tunnel EAP) 2020-02-14 07:46:22 +00:00
eapol_keydes_types.h
epan.c Add c-ares to the required library list. 2019-11-23 22:45:59 +00:00
epan.h Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
epan_dissect.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
etypes.h LLDP: Add ONOS Ether Type (0x8942) 2020-01-30 08:25:51 +00:00
ex-opt.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
ex-opt.h
except.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
except.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
exceptions.h Stylistic consistency. 2020-04-09 22:16:02 +00:00
exntest.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
expert.c Load environment vars to globals for efficency. 2019-09-04 12:31:53 +00:00
expert.h expert.h: Reorder includes 2019-12-01 07:34:03 +00:00
export_object.c Fix memory leak in export_object.c 2020-05-02 21:41:09 +00:00
export_object.h
exported_pdu.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
exported_pdu.h
filter_expressions.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
filter_expressions.h Doxygen: Fix some warnings. 2019-07-11 11:03:00 +00:00
follow.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
follow.h QUIC: Add Follow QUIC Stream support to Qt and tshark 2019-10-04 04:36:09 +00:00
frame_data.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data_sequence.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
frame_data_sequence.h
funnel.c funnel: Free callback data 2019-11-05 15:21:30 +00:00
funnel.h funnel: Free callback data 2019-11-05 15:21:30 +00:00
garrayfix.h
golay.c
golay.h
guid-utils.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
guid-utils.h
iana_charsets.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
iana_charsets.h
iax2_codec_type.h
in_cksum.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
in_cksum.h
ip_opts.h
ipproto.c
ipproto.h
ipv4.h
ipv6.h
lapd_sapi.h
llcsaps.h
maxmind_db.c HTTPS In Still More Places, update more URLs. 2019-07-27 22:56:35 +00:00
maxmind_db.h
media_params.c
media_params.h
next_tvb.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
next_tvb.h
nlpid.h
oids.c epan,packaging: convert http URLs to https 2019-07-20 20:50:59 +00:00
oids.h
oids_test.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
osi-utils.c
osi-utils.h
oui.h LLDP: Add ONOS TLV (Chassis, Port and TTL) 2020-01-29 14:17:39 +00:00
packet.c Note why we're getting the time stamp from the frame data structure. 2020-05-01 22:32:20 +00:00
packet.h sll: add support for LINKTYPE_LINUX_SLL2. 2020-05-09 03:14:50 +00:00
packet_info.h
params.h
plugin_if.c
plugin_if.h
ppptypes.h
prefs-int.h Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
prefs.c prefs: plug a memory leak. 2020-05-03 00:06:57 +00:00
prefs.h Qt: Fix PacketListHeader column 2020-01-09 12:32:34 +00:00
print.c print: remove assert in get_field_data(). 2019-11-21 08:03:46 +00:00
print.h
print.ps
print_stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
print_stream.h
proto.c Add a routine to get the representation of a protocol tree item and use it. 2020-04-25 06:27:53 +00:00
proto.h Clean up the encoding value definitions. 2020-04-28 06:05:52 +00:00
proto_data.c epan: Add p_[gs]et_proto_depth. 2020-04-15 04:09:08 +00:00
proto_data.h epan: Add p_[gs]et_proto_depth. 2020-04-15 04:09:08 +00:00
protobuf-helper.c Get rid of %debug, so protobuf_lang.y can be processed by Berkeley YACC. 2020-01-06 10:25:18 +00:00
protobuf-helper.h Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
protobuf_lang.y bison/flex: comment why we ignore deprecated directive warning. 2020-04-30 07:57:39 +00:00
protobuf_lang_scanner.l Protobuf: Add show_details preferences. Fix two bugs. 2019-10-14 06:47:30 +00:00
protobuf_lang_tree.c Protobuf: add dissecting protobuf fields as wireshark fields preferences, etc. 2019-12-19 05:04:17 +00:00
protobuf_lang_tree.h Get rid of %debug, so protobuf_lang.y can be processed by Berkeley YACC. 2020-01-06 10:25:18 +00:00
ps.h
ptvcursor.h
radius_dict.l HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
range.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
range.h
reassemble.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
reassemble.h Reassemble: Fix typo 2019-11-12 13:43:16 +00:00
reassemble_test.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
reedsolomon.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
reedsolomon.h
register-int.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
register.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
register.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
req_resp_hdrs.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
req_resp_hdrs.h
rtd_table.c
rtd_table.h
rtp_pt.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
sctpppids.h
secrets.c Fix UAT PKCS #11 Library handle leak 2020-01-15 04:52:04 +00:00
secrets.h
sequence_analysis.c
sequence_analysis.h
show_exception.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
show_exception.h
slow_protocol_subtypes.h
sminmpec.h added fastip (Boundary) enterprise ID 2020-04-03 06:50:15 +00:00
srt_table.c
srt_table.h
stat_groups.h
stat_tap_ui.c
stat_tap_ui.h
stats_tree.c WSUG: Add a Packet Lengths dialog section. 2020-01-03 16:37:08 +00:00
stats_tree.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
stats_tree_priv.h
stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
stream.h
strutil.c Add format_size_wmem 2019-12-02 05:01:16 +00:00
strutil.h Add format_size_wmem 2019-12-02 05:01:16 +00:00
t35.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
t35.h
tap-voip.h
tap.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap.h
tfs.c Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
tfs.h Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
time_fmt.h Add proto_tree_add_item_ret_time_string 2019-08-29 13:31:48 +00:00
timestamp.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
timestamp.h
timestats.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
timestats.h
to_str-int.h
to_str.c epan/to_str: change MAX_BYTE_STR_LEN from 48 to 72 2020-01-26 19:31:34 +00:00
to_str.h
tvbparse.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbparse.h
tvbtest.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff-int.h
tvbuff.c Clean up the encoding value definitions. 2020-04-28 06:05:52 +00:00
tvbuff.h Add string encoding values for various BCD encodings, and use them. 2020-04-27 01:53:09 +00:00
tvbuff_base64.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_brotli.c
tvbuff_composite.c composite_tvb: fix memory leak when tvb_composite_finalize is not called 2020-06-01 03:40:57 +00:00
tvbuff_lz77.c Note the Microsoft standard, fix the LZNT1 comment. 2019-08-04 01:09:47 +00:00
tvbuff_lz77huff.c TVB(LZ77+Huffman): return proper value on error (CID1451652) 2019-10-21 07:11:40 +00:00
tvbuff_lznt1.c Note the Microsoft standard, fix the LZNT1 comment. 2019-08-04 01:09:47 +00:00
tvbuff_real.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_subset.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tvbuff_zlib.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
uat-int.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
uat.c
uat.h
uat_load.l
unit_strings.c Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
unit_strings.h Document unit string and true false string helper functions 2020-04-29 10:07:51 +00:00
value_string.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
value_string.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
x264_prt_id.h
xdlc.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
xdlc.h Fix whitespace. 2019-07-15 08:02:20 +00:00