wireshark/epan
John Thacker 18ffd52e8e RTP: Make Decode As handling consistent across subdissectors
RTP has two dissector tables, one directly associated with payload types, and
one which is associated with strings that appear in SDP commands. This makes
all dissectors that are registered as a dynamic payload type that can be
configured by SDP appear as a Decode As option for the RTP PT table.

Some protocols were registered in the table for configuration by SDP but
had no way to register with the rtp.pt table. These include EVRC, H.223,
and v150fw.

Other protocols had a long standing preference to set a dynamic payload type,
but they still did not appear in the Decode As menu unless that preference
was changed from the default, largely because of the way that the preference
was not actually registered with the rtp.pt table unless it had a value in
the dynamic payload type range. These include EVS, H.263P, H.264, H.265,
ISMACryp, IuUP, LAPD, MP4V-ES, RTP-MIDI, and VP8.

RFC 3551 says that not just the dynamic payload types, but also the unassigned
and even the statically assigned payload types MAY be dynamically reassigned as
necessary, so this patch also allows these preferences to be set for payload
types less than 96. The only payload type not allowed is 0 (which RFCs 3551 and
7007 say must be μ-law PCM), which is handy anyone for backwards compatibility
with preferences that used to be uints (where 0 meant disabled.)

All protcols which formerly used a uint preference are all converted to a
range preference, and the text is changed to be similar for each. This works
in a backwards compatible fashion, and any defaults are maintained.

The patch also adds some of the dissector variants as PINOs so that they will
show up with distinct names in the Decode As menus, and changes some of the
protocol short names so that the entry in Decode As is clearer and matches
what is used for other similar protocols.

Change-Id: I68627b5c3e495d9fc813d88208f3b62e47e0c4de
Reviewed-on: https://code.wireshark.org/review/37396
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2020-06-12 06:06:21 +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 RTP: Make Decode As handling consistent across subdissectors 2020-06-12 06:06:21 +00:00
ftypes Get rid of some unnecessary string operations 2019-10-08 22:10:25 +00:00
wmem wmem: Use better terminology. 2020-06-08 05:08:22 +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 Fix some cppcheck issues: 2020-06-01 20:44:27 +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_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
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 proto.c: check for proto_item_get_display_repr() 2020-06-06 14:51:22 +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 epan: Reassembled in link is generated 2020-06-10 14:38:35 +00:00
reassemble.h Reassemble: Fix typo 2019-11-12 13:43:16 +00:00
reassemble_test.c Fix some cppcheck issues: 2020-06-01 20:44:27 +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