Commit Graph

78756 Commits

Author SHA1 Message Date
Jeff Widman 330fd5733c Add /*build*/ to .gitignore
A common pattern is to build the source artifacts within a *build* dir.

For example, the wiki instructions for [building `wireshark` on `macOS` specify to
create a `./build`
directory](https://gitlab.com/wireshark/wireshark/-/wikis/BuildingAndInstalling#macos):
```
mkdir build && cd build && cmake ../ && make
```

So this commit adds this directory to `.gitignore` to prevent
accidentally committing build artifacts.

The specific format `/*build*/` protects against the following:
1. The leading slash makes sure only top-level directories that match
this pattern are ignored.
2. The trailing slash makes sure that only directories (and not files)
are ignored.
3. The wildcards catch all the various variations on `build` folder name
that are used...
2020-09-27 21:36:15 +00:00
Martin Mathieson 08ab0e5d1f Fix some wrong filter names.
These were detected by running check_typed_item_calls.py
with --consecutive, which flags items that have different
labels but the same filter string.  Usually this is because
of copy/paste.

Quite a few similar bugs still exist, will address in a future commit.
2020-09-27 18:40:13 +00:00
Gerald Combs 2dd014f8f2 [Automatic update for 2020-09-27]
Update manuf, services enterprise numbers, translations, and other items.
2020-09-27 16:25:52 +00:00
Pascal Quantin 0b99248593 Windows: upgrade Npcap to 1.00 2020-09-27 14:22:19 +02:00
Gerald Combs d1f29ee338 Qt: Fix the packet diagram start offset arithmetic.
572c1ae5a3 introduced a bug that allowed for negative diagram item start
values. Fixup our arithmetic so that that doesn't happen.
2020-09-26 12:23:54 -07:00
Gerald Combs 8b9ec1b5a5 Qt: Reset the packet diagram between captures.
QGraphicsScene::clear() doesn't reset the scene's the size and scroll
position. This is useful when we switch between packets, but we should
do a hard reset when switching between captures.
2020-09-26 11:34:21 -07:00
Jeff Widman 8d7ebc732e Fix issues discovered by common python linters
Fix some issues discovered by common python linters including:
* switch `None` comparisons to use `is` rather than `==`. Identity !=
equality, and I've spent 40+ hours before tracking down a subtle bug
caused by exactly this issue. Note that this may introduce a problem if
one of the scripts is depending on this behavior, in which case the
comparison should be changed to `True`/`False` rather than `None`.
* Use `except Exception:` as bare `except:` statements have been
discouraged for years. Ideally for some of these we'd examine if there
were specific exceptions that should be caught, but for now I simply
caught all. Again, this could introduce very subtle behavioral changes
under Python 2, but IIUC, that was all fixed in Python 3, so safe to
move to `except Exception:`.
* Use more idiomatic `if not x in y`--> `if x not in y`
* Use more idiomatic 2 blank lines. I only did this at the beginning,
until I realized how overwhelming this was going to be to apply, then I
stopped.
* Add a TODO where an undefined function name is called, so will fail
whenever that code is run.
* Add more idiomatic spacing around `:`. This is also only partially
cleaned up, as I gave up when I saw how `asn2wrs.py` was clearly
infatuated with the construct.
* Various other small cleanups, removed some trailing whitespace and
improper indentation that wasn't a multiple of 4, etc.

There is still _much_ to do, but I haven't been heavily involved with
this project before, so thought this was a sufficient amount to put up
and see what the feedback is.

Linters that I have enabled which highlighted some of these issues
include:
* `pylint`
* `flake8`
* `pycodestyle`
2020-09-26 04:38:18 +00:00
Aurelien Aptel c5926c51e7 SMB2: add tests for chained compression and pattern_v1 2020-09-26 02:23:23 +00:00
Aurelien Aptel 3d94644dc8 SMB2: add new pattern_v1 decompression support
Simple decompression algorithm that encodes a single byte and the
number of times it is repeated.

This algorithm can only be used in chained compression packets.
2020-09-26 02:23:23 +00:00
Aurelien Aptel b0f5b2c174 SMB2: handle chained compression
The compression header "reserved" field is now a flags field.
If the flags have the CHAINED bit, the meaning of the offset field
changes and becomes a length field.

	  "old" compressed method:

	  [COMPRESS_TRANSFORM_HEADER with Flags=0]
	    [OPTIONAL UNCOMPRESSED DATA]
	    [COMPRESSED DATA]

	  new "chained" compressed method:

	  [fist 8 bytes of COMPRESS_TRANSFORM_HEADER with Flags=CHAINED]
	    [ sequence of
               [ COMPRESSION_PAYLOAD_HEADER ]
               [ COMPRESSED PAYLOAD ]
2020-09-26 02:23:23 +00:00
Aurelien Aptel b2fd5bcfb9 SMB2: stick the compress header items under the header tree
This makes it behave like the other headers.
2020-09-26 02:23:23 +00:00
Aurelien Aptel fed08cfd45 SMB2: label decompressed data as such and mark as generated 2020-09-26 02:23:23 +00:00
Martin Mathieson 906ead6993 Fix some more doc folder spelling errors. 2020-09-25 22:20:21 +01:00
Thomas Vogt acdaf33630 README.developer: Fix some quotation marks around function names 2020-09-25 15:29:14 +00:00
Martin Mathieson 6f49de2e65 SDAP: Show presence in configuration, and summary in root. 2020-09-25 13:22:37 +00:00
Tom Yan d0256f168a extract_asn1_from_spec.pl : fix export of S1AP 2020-09-25 07:37:25 +00:00
Gerald Combs 572c1ae5a3 Qt: Collapse packet diagram items correctly.
Move our overlap and gap adjustments to the first pass and offset our
item start bits based on our collapsed length. Collapse 64-bit items
correctly.
2020-09-25 00:57:58 +00:00
Gerald Combs 2722082171 docbook: Fix wiki links.
Add a trailing slash to the wireshark-wiki-url macro. Fixes #16871.
2020-09-24 22:24:10 +00:00
João Valverde ca43dace10 IPv6: Update SRH dissection to RFC8754
Implements [1]. Some code was intentionally simplified from the previous draft
implementation, pending some real-world motivation.

[1]https://datatracker.ietf.org/doc/rfc8754/
2020-09-24 18:08:01 +00:00
Martin Mathieson fc64ba242a More dissector spelling fixes. 2020-09-24 16:40:51 +00:00
Martin Mathieson b00a76d36b SDAP: Add some long help, and fix filter name. 2020-09-24 16:16:33 +01:00
Pascal Quantin 04873cc5ef NAS EPS: fix dissection of IPv6 PDN address
Closes #16870
2020-09-24 11:30:19 +00:00
Tom Yan 68f59bd1f4 extract_asn1_from_spec.pl : update comments 2020-09-24 09:18:13 +00:00
Pascal Quantin b562109562 extract_asn1_from_spec.pl: fix export of X2AP, NGAP, XnAP, E1AP and F1AP
And remove S1AP as it does not use the ASN1START/ASN1STOP keywords.
2020-09-24 07:09:43 +00:00
Xu c92ab1158e MAC-NR:for drb the lcid range is 4-32,lcid=3 corresponding srb3 2020-09-24 05:58:53 +00:00
Tom Yan 71223de4a3 Add : extract asn from (36|38)\.413|(36|38).423|38\.463|38\.473) 2020-09-24 05:33:59 +00:00
Alex Nik a6393f24b6 a defining the Filter Macros procedure is added plus screenshot
minor fixes after review

minor fixes after SME review

reduced the ws-filter-macros.png screenshot size
2020-09-23 20:09:12 +00:00
Gerald Combs dcc8bbaf9b BLIP: Update an expert item.
Generalize the decompression error field name and description.
2020-09-23 12:44:30 -07:00
Jim Borden 4a94842710 BLIP: Fix decompression buffer bug
Until now, mistakenly, the buffer for decompressing compressed BLIP messages
has been statically allocated as 16 Kb, but that is not valid behavior.
16 Kb is the maximum size of a _compressed_ frame.  In theory, due to the
ability to zipbomb, there is virtually no upper bound on what the maximum
size of an uncompressed frame could be.  However, to keep sanity, it has
been made into a preference with a reasonable default that is not likely to
be exceeded (64 Kb).  The behavior before for this was that wireshark would
crash because the dissector would return NULL for a decompressed buffer due
to error and then try to deference it later.  A null check has been added,
so that the behavior is now that the packet will show
'<Error decompressing message>' instead, and log why it couldn't handle the
compressed message.  Closes #16866.
2020-09-23 19:36:10 +00:00
Alexis La Goutte b2380385a3 DHCP: Update Captive-Portal to RFC8910
now using code 114 (some conflict with code 160 and Polycom device)
2020-09-23 06:29:38 +00:00
Tom Yan 6387fd7729 X2AP : fix id-Target-SgNB-ID registered to wrong type 2020-09-23 05:55:21 +00:00
Gerald Combs 103d9140ae Kafka: Check returned offsets.
dissect_kafka_regular_bytes might return -1, so handle that in
dissect_kafka_message_old. Closes #16784.
2020-09-23 05:13:16 +00:00
Guy Harris 99f6ac1969 ncp: fix handling of NDS List requests and replies.
In requests:

There appear to be 2 bytes of unknown data (typically 0) after the
2-byte Request Flags field (are they just 2 bytes of additional flags?).
Skip past them before dissecting the iterator.

If there are no bytes remaining in the packet after the parent ID, stop
dissecting; some packets seem to stop there.  For those requests, assume
that the response will contain :

	entry ID;
	entry flags;
	subordinate count;
	modification time;
	base class;
	relative distinguished name;

although the last of those might be something else (it appears to be of
the form "CN={name}").

In replies:

For each returned entry, if the requested field flags in the request had
the DSI_OUTPUT_FIELDS bit set, fetch the returned field flags and use
that to determine what fields are present; otherwise, use the requested
field flags.
2020-09-22 19:57:52 -07:00
Gerald Combs d3c1f31439 Windows: Switch to Qt 5.15.1.
Switch the Windows GitLab runner and Buildbot builders to Qt 5.15.1. Qt
5.15 includes HiDPI and dark mode improvements that we might find
useful.
2020-09-22 16:35:55 -07:00
Guy Harris e487575362 ncp: fix setting elements of an ncp_record structure.
In dissect_nds_request():

Fill in fieds of the ncp_record structure only on the first pass; once
the first pass is complete, the structure's fully filled in.

That fixes cases where NDS replies aren't fully dissected because the
NDS verb isn't added to the ncp_record structure when the request is
dissected.

Fill in elements as soon as we have the value needed to fill it in, so
that it's filled in even if we throw an exception later, and so that
it's filled in only if we have the value in the packet, so that a valid
value isn't overwritten by a later packet that doesn't have the value.

This fixes cases where, in the second pass, NDS replies aren't fully
dissected because the NDS verb is overwritten in the ncp_record
structure when a continuation of the request is dissected.

Note that we should perhaps make the object_name field a pointer to a
wmem-allocated string, so that NULL can indicate "not set, hence not
known".
2020-09-22 10:47:43 -07:00
Alexis La Goutte 8201285759 EAP: Avoid to inscrement offset on proto_tree_add_item function 2020-09-22 11:20:09 +00:00
Tom Yan b746222896 X2AP : fix a typo 2020-09-22 10:26:00 +00:00
Ameya Deshpande 3ec16de87b USBLL: Code commenting and alignment
Following changes in the file:
1. Explain usbll_address_t and usbll_data_t.
2. Grouping header fields belonging to the same type of packets.
3. Removed unnecessary condition check for usbll_data pointer
   in dissect_usbll_data function.
4. Brief comments on the Macros.
5. Correct code indentation at a few places.

Signed-off-by: Ameya Deshpande <ameyanrd@outlook.com>
2020-09-22 07:30:11 +00:00
Gerald Combs ddd3910709 IPv6: Fix the bit lengths of top-level items.
Fix the bit lengths of the Version, Traffic Class, and Flow Label fields
so that they display correctly in the packet diagram.
2020-09-22 05:51:16 +00:00
Gerald Combs 1e2e32f8ab MySQL: Fixup connection data initialization.
Just use wmem_new0 instead of trying to initialize struct members
by hand. Closes #16854.
2020-09-22 05:32:52 +00:00
Gerald Combs 2b3e666a16 SSH: Fix some warnings.
Set a maximum key length and make sure we don't exceed it. Make sure
we're checking the prefixes of valid strings. Closes #16794.
2020-09-22 05:12:18 +00:00
Guy Harris af83d476dc ncp: add some XXX comments. 2020-09-21 23:20:33 +00:00
Gerald Combs 586121fad4 Shellcheck fixes.
Note that ChmodBPF requires a newer version of shellcheck. Fix an issue
found after upgrading to 0.7.1.
2020-09-21 22:09:13 +00:00
Guy Harris dde6261626 nds: use DSI_ #defines in case statement.
Use the DSI_ defines, rather than the raw hex values for bits, to make
it clearer what's being tested.

Make all of the DSI_ #defines, rather than just some of them, unsigned.
2020-09-21 14:27:15 -07:00
Aurelien Aptel 2af134ad2e SMB2: dissect new signing capability negotiate context
Dissect still-undocumented new context used by latest Windows Server
builds, as explained by MSFT engineers during SDC 2020 plugfest.
2020-09-21 22:06:16 +02:00
Mikael Kanstrup 2a3f9d2789 Add a few EAP dissectors 2020-09-21 15:05:05 +00:00
Basak Kalfa 91418775aa PROFINET: IOCS and IOData object dissection with Multi AR
when a new AR is established between devices which already
has another AR, same station_info was used and it caused wrong
dissection problem of IOCS and IOData objects of related AR.
In order to fix problem, new struct is added in order to match
station_info and corresponding ARs. New struct is used for
keeping ARUUID, related inputCR and outputCR frame IDs and
setup/release frame numbers of ARs. ARUUID's are used for
adding station_info data to their corresponding conversations.
If matching ARUUID and Frame IDs are found in RTC frame
dissection, then corresponding IOCS and IOData objects are
dissected.
2020-09-21 12:54:12 +00:00
Martin Kaiser 41e6b2f2ae ecmp: fix dissection of file_info request
Playing with the sample capture from bugzilla bug 10562, dissection of
packet 491 (ecmp file_info request) brought up an expert info about a
malformed packet.

The request contains a list of requested attributes. For each attribute,
only the attribute ID is part of the request. The current code tries to
dissect each attribute, this fails when we only have a list of
attribute IDs...

Add a subtree for the list of IDs (and the length of that list).

While at it, remove some unnecessary variable initializers.
2020-09-21 05:20:58 +00:00
Jeff Widman bf0a6c8bd9 typo: replaceing--> replacing 2020-09-20 15:07:21 -07:00
Guy Harris a734de58a6 ncp: put the information flags and entry flags in the right place.
Everything else is put into a subtree; put them in the subtree as well.
2020-09-20 14:34:55 -07:00