oscerd commented on PR #25361:
URL: https://github.com/apache/camel/pull/25361#issuecomment-5207406427

   Thanks for taking this over and folding in the fixes, @davsclaus — the 
hard-boundary rework in `RecipientListProcessor`/`PollEnricher` and the 
`ignoreInvalidEndpoints` tests match what I had locally. 👍
   
   One small completeness observation for a possible follow-up (non-blocking — 
this can land as-is): in `RoutingSlip`, the `allowedSchemes` check is applied 
on the synchronous hop (`RoutingSlip.java:267`) but not on the **async 
continuation** path (`RoutingSlip.java:468-469`), where subsequent hops are 
resolved via `iter.next(ex)` → `prepareRecipient(...)` without the check. So a 
multi-hop slip whose first hop completes asynchronously could still route to a 
disallowed scheme on a later hop — e.g. slip `seda:allowed,http://blocked` with 
`allowedSchemes("seda")`: hop 1 (`seda:allowed`) is allowed and goes async, 
then hop 2 (`http://blocked`) is resolved on the async path unchecked.
   
   Adding the same `ProcessorHelper.checkAllowedSchemes(allowedSchemes, 
recipient);` right after the `prepareRecipient(...)` call at 
`RoutingSlip.java:469` closes it — the surrounding `catch` already does 
`current.setException(e); break;`, so it hard-fails consistently with the sync 
path. Happy to send a tiny follow-up PR for it if you'd prefer to keep this one 
as-is.
   
   _Claude Code on behalf of Andrea Cosentino_
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to