https://bugs.winehq.org/show_bug.cgi?id=56875
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |wininet
--- Comment #1 from Andrew Nguyen arethusa26@gmail.com --- The error is a result of the application's failure to download a proper update information file retrieved from the URL "https://lexically.net/downloads/version9/WSUpdate_64_9.inf".
It's using wininet to download the file:
0138:Call wininet.InternetOpenW(00661ea4 L"",00000000,00000000,00000000,00000000) ret=00661bd6 0138:Ret wininet.InternetOpenW() retval=00000001 ret=00661bd6 0138:Call wininet.InternetConnectW(00000001,7fffffad0d40 L"https://lexically.net/downloads/version9/WSUpdate_64_9.inf%22,000001bb,00661... L"",00661ea4 L"",00000003,7fff00000000,00000000) ret=00661c2e 0138:Ret wininet.InternetConnectW() retval=00000002 ret=00661c2e 0138:Call wininet.InternetOpenUrlW(00000001,7fffffad0d40 L"https://lexically.net/downloads/version9/WSUpdate_64_9.inf%22,00000000,00000...) ret=00661c56 0138:Ret wininet.InternetOpenUrlW() retval=00000004 ret=00661c56 0138:Call wininet.InternetReadFile(00000004,7fae18287390,00019000,7ffffe1ff7d4) ret=00661cf5 0138:Ret wininet.InternetReadFile() retval=00000001 ret=00661cf5 0138:Call wininet.InternetReadFile(00000004,7fae18287390,00019000,7ffffe1ff7d4) ret=00661cf5 0138:Ret wininet.InternetReadFile() retval=00000001 ret=00661cf5 0138:Call wininet.InternetCloseHandle(00000004) ret=00661d98 0138:Ret wininet.InternetCloseHandle() retval=00000001 ret=00661d98 0138:Call wininet.InternetCloseHandle(00000001) ret=00661da5 0138:Ret wininet.InternetCloseHandle() retval=00000001 ret=00661da5
However, the contents of the downloaded file indicate an HTTP 503 error was received by wininet, and the "le>" string in the error message seems to originate from an unsuccessful parse of the file contents:
$ cat WSUpdate_64_9.inf <html> <head> <title>The page is temporarily unavailable</title> <style> ...
Some testing shows that the queried HTTP server seems to be picky about the User-Agent value:
$ curl https://lexically.net/downloads/version9/WSUpdate_64_9.inf [update] date=18/09/2024 localversion=wordsmith_64_9.exe newbuild=9.0.0.130
$ curl -A 'XYZ' https://lexically.net/downloads/version9/WSUpdate_64_9.inf <html> <head> <title>The page is temporarily unavailable</title> <style> ...
Because the application passed an empty user-agent string to InternetOpenW, the wininet implementation in Wine is adding a User-Agent header with an empty value to the update file request, which results in the HTTP 503 response:
0138:trace:wininet:HTTP_HttpAddRequestHeadersW copying header: L"User-Agent: \r\n" 0138:trace:wininet:HTTP_HttpAddRequestHeadersW interpreting header L"User-Agent: " 0138:trace:wininet:HTTP_InterpretHttpHeader field(L"User-Agent") Value(L"") 0138:trace:wininet:HTTP_ProcessHeader --> L"User-Agent": L"" - 0x12000000 0138:trace:wininet:HTTP_GetCustomHeaderIndex L"User-Agent", 0, 1 0138:trace:wininet:HTTP_GetCustomHeaderIndex Return: -1 0138:trace:wininet:HTTP_InsertCustomHeader --> L"User-Agent": L""