Commit Graph

79019 Commits

Author SHA1 Message Date
Pascal Quantin 7097d817a2 NAS 5GS: fix PDU address type, PDU session type and SSC mode bit width 2020-11-23 16:56:17 +01:00
Nardi Ivan 436cddcc84 QUIC: fix handling of Key Update
After a key update, we should update Packet Protection cipher but
we shouldn't touch the Header Protection one.
With the current code, PP and HP ciphers are quite entangled and we
always reset both of them. Therefore, at the second key update we
reset the used 1-RTT HP cipher too; no wonder even header decryption
fails from that point on.

To properly fix this issue, all the ciphers structures has been rewritten,
clearly separating PP code from HP one.

Close #16920
Close #16916


(cherry picked from commit 5e45f770fd)
2020-11-23 08:47:47 +00:00
Gerald Combs e3c543984d [Automatic update for 2020-11-22]
Update manuf, services enterprise numbers, translations, and other items.
2020-11-22 09:25:59 +00:00
Jaap Keuter 5016b41e6a Avoid python deprecation warning
Fixes ad69ec2e11


(cherry picked from commit 68313f4972)
2020-11-21 20:50:20 +00:00
Joakim Andersson 233f80f21b bluetooth: Fix dissecting of packets received on LE Coded PHY
Fix dissecting of packets received on LE Coded PHY. These packets
will include the extra field "coding indicator" after the access
address.
The assignment of phy in the common bluetooth context was missing,
leading to this field being left out and the offset being wrong.

(cherry picked from commit c586f71a5c)
2020-11-21 18:08:12 +01:00
Guy Harris 899899533c PacketListRecord: add an ensureColorized() method and use it.
Don't call the columnString() and discard the result in order to force
colorization; instead, add a separate method to force colorization and
use that.

This avoids the need to choose a column; we were using 1 as the column
number, but column numbers are zero-origin, so that's column 2, which
isn't guaranteed to exist (a crash ensued if it didn't).


(cherry picked from commit 58aea1de62)
2020-11-20 22:52:22 +00:00
John Thacker 793142cbec RFC2190: Fix bitmasks for several fields in mode A
Fixes some errors that the packet diagram helped make obvious.
Closes #17025.


(cherry picked from commit 5d374fed36)
2020-11-19 01:06:11 +00:00
Jaap Keuter dd88e7a90b HTTP: Restore SSTP support
Add exclusion for SSTP having Contents-Length and no body.
Closes #17024


(cherry picked from commit 0250e4e2e4)
2020-11-18 14:46:20 +00:00
Jason Cohen d304fa8431 f5ethtrailer: Replace ingressslot and ingressport with reserved 2020-11-17 11:07:43 -06:00
Gerald Combs 96d5d2b091 Tools: Update the usb.ids URL in make-usb.py.
The canonical location for the usb.ids file is
http://www.linux-usb.org/usb.ids. Unfortunately that site isn't
accessible over HTTPS so we were using https://usb-ids.gowdy.us/usb.ids
instead. *That* site is down, so switch to the Linux USB project's
SourceForge repository URL, which appears to house the assets for
www.linux-usb.org, including the usb.ids file.


(cherry picked from commit 01d5e8ee51)
2020-11-15 22:48:23 +00:00
Gerald Combs df635a196b [Automatic update for 2020-11-15]
Update manuf, services enterprise numbers, translations, and other items.
2020-11-15 19:12:07 +00:00
Guy Harris f79f407cae Pass an address-family-appropriate socket length to connect().
Some UN*Xes (4.4-lite-derived, such as the obscure, little-known macOS,
FreeBSD, NetBSD, OpenBSD, and DragonFly BSD) have a length field in the
socket address structure.

That was originally done for OSI address support; unlike most transport
addresses, such as IPv4 (and IPv6) addresses, where the size of the
address is fixed, the size of an OSI transport layer address is *not*
fixed, so it cannot be inferred from the address type.

With the dropping of OSI support, that field is no longer necessary in
userland.  System calls that take a socket address argument also take an
address length argument; in newer (all?) versions of the {macOS,
FreeBSD, NetBSD, OpenBSD, DragonFly BSD} kernel, the system call code
sets the length field in the kernel's copy of the address to the address
length field value.

However, that means that you have to pass in the appropriate length; if
you have a sockaddr_storage that might contain an IPv4 address or an
IPv6 address, connect() (and bind()) calls should use the IPv4 address
size for IPv4 addresses and the IPv6 address size for IPv6 addresses,
otherwise, at least on macOS, the call fails.

In cap_open_socket(), report socket() and connect() errors separately,
to make it easier to determine where TCP@ captures fail, if they do
fail.  (That's how I got here in the first place.)


(cherry picked from commit e3047d9b38)
2020-11-15 07:57:41 +00:00
John Thacker cd6afd7c9b Encodings: Fix missing pointer increment in 3GPP TS 28.038 unpacked
The pointer isn't incremented in get_ts_23_038_7bits_string_unpacked
so it just decodes the first octet length times.


(cherry picked from commit 5df3f5d05d)
2020-11-15 07:07:00 +00:00
Pascal Quantin a0ce8fa84d NAS EPS: fix inverted description of 2 N1 UE network capability IE fields
(cherry picked from commit 8c29bfe8b2)
2020-11-14 15:30:45 +00:00
Pascal Quantin 5010face74 NAS-EPS: remove an extra spare bit
It has been replaced by the 15 bearers capability during R15 development


(cherry picked from commit 440d8ceff9)
2020-11-13 18:36:33 +00:00
Pascal Quantin 7e94496598 MBIM: fix mbim.control.ms_app_info.app_name display
(cherry picked from commit ea311f2e21)
2020-11-13 16:05:18 +00:00
Alexis La Goutte f7e8752d2f MMRP: Fix wrong offset for service attribute type
Issue reported by Nils Andersen

Close #17005


(cherry picked from commit 8b512665fc)
2020-11-13 13:15:47 +00:00
Gerald Combs 6ece1c896d RTPS: Fixup our coherent set map.
coherent_set_tracking.coherent_set_registry_map uses a struct as a key,
but the hash and comparison routines treat keys as a sequence of bytes.
Make sure every key byte is initialized. Fixes #16994.

Call wmem_strong_hash on our key in coherent_set_key_hash_by_key instead
of creating and leaking a GBytes struct.


(cherry picked from commit 33e63d19e5)
2020-11-10 22:28:08 +00:00
Gerald Combs d88dc7f29a wiretap: Update pcapng systemd timestamp handling.
It's easy to create systemd blocks with a missing or invalid
__REALTIME_TIMESTAMP= field when fuzz testing. If that's the case, leave
WTAP_HAS_TS unset instead of returning an error. Fixes #16965.


(cherry picked from commit 51145c62e6)
2020-11-10 21:12:47 +00:00
Gerald Combs c8fedf65b2 epan: Limit our bits in decode_bits_in_field.
Limit the number of bits we process in decode_bits_in_field, otherwise
we'll overrun our buffer. Fixes #16958.


(cherry picked from commit d5f2657825)
2020-11-09 17:48:52 +00:00
Gerald Combs 263d7a5272 Tools+test: Call python3 explicitly.
PEP 394[1] says,

"In cases where the script is expected to be executed outside virtual
 environments, developers will need to be aware of the following
 discrepancies across platforms and installation methods:

  * Older Linux distributions will provide a python command that refers
    to Python 2, and will likely not provide a python2 command.

  * Some newer Linux distributions will provide a python command that
    refers to Python 3.

  * Some Linux distributions will not provide a python command at all by
    default, but will provide a python3 command by default."

Debian has forced the issue by choosing the third option[2]:

"NOTE: Debian testing (bullseye) has removed the "python" package and
 the '/usr/bin/python' symlink due to the deprecation of Python 2."

Switch our shebang from "#!/usr/bin/env python" to "#!/usr/bin/env
python3" in some places. Remove some 2/3 version checks if we know we're
running under Python 3. Remove the "coding: utf-8" in a bunch of places
since that's the default in Python 3.

[1]https://www.python.org/dev/peps/pep-0394/#for-python-script-publishers
[2]https://wiki.debian.org/Python


(cherry picked from commit 30c392f166)
2020-11-09 17:11:54 +00:00
Pau Espin 6891c21fe1 rlcmac: Fix EGPRS UL data block TLLI endianess
According to TS 44.060, figure 10.3a.2.1, note 2, the TLLI is
encoded in little endian for EGPRS (while big endian is used in GPRS).


(cherry picked from commit dfa8a3fe5a)
2020-11-09 12:41:59 +00:00
Nardi Ivan ba9ae589ad QUIC: improve migration support
We should keep track of CID reported in Preferred Address Transport Parameter

Close #16915


(cherry picked from commit a175435c0a)
2020-11-09 07:46:56 +00:00
Gerald Combs 2714dd9e6f [Automatic update for 2020-11-08]
Update manuf, services enterprise numbers, translations, and other items.
2020-11-08 09:25:29 +00:00
Nardi Ivan 6988aad8b6 STUN: fix heuristic over TCP
STUN heuristic over TCP (added in 770872790d) doesn't handle multiple
STUN messages in the same TCP payload.

While at it, added a comment (forgotten in 354bbbe7cb) about different
TURN channel support among STUN versions


(cherry picked from commit 905f304d54)
2020-11-05 20:03:54 +00:00
Gerald Combs de66fa058f CI+RPM: Disable the Fedora build for now.
Fedora 33's RPM environent added changes that break CMake. Disable it
for now.


(cherry picked from commit 05bd5cd91e)
2020-11-05 17:36:07 +00:00
Jaap Keuter b387f0c4db giop: free the buffer where its at
Followup on commit 40ce72f1a8


(cherry picked from commit 57b6666920)
2020-11-05 17:04:34 +00:00
Jaap Keuter 30ca9a975e giop: don't use packet scope for allocating a buffer at init time
Followup on commit 2c2ee172eb
Also when reading in lines from the file don't use packet scope.

Fixes #16984


(cherry picked from commit 40ce72f1a8)
2020-11-05 16:26:35 +00:00
Pau Espin a00ac1eb9c rlcmac: Handle properly LI=0 in GPRS data blocks and identify spare bits
The previous handling of LI=0 was a confusion with the LI=0 meaning from
EGPRS (see TS 44.060 B.8.2 Example 2) data block.


(cherry picked from commit 9d5de22a88)
2020-11-05 08:40:31 +00:00
Huang Qiangxiong b97332b12e Protobuf: fix bug about parsing negative enum value number
Change PT_DECIMALLIT, PT_OCTALLIT and PT_HEXLIT tokens to uint64
type, and make PT_IDENT excluding '-' numbers which will be parsed
in protobuf_lang.y. That negative enum number and number type of
constant can be correctly parsed.
Note, intLit is uint32 for parsing fieldNumber and enumNumber,
but might be uint64 as constant.

close #16988


(cherry picked from commit 1fff3cb106)
2020-11-05 08:12:00 +00:00
John Thacker 4e0dbcbc97 Encodings: Add FT_STRINGZ support for GB18030, EUC-KR
(cherry picked from commit abf3eaace8)
2020-11-05 05:36:40 +00:00
Guy Harris 99238a0198 giop: don't use packet scope for allocating a buffer at init time.
You can't use packet scope if you're not dissecting a packet;
read_IOR_strings_from_file() is called from giop_init(), which is called
when a file is opened, not when dissecting a packet.

Use NULL as the scope, which just does a regular allocation, and free
the buffer when we're done.

Expand a comment to indicate that using dissection routines is *also* a
bad idea in code that's not used when dissecting packets.

Fixes #16984.


(cherry picked from commit 2c2ee172eb)
2020-11-05 01:14:26 +00:00
Alexis La Goutte 5cac5d3254 QUIC: Fix typo
Reported by Martin Thomson


(cherry picked from commit ad1cf5eeb0)
2020-11-04 21:56:19 +00:00
Gerald Combs bc09f1a334 Tools: Allow cherry pick lines in validate-commit.py.
Cherry picking tends to add an extra blank line to the commit message.
Update the body check in validate-commit.py to allow for this.

Revert "tools: Skip over commit body checks." This reverts commit
24450d9c51.

(cherry picked from commit dd6b6f48dc)
2020-11-04 13:36:18 -08:00
Uli Heilmeier b3de664f2b QT: progress UI: Fix TextLabel string to loading
Change TextLabel to Loading for progress UI
Fixes: wireshark/wireshark#16987


(cherry picked from commit 48c09fe046)
2020-11-04 19:59:50 +00:00
Orgad Shaneh 2533f666a9 ACDR: Fix dissection of control packets
The recorded protocol on this case is eth and not ip.
2020-11-04 07:12:09 +00:00
Dr. Lars Völker 4d7b07dfe4 SOME/IP: Cleanup of length field parsing (BUG FIX)
This patch makes the parsing of length fields consistent by moving them
below their parent element and adjusting the length of the parent
element. And it fixes some problems by doing this.

Problems fixed by this:
- Bytes skipped after dynamic length arrays. This resolves #16951
- A byte was ignored before unparsed payload.
- Unions not marking the correct byte range.
- String having the length field twice.

Signed-off-by: Dr. Lars Völker <lars.voelker@technica-engineering.de>


(cherry picked from commit 9ac8dcb3a1)
2020-11-03 08:45:04 +00:00
Chuck Craft 5497552ab1 win32: fix MR180 - broke "-i -" input pipe
(cherry picked from commit 44241f694e)
2020-11-02 13:52:36 +00:00
Uli Heilmeier 15f52841ca RTCP: Extended Reports: check for padding
Check if padding flag is set and alter length accordingly.
Display rtcp.xr.bl the same way as rtcp.length.

Fixes: wireshark/wireshark#16933


(cherry picked from commit e07bb433b2)
2020-11-01 20:54:18 +00:00
Gerald Combs 746cf80cce [Automatic update for 2020-11-01]
Update manuf, services enterprise numbers, translations, and other items.
2020-11-01 17:35:58 +00:00
Nardi Ivan daca140dfe QUIC: fix connection lookup for Version Negotiation packets
VN packets don't have any real packet type, even if they have a long header


(cherry picked from commit 9613c943e0)
2020-11-01 09:13:32 +00:00
Nardi Ivan b46c3e2537 QUIC: allow dissection of sessions forcing version negotiation
Right now, these sessions are not dissected as QUIC, let alone decrypted


(cherry picked from commit cafdab3967)
2020-10-31 16:14:42 +00:00
Sylvain Munaut 78ac817a84 usbvideo: Fix dissection of PROBE infos structure
Refer to USB Device Class Definition for Video Devices
document revision 1.5.

 * bmFramingInfo is 1 byte
 * Cut & Paste error for bMaxVersion label

Change-Id: Ib1221886f864a6ab9dbab70a8e5fca6482bf4267
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>


(cherry picked from commit b6222766cc)
2020-10-31 13:44:32 +00:00
Martin Mathieson 006537ad22 GSM A: Uncertainty speed is only 1 byte.
(cherry picked from commit b925734fe2)
2020-10-31 13:18:25 +00:00
Gerald Combs 26a0ee2c4b 3.4.0 → 3.4.1. 2020-10-29 14:10:55 -07:00
Gerald Combs 9733f173ea Build: 3.4.0. 2020-10-29 11:55:07 -07:00
Vadim Yanitskiy 731f847342 GSM A RR: fix wrong cause value in gsm_a_rr_RR_cause_vals
Also, take a chance to correct the comment: section 6.11.0 does
not exit in 3GPP TS 44.018.  In version 15.4.0 Release 15 of
the referenced document it is 10.5.2.31 (table 10.5.2.31.1).


(cherry picked from commit 732591237b)
2020-10-29 10:36:53 +00:00
Jonas Falkevik 34b41729f9 lcsap: fix decode of plmnIdentity
Corretly decode MNC if it consists of 3 digits
Change to what is called big endinan MNC

   8   7   6   5   4   3   2   1
 +---+---+---+---+---+---+---+---+
 |  MCC digit 2  |  MCC digit 1  |  octet x
 +---------------+---------------+
 |    Filler     |  MCC digit 3  |  octet x+1
 +---------------+---------------+
 |  MNC digit 2  |  MNC digit 1  |  octet x+2
 +---------------+---------------+

 MNC of length 3:

   8   7   6   5   4   3   2   1
 +---+---+---+---+---+---+---+---+
 |  MCC digit 2  |  MCC digit 1  |  octet x
 +---------------+---------------+
 |  MNC digit 1  |  MCC digit 3  |  octet x+1
 +---------------+---------------+
 |  MNC digit 3  |  MNC digit 2  |  octet x+2
 +---------------+---------------+

From 3GPP TS 29.171
7.4.27 PLMN Identity

- digits 0 to 9, encoded 0000 to 1001,
- 1111 used as filler digit, two digits per octet,

- bits 4 to 1 of octet n encoding digit 2n-1
- bits 8 to 5 of octet n encoding digit 2n

The Selected PLMN identity consists of 3 digits from MCC followed by either
- a filler digit plus 2 digits from MNC (in case of 2 digit MNC) or
- 3 digits from MNC (in case of a 3 digit MNC).


(cherry picked from commit 156f9e81fc)
2020-10-29 10:07:09 +00:00
Huang Qiangxiong 1d6de11c49 Protobuf: fix bugs about field subdissector
Don't try to dissect bytes as string and show its value item if the
bytes field has a subdissector. And add field subdissector under field
item instead of value item.

close #16956


(cherry picked from commit 1c5d577d63)
2020-10-29 00:02:08 +00:00
Gerald Combs a1909f2343 Qt: Add a recent item for packet diagram field values.
Fixes #16957.


(cherry picked from commit b1d18e41db)
2020-10-28 20:22:45 +00:00