Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

cURL incompatibility with Kaspersky (kesl)

Aperta
#656 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 9 giorni

Una pull request collegata è già stata integrata.

  • #657 di @mircobabini — integrata

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
php
Ambito
networking

Direzione di ricerca

Inizia dall’implementazione WpOrg\Requests\Transport\cURL utilizzata dalle chiamate wp_remote_* e analizza la logica dell’header Connection insieme alla versione di cURL disponibile. Verifica il comportamento rispetto all’errore di trasferimento Kaspersky kesl segnalato; il lavoro è completato quando l’header è condizionale per le versioni meno recenti di cURL e il percorso di download esistente continua a funzionare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Status: triage

Summary

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
// 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

Your environment

Environment Answer
Operating system and version (e.g. Ubuntu 20.04, CentOS, tried both)
PHP version 7.4 (tried others as well)
Requests version provided with WordPress latest
Autoloader used WordPress
Link to your project into a vpn, not accessible through the internet

Tested against develop branch?

  • I have verified the issue still exists in the develop branch of Requests.
Lingua principale
PHP
Stelle
3.6k
Fork
503
Merge medio
10g 23h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di WordPress/Requests

Tutte le issue di WordPress/Requests

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.