Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for Steam_Http class #10

Merged
merged 8 commits into from
Aug 18, 2024
Merged

Fixes for Steam_Http class #10

merged 8 commits into from
Aug 18, 2024

Conversation

otavepto
Copy link
Contributor

  • Fix a bug in Steam_HTTP::SendHTTPRequest() where the ID of the triggered call-result from online requests was completely unrelated to the original request, resulting in timeout
  • Workaround a problem in Steam_HTTP::SetHTTPRequestHeaderValue() where some games (like appid 1902490) set a cache-control policy which allows only responses from previous requests, otherwise the server will respond with error 504
  • Verbose Curl lib logging in debug builds, to inspect problems easier
  • Build Curl with mbedtls as SSL backend to allow using https protocol, previously this was not possible, making the option to download requests made by the game through ISteamHttp useless
  • Add newly required mbedtls linking to all emu builds + fix compilation warning for mbedtls on Visual Studio
  • Fix a buffer overrun bug in steam_http where the buffer size wasn't set correctly resulting in a crash
  • Bypass SSL verification in steam_http when downloading requests, this sounds scary, but otherwise the user has to load a local list of trusted certificates since mbedtls doesn't use the Trusted Authority list from Windows, also the option to download requests made by a game is disabled by default

As far as I can remember, this won't work with Github

  1. The deps cache you currently have is built without mbedtls
  2. If you invalidated the cache (deleting it), you'll have to first integrate the PR otherwise you'll build again with the old stuff
  3. If you delete the cache and trigger the checks on the PR again, Github will create a separate cache for this PR, but it will invalid once it is integrated, but at least it will be valid
  4. In any case if this PR is integrated, the current cache has to be deleted and rebuilt again

I assume there might be a better way to handle this scenario but I just don't know how.
If you decided to integrate this PR, and it broke, you can ping me here and I'll see what broke and how to fix it.

You can test this with appid 1902490 (free game) since it downloads its own app schema via https protocol.

Feel free to close/reject this PR if it's too much trouble.

@Detanup01
Copy link
Owner

I merge this and #12 . Thanks all of you!

@thecatontheceiling
Copy link

@otavepto why did you delete your fork if you are willing to work on it further?

@otavepto
Copy link
Contributor Author

otavepto commented Sep 2, 2024

@otavepto why did you delete your fork if you are willing to work on it further?

my apologies to you, will never contribute here again

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.

3 participants