Update GrandSlam authentication user agent - #47
Conversation
|
Adding data in support of this, and correcting my earlier thoughts of what was going on. I said elsewhere that the User-Agent looked unrelated to the 503s people are hitting on GsService2. That was based on a 6 request sample and it was wrong. Re-ran it interleaved so time variation is controlled, 100 requests per UA: @MeemeeLab also reports this patch got them signing in again on altstoreio/AltStore#1776. What seems to be going on: a connection gets a fixed number of requests before Apple starts 503ing it, and the User-Agent changes that number. Six requests down one reused connection, five trials each, identical every time: Two requests on the old UA, four on the new one, then everything after that fails on that connection. Sign in sends three requests down one connection, which is exactly why it dies on the third one with the old UA and why this patch fixes it. There is a separate baseline failure rate on top of that, around 20 to 25 percent even on a fresh connection's first request, and the UA does not change that part (old 15/20, new 16/20). So this patch solves the deterministic part, and retrying 5xx on a fresh connection (#49 for marketplace, #50 for notarized) covers the rest. |
|
Opened #51 to port this onto the |
The akd/1.0 CFNetwork/978.0.7 Darwin/18.7.0 string dates from macOS 10.14. Apple's GSA edge now allows only two requests per connection with it, and sign in sends three, so the third always fails with an HTML 503 that surfaces as NSCocoaErrorDomain 3840. A current AuthKit string raises that to four. Port of rileytestut#47 by @BreezeDelegate onto the notarized branch, which AltStore's classic branches pin.
Use a current AuthKit user agent for GrandSlam authentication requests instead of the Mojave-era
akdvalue.Related to altstoreio/AltStore#1716.