@@ -1747,7 +1747,6 @@ static php_curl *alloc_curl_handle()
17471747
17481748 zend_llist_init (& ch -> to_free -> str , sizeof (char * ), (llist_dtor_func_t )curl_free_string , 0 );
17491749 zend_llist_init (& ch -> to_free -> post , sizeof (struct HttpPost ), (llist_dtor_func_t )curl_free_post , 0 );
1750- ch -> safe_upload = 1 ; /* for now, for BC reason we allow unsafe API */
17511750
17521751 ch -> to_free -> slist = emalloc (sizeof (HashTable ));
17531752 zend_hash_init (ch -> to_free -> slist , 4 , NULL , curl_free_slist , 0 );
@@ -2181,7 +2180,10 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{
21812180 break ;
21822181 case CURLOPT_SAFE_UPLOAD :
21832182 lval = zval_get_long (zvalue );
2184- ch -> safe_upload = (lval != 0 );
2183+ if (lval == 0 ) {
2184+ php_error_docref (NULL , E_WARNING , "Disabling safe uploads is no longer supported" );
2185+ return FAILURE ;
2186+ }
21852187 break ;
21862188
21872189 /* String options */
@@ -2558,43 +2560,12 @@ static int _php_curl_setopt(php_curl *ch, zend_long option, zval *zvalue) /* {{{
25582560 /* The arguments after _NAMELENGTH and _CONTENTSLENGTH
25592561 * must be explicitly cast to long in curl_formadd
25602562 * use since curl needs a long not an int. */
2561- if (!ch -> safe_upload && * postval == '@' ) {
2562- char * name , * type , * filename ;
2563- ++ postval ;
2564-
2565- php_error_docref ("curl.curlfile" , E_DEPRECATED ,
2566- "The usage of the @filename API for file uploading is deprecated. Please use the CURLFile class instead" );
2567-
2568- name = estrndup (postval , Z_STRLEN_P (current ));
2569- if ((type = (char * )php_memnstr (name , ";type=" , sizeof (";type=" ) - 1 ,
2570- name + Z_STRLEN_P (current )))) {
2571- * type = '\0' ;
2572- }
2573- if ((filename = (char * )php_memnstr (name , ";filename=" , sizeof (";filename=" ) - 1 ,
2574- name + Z_STRLEN_P (current )))) {
2575- * filename = '\0' ;
2576- }
2577- /* open_basedir check */
2578- if (php_check_open_basedir (name )) {
2579- efree (name );
2580- return FAILURE ;
2581- }
2582- error = curl_formadd (& first , & last ,
2583- CURLFORM_COPYNAME , string_key -> val ,
2584- CURLFORM_NAMELENGTH , string_key -> len ,
2585- CURLFORM_FILENAME , filename ? filename + sizeof (";filename=" ) - 1 : name ,
2586- CURLFORM_CONTENTTYPE , type ? type + sizeof (";type=" ) - 1 : "application/octet-stream" ,
2587- CURLFORM_FILE , name ,
2588- CURLFORM_END );
2589- efree (name );
2590- } else {
2591- error = curl_formadd (& first , & last ,
2592- CURLFORM_COPYNAME , string_key -> val ,
2593- CURLFORM_NAMELENGTH , (zend_long )string_key -> len ,
2594- CURLFORM_COPYCONTENTS , postval ,
2595- CURLFORM_CONTENTSLENGTH , (zend_long )Z_STRLEN_P (current ),
2596- CURLFORM_END );
2597- }
2563+ error = curl_formadd (& first , & last ,
2564+ CURLFORM_COPYNAME , string_key -> val ,
2565+ CURLFORM_NAMELENGTH , (zend_long )string_key -> len ,
2566+ CURLFORM_COPYCONTENTS , postval ,
2567+ CURLFORM_CONTENTSLENGTH , (zend_long )Z_STRLEN_P (current ),
2568+ CURLFORM_END );
25982569
25992570 zend_string_release (string_key );
26002571 } ZEND_HASH_FOREACH_END ();
0 commit comments