The syntax
if [ <test> ]; then
...
fi
isn't what one might think. The way that works is that "[" is a
command; it's an alias for "test", except that if it's involked as "["
rather than as "test", it expects there to be a token "]" at the end, so
that the test expression is enclosed in square brackets. (This dates
back all the way to, I think, V7, although the link from "/bin/test" to
"/bin/[" wasn't documented at that point.)
This means that the "]" must have white space before it, so it's a
separate token.
[skip ci]
error: conversion function from 'gchar *' (aka 'char *') to 'QVariant' invokes a deleted function
return entry->hostname;
^~~~~~~~~~~~~~~
/usr/include/qt6/QtCore/qvariant.h:199:5: note: 'QVariant<char *, false>' has been explicitly marked deleted here
QVariant(T) = delete;
^
Follow up to !8151
Calls to setData are wrapped with beginResetModel/endResetModel
so don't call emit dataChanged() (per Qt suggestion)
Fixes "As the loop is worked, the size of the parents shrinks
with each item processed."
In section 6.5.2.3 ("PTK and GTK Installation Flow"), the Wi-SUN
specification says that the second message in 4 way handshake must have
these properties:
Descriptor Type = 2
Key Information:
1. Key Descriptor Version = 2
2. Key Type = 1 (Pairwise)
3. Install = 0
4. Key Ack = 0
5. Key MIC = 1
6. Secure = 0
7. Error = 0
8. Request = 0
9. Encrypted Key Data = 0
10. SMK Message = 0
11. Reserved = 0
Key Length = 0
Key Replay Counter = see [IEEE802.11] section 11.6.2.
Key Nonce = SUP generated SNonce
EAPOL-Key IV = 0
Key RSC = 0
Key MIC = MIC(KCK, EAPOL) computed over the body of this EAPOL-Key frame
with the Key MIC field first initialized to 0.
Key Data Length = 0
Key Data = none
Thus, until now, the message 2/4 of 4 way handshake was identified as
message 4/4.
packet-ieee80211.c has the IEEE 802.11w-2009 class
indication lookup table included already but it's only
used to resolve the WFA HS2.0 OCI attribute when it
could also be used to resolve beacon/probe response tag
59. Adding that resolution and renaming the RVAL struct
from hs20_oper_class_rvals to simply oper_class_rvals.
Closes#18389
The lun value is stored in the tree on the first pass. Do
the lookup when it's not the first pass.
Also add the display filter to the SRT table so that the GUI
generated filters work properly.
Fix#16084.
Set a minimum width for the stream and substream number spinboxes in the
"Follow" and "TCP Stream Graphs" dialogs. This provides a larger click
target and should make editing easier.
Fixes#18265.
For PFCP session tracking (off by default), there's a mapping
from <SEID, ADDRESS> to frame numbers. The current implementation
is a tree (converting the address to a string for keys) of linked
lists of the SEIDs. That gets very slow when there's a large number
of SEIDs. Convert it to a map that uses the seid and address,
with the SEID used for the hash.
There's still a reverse lookup (foreach_remove) when SEIDs are reused
or sessions fail, but this still yields over a 10x speedup on a
few moderate sized test files (~50000 PFCP packets).
See 1ccf4f3c for reference
The session table maps frames (which are 32 bit uints that
start at 1) to sessions (which are also 32 bit uints that
start at 1), so use GUINT_TO_POINTER and the direct hash
functions instead of creating extra file scope pointers.
see 8129b9de for reference
Add some new protocol functions, which needed changes in the existing
structure of the parameter part.
New protocol functions are USEND, AR_SEND, and a basic dissection of
Data record routing. Changed detection of mode transition events. USEND
and mode transition events need a special handling (it's all reverse
engineered, so it's still not 100 percent correct).
Renamed "Prog" to "TIS" (Test and installation), and "Push" to
"Indication" to use some of the official terminology.
Cleanup of comments due to the changes, and remove some obvious ones.
The TRANSUM post-dissector performs timing analysis, and does not
dissect any of the packet data; all its calls to `proto_tree_add_foo()`
claim 0 bytes. So this fix claims 0 bytes for the overall TRANSUM
protocol tree as well.
Fixes#18241
Use a better pattern than formatting the string for display
multiple times.
Code is cleaner avoids wasteful calls to format_text() that can be
slightly expensive.
In some cases it might not have exactly the same whitespace semantics
for the column info (escape vs replace) but that's OK.
This field display type formats the representation string of
FT_STRING by replacing all space character with ' '.
Instead of "A line end\n" it will output "A line end ".
This allows cleaner code using proto_tree_add_item() and
avoids the problematic pattern
proto_tree_add_string(..., tvb_format_text_wsp(...));
because we only want to affect the way the string value is displayed,
not the actual field value stored.
Add a command line option --log-fatal-domains= and environment variable
WIRESHARK_LOG_FATAL_DOMAINS that aborts the programs if a domain in
the list is logged to.
Negative matches for fatal log domains not implemented for now,
pending a relevant use-case.
For some programs (e.g: unit tests) we want to init the logging
subsystem but having to pass an error output handler is overkill
and annoying.
In that case with a NULL handler printing to stderr by default is
almost certainly the best thing to do.
Using a warning is probably too exalted for the current state
of the code, where UTF-8 errors are somewhat expected from
dissectors that are lax about input validation.
Use a debug level with its own "UTF-8" domain instead.
Using a dedicated domain allows to filter on encoding errors and
with some enhancements to the logging subsystem make them fatal
for tracking and debugging purposes.
Using a dedicated domain might have other drawbacks but for now
it seems like the best approach.
The optional Authorized UE-AMBR for Uplink and Downlink
fields in UE-AMBR were never getting dissected.
Also, the trees and tree description for the UE-AMBR and
APN-AMBR with NSAPI IEs were swapped.
When the ability to dispatch GSMTAP E1/T1 frames to the LAPD dissector
was merged in August 2020, a recent July 2020 change earlier has
restructured and renamed the lapd dissector. So at the time the GSMTAP
support for LAPD was added, the dissector was no longer called 'lapd'
and hence it never worked.
commit 75c739e4b7
Author: Guy Harris <gharris@sonic.net>
Date: Sat Jul 25 02:20:10 2020 -0700
ISDN, LAPD: clean up the way they connect to other dissectors.
commit 132d6ec70b
Author: Harald Welte <laforge@osmocom.org>
Date: Thu Aug 20 19:11:58 2020 +0200
Let's fix this by properly dispatching the LAPD frames from GSMTAP.