[wp-trac] [WordPress Trac] #22913: Plugin Updater fails behind HTTP Proxy

WordPress Trac noreply at wordpress.org
Wed Dec 19 13:50:03 UTC 2012


#22913: Plugin Updater fails behind HTTP Proxy
-------------------------------+------------------------------
 Reporter:  samthorne          |       Owner:
     Type:  defect (bug)       |      Status:  new
 Priority:  normal             |   Milestone:  Awaiting Review
Component:  Upgrade/Install    |     Version:  3.5
 Severity:  normal             |  Resolution:
 Keywords:  reporter-feedback  |
-------------------------------+------------------------------

Comment (by samthorne):

 I'm trying to determine which kind of proxy software we use, but probably
 wont find out until after Christmas.
 The proxy has a content filter which I believe is keyword and
 blacklist/whitelist based, though I'm not certain.
 It doesn't automatically block zip archives, I can download the hotfix.zip
 myself and it unzips with no problems.

 The proxy server is an authenticated proxy defined in wp-config using:

 {{{
 define('WP_PROXY_HOST', '...');
 define('WP_PROXY_PORT', '10080');
 define('WP_PROXY_USERNAME', '...');
 define('WP_PROXY_PASSWORD', '...');
 define('WP_PROXY_BYPASS_HOSTS', 'localhost');
 }}}

 HTTP test returns:

 {{{
 Array
 (
     [headers] => Array
         (
             [server] => nginx
             [date] => Wed, 19 Dec 2012 10:59:33 GMT
             [content-type] => application/octet-stream
             [pragma] => no-cache
             [cache-control] => private
             [content-description] => File Transfer
             [content-disposition] => attachment; filename=hotfix.1.0.zip
             [x-nc] => MISS luv 139
             [connection] => close
             [content-encoding] => deflate
             [age] => 0
         )

     [body] => 11507: 504b03040a0000000000
     [response] => Array
         (
             [code] => 200
             [message] => OK
         )

 )
 }}}

 I performed the same test with the hotfix file downloaded through my
 browser not via the proxy and then hosted on localhost:

 {{{
 Array
 (
     [headers] => Array
         (
             [date] => Wed, 19 Dec 2012 11:39:28 GMT
             [server] => Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with
 Suhosin-Patch mod_ssl/2.2.22 OpenSSL/0.9.8r
             [last-modified] => Wed, 19 Dec 2012 11:37:33 GMT
             [etag] => "bad04d-2cf3-4d1330a49f940"
             [accept-ranges] => bytes
             [content-length] => 11507
             [connection] => close
             [content-type] => application/zip
         )

     [body] => 11507: 504b03040a0000000000
     [response] => Array
         (
             [code] => 200
             [message] => OK
         )

 )
 }}}
 The only difference is the content-type which are both valid anyway.


 I then tried adding a copy() call in download_url() in file.php,
 duplicating the downloaded zip into tmp before anything else happens to
 it.
 This file is corrupted, I have attached it here.

 I'm not sure what this means though, how can the proxy corrupt it when WP
 downloads it but not when the browser downloads it?

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/22913#comment:2>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list