Commit Graph

84006 Commits

Author SHA1 Message Date
Gerald Combs 5971fcb941 Qt: Remove some unused code. 2022-04-04 21:05:17 +00:00
Gerald Combs a212b86222 Docbook: Update the Logwolf quick start.
Fix some spelling errors and paths.
2022-04-04 20:43:59 +00:00
João Valverde 330d408328 dfilter: Allow arithmetic expressions without spaces
To allow an arithmetic expressions without spaces, such as "1+2",
we cannot match the expression in other lexical rules using "+". Because
of longest match this becomes the token LITERAL or UNPARSED with semantic value
"1+2". The same goes for all the other arithmetic operators.

So we need to remove [+-*/%] from "word chars" and add very specific
patterns (that won't mistakenly match an arithmetic expression) for
those literal or unparsed tokens we want to support using these characters.
The plus was not a problem but right slash is used for CIDR, minus for
mac address separator, etc.

There are still some corner case. 11-22-33-44-55-66 is a mac
address and not the arithmetic expression with six terms "eleven
minus twenty two minus etc." (if we ever support more than two terms
in the grammar, which we don't currently).

We lift some patterns from the flex manual to match on IPv4 and
IPv6 (ugly) and add MAC address.

Other hypothetical literal lexical values using [+-*/%] are already
supported enclosed in angle brackets but the cases of MAC/IPv4/IPv6 are
are very common and moreover we need to do the utmost to not break backward
compatibily here.

Before:
    $ dftest "_ws.ftypes.int32 == 1+2"
    dftest: "1+2" is not a valid number.

After:
    $ dftest "_ws.ftypes.int32 == 1+2"
    Filter: _ws.ftypes.int32 == 1+2

    Instructions:
    00000 READ_TREE		_ws.ftypes.int32 -> reg#0
    00001 IF_FALSE_GOTO	4
    00002 ADD		1 <FT_INT32> + 2 <FT_INT32> -> reg#1
    00003 ANY_EQ		reg#0 == reg#1
    00004 RETURN
2022-04-04 20:28:55 +00:00
João Valverde 34ad6bb478 dfilter: Make logical AND higher precedence than logical OR
In most, if not all, programming languages logical AND has
higher precedence than logical OR. Apply the principle of
least surprise and do the same for Wireshark display
filters.

Before: ip and tcp or udp => ip and (tcp or udp)

    Filter: ip and tcp or udp

    Instructions:
    00000 CHECK_EXISTS	ip
    00001 IF_FALSE_GOTO	5
    00002 CHECK_EXISTS	tcp
    00003 IF_TRUE_GOTO	5
    00004 CHECK_EXISTS	udp
    00005 RETURN

After: ip and tcp or udp => (ip and tcp) or udp

    Filter: ip and tcp or udp

    Instructions:
    00000 CHECK_EXISTS	ip
    00001 IF_FALSE_GOTO	4
    00002 CHECK_EXISTS	tcp
    00003 IF_TRUE_GOTO	5
    00004 CHECK_EXISTS	udp
    00005 RETURN
2022-04-04 19:51:38 +00:00
Gerald Combs 167d44ea6d CMake+packaging: Create our macOS Frameworks directory in osx-app.sh. 2022-04-04 09:39:27 -07:00
Gerald Combs 211353c873 CMake+packaging: Add a logwolf_app_bundle target.
Add a logwolf_app_bundle target and update osx-app.sh to handle
different application bundle names.
2022-04-04 09:39:27 -07:00
Gerald Combs 5c769757ff Docbook: Add a Logwolf quick start. 2022-04-04 09:39:27 -07:00
Gerald Combs 5d3ffe9b57 More Logshark to Logwolf renaming. 2022-04-04 09:39:27 -07:00
Gerald Combs 9ec6b50027 Rename ui/qt_logshark to ui/qt_logwolf. 2022-04-04 09:39:27 -07:00
Gerald Combs b153f040fc Qt: Start renaming Logshark to Logwolf.
Rename LogsharkApplication to LogwolfApplication. Rename other Logshark
references in ui/qt_logshark to Logwolf. Update our CMake target and
variable names.
2022-04-04 09:39:27 -07:00
Gerald Combs 3086774fa6 wsutil: Add configuration namespaces.
Rename init_progfile_dir to configuration_init. Add an argument which
specifies our configuration namespace, which can be "Wireshark"
(default) or "Logwolf".
2022-04-04 09:39:27 -07:00
Gerald Combs 6d2ab6900f Qt: Dynamically set our "Welcome to" banner in WelcomePage. 2022-04-04 09:39:27 -07:00
Gerald Combs dceffb8e56 Qt: Remove telephony and wireless code from Logwolf.
Remove the Telephony menu and associated code and dependencies from
LogWolf. Remove the remaining wireless code as well.
2022-04-04 09:39:27 -07:00
Gerald Combs d8008cb89e Qt: Split MainWindow into WiresharkMainWindow and LogwolfMainWindow.
Rename the main_window class and UIC files to wireshark_main_window and
the MainWindow class to WiresharkMainWindow. Copy wireshark_main_window
/ WiresharkMainWindow to logwolf_main_window / LogwolfMainWindow.

Remove the Wireless menu from Logwolf.
2022-04-04 09:39:27 -07:00
Gerald Combs 80de95ca71 Qt: Split MainApplication out from WiresharkApplication.
Move WiresharkApplication.{cpp,h} to MainApplication.{cpp,h}. Add back
WiresharkApplication as a thin superclass of MainApplication, similar to
LogsharkApplication. Change all of our wsApp references to mainApp. We
will likely have to change many or most of them back, but that's a
commit for another time.
2022-04-04 09:39:27 -07:00
Loris Degioanni ca426d68a9 add hide read only button 2022-04-04 09:39:26 -07:00
Gerald Combs 245f988e9e Logshark: Add initial UI.
Add a separate UI application named "Logshark". It's currently a very
thin superclass of Wireshark, but that will change over time. Based on
work by Loris Degioanni.
2022-04-04 09:39:26 -07:00
Gerald Combs 2fdf85c6eb Create Wireshark and Logshark info plists.
Rename Info.plist.in to WiresharkInfo.plist.in and copy it to
LogsharkInfo.plist.in.
2022-04-04 09:39:26 -07:00
Martin Mathieson ffba3dd487 RLC-NR: Don't overwrite SDAP config from RRC with 0. 2022-04-04 10:50:28 +00:00
João Valverde 5a81675009 colorfilters: Rewrite some expressions
Rewrite for simplicity and efficiency, does not change meaning.
2022-04-04 02:22:22 +00:00
João Valverde 70582b84f6 dfilter: Allow parsing binary number as a byte array of len 1
Before:

    Filter: eth[0] == 0b00110011

    Instructions:
    00000 READ_TREE		eth -> reg#0
    00001 IF_FALSE_GOTO	4
    00002 MK_RANGE		reg#0[reg#1] -> 0:1
    00003 ANY_EQ		reg#1 == 0b:00:11:00:11 <FT_BYTES>
    00004 RETURN

After:

    Filter: eth[0] == 0b00110011

    Instructions:
    00000 READ_TREE		eth -> reg#0
    00001 IF_FALSE_GOTO	4
    00002 MK_RANGE		reg#0[reg#1] -> 0:1
    00003 ANY_EQ		reg#1 == 33 <FT_BYTES>
    00004 RETURN
2022-04-04 02:02:58 +00:00
João Valverde fbd32cf853 Replace g_log() calls with ws_log() 2022-04-04 01:33:58 +00:00
John Thacker ac7583c065 tpkt+rdp: Add a heuristic dissector for TPKT for RDP
Port 3389 is IANA assigned for RDP, but on TCP it can appear over
TPKT with or without underlying TLS, depending on the RDP Security
Settings. Add a heuristic dissector for TPKT. The heuristic is a
little weak so disable it by default for the general case, but
register it as a PINO specifically for the IANA assigned port.

On port 3389, by default Wireshark now tries heuristics for TPKT
and TLS (ordering depending on whether "Try heuristic sub-dissectors
first" is enabled for TCP). Once it finds a packet that passes
the heuristics, it sets the conversation dissector and from then
on will desegment/report Continuation Data as appropriate. This
is nicer than having to manually configure Decode As for RDP
standard encryption (without TLS). Related to #17952, #17437.
2022-04-03 19:02:47 +00:00
Matthias Dietrich ea39653c8d PROFINET: Support PROFIsafe 5 byte safety trailer
Calculate the safety IO data length based on the
safety trailer length, which is given by the
F-Parameter F_CRC_Seed.
2022-04-03 18:49:20 +00:00
Gerald Combs 381ba88152 [Automatic update for 2022-04-03]
Update manuf, services enterprise numbers, translations, and other items.
2022-04-03 16:43:35 +00:00
Stig Bjørlykke 16871f66d7 coap: Change text format used in COL_INFO
Change to use format_text() and format_text_string() on strings
used in COL_INFO to explicitly show '\n' and such.
2022-04-03 12:07:33 +02:00
João Valverde f0ca30b60b dfilter: More arithmetic fixes
Fix a failed assertion with constant arithmetic expressions.

Because we do not parse constants on the lexical level it is
more complicated to handle constant expressions with unparsed
values.

We need to handle missing type information gracefully for any
kind of arithmetic expression, not just unary minus.
2022-04-02 18:10:33 +00:00
Dylan Ulis df5941d467 debian: add ccache to additional_list packages 2022-04-02 17:39:08 +00:00
Jiří Engelthaler 248f11dd1b Qt: Fix interface statistics update if some interfaces are hidden
Closes issue #18023
2022-04-02 16:43:15 +00:00
Martin Mathieson 6065552dd4 Skinny: revert previous change 2022-04-02 15:05:40 +00:00
John Thacker 6dfd96f6fe rdp: Register RDP as a TLS subdissector for port 3389 directly
ssl_dissector_add registers TLS as the dissector for TCP for the given
port. We can't use it, since on port 3389 TPKT (for RDP) can be over TLS
or directly over TCP, depending on the RDP security settings.
Fix #17952.
2022-04-02 07:47:07 -04:00
Martin Mathieson cf629e2547 ZBNCP: Fix some filter names. 2022-04-02 11:21:14 +00:00
Dylan Ulis 436abf4cf7 CIP: Show Attribute ID as decimal 2022-04-01 20:01:53 +00:00
Nan Xiao 1997a86634 EVS: Refactor dissecting compact format code 2022-04-01 19:32:34 +00:00
João Valverde 67e5e5c3ab dfilter: Fix arithmetic expressions on the LHS
Filter: _ws.ftypes.framenum % 3 == 0

Instructions:
00000 READ_TREE		_ws.ftypes.framenum -> reg#0
00001 IF_FALSE_GOTO	4
00002 MODULO		reg#0 % 3 <FT_FRAMENUM> -> reg#1
00003 ANY_EQ		reg#1 == 0 <FT_FRAMENUM>
00004 RETURN
2022-04-01 14:33:38 +01:00
John Thacker 856cd96bb3 http2: Use the actual maximum table size for partial header workaround
Use the actual maximum table table size, which may have been set to
a value other than the default 4096, to fill the table with dummy
entries. Fix #17936
2022-04-01 12:10:48 +00:00
Stig Bjørlykke e6202cf1d9 coap: Format text used in COL_INFO
Use format_text_wsp() on strings from packet used in COL_INFO to
show non-printable characters as C-style escapes.
2022-04-01 12:42:58 +02:00
Dylan Ulis f23a774819 CIP: Correct DATE type handling 2022-04-01 07:13:56 +00:00
João Valverde 7b4ec1bd88 Docs: Add new display filter syntax to the manpage. 2022-04-01 07:22:22 +01:00
João Valverde 15cc673c8e Fix release notes 2022-03-31 23:56:33 +01:00
João Valverde a81617fda5 Fix build on CentOS 7
CentOS 7 has an old version of GCC that lacks support for C11
macro generics.
2022-03-31 19:48:48 +00:00
Jirka Novak 8b737033b0 RTP Analysis dialog: Update statistics when data are processed
Fixes #18018
2022-03-31 19:25:10 +00:00
Dror Eiger af716cdb4a Geneve: add parsing of GCP options 2022-03-31 19:05:56 +00:00
João Valverde 74d385548e Fix comment 2022-03-31 17:46:38 +01:00
João Valverde 8bc214b5bb dfilter: Add remaining arithmetic integer ops 2022-03-31 16:49:42 +01:00
João Valverde d54e22b872 safe-math: Remove unnecessary clutter 2022-03-31 15:49:43 +01:00
João Valverde e15658d1c0 safe-math: Fix non-existent built-ins
Divison and modulo are not built-ins implemented by GCC or Clang.

Replace the spurious macro definition with the internal implementation.
2022-03-31 15:49:43 +01:00
Nardi Ivan 85aa5939f1 NNTP: fix indentation 2022-03-31 15:21:02 +02:00
Nardi Ivan 88840f61a2 NNTP: add support for STARTTLS
Close #18020
2022-03-31 15:04:58 +02:00
Dario Lombardo 45268efd0a
debian: add missing symbol. 2022-03-31 14:08:18 +02:00