[Rabbit-dev] bad url request error

Romain Godefroy rgodefroy at thalos.fr
Mon Jan 30 16:56:40 CET 2012


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




More information about the Rabbit-dev mailing list