Skip to content

logout user in the case that the underlying connection gets disconnected#383

Draft
JacobBarthelmeh wants to merge 1 commit into
wolfSSL:mainfrom
JacobBarthelmeh:auth_connection
Draft

logout user in the case that the underlying connection gets disconnected#383
JacobBarthelmeh wants to merge 1 commit into
wolfSSL:mainfrom
JacobBarthelmeh:auth_connection

Conversation

@JacobBarthelmeh
Copy link
Copy Markdown
Contributor

@JacobBarthelmeh JacobBarthelmeh commented May 28, 2026

Follow up to item 4 from #270

@JacobBarthelmeh JacobBarthelmeh self-assigned this May 28, 2026
Copilot AI review requested due to automatic review settings May 28, 2026 04:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR ensures that an authenticated user session is properly logged out when the underlying communication channel is abruptly disconnected (not just on a clean COMM_CLOSE). It also defensively clears any stale auth session state during wh_Server_Init, in case the externally-owned auth context carries a leftover session from a prior connection.

Changes:

  • In wh_Server_SetConnected, invoke wh_Auth_Logout on the transition to WH_COMM_DISCONNECTED when a user is currently active.
  • In wh_Server_Init, after binding the externally-owned auth context, log out any stale active user; fall back to zeroing the user struct if logout fails.
  • Add _whTest_Auth_AbruptDisconnect test that uses a wrapping test_Logout callback to verify the disconnect path triggers exactly one logout and that repeated disconnects are no-ops.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/wh_server.c Adds logout-on-disconnect in wh_Server_SetConnected and stale-session cleanup in wh_Server_Init.
test/wh_test_auth.c Adds a logout-counting callback and a memory-transport test verifying logout fires on abrupt disconnect and is idempotent.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants