Conversation
Closed
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements multi-protocol scanning capabilities, allowing measurements to use mixed ICMP, TCP, and UDP probes. It also adds port validation for incoming TCP/UDP packets and refactors origin tracking to support per-protocol origins.
Changes:
- Added support for multi-protocol measurements with per-origin protocol types
- Implemented port validation for TCP and UDP reply packets to filter spoofed responses
- Refactored origin_id from individual replies to reply batches for improved efficiency
- Renamed "Verfploeter" to "Catchment" throughout the codebase
- Updated configuration file format to include protocol specification per origin
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| proto/manycastr.proto | Added p_type field to Origin message, moved origin_id to ReplyBatch, removed LiveMeasurement RPC |
| src/worker/inbound/tcp.rs | Added destination port validation against source port, removed origin_id parameter |
| src/worker/inbound/dns.rs | Added destination port validation against source port, removed origin_id parameter |
| src/worker/inbound/ping.rs | Removed origin_id parameter from parsing functions |
| src/worker/inbound/trace.rs | Removed origin_id parameter from trace parsing |
| src/worker/inbound/record_route.rs | Removed origin_id parameter from record route parsing |
| src/worker/inbound/mod.rs | Added sport field to InboundConfig, updated to use per-origin protocol types |
| src/worker/measurement.rs | Updated to get protocol type from origin instead of measurement-wide setting |
| src/orchestrator/service.rs | Removed p_type from Start message, added origin_id to task distribution |
| src/orchestrator/trace.rs | Removed timeout result forwarding to CLI, updated trace task creation |
| src/orchestrator/result_handler.rs | Added origin_id parameter to result handlers |
| src/cli/commands/start.rs | Added support for multiple protocol types via command-line arguments |
| src/cli/config.rs | Updated configuration file parser to include protocol type per origin |
| src/cli/writer/*.rs | Updated CSV/Parquet writers to handle per-origin protocol types |
| src/net/packet.rs | Changed TCP timestamp from milliseconds to microseconds |
| src/main.rs | Updated CLI arguments to support comma-separated protocol list, renamed Verfploeter to Catchment |
| src/custom_module.rs | Updated MeasurementType display and parsing for Catchment rename |
| example.conf | Updated configuration file format with new protocol field |
| README.md | Updated documentation for Catchment rename and multi-protocol support |
| Cargo.toml | Version bump to 1.4.0, socket2 dependency update to 0.6.2 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented multi protocol scanning (i.e., measurements using mixed ICMP,TCP,UDP probes)
Added port validation for incoming TCP/UDP packets