Created attachment 40585 [details] [review]
Patch to avoid sending port number in URL when port is 80
Papyon 0.4.6 sends out requests to MSN's server that cause the server to return a 400 HTTP response ("Bad Request").
When such responses are received, telepathy-butterfly (through it's use of papyon) suffers from a huge memory leak. (about 200MB per hour on average)
In http://support.microsoft.com/kb/826437 you can see that the .Net framework 1.1 does not accept requests that contains ":" in the host name AND "&" in the URL because of a bug.
Papyon sends requests to port 80 to a URL of the form: http://126.96.36.199:80/gateway/gateway.dll?Action=poll&SessionID=962514443.0
The MSN server then responds to these responses with a '400 Bad Request' response.
These responses also result in a huge memory leak.
Since it is not necessary to send the port number with the URL when the port number is 80, I created a patch that avoids sending it in this case. This helps to avoid the 400 responses as well as the memory leak.
This attached patch relates to the papyon/gnet/protocol directory
OS - Ubuntu 10.04 64 bit with all latest updates.
So that patch fixes things for you ?! Weird.. what happens if the port is not 80 ? It accepts the extra ":" then ?
Do you have more info about the memory leak ? Where exactly does the response is leaked ? Thanks.