Romain Godefroy
2012-01-30 15:56:40 UTC
Hi,
Our rabbit proxy is used through sattelite links. With this kind of
network, the first TCP/IP packets are sometimes very small (96 bytes).
Then we got this exception:
30 janv. 2012 14:51:21 rabbit.filter.ProxyAuth getError
ATTENTION: Bad url: HTTP/1.1
java.net.MalformedURLException: no protocol: HTTP/1.1
at java.net.URL.<init>(URL.java:583)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at rabbit.filter.ProxyAuth.getError(ProxyAuth.java:96)
at rabbit.filter.ProxyAuth.doHttpInFiltering(ProxyAuth.java:53)
at
rabbit.proxy.HttpHeaderFilterer$InFilterer.filter(HttpHeaderFilterer.java:54)
at rabbit.proxy.HttpHeaderFilterer.filter(HttpHeaderFilterer.java:44)
at
rabbit.proxy.HttpHeaderFilterer.filterHttpIn(HttpHeaderFilterer.java:80)
at rabbit.proxy.Connection.filterAndHandleRequest(Connection.java:292)
at rabbit.proxy.Connection.access$400(Connection.java:47)
at rabbit.proxy.Connection$1.run(Connection.java:268)
at
org.khelekore.rnio.impl.StatisticsCollector.run(StatisticsCollector.java:37)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
I tried to add debug output in the HttpHeaderParser lineRead method.
When we got the error, the first line of the HTTP is troncated:
on= HTTP/1.1
instead of
GET
http://www.google.fr/m/search?q=test&pbx=1&aq=&oq=&aqi=&fkt=&fsdt=&cqt=&rst=&htf=&his=&maction=
HTTP/1.1
I check with a wireshark network capture and the request is complete.
I think the parser can't handle the first line because it is longer than
the first packet and the buffer read doesn't restart from begining?
Could you confirm our analyze? How should we fix that?
Thank you.
Romain Godefroy
Our rabbit proxy is used through sattelite links. With this kind of
network, the first TCP/IP packets are sometimes very small (96 bytes).
Then we got this exception:
30 janv. 2012 14:51:21 rabbit.filter.ProxyAuth getError
ATTENTION: Bad url: HTTP/1.1
java.net.MalformedURLException: no protocol: HTTP/1.1
at java.net.URL.<init>(URL.java:583)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at rabbit.filter.ProxyAuth.getError(ProxyAuth.java:96)
at rabbit.filter.ProxyAuth.doHttpInFiltering(ProxyAuth.java:53)
at
rabbit.proxy.HttpHeaderFilterer$InFilterer.filter(HttpHeaderFilterer.java:54)
at rabbit.proxy.HttpHeaderFilterer.filter(HttpHeaderFilterer.java:44)
at
rabbit.proxy.HttpHeaderFilterer.filterHttpIn(HttpHeaderFilterer.java:80)
at rabbit.proxy.Connection.filterAndHandleRequest(Connection.java:292)
at rabbit.proxy.Connection.access$400(Connection.java:47)
at rabbit.proxy.Connection$1.run(Connection.java:268)
at
org.khelekore.rnio.impl.StatisticsCollector.run(StatisticsCollector.java:37)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
I tried to add debug output in the HttpHeaderParser lineRead method.
When we got the error, the first line of the HTTP is troncated:
on= HTTP/1.1
instead of
GET
http://www.google.fr/m/search?q=test&pbx=1&aq=&oq=&aqi=&fkt=&fsdt=&cqt=&rst=&htf=&his=&maction=
HTTP/1.1
I check with a wireshark network capture and the request is complete.
I think the parser can't handle the first line because it is longer than
the first packet and the buffer read doesn't restart from begining?
Could you confirm our analyze? How should we fix that?
Thank you.
Romain Godefroy