> On Sept. 29, 2011, 8:08 p.m., Andreas Hartmetz wrote:
> > kioslave/http/http.cpp, line 4122
> > <http://git.reviewboard.kde.org/r/102696/diff/5/?file=37372#file37372line4122>
> >
> >     This looks like a hack and is, I think, surprising. It is a part of 
> > connection setup, where all the other similar variables  are set. Is it 
> > really necessary to move this here?
> >     Too distributed state changes in too many places are already a big 
> > problem in this ioslave, which is why I'm very sensitive to such things.

Hmm... I am confused here too. :) I completely removed that line. I did not 
move it there. Resetting the "isKeepAlive" flag in httpCloseConnection was a 
very big mistake because it will overwrite the settings we set in 
resetSessionSettings, especially if the connection happens to have been closed 
by the server already and a new one has to be established in ::sendQuery again. 
IOW, isKeepAlive will be set to false in that scenario when it should have been 
true as already set in ::resetSessionSettings.


> On Sept. 29, 2011, 8:08 p.m., Andreas Hartmetz wrote:
> > kioslave/http/http.cpp, line 2314
> > <http://git.reviewboard.kde.org/r/102696/diff/5/?file=37372#file37372line2314>
> >
> >     What if no next request is sent and the connection is supposed to get 
> > closed from our side?
> >     Waiting for the server to do it will probably work, but it would be 
> > "nicer" to do it ourself. What does the HTTP spec say?

Hmm... Confused. I only moved that piece of code from the bottom part of 
::sendQuery to the very top. I did not remove it completely. Did you intend 
this comment for another line perhaps ?


- Dawit


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102696/#review6928
-----------------------------------------------------------


On Sept. 27, 2011, 9:12 p.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102696/
> -----------------------------------------------------------
> 
> (Updated Sept. 27, 2011, 9:12 p.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Description
> -------
> 
> This 5th patch in a serious of patches meant to improve proxy support in KDE 
> deals with support at the kioslave level. More specifically the http ioslave. 
> The patch is necessary to provide proper support for PAC script based proxy 
> configuration. Namely allowing aleternate proxy servers to be specified and 
> used as necessary. Here are the change this patch makes:
> 
>      * Add a new function in TCPSlaveBase to connect to the a remote server 
> without 
>         automatically sending error notitification to the client. [NEW API]
>     
>      * Move the proxy related code from 'resetSessionSettings' to 
> 'httpOpenConnection'.
>        Proxy information will now be only set from 'setHost' and reset from 
>        'reparseConfiguration' as it should have been from the beginning. No 
> need to 
>        reparse proxy related information on every request.
>     
>      * Added a new variable, proxyUrls, to HTTPRequest to store the multiple 
> proxy URLs
>         obtained from the "ProxyUrls" meta-data.
>     
>      * Modified 'httpShouldCloseConnection' to account for multiple proxy 
> addresses.
>     
>      * Modified 'sendQuery' to connect to the remote server before formatting 
> the HTTP
>        headers so that the headers can properly reflect the correct proxy 
> settings.
> 
> 
> Diffs
> -----
> 
>   kio/kio/tcpslavebase.h 3f87ea8 
>   kio/kio/tcpslavebase.cpp ec70559 
>   kioslave/http/http.h d8c47c7 
>   kioslave/http/http.cpp 6d41a13 
> 
> Diff: http://git.reviewboard.kde.org/r/102696/diff/diff
> 
> 
> Testing
> -------
> 
> - Tested changes using a real proxy server, privoxy.
> 
> - Tested changes using a poor man's SOCKS proxy setup: 
>       ssh -D <port#> <ssh-server-address>
>    and the following PAC script:
> 
> function FindProxyForURL( url, host )
> {
>     var resolved_ip = dnsResolve(host);
>     
>     if (isInNet(resolved_ip, "127.0.0.1", "255.255.255.0"))
>         return "DIRECT";
> 
>     return "SOCKS 127.0.0.1:9999; DIRECT";
> }
> 
> 
> Thanks,
> 
> Dawit Alemayehu
> 
>

Reply via email to