protonscr

Potential problem when proxying via squid (host_verify_strict set)

steamopen reviewed
ValveSoftware/steam-for-linux#4463 · opened 2016-05-27 by NotMrFlibble · updated 2016-05-27 · 0 comments · github
NNotMrFlibble 2016-05-27 github

I normally have Steam running with the http_proxy environment variable set appropriately for my network.

Setting the “host_verify_strict” option in /etc/squid3/squid.conf to ‘on’ then telling squid to re-read its configuration will cause the Steam client to fail to download updates for games.

I extracted the following request sent by the client when it was trying to download a patch for a game:

GET http://155.133.246.13:80/serverlist/85/20/ HTTP/1.1
Host: cs.steampowered.com
Accept: text/html,*/*;q=0.9
Accept-Encoding: gzip,identity,*;q=0
Accept-Charset: ISO-8859-1,utf-8,*;q=0.7
User-Agent: Valve/Steam HTTP Client 1.0

It's clear why the failure occurred. With this option enabled, squid compares the server name in the GET line with the server name in the Host line and, if they don't match, it returns HTTP error 409 (Conflict). With the option disabled, all is well (but enabling the option is arguably a good thing for strict security reasons). For the moment, I've disabled this option, but I would prefer to be able to re-enable it without causing problems.

It would be a good idea to make sure that the Steam client uses the same host name in both places to avoid this problem.

Nothing extracted yet.