Review Request: KIO Proxy Support Overhaul Part I: KPAC

Dawit Alemayehu adawit at
Tue Mar 29 22:38:37 BST 2011

This is an automatically generated e-mail. To reply, visit:

Review request for kdelibs.


This the first part of a series of patches designed to improve and bring KIO's proxy support to the levels of KDE 3.5 and beyond. As such this original patch attempts to fix KIO's Proxy Auto Configuration (PAC) detection code so that it works for as many people as possible out of the box. Here is the changelog from local commit:

    - Switched the PAC file parser from KJS to QtScript.
    - Implemented the Microsoft IPv6 PAC extensions.
    - Implemented support for returning SOCKS proxy information (only SOCKS5).
    - Added a new dbus call, proxiesForUrl, that returns all the proxy addresses
      for a given url.
    - Added a new kpactest file to test the new MS IPv6 extension functions.
    - Fixed the DateRange function by adding back two missing months in the static
      months array.
    - Fixed the DNS related functions by fixing how the lookup works through
      the following modification to the KIO DNS caching code:
        * Added a function, lookupCachedHostInfoFor, for quering the KIO cache for
          information without causing a DNS query.
        * Added a function, cacheLookup, for inserting a DNS lookup result into
          the KIO cache.
    - Fixed myIpAddress by using QNetworkInterface, though this fix is still far
      from ideal since it grabs the first suitable interface on multi-homed systems.

    Known Issues:
    - According to one MS documentation the IPv6 extensions were meant to be accessiable from FindProxyForURLEx function only. Not sure if that is how things are 
      in partcise, but this impementation does not have such restriction.

Please note that should actually be part of this patch set as well. However, that patch is a fix to a separate piece of helper program that can be backported to the 4.6 branch ; so it was split out into a separate patch.


  kio/kio/hostinfo.cpp be59358 
  kio/kio/hostinfo_p.h d416e65 
  kio/misc/kpac/CMakeLists.txt 3550c77 
  kio/misc/kpac/kpactest.pac fe98c10 
  kio/misc/kpac/kpactest2.pac PRE-CREATION 
  kio/misc/kpac/proxyscout.h ebac780 
  kio/misc/kpac/proxyscout.cpp 6c42337 
  kio/misc/kpac/script.h c802e04 
  kio/misc/kpac/script.cpp 89ceb82 



Made sure the unit tests in both kpactest.pac and kpactest2.pac pass as documented in those files.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the kde-core-devel mailing list