[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-07-02 Thread Ilia Alshanetsky
iliaa   Thu Jul  2 13:42:24 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns
  on files that have been opened with r+).
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.174r2=1.175diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.174 php-src/ext/curl/interface.c:1.175
--- php-src/ext/curl/interface.c:1.174  Sat Jun 27 21:20:25 2009
+++ php-src/ext/curl/interface.cThu Jul  2 13:42:24 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.174 2009/06/27 21:20:25 pajoye Exp $ */
+/* $Id: interface.c,v 1.175 2009/07/02 13:42:24 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1665,7 +1665,7 @@
error = CURLE_OK;
switch (option) {
case CURLOPT_FILE:
-   if (((php_stream *) what)-mode[0] != 
'r') {
+   if (((php_stream *) what)-mode[0] != 
'r' || ((php_stream *) what)-mode[1] == '+') {

zend_list_addref(Z_LVAL_PP(zvalue));
ch-handlers-write-fp = fp;
ch-handlers-write-method = 
PHP_CURL_FILE;
@@ -1676,7 +1676,7 @@
}
break;
case CURLOPT_WRITEHEADER:
-   if (((php_stream *) what)-mode[0] != 
'r') {
+   if (((php_stream *) what)-mode[0] != 
'r' || ((php_stream *) what)-mode[1] == '+') {

zend_list_addref(Z_LVAL_PP(zvalue));
ch-handlers-write_header-fp 
= fp;

ch-handlers-write_header-method = PHP_CURL_FILE;
@@ -1692,7 +1692,7 @@
ch-handlers-read-fd = 
Z_LVAL_PP(zvalue);
break;
case CURLOPT_STDERR:
-   if (((php_stream *) what)-mode[0] != 
'r') {
+   if (((php_stream *) what)-mode[0] != 
'r' || ((php_stream *) what)-mode[1] == '+') {
if (ch-handlers-std_err) {

zval_ptr_dtor(ch-handlers-std_err);
}



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-06-27 Thread Pierre-Alain Joye
pajoye  Sat Jun 27 21:20:25 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - fix regression introduced by the fix for #48518 (Ilia, Rasmus)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.173r2=1.174diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.173 php-src/ext/curl/interface.c:1.174
--- php-src/ext/curl/interface.c:1.173  Mon Jun 15 12:38:57 2009
+++ php-src/ext/curl/interface.cSat Jun 27 21:20:25 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.173 2009/06/15 12:38:57 iliaa Exp $ */
+/* $Id: interface.c,v 1.174 2009/06/27 21:20:25 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2118,6 +2118,14 @@
RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 1);
}
 
+   /* flush the file handle, so any remaining data is synched to disk */
+   if (ch-handlers-write-method == PHP_CURL_FILE  
ch-handlers-write-fp) {
+   fflush(ch-handlers-write-fp);
+   }
+   if (ch-handlers-write_header-method == PHP_CURL_FILE  
ch-handlers-write_header-fp) {
+   fflush(ch-handlers-write_header-fp);
+   }
+
if (ch-handlers-write-method == PHP_CURL_RETURN) {
RETURN_EMPTY_STRING();
} else {



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-06-15 Thread Ilia Alshanetsky
iliaa   Mon Jun 15 12:38:57 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: 48518
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.172r2=1.173diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.172 php-src/ext/curl/interface.c:1.173
--- php-src/ext/curl/interface.c:1.172  Fri Jun 12 20:43:29 2009
+++ php-src/ext/curl/interface.cMon Jun 15 12:38:57 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.172 2009/06/12 20:43:29 felipe Exp $ */
+/* $Id: interface.c,v 1.173 2009/06/15 12:38:57 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2113,14 +2113,11 @@
RETURN_FALSE;
}
 
-   ch-uses++;
-
if (ch-handlers-write-method == PHP_CURL_RETURN  
ch-handlers-write-buf.len  0) {
-   --ch-uses;
smart_str_0(ch-handlers-write-buf);
RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 1);
}
-   --ch-uses;
+
if (ch-handlers-write-method == PHP_CURL_RETURN) {
RETURN_EMPTY_STRING();
} else {



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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/curl/tests bug48514.phpt

2009-06-12 Thread Felipe Pena
felipe  Fri Jun 12 20:43:29 2009 UTC

  Added files: 
/php-src/ext/curl/tests bug48514.phpt 

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fixed bug #48514 (cURL extension uses same resource name for simple and 
multi APIs)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.171r2=1.172diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.171 php-src/ext/curl/interface.c:1.172
--- php-src/ext/curl/interface.c:1.171  Thu Jun 11 09:46:27 2009
+++ php-src/ext/curl/interface.cFri Jun 12 20:43:29 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.171 2009/06/11 09:46:27 tony2001 Exp $ */
+/* $Id: interface.c,v 1.172 2009/06/12 20:43:29 felipe Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -456,7 +456,7 @@
 PHP_MINIT_FUNCTION(curl)
 {
le_curl = zend_register_list_destructors_ex(_php_curl_close, NULL, 
curl, module_number);
-   le_curl_multi_handle = 
zend_register_list_destructors_ex(_php_curl_multi_close, NULL, curl, 
module_number);
+   le_curl_multi_handle = 
zend_register_list_destructors_ex(_php_curl_multi_close, NULL, curl_multi, 
module_number);
 
/* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions
   or curl src/docs/libcurl/symbols-in-versions for a (almost) complete 
list

http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/bug48514.phpt?view=markuprev=1.1
Index: php-src/ext/curl/tests/bug48514.phpt
+++ php-src/ext/curl/tests/bug48514.phpt
--TEST--
Bug #48514 (cURL extension uses same resource name for simple and multi APIs)
--FILE--
?php

$ch1 = curl_init();
var_dump($ch1);
var_dump(get_resource_type($ch1));

$ch2 = curl_multi_init();
var_dump($ch2);
var_dump(get_resource_type($ch2));

?
--EXPECTF--
resource(4) of type (curl)
%string|unicode%(4) curl
resource(5) of type (curl_multi)
%string|unicode%(10) curl_multi



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-06-11 Thread Antony Dovgal
tony2001Thu Jun 11 09:46:28 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix bug #48518 (curl crashes when writing into invalid file handle)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.170r2=1.171diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.170 php-src/ext/curl/interface.c:1.171
--- php-src/ext/curl/interface.c:1.170  Wed Jun 10 11:09:48 2009
+++ php-src/ext/curl/interface.cThu Jun 11 09:46:27 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.170 2009/06/10 11:09:48 tony2001 Exp $ */
+/* $Id: interface.c,v 1.171 2009/06/11 09:46:27 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1666,6 +1666,7 @@
switch (option) {
case CURLOPT_FILE:
if (((php_stream *) what)-mode[0] != 
'r') {
+   
zend_list_addref(Z_LVAL_PP(zvalue));
ch-handlers-write-fp = fp;
ch-handlers-write-method = 
PHP_CURL_FILE;
} else {
@@ -1676,6 +1677,7 @@
break;
case CURLOPT_WRITEHEADER:
if (((php_stream *) what)-mode[0] != 
'r') {
+   
zend_list_addref(Z_LVAL_PP(zvalue));
ch-handlers-write_header-fp 
= fp;

ch-handlers-write_header-method = PHP_CURL_FILE;
} else {



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-06-10 Thread Antony Dovgal
tony2001Wed Jun 10 11:09:48 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix arginfo for curl_multi_info_read()
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.169r2=1.170diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.169 php-src/ext/curl/interface.c:1.170
--- php-src/ext/curl/interface.c:1.169  Thu May 28 09:45:20 2009
+++ php-src/ext/curl/interface.cWed Jun 10 11:09:48 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.169 2009/05/28 09:45:20 tony2001 Exp $ */
+/* $Id: interface.c,v 1.170 2009/06/10 11:09:48 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -278,7 +278,7 @@
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_info_read, 0, 0, 1)
ZEND_ARG_INFO(0, mh)
-   ZEND_ARG_INFO(0, msgs_in_queue)
+   ZEND_ARG_INFO(1, msgs_in_queue)
 ZEND_END_ARG_INFO()
 
 ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_close, 0)



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



[PHP-CVS] cvs: php-src /ext/curl interface.c php_curl.h

2009-05-28 Thread Jani Taskinen
janiThu May 28 09:09:03 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c php_curl.h 
  Log:
  - Fix build for winblows
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.167r2=1.168diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.167 php-src/ext/curl/interface.c:1.168
--- php-src/ext/curl/interface.c:1.167  Tue May 26 15:48:28 2009
+++ php-src/ext/curl/interface.cThu May 28 09:09:02 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.167 2009/05/26 15:48:28 jani Exp $ */
+/* $Id: interface.c,v 1.168 2009/05/28 09:09:02 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1691,11 +1691,11 @@
break;
case CURLOPT_STDERR:
if (((php_stream *) what)-mode[0] != 
'r') {
-   if (ch-handlers-stderr) {
-   
zval_ptr_dtor(ch-handlers-stderr);
+   if (ch-handlers-std_err) {
+   
zval_ptr_dtor(ch-handlers-std_err);
}
zval_add_ref(zvalue);
-   ch-handlers-stderr = *zvalue;
+   ch-handlers-std_err = *zvalue;

zend_list_addref(Z_LVAL_PP(zvalue));
} else {
php_error_docref(NULL 
TSRMLS_CC, E_WARNING, the provided file handle is not writable);
@@ -2349,8 +2349,8 @@
 #endif
 
/* Prevent crash inside cURL if passed file has already been closed */
-   if (ch-handlers-stderr  Z_REFCOUNT_P(ch-handlers-stderr) = 0) {
-   curl_easy_setopt(ch-cp, CURLOPT_STDERR, stderr);
+   if (ch-handlers-std_err  Z_REFCOUNT_P(ch-handlers-std_err) = 0) {
+   curl_easy_setopt(ch-cp, CURLOPT_STDERR, std_err);
}
 
curl_easy_cleanup(ch-cp);
@@ -2378,8 +2378,8 @@
if (ch-handlers-passwd) {
zval_ptr_dtor(ch-handlers-passwd);
}
-   if (ch-handlers-stderr) {
-   zval_ptr_dtor(ch-handlers-stderr);
+   if (ch-handlers-std_err) {
+   zval_ptr_dtor(ch-handlers-std_err);
}
if (ch-header.str_len  0) {
efree(ch-header.str);
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/php_curl.h?r1=1.54r2=1.55diff_format=u
Index: php-src/ext/curl/php_curl.h
diff -u php-src/ext/curl/php_curl.h:1.54 php-src/ext/curl/php_curl.h:1.55
--- php-src/ext/curl/php_curl.h:1.54Tue May 26 15:48:28 2009
+++ php-src/ext/curl/php_curl.h Thu May 28 09:09:02 2009
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: php_curl.h,v 1.54 2009/05/26 15:48:28 jani Exp $ */
+/* $Id: php_curl.h,v 1.55 2009/05/28 09:09:02 jani Exp $ */
 
 #ifndef _PHP_CURL_H
 #define _PHP_CURL_H
@@ -107,7 +107,7 @@
php_curl_write *write_header;
php_curl_read  *read;
zval   *passwd;
-   zval   *stderr;
+   zval   *std_err;
php_curl_progress *progress;
 } php_curl_handlers;
 



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-28 Thread Antony Dovgal
tony2001Thu May 28 09:45:20 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix build
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.168r2=1.169diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.168 php-src/ext/curl/interface.c:1.169
--- php-src/ext/curl/interface.c:1.168  Thu May 28 09:09:02 2009
+++ php-src/ext/curl/interface.cThu May 28 09:45:20 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.168 2009/05/28 09:09:02 jani Exp $ */
+/* $Id: interface.c,v 1.169 2009/05/28 09:45:20 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2350,7 +2350,7 @@
 
/* Prevent crash inside cURL if passed file has already been closed */
if (ch-handlers-std_err  Z_REFCOUNT_P(ch-handlers-std_err) = 0) {
-   curl_easy_setopt(ch-cp, CURLOPT_STDERR, std_err);
+   curl_easy_setopt(ch-cp, CURLOPT_STDERR, stderr);
}
 
curl_easy_cleanup(ch-cp);



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-28 Thread Jani Taskinen

Strike 2 for me.. duh.

Thanks for fixing that one..a bit too greedy search and replace. :)

--Jani


Antony Dovgal wrote:

tony2001Thu May 28 09:45:20 2009 UTC

  Modified files:  
/php-src/ext/curl	interface.c 
  Log:

  fix build
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.168r2=1.169diff_format=u

Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.168 php-src/ext/curl/interface.c:1.169
--- php-src/ext/curl/interface.c:1.168  Thu May 28 09:09:02 2009
+++ php-src/ext/curl/interface.cThu May 28 09:45:20 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.168 2009/05/28 09:09:02 jani Exp $ */

+/* $Id: interface.c,v 1.169 2009/05/28 09:45:20 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2350,7 +2350,7 @@
 
 	/* Prevent crash inside cURL if passed file has already been closed */

if (ch-handlers-std_err  Z_REFCOUNT_P(ch-handlers-std_err) = 0) {
-   curl_easy_setopt(ch-cp, CURLOPT_STDERR, std_err);
+   curl_easy_setopt(ch-cp, CURLOPT_STDERR, stderr);
}
 
 	curl_easy_cleanup(ch-cp);







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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-28 Thread Antony Dovgal
On 28.05.2009 14:50, Jani Taskinen wrote:
 Strike 2 for me.. duh.
 
 Thanks for fixing that one..a bit too greedy search and replace. :)

You're welcome, Jani =)

-- 
Wbr, 
Antony Dovgal
---
http://pinba.org - realtime statistics for PHP

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



[PHP-CVS] cvs: php-src /ext/curl interface.c php_curl.h

2009-05-26 Thread Jani Taskinen
janiTue May 26 15:48:28 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c php_curl.h 
  Log:
  - Fixed bug #48203 (crash when CURLOPT_STDERR is set to regular file)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.166r2=1.167diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.166 php-src/ext/curl/interface.c:1.167
--- php-src/ext/curl/interface.c:1.166  Thu May 21 12:52:59 2009
+++ php-src/ext/curl/interface.cTue May 26 15:48:28 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.166 2009/05/21 12:52:59 iliaa Exp $ */
+/* $Id: interface.c,v 1.167 2009/05/26 15:48:28 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -459,7 +459,7 @@
le_curl_multi_handle = 
zend_register_list_destructors_ex(_php_curl_multi_close, NULL, curl, 
module_number);
 
/* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions
-  or curl src/docs/libcurl/symbols-in-versions for a (almost) complete 
list 
+  or curl src/docs/libcurl/symbols-in-versions for a (almost) complete 
list
   of options and which version they were introduced */
 
/* Constants for curl_setopt() */
@@ -1689,6 +1689,20 @@
ch-handlers-read-fp = fp;
ch-handlers-read-fd = 
Z_LVAL_PP(zvalue);
break;
+   case CURLOPT_STDERR:
+   if (((php_stream *) what)-mode[0] != 
'r') {
+   if (ch-handlers-stderr) {
+   
zval_ptr_dtor(ch-handlers-stderr);
+   }
+   zval_add_ref(zvalue);
+   ch-handlers-stderr = *zvalue;
+   
zend_list_addref(Z_LVAL_PP(zvalue));
+   } else {
+   php_error_docref(NULL 
TSRMLS_CC, E_WARNING, the provided file handle is not writable);
+   RETVAL_FALSE;
+   return 1;
+   }
+   /* break omitted intentionally */
default:
error = curl_easy_setopt(ch-cp, 
option, fp);
break;
@@ -2334,6 +2348,11 @@
fprintf(stderr, DTOR CALLED, ch = %x\n, ch);
 #endif
 
+   /* Prevent crash inside cURL if passed file has already been closed */
+   if (ch-handlers-stderr  Z_REFCOUNT_P(ch-handlers-stderr) = 0) {
+   curl_easy_setopt(ch-cp, CURLOPT_STDERR, stderr);
+   }
+
curl_easy_cleanup(ch-cp);
 #if LIBCURL_VERSION_NUM  0x071101
zend_llist_clean(ch-to_free.str);
@@ -2353,12 +2372,15 @@
if (ch-handlers-write_header-func_name) {
zval_ptr_dtor(ch-handlers-write_header-func_name);
}
-   if(ch-handlers-progress-func_name) {
+   if (ch-handlers-progress-func_name) {
zval_ptr_dtor(ch-handlers-progress-func_name);
}
if (ch-handlers-passwd) {
zval_ptr_dtor(ch-handlers-passwd);
}
+   if (ch-handlers-stderr) {
+   zval_ptr_dtor(ch-handlers-stderr);
+   }
if (ch-header.str_len  0) {
efree(ch-header.str);
}
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/php_curl.h?r1=1.53r2=1.54diff_format=u
Index: php-src/ext/curl/php_curl.h
diff -u php-src/ext/curl/php_curl.h:1.53 php-src/ext/curl/php_curl.h:1.54
--- php-src/ext/curl/php_curl.h:1.53Sun May  3 14:58:06 2009
+++ php-src/ext/curl/php_curl.h Tue May 26 15:48:28 2009
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: php_curl.h,v 1.53 2009/05/03 14:58:06 pajoye Exp $ */
+/* $Id: php_curl.h,v 1.54 2009/05/26 15:48:28 jani Exp $ */
 
 #ifndef _PHP_CURL_H
 #define _PHP_CURL_H
@@ -107,6 +107,7 @@
php_curl_write *write_header;
php_curl_read  *read;
zval   *passwd;
+   zval   *stderr;
php_curl_progress *progress;
 } php_curl_handlers;
 



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-21 Thread Ilia Alshanetsky
iliaa   Thu May 21 12:52:59 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out
  when working with a non-writable stream)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.165r2=1.166diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.165 php-src/ext/curl/interface.c:1.166
--- php-src/ext/curl/interface.c:1.165  Wed May 20 09:26:03 2009
+++ php-src/ext/curl/interface.cThu May 21 12:52:59 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.165 2009/05/20 09:26:03 tony2001 Exp $ */
+/* $Id: interface.c,v 1.166 2009/05/21 12:52:59 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1665,12 +1665,24 @@
error = CURLE_OK;
switch (option) {
case CURLOPT_FILE:
-   ch-handlers-write-fp = fp;
-   ch-handlers-write-method = 
PHP_CURL_FILE;
+   if (((php_stream *) what)-mode[0] != 
'r') {
+   ch-handlers-write-fp = fp;
+   ch-handlers-write-method = 
PHP_CURL_FILE;
+   } else {
+   php_error_docref(NULL 
TSRMLS_CC, E_WARNING, the provided file handle is not writable);
+   RETVAL_FALSE;
+   return 1;
+   }
break;
case CURLOPT_WRITEHEADER:
-   ch-handlers-write_header-fp = fp;
-   ch-handlers-write_header-method = 
PHP_CURL_FILE;
+   if (((php_stream *) what)-mode[0] != 
'r') {
+   ch-handlers-write_header-fp 
= fp;
+   
ch-handlers-write_header-method = PHP_CURL_FILE;
+   } else {
+   php_error_docref(NULL 
TSRMLS_CC, E_WARNING, the provided file handle is not writable);
+   RETVAL_FALSE;
+   return 1;
+   }
break;
case CURLOPT_INFILE:
zend_list_addref(Z_LVAL_PP(zvalue));



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-20 Thread Antony Dovgal
On 18.05.2009 16:03, Pierre-Alain Joye wrote:
   while (*p != NULL) {
 - add_next_index_ascii_string(protocol_list, *p, 1);
 - *p++;
 + add_next_index_ascii_string(protocol_list, *p++, 1);

HEAD chokes on this line.

Program terminated with signal 11, Segmentation fault.
#0  0x7f2b3a0e39c0 in u_charsToUChars_4_0 () from /usr/lib64/libicuuc.so.40
(gdb) bt
#0  0x7f2b3a0e39c0 in u_charsToUChars_4_0 () from /usr/lib64/libicuuc.so.40
#1  0x0056c46e in zend_ascii_to_unicode (cs=0x0, cs_size=5, 
__zend_filename=0x9efd10 /local/qa/head/ext/curl/interface.c, 
__zend_lineno=1296)
at /local/qa/head/Zend/zend_unicode.h:157
#2  0x0056c366 in zif_curl_version (ht=0, return_value=0x11c4e70, 
return_value_ptr=0x7f2b3cc62138, this_ptr=0x0, return_value_used=1)
at /local/qa/head/ext/curl/interface.c:1296
#3  0x0089dc41 in zend_do_fcall_common_helper_SPEC 
(execute_data=0x7f2b3cc62090) at /local/qa/head/Zend/zend_vm_execute.h:321
#4  0x008a31f3 in ZEND_DO_FCALL_SPEC_CONST_HANDLER 
(execute_data=0x7f2b3cc62090) at /local/qa/head/Zend/zend_vm_execute.h:1588
#5  0x0089cebc in execute (op_array=0x11c5ad8) at 
/local/qa/head/Zend/zend_vm_execute.h:104
#6  0x008617ac in zend_execute_scripts (type=8, retval=0x0, 
file_count=3) at /local/qa/head/Zend/zend.c:1752
#7  0x007d9df2 in php_execute_script (primary_file=0x7fff44d972f0) at 
/local/qa/head/main/main.c:2298
#8  0x00958999 in main (argc=60, argv=0x7fff44d97538) at 
/local/qa/head/sapi/cli/php_cli.c:1192
(gdb) f 2
#2  0x0056c366 in zif_curl_version (ht=0, return_value=0x11c4e70, 
return_value_ptr=0x7f2b3cc62138, this_ptr=0x0, return_value_used=1)
at /local/qa/head/ext/curl/interface.c:1296
1296add_next_index_ascii_string(protocol_list, 
*p++, 1);


-- 
Wbr, 
Antony Dovgal

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-20 Thread Antony Dovgal
tony2001Wed May 20 09:26:04 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix segfault
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.164r2=1.165diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.164 php-src/ext/curl/interface.c:1.165
--- php-src/ext/curl/interface.c:1.164  Tue May 19 18:08:13 2009
+++ php-src/ext/curl/interface.cWed May 20 09:26:03 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.164 2009/05/19 18:08:13 kalle Exp $ */
+/* $Id: interface.c,v 1.165 2009/05/20 09:26:03 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1293,7 +1293,8 @@
array_init(protocol_list);
 
while (*p != NULL) {
-   add_next_index_ascii_string(protocol_list, *p++, 1);
+   add_next_index_ascii_string(protocol_list, *p, 1);
+   p++;
}
CAAZ(protocols, protocol_list);
}



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



[PHP-CVS] cvs: php-src /ext/curl interface.c streams.c

2009-05-19 Thread Kalle Sommer Nielsen
kalle   Tue May 19 18:08:13 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c streams.c 
  Log:
  Fixed compiler warnings
  
  # Is it intended that curl_progress should cast to long rather than keeping 
the 
  # double? Or doesn't it matter?
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.163r2=1.164diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.163 php-src/ext/curl/interface.c:1.164
--- php-src/ext/curl/interface.c:1.163  Mon May 18 12:50:44 2009
+++ php-src/ext/curl/interface.cTue May 19 18:08:13 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.163 2009/05/18 12:50:44 jani Exp $ */
+/* $Id: interface.c,v 1.164 2009/05/19 18:08:13 kalle Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -967,10 +967,10 @@
MAKE_STD_ZVAL(zultotal);
MAKE_STD_ZVAL(zulnow);
 
-   ZVAL_LONG(zdltotal, dltotal);
-   ZVAL_LONG(zdlnow, dlnow);
-   ZVAL_LONG(zultotal, ultotal);
-   ZVAL_LONG(zulnow, ulnow);
+   ZVAL_LONG(zdltotal, (long) dltotal);
+   ZVAL_LONG(zdlnow, (long) dlnow);
+   ZVAL_LONG(zultotal, (long) ultotal);
+   ZVAL_LONG(zulnow, (long) ulnow);
 
argv[0] = zdltotal;
argv[1] = zdlnow;
@@ -1071,7 +1071,7 @@
 #endif
} else if (retval_ptr) {
if (Z_TYPE_P(retval_ptr) == IS_STRING) {
-   length = MIN(size * nmemb, 
Z_STRLEN_P(retval_ptr));
+   length = MIN((int) (size * nmemb), 
Z_STRLEN_P(retval_ptr));
memcpy(data, Z_STRVAL_P(retval_ptr), 
length);
}
zval_ptr_dtor(retval_ptr);
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/streams.c?r1=1.33r2=1.34diff_format=u
Index: php-src/ext/curl/streams.c
diff -u php-src/ext/curl/streams.c:1.33 php-src/ext/curl/streams.c:1.34
--- php-src/ext/curl/streams.c:1.33 Tue May  5 00:30:40 2009
+++ php-src/ext/curl/streams.c  Tue May 19 18:08:13 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: streams.c,v 1.33 2009/05/05 00:30:40 jani Exp $ */
+/* $Id: streams.c,v 1.34 2009/05/19 18:08:13 kalle Exp $ */
 
 /* This file implements cURL based wrappers.
  * NOTE: If you are implementing your own streams that are intended to
@@ -132,7 +132,7 @@
 
/* our notification system only works in a single direction; we should 
detect which
 * direction is important and use the correct values in this call */
-   php_stream_notify_progress(stream-context, dlnow, dltotal);
+   php_stream_notify_progress(stream-context, (size_t) dlnow, (size_t) 
dltotal);
return 0;
 }
 



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Pierre-Alain Joye
pajoye  Mon May 18 11:40:25 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - MFB: - disable file:// when  open_basedir are enabled
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.157r2=1.158diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.157 php-src/ext/curl/interface.c:1.158
--- php-src/ext/curl/interface.c:1.157  Fri May  8 03:32:54 2009
+++ php-src/ext/curl/interface.cMon May 18 11:40:25 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.157 2009/05/08 03:32:54 shire Exp $ */
+/* $Id: interface.c,v 1.158 2009/05/18 11:40:25 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -147,6 +147,7 @@
 #endif
 /* }}} */
 
+static void _php_curl_close_ex(php_curl *ch TSRMLS_DC);
 static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
 
 #define SAVE_CURL_ERROR(__handle, __err) (__handle)-err.no = (int) __err;
@@ -162,29 +163,44 @@
  #define php_curl_ret(__ret) RETVAL_FALSE; return;
 #endif
 
-#define PHP_CURL_CHECK_OPEN_BASEDIR(str, len, __ret)   
\
-   if ((PG(open_basedir)  *PG(open_basedir))   
  \
-   strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
-   {   

\
-   php_url *tmp_url;   

\
-   
\
-   if (!(tmp_url = php_url_parse_ex(str, len))) {  
\
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
URL '%s', str);   \
-   php_curl_ret(__ret);
\
-   }   

\
-   
\
-   if (!php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {   \
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, URL '%s' 
contains unencoded control characters, str); \
-   php_url_free(tmp_url);  

\
-   php_curl_ret(__ret);
\
-   }   
\
-   

\
-   if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC)) { \
-   php_url_free(tmp_url);  

\
-   php_curl_ret(__ret);
\
-   }   

\
-   php_url_free(tmp_url);  

\
+static int php_curl_option_url(php_curl *ch, const char *url, const int len) {
+   CURLcode error=CURLE_OK;
+#if LIBCURL_VERSION_NUM  0x071100
+   char *copystr = NULL;
+#endif
+   TSRMLS_FETCH();
+
+   /* Disable file:// if open_basedir or safe_mode are used */
+   if ((PG(open_basedir)  *PG(open_basedir))) {
+#if LIBCURL_VERSION_NUM = 0x071304
+   error = curl_easy_setopt(ch-cp, CURLOPT_PROTOCOLS, 
CURLPROTO_ALL  ~CURLPROTO_FILE);
+#else
+   php_url *uri;
+
+   if (!(uri = php_url_parse_ex(url, len))) {
+   php_error_docref(NULL 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Pierre-Alain Joye
pajoye  Mon May 18 11:48:56 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - WS
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.158r2=1.159diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.158 php-src/ext/curl/interface.c:1.159
--- php-src/ext/curl/interface.c:1.158  Mon May 18 11:40:25 2009
+++ php-src/ext/curl/interface.cMon May 18 11:48:56 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.158 2009/05/18 11:40:25 pajoye Exp $ */
+/* $Id: interface.c,v 1.159 2009/05/18 11:48:56 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2000,7 +2000,7 @@
 PHP_FUNCTION(curl_setopt)
 {
zval   *zid, **zvalue;
-   long   options;
+   longoptions;
php_curl*ch;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, zlZ, zid, 
options, zvalue) == FAILURE) {



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Pierre-Alain Joye
pajoye  Mon May 18 11:50:29 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - return NULL on invalid args
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.159r2=1.160diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.159 php-src/ext/curl/interface.c:1.160
--- php-src/ext/curl/interface.c:1.159  Mon May 18 11:48:56 2009
+++ php-src/ext/curl/interface.cMon May 18 11:50:29 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.159 2009/05/18 11:48:56 pajoye Exp $ */
+/* $Id: interface.c,v 1.160 2009/05/18 11:50:29 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -2117,7 +2117,7 @@
longoption = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z|l, zid, 
option) == FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Pierre-Alain Joye
pajoye  Mon May 18 12:03:05 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - sync with 5.3
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.160r2=1.161diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.160 php-src/ext/curl/interface.c:1.161
--- php-src/ext/curl/interface.c:1.160  Mon May 18 11:50:29 2009
+++ php-src/ext/curl/interface.cMon May 18 12:03:05 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.160 2009/05/18 11:50:29 pajoye Exp $ */
+/* $Id: interface.c,v 1.161 2009/05/18 12:03:05 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1298,8 +1298,7 @@
array_init(protocol_list);
 
while (*p != NULL) {
-   add_next_index_ascii_string(protocol_list, *p, 1);
-   *p++;
+   add_next_index_ascii_string(protocol_list, *p++, 1);
}
CAAZ(protocols, protocol_list);
}
@@ -1411,7 +1410,7 @@
php_curl*ch, *dupch;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Jani Taskinen
Can't you do it all in one commit? Now you've littered the log with 
these half-assed commits, and STILL didn't do everything..there are 
several RETURN_FALSE;'s there where simple return is necessary.


--Jani


Pierre-Alain Joye wrote:

pajoye  Mon May 18 12:03:05 2009 UTC

  Modified files:  
/php-src/ext/curl	interface.c 
  Log:

  - sync with 5.3
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.160r2=1.161diff_format=u

Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.160 php-src/ext/curl/interface.c:1.161
--- php-src/ext/curl/interface.c:1.160  Mon May 18 11:50:29 2009
+++ php-src/ext/curl/interface.cMon May 18 12:03:05 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.160 2009/05/18 11:50:29 pajoye Exp $ */

+/* $Id: interface.c,v 1.161 2009/05/18 12:03:05 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1298,8 +1298,7 @@

array_init(protocol_list);
 
 		while (*p != NULL) {

-   add_next_index_ascii_string(protocol_list, *p, 1);
-   *p++;
+   add_next_index_ascii_string(protocol_list, *p++, 1);
}
CAAZ(protocols, protocol_list);
}
@@ -1411,7 +1410,7 @@
php_curl*ch, *dupch;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == FAILURE) {

-   RETURN_FALSE;
+   return;
}
 
 	ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);







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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Pierre Joye
On Mon, May 18, 2009 at 2:07 PM, Jani Taskinen jani.taski...@sci.fi wrote:
 Can't you do it all in one commit? Now you've littered the log with these
 half-assed commits, and STILL didn't do everything..there are several
 RETURN_FALSE;'s there where simple return is necessary.

I do, only missed the 2nd one... but I'm done now anyway. It is
already less painful to merge head and 5.3

-- 
Pierre

http://blog.thepimp.net | http://www.libgd.org

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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Jani Taskinen

Pierre Joye wrote:

On Mon, May 18, 2009 at 2:07 PM, Jani Taskinen jani.taski...@sci.fi wrote:

Can't you do it all in one commit? Now you've littered the log with these
half-assed commits, and STILL didn't do everything..there are several
RETURN_FALSE;'s there where simple return is necessary.


I do, only missed the 2nd one... but I'm done now anyway. It is
already less painful to merge head and 5.3


You have missed 8 invalid parameters returning false parts.
Also while adding the file:// thing, you added CS violating stuff, 
didn't add folding tags..etc.


--Jani


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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Jani Taskinen
janiMon May 18 12:14:25 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fix CS
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.161r2=1.162diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.161 php-src/ext/curl/interface.c:1.162
--- php-src/ext/curl/interface.c:1.161  Mon May 18 12:03:05 2009
+++ php-src/ext/curl/interface.cMon May 18 12:14:25 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.161 2009/05/18 12:03:05 pajoye Exp $ */
+/* $Id: interface.c,v 1.162 2009/05/18 12:14:25 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -158,13 +158,14 @@
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #if defined(PHP_WIN32) || defined(__GNUC__)
- #define php_curl_ret(__ret) RETVAL_FALSE; return __ret;
+# define php_curl_ret(__ret) RETVAL_FALSE; return __ret;
 #else
- #define php_curl_ret(__ret) RETVAL_FALSE; return;
+# define php_curl_ret(__ret) RETVAL_FALSE; return;
 #endif
 
-static int php_curl_option_url(php_curl *ch, const char *url, const int len) {
-   CURLcode error=CURLE_OK;
+static int php_curl_option_url(php_curl *ch, const char *url, const int len) 
/* {{{ */
+{
+   CURLcode error = CURLE_OK;
 #if LIBCURL_VERSION_NUM  0x071100
char *copystr = NULL;
 #endif
@@ -201,6 +202,7 @@
 
return (error == CURLE_OK ? 1 : 0);
 }
+/* }}} */
 
 /* {{{ arginfo */
 ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_version, 0, 0, 0)
@@ -347,7 +349,7 @@
php_info_print_table_row(2, Age, str);
 
/* To update on each new cURL release using src/main.c in cURL sources 
*/
-   if(d-features) {
+   if (d-features) {
struct feat {
const char *name;
int bitmask;
@@ -458,7 +460,6 @@
le_curl = zend_register_list_destructors_ex(_php_curl_close, NULL, 
curl, module_number);
le_curl_multi_handle = 
zend_register_list_destructors_ex(_php_curl_multi_close, NULL, curl, 
module_number);
 
-
/* See http://curl.haxx.se/lxr/source/docs/libcurl/symbols-in-versions
   or curl src/docs/libcurl/symbols-in-versions for a (almost) complete 
list 
   of options and which version they were introduced */
@@ -939,11 +940,7 @@
 
 /* {{{ curl_progress
  */
-static size_t curl_progress(void *clientp,
-double dltotal,
-double dlnow,
-double ultotal,
-double ulnow)
+static size_t curl_progress(void *clientp, double dltotal, double dlnow, 
double ultotal, double ulnow)
 {
php_curl   *ch = (php_curl *) clientp;
php_curl_progress  *t  = ch-handlers-progress;
@@ -1017,7 +1014,6 @@
 }
 /* }}} */
 
-
 /* {{{ curl_read
  */
 static size_t curl_read(char *data, size_t size, size_t nmemb, void *ctx)
@@ -1340,7 +1336,7 @@
zend_uchar  url_type = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, url, 
url_len, url_type) == FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
if (url.v  url_type == IS_UNICODE) {
@@ -2003,7 +1999,7 @@
php_curl*ch;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, zlZ, zid, 
options, zvalue) == FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
@@ -2024,11 +2020,11 @@
php_curl*ch;
ulong   option;
HashPositionpos;
-   zstrstring_key;
-   uintstr_key_len;
+   zstrstring_key;
+   uintstr_key_len;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, za, zid, arr) 
== FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
@@ -2074,7 +2070,7 @@
php_curl*ch;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
-   RETURN_FALSE;
+   return;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
@@ -2203,13 +2199,13 @@
case CURLINFO_PRIVATE:
case CURLINFO_EFFECTIVE_URL:
case CURLINFO_CONTENT_TYPE: {
-   char *s_code = NULL;
+   char *s_code = NULL;
 
-   if (curl_easy_getinfo(ch-cp, option, s_code) 
== CURLE_OK  s_code) {
-   RETURN_ASCII_STRING(s_code, 1);
-   } else {
-   RETURN_FALSE;
-   }
+   if (curl_easy_getinfo(ch-cp, option, 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-18 Thread Jani Taskinen
janiMon May 18 12:50:44 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - fix CS, merged one parameter parsing patch missing from HEAD
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.162r2=1.163diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.162 php-src/ext/curl/interface.c:1.163
--- php-src/ext/curl/interface.c:1.162  Mon May 18 12:14:25 2009
+++ php-src/ext/curl/interface.cMon May 18 12:50:44 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.162 2009/05/18 12:14:25 jani Exp $ */
+/* $Id: interface.c,v 1.163 2009/05/18 12:50:44 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -284,7 +284,6 @@
 ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_close, 0)
ZEND_ARG_INFO(0, mh)
 ZEND_END_ARG_INFO()
-
 /* }}} */
 
 /* {{{ curl_functions[]
@@ -361,7 +360,6 @@
 #if LIBCURL_VERSION_NUM  0x070a06 /* 7.10.7 */
{AsynchDNS, CURL_VERSION_ASYNCHDNS},
 #endif
-
 #if LIBCURL_VERSION_NUM  0x070a05 /* 7.10.6 */
{Debug, CURL_VERSION_DEBUG},
{GSS-Negotiate, CURL_VERSION_GSSNEGOTIATE},
@@ -999,8 +997,9 @@
if (Z_TYPE_P(retval_ptr) != IS_LONG) {
convert_to_long_ex(retval_ptr);
}
-   if(0 != Z_LVAL_P(retval_ptr))
+   if (0 != Z_LVAL_P(retval_ptr)) {
rval = 1;
+   }
zval_ptr_dtor(retval_ptr);
}
zval_ptr_dtor(argv[0]);
@@ -1405,7 +1404,7 @@
zval*zid;
php_curl*ch, *dupch;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r, zid) == 
FAILURE) {
return;
}
 
@@ -1621,7 +1620,6 @@
}
}
 #endif
-
if (option == CURLOPT_URL) {
if (!php_curl_option_url(ch, 
Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue))) {
RETVAL_FALSE;
@@ -1637,7 +1635,6 @@
zend_llist_add_element(ch-to_free.str, 
copystr);
 #endif
}
-
break;
}
case CURLOPT_FILE:
@@ -1760,11 +1757,11 @@
struct HttpPost  *first = NULL;
struct HttpPost  *last  = NULL;
char *postval;
-   zstr string_key;
-   char *key;
-   ulongnum_key;
-   uint string_key_len;
-   int  type = -1;
+   zstr  string_key;
+   char *key;
+   ulong num_key;
+   uint  string_key_len;
+   int   type = -1;
 
postfields = HASH_OF(*zvalue);
if (!postfields) {
@@ -1995,10 +1992,10 @@
 PHP_FUNCTION(curl_setopt)
 {
zval   *zid, **zvalue;
-   longoptions;
-   php_curl*ch;
+   longoptions;
+   php_curl   *ch;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, zlZ, zid, 
options, zvalue) == FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, rlZ, zid, 
options, zvalue) == FAILURE) {
return;
}
 
@@ -2069,7 +2066,7 @@
zval*zid;
php_curl*ch;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r, zid) == 
FAILURE) {
return;
}
 
@@ -2111,7 +2108,7 @@
php_curl*ch;
longoption = 0;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z|l, zid, 
option) == FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r|l, zid, 
option) == FAILURE) {
return;
}
 
@@ -2262,7 +2259,7 @@
zval*zid;
php_curl*ch;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, r, zid) == 
FAILURE) {
return;
}
 
@@ -2280,7 +2277,7 @@
zval*zid;
php_curl*ch;
 
-   if 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-04 Thread Pierre-Alain Joye
pajoye  Mon May  4 12:12:40 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - [DOC] #47739. add option CURLOPT_IPRESOLVE which accepts 
CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4 or CURL_IPRESOLVE_V6
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.153r2=1.154diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.153 php-src/ext/curl/interface.c:1.154
--- php-src/ext/curl/interface.c:1.153  Sun May  3 21:47:52 2009
+++ php-src/ext/curl/interface.cMon May  4 12:12:40 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.153 2009/05/03 21:47:52 pajoye Exp $ */
+/* $Id: interface.c,v 1.154 2009/05/04 12:12:40 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -443,6 +443,10 @@
le_curl_multi_handle = 
zend_register_list_destructors_ex(_php_curl_multi_close, NULL, curl, 
module_number);
 
/* Constants for curl_setopt() */
+   REGISTER_CURL_CONSTANT(CURLOPT_IPRESOLVE);
+   REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_WHATEVER);
+   REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_V4);
+   REGISTER_CURL_CONSTANT(CURL_IPRESOLVE_V6);
REGISTER_CURL_CONSTANT(CURLOPT_DNS_USE_GLOBAL_CACHE);
REGISTER_CURL_CONSTANT(CURLOPT_DNS_CACHE_TIMEOUT);
REGISTER_CURL_CONSTANT(CURLOPT_PORT);
@@ -1525,6 +1529,7 @@
case CURLOPT_REDIR_PROTOCOLS:
case CURLOPT_PROTOCOLS:
 #endif
+   case CURLOPT_IPRESOLVE:
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;



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



[PHP-CVS] cvs: php-src /ext/curl interface.c php_curl.h

2009-05-03 Thread Pierre-Alain Joye
pajoye  Sun May  3 14:58:06 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c php_curl.h 
  Log:
  - [DOC] #41712, implement  progress callback
- add constants CURLOPT_NOPROGRESS and CURLOPT_PROGRESSFUNCTION
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.149r2=1.150diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.149 php-src/ext/curl/interface.c:1.150
--- php-src/ext/curl/interface.c:1.149  Mon Mar 16 15:05:21 2009
+++ php-src/ext/curl/interface.cSun May  3 14:58:06 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.149 2009/03/16 15:05:21 felipe Exp $ */
+/* $Id: interface.c,v 1.150 2009/05/03 14:58:06 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -456,6 +456,7 @@
REGISTER_CURL_CONSTANT(CURLOPT_HEADER);
REGISTER_CURL_CONSTANT(CURLOPT_HTTPHEADER);
REGISTER_CURL_CONSTANT(CURLOPT_NOPROGRESS);
+   REGISTER_CURL_CONSTANT(CURLOPT_PROGRESSFUNCTION);
REGISTER_CURL_CONSTANT(CURLOPT_NOBODY);
REGISTER_CURL_CONSTANT(CURLOPT_FAILONERROR);
REGISTER_CURL_CONSTANT(CURLOPT_UPLOAD);
@@ -902,6 +903,87 @@
 }
 /* }}} */
 
+/* {{{ curl_progress
+ */
+static size_t curl_progress(void *clientp,
+double dltotal,
+double dlnow,
+double ultotal,
+double ulnow)
+{
+   php_curl   *ch = (php_curl *) clientp;
+   php_curl_progress  *t  = ch-handlers-progress;
+   int length = -1;
+   size_t  rval = 0;
+
+#if PHP_CURL_DEBUG
+   fprintf(stderr, curl_progress() called\n);
+   fprintf(stderr, clientp = %x, dltotal = %f, dlnow = %f, ultotal = %f, 
ulnow = %f\n, clientp, dltotal, dlnow, ultotal, ulnow);
+#endif
+
+   switch (t-method) {
+   case PHP_CURL_USER: {
+   zval **argv[4];
+   zval  *zdltotal = NULL;
+   zval  *zdlnow = NULL;
+   zval  *zultotal = NULL;
+   zval  *zulnow = NULL;
+   zval  *retval_ptr;
+   int   error;
+   zend_fcall_info fci;
+   TSRMLS_FETCH_FROM_CTX(ch-thread_ctx);
+
+   MAKE_STD_ZVAL(zdltotal);
+   MAKE_STD_ZVAL(zdlnow);
+   MAKE_STD_ZVAL(zultotal);
+   MAKE_STD_ZVAL(zulnow);
+   
+   ZVAL_LONG(zdltotal, dltotal);
+   ZVAL_LONG(zdlnow, dlnow);
+   ZVAL_LONG(zultotal, ultotal);
+   ZVAL_LONG(zulnow, ulnow);
+
+   argv[0] = zdltotal;
+   argv[1] = zdlnow;
+   argv[2] = zultotal;
+   argv[3] = zulnow;
+
+   fci.size = sizeof(fci);
+   fci.function_table = EG(function_table);
+   fci.function_name = t-func_name;
+   fci.object_ptr = NULL;
+   fci.retval_ptr_ptr = retval_ptr;
+   fci.param_count = 4;
+   fci.params = argv;
+   fci.no_separation = 0;
+   fci.symbol_table = NULL;
+
+   ch-in_callback = 1;
+   error = zend_call_function(fci, t-fci_cache 
TSRMLS_CC);
+   ch-in_callback = 0;
+   if (error == FAILURE) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
Cannot call the CURLOPT_READFUNCTION); 
+   length = -1;
+   } else if (retval_ptr) {
+   if (Z_TYPE_P(retval_ptr) != IS_LONG) {
+   convert_to_long_ex(retval_ptr);
+   }
+   if(0 != Z_LVAL_P(retval_ptr))
+   rval = 1;
+   zval_ptr_dtor(retval_ptr);
+   }
+   zval_ptr_dtor(argv[0]);
+   zval_ptr_dtor(argv[1]);
+   zval_ptr_dtor(argv[2]);
+   zval_ptr_dtor(argv[3]);
+   break;
+   }
+   }
+   return rval;
+}
+/* }}} */
+
+
 /* {{{ curl_read
  */
 static size_t curl_read(char *data, size_t size, size_t nmemb, void *ctx)
@@ -1199,6 +1281,7 @@
(*ch)-handlers-write= ecalloc(1, sizeof(php_curl_write));
(*ch)-handlers-write_header = ecalloc(1, sizeof(php_curl_write));
(*ch)-handlers-read = ecalloc(1, sizeof(php_curl_read));
+   (*ch)-handlers-progress = ecalloc(1, sizeof(php_curl_progress));
 
(*ch)-in_callback = 0;

[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-05-03 Thread Pierre-Alain Joye
pajoye  Sun May  3 21:47:52 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - #47966, cannot access curl info array without binary
To check: why add_assoc_ascii_string_ex fails while add_assoc_ascii_string 
works
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.152r2=1.153diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.152 php-src/ext/curl/interface.c:1.153
--- php-src/ext/curl/interface.c:1.152  Sun May  3 15:16:24 2009
+++ php-src/ext/curl/interface.cSun May  3 21:47:52 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.152 2009/05/03 15:16:24 pajoye Exp $ */
+/* $Id: interface.c,v 1.153 2009/05/03 21:47:52 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -153,7 +153,7 @@
 
 #define CAAL(s, v) add_assoc_long_ex(return_value, s, sizeof(s), (long) v);
 #define CAAD(s, v) add_assoc_double_ex(return_value, s, sizeof(s), (double) v);
-#define CAAS(s, v) add_assoc_ascii_string_ex(return_value, s, sizeof(s), (char 
*) (v ? v : ), 1);
+#define CAAS(s, v) add_ascii_assoc_string(return_value, s, (v ? v : ), 1);
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #if defined(PHP_WIN32) || defined(__GNUC__)



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-03-16 Thread Felipe Pena
felipe  Mon Mar 16 15:05:21 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fixed bug #47616 (curl keeps crashing)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.148r2=1.149diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.148 php-src/ext/curl/interface.c:1.149
--- php-src/ext/curl/interface.c:1.148  Fri Mar 13 19:41:48 2009
+++ php-src/ext/curl/interface.cMon Mar 16 15:05:21 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.148 2009/03/13 19:41:48 stas Exp $ */
+/* $Id: interface.c,v 1.149 2009/03/16 15:05:21 felipe Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1747,6 +1747,7 @@
 
} else {
 #if LIBCURL_VERSION_NUM = 0x071101
+   convert_to_string_ex(zvalue);
/* with curl 7.17.0 and later, we can use 
COPYPOSTFIELDS, but we have to provide size before */
error = curl_easy_setopt(ch-cp, 
CURLOPT_POSTFIELDSIZE, Z_STRLEN_PP(zvalue));
error = curl_easy_setopt(ch-cp, 
CURLOPT_COPYPOSTFIELDS, Z_STRVAL_PP(zvalue));



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-03-13 Thread Stanislav Malyshev
stasFri Mar 13 19:41:48 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  add new CURL options
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.147r2=1.148diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.147 php-src/ext/curl/interface.c:1.148
--- php-src/ext/curl/interface.c:1.147  Tue Mar 10 23:39:11 2009
+++ php-src/ext/curl/interface.cFri Mar 13 19:41:48 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.147 2009/03/10 23:39:11 helly Exp $ */
+/* $Id: interface.c,v 1.148 2009/03/13 19:41:48 stas Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -734,6 +734,24 @@
REGISTER_CURL_CONSTANT(CURLE_SSH);
 #endif
 
+#if LIBCURL_VERSION_NUM = 0x071304
+   REGISTER_CURL_CONSTANT(CURLOPT_REDIR_PROTOCOLS);
+   REGISTER_CURL_CONSTANT(CURLOPT_PROTOCOLS);
+   REGISTER_CURL_CONSTANT(CURLPROTO_HTTP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_HTTPS);
+   REGISTER_CURL_CONSTANT(CURLPROTO_FTP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_FTPS);
+   REGISTER_CURL_CONSTANT(CURLPROTO_SCP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_SFTP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_TELNET);
+   REGISTER_CURL_CONSTANT(CURLPROTO_LDAP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_LDAPS);
+   REGISTER_CURL_CONSTANT(CURLPROTO_DICT);
+   REGISTER_CURL_CONSTANT(CURLPROTO_FILE);
+   REGISTER_CURL_CONSTANT(CURLPROTO_TFTP);
+   REGISTER_CURL_CONSTANT(CURLPROTO_ALL);
+#endif
+
 #ifdef PHP_CURL_NEED_OPENSSL_TSL
if (!CRYPTO_get_id_callback()) {
int i, c = CRYPTO_num_locks();
@@ -1420,6 +1438,10 @@
 #if LIBCURL_VERSION_NUM  0x070b01 /* CURLOPT_TCP_NODELAY is available since 
curl 7.11.2 */
case CURLOPT_TCP_NODELAY:
 #endif
+#if LIBCURL_VERSION_NUM = 0x71304
+   case CURLOPT_REDIR_PROTOCOLS:
+   case CURLOPT_PROTOCOLS:
+#endif
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-01-26 Thread Ilia Alshanetsky
iliaa   Mon Jan 26 15:21:50 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed bug #47217 (content-type is not set properly for file uploads)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.145r2=1.146diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.145 php-src/ext/curl/interface.c:1.146
--- php-src/ext/curl/interface.c:1.145  Sun Jan 25 23:02:18 2009
+++ php-src/ext/curl/interface.cMon Jan 26 15:21:49 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.145 2009/01/25 23:02:18 tony2001 Exp $ */
+/* $Id: interface.c,v 1.146 2009/01/26 15:21:49 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -378,7 +378,7 @@
 #if LIBCURL_VERSION_NUM  0x070f03 /* 7.15.4 */
{CharConv, CURL_VERSION_CONV},
 #endif
-   NULL, 0
+   {NULL, 0}
};
 
php_info_print_table_row(1, Features);
@@ -1686,14 +1686,13 @@
return 1;
}
if (type) {
-   type++;
error = 
curl_formadd(first, last, 

 CURLFORM_COPYNAME, key,

 CURLFORM_NAMELENGTH, l,

 CURLFORM_FILE, postval,
-   
 CURLFORM_CONTENTTYPE, type,
+   
 CURLFORM_CONTENTTYPE, type + sizeof(;type=) - 1,

 CURLFORM_END);
-   *(type - 1) = ';';
+   *type = ';';
} else {
error = 
curl_formadd(first, last, 

 CURLFORM_COPYNAME, key,



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-01-25 Thread Pierre-Alain Joye
pajoye  Sun Jan 25 16:27:27 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - [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.141r2=1.142diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.141 php-src/ext/curl/interface.c:1.142
--- php-src/ext/curl/interface.c:1.141  Wed Dec 31 11:12:30 2008
+++ php-src/ext/curl/interface.cSun Jan 25 16:27:25 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.141 2008/12/31 11:12:30 sebastian Exp $ */
+/* $Id: interface.c,v 1.142 2009/01/25 16:27:25 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -431,7 +431,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);
@@ -694,7 +694,9 @@
 #if LIBCURL_VERSION_NUM = 0x070b00
REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED);
 #endif
-
+#ifdef LIBCURL_VERSION_NUM = 0x071300
+   REGISTER_CURL_CONSTANT(CURLE_SSH);
+#endif
REGISTER_CURL_CONSTANT(CURLPROXY_HTTP);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS4);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5);
@@ -731,6 +733,22 @@
REGISTER_CURL_CONSTANT(CURLFTPSSL_ALL);
 #endif
 
+/* SSH support works in 7.19.0+ using libssh2 */
+#ifdef 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();
@@ -1454,14 +1472,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);
}
 



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-01-25 Thread Pierre-Alain Joye
pajoye  Sun Jan 25 17:12:24 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - nicer features list
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.142r2=1.143diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.142 php-src/ext/curl/interface.c:1.143
--- php-src/ext/curl/interface.c:1.142  Sun Jan 25 16:27:25 2009
+++ php-src/ext/curl/interface.cSun Jan 25 17:12:22 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.142 2009/01/25 16:27:25 pajoye Exp $ */
+/* $Id: interface.c,v 1.143 2009/01/25 17:12:22 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -330,77 +330,65 @@
sprintf(str, %d, d-age);
php_info_print_table_row(2, Age, str);
 
-#ifdef CURL_VERSION_IPV6
-   if (d-features  CURL_VERSION_IPV6) {
-   n = sprintf(str, %s, IPv6-enabled, );
-   }
-#endif
-
-#ifdef CURL_VERSION_KERBEROS4
-   if (d-features  CURL_VERSION_KERBEROS4) {
-   n += sprintf(str + n, %s, kerberos auth is 
supported, );
-   }
-#endif
+   /* To update on each new cURL release using src/main.c in cURL sources 
*/
+   if(d-features) {
+   struct feat {
+   const char *name;
+   int bitmask;
+   };
 
-#ifdef CURL_VERSION_SSL
-   if (d-features  CURL_VERSION_SSL) {
-   n += sprintf(str + n, %s, SSL options are present, 
);
-   }
-#endif
+   unsigned int i;
 
-#ifdef CURL_VERSION_LIBZ
-   if (d-features  CURL_VERSION_LIBZ) {
-   n += sprintf(str + n, %s, libz features are present, 
);
-   }
+   static const struct feat feats[] = {
+#if LIBCURL_VERSION_NUM  0x070a06 /* 7.10.7 */
+   {AsynchDNS, CURL_VERSION_ASYNCHDNS},
 #endif
 
 #if LIBCURL_VERSION_NUM  0x070a05 /* 7.10.6 */
-   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, );
-   }
+   {Debug, CURL_VERSION_DEBUG},
+   {GSS-Negotiate, CURL_VERSION_GSSNEGOTIATE},
 #endif
-
-#if LIBCURL_VERSION_NUM  0x070a06 /* 7.10.7 */
-   if (d-features  CURL_VERSION_ASYNCHDNS) {
-   n += sprintf(str + n, %s, asynchronous dns resolves, 
);
-   }
+#if LIBCURL_VERSION_NUM  0x070b02 /* 7.12.0 */
+   {IDN, CURL_VERSION_IDN},
 #endif
-#if LIBCURL_VERSION_NUM  0x070a07 /* 7.10.8 */
-   if (d-features  CURL_VERSION_SPNEGO) {
-   n += sprintf(str + n, %s, SPNEGO auth, );
-   }
+#ifdef CURL_VERSION_IPV6
+   {IPv6, CURL_VERSION_IPV6},
 #endif
 #if LIBCURL_VERSION_NUM  0x070a09 /* 7.10.1 */
-   if (d-features  CURL_VERSION_LARGEFILE) {
-   n += sprintf(str + n, %s, supports files bigger than 
2GB, );
-   }
+   {Largefile, CURL_VERSION_LARGEFILE},
 #endif
-#if LIBCURL_VERSION_NUM  0x070b02 /* 7.12.0 */
-   if (d-features  CURL_VERSION_IDN) {
-   n += sprintf(str + n, %s, International Domain Names 
support, );
-   }
+#if LIBCURL_VERSION_NUM  0x070a05 /* 7.10.6 */
+   {NTLM, CURL_VERSION_NTLM},
+#endif
+#if LIBCURL_VERSION_NUM  0x070a07 /* 7.10.8 */
+   {SPNEGO, CURL_VERSION_SPNEGO},
+#endif
+#ifdef CURL_VERSION_SSL
+   {SSL,  CURL_VERSION_SSL},
 #endif
 #if LIBCURL_VERSION_NUM  0x070d01 /* 7.13.2 */
-   if (d-features  CURL_VERSION_SSPI) {
-   n += sprintf(str + n, %s, SSPI is supported, );
-   }
+   {SSPI,  CURL_VERSION_SSPI},
+#endif
+#ifdef CURL_VERSION_KERBEROS4
+   {krb4, CURL_VERSION_KERBEROS4},
+#endif
+#ifdef CURL_VERSION_LIBZ
+   {libz, CURL_VERSION_LIBZ},
 #endif
 #if LIBCURL_VERSION_NUM  0x070f03 /* 7.15.4 */
-   if (d-features  CURL_VERSION_CONV) {   
-   n += sprintf(str + n, %s, character conversions are 
supported, );
-   }
+   {CharConv, CURL_VERSION_CONV},
 #endif
+   NULL, 0
+   };
 
-   if (n  3) {
-   str[n - 2] = '\0';
+   php_info_print_table_row(1, Features);
+   for(i=0; isizeof(feats)/sizeof(feats[0]); i++) {
+   if (feats[i].name) {
+   php_info_print_table_row(2, feats[i].name, 
d-features  feats[i].bitmask ? Yes : No);
+   }
+   }
}
-  

[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-01-25 Thread Antony Dovgal
tony2001Sun Jan 25 22:33:19 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  do not define CURLE_SSH twice
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.143r2=1.144diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.143 php-src/ext/curl/interface.c:1.144
--- php-src/ext/curl/interface.c:1.143  Sun Jan 25 17:12:22 2009
+++ php-src/ext/curl/interface.cSun Jan 25 22:33:19 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.143 2009/01/25 17:12:22 pajoye Exp $ */
+/* $Id: interface.c,v 1.144 2009/01/25 22:33:19 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -682,9 +682,6 @@
 #if LIBCURL_VERSION_NUM = 0x070b00
REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED);
 #endif
-#ifdef LIBCURL_VERSION_NUM = 0x071300
-   REGISTER_CURL_CONSTANT(CURLE_SSH);
-#endif
REGISTER_CURL_CONSTANT(CURLPROXY_HTTP);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS4);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5);



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2009-01-25 Thread Antony Dovgal
tony2001Sun Jan 25 23:02:19 2009 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  ifdef - if
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.144r2=1.145diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.144 php-src/ext/curl/interface.c:1.145
--- php-src/ext/curl/interface.c:1.144  Sun Jan 25 22:33:19 2009
+++ php-src/ext/curl/interface.cSun Jan 25 23:02:18 2009
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.144 2009/01/25 22:33:19 tony2001 Exp $ */
+/* $Id: interface.c,v 1.145 2009/01/25 23:02:18 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -719,7 +719,7 @@
 #endif
 
 /* SSH support works in 7.19.0+ using libssh2 */
-#ifdef LIBCURL_VERSION_NUM = 0x071300
+#if LIBCURL_VERSION_NUM = 0x071300
REGISTER_CURL_CONSTANT(CURLSSH_AUTH_NONE);
REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PUBLICKEY);
REGISTER_CURL_CONSTANT(CURLSSH_AUTH_PASSWORD);



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-12-17 Thread Jani Taskinen
janiWed Dec 17 15:38:32 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fix leak
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.139r2=1.140diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.139 php-src/ext/curl/interface.c:1.140
--- php-src/ext/curl/interface.c:1.139  Wed Dec 17 14:13:25 2008
+++ php-src/ext/curl/interface.cWed Dec 17 15:38:32 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.139 2008/12/17 14:13:25 jani Exp $ */
+/* $Id: interface.c,v 1.140 2008/12/17 15:38:32 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1262,6 +1262,10 @@
 
ZEND_REGISTER_RESOURCE(return_value, ch, le_curl);
ch-id = Z_LVAL_P(return_value);
+
+   if (url_type == IS_UNICODE) {
+   efree(url.s);
+   }
 }
 /* }}} */
 
@@ -1933,8 +1937,8 @@
longoption = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z|l, zid, 
option) == FAILURE) {
-RETURN_FALSE;
-}
+   RETURN_FALSE;
+   }
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
 



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



[PHP-CVS] cvs: php-src /ext/curl interface.c php_curl.h

2008-12-17 Thread Jani Taskinen
janiWed Dec 17 14:13:25 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c php_curl.h 
  Log:
  - Fixed bug #45161 (Reusing a curl handle leaks memory)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.138r2=1.139diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.138 php-src/ext/curl/interface.c:1.139
--- php-src/ext/curl/interface.c:1.138  Tue Dec  9 17:17:49 2008
+++ php-src/ext/curl/interface.cWed Dec 17 14:13:25 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.138 2008/12/09 17:17:49 iliaa Exp $ */
+/* $Id: interface.c,v 1.139 2008/12/17 14:13:25 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -323,7 +323,6 @@
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);
@@ -331,7 +330,6 @@
sprintf(str, %d, d-age);
php_info_print_table_row(2, Age, str);
 
-
 #ifdef CURL_VERSION_IPV6
if (d-features  CURL_VERSION_IPV6) {
n = sprintf(str, %s, IPv6-enabled, );
@@ -1102,6 +1100,7 @@
 /* }}} */
 #endif
 
+#if LIBCURL_VERSION_NUM  0x071101
 /* {{{ curl_free_string
  */
 static void curl_free_string(void **string)
@@ -1109,6 +1108,7 @@
efree(*string);
 }  
 /* }}} */
+#endif
 
 /* {{{ curl_free_post
  */
@@ -1184,7 +1184,9 @@

memset((*ch)-err, 0, sizeof((*ch)-err));

+#if LIBCURL_VERSION_NUM  0x071101
zend_llist_init((*ch)-to_free.str,   sizeof(char *),
(llist_dtor_func_t) curl_free_string, 0);
+#endif
zend_llist_init((*ch)-to_free.slist, sizeof(struct curl_slist), 
(llist_dtor_func_t) curl_free_slist,  0);
zend_llist_init((*ch)-to_free.post,  sizeof(struct HttpPost),   
(llist_dtor_func_t) curl_free_post,   0);
 }
@@ -1196,17 +1198,17 @@
 {
php_curl*ch;
CURL*cp;
-   zstrsrc = NULL_ZSTR;
-   int src_len = 0;
-   zend_uchar  src_type = 0;
+   zstrurl = NULL_ZSTR;
+   int url_len = 0;
+   zend_uchar  url_type = 0;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, src, 
src_len, src_type) == FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, url, 
url_len, url_type) == FAILURE) {
RETURN_FALSE;
}
 
-   if (src.v  src_type == IS_UNICODE) {
-   src.s = zend_unicode_to_ascii((UChar*)src.u, src_len TSRMLS_CC);
-   if (!src.s) {
+   if (url.v  url_type == IS_UNICODE) {
+   url.s = zend_unicode_to_ascii((UChar*)url.u, url_len TSRMLS_CC);
+   if (!url.s) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or 
ASCII-Unicode string expected, non-ASCII-Unicode string received); 
RETURN_FALSE;
}
@@ -1246,12 +1248,16 @@
curl_easy_setopt(ch-cp, CURLOPT_NOSIGNAL, 1);
 #endif
 
-   if (src.v) {
+   if (url.v) {
+#if LIBCURL_VERSION_NUM = 0x071100
+   curl_easy_setopt(ch-cp, CURLOPT_URL, url.s);
+#else
char *urlcopy;
 
-   urlcopy = estrndup(src.s, src_len);
+   urlcopy = estrndup(url.s, url_len);
curl_easy_setopt(ch-cp, CURLOPT_URL, urlcopy);
zend_llist_add_element(ch-to_free.str, urlcopy);
+#endif
}
 
ZEND_REGISTER_RESOURCE(return_value, ch, le_curl);
@@ -1318,9 +1324,11 @@
curl_easy_setopt(dupch-cp, CURLOPT_INFILE,(void *) dupch);
curl_easy_setopt(dupch-cp, CURLOPT_WRITEHEADER,   (void *) dupch);
 
+#if LIBCURL_VERSION_NUM  0x071101
zend_llist_copy(dupch-to_free.str, ch-to_free.str);
/* Don't try to free copied strings, they're free'd when the original 
handle is destroyed */
dupch-to_free.str.dtor = NULL;
+#endif
zend_llist_copy(dupch-to_free.slist, ch-to_free.slist);
zend_llist_copy(dupch-to_free.post, ch-to_free.post);
 
@@ -1443,7 +1451,9 @@
case CURLOPT_SSLENGINE_DEFAULT:
case CURLOPT_SSLCERTTYPE:
case CURLOPT_ENCODING: {
+#if LIBCURL_VERSION_NUM  0x071100
char *copystr = NULL;
+#endif

convert_to_string_ex(zvalue);
 
@@ -1451,9 +1461,14 @@

PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(zvalue), Z_STRLEN_PP(zvalue), 1);
}
 
+#if LIBCURL_VERSION_NUM = 0x071100
+   /* Strings passed to libcurl as ’char *’ arguments, 
are copied by the library... NOTE: before 7.17.0 strings were not copied. */
+   error = curl_easy_setopt(ch-cp, option, 
Z_STRVAL_PP(zvalue));
+#else
copystr = 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-12-09 Thread Ilia Alshanetsky
iliaa   Tue Dec  9 17:17:49 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed missing initialization of uses when copying a curl handle
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.137r2=1.138diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.137 php-src/ext/curl/interface.c:1.138
--- php-src/ext/curl/interface.c:1.137  Thu Dec  4 13:12:49 2008
+++ php-src/ext/curl/interface.cTue Dec  9 17:17:49 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.137 2008/12/04 13:12:49 mkoppanen Exp $ */
+/* $Id: interface.c,v 1.138 2008/12/09 17:17:49 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1283,6 +1283,7 @@
TSRMLS_SET_CTX(dupch-thread_ctx);
 
dupch-cp = cp;
+   dupch-uses = 0;
dupch-handlers-write-method = ch-handlers-write-method;
dupch-handlers-write-type   = ch-handlers-write-type;
dupch-handlers-read-method  = ch-handlers-read-method;



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-12-04 Thread Mikko Koppanen
mkoppanen   Thu Dec  4 13:12:49 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Fixes bug #46739
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.136r2=1.137diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.136 php-src/ext/curl/interface.c:1.137
--- php-src/ext/curl/interface.c:1.136  Sun Nov 30 17:35:56 2008
+++ php-src/ext/curl/interface.cThu Dec  4 13:12:49 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.136 2008/11/30 17:35:56 iliaa Exp $ */
+/* $Id: interface.c,v 1.137 2008/12/04 13:12:49 mkoppanen Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1929,6 +1929,11 @@
if (curl_easy_getinfo(ch-cp, CURLINFO_CONTENT_TYPE, s_code) 
== CURLE_OK) {
if (s_code != NULL) {
CAAS(content_type, s_code);
+   } else {
+   zval *retnull;
+   MAKE_STD_ZVAL(retnull);
+   ZVAL_NULL(retnull);
+   CAAZ(content_type, retnull);
}
}
if (curl_easy_getinfo(ch-cp, CURLINFO_HTTP_CODE, l_code) == 
CURLE_OK) {



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-30 Thread Ilia Alshanetsky
iliaa   Sun Nov 30 17:35:56 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops).
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.135r2=1.136diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.135 php-src/ext/curl/interface.c:1.136
--- php-src/ext/curl/interface.c:1.135  Thu Nov 27 19:02:44 2008
+++ php-src/ext/curl/interface.cSun Nov 30 17:35:56 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.135 2008/11/27 19:02:44 dmitry Exp $ */
+/* $Id: interface.c,v 1.136 2008/11/30 17:35:56 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1793,17 +1793,17 @@
Set an option for a cURL transfer */
 PHP_FUNCTION(curl_setopt)
 {
-   zval   *zid, *zvalue;
+   zval   *zid, **zvalue;
long   options;
php_curl*ch;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, zlz, zid, 
options, zvalue) == FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, zlZ, zid, 
options, zvalue) == FAILURE) {
RETURN_FALSE;
}
 
ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
 
-   if (!_php_curl_setopt(ch, options, zvalue, return_value TSRMLS_CC)) {
+   if (!_php_curl_setopt(ch, options, zvalue, return_value TSRMLS_CC)) {
RETURN_TRUE;
} else {
RETURN_FALSE;



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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/dom xpath.c /ext/mysql php_mysql.c /ext/mysqli mysqli.c /ext/pdo pdo_dbh.c pdo_stmt.c /ext/pdo_sqlite sqlite_driver.c /ext/pgsql pgsql.c /ext/r

2008-11-27 Thread Dmitry Stogov
dmitry  Thu Nov 27 19:02:46 2008 UTC

  Modified files:  
/ZendEngine2zend_API.c zend_API.h zend_closures.c zend_closures.h 
zend_exceptions.c zend_execute_API.c zend_interfaces.c 
zend_object_handlers.c zend_object_handlers.h 
zend_vm_def.h zend_vm_execute.h 
/ZendEngine2/tests  bug46409.phpt 
/php-src/ext/curl   interface.c 
/php-src/ext/domxpath.c 
/php-src/ext/mysql  php_mysql.c 
/php-src/ext/mysqli mysqli.c 
/php-src/ext/pdopdo_dbh.c pdo_stmt.c 
/php-src/ext/pdo_sqlite sqlite_driver.c 
/php-src/ext/pgsql  pgsql.c 
/php-src/ext/reflection php_reflection.c 
/php-src/ext/soap   soap.c 
/php-src/ext/splphp_spl.c spl_directory.c 
/php-src/ext/sqlite sqlite.c 
/php-src/ext/sqlite3sqlite3.c 
/php-src/ext/xmlxml.c 
/php-src/ext/xslxsltprocessor.c 
/php-src/main/streams   userspace.c 
  Log:
  Fixed bug #46409 (__invoke method called outside of object context when using 
array_map)
  
  http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.492r2=1.493diff_format=u
Index: ZendEngine2/zend_API.c
diff -u ZendEngine2/zend_API.c:1.492 ZendEngine2/zend_API.c:1.493
--- ZendEngine2/zend_API.c:1.492Tue Nov 25 22:23:28 2008
+++ ZendEngine2/zend_API.c  Thu Nov 27 19:02:43 2008
@@ -18,7 +18,7 @@
+--+
 */
 
-/* $Id: zend_API.c,v 1.492 2008/11/25 22:23:28 stas Exp $ */
+/* $Id: zend_API.c,v 1.493 2008/11/27 19:02:43 dmitry Exp $ */
 
 #include zend.h
 #include zend_execute.h
@@ -2713,8 +2713,8 @@
} else {
fcc-called_scope = EG(called_scope);
fcc-calling_scope = EG(scope);
-   if (!fcc-object_pp) {
-   fcc-object_pp = EG(This) ? EG(This) : NULL;
+   if (!fcc-object_ptr) {
+   fcc-object_ptr = EG(This);
}
ret = 1;
}
@@ -2727,8 +2727,8 @@
} else {
fcc-called_scope = EG(called_scope);
fcc-calling_scope = EG(scope)-parent;
-   if (!fcc-object_pp) {
-   fcc-object_pp = EG(This) ? EG(This) : NULL;
+   if (!fcc-object_ptr) {
+   fcc-object_ptr = EG(This);
}
ret = 1;
}
@@ -2739,8 +2739,8 @@
} else {
fcc-called_scope = EG(called_scope);
fcc-calling_scope = EG(called_scope);
-   if (!fcc-object_pp) {
-   fcc-object_pp = EG(This) ? EG(This) : NULL;
+   if (!fcc-object_ptr) {
+   fcc-object_ptr = EG(This);
}
ret = 1;
}
@@ -2748,13 +2748,13 @@
zend_class_entry *scope = EG(active_op_array) ? 
EG(active_op_array)-scope : NULL;
 
fcc-calling_scope = *pce;
-   if (scope  !fcc-object_pp  EG(This) 
+   if (scope  !fcc-object_ptr  EG(This) 
instanceof_function(Z_OBJCE_P(EG(This)), scope TSRMLS_CC) 
instanceof_function(scope, fcc-calling_scope TSRMLS_CC)) {
-   fcc-object_pp = EG(This);
-   fcc-called_scope = Z_OBJCE_PP(fcc-object_pp);
+   fcc-object_ptr = EG(This);
+   fcc-called_scope = Z_OBJCE_P(fcc-object_ptr);
} else {
-   fcc-called_scope = fcc-object_pp ? 
Z_OBJCE_PP(fcc-object_pp) : fcc-calling_scope;
+   fcc-called_scope = fcc-object_ptr ? 
Z_OBJCE_P(fcc-object_ptr) : fcc-calling_scope;
}
ret = 1;
} else {
@@ -2896,8 +2896,8 @@
fcc-function_handler = priv_fbc;
}
}
-   } else if (fcc-object_pp) {
-   if (Z_OBJ_HT_PP(fcc-object_pp)-get_method) {
+   } else if (fcc-object_ptr) {
+   if (Z_OBJ_HT_P(fcc-object_ptr)-get_method) {
zstr method = mname;
int method_len = mlen;
 
@@ -2906,7 +2906,7 @@
} else if (!UG(unicode)  Z_TYPE_P(callable) == 
IS_UNICODE) {

zend_unicode_to_string(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), method.s, 
method_len, mname.u, mlen TSRMLS_CC);
}   
-   fcc-function_handler = 
Z_OBJ_HT_PP(fcc-object_pp)-get_method(fcc-object_pp, method, method_len 
TSRMLS_CC);
+   fcc-function_handler = 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-22 Thread Felipe Pena
felipe  Sat Nov 22 14:41:21 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fixed segfault [only in this branch, because add_next_* are macro]
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.132r2=1.133diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.132 php-src/ext/curl/interface.c:1.133
--- php-src/ext/curl/interface.c:1.132  Mon Nov 17 11:26:19 2008
+++ php-src/ext/curl/interface.cSat Nov 22 14:41:21 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.132 2008/11/17 11:26:19 felipe Exp $ */
+/* $Id: interface.c,v 1.133 2008/11/22 14:41:21 felipe Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1161,7 +1161,8 @@
array_init(protocol_list);
 
while (*p != NULL) {
-   add_next_index_ascii_string(protocol_list, *p++, 1);
+   add_next_index_ascii_string(protocol_list, *p, 1);
+   *p++;
}
CAAZ(protocols, protocol_list);
}



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-11 Thread Marcus Boerger
Hello Pierre,

Tuesday, November 11, 2008, 12:01:38 PM, you wrote:

 hi,

 On Tue, Nov 11, 2008 at 11:51 AM, Marcus Boerger [EMAIL PROTECTED] wrote:

 This is extremely bad code. We have tons of better APIs to do what you
 want. And besides wouldn't it be better to list all those entries with
 enabled/disabled as table rows anyway?

 I do not think adding a 30 lines table is better. About being an
 extremely bad code, in which way? What will you use then? Each of
 these features or protocols are present or not. The maximum size is
 known and the buffer is large enough to contain them.

 (spprintf, snprintf, strcat, smart-strings,...)

 (the problem is that adding something will mostlikely result in crashes as
 ppl will add the necessary three lines and be happy because something else
 is disabled for them. Then someone having all enabled gets crashes because
 they forgot to increase the size of the string.

 The problem is you do not know before hand which features are enabled.
 As I agree that dynamic allocation for the protocols string would be
 better, there is no need to use it now or in the mid term. The size of
 the tmp buffer is large enough to support much more protocols than
 curl or features can ever have.

 One thing I forgot to add is to check if n  buffer size, it will
 solve the problem you are refering to.

In case n  buffersize you already crash. And as said you  are creating a
maintenance issue here. And besides your own one, people will copy this
code and fail calculating the buffer correct. For one, ppl often do not
know that there is a limited buffer or that a limited buffer could fail.

And even if you know how to do it correct. Someone else taking on won't.

p.s.: No one will ever need more that 640K RAM :-)

Best regards,
 Marcus


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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-11 Thread Jani Taskinen
janiTue Nov 11 11:56:39 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix build
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.129r2=1.130diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.129 php-src/ext/curl/interface.c:1.130
--- php-src/ext/curl/interface.c:1.129  Mon Nov 10 22:58:44 2008
+++ php-src/ext/curl/interface.cTue Nov 11 11:56:39 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.129 2008/11/10 22:58:44 pajoye Exp $ */
+/* $Id: interface.c,v 1.130 2008/11/11 11:56:39 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -336,94 +336,9 @@
  */
 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, 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_row(2, cURL Information, curl_version());
php_info_print_table_end();
 }
 /* }}} */



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-11 Thread Pierre Joye
hi,

On Tue, Nov 11, 2008 at 11:51 AM, Marcus Boerger [EMAIL PROTECTED] wrote:

 This is extremely bad code. We have tons of better APIs to do what you
 want. And besides wouldn't it be better to list all those entries with
 enabled/disabled as table rows anyway?

I do not think adding a 30 lines table is better. About being an
extremely bad code, in which way? What will you use then? Each of
these features or protocols are present or not. The maximum size is
known and the buffer is large enough to contain them.

 (spprintf, snprintf, strcat, smart-strings,...)

 (the problem is that adding something will mostlikely result in crashes as
 ppl will add the necessary three lines and be happy because something else
 is disabled for them. Then someone having all enabled gets crashes because
 they forgot to increase the size of the string.

The problem is you do not know before hand which features are enabled.
As I agree that dynamic allocation for the protocols string would be
better, there is no need to use it now or in the mid term. The size of
the tmp buffer is large enough to support much more protocols than
curl or features can ever have.

One thing I forgot to add is to check if n  buffer size, it will
solve the problem you are refering to.

-- 
Pierre

http://blog.thepimp.net | http://www.libgd.org

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-11 Thread Pierre-Alain Joye
pajoye  Tue Nov 11 12:25:37 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - fix build with all curl versions, even very old (thx Felipe for having 
found all versions info)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.130r2=1.131diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.130 php-src/ext/curl/interface.c:1.131
--- php-src/ext/curl/interface.c:1.130  Tue Nov 11 11:56:39 2008
+++ php-src/ext/curl/interface.cTue Nov 11 12:25:37 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.130 2008/11/11 11:56:39 jani Exp $ */
+/* $Id: interface.c,v 1.131 2008/11/11 12:25:37 pajoye Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -336,9 +336,131 @@
  */
 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);
+
+
+#ifdef CURL_VERSION_IPV6
+   if (d-features  CURL_VERSION_IPV6) {
+   n = sprintf(str, %s, IPv6-enabled, );
+   }
+#endif
+
+#ifdef CURL_VERSION_KERBEROS4
+   if (d-features  CURL_VERSION_KERBEROS4) {
+   n += sprintf(str + n, %s, kerberos auth is 
supported, );
+   }
+#endif
+
+#ifdef CURL_VERSION_SSL
+   if (d-features  CURL_VERSION_SSL) {
+   n += sprintf(str + n, %s, SSL options are present, 
);
+   }
+#endif
+
+#ifdef CURL_VERSION_LIBZ
+   if (d-features  CURL_VERSION_LIBZ) {
+   n += sprintf(str + n, %s, libz features are present, 
);
+   }
+#endif
+
+#if LIBCURL_VERSION_NUM  0x070a05 /* 7.10.6 */
+   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, );
+   }
+#endif
+
+#if LIBCURL_VERSION_NUM  0x070a06 /* 7.10.7 */
+   if (d-features  CURL_VERSION_ASYNCHDNS) {
+   n += sprintf(str + n, %s, asynchronous dns resolves, 
);
+   }
+#endif
+#if LIBCURL_VERSION_NUM  0x070a07 /* 7.10.8 */
+   if (d-features  CURL_VERSION_SPNEGO) {
+   n += sprintf(str + n, %s, SPNEGO auth, );
+   }
+#endif
+#if LIBCURL_VERSION_NUM  0x070a09 /* 7.10.1 */
+   if (d-features  CURL_VERSION_LARGEFILE) {
+   n += sprintf(str + n, %s, supports files bigger than 
2GB, );
+   }
+#endif
+#if LIBCURL_VERSION_NUM  0x070b02 /* 7.12.0 */
+   if (d-features  CURL_VERSION_IDN) {
+   n += sprintf(str + n, %s, International Domain Names 
support, );
+   }
+#endif
+#if LIBCURL_VERSION_NUM  0x070d01 /* 7.13.2 */
+   if (d-features  CURL_VERSION_SSPI) {
+   n += sprintf(str + n, %s, SSPI is supported, );
+   }
+#endif
+#if LIBCURL_VERSION_NUM  0x070f03 /* 7.15.4 */
+   if (d-features  CURL_VERSION_CONV) {   
+   n += sprintf(str + n, %s, character conversions are 
supported, );
+   }
+#endif
+
+   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 defined(CURLVERSION_SECOND)  CURLVERSION_NOW = CURLVERSION_SECOND
+   if (d-ares) {
+   php_info_print_table_row(2, ZLib Version, d-ares);
+   }
+#endif
+
+#if defined(CURLVERSION_THIRD)  CURLVERSION_NOW = CURLVERSION_THIRD
+   if (d-libidn) {
+   php_info_print_table_row(2, libIDN Version, d-libidn);
+   }
+#endif
+
+#if defined(CURLVERSION_FOURTH)   CURLVERSION_NOW = CURLVERSION_FOURTH
+
+   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, 

Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-11 Thread Marcus Boerger
Hello Pierre-Alain,

Monday, November 10, 2008, 11:58:44 PM, you wrote:

 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.128r2=1.129diff_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.cMon 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, );
 +   }

This is extremely bad code. We have tons of better APIs to do what you
want. And besides wouldn't it be better to list all those entries with
enabled/disabled as table rows anyway?

(spprintf, snprintf, strcat, smart-strings,...)

(the problem is that adding something will mostlikely result in crashes as
ppl will add the necessary three lines and be happy because something else
is disabled for them. Then someone having all enabled gets crashes because
they forgot to increase the size of the string.

 +
 +   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();
  }
  /* }}} */






Best regards,
 Marcus


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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-10 Thread Pierre-Alain Joye
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.128r2=1.129diff_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.cMon 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();
 }
 /* }}} */



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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2008-11-10 Thread Kalle Sommer Nielsen
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.128r2=1.129diff_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.cMon 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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/date php_date.c /ext/dom domimplementation.c /ext/exif exif.c /ext/gd gd.c /ext/openssl openssl.c /ext/simplexml simplexml.c /ext/soap soap.c

2008-10-21 Thread Arnaud Le Blanc
lbarnaudTue Oct 21 23:36:18 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/date   php_date.c 
/php-src/ext/domdomimplementation.c 
/php-src/ext/exif   exif.c 
/php-src/ext/gd gd.c 
/php-src/ext/opensslopenssl.c 
/php-src/ext/simplexml  simplexml.c 
/php-src/ext/soap   soap.c 
/php-src/ext/socketssockets.c 
/php-src/ext/zipphp_zip.c 
  Log:
  initialize optional vars
  
  http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.125r2=1.126diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.125 php-src/ext/curl/interface.c:1.126
--- php-src/ext/curl/interface.c:1.125  Tue Jul 29 10:42:15 2008
+++ php-src/ext/curl/interface.cTue Oct 21 23:36:16 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.125 2008/07/29 10:42:15 tony2001 Exp $ */
+/* $Id: interface.c,v 1.126 2008/10/21 23:36:16 lbarnaud Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1092,8 +1092,8 @@
php_curl*ch;
CURL*cp;
zstrsrc = NULL_ZSTR;
-   int src_len;
-   zend_uchar  src_type;
+   int src_len = 0;
+   zend_uchar  src_type = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, src, 
src_len, src_type) == FAILURE) {
RETURN_FALSE;
@@ -1783,7 +1783,7 @@
 {
zval*zid;
php_curl*ch;
-   longoption;
+   longoption = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z|l, zid, 
option) == FAILURE) {
 RETURN_FALSE;
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.206r2=1.207diff_format=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.206 php-src/ext/date/php_date.c:1.207
--- php-src/ext/date/php_date.c:1.206   Sat Aug  9 21:58:40 2008
+++ php-src/ext/date/php_date.c Tue Oct 21 23:36:17 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: php_date.c,v 1.206 2008/08/09 21:58:40 tony2001 Exp $ */
+/* $Id: php_date.c,v 1.207 2008/10/21 23:36:17 lbarnaud Exp $ */
 
 #include php.h
 #include php_streams.h
@@ -1511,7 +1511,7 @@
 {
char   *format;
int format_len;
-   longts;
+   longts = 0;
int ret; 
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|l, format, 
format_len, ts) == FAILURE) {
@@ -1574,7 +1574,7 @@
char *times, *initial_ts;
int   time_len, error1, error2;
struct timelib_error_container *error;
-   long  preset_ts, ts;
+   long  preset_ts = 0, ts;
 
timelib_time *t, *now;
timelib_tzinfo *tzi;
@@ -1631,7 +1631,7 @@
 /* {{{ php_mktime - (gm)mktime helper */
 PHPAPI void php_mktime(INTERNAL_FUNCTION_PARAMETERS, int gmt)
 {
-   long hou, min, sec, mon, day, yea, dst = -1;
+   long hou = 0, min = 0, sec = 0, mon = 0, day = 0, yea = 0, dst = -1;
timelib_time *now;
timelib_tzinfo *tzi = NULL;
long ts, adjust_seconds = 0;
@@ -1760,7 +1760,7 @@
 {
char*format, *buf;
int  format_len;
-   long timestamp;
+   long timestamp = 0;
struct tmta;
int  max_reallocs = 5;
size_t   buf_len = 64, real_len;
@@ -3962,7 +3962,7 @@
const timelib_tzdb_index_entry *table;
int i, item_count;
longwhat = PHP_DATE_TIMEZONE_GROUP_ALL;
-   char   *option;
+   char   *option = NULL;
int option_len = 0;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ls, what, 
option, option_len) == FAILURE) {
@@ -4068,10 +4068,10 @@
  */
 static void php_do_date_sunrise_sunset(INTERNAL_FUNCTION_PARAMETERS, int 
calc_sunset)
 {
-   double latitude, longitude, zenith, gmt_offset = 0, altitude;
+   double latitude = 0.0, longitude = 0.0, zenith = 0.0, gmt_offset = 0, 
altitude;
double h_rise, h_set, N;
timelib_sll rise, set, transit;
-   long time, retformat;
+   long time, retformat = 0;
int rs;
timelib_time   *t;
timelib_tzinfo *tzi;
http://cvs.php.net/viewvc.cgi/php-src/ext/dom/domimplementation.c?r1=1.27r2=1.28diff_format=u
Index: php-src/ext/dom/domimplementation.c
diff -u php-src/ext/dom/domimplementation.c:1.27 
php-src/ext/dom/domimplementation.c:1.28
--- php-src/ext/dom/domimplementation.c:1.27Thu Aug 14 08:38:37 2008
+++ php-src/ext/dom/domimplementation.c Tue Oct 21 23:36:17 2008
@@ -17,7 +17,7 @@

[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-07-29 Thread Antony Dovgal
tony2001Tue Jul 29 10:42:15 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix 5 years old copy/paste error (patch by Mikko)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.124r2=1.125diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.124 php-src/ext/curl/interface.c:1.125
--- php-src/ext/curl/interface.c:1.124  Sat Jul 12 21:20:10 2008
+++ php-src/ext/curl/interface.cTue Jul 29 10:42:15 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.124 2008/07/12 21:20:10 felipe Exp $ */
+/* $Id: interface.c,v 1.125 2008/07/29 10:42:15 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1427,7 +1427,7 @@
case CURLOPT_READFUNCTION:
if (ch-handlers-read-func_name) {
zval_ptr_dtor(ch-handlers-read-func_name);
-   ch-handlers-write-fci_cache = 
empty_fcall_info_cache;
+   ch-handlers-read-fci_cache = 
empty_fcall_info_cache;
}
zval_add_ref(zvalue);
ch-handlers-read-func_name = *zvalue;
@@ -1436,7 +1436,7 @@
case CURLOPT_HEADERFUNCTION:
if (ch-handlers-write_header-func_name) {

zval_ptr_dtor(ch-handlers-write_header-func_name);
-   ch-handlers-write-fci_cache = 
empty_fcall_info_cache;
+   ch-handlers-write_header-fci_cache = 
empty_fcall_info_cache;
}
zval_add_ref(zvalue);
ch-handlers-write_header-func_name = *zvalue;



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-07-12 Thread Felipe Pena
felipe  Sat Jul 12 21:20:11 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - MFB: Fixed bug #45220 (curl_read callback returns -1 when needs to return 
size_t (unsigned))
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.123r2=1.124diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.123 php-src/ext/curl/interface.c:1.124
--- php-src/ext/curl/interface.c:1.123  Tue Jul  1 08:10:47 2008
+++ php-src/ext/curl/interface.cSat Jul 12 21:20:10 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.123 2008/07/01 08:10:47 tony2001 Exp $ */
+/* $Id: interface.c,v 1.124 2008/07/12 21:20:10 felipe Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -785,7 +785,7 @@
 {
php_curl   *ch = (php_curl *) ctx;
php_curl_read  *t  = ch-handlers-read;
-   int length = -1;
+   int length = 0;
 
switch (t-method) {
case PHP_CURL_DIRECT:
@@ -832,7 +832,9 @@
ch-in_callback = 0;
if (error == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, 
Cannot call the CURLOPT_READFUNCTION); 
-   length = -1;
+#if LIBCURL_VERSION_NUM = 0x070c01 /* 7.12.1 */
+   length = CURL_READFUNC_ABORT;
+#endif
} else if (retval_ptr) {
if (Z_TYPE_P(retval_ptr) == IS_STRING) {
length = MIN(size * nmemb, 
Z_STRLEN_P(retval_ptr));



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2008-07-01 Thread Antony Dovgal
tony2001Tue Jul  1 08:10:47 2008 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix curl_init()
  s in HEAD accepts zstr
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.122r2=1.123diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.122 php-src/ext/curl/interface.c:1.123
--- php-src/ext/curl/interface.c:1.122  Mon Dec 31 07:12:08 2007
+++ php-src/ext/curl/interface.cTue Jul  1 08:10:47 2008
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.122 2007/12/31 07:12:08 sebastian Exp $ */
+/* $Id: interface.c,v 1.123 2008/07/01 08:10:47 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1089,17 +1089,17 @@
 {
php_curl*ch;
CURL*cp;
-   char*src = NULL;
+   zstrsrc = NULL_ZSTR;
int src_len;
zend_uchar  src_type;
 
-if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, src, 
src_len, src_type) == FAILURE) {
-RETURN_FALSE;
-}
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, src, 
src_len, src_type) == FAILURE) {
+   RETURN_FALSE;
+   }
 
-   if (src  src_type == IS_UNICODE) {
-   src = zend_unicode_to_ascii((UChar*)src, src_len TSRMLS_CC);
-   if (!src) {
+   if (src.v  src_type == IS_UNICODE) {
+   src.s = zend_unicode_to_ascii((UChar*)src.u, src_len TSRMLS_CC);
+   if (!src.s) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or 
ASCII-Unicode string expected, non-ASCII-Unicode string received); 
RETURN_FALSE;
}
@@ -1139,10 +1139,10 @@
curl_easy_setopt(ch-cp, CURLOPT_NOSIGNAL, 1);
 #endif
 
-   if (src) {
+   if (src.v) {
char *urlcopy;
 
-   urlcopy = estrndup(src, src_len);
+   urlcopy = estrndup(src.s, src_len);
curl_easy_setopt(ch-cp, CURLOPT_URL, urlcopy);
zend_llist_add_element(ch-to_free.str, urlcopy);
}



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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-12-18 Thread Ilia Alshanetsky
iliaa   Tue Dec 18 13:48:19 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  
  MFB: Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can
  result in a crash)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.120r2=1.121diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.120 php-src/ext/curl/interface.c:1.121
--- php-src/ext/curl/interface.c:1.120  Tue Dec  4 08:55:58 2007
+++ php-src/ext/curl/interface.cTue Dec 18 13:48:19 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.120 2007/12/04 08:55:58 tony2001 Exp $ */
+/* $Id: interface.c,v 1.121 2007/12/18 13:48:19 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -153,7 +153,7 @@
 
 #define CAAL(s, v) add_assoc_long_ex(return_value, s, sizeof(s), (long) v);
 #define CAAD(s, v) add_assoc_double_ex(return_value, s, sizeof(s), (double) v);
-#define CAAS(s, v) add_assoc_ascii_string_ex(return_value, s, sizeof(s), (char 
*) v, 1);
+#define CAAS(s, v) add_assoc_ascii_string_ex(return_value, s, sizeof(s), (char 
*) (v ? v : ), 1);
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #if defined(PHP_WIN32) || defined(__GNUC__)

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



[PHP-CVS] cvs: php-src /ext/curl interface.c multi.c

2007-12-04 Thread Antony Dovgal
tony2001Tue Dec  4 08:55:59 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c multi.c 
  Log:
  fix folding
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.119r2=1.120diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.119 php-src/ext/curl/interface.c:1.120
--- php-src/ext/curl/interface.c:1.119  Fri Nov 16 14:18:59 2007
+++ php-src/ext/curl/interface.cTue Dec  4 08:55:58 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.119 2007/11/16 14:18:59 jani Exp $ */
+/* $Id: interface.c,v 1.120 2007/12/04 08:55:58 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -930,7 +930,7 @@
 }
 /* }}} */
 
-static int curl_debug(CURL *cp, curl_infotype type, char *buf, size_t buf_len, 
void *ctx)
+static int curl_debug(CURL *cp, curl_infotype type, char *buf, size_t buf_len, 
void *ctx) /* {{{ */
 {
php_curl*ch   = (php_curl *) ctx;
 
@@ -946,6 +946,7 @@
 
return 0;
 }
+/* }}} */
 
 #if CURLOPT_PASSWDFUNCTION != 0
 /* {{{ curl_passwd
@@ -1220,7 +1221,7 @@
 }
 /* }}} */
 
-static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval 
*return_value TSRMLS_DC)
+static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval 
*return_value TSRMLS_DC) /* {{{ */
 {
CURLcode error=CURLE_OK;
 
@@ -1659,6 +1660,7 @@
return 0;
}
 }
+/* }}} */
 
 /* {{{ proto bool curl_setopt(resource ch, int option, mixed value) U
Set an option for a cURL transfer */
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/multi.c?r1=1.30r2=1.31diff_format=u
Index: php-src/ext/curl/multi.c
diff -u php-src/ext/curl/multi.c:1.30 php-src/ext/curl/multi.c:1.31
--- php-src/ext/curl/multi.c:1.30   Mon Jan  1 09:29:22 2007
+++ php-src/ext/curl/multi.cTue Dec  4 08:55:58 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: multi.c,v 1.30 2007/01/01 09:29:22 sebastian Exp $ */
+/* $Id: multi.c,v 1.31 2007/12/04 08:55:58 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -122,13 +122,13 @@
 /* }}} */
 
 /* Used internally as comparison routine passed to zend_list_del_element */
-static int curl_compare_resources( zval *z1, zval **z2 )
+static int curl_compare_resources( zval *z1, zval **z2 ) /* {{{ */
 {
return (Z_TYPE_P( z1 ) == Z_TYPE_PP( z2 )  
 Z_TYPE_P( z1 ) == IS_RESOURCE 
 Z_LVAL_P( z1 ) == Z_LVAL_PP( z2 ) );
 }
-
+/* }}} */
 
 /* {{{ proto int curl_multi_remove_handle(resource mh, resource ch) U
Remove a multi handle from a set of cURL handles */
@@ -155,7 +155,7 @@
 }
 /* }}} */
 
-static void _make_timeval_struct(struct timeval *to, double timeout)
+static void _make_timeval_struct(struct timeval *to, double timeout) /* {{{ */
 {
unsigned long conv;
 
@@ -163,6 +163,7 @@
to-tv_sec = conv / 100;
to-tv_usec = conv % 100;
 }
+/* }}} */
 
 /* {{{ proto int curl_multi_select(resource mh[, double timeout]) U
Get all the sockets associated with the cURL extension, which can then be 
selected */
@@ -319,7 +320,7 @@
 }
 /* }}} */
 
-void _php_curl_multi_close(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+void _php_curl_multi_close(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
 {
php_curlm *mh = (php_curlm *) rsrc-ptr;
if (mh) {
@@ -329,6 +330,7 @@
rsrc-ptr = NULL;
}
 }
+/* }}} */
 
 #endif
 

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-11-16 Thread Jani Taskinen
janiFri Nov 16 14:18:59 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - Fixed bug #43092 (curl_copy_handle() crashes with  32 chars long URL)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.118r2=1.119diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.118 php-src/ext/curl/interface.c:1.119
--- php-src/ext/curl/interface.c:1.118  Wed Oct  3 20:32:52 2007
+++ php-src/ext/curl/interface.cFri Nov 16 14:18:59 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.118 2007/10/03 20:32:52 mike Exp $ */
+/* $Id: interface.c,v 1.119 2007/11/16 14:18:59 jani Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1076,9 +1076,9 @@

memset((*ch)-err, 0, sizeof((*ch)-err));

-   zend_llist_init((*ch)-to_free.str,   sizeof(char *),
(void(*)(void *)) curl_free_string, 0);
-   zend_llist_init((*ch)-to_free.slist, sizeof(struct curl_slist), 
(void(*)(void *)) curl_free_slist,  0);
-   zend_llist_init((*ch)-to_free.post,  sizeof(struct HttpPost),   
(void(*)(void *)) curl_free_post,   0);
+   zend_llist_init((*ch)-to_free.str,   sizeof(char *),
(llist_dtor_func_t) curl_free_string, 0);
+   zend_llist_init((*ch)-to_free.slist, sizeof(struct curl_slist), 
(llist_dtor_func_t) curl_free_slist,  0);
+   zend_llist_init((*ch)-to_free.post,  sizeof(struct HttpPost),   
(llist_dtor_func_t) curl_free_post,   0);
 }
 /* }}} */
 
@@ -1210,6 +1210,8 @@
curl_easy_setopt(dupch-cp, CURLOPT_WRITEHEADER,   (void *) dupch);
 
zend_llist_copy(dupch-to_free.str, ch-to_free.str);
+   /* Don't try to free copied strings, they're free'd when the original 
handle is destroyed */
+   dupch-to_free.str.dtor = NULL;
zend_llist_copy(dupch-to_free.slist, ch-to_free.slist);
zend_llist_copy(dupch-to_free.post, ch-to_free.post);
 

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-10-03 Thread Michael Wallner
mikeWed Oct  3 20:32:52 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - fix CURLOPT_TIMEOUT_MS support (available since 7.16.2)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.117r2=1.118diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.117 php-src/ext/curl/interface.c:1.118
--- php-src/ext/curl/interface.c:1.117  Thu Sep 27 18:28:38 2007
+++ php-src/ext/curl/interface.cWed Oct  3 20:32:52 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.117 2007/09/27 18:28:38 dmitry Exp $ */
+/* $Id: interface.c,v 1.118 2007/10/03 20:32:52 mike Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -385,7 +385,7 @@
REGISTER_CURL_CONSTANT(CURLOPT_PROXYUSERPWD);
REGISTER_CURL_CONSTANT(CURLOPT_RANGE);
REGISTER_CURL_CONSTANT(CURLOPT_TIMEOUT);
-#ifdef CURLOPT_TIMEOUT_MS
+#if LIBCURL_VERSION_NUM  0x071002
REGISTER_CURL_CONSTANT(CURLOPT_TIMEOUT_MS);
 #endif
REGISTER_CURL_CONSTANT(CURLOPT_POSTFIELDS);
@@ -431,7 +431,7 @@
REGISTER_CURL_CONSTANT(CURLOPT_RANDOM_FILE);
REGISTER_CURL_CONSTANT(CURLOPT_EGDSOCKET);
REGISTER_CURL_CONSTANT(CURLOPT_CONNECTTIMEOUT);
-#ifdef CURLOPT_CONNECTTIMEOUT_MS
+#if LIBCURL_VERSION_NUM  0x071002
REGISTER_CURL_CONSTANT(CURLOPT_CONNECTTIMEOUT_MS);
 #endif
REGISTER_CURL_CONSTANT(CURLOPT_SSL_VERIFYPEER);
@@ -1239,7 +1239,7 @@
 case CURLOPT_MUTE:
 #endif
case CURLOPT_TIMEOUT:
-#ifdef CURLOPT_TIMEOUT_MS
+#if LIBCURL_VERSION_NUM  0x071002
case CURLOPT_TIMEOUT_MS:
 #endif
case CURLOPT_FTP_USE_EPSV:
@@ -1258,7 +1258,7 @@
case CURLOPT_FRESH_CONNECT:
case CURLOPT_FORBID_REUSE:
case CURLOPT_CONNECTTIMEOUT:
-#ifdef CURLOPT_CONNECTTIMEOUT_MS
+#if LIBCURL_VERSION_NUM  0x071002
case CURLOPT_CONNECTTIMEOUT_MS:
 #endif
case CURLOPT_SSL_VERIFYHOST:

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-08-21 Thread Sara Golemon
pollita Tue Aug 21 21:23:35 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Bagder says I don't need these ifdefs
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.115r2=1.116diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.115 php-src/ext/curl/interface.c:1.116
--- php-src/ext/curl/interface.c:1.115  Mon Aug 20 18:56:05 2007
+++ php-src/ext/curl/interface.cTue Aug 21 21:23:35 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.115 2007/08/20 18:56:05 pollita Exp $ */
+/* $Id: interface.c,v 1.116 2007/08/21 21:23:35 pollita Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -594,9 +594,7 @@
 #endif
 
REGISTER_CURL_CONSTANT(CURLPROXY_HTTP);
-#ifdef CURLPROXY_SOCKS4
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS4);
-#endif
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5);
 
REGISTER_CURL_CONSTANT(CURL_NETRC_OPTIONAL);

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-07-04 Thread Antony Dovgal
tony2001Wed Jul  4 13:33:01 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  add CURLINFO_PRIVATE  CURLOPT_PRIVATE
  patch by Andrey A. Belashkov
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.113r2=1.114diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.113 php-src/ext/curl/interface.c:1.114
--- php-src/ext/curl/interface.c:1.113  Mon Apr 23 14:36:38 2007
+++ php-src/ext/curl/interface.cWed Jul  4 13:33:01 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.113 2007/04/23 14:36:38 tony2001 Exp $ */
+/* $Id: interface.c,v 1.114 2007/07/04 13:33:01 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -480,6 +480,8 @@
REGISTER_CURL_CONSTANT(CURLOPT_FTP_CREATE_MISSING_DIRS);
 #endif
 
+   REGISTER_CURL_CONSTANT(CURLOPT_PRIVATE);
+
/* Constants effecting the way CURLOPT_CLOSEPOLICY works */
REGISTER_CURL_CONSTANT(CURLCLOSEPOLICY_LEAST_RECENTLY_USED);
REGISTER_CURL_CONSTANT(CURLCLOSEPOLICY_LEAST_TRAFFIC);
@@ -509,6 +511,7 @@
REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_TIME);
REGISTER_CURL_CONSTANT(CURLINFO_REDIRECT_COUNT);
REGISTER_CURL_CONSTANT(CURLINFO_HEADER_OUT);
+   REGISTER_CURL_CONSTANT(CURLINFO_PRIVATE);
 
/* cURL protocol constants (curl_version) */
REGISTER_CURL_CONSTANT(CURL_VERSION_IPV6);
@@ -1304,6 +1307,7 @@
}
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;
+   case CURLOPT_PRIVATE:
case CURLOPT_URL:
case CURLOPT_PROXY:
case CURLOPT_USERPWD:
@@ -1854,6 +1858,7 @@
}
} else {
switch (option) {
+   case CURLINFO_PRIVATE:
case CURLINFO_EFFECTIVE_URL: 
case CURLINFO_CONTENT_TYPE: {
char *s_code = NULL;

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-04-23 Thread Antony Dovgal
tony2001Mon Apr 23 14:36:38 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  add CURLOPT_FTP_CREATE_MISSING_DIRS
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.112r2=1.113diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.112 php-src/ext/curl/interface.c:1.113
--- php-src/ext/curl/interface.c:1.112  Tue Apr 17 18:39:18 2007
+++ php-src/ext/curl/interface.cMon Apr 23 14:36:38 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.112 2007/04/17 18:39:18 pollita Exp $ */
+/* $Id: interface.c,v 1.113 2007/04/23 14:36:38 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -475,8 +475,9 @@
REGISTER_CURL_CONSTANT(CURLAUTH_ANYSAFE);
 #endif
 
-#if LIBCURL_VERSION_NUM  0x070a06 /* CURLOPT_PROXYAUTH is available since 
curl 7.10.7 */
+#if LIBCURL_VERSION_NUM  0x070a06 /* CURLOPT_PROXYAUTH  
CURLOPT_FTP_CREATE_MISSING_DIRS are available since curl 7.10.7 */
REGISTER_CURL_CONSTANT(CURLOPT_PROXYAUTH);
+   REGISTER_CURL_CONSTANT(CURLOPT_FTP_CREATE_MISSING_DIRS);
 #endif
 
/* Constants effecting the way CURLOPT_CLOSEPOLICY works */
@@ -1271,8 +1272,9 @@
 #if LIBCURL_VERSION_NUM  0x070a05 /* CURLOPT_HTTPAUTH is available since curl 
7.10.6 */
case CURLOPT_HTTPAUTH:
 #endif
-#if LIBCURL_VERSION_NUM  0x070a06 /* CURLOPT_PROXYAUTH is available since 
curl 7.10.7 */
+#if LIBCURL_VERSION_NUM  0x070a06 /* CURLOPT_PROXYAUTH  
CURLOPT_FTP_CREATE_MISSING_DIRS are available since curl 7.10.7 */
case CURLOPT_PROXYAUTH:
+   case CURLOPT_FTP_CREATE_MISSING_DIRS:
 #endif
 
 #if LIBCURL_VERSION_NUM = 0x070c02

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-03-08 Thread Rasmus Lerdorf
rasmus  Fri Mar  9 01:22:47 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB Off by ! in file:/// control char check
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.110r2=1.111diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.110 php-src/ext/curl/interface.c:1.111
--- php-src/ext/curl/interface.c:1.110  Fri Feb 23 20:50:17 2007
+++ php-src/ext/curl/interface.cFri Mar  9 01:22:47 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.110 2007/02/23 20:50:17 tony2001 Exp $ */
+/* $Id: interface.c,v 1.111 2007/03/09 01:22:47 rasmus Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -173,7 +173,7 @@
php_curl_ret(__ret);
\
}   

\

\
-   if (php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {\
+   if (!php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {   \
php_error_docref(NULL TSRMLS_CC, E_WARNING, URL '%s' 
contains unencoded control characters, str); \
php_url_free(tmp_url);  

\
php_curl_ret(__ret);
\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-02-23 Thread Antony Dovgal
tony2001Fri Feb 23 20:50:17 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix leak
  no need to allocate the buffer if there was no data
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.109r2=1.110diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.109 php-src/ext/curl/interface.c:1.110
--- php-src/ext/curl/interface.c:1.109  Fri Jan 19 18:03:25 2007
+++ php-src/ext/curl/interface.cFri Feb 23 20:50:17 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.109 2007/01/19 18:03:25 tony2001 Exp $ */
+/* $Id: interface.c,v 1.110 2007/02/23 20:50:17 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -713,7 +713,9 @@
case PHP_CURL_FILE:
return fwrite(data, size, nmemb, t-fp);
case PHP_CURL_RETURN:
-   smart_str_appendl(t-buf, data, (int) length);
+   if (length  0) {
+   smart_str_appendl(t-buf, data, (int) length);
+   }
break;
case PHP_CURL_USER: {
zval **argv[2];
@@ -852,7 +854,7 @@
case PHP_CURL_STDOUT:
/* Handle special case write when we're returning the 
entire transfer
 */
-   if (ch-handlers-write-method == PHP_CURL_RETURN) {
+   if (ch-handlers-write-method == PHP_CURL_RETURN  
length  0) {
smart_str_appendl(ch-handlers-write-buf, 
data, (int) length);
} else {
PHPWRITE(data, length);

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-01-19 Thread Antony Dovgal
tony2001Fri Jan 19 15:38:02 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  fix #40169 (CURLOPT_TCP_NODELAY only available in curl = 7.11.2)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.107r2=1.108diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.107 php-src/ext/curl/interface.c:1.108
--- php-src/ext/curl/interface.c:1.107  Mon Jan  8 20:04:56 2007
+++ php-src/ext/curl/interface.cFri Jan 19 15:38:02 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.107 2007/01/08 20:04:56 pollita Exp $ */
+/* $Id: interface.c,v 1.108 2007/01/19 15:38:02 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -450,7 +450,9 @@
REGISTER_CURL_CONSTANT(CURLOPT_PROXYPORT);
REGISTER_CURL_CONSTANT(CURLOPT_UNRESTRICTED_AUTH);
REGISTER_CURL_CONSTANT(CURLOPT_FTP_USE_EPRT);
+#if LIBCURL_VERSION_NUM  0x070b01 /* CURLOPT_TCP_NODELAY is available since 
curl 7.11.2 */
REGISTER_CURL_CONSTANT(CURLOPT_TCP_NODELAY);
+#endif
REGISTER_CURL_CONSTANT(CURLOPT_HTTP200ALIASES);
REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFMODSINCE);
REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFUNMODSINCE);
@@ -1269,10 +1271,12 @@
case CURLOPT_PORT:
case CURLOPT_AUTOREFERER:
case CURLOPT_COOKIESESSION:
+#if LIBCURL_VERSION_NUM  0x070b01 /* CURLOPT_TCP_NODELAY is available since 
curl 7.11.2 */
case CURLOPT_TCP_NODELAY:
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;
+#endif
case CURLOPT_FOLLOWLOCATION:
convert_to_long_ex(zvalue);
if (PG(open_basedir)  *PG(open_basedir)) {

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-01-19 Thread Antony Dovgal
tony2001Fri Jan 19 18:03:25 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  improve the fix
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.108r2=1.109diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.108 php-src/ext/curl/interface.c:1.109
--- php-src/ext/curl/interface.c:1.108  Fri Jan 19 15:38:02 2007
+++ php-src/ext/curl/interface.cFri Jan 19 18:03:25 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.108 2007/01/19 15:38:02 tony2001 Exp $ */
+/* $Id: interface.c,v 1.109 2007/01/19 18:03:25 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1273,10 +1273,10 @@
case CURLOPT_COOKIESESSION:
 #if LIBCURL_VERSION_NUM  0x070b01 /* CURLOPT_TCP_NODELAY is available since 
curl 7.11.2 */
case CURLOPT_TCP_NODELAY:
+#endif
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;
-#endif
case CURLOPT_FOLLOWLOCATION:
convert_to_long_ex(zvalue);
if (PG(open_basedir)  *PG(open_basedir)) {

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2007-01-08 Thread Sara Golemon
pollita Mon Jan  8 20:04:56 2007 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Add CURLOPT_TCP_NODELAY
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.106r2=1.107diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.106 php-src/ext/curl/interface.c:1.107
--- php-src/ext/curl/interface.c:1.106  Mon Jan  1 09:29:22 2007
+++ php-src/ext/curl/interface.cMon Jan  8 20:04:56 2007
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.106 2007/01/01 09:29:22 sebastian Exp $ */
+/* $Id: interface.c,v 1.107 2007/01/08 20:04:56 pollita Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -450,6 +450,7 @@
REGISTER_CURL_CONSTANT(CURLOPT_PROXYPORT);
REGISTER_CURL_CONSTANT(CURLOPT_UNRESTRICTED_AUTH);
REGISTER_CURL_CONSTANT(CURLOPT_FTP_USE_EPRT);
+   REGISTER_CURL_CONSTANT(CURLOPT_TCP_NODELAY);
REGISTER_CURL_CONSTANT(CURLOPT_HTTP200ALIASES);
REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFMODSINCE);
REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFUNMODSINCE);
@@ -1268,6 +1269,7 @@
case CURLOPT_PORT:
case CURLOPT_AUTOREFERER:
case CURLOPT_COOKIESESSION:
+   case CURLOPT_TCP_NODELAY:
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-26 Thread Ilia Alshanetsky
iliaa   Tue Dec 26 16:57:51 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Fixed bug #39878 (CURL doesn't compile on Sun Studio Pro).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.104r2=1.105diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.104 php-src/ext/curl/interface.c:1.105
--- php-src/ext/curl/interface.c:1.104  Tue Dec 19 21:41:12 2006
+++ php-src/ext/curl/interface.cTue Dec 26 16:57:51 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.104 2006/12/19 21:41:12 mike Exp $ */
+/* $Id: interface.c,v 1.105 2006/12/26 16:57:51 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -156,6 +156,12 @@
 #define CAAS(s, v) add_assoc_ascii_string_ex(return_value, s, sizeof(s), (char 
*) v, 1);
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
+#if defined(PHP_WIN32) || defined(__GNUC__)
+ #define php_curl_ret(__ret) RETVAL_FALSE; return __ret;
+#else
+ #define php_curl_ret(__ret) RETVAL_FALSE; return;
+#endif
+
 #define PHP_CURL_CHECK_OPEN_BASEDIR(str, len, __ret)   
\
if ((PG(open_basedir)  *PG(open_basedir))   
  \
strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
@@ -164,20 +170,18 @@

\
if (!(tmp_url = php_url_parse_ex(str, len))) {  
\
php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
URL '%s', str);   \
-   RETVAL_FALSE;   

\
-   return __ret;   
\
+   php_curl_ret(__ret);
\
}   

\

\
if (php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {\
php_error_docref(NULL TSRMLS_CC, E_WARNING, URL '%s' 
contains unencoded control characters, str); \
-   RETVAL_FALSE;   
\
-   return __ret;   
\
+   php_url_free(tmp_url);  

\
+   php_curl_ret(__ret);
\
}   
\


\
if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC)) { \
php_url_free(tmp_url);  

\
-   RETVAL_FALSE;   

\
-   return __ret;   
\
+   php_curl_ret(__ret);
\
}   

\
php_url_free(tmp_url);  

\
}

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

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-19 Thread Michael Wallner
mikeTue Dec 19 21:41:13 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - check CRYPTO_get_id_callback() if anyone else already set thread lock 
callbacks
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.103r2=1.104diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.103 php-src/ext/curl/interface.c:1.104
--- php-src/ext/curl/interface.c:1.103  Sat Dec  9 14:37:40 2006
+++ php-src/ext/curl/interface.cTue Dec 19 21:41:12 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.103 2006/12/09 14:37:40 iliaa Exp $ */
+/* $Id: interface.c,v 1.104 2006/12/19 21:41:12 mike Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -612,7 +612,7 @@
 #endif
 
 #ifdef PHP_CURL_NEED_OPENSSL_TSL
-   {
+   if (!CRYPTO_get_id_callback()) {
int i, c = CRYPTO_num_locks();

php_curl_openssl_tsl = malloc(c * sizeof(MUTEX_T));
@@ -665,16 +665,11 @@
php_unregister_url_stream_wrapper(ftp TSRMLS_CC);
php_unregister_url_stream_wrapper(ldap TSRMLS_CC);
 #endif
-#ifdef PHP_CURL_NEED_OPENSSL_TSL
-   /* ensure there are valid callbacks set */
-   CRYPTO_set_id_callback(php_curl_ssl_id);
-   CRYPTO_set_locking_callback(php_curl_ssl_lock);
-#endif
curl_global_cleanup();
 #ifdef PHP_CURL_NEED_OPENSSL_TSL
if (php_curl_openssl_tsl) {
int i, c = CRYPTO_num_locks();
-   
+   
CRYPTO_set_id_callback(NULL);
CRYPTO_set_locking_callback(NULL);


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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-09 Thread Hannes Magnusson
bjori   Sat Dec  9 14:07:13 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Fix build
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.101r2=1.102diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.101 php-src/ext/curl/interface.c:1.102
--- php-src/ext/curl/interface.c:1.101  Fri Dec  8 03:13:41 2006
+++ php-src/ext/curl/interface.cSat Dec  9 14:07:13 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.101 2006/12/08 03:13:41 iliaa Exp $ */
+/* $Id: interface.c,v 1.102 2006/12/09 14:07:13 bjori Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -959,7 +959,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, Could not call the 
CURLOPT_PASSWDFUNCTION);
} else if (Z_TYPE_P(retval) == IS_STRING || Z_TYPE_P(retval) == 
IS_UNICODE) {
if (Z_TYPE_P(retval) == IS_UNICODE) {
-   convert_to_string_ex(retval);
+   convert_to_string_ex(retval);
}
if (Z_STRLEN_P(retval)  buflen) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Returned 
password is too long for libcurl to handle);

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-09 Thread Ilia Alshanetsky
iliaa   Sat Dec  9 14:37:40 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Improve handling of POST data with Andrei's help.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.102r2=1.103diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.102 php-src/ext/curl/interface.c:1.103
--- php-src/ext/curl/interface.c:1.102  Sat Dec  9 14:07:13 2006
+++ php-src/ext/curl/interface.cSat Dec  9 14:37:40 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.102 2006/12/09 14:07:13 bjori Exp $ */
+/* $Id: interface.c,v 1.103 2006/12/09 14:37:40 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1451,22 +1451,36 @@
UErrorCode status = U_ZERO_ERROR;
uint data_len;
 
-   SEPARATE_ZVAL(current);
-
-   if (Z_TYPE_PP(current) == IS_UNICODE) {
-   
zend_unicode_to_string_ex(UG(utf8_conv), postval, data_len, 
Z_USTRVAL_PP(current), Z_USTRLEN_PP(current), status);
-   } else {
-   convert_to_string_ex(current);
-   postval = Z_STRVAL_PP(current);
-   data_len = Z_STRLEN_PP(current);
+   switch (Z_TYPE_PP(current)) {
+   case IS_UNICODE:
+   ntype = 
HASH_KEY_IS_UNICODE;
+   break;
+   case IS_STRING:
+   ntype = 
HASH_KEY_IS_STRING;
+   break;
+   default:
+   if (type != -1) {
+   ntype = type;
+   } else {
+   ntype = 
HASH_KEY_IS_STRING;
+   }
+   break;
}
 
-   
zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
-
-   ntype = 
zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
if (type == -1) {
type = ntype;
} else if (type != ntype) {
+   goto type_conflict;
+   }
+
+   SEPARATE_ZVAL(current);
+   
convert_to_string_with_converter_ex(current, UG(utf8_conv));
+   postval = Z_STRVAL_PP(current);
+   data_len = Z_STRLEN_PP(current);
+
+   ntype = 
zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
+   if (type != ntype  ntype != 
HASH_KEY_IS_LONG) {
+type_conflict:
php_error_docref(NULL 
TSRMLS_CC, E_WARNING, Form parameters must either be all unicode or all 
binary); 
continue;
}

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-07 Thread Ilia Alshanetsky
iliaa   Fri Dec  8 00:46:01 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Allow POST of unicode data as utf8
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.99r2=1.100diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.99 php-src/ext/curl/interface.c:1.100
--- php-src/ext/curl/interface.c:1.99   Thu Dec  7 01:06:54 2006
+++ php-src/ext/curl/interface.cFri Dec  8 00:46:01 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.99 2006/12/07 01:06:54 iliaa Exp $ */
+/* $Id: interface.c,v 1.100 2006/12/08 00:46:01 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -957,7 +957,7 @@
error = call_user_function(EG(function_table), NULL, func, retval, 2, 
argv TSRMLS_CC);
if (error == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Could not call the 
CURLOPT_PASSWDFUNCTION);
-   } else if (Z_TYPE_P(retval) == IS_STRING || Z_TYPE_(retval) == 
IS_UNICODE) {
+   } else if (Z_TYPE_P(retval) == IS_STRING || Z_TYPE_P(retval) == 
IS_UNICODE) {
if (Z_TYPE_(retval) == IS_UNICODE) {
convert_to_string_ex(retval);
}
@@ -1449,13 +1449,19 @@
int ntype;
int l;
UErrorCode status = U_ZERO_ERROR;
+   uint data_len;
 
SEPARATE_ZVAL(current);
-   convert_to_string_ex(current);
+
+   if (Z_TYPE_PP(current) == IS_UNICODE) {
+   
zend_unicode_to_string_ex(UG(utf8_conv), postval, data_len, 
Z_USTRVAL_PP(current), Z_USTRLEN_PP(current), status);
+   } else {
+   convert_to_string_ex(current);
+   postval = Z_STRVAL_PP(current);
+   data_len = Z_STRLEN_PP(current);
+   }
 

zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
-   
-   postval = Z_STRVAL_PP(current);
 
ntype = 
zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
if (type == -1) {
@@ -1499,7 +1505,7 @@

 CURLFORM_COPYNAME, key,

 CURLFORM_NAMELENGTH, l,

 CURLFORM_COPYCONTENTS, postval, 
-   
 CURLFORM_CONTENTSLENGTH, (long)Z_STRLEN_PP(current),
+   
 CURLFORM_CONTENTSLENGTH, (long)data_len,

 CURLFORM_END);
}
if (ntype == HASH_KEY_IS_UNICODE) {

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-07 Thread Ilia Alshanetsky
iliaa   Fri Dec  8 03:13:41 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Fixed typo
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.100r2=1.101diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.100 php-src/ext/curl/interface.c:1.101
--- php-src/ext/curl/interface.c:1.100  Fri Dec  8 00:46:01 2006
+++ php-src/ext/curl/interface.cFri Dec  8 03:13:41 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.100 2006/12/08 00:46:01 iliaa Exp $ */
+/* $Id: interface.c,v 1.101 2006/12/08 03:13:41 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -958,7 +958,7 @@
if (error == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Could not call the 
CURLOPT_PASSWDFUNCTION);
} else if (Z_TYPE_P(retval) == IS_STRING || Z_TYPE_P(retval) == 
IS_UNICODE) {
-   if (Z_TYPE_(retval) == IS_UNICODE) {
+   if (Z_TYPE_P(retval) == IS_UNICODE) {
convert_to_string_ex(retval);
}
if (Z_STRLEN_P(retval)  buflen) {

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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-07 Thread Andrei Zmievski

You can do it much simpler with:

  convert_to_string_with_converter_ex(current, UG(utf8_conv));

-Andrei


On Dec 7, 2006, at 4:46 PM, Ilia Alshanetsky wrote:


+
+   if (Z_TYPE_PP(current) == IS_UNICODE) {
+		zend_unicode_to_string_ex(UG(utf8_conv), postval,  
data_len, Z_USTRVAL_PP(current), Z_USTRLEN_PP(current), status);

+   } else {
+   convert_to_string_ex(current);
+   postval = Z_STRVAL_PP(current);
+   data_len = Z_STRLEN_PP(current);
+   }


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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Ilia Alshanetsky
iliaa   Wed Dec  6 17:52:11 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  First part of unicode upgrade
  
  http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.96r2=1.97diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.96 php-src/ext/curl/interface.c:1.97
--- php-src/ext/curl/interface.c:1.96   Tue Nov 21 15:58:12 2006
+++ php-src/ext/curl/interface.cWed Dec  6 17:52:11 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.96 2006/11/21 15:58:12 iliaa Exp $ */
+/* $Id: interface.c,v 1.97 2006/12/06 17:52:11 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -153,7 +153,7 @@
 
 #define CAAL(s, v) add_assoc_long_ex(return_value, s, sizeof(s), (long) v);
 #define CAAD(s, v) add_assoc_double_ex(return_value, s, sizeof(s), (double) v);
-#define CAAS(s, v) add_assoc_string_ex(return_value, s, sizeof(s), (char *) v, 
1);
+#define CAAS(s, v) add_assoc_ascii_string_ex(return_value, s, sizeof(s), (char 
*) v, 1);
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #define PHP_CURL_CHECK_OPEN_BASEDIR(str, len, __ret)   
\
@@ -1001,12 +1001,12 @@
 }
 /* }}} */
 
-/* {{{ proto array curl_version([int version])
+/* {{{ proto array curl_version([int version]) U
Return cURL version information. */
 PHP_FUNCTION(curl_version)
 {
curl_version_info_data *d;
-   longuversion = CURLVERSION_NOW;
+   long uversion = CURLVERSION_NOW;
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |l, uversion) 
== FAILURE) {
return;
@@ -1036,7 +1036,7 @@
array_init(protocol_list);
 
while (*p != NULL) {
-   add_next_index_string(protocol_list,  *p++, 1);
+   add_next_index_ascii_string(protocol_list, *p++, 1);
}
CAAZ(protocols, protocol_list);
}
@@ -1064,22 +1064,26 @@
 }
 /* }}} */
 
-/* {{{ proto resource curl_init([string url])
+/* {{{ proto resource curl_init([string url]) U
Initialize a cURL session */
 PHP_FUNCTION(curl_init)
 {
-   zval   **url;
-   php_curl*ch;
-   CURL*cp;
-   int  argc = ZEND_NUM_ARGS();
-
-   if (argc  0 || argc  1 || zend_get_parameters_ex(argc, url) == 
FAILURE) {
-   WRONG_PARAM_COUNT;
-   }
-
-   if (argc  0) {
-   convert_to_string_ex(url);
-   PHP_CURL_CHECK_OPEN_BASEDIR(Z_STRVAL_PP(url), Z_STRLEN_PP(url), 
(void) NULL);
+   php_curl*ch;
+   CURL*cp;
+   char*src = NULL;
+   int src_len;
+   zend_uchar  src_type;
+
+if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |t, src, 
src_len, src_type) == FAILURE) {
+RETURN_FALSE;
+}
+
+   if (src  src_type == IS_UNICODE) {
+   src = zend_unicode_to_ascii((UChar*)src, src_len TSRMLS_CC);
+   if (!src) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or 
ASCII-Unicode string expected, non-ASCII-Unicode string received); 
+   RETURN_FALSE;
+   }
}
 
cp = curl_easy_init();
@@ -1116,10 +1120,10 @@
curl_easy_setopt(ch-cp, CURLOPT_NOSIGNAL, 1);
 #endif
 
-   if (argc  0) {
+   if (src) {
char *urlcopy;
 
-   urlcopy = estrndup(Z_STRVAL_PP(url), Z_STRLEN_PP(url));
+   urlcopy = estrndup(src, src_len);
curl_easy_setopt(ch-cp, CURLOPT_URL, urlcopy);
zend_llist_add_element(ch-to_free.str, urlcopy);
}
@@ -1129,19 +1133,19 @@
 }
 /* }}} */
 
-/* {{{ proto resource curl_copy_handle(resource ch)
+/* {{{ proto resource curl_copy_handle(resource ch) U
Copy a cURL handle along with all of it's preferences */
 PHP_FUNCTION(curl_copy_handle)
 {
-   zval **zid;
-   CURL  *cp;
-   php_curl  *ch;
-   php_curl  *dupch;
+   CURL*cp;
+   zval*zid;
+   php_curl*ch, *dupch;
+
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, zid) == 
FAILURE) {
+RETURN_FALSE;
+}
 
-   if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, zid) == FAILURE) 
{
-   WRONG_PARAM_COUNT;
-   }
-   ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
+   ZEND_FETCH_RESOURCE(ch, php_curl *, zid, -1, le_curl_name, le_curl);
 
cp = curl_easy_duphandle(ch-cp);
if (!cp) {
@@ -1579,18 +1583,17 @@
Set an option for a cURL transfer */
 PHP_FUNCTION(curl_setopt)
 {
-   zval   **zid, **zoption, **zvalue;
+   zval   *zid, *zvalue;
+   long   options;
 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Ilia Alshanetsky
iliaa   Wed Dec  6 18:40:55 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Final set of unicode changes
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.97r2=1.98diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.97 php-src/ext/curl/interface.c:1.98
--- php-src/ext/curl/interface.c:1.97   Wed Dec  6 17:52:11 2006
+++ php-src/ext/curl/interface.cWed Dec  6 18:40:55 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.97 2006/12/06 17:52:11 iliaa Exp $ */
+/* $Id: interface.c,v 1.98 2006/12/06 18:40:55 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -957,14 +957,17 @@
error = call_user_function(EG(function_table), NULL, func, retval, 2, 
argv TSRMLS_CC);
if (error == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Could not call the 
CURLOPT_PASSWDFUNCTION);
-   } else if (Z_TYPE_P(retval) == IS_STRING) {
+   } else if (Z_TYPE_P(retval) == IS_STRING || Z_TYPE_(retval) == 
IS_UNICODE) {
+   if (Z_TYPE_(retval) == IS_UNICODE) {
+   convert_to_string_ex(retval);
+   }
if (Z_STRLEN_P(retval)  buflen) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Returned 
password is too long for libcurl to handle);
} else {
strlcpy(buf, Z_STRVAL_P(retval), Z_STRLEN_P(retval));
}
} else {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, User handler '%s' 
did not return a string, Z_STRVAL_P(func));
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, User handler '%v' 
did not return a string, func);
}

zval_ptr_dtor(argv[0]);
@@ -1426,12 +1429,13 @@
struct HttpPost  *first = NULL;
struct HttpPost  *last  = NULL;
char *postval;
-   char *string_key = NULL;
-   ulong num_key;
-   uint  string_key_len;
+   zstr string_key;
+   char *key;
+   ulongnum_key;
+   uint string_key_len;
 
postfields = HASH_OF(*zvalue);
-   if (! postfields) {
+   if (!postfields) {
php_error_docref(NULL TSRMLS_CC, 
E_WARNING, Couldn't get HashTable in CURLOPT_POSTFIELDS); 
RETVAL_FALSE;
return 1;
@@ -1449,6 +1453,23 @@

postval = Z_STRVAL_PP(current);
 
+   switch 
(zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL)) {
+   case HASH_KEY_IS_UNICODE:
+   key = 
zend_unicode_to_ascii(string_key.u, string_key_len TSRMLS_CC);
+   if (!key) {
+   
php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or ASCII-Unicode string 
expected, non-ASCII-Unicode string received); 
+   continue;
+   }
+   break;
+   case HASH_KEY_IS_STRING:
+   key = string_key.s;
+   break;
+   case HASH_KEY_IS_LONG:
+   key = NULL;
+   string_key_len = 0;
+   break;
+   }
+
/* The arguments after _NAMELENGTH and 
_CONTENTSLENGTH
 * must be explicitly cast to long in 
curl_formadd
 * use since curl needs a long not an 
int. */
@@ -1460,13 +1481,13 @@
return 1;
}
error = curl_formadd(first, 
last, 
-   
 CURLFORM_COPYNAME, 

Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Andrei Zmievski
How're you dealing with POSTFIELDS? It seems you're just converting 
them to binary strings using runtime encoding. I think we may need to 
do something smarter than that in case people want to post Unicode 
content.


-Andrei

On Dec 6, 2006, at 9:52 AM, Ilia Alshanetsky wrote:


iliaa   Wed Dec  6 17:52:11 2006 UTC

  Modified files:
/php-src/ext/curl   interface.c
  Log:
  First part of unicode upgrade

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


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



Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Ilia Alshanetsky
Dealing with post fields is tricky, because we need to check is the  
first char is @, in which case this is a name of a file to upload. As  
far as regular fields if someone wants to post data then there is  
issue of encoding, we could post it as utf8. However, the form may  
not be expecting utf-8, nor do we know what the form actually  
expects. We can of course just post binary as is right now and  
unicode as utf-8, but I am somewhat concerned about possible side- 
effects.


Ilia Alshanetsky

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Ilia Alshanetsky
iliaa   Thu Dec  7 01:06:54 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Allow submission of unicode data in utf8 form
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.98r2=1.99diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.98 php-src/ext/curl/interface.c:1.99
--- php-src/ext/curl/interface.c:1.98   Wed Dec  6 18:40:55 2006
+++ php-src/ext/curl/interface.cThu Dec  7 01:06:54 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.98 2006/12/06 18:40:55 iliaa Exp $ */
+/* $Id: interface.c,v 1.99 2006/12/07 01:06:54 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1294,7 +1294,7 @@
case CURLOPT_COOKIE:
case CURLOPT_REFERER:
case CURLOPT_INTERFACE:
-   case CURLOPT_KRB4LEVEL: 
+   case CURLOPT_KRB4LEVEL:
case CURLOPT_EGDSOCKET:
case CURLOPT_CAINFO: 
case CURLOPT_CAPATH:
@@ -1433,6 +1433,7 @@
char *key;
ulongnum_key;
uint string_key_len;
+   int  type = -1;
 
postfields = HASH_OF(*zvalue);
if (!postfields) {
@@ -1445,6 +1446,9 @@
 zend_hash_get_current_data(postfields, 
(void **) current) == SUCCESS;
 zend_hash_move_forward(postfields)
) {
+   int ntype;
+   int l;
+   UErrorCode status = U_ZERO_ERROR;
 
SEPARATE_ZVAL(current);
convert_to_string_ex(current);
@@ -1453,20 +1457,25 @@

postval = Z_STRVAL_PP(current);
 
-   switch 
(zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL)) {
+   ntype = 
zend_hash_get_current_key_ex(postfields, string_key, string_key_len, 
num_key, 0, NULL);
+   if (type == -1) {
+   type = ntype;
+   } else if (type != ntype) {
+   php_error_docref(NULL 
TSRMLS_CC, E_WARNING, Form parameters must either be all unicode or all 
binary); 
+   continue;
+   }
+
+   switch (ntype) {
case HASH_KEY_IS_UNICODE:
-   key = 
zend_unicode_to_ascii(string_key.u, string_key_len TSRMLS_CC);
-   if (!key) {
-   
php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or ASCII-Unicode string 
expected, non-ASCII-Unicode string received); 
-   continue;
-   }
+   
zend_unicode_to_string_ex(UG(utf8_conv), key, l, string_key.u, 
string_key_len, status);
break;
case HASH_KEY_IS_STRING:
key = string_key.s;
+   l = string_key_len - 1;
break;
case HASH_KEY_IS_LONG:
key = NULL;
-   string_key_len = 0;
+   l = 0;
break;
}
 
@@ -1482,17 +1491,20 @@
}
error = curl_formadd(first, 
last, 

 CURLFORM_COPYNAME, key,
-   
 CURLFORM_NAMELENGTH, (long)string_key_len - 1,
+   
 CURLFORM_NAMELENGTH, l,
 

Re: [PHP-CVS] cvs: php-src /ext/curl interface.c

2006-12-06 Thread Andrei Zmievski

What about the values?

-Andrei


On Dec 6, 2006, at 5:06 PM, Ilia Alshanetsky wrote:


iliaa   Thu Dec  7 01:06:54 2006 UTC

  Modified files:
/php-src/ext/curl   interface.c
  Log:
  Allow submission of unicode data in utf8 form


http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c? 
r1=1.98r2=1.99diff_format=u

Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.98 php-src/ext/curl/ 
interface.c:1.99

--- php-src/ext/curl/interface.c:1.98   Wed Dec  6 18:40:55 2006
+++ php-src/ext/curl/interface.cThu Dec  7 01:06:54 2006
@@ -16,7 +16,7 @@
 
+- 
-+

 */

-/* $Id: interface.c,v 1.98 2006/12/06 18:40:55 iliaa Exp $ */
+/* $Id: interface.c,v 1.99 2006/12/07 01:06:54 iliaa Exp $ */

 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS

@@ -1294,7 +1294,7 @@
case CURLOPT_COOKIE:
case CURLOPT_REFERER:
case CURLOPT_INTERFACE:
-   case CURLOPT_KRB4LEVEL:
+   case CURLOPT_KRB4LEVEL:
case CURLOPT_EGDSOCKET:
case CURLOPT_CAINFO:
case CURLOPT_CAPATH:
@@ -1433,6 +1433,7 @@
char *key;
ulongnum_key;
uint string_key_len;
+   int  type = -1;

postfields = HASH_OF(*zvalue);
if (!postfields) {
@@ -1445,6 +1446,9 @@
 	 zend_hash_get_current_data(postfields, (void **) current)  
== SUCCESS;

 zend_hash_move_forward(postfields)
) {
+   int ntype;
+   int l;
+   UErrorCode status = U_ZERO_ERROR;

SEPARATE_ZVAL(current);
convert_to_string_ex(current);
@@ -1453,20 +1457,25 @@

postval = Z_STRVAL_PP(current);

-	switch (zend_hash_get_current_key_ex(postfields, string_key,  
string_key_len, num_key, 0, NULL)) {
+	ntype = zend_hash_get_current_key_ex(postfields, string_key,  
string_key_len, num_key, 0, NULL);

+   if (type == -1) {
+   type = ntype;
+   } else if (type != ntype) {
+		php_error_docref(NULL TSRMLS_CC, E_WARNING, Form parameters  
must either be all unicode or all binary);

+   continue;
+   }
+
+   switch (ntype) {
case HASH_KEY_IS_UNICODE:
-			key = zend_unicode_to_ascii(string_key.u, string_key_len  
TSRMLS_CC);

-   if (!key) {
-php_error_docref(NULL TSRMLS_CC, E_WARNING, Binary or  
ASCII-Unicode string expected, non-ASCII-Unicode string received);

-   continue;
-   }
+			zend_unicode_to_string_ex(UG(utf8_conv), key, l,  
string_key.u, string_key_len, status);

break;
case HASH_KEY_IS_STRING:
key = string_key.s;
+   l = string_key_len - 1;
break;
case HASH_KEY_IS_LONG:
key = NULL;
-   string_key_len = 0;
+   l = 0;
break;
}

@@ -1482,17 +1491,20 @@
}
error = curl_formadd(first, 
last,

 CURLFORM_COPYNAME, key,
-   
 CURLFORM_NAMELENGTH, (long)string_key_len - 1,
+   
 CURLFORM_NAMELENGTH, l,

 CURLFORM_FILE, postval,

 CURLFORM_END);
} else 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-11-03 Thread Ilia Alshanetsky
iliaa   Fri Nov  3 14:53:27 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Fixed bug #39354 (Allow building of curl extension against libcurl
  7.16.0)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.93r2=1.94diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.93 php-src/ext/curl/interface.c:1.94
--- php-src/ext/curl/interface.c:1.93   Tue Oct 10 23:13:13 2006
+++ php-src/ext/curl/interface.cFri Nov  3 14:53:27 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.93 2006/10/10 23:13:13 iliaa Exp $ */
+/* $Id: interface.c,v 1.94 2006/11/03 14:53:27 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -367,7 +367,9 @@
REGISTER_CURL_CONSTANT(CURLOPT_FTPAPPEND);
REGISTER_CURL_CONSTANT(CURLOPT_NETRC);
REGISTER_CURL_CONSTANT(CURLOPT_FOLLOWLOCATION);
+#if CURLOPT_FTPASCII != 0
REGISTER_CURL_CONSTANT(CURLOPT_FTPASCII);
+#endif
REGISTER_CURL_CONSTANT(CURLOPT_PUT);
 #if CURLOPT_MUTE != 0
REGISTER_CURL_CONSTANT(CURLOPT_MUTE);
@@ -407,7 +409,9 @@
REGISTER_CURL_CONSTANT(CURLOPT_FILETIME);
REGISTER_CURL_CONSTANT(CURLOPT_WRITEFUNCTION);
REGISTER_CURL_CONSTANT(CURLOPT_READFUNCTION);
+#if CURLOPT_PASSWDFUNCTION != 0 
REGISTER_CURL_CONSTANT(CURLOPT_PASSWDFUNCTION);
+#endif
REGISTER_CURL_CONSTANT(CURLOPT_HEADERFUNCTION);
REGISTER_CURL_CONSTANT(CURLOPT_MAXREDIRS);
REGISTER_CURL_CONSTANT(CURLOPT_MAXCONNECTS);
@@ -1155,12 +1159,13 @@
dupch-handlers-write_header-fp = ch-handlers-write_header-fp;
dupch-handlers-read-fp = ch-handlers-read-fp;
dupch-handlers-read-fd = ch-handlers-read-fd;
-
+#if CURLOPT_PASSWDDATA != 0
if (ch-handlers-passwd) {
zval_add_ref(ch-handlers-passwd);
dupch-handlers-passwd = ch-handlers-passwd;
curl_easy_setopt(ch-cp, CURLOPT_PASSWDDATA, (void *) dupch);
}
+#endif
if (ch-handlers-write-func_name) {
zval_add_ref(ch-handlers-write-func_name);
dupch-handlers-write-func_name = 
ch-handlers-write-func_name;

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-10-10 Thread Ilia Alshanetsky
iliaa   Tue Oct 10 23:13:13 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Fixed bug #39034 (curl_exec() with return transfer returns TRUE on
  empty files).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.92r2=1.93diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.92 php-src/ext/curl/interface.c:1.93
--- php-src/ext/curl/interface.c:1.92   Sun Oct  8 22:39:48 2006
+++ php-src/ext/curl/interface.cTue Oct 10 23:13:13 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.92 2006/10/08 22:39:48 iliaa Exp $ */
+/* $Id: interface.c,v 1.93 2006/10/10 23:13:13 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1669,7 +1669,11 @@
RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 1);
}
--ch-uses;
-   RETURN_TRUE;
+   if (ch-handlers-write-method == PHP_CURL_RETURN) {
+   RETURN_EMPTY_STRING();
+   } else {
+   RETURN_TRUE;
+   }
 }
 /* }}} */
 

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-10-08 Thread Ilia Alshanetsky
iliaa   Sun Oct  8 22:39:48 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Added missing configuration checks
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.91r2=1.92diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.91 php-src/ext/curl/interface.c:1.92
--- php-src/ext/curl/interface.c:1.91   Sun Oct  8 13:34:21 2006
+++ php-src/ext/curl/interface.cSun Oct  8 22:39:48 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.91 2006/10/08 13:34:21 bjori Exp $ */
+/* $Id: interface.c,v 1.92 2006/10/08 22:39:48 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -561,9 +561,13 @@
REGISTER_CURL_CONSTANT(CURLE_SSL_CIPHER);
REGISTER_CURL_CONSTANT(CURLE_SSL_CACERT);
REGISTER_CURL_CONSTANT(CURLE_BAD_CONTENT_ENCODING);
+#if LIBCURL_VERSION_NUM = 0x070a08
REGISTER_CURL_CONSTANT(CURLE_LDAP_INVALID_URL);
REGISTER_CURL_CONSTANT(CURLE_FILESIZE_EXCEEDED);
+#endif
+#if LIBCURL_VERSION_NUM = 0x070b00
REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED);
+#endif
 
REGISTER_CURL_CONSTANT(CURLPROXY_HTTP);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5);

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-09-18 Thread Ilia Alshanetsky
iliaa   Mon Sep 18 16:13:00 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Fixed bug #38574 (missing curl constants and improper constant
  detection).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.89r2=1.90diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.89 php-src/ext/curl/interface.c:1.90
--- php-src/ext/curl/interface.c:1.89   Sat Sep  9 20:03:55 2006
+++ php-src/ext/curl/interface.cMon Sep 18 16:13:00 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.89 2006/09/09 20:03:55 bjori Exp $ */
+/* $Id: interface.c,v 1.90 2006/09/18 16:13:00 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -561,15 +561,9 @@
REGISTER_CURL_CONSTANT(CURLE_SSL_CIPHER);
REGISTER_CURL_CONSTANT(CURLE_SSL_CACERT);
REGISTER_CURL_CONSTANT(CURLE_BAD_CONTENT_ENCODING);
-#ifdef CURLE_LDAP_INVALID_URL
REGISTER_CURL_CONSTANT(CURLE_LDAP_INVALID_URL);
-#endif 
-#ifdef CURLE_FILESIZE_EXCEEDED
REGISTER_CURL_CONSTANT(CURLE_FILESIZE_EXCEEDED);
-#endif
-#ifdef CURLE_FTP_SSL_FAILED
REGISTER_CURL_CONSTANT(CURLE_FTP_SSL_FAILED);
-#endif
 
REGISTER_CURL_CONSTANT(CURLPROXY_HTTP);
REGISTER_CURL_CONSTANT(CURLPROXY_SOCKS5);
@@ -591,13 +585,21 @@
 
REGISTER_CURL_CONSTANT(CURLMSG_DONE);
 
-#ifdef CURLOPT_FTPSSLAUTH
+#if LIBCURL_VERSION_NUM = 0x070c02
REGISTER_CURL_CONSTANT(CURLOPT_FTPSSLAUTH);
REGISTER_CURL_CONSTANT(CURLFTPAUTH_DEFAULT);
REGISTER_CURL_CONSTANT(CURLFTPAUTH_SSL);
REGISTER_CURL_CONSTANT(CURLFTPAUTH_TLS);
 #endif
 
+#if LIBCURL_VERSION_NUM   0x070b00
+   REGISTER_CURL_CONSTANT(CURLOPT_FTP_SSL);
+   REGISTER_CURL_CONSTANT(CURLFTPSSL_NONE);
+   REGISTER_CURL_CONSTANT(CURLFTPSSL_TRY);
+   REGISTER_CURL_CONSTANT(CURLFTPSSL_CONTROL);
+   REGISTER_CURL_CONSTANT(CURLFTPSSL_ALL);
+#endif
+
 #ifdef PHP_CURL_NEED_OPENSSL_TSL
{
int i, c = CRYPTO_num_locks();
@@ -1238,9 +1240,12 @@
case CURLOPT_PROXYAUTH:
 #endif
 
-#ifdef CURLOPT_FTPSSLAUTH
+#if LIBCURL_VERSION_NUM = 0x070c02
case CURLOPT_FTPSSLAUTH:
 #endif
+#if LIBCURL_VERSION_NUM   0x070b00
+   case CURLOPT_FTP_SSL:
+#endif
case CURLOPT_UNRESTRICTED_AUTH:
case CURLOPT_PORT:
case CURLOPT_AUTOREFERER:

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-08-29 Thread Ilia Alshanetsky
iliaa   Tue Aug 29 17:10:53 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL
  handle).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.87r2=1.88diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.87 php-src/ext/curl/interface.c:1.88
--- php-src/ext/curl/interface.c:1.87   Thu Aug 10 19:02:32 2006
+++ php-src/ext/curl/interface.cTue Aug 29 17:10:52 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.87 2006/08/10 19:02:32 iliaa Exp $ */
+/* $Id: interface.c,v 1.88 2006/08/29 17:10:52 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1137,7 +1137,7 @@
}
 
alloc_curl_handle(dupch);
-   TSRMLS_SET_CTX(ch-thread_ctx);
+   TSRMLS_SET_CTX(dupch-thread_ctx);
 
dupch-cp = cp;
dupch-handlers-write-method = ch-handlers-write-method;
@@ -1145,6 +1145,38 @@
dupch-handlers-read-method  = ch-handlers-read-method;
dupch-handlers-write_header-method = 
ch-handlers-write_header-method;
 
+   dupch-handlers-write-fp = ch-handlers-write-fp;
+   dupch-handlers-write_header-fp = ch-handlers-write_header-fp;
+   dupch-handlers-read-fp = ch-handlers-read-fp;
+   dupch-handlers-read-fd = ch-handlers-read-fd;
+
+   if (ch-handlers-passwd) {
+   zval_add_ref(ch-handlers-passwd);
+   dupch-handlers-passwd = ch-handlers-passwd;
+   curl_easy_setopt(ch-cp, CURLOPT_PASSWDDATA, (void *) dupch);
+   }
+   if (ch-handlers-write-func_name) {
+   zval_add_ref(ch-handlers-write-func_name);
+   dupch-handlers-write-func_name = 
ch-handlers-write-func_name;
+   }
+   if (ch-handlers-read-func_name) {
+   zval_add_ref(ch-handlers-read-func_name);
+   dupch-handlers-read-func_name = 
ch-handlers-read-func_name;
+   }
+   if (ch-handlers-write_header-func_name) {
+   zval_add_ref(ch-handlers-write_header-func_name);
+   dupch-handlers-write_header-func_name = 
ch-handlers-write_header-func_name;
+   }
+
+   curl_easy_setopt(dupch-cp, CURLOPT_ERRORBUFFER,   dupch-err.str);
+   curl_easy_setopt(dupch-cp, CURLOPT_FILE,  (void *) dupch);
+   curl_easy_setopt(dupch-cp, CURLOPT_INFILE,(void *) dupch);
+   curl_easy_setopt(dupch-cp, CURLOPT_WRITEHEADER,   (void *) dupch);
+
+   zend_llist_copy(dupch-to_free.str, ch-to_free.str);
+   zend_llist_copy(dupch-to_free.slist, ch-to_free.slist);
+   zend_llist_copy(dupch-to_free.post, ch-to_free.post);
+
ZEND_REGISTER_RESOURCE(return_value, dupch, le_curl);
dupch-id = Z_LVAL_P(return_value);
 }

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



[PHP-CVS] cvs: php-src /ext/curl interface.c streams.c /ext/standard string.c

2006-08-10 Thread Ilia Alshanetsky
iliaa   Thu Aug 10 19:02:32 2006 UTC

  Modified files:  
/php-src/ext/standard   string.c 
/php-src/ext/curl   interface.c streams.c 
  Log:
  MFB: Various security fixes
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.574r2=1.575diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.574 php-src/ext/standard/string.c:1.575
--- php-src/ext/standard/string.c:1.574 Thu Aug 10 09:31:24 2006
+++ php-src/ext/standard/string.c   Thu Aug 10 19:02:32 2006
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: string.c,v 1.574 2006/08/10 09:31:24 tony2001 Exp $ */
+/* $Id: string.c,v 1.575 2006/08/10 19:02:32 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -834,7 +834,8 @@
 {
const char *text, *breakchar = \n;
char *newtext;
-   int textlen, breakcharlen = 1, newtextlen, alloced, chk;
+   int textlen, breakcharlen = 1, newtextlen, chk;
+   size_t alloced;
long current = 0, laststart = 0, lastspace = 0;
long linelength = 75;
zend_bool docut = 0;
@@ -6246,8 +6247,8 @@
zend_uchar  input_str_type;
longmult;   /* Multiplier */
void*result;/* Resulting string */
-   int result_len; /* Length of the 
resulting string, in bytes */
-   int result_chars;   /* Chars/UChars in resulting 
string */
+   size_t  result_len; /* Length of the 
resulting string, in bytes */
+   size_t  result_chars;   /* Chars/UChars in resulting 
string */
 
if ( zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, tl, input_str,
   input_str_chars, 
input_str_type, mult) == FAILURE ) {
@@ -6273,23 +6274,12 @@
if ( input_str_type == IS_UNICODE ) {
input_str_len = UBYTES(input_str_chars);
result_len = UBYTES(result_chars);
-   if ( result_chars  1 || result_chars  (2147483647/UBYTES(1)) 
) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, You may 
not create strings longer than %ld characters, 2147483647/UBYTES(1));
-   RETURN_FALSE;
-   }
+   result = (char *)safe_emalloc(UBYTES(input_str_chars), 
UBYTES(mult), UBYTES(1));
} else {
input_str_len = input_str_chars;
result_len = result_chars;
-   if ( result_chars  1 || result_chars  2147483647 ) {
-   if ( input_str_type == IS_STRING ) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
You may not create strings longer than 2147483647 characters);
-   } else {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
You may not create strings longer than 2147483647 bytes);
-   }
-   RETURN_FALSE;
-   }
+   result = (char *)safe_emalloc(input_str_chars, mult, 1);
}
-   result = emalloc(result_len);
 
/* Heavy optimization for situations where input string is 1 byte long 
*/
if ( input_str_len == 1 ) {
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.86r2=1.87diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.86 php-src/ext/curl/interface.c:1.87
--- php-src/ext/curl/interface.c:1.86   Tue Jul  4 20:13:40 2006
+++ php-src/ext/curl/interface.cThu Aug 10 19:02:32 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.86 2006/07/04 20:13:40 iliaa Exp $ */
+/* $Id: interface.c,v 1.87 2006/08/10 19:02:32 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1166,7 +1166,6 @@
case CURLOPT_FTPLISTONLY:
case CURLOPT_FTPAPPEND:
case CURLOPT_NETRC:
-   case CURLOPT_FOLLOWLOCATION:
case CURLOPT_PUT:
 #if CURLOPT_MUTE != 0
 case CURLOPT_MUTE:
@@ -1217,6 +1216,16 @@
convert_to_long_ex(zvalue);
error = curl_easy_setopt(ch-cp, option, 
Z_LVAL_PP(zvalue));
break;
+   case CURLOPT_FOLLOWLOCATION:
+   convert_to_long_ex(zvalue);
+   if (PG(open_basedir)  *PG(open_basedir)) {
+   if (Z_LVAL_PP(zvalue) != 0) {
+   php_error_docref(NULL TSRMLS_CC, 
E_WARNING, CURLOPT_FOLLOWLOCATION cannot be activated when open_basedir is 
set);
+   RETURN_FALSE;
+   }
+   }
+   error = 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-07-04 Thread Ilia Alshanetsky
iliaa   Tue Jul  4 20:13:40 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB: Eliminate some compiler warnings
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.85r2=1.86diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.85 php-src/ext/curl/interface.c:1.86
--- php-src/ext/curl/interface.c:1.85   Thu Jun 29 14:32:24 2006
+++ php-src/ext/curl/interface.cTue Jul  4 20:13:40 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.85 2006/06/29 14:32:24 bjori Exp $ */
+/* $Id: interface.c,v 1.86 2006/07/04 20:13:40 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1266,11 +1266,13 @@
ZEND_VERIFY_RESOURCE(what);
 
if (FAILURE == php_stream_cast((php_stream *) what, 
PHP_STREAM_AS_STDIO, (void *) fp, REPORT_ERRORS)) {
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
 
if (!fp) {
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
 
error = CURLE_OK;
@@ -1365,7 +1367,8 @@
postfields = HASH_OF(*zvalue);
if (! postfields) {
php_error_docref(NULL TSRMLS_CC, 
E_WARNING, Couldn't get HashTable in CURLOPT_POSTFIELDS); 
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
 
for 
(zend_hash_internal_pointer_reset(postfields);
@@ -1387,7 +1390,8 @@
++postval;
/* open_basedir check */
if 
(php_check_open_basedir(postval TSRMLS_CC)) {
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
error = curl_formadd(first, 
last, 

 CURLFORM_COPYNAME, string_key,
@@ -1406,7 +1410,8 @@
 
SAVE_CURL_ERROR(ch, error);
if (error != CURLE_OK) {
-   RETURN_FALSE;
+   RETVAL_FALSE
+   return 1;
}
 
zend_llist_add_element(ch-to_free.post, 
first);
@@ -1434,7 +1439,8 @@
ph = HASH_OF(*zvalue);
if (!ph) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, 
You must pass either an object or an array with the CURLOPT_HTTPHEADER, 
CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments);
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
 
for (zend_hash_internal_pointer_reset(ph);
@@ -1451,7 +1457,8 @@
if (!slist) {
efree(indiv);
php_error_docref(NULL TSRMLS_CC, 
E_WARNING, Could not build curl_slist); 
-   RETURN_FALSE;
+   RETVAL_FALSE;
+   return 1;
}
zend_llist_add_element(ch-to_free.str, 
indiv);
}
@@ -1473,7 +1480,8 @@
convert_to_string_ex(zvalue);
 
if (php_check_open_basedir(Z_STRVAL_PP(zvalue) 
TSRMLS_CC)) {
-   RETURN_FALSE;   
+   RETVAL_FALSE;   
+   return 1;
}
 
copystr = estrndup(Z_STRVAL_PP(zvalue), 
Z_STRLEN_PP(zvalue));

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/standard url.c

2006-06-29 Thread Hannes Magnusson
bjori   Thu Jun 29 14:32:25 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/standard   url.c 
  Log:
  MFB: url - URL
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.84r2=1.85diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.84 php-src/ext/curl/interface.c:1.85
--- php-src/ext/curl/interface.c:1.84   Mon Jun 26 14:10:57 2006
+++ php-src/ext/curl/interface.cThu Jun 29 14:32:24 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.84 2006/06/26 14:10:57 bjori Exp $ */
+/* $Id: interface.c,v 1.85 2006/06/29 14:32:24 bjori Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -163,12 +163,12 @@
php_url *tmp_url;   

\

\
if (!(tmp_url = php_url_parse_ex(str, len))) {  
\
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
url '%s', str);   \
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
URL '%s', str);   \
RETURN_FALSE;   

\
}   

\

\
if (php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {\
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Url '%s' 
contains unencoded control characters., str);\
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, URL '%s' 
contains unencoded control characters., str);\
RETURN_FALSE;   
\
}   
\


\
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/url.c?r1=1.93r2=1.94diff_format=u
Index: php-src/ext/standard/url.c
diff -u php-src/ext/standard/url.c:1.93 php-src/ext/standard/url.c:1.94
--- php-src/ext/standard/url.c:1.93 Sun Jun 25 19:19:31 2006
+++ php-src/ext/standard/url.c  Thu Jun 29 14:32:24 2006
@@ -15,7 +15,7 @@
| Author: Jim Winstead [EMAIL PROTECTED]  
|
+--+
  */
-/* $Id: url.c,v 1.93 2006/06/25 19:19:31 bjori Exp $ */
+/* $Id: url.c,v 1.94 2006/06/29 14:32:24 bjori Exp $ */
 
 #include stdlib.h
 #include string.h
@@ -344,7 +344,7 @@
 
resource = php_url_parse_ex(str, str_len);
if (resource == NULL) {
-   php_error_docref1(NULL TSRMLS_CC, str, E_WARNING, Unable to 
parse url);
+   php_error_docref1(NULL TSRMLS_CC, str, E_WARNING, Unable to 
parse URL);
RETURN_FALSE;
}
 
@@ -375,7 +375,7 @@
if (resource-fragment != NULL) 
RETVAL_STRING(resource-fragment, 1);
break;
default:
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
Invalid url component identifier %ld., key);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
Invalid URL component identifier %ld., key);
RETVAL_FALSE;
}
goto done;

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/dbase dbase.c /ext/gd gd.c

2006-06-15 Thread Hannes Magnusson
bjori   Thu Jun 15 15:31:39 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/dbase  dbase.c 
/php-src/ext/gd gd.c 
  Log:
  Revert array type hinting
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.81r2=1.82diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.81 php-src/ext/curl/interface.c:1.82
--- php-src/ext/curl/interface.c:1.81   Sat Jun 10 22:59:39 2006
+++ php-src/ext/curl/interface.cThu Jun 15 15:31:39 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.81 2006/06/10 22:59:39 bjori Exp $ */
+/* $Id: interface.c,v 1.82 2006/06/15 15:31:39 bjori Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -205,7 +205,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_curl_setopt_array, 0)
ZEND_ARG_INFO(0, ch)
-   ZEND_ARG_ARRAY_INFO(0, options, 0)
+   ZEND_ARG_INFO(0, options)/* ARRAY_INFO(0, options, 0) */
 ZEND_END_ARG_INFO()
 
 static
http://cvs.php.net/viewcvs.cgi/php-src/ext/dbase/dbase.c?r1=1.79r2=1.80diff_format=u
Index: php-src/ext/dbase/dbase.c
diff -u php-src/ext/dbase/dbase.c:1.79 php-src/ext/dbase/dbase.c:1.80
--- php-src/ext/dbase/dbase.c:1.79  Sat Jun 10 22:59:40 2006
+++ php-src/ext/dbase/dbase.c   Thu Jun 15 15:31:39 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: dbase.c,v 1.79 2006/06/10 22:59:40 bjori Exp $ */
+/* $Id: dbase.c,v 1.80 2006/06/15 15:31:39 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -749,13 +749,13 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_add_record, 0)
ZEND_ARG_INFO(0, identifier)
-   ZEND_ARG_ARRAY_INFO(0, data, 0)
+   ZEND_ARG_INFO(0, data) /* ARRAY_INFO(0, data, 0) */
 ZEND_END_ARG_INFO()
 
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_replace_record, 0)
ZEND_ARG_INFO(0, identifier)
-   ZEND_ARG_ARRAY_INFO(0, data, 0)
+   ZEND_ARG_INFO(0, data) /* ARRAY_INFO(0, data, 0) */
ZEND_ARG_INFO(0, recnum)
 ZEND_END_ARG_INFO()
 
@@ -780,7 +780,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_create, 0)
ZEND_ARG_INFO(0, filename)
-   ZEND_ARG_ARRAY_INFO(0, fields, 0)
+   ZEND_ARG_INFO(0, fields) /* ARRAY_INFO(0, fields, 0) */
 ZEND_END_ARG_INFO()
 
 static
http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/gd.c?r1=1.350r2=1.351diff_format=u
Index: php-src/ext/gd/gd.c
diff -u php-src/ext/gd/gd.c:1.350 php-src/ext/gd/gd.c:1.351
--- php-src/ext/gd/gd.c:1.350   Sun Jun 11 19:59:53 2006
+++ php-src/ext/gd/gd.c Thu Jun 15 15:31:39 2006
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: gd.c,v 1.350 2006/06/11 19:59:53 bjori Exp $ */
+/* $Id: gd.c,v 1.351 2006/06/15 15:31:39 bjori Exp $ */
 
 /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
Cold Spring Harbor Labs. */
@@ -148,7 +148,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagesetstyle, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_ARRAY_INFO(0, styles, 0)
+   ZEND_ARG_INFO(0, styles) /* ARRAY_INFO(0, styles, 0) */
 ZEND_END_ARG_INFO()
 
 static
@@ -627,7 +627,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagepolygon, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_ARRAY_INFO(0, points, 0)
+   ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */
ZEND_ARG_INFO(0, num_pos)
ZEND_ARG_INFO(0, col)
 ZEND_END_ARG_INFO()
@@ -635,7 +635,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagefilledpolygon, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_ARRAY_INFO(0, points, 0)
+   ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */
ZEND_ARG_INFO(0, num_pos)
ZEND_ARG_INFO(0, col)
 ZEND_END_ARG_INFO()
@@ -760,7 +760,7 @@
ZEND_ARG_INFO(0, float angle)
ZEND_ARG_INFO(0, font_file)
ZEND_ARG_INFO(0, text)
-   ZEND_ARG_ARRAY_INFO(0, extrainfo, 0)
+   ZEND_ARG_INFO(0, extrainfo) /* ARRAY_INFO(0, extrainfo, 0) */
 ZEND_END_ARG_INFO()
 
 static
@@ -773,7 +773,7 @@
ZEND_ARG_INFO(0, col)
ZEND_ARG_INFO(0, font_file)
ZEND_ARG_INFO(0, text)
-   ZEND_ARG_ARRAY_INFO(0, extrainfo, 0)
+   ZEND_ARG_INFO(0, extrainfo) /* ARRAY_INFO(0, extrainfo, 0) */
 ZEND_END_ARG_INFO()
 #endif
 
@@ -903,7 +903,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imageconvolution, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_ARRAY_INFO(0, matrix3x3, 0)
+   ZEND_ARG_INFO(0, matrix3x3) /* ARRAY_INFO(0, matrix3x3, 0) */
ZEND_ARG_INFO(0, div)
ZEND_ARG_INFO(0, offset)
 ZEND_END_ARG_INFO()

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/dbase dbase.c /ext/gd gd.c

2006-06-15 Thread Hannes Magnusson
bjori   Thu Jun 15 16:25:12 2006 UTC

  Modified files:  
/php-src/ext/dbase  dbase.c 
/php-src/ext/gd gd.c 
/php-src/ext/curl   interface.c 
  Log:
  Add array type hinting
  Remove unnecessary array checkes
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/dbase/dbase.c?r1=1.80r2=1.81diff_format=u
Index: php-src/ext/dbase/dbase.c
diff -u php-src/ext/dbase/dbase.c:1.80 php-src/ext/dbase/dbase.c:1.81
--- php-src/ext/dbase/dbase.c:1.80  Thu Jun 15 15:31:39 2006
+++ php-src/ext/dbase/dbase.c   Thu Jun 15 16:25:12 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: dbase.c,v 1.80 2006/06/15 15:31:39 bjori Exp $ */
+/* $Id: dbase.c,v 1.81 2006/06/15 16:25:12 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -261,10 +261,6 @@
WRONG_PARAM_COUNT;
}
convert_to_long_ex(dbh_id);
-   if (Z_TYPE_PP(fields) != IS_ARRAY) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Expected array as 
second parameter);
-   RETURN_FALSE;
-   }
 
dbh = zend_list_find(Z_LVAL_PP(dbh_id), dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
@@ -332,10 +328,6 @@
}
convert_to_long_ex(dbh_id);
convert_to_long_ex(recnum);
-   if (Z_TYPE_PP(fields) != IS_ARRAY) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Expected array as 
second parameter);
-   RETURN_FALSE;
-   }
 
dbh = zend_list_find(Z_LVAL_PP(dbh_id), dbh_type);
if (!dbh || dbh_type != DBase_GLOBAL(le_dbhead)) {
@@ -581,11 +573,6 @@
}
convert_to_string_ex(filename);
 
-   if (Z_TYPE_PP(fields) != IS_ARRAY) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Expected array as 
second parameter);
-   RETURN_FALSE;
-   }
-   
if (php_check_open_basedir(Z_STRVAL_PP(filename) TSRMLS_CC)) {
RETURN_FALSE;
}
@@ -638,12 +625,6 @@
RETURN_FALSE;
}
 
-   if (Z_TYPE_PP (field) != IS_ARRAY) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, second 
parameter must be array of arrays);
-   free_dbf_head(dbh);
-   RETURN_FALSE;
-   }
-
/* field name */
if (zend_hash_index_find(Z_ARRVAL_PP(field), 0, (void 
**)value) == FAILURE) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, expected 
field name as first element of list in field %d, i);
@@ -749,13 +730,13 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_add_record, 0)
ZEND_ARG_INFO(0, identifier)
-   ZEND_ARG_INFO(0, data) /* ARRAY_INFO(0, data, 0) */
+   ZEND_ARG_ARRAY_INFO(0, data, 0)
 ZEND_END_ARG_INFO()
 
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_replace_record, 0)
ZEND_ARG_INFO(0, identifier)
-   ZEND_ARG_INFO(0, data) /* ARRAY_INFO(0, data, 0) */
+   ZEND_ARG_ARRAY_INFO(0, data, 0)
ZEND_ARG_INFO(0, recnum)
 ZEND_END_ARG_INFO()
 
@@ -780,7 +761,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_dbase_create, 0)
ZEND_ARG_INFO(0, filename)
-   ZEND_ARG_INFO(0, fields) /* ARRAY_INFO(0, fields, 0) */
+   ZEND_ARG_ARRAY_INFO(0, fields, 0)
 ZEND_END_ARG_INFO()
 
 static
http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/gd.c?r1=1.351r2=1.352diff_format=u
Index: php-src/ext/gd/gd.c
diff -u php-src/ext/gd/gd.c:1.351 php-src/ext/gd/gd.c:1.352
--- php-src/ext/gd/gd.c:1.351   Thu Jun 15 15:31:39 2006
+++ php-src/ext/gd/gd.c Thu Jun 15 16:25:12 2006
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: gd.c,v 1.351 2006/06/15 15:31:39 bjori Exp $ */
+/* $Id: gd.c,v 1.352 2006/06/15 16:25:12 bjori Exp $ */
 
 /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
Cold Spring Harbor Labs. */
@@ -148,7 +148,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagesetstyle, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_INFO(0, styles) /* ARRAY_INFO(0, styles, 0) */
+   ZEND_ARG_ARRAY_INFO(0, styles, 0)
 ZEND_END_ARG_INFO()
 
 static
@@ -627,7 +627,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagepolygon, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */
+   ZEND_ARG_ARRAY_INFO(0, points, 0)
ZEND_ARG_INFO(0, num_pos)
ZEND_ARG_INFO(0, col)
 ZEND_END_ARG_INFO()
@@ -635,7 +635,7 @@
 static
 ZEND_BEGIN_ARG_INFO(arginfo_imagefilledpolygon, 0)
ZEND_ARG_INFO(0, im)
-   ZEND_ARG_INFO(0, points) /* ARRAY_INFO(0, points, 0) */
+   ZEND_ARG_ARRAY_INFO(0, points, 0)
ZEND_ARG_INFO(0, num_pos)
ZEND_ARG_INFO(0, col)
 ZEND_END_ARG_INFO()
@@ -760,7 +760,7 @@
ZEND_ARG_INFO(0, float angle)
ZEND_ARG_INFO(0, font_file)
ZEND_ARG_INFO(0, text)
-   ZEND_ARG_INFO(0, extrainfo) /* ARRAY_INFO(0, extrainfo, 0) */
+   

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-05-21 Thread Ilia Alshanetsky
iliaa   Sun May 21 16:32:10 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Added control character checks for cURL extension's open_basedir/safe_mode
  checks.
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.79r2=1.80diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.79 php-src/ext/curl/interface.c:1.80
--- php-src/ext/curl/interface.c:1.79   Thu Apr 13 11:26:43 2006
+++ php-src/ext/curl/interface.cSun May 21 16:32:10 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.79 2006/04/13 11:26:43 tony2001 Exp $ */
+/* $Id: interface.c,v 1.80 2006/05/21 16:32:10 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -161,11 +161,16 @@
strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
{   

\
php_url *tmp_url;   

\
-   

\
+   
\
if (!(tmp_url = php_url_parse_ex(str, len))) {  
\
php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
url '%s', str);   \
RETURN_FALSE;   

\
}   

\
+   
\
+   if (php_memnstr(str, tmp_url-path, strlen(tmp_url-path), str 
+ len)) {\
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Url '%s' 
contains unencoded control characters., str);\
+   RETURN_FALSE;   
\
+   }   
\


\
if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC)) { \
php_url_free(tmp_url);  

\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c multi.c

2006-04-13 Thread Antony Dovgal
tony2001Thu Apr 13 11:26:43 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c multi.c 
  Log:
  MF51:
  fix bug #37061 (curl_exec() doesn't zero-terminate binary strings) - we get 
the data length from cURL, so it's binary safe.
  fix leak appearing when re-using curl handle
  
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.78r2=1.79diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.78 php-src/ext/curl/interface.c:1.79
--- php-src/ext/curl/interface.c:1.78   Tue Apr 11 11:32:06 2006
+++ php-src/ext/curl/interface.cThu Apr 13 11:26:43 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.78 2006/04/11 11:32:06 sniper Exp $ */
+/* $Id: interface.c,v 1.79 2006/04/13 11:26:43 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1206,6 +1206,8 @@
 
if (Z_LVAL_PP(zvalue)) {
ch-handlers-write-type = PHP_CURL_BINARY;
+   } else {
+   ch-handlers-write-type = PHP_CURL_ASCII;
}
break;
case CURLOPT_WRITEFUNCTION:
@@ -1460,7 +1462,7 @@
 void _php_curl_cleanup_handle(php_curl *ch)
 {
if (ch-handlers-write-buf.len  0) {
-   memset(ch-handlers-write-buf, 0, sizeof(smart_str));
+   smart_str_free(ch-handlers-write-buf);
}
if (ch-header.str_len) {
efree(ch-header.str);
@@ -1495,7 +1497,6 @@
if (ch-handlers-write-buf.len  0) {
smart_str_free(ch-handlers-write-buf);
}
-
RETURN_FALSE;
}
 
@@ -1503,10 +1504,8 @@
 
if (ch-handlers-write-method == PHP_CURL_RETURN  
ch-handlers-write-buf.len  0) {
--ch-uses;
-   if (ch-handlers-write-type != PHP_CURL_BINARY)  {
-   smart_str_0(ch-handlers-write-buf);
-   }
-   RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 0);
+   smart_str_0(ch-handlers-write-buf);
+   RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 1);
}
--ch-uses;
RETURN_TRUE;
@@ -1737,6 +1736,9 @@
zend_llist_clean(ch-to_free.slist);
zend_llist_clean(ch-to_free.post);
 
+   if (ch-handlers-write-buf.len  0) {
+   smart_str_free(ch-handlers-write-buf);
+   }
if (ch-handlers-write-func_name) {
zval_ptr_dtor(ch-handlers-write-func_name);
}
@@ -1752,7 +1754,7 @@
if (ch-header.str_len  0) {
efree(ch-header.str);
}
-
+   
efree(ch-handlers-write);
efree(ch-handlers-write_header);
efree(ch-handlers-read);
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/multi.c?r1=1.21r2=1.22diff_format=u
Index: php-src/ext/curl/multi.c
diff -u php-src/ext/curl/multi.c:1.21 php-src/ext/curl/multi.c:1.22
--- php-src/ext/curl/multi.c:1.21   Sun Jan  1 13:09:48 2006
+++ php-src/ext/curl/multi.cThu Apr 13 11:26:43 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: multi.c,v 1.21 2006/01/01 13:09:48 sniper Exp $ */
+/* $Id: multi.c,v 1.22 2006/04/13 11:26:43 tony2001 Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -195,11 +195,8 @@
ZEND_FETCH_RESOURCE(ch, php_curl *, z_ch, -1, le_curl_name, le_curl);
 
if (ch-handlers-write-method == PHP_CURL_RETURN  
ch-handlers-write-buf.len  0) {
-   if (ch-handlers-write-type != PHP_CURL_BINARY) {
-   smart_str_0(ch-handlers-write-buf);
-   }
-   
-   RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 0);
+   smart_str_0(ch-handlers-write-buf);
+   RETURN_STRINGL(ch-handlers-write-buf.c, 
ch-handlers-write-buf.len, 1);
}
 }
 

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/gd php_gd.h /main safe_mode.c safe_mode.h

2006-04-11 Thread Jani Taskinen
sniper  Tue Apr 11 11:32:06 2006 UTC

  Removed files:   
/php-src/main   safe_mode.c safe_mode.h 

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/gd php_gd.h 
  Log:
  - More safe_mode left-overs.
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.77r2=1.78diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.77 php-src/ext/curl/interface.c:1.78
--- php-src/ext/curl/interface.c:1.77   Sun Feb 19 05:05:42 2006
+++ php-src/ext/curl/interface.cTue Apr 11 11:32:06 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.77 2006/02/19 05:05:42 andi Exp $ */
+/* $Id: interface.c,v 1.78 2006/04/11 11:32:06 sniper Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1356,7 +1356,7 @@
 
break;
}
-   /* the following options deal with files, therefor safe_mode  
open_basedir checks
+   /* the following options deal with files, therefore 
open_basedir checks
 * are required.
 */
case CURLOPT_COOKIEJAR:
http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/php_gd.h?r1=1.69r2=1.70diff_format=u
Index: php-src/ext/gd/php_gd.h
diff -u php-src/ext/gd/php_gd.h:1.69 php-src/ext/gd/php_gd.h:1.70
--- php-src/ext/gd/php_gd.h:1.69Sun Mar  5 19:20:11 2006
+++ php-src/ext/gd/php_gd.h Tue Apr 11 11:32:06 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: php_gd.h,v 1.69 2006/03/05 19:20:11 pajoye Exp $ */
+/* $Id: php_gd.h,v 1.70 2006/04/11 11:32:06 sniper Exp $ */
 
 #ifndef PHP_GD_H
 #define PHP_GD_H
@@ -30,7 +30,7 @@
 
 #if HAVE_LIBGD
 
-/* open_basedir and safe_mode checks */
+/* open_basedir check */
 #define PHP_GD_CHECK_OPEN_BASEDIR(filename, errormsg)  
 \
if (!filename || php_check_open_basedir(filename TSRMLS_CC)) {  
\
php_error_docref(NULL TSRMLS_CC, E_WARNING, errormsg);  
\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/openssl openssl.c /ext/standard file.c ftok.c iptc.c

2006-02-18 Thread Andi Gutmans
andiSun Feb 19 03:07:39 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/opensslopenssl.c 
/php-src/ext/standard   file.c ftok.c iptc.c 
  Log:
  - More safe_mode nuking
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.75r2=1.76diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.75 php-src/ext/curl/interface.c:1.76
--- php-src/ext/curl/interface.c:1.75   Sun Feb 19 00:55:19 2006
+++ php-src/ext/curl/interface.cSun Feb 19 03:07:38 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.75 2006/02/19 00:55:19 andi Exp $ */
+/* $Id: interface.c,v 1.76 2006/02/19 03:07:38 andi Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1281,7 +1281,7 @@
 * use since curl needs a long not an 
int. */
if (*postval == '@') {
++postval;
-   /* safe_mode / open_basedir 
check */
+   /* open_basedir check */
if 
(php_check_open_basedir(postval TSRMLS_CC)) {
RETURN_FALSE;
}
http://cvs.php.net/viewcvs.cgi/php-src/ext/openssl/openssl.c?r1=1.103r2=1.104diff_format=u
Index: php-src/ext/openssl/openssl.c
diff -u php-src/ext/openssl/openssl.c:1.103 php-src/ext/openssl/openssl.c:1.104
--- php-src/ext/openssl/openssl.c:1.103 Sun Feb 19 00:55:20 2006
+++ php-src/ext/openssl/openssl.c   Sun Feb 19 03:07:38 2006
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: openssl.c,v 1.103 2006/02/19 00:55:20 andi Exp $ */
+/* $Id: openssl.c,v 1.104 2006/02/19 03:07:38 andi Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -179,17 +179,6 @@
 }
 /* }}} */
 
-/* {{{ openssl open_basedir checks */
-inline static int php_openssl_safe_mode_chk(char *filename TSRMLS_DC)
-{
-   if (php_check_open_basedir(filename TSRMLS_CC)) {
-   return -1;
-   }
-   
-   return 0;
-}
-/* }}} */
-
 /* {{{ openssl - PHP bridging */
 /* true global; readonly after module startup */
 static char default_ssl_conf_filename[MAXPATHLEN];
@@ -439,7 +428,7 @@
 
/* read in the oids */
str = CONF_get_string(req-req_config, NULL, oid_file);
-   if (str  !php_openssl_safe_mode_chk(str TSRMLS_CC)) {
+   if (str  !php_check_open_basedir(str TSRMLS_CC)) {
BIO *oid_bio = BIO_new_file(str, r);
if (oid_bio) {
OBJ_create_objects(oid_bio);
@@ -748,7 +737,7 @@
/* read cert from the named file */
BIO *in;
 
-   if (php_openssl_safe_mode_chk(Z_STRVAL_PP(val) + 
(sizeof(file://) - 1) TSRMLS_CC)) {
+   if (php_check_open_basedir(Z_STRVAL_PP(val) + 
(sizeof(file://) - 1) TSRMLS_CC)) {
return NULL;
}
 
@@ -800,7 +789,7 @@
return;
}
 
-   if (php_openssl_safe_mode_chk(filename TSRMLS_CC)) {
+   if (php_check_open_basedir(filename TSRMLS_CC)) {
return;
}
 
@@ -1000,7 +989,7 @@
goto end;
}
 
-   if (php_openssl_safe_mode_chk(certfile TSRMLS_CC)) {
+   if (php_check_open_basedir(certfile TSRMLS_CC)) {
goto end;
}
 
@@ -1400,7 +1389,7 @@
filename = Z_STRVAL_PP(val) + (sizeof(file://) - 1);
}
if (filename) {
-   if (php_openssl_safe_mode_chk(filename TSRMLS_CC)) {
+   if (php_check_open_basedir(filename TSRMLS_CC)) {
return NULL;
}
in = BIO_new_file(filename, r);
@@ -1436,7 +1425,7 @@
return;
}
 
-   if (php_openssl_safe_mode_chk(filename TSRMLS_CC)) {
+   if (php_check_open_basedir(filename TSRMLS_CC)) {
return;
}
 
@@ -1833,7 +1822,7 @@
BIO *in;
 
if (filename) {
-   if (php_openssl_safe_mode_chk(filename 
TSRMLS_CC)) {
+   if (php_check_open_basedir(filename TSRMLS_CC)) 
{
return NULL;
}
in = BIO_new_file(filename, r);
@@ -2002,7 +1991,7 @@
RETURN_FALSE;
}

-   if (php_openssl_safe_mode_chk(filename TSRMLS_CC)) {
+   if (php_check_open_basedir(filename TSRMLS_CC)) {
RETURN_FALSE;
}

@@ -2188,7 +2177,7 @@
if (!store) {
goto clean_exit;
}
-   if 

[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/gd php_gd.h

2006-02-18 Thread Andi Gutmans
andiSun Feb 19 05:05:42 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
/php-src/ext/gd php_gd.h 
  Log:
  - Couple of compile fixes.
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.76r2=1.77diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.76 php-src/ext/curl/interface.c:1.77
--- php-src/ext/curl/interface.c:1.76   Sun Feb 19 03:07:38 2006
+++ php-src/ext/curl/interface.cSun Feb 19 05:05:42 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.76 2006/02/19 03:07:38 andi Exp $ */
+/* $Id: interface.c,v 1.77 2006/02/19 05:05:42 andi Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -157,8 +157,8 @@
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #define PHP_CURL_CHECK_OPEN_BASEDIR(str, len)  
\
-   if (((PG(open_basedir)  *PG(open_basedir))) 
\
-   strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
+   if ((PG(open_basedir)  *PG(open_basedir))   
  \
+   strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
{   

\
php_url *tmp_url;   

\


\
@@ -167,8 +167,7 @@
RETURN_FALSE;   

\
}   

\


\
-   if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC)) \
-   ) { 

\
+   if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC)) { \
php_url_free(tmp_url);  

\
RETURN_FALSE;   

\
}   

\
http://cvs.php.net/viewcvs.cgi/php-src/ext/gd/php_gd.h?r1=1.65r2=1.66diff_format=u
Index: php-src/ext/gd/php_gd.h
diff -u php-src/ext/gd/php_gd.h:1.65 php-src/ext/gd/php_gd.h:1.66
--- php-src/ext/gd/php_gd.h:1.65Sun Feb 19 00:55:19 2006
+++ php-src/ext/gd/php_gd.h Sun Feb 19 05:05:42 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: php_gd.h,v 1.65 2006/02/19 00:55:19 andi Exp $ */
+/* $Id: php_gd.h,v 1.66 2006/02/19 05:05:42 andi Exp $ */
 
 #ifndef PHP_GD_H
 #define PHP_GD_H
@@ -32,10 +32,9 @@
 
 /* open_basedir and safe_mode checks */
 #define PHP_GD_CHECK_OPEN_BASEDIR(filename, errormsg)  
 \
-   if (!filename || php_check_open_basedir(filename TSRMLS_CC))
\
-   ) { 
\
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, errormsg);  
\
-   RETURN_FALSE;   
\
+   if (!filename || php_check_open_basedir(filename TSRMLS_CC)) {  
\
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, errormsg);  
\
+   RETURN_FALSE;  

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-01-26 Thread Michael Wallner
mikeThu Jan 26 13:20:56 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  - fix bug #36152 problems with curl+ssl and pgsql+ssl in same PHP
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.73r2=1.74diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.73 php-src/ext/curl/interface.c:1.74
--- php-src/ext/curl/interface.c:1.73   Thu Jan  5 18:06:15 2006
+++ php-src/ext/curl/interface.cThu Jan 26 13:20:56 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.73 2006/01/05 18:06:15 iliaa Exp $ */
+/* $Id: interface.c,v 1.74 2006/01/26 13:20:56 mike Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -47,13 +47,11 @@
 /* {{{ cruft for thread safe SSL crypto locks */
 #if defined(ZTS)  defined(HAVE_CURL_SSL)
 # ifdef PHP_WIN32
-#  define PHP_CURL_NEED_SSL_TSL
 #  define PHP_CURL_NEED_OPENSSL_TSL
 #  include openssl/crypto.h
 # else /* !PHP_WIN32 */
 #  if defined(HAVE_CURL_OPENSSL)
 #   if defined(HAVE_OPENSSL_CRYPTO_H)
-#define PHP_CURL_NEED_SSL_TSL
 #define PHP_CURL_NEED_OPENSSL_TSL
 #include openssl/crypto.h
 #   else
@@ -64,7 +62,6 @@
 #   endif
 #  elif defined(HAVE_CURL_GNUTLS)
 #   if defined(HAVE_GCRYPT_H)
-#define PHP_CURL_NEED_SSL_TSL
 #define PHP_CURL_NEED_GNUTLS_TSL
 #include gcrypt.h
 #   else
@@ -94,10 +91,61 @@
 int  le_curl;
 int  le_curl_multi_handle;
 
-#ifdef PHP_CURL_NEED_SSL_TSL
-static inline void php_curl_ssl_init(void);
-static inline void php_curl_ssl_cleanup(void);
+#ifdef PHP_CURL_NEED_OPENSSL_TSL /* {{{ */
+static MUTEX_T *php_curl_openssl_tsl = NULL;
+
+static void php_curl_ssl_lock(int mode, int n, const char * file, int line)
+{
+   if (mode  CRYPTO_LOCK) {
+   tsrm_mutex_lock(php_curl_openssl_tsl[n]);
+   } else {
+   tsrm_mutex_unlock(php_curl_openssl_tsl[n]);
+   }
+}
+
+static unsigned long php_curl_ssl_id(void)
+{
+   return (unsigned long) tsrm_thread_id();
+}
 #endif
+/* }}} */
+
+#ifdef PHP_CURL_NEED_GNUTLS_TSL /* {{{ */
+static int php_curl_ssl_mutex_create(void **m)
+{
+   if (*((MUTEX_T *) m) = tsrm_mutex_alloc()) {
+   return SUCCESS;
+   } else {
+   return FAILURE;
+   }
+}
+
+static int php_curl_ssl_mutex_destroy(void **m)
+{
+   tsrm_mutex_free(*((MUTEX_T *) m));
+   return SUCCESS;
+}
+
+static int php_curl_ssl_mutex_lock(void **m)
+{
+   return tsrm_mutex_lock(*((MUTEX_T *) m));
+}
+
+static int php_curl_ssl_mutex_unlock(void **m)
+{
+   return tsrm_mutex_unlock(*((MUTEX_T *) m));
+}
+
+static struct gcry_thread_cbs php_curl_gnutls_tsl = {
+   GCRY_THREAD_OPTION_USER,
+   NULL,
+   php_curl_ssl_mutex_create,
+   php_curl_ssl_mutex_destroy,
+   php_curl_ssl_mutex_lock,
+   php_curl_ssl_mutex_unlock
+};
+#endif
+/* }}} */
 
 static void _php_curl_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
 
@@ -449,9 +497,24 @@
REGISTER_CURL_CONSTANT(CURLFTPAUTH_TLS);
 #endif
 
-#ifdef PHP_CURL_NEED_SSL_TSL
-   php_curl_ssl_init();
+#ifdef PHP_CURL_NEED_OPENSSL_TSL
+   {
+   int i, c = CRYPTO_num_locks();
+   
+   php_curl_openssl_tsl = malloc(c * sizeof(MUTEX_T));
+   
+   for (i = 0; i  c; ++i) {
+   php_curl_openssl_tsl[i] = tsrm_mutex_alloc();
+   }
+   
+   CRYPTO_set_id_callback(php_curl_ssl_id);
+   CRYPTO_set_locking_callback(php_curl_ssl_lock);
+   }
 #endif
+#ifdef PHP_CURL_NEED_GNUTLS_TSL
+   gcry_control(GCRYCTL_SET_THREAD_CBS, php_curl_gnutls_tsl);
+#endif
+   
if (curl_global_init(CURL_GLOBAL_SSL) != CURLE_OK) {
return FAILURE;
}
@@ -488,9 +551,26 @@
php_unregister_url_stream_wrapper(ftp TSRMLS_CC);
php_unregister_url_stream_wrapper(ldap TSRMLS_CC);
 #endif
+#ifdef PHP_CURL_NEED_OPENSSL_TSL
+   /* ensure there are valid callbacks set */
+   CRYPTO_set_id_callback(php_curl_ssl_id);
+   CRYPTO_set_locking_callback(php_curl_ssl_lock);
+#endif
curl_global_cleanup();
-#ifdef PHP_CURL_NEED_SSL_TSL
-   php_curl_ssl_cleanup();
+#ifdef PHP_CURL_NEED_OPENSSL_TSL
+   if (php_curl_openssl_tsl) {
+   int i, c = CRYPTO_num_locks();
+   
+   CRYPTO_set_id_callback(NULL);
+   CRYPTO_set_locking_callback(NULL);
+   
+   for (i = 0; i  c; ++i) {
+   tsrm_mutex_free(php_curl_openssl_tsl[i]);
+   }
+   
+   free(php_curl_openssl_tsl);
+   php_curl_openssl_tsl = NULL;
+   }
 #endif
return SUCCESS;
 }
@@ -1683,105 +1763,6 @@
 }  
 /* }}} */
 
-#ifdef PHP_CURL_NEED_OPENSSL_TSL
-/* {{{ */
-static MUTEX_T *php_curl_openssl_tsl = NULL;
-
-static void 

[PHP-CVS] cvs: php-src /ext/curl interface.c

2006-01-05 Thread Ilia Alshanetsky
iliaa   Thu Jan  5 18:06:15 2006 UTC

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB4: Fixed bug #35908 (curl extension uses undefined 
GCRY_THREAD_OPTIONS_USER).
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/curl/interface.c?r1=1.72r2=1.73diff_format=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.72 php-src/ext/curl/interface.c:1.73
--- php-src/ext/curl/interface.c:1.72   Sun Jan  1 13:09:48 2006
+++ php-src/ext/curl/interface.cThu Jan  5 18:06:15 2006
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.72 2006/01/01 13:09:48 sniper Exp $ */
+/* $Id: interface.c,v 1.73 2006/01/05 18:06:15 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1762,7 +1762,7 @@
 }
 
 static struct gcry_thread_cbs php_curl_gnutls_tsl = {
-   GCRY_THREAD_OPTIONS_USER,
+   GCRY_THREAD_OPTION_USER,
NULL,
php_curl_ssl_mutex_create,
php_curl_ssl_mutex_destroy,

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2005-11-27 Thread Jani Taskinen
sniper  Sun Nov 27 15:10:15 2005 EDT

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MF51: improve open_basedir check
  
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.69r2=1.70ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.69 php-src/ext/curl/interface.c:1.70
--- php-src/ext/curl/interface.c:1.69   Mon Oct 31 18:45:50 2005
+++ php-src/ext/curl/interface.cSun Nov 27 15:10:15 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.69 2005/10/31 23:45:50 iliaa Exp $ */
+/* $Id: interface.c,v 1.70 2005/11/27 20:10:15 sniper Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -110,7 +110,7 @@
 
 #define PHP_CURL_CHECK_OPEN_BASEDIR(str, len)  
\
if (((PG(open_basedir)  *PG(open_basedir)) || PG(safe_mode))
 \
-   strncasecmp(str, file://, sizeof(file://) - 1) == 0)
\
+   strncasecmp(str, file:, sizeof(file:) - 1) == 0)
\
{   

\
php_url *tmp_url;   

\


\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2005-10-31 Thread Ilia Alshanetsky
iliaa   Mon Oct 31 18:45:50 2005 EDT

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  MFB51: Additional open_basedir/safe_mode checks.
  
  
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.68r2=1.69ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.68 php-src/ext/curl/interface.c:1.69
--- php-src/ext/curl/interface.c:1.68   Wed Oct 26 07:33:05 2005
+++ php-src/ext/curl/interface.cMon Oct 31 18:45:50 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.68 2005/10/26 11:33:05 sniper Exp $ */
+/* $Id: interface.c,v 1.69 2005/10/31 23:45:50 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -119,7 +119,7 @@
RETURN_FALSE;   

\
}   

\


\
-   if (tmp_url-query || php_check_open_basedir(tmp_url-path 
TSRMLS_CC) ||   
 \
+   if (tmp_url-query || tmp_url-fragment || 
php_check_open_basedir(tmp_url-path TSRMLS_CC) ||  
 \
(PG(safe_mode)  !php_checkuid(tmp_url-path, rb+, 
CHECKUID_CHECK_MODE_PARAM))   \
) { 

\
php_url_free(tmp_url);  

\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2005-10-26 Thread Jani Taskinen
sniper  Wed Oct 26 07:33:08 2005 EDT

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Fix indent
  
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.67r2=1.68ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.67 php-src/ext/curl/interface.c:1.68
--- php-src/ext/curl/interface.c:1.67   Tue Oct 25 10:29:07 2005
+++ php-src/ext/curl/interface.cWed Oct 26 07:33:05 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.67 2005/10/25 14:29:07 mike Exp $ */
+/* $Id: interface.c,v 1.68 2005/10/26 11:33:05 sniper Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -46,40 +46,40 @@
 
 /* {{{ cruft for thread safe SSL crypto locks */
 #if defined(ZTS)  defined(HAVE_CURL_SSL)
-#  ifdef PHP_WIN32
-#  define PHP_CURL_NEED_SSL_TSL
-#  define PHP_CURL_NEED_OPENSSL_TSL
-#  include openssl/crypto.h
-#  else /* !PHP_WIN32 */
-#  if defined(HAVE_CURL_OPENSSL)
-#  if defined(HAVE_OPENSSL_CRYPTO_H)
-#  define PHP_CURL_NEED_SSL_TSL
-#  define PHP_CURL_NEED_OPENSSL_TSL
-#  include openssl/crypto.h
-#  else
-#  warning \
-   libcurl was compiled with OpenSSL 
support, but configure could not find  \
-   openssl/crypto.h; thus no SSL crypto 
locking callbacks will be set, which may  \
-   cause random crashes on SSL requests
-#  endif
-#  elif defined(HAVE_CURL_GNUTLS)
-#  if defined(HAVE_GCRYPT_H)
-#  define PHP_CURL_NEED_SSL_TSL
-#  define PHP_CURL_NEED_GNUTLS_TSL
-#  include gcrypt.h
-#  else
-#  warning \
-   libcurl was compiled with GnuTLS 
support, but configure could not find  \
-   gcrypt.h; thus no SSL crypto locking 
callbacks will be set, which may  \
-   cause random crashes on SSL requests
-#  endif
-#  else
-#  warning \
-   libcurl was compiled with SSL support, but 
configure could not determine which \
-   library was used; thus no SSL crypto locking 
callbacks will be set, which may  \
-   cause random crashes on SSL requests
-#  endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS */
-#  endif /* PHP_WIN32 */
+# ifdef PHP_WIN32
+#  define PHP_CURL_NEED_SSL_TSL
+#  define PHP_CURL_NEED_OPENSSL_TSL
+#  include openssl/crypto.h
+# else /* !PHP_WIN32 */
+#  if defined(HAVE_CURL_OPENSSL)
+#   if defined(HAVE_OPENSSL_CRYPTO_H)
+#define PHP_CURL_NEED_SSL_TSL
+#define PHP_CURL_NEED_OPENSSL_TSL
+#include openssl/crypto.h
+#   else
+#warning \
+   libcurl was compiled with OpenSSL support, but configure could not 
find  \
+   openssl/crypto.h; thus no SSL crypto locking callbacks will be set, 
which may  \
+   cause random crashes on SSL requests
+#   endif
+#  elif defined(HAVE_CURL_GNUTLS)
+#   if defined(HAVE_GCRYPT_H)
+#define PHP_CURL_NEED_SSL_TSL
+#define PHP_CURL_NEED_GNUTLS_TSL
+#include gcrypt.h
+#   else
+#warning \
+   libcurl was compiled with GnuTLS support, but configure could not find 
 \
+   gcrypt.h; thus no SSL crypto locking callbacks will be set, which may 
 \
+   cause random crashes on SSL requests
+#   endif
+#  else
+#   warning \
+   libcurl was compiled with SSL support, but configure could not 
determine which \
+   library was used; thus no SSL crypto locking callbacks will be set, 
which may  \
+   cause random crashes on SSL requests
+#  endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS */
+# endif /* PHP_WIN32 */
 #endif /* ZTS  HAVE_CURL_SSL */
 /* }}} */
 

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2005-10-16 Thread Ilia Alshanetsky
iliaa   Sun Oct 16 22:42:20 2005 EDT

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Further URL validations in safe_mode/open_basedir configs.
  
  
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.65r2=1.66ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.65 php-src/ext/curl/interface.c:1.66
--- php-src/ext/curl/interface.c:1.65   Thu Oct  6 16:37:25 2005
+++ php-src/ext/curl/interface.cSun Oct 16 22:42:17 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.65 2005/10/06 20:37:25 iliaa Exp $ */
+/* $Id: interface.c,v 1.66 2005/10/17 02:42:17 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -75,7 +75,7 @@
RETURN_FALSE;   

\
}   

\


\
-   if (php_check_open_basedir(tmp_url-path TSRMLS_CC) ||  
\
+   if (tmp_url-query || php_check_open_basedir(tmp_url-path 
TSRMLS_CC) ||   
 \
(PG(safe_mode)  !php_checkuid(tmp_url-path, rb+, 
CHECKUID_CHECK_MODE_PARAM))   \
) { 

\
php_url_free(tmp_url);  

\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c /ext/gd gd.c gd_ctx.c

2005-10-06 Thread Ilia Alshanetsky
iliaa   Thu Oct  6 16:37:25 2005 EDT

  Modified files:  
/php-src/ext/gd gd_ctx.c gd.c 
/php-src/ext/curl   interface.c 
  Log:
  Added missing safe_mode checks.
  
  
http://cvs.php.net/diff.php/php-src/ext/gd/gd_ctx.c?r1=1.22r2=1.23ty=u
Index: php-src/ext/gd/gd_ctx.c
diff -u php-src/ext/gd/gd_ctx.c:1.22 php-src/ext/gd/gd_ctx.c:1.23
--- php-src/ext/gd/gd_ctx.c:1.22Wed Aug  3 10:07:13 2005
+++ php-src/ext/gd/gd_ctx.c Thu Oct  6 16:37:22 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: gd_ctx.c,v 1.22 2005/08/03 14:07:13 sniper Exp $ */
+/* $Id: gd_ctx.c,v 1.23 2005/10/06 20:37:22 iliaa Exp $ */
 
 #include php_gd.h
 
@@ -82,7 +82,7 @@
}
 
if ((argc == 2) || (argc  2  Z_STRLEN_PP(file))) {
-   if (!fn || php_check_open_basedir(fn TSRMLS_CC)) {
+   if (!fn || php_check_open_basedir(fn TSRMLS_CC) || 
(PG(safe_mode)  !php_checkuid(fn, rb+, CHECKUID_CHECK_FILE_AND_DIR))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
filename '%s', fn);
RETURN_FALSE;
}
http://cvs.php.net/diff.php/php-src/ext/gd/gd.c?r1=1.314r2=1.315ty=u
Index: php-src/ext/gd/gd.c
diff -u php-src/ext/gd/gd.c:1.314 php-src/ext/gd/gd.c:1.315
--- php-src/ext/gd/gd.c:1.314   Sun Oct  2 14:06:12 2005
+++ php-src/ext/gd/gd.c Thu Oct  6 16:37:22 2005
@@ -18,7 +18,7 @@
+--+
  */
 
-/* $Id: gd.c,v 1.314 2005/10/02 18:06:12 pajoye Exp $ */
+/* $Id: gd.c,v 1.315 2005/10/06 20:37:22 iliaa Exp $ */
 
 /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
Cold Spring Harbor Labs. */
@@ -1709,7 +1709,7 @@
}
 
if ((argc == 2) || (argc  2  Z_STRLEN_PP(file))) {
-   if (!fn || php_check_open_basedir(fn TSRMLS_CC)) {
+   if (!fn || php_check_open_basedir(fn TSRMLS_CC) || 
(PG(safe_mode)  !php_checkuid(fn, rb+, CHECKUID_CHECK_FILE_AND_DIR))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
filename '%s', fn);
RETURN_FALSE;
}
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.64r2=1.65ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.64 php-src/ext/curl/interface.c:1.65
--- php-src/ext/curl/interface.c:1.64   Wed Oct  5 10:32:19 2005
+++ php-src/ext/curl/interface.cThu Oct  6 16:37:25 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.64 2005/10/05 14:32:19 iliaa Exp $ */
+/* $Id: interface.c,v 1.65 2005/10/06 20:37:25 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -65,7 +65,7 @@
 #define CAAZ(s, v) add_assoc_zval_ex(return_value, s, sizeof(s), (zval *) v);
 
 #define PHP_CURL_CHECK_OPEN_BASEDIR(str, len)  
\
-   if (PG(open_basedir)  *PG(open_basedir) 
\
+   if (((PG(open_basedir)  *PG(open_basedir)) || PG(safe_mode))
 \
strncasecmp(str, file://, sizeof(file://) - 1) == 0)
\
{   

\
php_url *tmp_url;   

\

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



[PHP-CVS] cvs: php-src /ext/curl interface.c

2005-10-05 Thread Ilia Alshanetsky
iliaa   Wed Oct  5 10:32:25 2005 EDT

  Modified files:  
/php-src/ext/curl   interface.c 
  Log:
  Missing safe_mode/open_basedir checks for file uploads.
  
  
http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.63r2=1.64ty=u
Index: php-src/ext/curl/interface.c
diff -u php-src/ext/curl/interface.c:1.63 php-src/ext/curl/interface.c:1.64
--- php-src/ext/curl/interface.c:1.63   Tue Aug  9 10:14:55 2005
+++ php-src/ext/curl/interface.cWed Oct  5 10:32:19 2005
@@ -16,7 +16,7 @@
+--+
 */
 
-/* $Id: interface.c,v 1.63 2005/08/09 14:14:55 iliaa Exp $ */
+/* $Id: interface.c,v 1.64 2005/10/05 14:32:19 iliaa Exp $ */
 
 #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS
 
@@ -1152,10 +1152,15 @@
 * must be explicitly cast to long in 
curl_formadd
 * use since curl needs a long not an 
int. */
if (*postval == '@') {
+   ++postval;
+   /* safe_mode / open_basedir 
check */
+   if 
(php_check_open_basedir(postval TSRMLS_CC) || (PG(safe_mode)  
!php_checkuid(postval, rb+, CHECKUID_CHECK_MODE_PARAM))) {
+   RETURN_FALSE;
+   }
error = curl_formadd(first, 
last, 

 CURLFORM_COPYNAME, string_key,

 CURLFORM_NAMELENGTH, (long)string_key_len - 1,
-   
 CURLFORM_FILE, ++postval, 
+   
 CURLFORM_FILE, postval, 

 CURLFORM_END);
} else {
error = curl_formadd(first, 
last, 

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



  1   2   >