Conversation
|
Looks like a test unrelated to this PR is not passing. |
|
Sorry, I'm working on a fix... |
|
Bump |
|
Did you rebased on the current master?
--
Viele Grüße
Nils Weiß
…On October 17, 2021 9:34:37 AM GMT+02:00, Federico Maggi ***@***.***> wrote:
Bump
|
|
Yes @polybassa - I had branched |
|
Thanks. I'll inspect those failures.
--
Viele Grüße
Nils Weiß
…On October 17, 2021 11:22:10 AM GMT+02:00, Federico Maggi ***@***.***> wrote:
Yes @polybassa - I had branched `scapy` from the most current `master`.
I double checked right now and fetched && rebased, but they seem
aligned:>
>
```>
❯ git rebase master
[11:21:44]>
Current branch rtps is up to date.>
```>
>
-- >
You are receiving this because you were mentioned.>
Reply to this email directly or view it on GitHub:>
#3403 (comment)
|
Anything we can help with @polybassa? |
|
Well.. I think in the end I have to do a bigger refactoring of ISOTPSoftSockets. Something is causing instabilities on the CI systems. Unfortunately these bugs are very sporadic or depend on the performance of the CI-system. So catching them on my local system is almost impossible. |
gpotter2
left a comment
There was a problem hiding this comment.
Generally solid PR, the packet formats look fine. Just a few few minor things.
Codecov Report
@@ Coverage Diff @@
## master #3403 +/- ##
==========================================
- Coverage 85.28% 85.27% -0.01%
==========================================
Files 277 277
Lines 57192 57192
==========================================
- Hits 48774 48772 -2
- Misses 8418 8420 +2
|
|
Done. Pinging @polybassa and @gpotter2 for checks. |
|
@polybassa @gpotter2 not sure what the failures are about. I tried to reproduce locally and the |
|
The docs logs aren't the easiest to read 🙂 If you go through them carefully you'll notice the following: |
|
OK, I think 71a5f3e did the job. Still, Codecov is not passing. Any idea why @polybassa @gpotter2 ? |
|
I think you can ignore codecov. Since you disabled the isotp tests, it decreased the coverage.
--
Viele Grüße
Nils Weiß
On October 21, 2021 9:17:16 AM GMT+02:00, Federico Maggi ***@***.***> wrote:
OK, I think
71a5f3e
did the job. Still, Codecov is not passing. Any idea why @polybassa
***@***.*** ?
…
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#3403 (comment)
|
|
I think everything has been sorted out with this PR. Any plans on when this could be merged? We have an upcoming talk at Black Hat next month and would be great to say "and Scapy can now successfully dissect/forge RTPS frames" 🤓 |
|
Ping in here, any chance we could have this merged maintainers? |
|
I need to re-review this and I'll merge it in the following couple of days. Sorry about the delay |
|
Be assured that this PR will be merged before BHEU =)
|
gpotter2
left a comment
There was a problem hiding this comment.
Some last minor comments, other than that LGTM.
|
Also please rebase against master |
See the most recent commits. I rebased |
+1, it'd be awesome to get this in ASAP folks. Count on us for maintaining this down the road (i.e. working on some extensions at https://github.com/vmayoral/scapy/tree/rtps). We'll push those once this first contribution is finalized. |
|
Sorry folks. One rebase too much. I'm a hurry and I shouldn't work. I'll fix it when I have time. Otherwise, feel free to wipe the entire thing, copy the code from my repo, and start a fresh PR. I don't care too much about credits at this point, as long as this painful journey comes to an end. |
Check this branch for detailed history of this change: https://github.com/phretor/scapy/commits/rtps Co-authored-by: Federico Maggi <fede@maggi.cc> Co-authored-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> Signed-off-by: Federico Maggi <fede@maggi.cc>
Co-authored-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Co-authored-by: gpotter2 <gabriel@potter.fr>
Signed-off-by: Federico Maggi <federico@maggi.cc>
Signed-off-by: Federico Maggi <federico@maggi.cc>
Previous EndpointFlagsPacket definition led to the following syntax warning: SyntaxWarning: Packet 'EndpointFlagsPacket' has a duplicated 'reserved' field ! If you are using several ConditionalFields, have a look at MultipleTypeField instead! This will become a SyntaxError in a future version of Scapy. This patch turns the various 'reserved' fields into a single one with length 4 bits. Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
This way, scripts don't need to manually import this file Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
This leads to packages like PID_BUILTIN_ENDPOINT_QOS building upon PIDPacketBase to have a proper alignment. Additions to rtps.uts RTPS layer test campaign to test this type of bit alignment issues Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Crafting packages directly from raw hex data led to 'contrib/rtps/common_types.py, line 151, in set_endianness assert self.endianness is not None' type errors. By providing an else and returning FORMAT_BE, we mitigate it Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
…ypes Various packages inheriting from PIDPacketBase and part of RTPSParameterIdTypes were using Big Endian incorrectly, when Little Endian is what's used by DDS implementations. Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
- `_next_cls_cb` is now a plain function - Test cases updated accordingly - Removed `types.py` Signed-off-by: Federico Maggi <fede@maggi.cc>
Signed-off-by: Federico Maggi <fede@maggi.cc>
Signed-off-by: Federico Maggi <fede@maggi.cc>
- Changed asserts into warnings + defaults Signed-off-by: Federico Maggi <fede@maggi.cc>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Federico Maggi <federico.maggi@gmail.com>
|
No worries, thanks for the work ! |
|
Thanks a lot for the great PR and sorry for the time it took. I hope we didn't disgust you from contributing to scapy :/ |
* RTPS contrib layer Check this branch for detailed history of this change: https://github.com/phretor/scapy/commits/rtps Co-authored-by: Federico Maggi <fede@maggi.cc> Co-authored-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> Signed-off-by: Federico Maggi <fede@maggi.cc> * Update scapy/contrib/rtps/pid_types.py Co-authored-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Update scapy/contrib/rtps/rtps.py Co-authored-by: gpotter2 <gabriel@potter.fr> * Fixing various flake8 and docs build issues Signed-off-by: Federico Maggi <federico@maggi.cc> * codespell: endianess ==> endianness Signed-off-by: Federico Maggi <federico@maggi.cc> * Turn multiple duplicated 'reserved' bit fields into one Previous EndpointFlagsPacket definition led to the following syntax warning: SyntaxWarning: Packet 'EndpointFlagsPacket' has a duplicated 'reserved' field ! If you are using several ConditionalFields, have a look at MultipleTypeField instead! This will become a SyntaxError in a future version of Scapy. This patch turns the various 'reserved' fields into a single one with length 4 bits. Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Remove duplicated scapy metadata, into __init__.py Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Add RTPS PID type definitions to RTPS default imports This way, scripts don't need to manually import this file Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Define endianness of PIDPacketBase class This leads to packages like PID_BUILTIN_ENDPOINT_QOS building upon PIDPacketBase to have a proper alignment. Additions to rtps.uts RTPS layer test campaign to test this type of bit alignment issues Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Handle else in e_flags to avoid None errors Crafting packages directly from raw hex data led to 'contrib/rtps/common_types.py, line 151, in set_endianness assert self.endianness is not None' type errors. By providing an else and returning FORMAT_BE, we mitigate it Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Fix endianness of parameterId and parameterLength in RTPSParameterIdTypes Various packages inheriting from PIDPacketBase and part of RTPSParameterIdTypes were using Big Endian incorrectly, when Little Endian is what's used by DDS implementations. Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Add Alias's credit in files modified Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * - Replaced `ByteField` with `StrField` - `_next_cls_cb` is now a plain function - Test cases updated accordingly - Removed `types.py` Signed-off-by: Federico Maggi <fede@maggi.cc> * Fixing flake8 failures + contrib line Signed-off-by: Federico Maggi <fede@maggi.cc> * Polishing and formatting fixes Signed-off-by: Federico Maggi <fede@maggi.cc> * - Removed unused classes - Changed asserts into warnings + defaults Signed-off-by: Federico Maggi <fede@maggi.cc> * Re-work scapy's preamble Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> * Using longs where applicable Signed-off-by: Federico Maggi <federico.maggi@gmail.com> * Minor code health fixes Co-authored-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com> Co-authored-by: gpotter2 <gabriel@potter.fr>
Check this branch for detailed history of this change: https://github.com/phretor/scapy/commits/rtps
Disclaimer: I'm not sure this is the right way to bind layers that are not restricted to a non-fixed port range, so I put a comment. Let me or @vmayoral know if you prefer to enable the "ugly hack". All dissection tests pass even now.
Co-authored-by: Federico Maggi fede@maggi.cc
Co-authored-by: Víctor Mayoral Vilches v.mayoralv@gmail.com
Signed-off-by: Federico Maggi fede@maggi.cc