bug-httptunnel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug with socket option on Windows XP


From: GRAY Andrew (SPARQ)
Subject: Bug with socket option on Windows XP
Date: Fri, 29 Jul 2011 11:08:20 +1000

Hi,
 
I have the windows binary distribution of httptunnel.  I have been having connecting to a remote server, and using debug level 4, I see that httptunnel is attempting to use a socket option SO_RCVLOWAT, which is not supported on Windows platforms.  According to Microsoft (http://msdn.microsoft.com/en-us/library/ms740532(v=vs.85).aspx) that particular socket option will return with an error/failure.  This may be a bug in the windows implementation.
 
The symptom is that when attempting the connection, it enters a loop (as seen in the output) but never actually completes.  Below is the output.
 
I am not sure if it is a problem with the "clearswift" proxy gateway (which does intrusive inspection), or if it's a problem ultimately with httptunnel.  I do know that other protocols (such as teamviewer) work fine through this proxy.
 
Here is the output.
 
C:\Files\httptunnel\debug>htc -D4 -w -A sparq\ag084:Password -P proxybnelb.common.local:8080 -F 8022 abcremote.dyndns.org
:80
20110729 110149 htc (httptunnel) 3.3 started with arguments:
20110729 110149   me = htc
20110729 110149   device = (null)
20110729 110149   host_name = abcremote.dyndns.org
20110729 110149   host_port = 80
20110729 110149   proxy_name = proxybnelb.common.local
20110729 110149   proxy_port = 8080
20110729 110149   proxy_buffer_size = 0
20110729 110149   proxy_buffer_timeout = -1
20110729 110149   content_length = 102400
20110729 110149   forward_port = 8022
20110729 110149   max_connection_age = 300
20110729 110149   use_std = 0
20110729 110149   strict_content_length = 0
20110729 110149   keep_alive = 5
20110729 110149   proxy_authorization = sparq\ag084:Password
20110729 110149   user_agent = (null)
20110729 110149   debug_level = 4
20110729 110149         server_socket (8022) = 3
20110729 110149         waiting for connection on port 8022
20110729 110156         wait_for_connection_on_socket (3) = 4
20110729 110156         creating a new tunnel
20110729 110156             tunnel_new_client ("abcremote.dyndns.org", 80, "proxybnelb.common.local", 8080, 102400)
20110729 110156             tunnel_connect()
20110729 110156         tunnel_out_setsockopts: non-fatal SO_SNDLOWAT error: Protocol not available
20110729 110156         tunnel_out_setsockopts: non-fatal SO_SNDLOWAT: 0
20110729 110156         tunnel_out_setsockopts: SO_LINGER: _onoff_=1 linger=2000
20110729 110156         tunnel_out_setsockopts: non-fatal TCP_NODELAY: 1
20110729 110156         tunnel_out_setsockopts: SO_KEEPALIVE: 1
20110729 110156             http_write_request: POST http://abcremote.dyndns.org:80/index.html?crap=1311901316 HTTP/1.1
 
20110729 110156         tunnel_out_connect: output connected
20110729 110156         tunnel_write_request: TUNNEL_OPEN (1)
20110729 110156             tunnel_in_connect()
20110729 110156         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110156         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110156             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901316 HTTP/1.1
 
20110729 110206             http_parse_response: major version = 1
20110729 110206             http_parse_response: minor version = 1
20110729 110206             http_parse_response: status code = 200
20110729 110206             http_parse_response: status message = "OK"
20110729 110206             parse_header: Content-Length: 102400
20110729 110206             parse_header: Pragma: no-cache
20110729 110206             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110206             parse_header: Expires: 0
20110729 110206             parse_header: Content-Type: text/html
20110729 110206             parse_header: date: Fri, 29 Jul 2011 01:01:56 GMT
20110729 110206             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110206         tunnel_in_connect: input connected
20110729 110206 connected to abcremote.dyndns.org:80 via proxybnelb.common.local:8080
20110729 110206         tunnel_read_request: connection closed by peer
20110729 110206         tunnel_in_disconnect: input disconnected
20110729 110206             tunnel_in_connect()
20110729 110206         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110206         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110206             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901326 HTTP/1.1
 
20110729 110217             http_parse_response: major version = 1
20110729 110217             http_parse_response: minor version = 1
20110729 110217             http_parse_response: status code = 200
20110729 110217             http_parse_response: status message = "OK"
20110729 110217             parse_header: Content-Length: 102400
20110729 110217             parse_header: Pragma: no-cache
20110729 110217             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110217             parse_header: Expires: 0
20110729 110217             parse_header: Content-Type: text/html
20110729 110217             parse_header: date: Fri, 29 Jul 2011 01:02:07 GMT
20110729 110217             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110217         tunnel_in_connect: input connected
20110729 110217         tunnel_read_request: connection closed by peer
20110729 110217         tunnel_in_disconnect: input disconnected
20110729 110217             tunnel_in_connect()
20110729 110217         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110217         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110217             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901337 HTTP/1.1
 
20110729 110227             http_parse_response: major version = 1
20110729 110227             http_parse_response: minor version = 1
20110729 110227             http_parse_response: status code = 200
20110729 110227             http_parse_response: status message = "OK"
20110729 110227             parse_header: Content-Length: 102400
20110729 110227             parse_header: Pragma: no-cache
20110729 110227             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110227             parse_header: Expires: 0
20110729 110227             parse_header: Content-Type: text/html
20110729 110227             parse_header: date: Fri, 29 Jul 2011 01:02:17 GMT
20110729 110227             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110227         tunnel_in_connect: input connected
20110729 110227         tunnel_read_request: connection closed by peer
20110729 110227         tunnel_in_disconnect: input disconnected
20110729 110227             tunnel_in_connect()
20110729 110227         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110227         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110227             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901347 HTTP/1.1
 
20110729 110237             http_parse_response: major version = 1
20110729 110237             http_parse_response: minor version = 1
20110729 110237             http_parse_response: status code = 200
20110729 110237             http_parse_response: status message = "OK"
20110729 110237             parse_header: Content-Length: 102400
20110729 110237             parse_header: Pragma: no-cache
20110729 110237             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110237             parse_header: Expires: 0
20110729 110237             parse_header: Content-Type: text/html
20110729 110237             parse_header: date: Fri, 29 Jul 2011 01:02:27 GMT
20110729 110237             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110237         tunnel_in_connect: input connected
20110729 110237         tunnel_read_request: connection closed by peer
20110729 110237         tunnel_in_disconnect: input disconnected
20110729 110237             tunnel_in_connect()
20110729 110237         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110237         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110237             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901357 HTTP/1.1
 
20110729 110247             http_parse_response: major version = 1
20110729 110247             http_parse_response: minor version = 1
20110729 110247             http_parse_response: status code = 200
20110729 110247             http_parse_response: status message = "OK"
20110729 110247             parse_header: Content-Length: 102400
20110729 110247             parse_header: Pragma: no-cache
20110729 110247             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110247             parse_header: Expires: 0
20110729 110247             parse_header: Content-Type: text/html
20110729 110247             parse_header: date: Fri, 29 Jul 2011 01:02:37 GMT
20110729 110247             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110247         tunnel_in_connect: input connected
20110729 110247         tunnel_read_request: connection closed by peer
20110729 110247         tunnel_in_disconnect: input disconnected
20110729 110247             tunnel_in_connect()
20110729 110247         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110247         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110247             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901367 HTTP/1.1
 
20110729 110257             http_parse_response: major version = 1
20110729 110257             http_parse_response: minor version = 1
20110729 110257             http_parse_response: status code = 200
20110729 110257             http_parse_response: status message = "OK"
20110729 110257             parse_header: Content-Length: 102400
20110729 110257             parse_header: Pragma: no-cache
20110729 110257             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110257             parse_header: Expires: 0
20110729 110257             parse_header: Content-Type: text/html
20110729 110257             parse_header: date: Fri, 29 Jul 2011 01:02:47 GMT
20110729 110257             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110257         tunnel_in_connect: input connected
20110729 110257         tunnel_read_request: connection closed by peer
20110729 110257         tunnel_in_disconnect: input disconnected
20110729 110257             tunnel_in_connect()
20110729 110257         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110257         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110257             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901377 HTTP/1.1
 
20110729 110308             http_parse_response: major version = 1
20110729 110308             http_parse_response: minor version = 1
20110729 110308             http_parse_response: status code = 200
20110729 110308             http_parse_response: status message = "OK"
20110729 110308             parse_header: Content-Length: 102400
20110729 110308             parse_header: Pragma: no-cache
20110729 110308             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110308             parse_header: Expires: 0
20110729 110308             parse_header: Content-Type: text/html
20110729 110308             parse_header: date: Fri, 29 Jul 2011 01:02:58 GMT
20110729 110308             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110308         tunnel_in_connect: input connected
20110729 110308         tunnel_read_request: connection closed by peer
20110729 110308         tunnel_in_disconnect: input disconnected
20110729 110308             tunnel_in_connect()
20110729 110308         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110308         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110308             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901388 HTTP/1.1
 
20110729 110318             http_parse_response: major version = 1
20110729 110318             http_parse_response: minor version = 1
20110729 110318             http_parse_response: status code = 200
20110729 110318             http_parse_response: status message = "OK"
20110729 110318             parse_header: Content-Length: 102400
20110729 110318             parse_header: Pragma: no-cache
20110729 110318             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110318             parse_header: Expires: 0
20110729 110318             parse_header: Content-Type: text/html
20110729 110318             parse_header: date: Fri, 29 Jul 2011 01:03:08 GMT
20110729 110318             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110318         tunnel_in_connect: input connected
20110729 110318         tunnel_read_request: connection closed by peer
20110729 110318         tunnel_in_disconnect: input disconnected
20110729 110318             tunnel_in_connect()
20110729 110318         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110318         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110318             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901398 HTTP/1.1
 
20110729 110328             http_parse_response: major version = 1
20110729 110328             http_parse_response: minor version = 1
20110729 110328             http_parse_response: status code = 200
20110729 110328             http_parse_response: status message = "OK"
20110729 110328             parse_header: Content-Length: 102400
20110729 110328             parse_header: Pragma: no-cache
20110729 110328             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110328             parse_header: Expires: 0
20110729 110328             parse_header: Content-Type: text/html
20110729 110328             parse_header: date: Fri, 29 Jul 2011 01:03:18 GMT
20110729 110328             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110328         tunnel_in_connect: input connected
20110729 110328         tunnel_read_request: connection closed by peer
20110729 110328         tunnel_in_disconnect: input disconnected
20110729 110328             tunnel_in_connect()
20110729 110328         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110328         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110328             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901408 HTTP/1.1
 
20110729 110338             http_parse_response: major version = 1
20110729 110338             http_parse_response: minor version = 1
20110729 110338             http_parse_response: status code = 200
20110729 110338             http_parse_response: status message = "OK"
20110729 110338             parse_header: Content-Length: 102400
20110729 110338             parse_header: Pragma: no-cache
20110729 110338             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110338             parse_header: Expires: 0
20110729 110338             parse_header: Content-Type: text/html
20110729 110338             parse_header: date: Fri, 29 Jul 2011 01:03:28 GMT
20110729 110338             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110338         tunnel_in_connect: input connected
20110729 110338         tunnel_read_request: connection closed by peer
20110729 110338         tunnel_in_disconnect: input disconnected
20110729 110338             tunnel_in_connect()
20110729 110338         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110338         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110338             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901418 HTTP/1.1
 
20110729 110348             http_parse_response: major version = 1
20110729 110348             http_parse_response: minor version = 1
20110729 110348             http_parse_response: status code = 200
20110729 110348             http_parse_response: status message = "OK"
20110729 110348             parse_header: Content-Length: 102400
20110729 110348             parse_header: Pragma: no-cache
20110729 110348             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110348             parse_header: Expires: 0
20110729 110348             parse_header: Content-Type: text/html
20110729 110348             parse_header: date: Fri, 29 Jul 2011 01:03:38 GMT
20110729 110348             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110348         tunnel_in_connect: input connected
20110729 110348         tunnel_read_request: connection closed by peer
20110729 110348         tunnel_in_disconnect: input disconnected
20110729 110348             tunnel_in_connect()
20110729 110348         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110348         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110348             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901428 HTTP/1.1
 
20110729 110359             http_parse_response: major version = 1
20110729 110359             http_parse_response: minor version = 1
20110729 110359             http_parse_response: status code = 200
20110729 110359             http_parse_response: status message = "OK"
20110729 110359             parse_header: Content-Length: 102400
20110729 110359             parse_header: Pragma: no-cache
20110729 110359             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110359             parse_header: Expires: 0
20110729 110359             parse_header: Content-Type: text/html
20110729 110359             parse_header: date: Fri, 29 Jul 2011 01:03:49 GMT
20110729 110359             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110359         tunnel_in_connect: input connected
20110729 110359         tunnel_read_request: connection closed by peer
20110729 110359         tunnel_in_disconnect: input disconnected
20110729 110359             tunnel_in_connect()
20110729 110359         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110359         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110359             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901439 HTTP/1.1
 
20110729 110409             http_parse_response: major version = 1
20110729 110409             http_parse_response: minor version = 1
20110729 110409             http_parse_response: status code = 200
20110729 110409             http_parse_response: status message = "OK"
20110729 110409             parse_header: Content-Length: 102400
20110729 110409             parse_header: Pragma: no-cache
20110729 110409             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110409             parse_header: Expires: 0
20110729 110409             parse_header: Content-Type: text/html
20110729 110409             parse_header: date: Fri, 29 Jul 2011 01:03:59 GMT
20110729 110409             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110409         tunnel_in_connect: input connected
20110729 110409         device or port closed
20110729 110409         tunnel_read_request: connection closed by peer
20110729 110409         tunnel_in_disconnect: input disconnected
20110729 110409             tunnel_in_connect()
20110729 110409         tunnel_in_setsockopts: non-fatal SO_RCVLOWAT error: Protocol not available
20110729 110409         tunnel_out_setsockopts: SO_RCVLOWAT: 0
20110729 110409             http_write_request: GET http://abcremote.dyndns.org:80/index.html?crap=1311901449 HTTP/1.1
 
20110729 110419             http_parse_response: major version = 1
20110729 110419             http_parse_response: minor version = 1
20110729 110419             http_parse_response: status code = 200
20110729 110419             http_parse_response: status message = "OK"
20110729 110419             parse_header: Content-Length: 102400
20110729 110419             parse_header: Pragma: no-cache
20110729 110419             parse_header: Cache-Control: no-cache, no-store, must-revalidate
20110729 110419             parse_header: Expires: 0
20110729 110419             parse_header: Content-Type: text/html
20110729 110419             parse_header: date: Fri, 29 Jul 2011 01:04:09 GMT
20110729 110419             parse_header: Via: 1.1 Clearswift SECURE Web Gateway
20110729 110419         tunnel_in_connect: input connected
20110729 110419         destroying tunnel
20110729 110419         tunnel_close: write TUNNEL_CLOSE request
20110729 110419         tunnel_write_request: TUNNEL_CLOSE
20110729 110419     tunnel_out_disconnect: warning: bytes=5 != content_length=102400
20110729 110419         tunnel_out_disconnect: output disconnected
20110729 110419         tunnel_close: reading trailing data from input ...
20110729 110419         tunnel_close: ... done (tunnel closed)
20110729 110419         tunnel_in_disconnect: input disconnected
20110729 110419 disconnected from abcremote.dyndns.org:80 via proxybnelb.common.local:8080
20110729 110419         waiting for connection on port 8022
 
 
 
Andrew Gray
Senior Software Specialist
Corporate Data Systems
SPARQ Solutions
Ph 07 3003 3169  |  Fax 07 3003 3907
25 Montpelier Road
Bowen Hills, Brisbane, Qld 4006
E-Mail andrew.gray@sparq.com.au
 
 
 
*************************************************************************************
This email message (including any file attachments transmitted with it) is for the sole use of the intended recipient(s) and may contain confidential and legally privileged information. Any unauthorised review, use, alteration, disclosure or distribution of this email (including any attachments) by an unintended recipient is prohibited. If you have received this email in error, please notify the sender by return email and destroy all copies of the original message. Any confidential or legal professional privilege is not waived or lost by any mistaken delivery of the email. SPARQ Solutions accepts no responsibility for the content of any email which is sent by an employee which is of a personal nature.
Sender Details:
  SPARQ Solutions
  PO Box 15760 City East, Brisbane QLD Australia 4002
  +61 7 4931 2222
SPARQ Solutions policy is to not send unsolicited electronic messages. Suspected breaches of this policy can be reported by replying to this message including the original message and the word "UNSUBSCRIBE" in the subject.
*************************************************************************************
reply via email to

[Prev in Thread] Current Thread [Next in Thread]