Conversation
…ics (#84) * Fix SSL decrypt handling and migrate cert install to /etc/aasdk - handle SSL WANT_READ/WANT_WRITE as partial frame in Cryptor decrypt\n- add richer SSL diagnostics in SSLWrapper/Cryptor\n- move cert/key install path from /etc/openauto to /etc/aasdk\n- add debian postinst migration and permission/ownership fixups * fix: USB AOAP recovery, TLS bridge, SSL decrypt drain, diagnostics - AOAPDevice: detect LIBUSB_ERROR_BUSY on claimInterface and attempt releaseInterface + retry before throwing to handle stale ownership after abrupt transport teardown - MessageInStream: conditionally inject ENCAPSULATED_SSL prefix (MessageId 3) only when the incoming payload looks like a TLS record (content-type 0x14-0x17, version byte 0x03); plain payloads such as version responses are no longer misclassified; promote frame/payload logs to info level - Cryptor: simplify SSL decrypt drain loop to pure while(true) with fixed 2048-byte read chunks; remove overhead/expected-bytes heuristics that caused premature loop exit; demote WANT_READ/WANT_WRITE to debug - ControlServiceChannel: add info-level logs for sendVersionRequest (logs major/minor) and sendHandshake (logs payload size); promote incoming MessageId log to info for runtime visibility - USBTransport: add diagnostic logs for doSend submission, sendComplete, sendError, enqueueReceive, receiveComplete and receiveError including endpoint address, byte count and error code/native code
There was a problem hiding this comment.
Pull request overview
This PR promotes the current develop branch state into main, bringing in USB transport resiliency/logging, expanded runtime tracing for encrypted message flow, and packaging changes around TLS certificate/key installation.
Changes:
- Add USB interface claim retry logic and additional USB transport send/receive logging.
- Add runtime trace toggles and richer diagnostics around message framing and SSL/Cryptor read/decrypt paths.
- Move installed headunit TLS cert/key path to
/etc/aasdkwith Debian postinst migration and updated docs.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
src/USB/AOAPDevice.cpp |
Adds a busy-interface recovery path when claiming the AOAP interface. |
src/Transport/USBTransport.cpp |
Adds detailed endpoint-level logging around send/receive operations. |
src/Transport/SSLWrapper.cpp |
Adds stringification + logging for SSL error diagnostics in getError(). |
src/Messenger/MessageInStream.cpp |
Adds runtime-configurable tracing, extra frame/payload logs, and a cryptor-inactive encrypted pass-through path. |
src/Messenger/Cryptor.cpp |
Adds runtime tracing toggles and revises decrypt/read error handling + cert/key search paths. |
src/Channel/Control/ControlServiceChannel.cpp |
Adds extra info logs for version request/handshake and message id processing. |
debian/postinst |
Migrates cert/key from legacy location and applies ownership/permissions post-install. |
QUICK_REFERENCE.md |
Documents new runtime tracing environment variables and expected log tags. |
CMakeLists.txt |
Changes install destination/permissions for headunit.crt and headunit.key to /etc/aasdk. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Copilot review triage for this PR:
Thanks for the review; I’ll keep this thread as the explicit rationale and track the follow-ups accordingly. |
|
Follow-up after merging #87 into
I could not programmatically toggle GitHub threads to resolved with the tools available here, but the addressed threads now have explicit reply markers and are ready to be resolved in the PR UI. |
|
add tests and merged to develop |
Summary
Merge latest changes from
developintomain.Notes
developmain