libcurl(?) bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi All,


I might found a bug, but I'm unsure and I'm unsure if it's libcurl or a php issue.


There is this code (got from a dev, I am a sysadmin):

<?php
  ini_set('display_errors', 1);
  error_reporting(E_ALL);

  $ch = curl_init();
  $url = '';
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 0);
  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  // ORIGINAL:
  //curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: xml/, text/, /\r\n"));

  // OK:
  //curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: /\r"));

  // NOK:
  curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: /\r\n"));

  $response = curl_exec($ch);
  if(curl_exec($ch) === false) $response .= curl_error($ch);
  curl_close($ch);

  print_r($response);
?>

There is an extra HTTP header is like this and it works:

  curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: /\r"));


It does not work if it looks like this:

  curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: /\r\n"));


Or it works if the $url is not https, but http.


The original code worked on Debian 9 and Ubuntu 18.04 and does not work on Debian 10 and Ubuntu 20.04 and no matters if PHP comes from Sury's PPA or from the original distribution.

That's why libcurl is suspicious to me.


Do you have any thoughts on this?


10x

tamas


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux