2008/11/10 Pierre-Alain Joye <[EMAIL PROTECTED]>:
> pajoye          Mon Nov 10 22:58:44 2008 UTC
>
>  Modified files:
>    /php-src/ext/curl   interface.c
>  Log:
>  - make the curl phpinfo more verbose
>
> http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.128&r2=1.129&diff_format=u
> Index: php-src/ext/curl/interface.c
> diff -u php-src/ext/curl/interface.c:1.128 php-src/ext/curl/interface.c:1.129
> --- php-src/ext/curl/interface.c:1.128  Sun Nov  2 21:10:07 2008
> +++ php-src/ext/curl/interface.c        Mon Nov 10 22:58:44 2008
> @@ -16,7 +16,7 @@
>    +----------------------------------------------------------------------+
>  */
>
> -/* $Id: interface.c,v 1.128 2008/11/02 21:10:07 felipe Exp $ */
> +/* $Id: interface.c,v 1.129 2008/11/10 22:58:44 pajoye Exp $ */
>
>  #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
>
> @@ -336,9 +336,94 @@
>  */
>  PHP_MINFO_FUNCTION(curl)
>  {
> +       curl_version_info_data *d;
> +       char **p;
> +       char str[1024];
> +       size_t n = 0;
> +
> +
> +       d = curl_version_info(CURLVERSION_NOW);
>        php_info_print_table_start();
>        php_info_print_table_row(2, "cURL support",    "enabled");
> -       php_info_print_table_row(2, "cURL Information", curl_version());
> +       php_info_print_table_row(2, "cURL Information", d->version);
> +       sprintf(str, "%d", d->age);
> +       php_info_print_table_row(2, "Age", str);
> +
> +
> +       if (d->features & CURL_VERSION_IPV6) {
> +               n = sprintf(str, "%s", "IPv6-enabled, ");
> +       }
> +       if (d->features & CURL_VERSION_KERBEROS4) {
> +                       n += sprintf(str + n, "%s", "kerberos auth is 
> supported, ");
> +       }
> +       if (d->features & CURL_VERSION_SSL) {
> +                       n += sprintf(str + n, "%s", "SSL options are present, 
> ");
> +       }
> +       if (d->features & CURL_VERSION_LIBZ) {
> +                       n += sprintf(str + n, "%s", "libz features are 
> present, ");
> +       }
> +       if (d->features & CURL_VERSION_NTLM) {
> +                       n += sprintf(str + n, "%s", "NTLM auth is supported, 
> ");
> +       }
> +       if (d->features & CURL_VERSION_GSSNEGOTIATE) {
> +                       n += sprintf(str + n, "%s", "Negotiate auth support, 
> ");
> +       }
> +       if (d->features & CURL_VERSION_DEBUG) {
> +                       n += sprintf(str + n, "%s", "built with debug 
> capabilities, ");
> +       }
> +       if (d->features & CURL_VERSION_ASYNCHDNS) {
> +                       n += sprintf(str + n, "%s", "asynchronous dns 
> resolves, ");
> +       }
> +       if (d->features & CURL_VERSION_SPNEGO) {
> +                       n += sprintf(str + n, "%s", "SPNEGO auth, ");
> +       }
> +       if (d->features & CURL_VERSION_LARGEFILE) {
> +                       n += sprintf(str + n, "%s", "supports files bigger 
> than 2GB, ");
> +       }
> +       if (d->features & CURL_VERSION_IDN) {
> +                       n += sprintf(str + n, "%s", "International Domain 
> Names support, ");
> +       }
> +       if (d->features & CURL_VERSION_SSPI) {
> +                       n += sprintf(str + n, "%s", "SSPI is supported, ");
> +       }
> +       if (d->features & CURL_VERSION_CONV) {
> +                       n += sprintf(str + n, "%s", "character conversions 
> are supported, ");
> +       }
> +
> +       if (n > 3) {
> +               str[n - 2] = '\0';
> +       }
> +       php_info_print_table_row(2, "Features", str);
> +       n = 0;
> +       p = (char **) d->protocols;
> +       while (*p != NULL) {
> +                       n += sprintf(str + n, "%s%s", *p, *(p + 1) != NULL ? 
> ", " : "");
> +                       p++;
> +       }
> +       php_info_print_table_row(2, "Protocols", str);
> +
> +       php_info_print_table_row(2, "Host", d->host);
> +
> +       if (d->ssl_version) {
> +               php_info_print_table_row(2, "SSL Version", d->ssl_version);
> +       }
> +
> +       if (d->libz_version) {
> +               php_info_print_table_row(2, "ZLib Version", d->libz_version);
> +       }
> +
> +       if (d->libz_version) {
> +               php_info_print_table_row(2, "libIDN Version", d->libidn);
> +       }
> +
> +       if (d->iconv_ver_num) {
> +               php_info_print_table_row(2, "IconV Version", 
> d->iconv_ver_num);
> +       }
> +
> +       if (d->libssh_version) {
> +               php_info_print_table_row(2, "libSSH Version", 
> d->libssh_version);
> +       }
> +
>        php_info_print_table_end();
>  }
>  /* }}} */
>

I don't remember which versions that ext/curl minimum supports, but
the CURL_VERSION_CONV was added in 7.15.4 so unless thats below the
minimum version required 7.15.4 is required.

Also adding the CURL_VERSION_* constants to userland so they can use
the bitmask exposed by curl_version()['features'] to check for such
features might be a good ideal :)



-- 
Kalle Sommer Nielsen

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to