cURL / Mailing Lists / curl-and-php / Single Mail

curl-and-php

Re: php/curl outstanding bug reports

From: Sterling Hughes <sterling_at_bumblebury.com>
Date: Tue, 22 Jan 2002 18:10:46 +0100

> Howdy
>
> I just had a look at http://bugs.php.net/search.php, and it currently lists
> four open "cURL related" bugs.
>
> Is there anything we/I can do to help fixing these?
>
    Well, yeah, and nooooo :)

    The reproducing some of these would be great, for example, bug
    #14902 is not reproducible by me, I've tried running the user's
    example script, and it works perfectly with PHP-CURL CVS... I can't debug
    the problem, unless I can reproduce it... (Bug URL:
    http://bugs.php.net/bug.php?id=14902)

    As for bug 15150, I'll spend some time getting the cause of this
    today, its definitely a bug, so (http://bugs.php.net/bug.php?id=15150)...

    The other two bugs #14787 and #14968, are due to a PHP <-> cURL
    incompatibility. You see, to solve the problems that people were
    having in PHP 4.0.6, we got smart (against my advice, but I was too
    busy at that time to argue it out :). And we did no initialization
    of curl via curl_global_init() if the OpenSSL extension was present
    (because that supposedly did the initialization for us), and
    initialized everything when the OpenSSL extension wasn't present
    (this was a flaw, because we never wanted to do the Win32 init, as
    that is done elsewhere, fixed in CVS).

    The problem now seems to be, that cURL initializes a different set
    of OpenSSL features than the OpenSSL extension does:

    OpenSSL_add_all_ciphers();
    OpenSSL_add_all_digests();
    OpenSSL_add_all_algorithms();

    ERR_load_ERR_strings();
    ERR_load_crypto_strings();
    ERR_load_EVP_strings();

    and:

    /* Determine default SSL configuration file */
    config_filename = getenv("OPENSSL_CONF");
    if (config_filename == NULL)
        config_filename = getenv("SSLEAY_CONF");
    if (config_filename == NULL) {
        snprintf(default_ssl_conf_filename,
                sizeof(default_ssl_conf_filename), "%s/%s",
                X509_get_default_cert_area(),
                OPENSSL_CONF);
    }
    else
        strncpy(default_ssl_conf_filename, config_filename,
                sizeof(default_ssl_conf_filename));

    Is the initialization that the OpenSSL extension does. This, I'm
    guessing, makes it so that libcurl now doesn't work when the OpenSSL
    extension is enabled.

    I'm at a loss for how to fix this, any thoughts?

    -Sterling

> --
> Daniel Stenberg -- curl groks URLs -- http://curl.haxx.se/
>
>
>
Received on 2002-01-22