com php-src: Merge branch 'PHP-5.3' into PHP-5.4: ext/readline/readline.c
| From: | Stanislav Malyshev | Date: | Wed, 21 Mar 2012 16:13:42 +0000 |
| Subject: | com php-src: Merge branch 'PHP-5.3' into PHP-5.4: ext/readline/readline.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-68245@lists.php.net to get a copy of this message | ||
Commit: 2208fb32564cf13578c4bb77c6792d5e6b767e76
Author: Rasmus Lerdorf <rasmus@php.net> Wed, 21 Mar 2012 09:13:42 -0700
Parents: 53e3467ff233af4a40626f86ea8a61880722beb8 8b01a28bad638c3ef5809cdee2127409971f18ff
Branches: PHP-5.4
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2208fb32564cf13578c4bb77c6792d5e6b767e76
Log:
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
Add open_basedir checks to readline_write_history and readline_read_history
Changed paths:
MM ext/readline/readline.c
Diff:
2208fb32564cf13578c4bb77c6792d5e6b767e76
diff --combined ext/readline/readline.c
index c9389fc,820e4b4..1054b0e
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@@ -26,7 -26,6 +26,7 @@@
#include "php.h"
#include "php_readline.h"
+#include "readline_cli.h"
#if HAVE_LIBREADLINE || HAVE_LIBEDIT
@@@ -67,9 -66,7 +67,9 @@@ static zval *_readline_completion = NUL
static zval _readline_array;
PHP_MINIT_FUNCTION(readline);
+PHP_MSHUTDOWN_FUNCTION(readline);
PHP_RSHUTDOWN_FUNCTION(readline);
+PHP_MINFO_FUNCTION(readline);
/* }}} */
@@@ -144,8 -141,6 +144,8 @@@ static const zend_function_entry php_re
PHP_FE(readline_callback_read_char, arginfo_readline_callback_read_char)
PHP_FE(readline_callback_handler_remove, arginfo_readline_callback_handler_remove)
PHP_FE(readline_redisplay, arginfo_readline_redisplay)
+#endif
+#if HAVE_RL_ON_NEW_LINE
PHP_FE(readline_on_new_line, arginfo_readline_on_new_line)
#endif
PHP_FE_END
@@@ -156,11 -151,11 +156,11 @@@ zend_module_entry readline_module_entr
"readline",
php_readline_functions,
PHP_MINIT(readline),
- NULL,
+ PHP_MSHUTDOWN(readline),
NULL,
PHP_RSHUTDOWN(readline),
- NULL,
- NO_VERSION_YET,
+ PHP_MINFO(readline),
+ PHP_VERSION,
STANDARD_MODULE_PROPERTIES
};
@@@ -171,12 -166,7 +171,12 @@@ ZEND_GET_MODULE(readline
PHP_MINIT_FUNCTION(readline)
{
using_history();
- return SUCCESS;
+ return PHP_MINIT(cli_readline)(INIT_FUNC_ARGS_PASSTHRU);
+}
+
+PHP_MSHUTDOWN_FUNCTION(readline)
+{
+ return PHP_MSHUTDOWN(cli_readline)(SHUTDOWN_FUNC_ARGS_PASSTHRU);
}
PHP_RSHUTDOWN_FUNCTION(readline)
@@@ -196,11 -186,6 +196,11 @@@
return SUCCESS;
}
+PHP_MINFO_FUNCTION(readline)
+{
+ return PHP_MINFO(cli_readline)(ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU);
+}
+
/* }}} */
/* {{{ proto string readline([string prompt])
@@@ -380,10 -365,14 +380,14 @@@ PHP_FUNCTION(readline_read_history
char *arg = NULL;
int arg_len;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, &arg_len) ==
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|p", &arg, &arg_len) ==
FAILURE) {
return;
}
+ if (php_check_open_basedir(arg TSRMLS_CC)) {
+ RETURN_FALSE;
+ }
+
/* XXX from & to NYI */
if (read_history(arg)) {
RETURN_FALSE;
@@@ -400,10 -389,14 +404,14 @@@ PHP_FUNCTION(readline_write_history
char *arg = NULL;
int arg_len;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, &arg_len) ==
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|p", &arg, &arg_len) ==
FAILURE) {
return;
}
+ if (php_check_open_basedir(arg TSRMLS_CC)) {
+ RETURN_FALSE;
+ }
+
if (write_history(arg)) {
RETURN_FALSE;
} else {
@@@ -618,9 -611,6 +626,9 @@@ PHP_FUNCTION(readline_redisplay
}
/* }}} */
+#endif
+
+#if HAVE_RL_ON_NEW_LINE
/* {{{ proto void readline_on_new_line(void)
Inform readline that the cursor has moved to a new line */
PHP_FUNCTION(readline_on_new_line)