Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

end-of-PDU handling and DOP resolution cleanups #300

Merged
merged 7 commits into from
May 7, 2024

Conversation

andlaus
Copy link
Collaborator

@andlaus andlaus commented May 7, 2024

This PR contains a bunch of fixes for smaller unrelated issues which I've stumbled over while working on implementing dynamic endmarker fields.

Andreas Lauser <[email protected]>, on behalf of MBition GmbH.
Provider Information

this allows to continue in non-strict mode, albeit with undefined
results.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
we now hopefully implement all specified DOPs, so we can be more
strict if a referenced DOP cannot be resolved.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
so far, `DynamicLengthField` and `EndOfPduField` only allowed lists.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
an element of a field is at the end of a PDU if the field is at the
end of the PDU and the item is the last element of the field. Note
that even though some pathetic cases where this makes a difference can
be constructed, I have doubts if this matters in practice.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
Note that this does not make a difference because all items of fields
are structures, which need to set the origin position to the beginning
of the structure anyway, but IMO it is conceptually clearer to
explicitly set the origin position in fields as well.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
…ription`

it turns out that these classes are yet another multiplexer mechanism.

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
@andlaus andlaus requested a review from kayoub5 May 7, 2024 07:38
The reason we expect `Sequence` instead of `Iterable` is because we
use the `len()` method which is not available for `Iterable`.

thanks to [at]kayoub5 for the catch!

Signed-off-by: Andreas Lauser <[email protected]>
Signed-off-by: Gerrit Ecke <[email protected]>
@kayoub5
Copy link
Collaborator

kayoub5 commented May 7, 2024

@andlaus I recommend renaming the pr, to make the changelog clear

@andlaus andlaus changed the title Dynamic endmarker fields drivebys end-of-PDU handling and DOP resolution cleanups May 7, 2024
@andlaus
Copy link
Collaborator Author

andlaus commented May 7, 2024

ok, done. the new title now reflects the two most important changes...

@andlaus andlaus merged commit 469ee9b into mercedes-benz:main May 7, 2024
6 checks passed
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.

2 participants