pajoye Sun Jan 25 16:28:19 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/curl interface.c Log: - MFH - [DOC] Add support for SSH via libssh2 - new constants: CURLE_SSH, CURLSSH_AUTH_NONE, CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD, CURLSSH_AUTH_DEFAULT, CURLOPT_SSH_AUTH_TYPES, CURLOPT_KEYPASSWD, CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 See http://curl.haxx.se/libcurl/c/curl_easy_setopt.html fortheir roles or usages http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.27.2.26&r2=1.62.2.14.2.27.2.27&diff_format=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.62.2.14.2.27.2.26 php-src/ext/curl/interface.c:1.62.2.14.2.27.2.27 --- php-src/ext/curl/interface.c:1.62.2.14.2.27.2.26 Wed Dec 31 11:15:35 2008 +++ php-src/ext/curl/interface.c Sun Jan 25 16:28:18 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.62.2.14.2.27.2.26 2008/12/31 11:15:35 sebastian Exp $ */ +/* $Id: interface.c,v 1.62.2.14.2.27.2.27 2009/01/25 16:28:18 pajoye Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -433,7 +433,7 @@ } #endif -#if defined(CURLVERSION_FOURTH) && CURLVERSION_NOW >= CURLVERSION_FOURTH +#if LIBCURL_VERSION_NUM >= 0x071300 if (d->iconv_ver_num) { php_info_print_table_row(2, "IconV Version", d->iconv_ver_num); @@ -696,7 +696,9 @@ #if LIBCURL_VERSION_NUM >= 0x070b00 REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED); #endif - +#if LIBCURL_VERSION_NUM >= 0x071300 + REGISTER_CURL_CONSTANT(CURLE_SSH); +#endif REGISTER_CURL_CONSTANT(CURLPROXY_HTTP); REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5); @@ -732,6 +734,22 @@ REGISTER_CURL_CONSTANT(CURLFTPSSL_ALL); #endif +/* SSH support works in 7.19.0+ using libssh2 */ +#if LIBCURL_VERSION_NUM >= 0x071300 + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_NONE); + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PUBLICKEY); + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PASSWORD); + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_HOST); + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_KEYBOARD); + REGISTER_CURL_CONSTANT(CURLSSH_AUTH_DEFAULT); + REGISTER_CURL_CONSTANT(CURLOPT_SSH_AUTH_TYPES); + REGISTER_CURL_CONSTANT(CURLOPT_KEYPASSWD); + REGISTER_CURL_CONSTANT(CURLOPT_SSH_PUBLIC_KEYFILE); + REGISTER_CURL_CONSTANT(CURLOPT_SSH_PRIVATE_KEYFILE); + REGISTER_CURL_CONSTANT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5); + REGISTER_CURL_CONSTANT(CURLE_SSH); +#endif + #ifdef PHP_CURL_NEED_OPENSSL_TSL if (!CRYPTO_get_id_callback()) { int i, c = CRYPTO_num_locks(); @@ -1442,14 +1460,23 @@ case CURLOPT_SSLENGINE: case CURLOPT_SSLENGINE_DEFAULT: case CURLOPT_SSLCERTTYPE: - case CURLOPT_ENCODING: { + case CURLOPT_ENCODING: +#if LIBCURL_VERSION_NUM >= 0x071300 + case CURLOPT_SSH_PUBLIC_KEYFILE: + case CURLOPT_SSH_PRIVATE_KEYFILE: +#endif + { #if LIBCURL_VERSION_NUM < 0x071100 char *copystr = NULL; #endif convert_to_string_ex(zvalue); - if (option == CURLOPT_URL) { + if (option == CURLOPT_URL +#if LIBCURL_VERSION_NUM >= 0x071300 + || option == CURLOPT_SSH_PUBLIC_KEYFILE || option == CURLOPT_SSH_PRIVATE_KEYFILE +#endif + ) { PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue), 1); } @@ -1471,7 +1498,7 @@ FILE *fp = NULL; int type; void * what; - + what = zend_fetch_resource(zvalue TSRMLS_CC, -1, "File-Handle", &type, 1, php_file_le_stream()); if (!what) { RETVAL_FALSE;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php