[wp-trac] [WordPress Trac] #54588: cURL incompatibility with Kaspersky (kesl)
WordPress Trac
noreply at wordpress.org
Mon Dec 6 12:46:21 UTC 2021
#54588: cURL incompatibility with Kaspersky (kesl)
--------------------------+-----------------------------
Reporter: mirkolofio | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
I'm facing an issue with some servers having kesl service (Kaspersky)
installed and running.
Sometimes wp_remote_* calls fails with error:
{{{
Scaricamento del pacchetto di installazione da
https://downloads.wordpress.org/plugin/jetpack.10.1.zip...
Warning: Il download non รจ andato a buon fine. "cURL error 18: transfer
closed with 332690 bytes remaining to read"
}}}
The number of bytes is completely randomic.
Since it's not consistent, I've prepared this script to be run over and
over (without wp-cli cache of course):
{{{
while :; do wp plugin install jetpack && wp plugin delete jetpack && rm
-rf /root/.wp-cli/cache/*; done
}}}
After digging a lot into WpOrg\Requests\Transport\cURL implementation I've
found these lines being the cause of the issue:
{{{#!php
<?php
// Force closing the connection for old versions of cURL (<7.22).
if (!isset($headers['Connection'])) {
$headers['Connection'] = 'close';
}
}}}
Disabling these lines, the issue disappear. Why aren't we checking the
cURL version here?
I would then suggest these changes:
1) Add a new const const CURL_7_22_0 = 0x071600
2) Check the version and add that header only if needed
--
Ticket URL: <https://core.trac.wordpress.org/ticket/54588>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list