fix: RabbitMQ channel stability and EUD handler hardening#267
Open
fwromano wants to merge 1 commit intobrian7704:masterfrom
Open
fix: RabbitMQ channel stability and EUD handler hardening#267fwromano wants to merge 1 commit intobrian7704:masterfrom
fwromano wants to merge 1 commit intobrian7704:masterfrom
Conversation
- Add per-client socketio_publish_enabled guard to prevent channel close/recovery loops when flask-socketio exchange is unavailable - Declare flask-socketio exchange on channel open so publishes don't fail with NOT_FOUND on first message - Guard route_cot publish path against channel race conditions - Thread-safe RabbitMQ connection close in client disconnect - Set ioloop thread as daemon to prevent orphan threads on shutdown - Prevent identity hijack: validate certificate CN matches connection - Fall back to __ANON__ group for unknown team names instead of crashing - Consolidate queue binding logic into _ensure_client_routing_bindings() These fixes address production crashes observed when running multiple simultaneous ATAK/iTAK clients with RabbitMQ message routing enabled.
Owner
|
Can you please describe the problems you were having that this PR fixes? The flask-socketio exchange not existing should have been fixed in ebd7e40 with the lines below. self.rabbit_channel.exchange_declare(
"flask-socketio", durable=False, exchange_type="fanout"
)If you're still experiencing the NOT_FOUND error then we can find a way to fix it rather than just disabling socketio altogether. Regarding preventing identity hijacking, I don't see in the PR where anything was changed that would fix that issue. Could you point it out or describe the issue you were having? eud_handler will validate client certificates when it operates in SSL mode. |
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.
These fixes address production crashes observed when running multiple simultaneous ATAK/iTAK clients with RabbitMQ message routing enabled.