Hello Andi,

  my main goal was to get rid of dl() for apache and alike modules and get
the c level API changes in. For FastCGI I guess you are right, but I would
appreciate if Dmitry could look into it. As far as I understand the only
thing we have to do is to pass the function table containing the dl() only
if we are not in FastCGI mode. So basically if ther is no -b command line
flag.

marcus

Friday, January 2, 2009, 5:47:09 AM, you wrote:

> Hi Marcus,

> I think dl() should also be disabled for FastCGI.
> It may require a bit of reordering of the code to make this work but I
> think it's the right thing.

> If you bump into any problems then maybe Dmitry could help out but he's
> on vacation for the next couple of weeks.

> Thanks!
> Andi

> -----Original Message-----
> From: Marcus Boerger [mailto:he...@php.net] 
> Sent: Wednesday, December 31, 2008 6:27 AM
> To: php-cvs@lists.php.net; php...@lists.php.net
> Subject: [PHP-CVS] cvs: php-src(PHP_5_3) / NEWS /ext/standard
> basic_functions.c /main SAPI.h main.c /sapi/cgi cgi_main.c /sapi/cli
> php_cli.c /sapi/embed php_embed.c 

> helly           Wed Dec 31 14:27:10 2008 UTC

>   Modified files:              (Branch: PHP_5_3)
>     /php-src    NEWS 
>     /php-src/ext/standard       basic_functions.c 
>     /php-src/main       SAPI.h main.c 
>     /php-src/sapi/cgi   cgi_main.c 
>     /php-src/sapi/cli   php_cli.c 
>     /php-src/sapi/embed       php_embed.c 
>   Log:
>   MFH
>   - Changed dl() to be disabled by default. Enabled only when explicitly
>     registered by the SAPI layer. Enabled only with CLI, CGI and EMBED.
> (Dmitry)
>   [DOC]
>   
>   
> http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.428&r
> 2=1.2027.2.547.2.965.2.429&diff_format=u
> Index: php-src/NEWS
> diff -u php-src/NEWS:1.2027.2.547.2.965.2.428
> php-src/NEWS:1.2027.2.547.2.965.2.429
> --- php-src/NEWS:1.2027.2.547.2.965.2.428       Tue Dec 30 23:34:29 2008
> +++ php-src/NEWS        Wed Dec 31 14:27:08 2008
> @@ -6,6 +6,8 @@
>  - Deprecated session_register(), session_unregister() and
>    session_is_registered(). (Hannes)
>  
> +- Changed dl() to be disabled by default. Enabled only when explicitly
> +  registered by the SAPI layer. Enabled only with CLI, CGI and EMBED.
> (Dmitry)
>  - Changed opendir(), dir() and scandir() to use default context when no
> context
>    argument is passed. (Sara)
>  - Changed open_basedir to allow tightening in runtime contexts. (Sara)
> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=
> 1.725.2.31.2.64.2.79&r2=1.725.2.31.2.64.2.80&diff_format=u
> Index: php-src/ext/standard/basic_functions.c
> diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.79
> php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.80
> --- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.79       Wed Dec
> 31 11:15:44 2008
> +++ php-src/ext/standard/basic_functions.c      Wed Dec 31 14:27:09 2008
> @@ -18,7 +18,7 @@
>  
> +----------------------------------------------------------------------+
>   */
>  
> -/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.79 2008/12/31 11:15:44
> sebastian Exp $ */
> +/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.80 2008/12/31 14:27:09
> helly Exp $ */
>  
>  #include "php.h"
>  #include "php_streams.h"
> @@ -3025,9 +3025,6 @@
>         PHP_FE(is_scalar,
> arginfo_is_scalar)
>         PHP_FE(is_callable,
> arginfo_is_callable)
>  
> -       /* functions from dl.c */
> -       PHP_FE(dl,
> arginfo_dl)
> -
>         /* functions from file.c */
>         PHP_FE(pclose,
> arginfo_pclose)
>         PHP_FE(popen,
> arginfo_popen)
> http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.h?r1=1.114.2.1.2.3.2.5&r
> 2=1.114.2.1.2.3.2.6&diff_format=u
> Index: php-src/main/SAPI.h
> diff -u php-src/main/SAPI.h:1.114.2.1.2.3.2.5
> php-src/main/SAPI.h:1.114.2.1.2.3.2.6
> --- php-src/main/SAPI.h:1.114.2.1.2.3.2.5       Wed Dec 31 11:15:47 2008
> +++ php-src/main/SAPI.h       Wed Dec 31 14:27:09 2008
> @@ -16,7 +16,7 @@
>  
> +----------------------------------------------------------------------+
>  */
>  
> -/* $Id: SAPI.h,v 1.114.2.1.2.3.2.5 2008/12/31 11:15:47 sebastian Exp $
> */
> +/* $Id: SAPI.h,v 1.114.2.1.2.3.2.6 2008/12/31 14:27:09 helly Exp $ */
>  
>  #ifndef SAPI_H
>  #define SAPI_H
> @@ -264,6 +264,7 @@
>         int phpinfo_as_text;
>  
>         char *ini_entries;
> +       const zend_function_entry *additional_functions;
>  };
>  
>  
> http://cvs.php.net/viewvc.cgi/php-src/main/main.c?r1=1.640.2.23.2.57.2.4
> 0&r2=1.640.2.23.2.57.2.41&diff_format=u
> Index: php-src/main/main.c
> diff -u php-src/main/main.c:1.640.2.23.2.57.2.40
> php-src/main/main.c:1.640.2.23.2.57.2.41
> --- php-src/main/main.c:1.640.2.23.2.57.2.40    Wed Dec 31 14:05:22 2008
> +++ php-src/main/main.c       Wed Dec 31 14:27:09 2008
> @@ -18,7 +18,7 @@
>  
> +----------------------------------------------------------------------+
>  */
>  
> -/* $Id: main.c,v 1.640.2.23.2.57.2.40 2008/12/31 14:05:22 helly Exp $
> */
> +/* $Id: main.c,v 1.640.2.23.2.57.2.41 2008/12/31 14:27:09 helly Exp $
> */
>  
>  /* {{{ includes
>   */
> @@ -1910,6 +1910,15 @@
>         /* start Zend extensions */
>         zend_startup_extensions();
>  
> +       /* register additional functions */
> +       if (sapi_module.additional_functions) {
> +               if (zend_hash_find(&module_registry, "standard",
> sizeof("standard"), (void**)&module)==SUCCESS) {
> +                       EG(current_module) = module;
> +                       zend_register_functions(NULL,
> sapi_module.additional_functions, NULL, MODULE_PERSISTENT TSRMLS_CC);
> +                       EG(current_module) = NULL;
> +               }
> +       }
> +       
>         /* make core report what it should */
>         if (zend_hash_find(&module_registry, "core", sizeof("core"),
> (void**)&module)==SUCCESS) {
>                 module->version = PHP_VERSION;
> http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.267.2.15.
> 2.50.2.33&r2=1.267.2.15.2.50.2.34&diff_format=u
> Index: php-src/sapi/cgi/cgi_main.c
> diff -u php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.50.2.33
> php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.50.2.34
> --- php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.50.2.33    Wed Dec 31
> 11:15:48 2008
> +++ php-src/sapi/cgi/cgi_main.c       Wed Dec 31 14:27:09 2008
> @@ -21,7 +21,7 @@
>  
> +----------------------------------------------------------------------+
>  */
>  
> -/* $Id: cgi_main.c,v 1.267.2.15.2.50.2.33 2008/12/31 11:15:48 sebastian
> Exp $ */
> +/* $Id: cgi_main.c,v 1.267.2.15.2.50.2.34 2008/12/31 14:27:09 helly Exp
> $ */
>  
>  #include "php.h"
>  #include "php_globals.h"
> @@ -850,6 +850,17 @@
>  };
>  /* }}} */
>  
> +/* {{{ arginfo ext/standard/dl.c */
> +ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
> +       ZEND_ARG_INFO(0, extension_filename)
> +ZEND_END_ARG_INFO()
> +/* }}} */
> +
> +static const zend_function_entry additional_functions[] = {
> +       ZEND_FE(dl, arginfo_dl)
> +       {NULL, NULL, NULL}
> +};
> +
>  /* {{{ php_cgi_usage
>   */
>  static void php_cgi_usage(char *argv0)
> @@ -1534,6 +1545,7 @@
>  #endif
>  
>         cgi_sapi_module.executable_location = argv[0];
> +       cgi_sapi_module.additional_functions = additional_functions;
>  
>         /* startup after we get the above ini override se we get things
> right */
>         if (cgi_sapi_module.startup(&cgi_sapi_module) == FAILURE) {
> http://cvs.php.net/viewvc.cgi/php-src/sapi/cli/php_cli.c?r1=1.129.2.13.2
> .22.2.18&r2=1.129.2.13.2.22.2.19&diff_format=u
> Index: php-src/sapi/cli/php_cli.c
> diff -u php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.18
> php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.19
> --- php-src/sapi/cli/php_cli.c:1.129.2.13.2.22.2.18     Wed Dec 31
> 11:15:49 2008
> +++ php-src/sapi/cli/php_cli.c  Wed Dec 31 14:27:09 2008
> @@ -20,7 +20,7 @@
>  
> +----------------------------------------------------------------------+
>  */
>  
> -/* $Id: php_cli.c,v 1.129.2.13.2.22.2.18 2008/12/31 11:15:49 sebastian
> Exp $ */
> +/* $Id: php_cli.c,v 1.129.2.13.2.22.2.19 2008/12/31 14:27:09 helly Exp
> $ */
>  
>  #include "php.h"
>  #include "php_globals.h"
> @@ -426,6 +426,17 @@
>  };
>  /* }}} */
>  
> +/* {{{ arginfo ext/standard/dl.c */
> +ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
> +       ZEND_ARG_INFO(0, extension_filename)
> +ZEND_END_ARG_INFO()
> +/* }}} */
> +
> +static const zend_function_entry additional_functions[] = {
> +       ZEND_FE(dl, arginfo_dl)
> +       {NULL, NULL, NULL}
> +};
> +
>  /* {{{ php_cli_usage
>   */
>  static void php_cli_usage(char *argv0)
> @@ -704,6 +715,7 @@
>         php_optarg = orig_optarg;
>  
>         cli_sapi_module.executable_location = argv[0];
> +       cli_sapi_module.additional_functions = additional_functions;
>  
>         /* startup after we get the above ini override se we get things
> right */
>         if (cli_sapi_module.startup(&cli_sapi_module)==FAILURE) {
> http://cvs.php.net/viewvc.cgi/php-src/sapi/embed/php_embed.c?r1=1.11.2.1
> .2.5.2.4&r2=1.11.2.1.2.5.2.5&diff_format=u
> Index: php-src/sapi/embed/php_embed.c
> diff -u php-src/sapi/embed/php_embed.c:1.11.2.1.2.5.2.4
> php-src/sapi/embed/php_embed.c:1.11.2.1.2.5.2.5
> --- php-src/sapi/embed/php_embed.c:1.11.2.1.2.5.2.4     Wed Dec 31
> 11:15:49 2008
> +++ php-src/sapi/embed/php_embed.c      Wed Dec 31 14:27:09 2008
> @@ -15,7 +15,7 @@
>     | Author: Edin Kadribasic <ed...@php.net>
> |
>  
> +----------------------------------------------------------------------+
>  */
> -/* $Id: php_embed.c,v 1.11.2.1.2.5.2.4 2008/12/31 11:15:49 sebastian
> Exp $ */
> +/* $Id: php_embed.c,v 1.11.2.1.2.5.2.5 2008/12/31 14:27:09 helly Exp $
> */
>  
>  #include "php_embed.h"
>  
> @@ -140,6 +140,17 @@
>  };
>  /* }}} */
>  
> +/* {{{ arginfo ext/standard/dl.c */
> +ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
> +       ZEND_ARG_INFO(0, extension_filename)
> +ZEND_END_ARG_INFO()
> +/* }}} */
> +
> +static const zend_function_entry additional_functions[] = {
> +       ZEND_FE(dl, arginfo_dl)
> +       {NULL, NULL, NULL}
> +};
> +
>  int php_embed_init(int argc, char **argv PTSRMLS_DC)
>  {
>         zend_llist global_vars;
> @@ -176,6 +187,8 @@
>    php_embed_module.ini_entries = malloc(sizeof(HARDCODED_INI));
>    memcpy(php_embed_module.ini_entries, HARDCODED_INI,
> sizeof(HARDCODED_INI));
>  
> +  php_embed_module.additional_functions = additional_functions;
> +
>    if (argv) {
>         php_embed_module.executable_location = argv[0];
>    }



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





Best regards,
 Marcus


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

Reply via email to