Skip to content

Bugfix: Support multiple messages for the same Event ID#31

Merged
scudette merged 4 commits intomasterfrom
multiplemessages
Jan 17, 2025
Merged

Bugfix: Support multiple messages for the same Event ID#31
scudette merged 4 commits intomasterfrom
multiplemessages

Conversation

@scudette
Copy link
Copy Markdown
Contributor

Some event ID have multiple messages stored in the message lists - these are generally designed for events which have different number of properties. So for example the message file might contain two messages for the same event id, one with 1 expansion and one with 2 expansions. Then the application might emit an event to the log file with 2 properties or only 1 property of the same event id.

This pr stores both the messages and the number of expasions in the message set and is able to select the most appropriate one for each message - we aim to maximize the number of expasions available in the message string.

Some event ID have multiple messages stored in the message lists -
these are generally designed for events which have different number of
properties. So for example the message file might contain two messages
for the same event id, one with 1 expansion and one with 2
expansions. Then the application might emit an event to the log file
with 2 properties or only 1 property of the same event id.

This pr stores both the messages and the number of expasions in the
message set and is able to select the most appropriate one for each
message - we aim to maximize the number of expasions available in the
message string.
@scudette scudette merged commit e5cd153 into master Jan 17, 2025
@scudette scudette deleted the multiplemessages branch January 17, 2025 00:59
maximelb added a commit to refractionPOINT/evtx that referenced this pull request Aug 12, 2025
* Bugfix: When parsed within a template BinXMLElementStart is not same (Velocidex#30)

The struct layout is a bit different when parsed within a template or
not. Typically events forwarded from a different system do not have a
template interpolated so they will trigger this bug.

Dependency identifier is optional:
https://github.com/libyal/libevtx/blob/main/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc#414-element-start

* Bugfix: Support multiple messages for the same Event ID (Velocidex#31)

Some event ID have multiple messages stored in the message lists - these
are generally designed for events which have different number of
properties. So for example the message file might contain two messages
for the same event id, one with 1 expansion and one with 2 expansions.
Then the application might emit an event to the log file with 2
properties or only 1 property of the same event id.

This pr stores both the messages and the number of expasions in the
message set and is able to select the most appropriate one for each
message - we aim to maximize the number of expasions available in the
message string.

* add chunk header LastEventRecOffset (Velocidex#32)

Added the 'Last event record data offset' field to the Chunk Header
because the data is present there.

Reference:
https://github.com/libyal/libevtx/blob/main/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc#31-chunk-header

* Bugfix: Substitution token should not parse XML in template context (Velocidex#34)

Fixes: Velocidex#33

---------

Co-authored-by: Mike Cohen <scudette@users.noreply.github.com>
Co-authored-by: dora <dora.cpphp@gmail.com>
maximelb added a commit to refractionPOINT/evtx that referenced this pull request Aug 21, 2025
* Bugfix: When parsed within a template BinXMLElementStart is not same (Velocidex#30)

The struct layout is a bit different when parsed within a template or
not. Typically events forwarded from a different system do not have a
template interpolated so they will trigger this bug.

Dependency identifier is optional:
https://github.com/libyal/libevtx/blob/main/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc#414-element-start

* Bugfix: Support multiple messages for the same Event ID (Velocidex#31)

Some event ID have multiple messages stored in the message lists - these
are generally designed for events which have different number of
properties. So for example the message file might contain two messages
for the same event id, one with 1 expansion and one with 2 expansions.
Then the application might emit an event to the log file with 2
properties or only 1 property of the same event id.

This pr stores both the messages and the number of expasions in the
message set and is able to select the most appropriate one for each
message - we aim to maximize the number of expasions available in the
message string.

* add chunk header LastEventRecOffset (Velocidex#32)

Added the 'Last event record data offset' field to the Chunk Header
because the data is present there.

Reference:
https://github.com/libyal/libevtx/blob/main/documentation/Windows%20XML%20Event%20Log%20(EVTX).asciidoc#31-chunk-header

* Bugfix: Substitution token should not parse XML in template context (Velocidex#34)

Fixes: Velocidex#33

* Update deps and fix tomap rename.

---------

Co-authored-by: Mike Cohen <scudette@users.noreply.github.com>
Co-authored-by: dora <dora.cpphp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant