Fix clock accuracy field offset in the sync info information in the
extended advertising header.
The field was placed at offset 4 instead of the current offset + 4.
Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
Use PACK_FLAGS_DIRECTION() rather than making with
PACK_FLAGS_DIRECTION_MASK. They happen to be at the bottom of the flags
option, so no shifing is needed, but it's cleaner to use the macro.
Make the packet flags variable local to the code that uses it, and fix
indentation (don't use tabs - they're not used elsewhere), while we're
at it.
1. Extract Method: validate_crc_s5 - Combine various copy-pasted
sections.
2. For CRC S5 failures, it would previously show the failure as part of
CRC S5_2, which is misleading. Now, show the failure as part of the
overall status.
This patch allows CAN frames coming in over SocketCAN and TECMP to be
differentiated in order to follow up with different parsing in the
Signal PDU dissector et. al.
This patch adds first support for FlexRay TP based on the AUTOSAR
specification including FlexRay addressing.
The special message types (0x4 - 0x7) are only prepared but not added
byt this patch.
Since typically multiple LINs are used in parallel the IDs of the
small ID space are reused. This patch adds support for handling
multiple LIN ID spaces in parallel.
1. New EtherNet/IP commands and Common Packet Formats
2. CIP Security: Attributes (These go better in enip vs cip dissector)
3. TCP/IP object: Improve existing attribute parsing
4. Certificate Management Object: Attribute
5. Add units for some existing types
6. Correct hf_ size mismatch
This utility function is useful outside of epan. Move it to wsutil
and export the interface.
The move isn't completely clean as it requires duplicating two small
inline functions but that was necessary to avoiding moving too much at
once.
As requested [here][1], help with replacing calls to
`wmem_packet_scope()` with references to `pinfo->pool`.
My principles were:
* Plugins chosen semi-randomly.
* When a calling function already has a `pinfo` argument, just use that.
* Remove `_U_` from its signature if it was there.
* Don't go more than 2 or 3 levels deep of changing signatures.
* If a function is clearly allocing memory to return, change the
function signature to take a `wmem_allocator_t *`. Otherwise, either
that or take a `packet_info *` as seems to make sense.
* No mention of `wmem_packet_scope()` should remain in the files I've
touched.
* I didn't always succeed at this, but I made a dent.
[1]: https://www.wireshark.org/lists/wireshark-dev/202107/msg00052.html
1. Connection Manager parameter is called 'Redundant Owner' instead of 'Exclusive'
2. Add new CIP Class Names
3. Support new time types: UTIME, STIME, NTIME
4. Add units to data type
This significantly reduces boilerplate required for adding fields.
The changes to SMSG_CHAR_CREATE from ENC_LITTLE_ENDIAN to ENC_NA are
intentional, as are the changes to CMSG_CHAR_RENAME from realm_name to
character_name.
Part 2/2 as the commits were too big for CI.
Largely find/replace, with a few manual tweaks. Then regenerate the asn1
dissector sources and make sure everything still builds. There are a
handful of cases I skipped as too complex, but this covers most of the
asn1 dissectors.
Part 1/2 as the commits were too big for CI.
Largely find/replace, with a few manual tweaks. Then regenerate the asn1
dissector sources and make sure everything still builds. There are a
handful of cases I skipped as too complex, but this covers most of the
asn1 dissectors.
We have two format_size()s, with and without wmem scoped memory.
Move the wmem version to wsutil and add a convenience macro to
use g_malloc()ed memory.
This header was installed incorrectly to epan/wmem_scopes.h.
Instead of creating additional installation rules for a single
header in a subfolder (kept for backward compatibility) just
rename the standard "epan/wmem/wmem.h" include to
"epan/wmem_scopes.h" and fix the documentation.
Now the header is installed *correctly* to epan/wmem_scopes.h.
This allows wmem to be used from other libraries, namely wsutil.
It is often the case that a funtion exists in wsutil and cannot
be used with a wmem scope, requiring some code duplication or
extra memory allocations, or vice-versa, code in epan cannot be
moved to wsutil because it has a wmem dependency.
To this end wmem is moved to wsutil. Scope management remains part
of epan because those scope semantics are specific to dissection.
For better or worse, currently, if you have a field that is broken into
bitfields, the top-level field must be integral, so the entire field's
value is shown. A case could be made that FT_NONE should be supported,
but that's not the case now.
Fixes issue #17505.
Since it is (more or less) impossible to know exactly how many messages
are in a PDU we don't know how many times to increment the session key
index, meaning we might decrypt incorrectly.
To prevent this we freeze the decryption of server messages when we meet
an undecryptable message.
1. Move some fields under additional tree nodes, to match the
struct names in the spec.
2. Parse data in order. Previously, some sections were parsed
out of order, which is confusing in the tree output.
3. Improve comments/documentation to match wording in the spec
4. Remove temp_data variables and replace with actual names.
Looking at the handover between eCPRI and ORAN FH CUS
dissectors. Not sure that preference for calling
ORAN and eCPRI's cursory handling of message types
0 and 2 are still appropriate.
Automated find/replace of wmem_packet_scope() with pinfo->pool in all
files where it didn't cause a build failure.
I also tweaked a few of the docs which got caught up.
The protocol is a continuation of the WOW protocol occuring between the
world server and the client (as opposed to the login server and the
client).
The first two opcodes are unencrypted and perform setup for the
encryption.
The encryption was setup in the WOW protocol through SRP6.
Using the session key for encryption like this is not part of the SRP6
protocol.
All other opcodes are encrypted using the session key, which will need
to be deduced first.
Fixes a potential buffer overflow issue in string_unescape() with a redesign
to be more robust against invalid input.
It makes use of wmem_strbuf API now.
Closes#17475
Column info is tuned for better readability. It containes CAN ID and Length.
The same applies to protocol item within protocol tree.
Entire packet data (payload) should not be printed to column info by default.
So this behaviour is removed.
Per mailing list discussion:
https://www.wireshark.org/lists/wireshark-dev/202107/msg00030.html
Long-term we want to get rid of the wmem_*_scope globals in favour of
passing wmem pools around. Step one is to replace all reasonable uses of
wmem_packet_scope() with pinfo->pool which has effectively the same
lifespan. This converts the TCP dissector as a proof of concept. TCP is
a common enough protocol this should stress-test the idea fairly well.
* The next_byte variable is taken before the pointer moved forward, this lead
to stop parsing get request packets when object is 0. This commit fixes it.
Signed-off-by: Arkady Gilinsky <8351139-ark-g@users.noreply.gitlab.com>
Introduces two new dissector tables can.id and can.extended_id to enable a
more precise control of subdissectors dependent on the can id which is often
used to identify the the payload.
Since standard CAN IDs and extended IDs can be used in the same network and
their ranges overlap it is necessary to have two different dissector tables.
Existing Decode as dissector table can.subdissector stays as is to prevent a
breaking change. But new dissector tables can.id and can.extended_id get
priority over can.subdissector since they are more specific. Id they get a
match can.subdissector won't be called.
New dissector tables can.id and can.extended_id are accessible in lua scripts
via DissectorTable:add() while can.subdissector unfortunately is not.
For related Discussion see MR !3405
We use some private functions from MIT kerberos:
- krb5_free_enc_tkt_part()
- decode_krb5_enc_tkt_part()
- encode_krb5_enc_tkt_part()
but we already do that for krb5int_c_mandatory_cksumtype(),
which is newer than the above functions.
We use all of them only under HAVE_KRB5_PAC_VERIFY,
so we don't seem to need additional configure tests.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
This patch adds support for LIN (Local Interconnect Network) as
well as support for:
- Signal PDUs on LIN
- ISO 15765 (ISO TP) on LIN
- TECMP transported LIN is handle like LIN
LIN is a simple automotive fieldbus to connect for example simple
sensors and actuators to an electronic control unit.
Mark wsutil's includes SYSTEM PRIVATE. This exposed a lot of targets
that were indirectly picking up include paths via the wsutil target, so
add direct includes where needed. The G.722 and G.726 codecs were
implicilty including tiffio.h; find it explicitly instead.
Mark some of wsutil's libraries PRIVATE, but leave commonly-used ones
PUBLIC.
Ping #17477.