Guided Setup Fails due to ISP forcing user through transparent proxy system

If anyone has problems connecting to the service emulator (or real tivo service) then one thing to check is whether your ISP supports HTTP/0.9

According to my ISP "The device is failing to specify a "Host:" header, a problem generally only found in very old (HTTP/0.9) web clients.

As a result, the proxy cache is unable to determine what host is being accessed, and ends up attempting to access itself as a webserver (and failing).

So from there you will need to explain to your ISP that their proxy server doesn't support HTTP 0.9 clients and it needs to be fixed. If they can't fix it, then they need to get http://minnie.tuhs.org added to the exclude proxy listing, which will also fix the fault. Front line tech support probably won't have a clue what you are on about, make sure you ask to be escalated to a higher person or supervisor. You may also need to threaten the ISP with closing your account if they don't remedy the situation. This after all is something they have caused, which stops you fully using the service you pay for.

If even after pushing you ISP, you have confirmed that they have a transparent proxy running that does not support your TiVo and for some reason they cannot or will not fix the problem, please add your ISP's details to the transparent proxy section of AustralianISPs

Some Further Info on Proxies

From squids proxy logs

1079137171.420 925 TCP_MISS/200 247 POST http://65.49.60.197/tivo-service/mlog.cgi - DIRECT/65.49.60.197 text/plain
1079137171.955 459 TCP_MISS/200 360 POST http://65.49.60.197/tivo-service/TCD411.cgi - DIRECT/65.49.60.197 text/plain
1079137173.327 16 NONE/411 3446 POST http://65.49.60.197/tivo-service/HServer.cgi - NONE/- text/html

This is NOT HTTP/0.9 as 0.9 does not support POST requests. Only GET requests are supported. (see http://www.w3.org/Protocols/HTTP/AsImplemented.html and http://mark.boyns.org/thesis/html/node13.html ).

TCP_MISS means that the webpage was not in the cache and was retreived directly from the server. This is what you would expect for a POST request. The number after the '/' indicates there result code - 200 is OK, 400 on the other hand is defined in rfc2616 as

0.4.12 411 Length Required

The server refuses to accept the request without a defined Content-
Length. The client MAY repeat the request if it adds a valid
Content-Length header field containing the length of the message-body
in the request message.

Attempting to retreive this manually gives,

telnet 65.49.60.197 80
Trying 65.49.60.197...
Connected to minnie.tuhs.org.
Escape character is '^]'.
POST /tivo-service/HServer.cgi HTTP/1.0
Content-Length: 0

HTTP/1.0 200 OK
Date: Wed, 17 Mar 2004 01:22:24 GMT
Server: Apache/1.3.27 (Unix) mod_perl/1.27 mod_ssl/2.8.14 OpenSSL/0.9.7a
Content-Type: text/plain; charset=ISO-8859-1
X-Cache: MISS from proxy
Connection: close

ERR_MSG=
VERSION=3
CODE=1
SW_LIST=&http://65.49.60.197:80/tivo-static/headends/IR-standard-v201.slice.gz
-t
180|&http://65.49.60.197:80/tivo-static/headends/LG-standard-v67.slice.gz
-t 180|
BACK_CH_PRV=NONE
BACK_CH_PUB=NONE
BACK_CH_LOG=@http://65.49.60.197:80/tivo-service/acceptfile.cgi
TIME_SVC=/bin/ntpdate -b 127.0.0.1
SEQ_COOKIE=12345678
INV_FILE=
NO_PRV_BACKHAUL=1
SERVICE_STATE=3
STATE_EXPIRE=0
SW_SYSTEM_NAME=1.3.0-04-037-000
INFO_CODE=
TCD_MESSAGE=
GLOBAL_MESSAGES=
KEY_SERVER=
BACK_CH_THUMB=NONE
FORCE_BACKHAUL=0
PUBLIC_LOG_FILTER=
DBLOAD_ORDER=PG.*
REGEN_TOKEN=0
BACKHAUL_DATA_ON=0
PERSONAL_DATA_ON=0
DATA_GROUP_LIST=
CAPRQST_URL=
TIMEOUT=
SUCCESS_TIME=
FAIL_TIME_LIST=
MERC_URL=
MERC_UDP=
MERC_ENABLED=
TCP_TIME_SVC=204.176.49.2
DATA_GROUP_INT_LIST=
Connection closed by foreign host.

Note the use of Content-Length, Do this with out this header confirms this,

$ telnet 65.49.60.197 80
Trying 65.49.60.197...
Connected to minnie.tuhs.org.
Escape character is '^]'.
POST /tivo-service/HServer.cgi HTTP/1.0
br> HTTP/1.0 411 Length Required
Server: squid/2.5.STABLE1
Mime-Version: 1.0
Date: Wed, 17 Mar 2004 01:55:44 GMT
Content-Type: text/html
Content-Length: 1256
Expires: Wed, 17 Mar 2004 01:55:44 GMT
X-Squid-Error: ERR_INVALID_REQ 0
X-Cache: MISS from proxy
Connection: close

[ followed by a human readable error page]

Doing this directly to the server bypassing the proxy and without the Content-Length header works,

$ telnet 65.49.60.197 80
Trying 65.49.60.197...
Connected to 65.49.60.197.
Escape character is '^]'.
POST /tivo-service/HServer.cgi HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 17 Mar 2004 02:02:08 GMT
Server: Apache/1.3.27 (Unix) mod_perl/1.27 mod_ssl/2.8.14 OpenSSL/0.9.7a
Connection: close
Content-Type: text/plain; charset=ISO-8859-1

ERR_MSG=
VERSION=3
[More of the same junk removed for clearity]

Note that in all cases the Host header was not used. The only variable was the Content-Length header. This suggests that there is change in what program is being used to retreive the data as the first two requests worked.

Back to: Howto

-- AndrewJ - 04 Mar 2004

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2008-06-09 - PetesTrash
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright (c) 2001-2018 OzTiVo - The information in this website may be accessed for individual non-commercial use only. The information cannot be used for commercial purposes. Please refer to the full copyright notice.