mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #390] [CLOSED] fix: enable session_id_context for HTTPS server #437
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#437
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/390
Author: @BenSmith
Created: 4/12/2026
Status: ❌ Closed
Base:
stable← Head:fix/session-id-context📝 Commits (3)
2a582c5fix: enable session_id_context for HTTPS server5806a65test: HTTPS server must allow session resumption with client cert28c5945Merge pull request #1 from BenSmith/test/https-session-resumption📊 Changes
3 files changed (+136 additions, -2 deletions)
View changed files
📝
src/moonlight-server/rest/rest.hpp(+1 -1)📝
tests/CMakeLists.txt(+2 -1)➕
tests/testHTTPS.cpp(+133 -0)📄 Description
The
set_session_id_contextmember ofServer<HTTPS>defaults to false in rest.hpp, leaving theafter_bind()override's call toSSL_CTX_set_session_id_context()as dead code. Wolf's HTTPS server therefore runs with no session ID context set on itsSSL_CTX.OpenSSL only enforces this on session-resumption-capable client cert handshakes. The first HTTPS request from a new client (the
/pairchallenge) goes through fine -- no resumption attempt. Every subsequent request from the same client (/applist,/serverinfo,launch, etc.) attempts session resumption, OpenSSL checks for a session ID context, finds none, and refuses with:which surfaces on the client as
QNetworkReply::SslHandshakeFailedError(or equivalent on other clients). The pairing succeeds but every subsequent operation fails.Setting the default to
truemakesafter_bind()do its job. Wolf's chosensession_id_contextvalue (port + reversed address) works as a per-server unique tag.Editing to add: I used AI tooling to help track this down.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.