I have reported IPN error related issue in detail on ubercart issue queue because it seems the same code has been used in uc_recurring as well.

The solutions to this problem (given by Tim) is as follows

According to #2555649: drupal_http_request() should allow caller to set the Host header drupal_http_request() ignores/overrides the 'Host' header if it provided in the options like the patch does. Also, drupal_http_request() is still HTTP 1.0 (despite 10 YEARS of issues trying to get it updated, see for example #104693: Always send HTTP/1.1 in headers) so just adding the 'Host' header is insufficient. Thus, this patch does nothing UNLESS you also use the chr module which replaces drupal_http_request() with a cURL implementation. If we are going to try to work around this Drupal core problem, then we might as well go the whole way and replace the drupal_http_request() with explicit calls to cURL methods rather than to depend on the chr module.

A better way, as I said in #4, is to just replace that one drupal_http_request() in uc_paypal with a curl_exec(). It's only a few lines of code for the replacement, and we already use curl in several other modules such as uc_authorizenet

Following the aforementioned details, I am addition patch for uc_recurring paypal ipn.

Please review the patch.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

sukh.singh created an issue. See original summary.

sukh.singh’s picture

vaccinemedia’s picture

@sukh.singh this patch no longer applies to the latest dev version of uc_recurring. Can you please re-roll against the latest dev and re-submit the patch?