diff options
author | Stanislav Malyshev <stas@php.net> | 2018-11-18 17:10:43 -0800 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2018-11-20 00:13:50 -0800 |
commit | e5bfea64c81ae34816479bb05d17cdffe45adddb (patch) | |
tree | 8d9d429d7e34f634d35eb089d81c0800fb266e62 /ext/imap/php_imap.c | |
parent | 81f23057dc79c320653ffa53f333facc72de4ea2 (diff) | |
download | php-git-e5bfea64c81ae34816479bb05d17cdffe45adddb.tar.gz |
Disable rsh/ssh functionality in imap by default (bug #77153)
Diffstat (limited to 'ext/imap/php_imap.c')
-rw-r--r-- | ext/imap/php_imap.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index 00eae89a96..f6feebe9f7 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -562,6 +562,15 @@ static const zend_module_dep imap_deps[] = { }; /* }}} */ + +/* {{{ PHP_INI + */ +PHP_INI_BEGIN() +STD_PHP_INI_BOOLEAN("imap.enable_insecure_rsh", "0", PHP_INI_SYSTEM, OnUpdateBool, enable_rsh, zend_imap_globals, imap_globals) +PHP_INI_END() +/* }}} */ + + /* {{{ imap_module_entry */ zend_module_entry imap_module_entry = { @@ -835,6 +844,8 @@ PHP_MINIT_FUNCTION(imap) { unsigned long sa_all = SA_MESSAGES | SA_RECENT | SA_UNSEEN | SA_UIDNEXT | SA_UIDVALIDITY; + REGISTER_INI_ENTRIES(); + #ifndef PHP_WIN32 mail_link(&unixdriver); /* link in the unix driver */ mail_link(&mhdriver); /* link in the mh driver */ @@ -1052,6 +1063,12 @@ PHP_MINIT_FUNCTION(imap) GC_TEXTS texts */ + if (!IMAPG(enable_rsh)) { + /* disable SSH and RSH, see https://bugs.php.net/bug.php?id=77153 */ + mail_parameters (NIL, SET_RSHTIMEOUT, 0); + mail_parameters (NIL, SET_SSHTIMEOUT, 0); + } + le_imap = zend_register_list_destructors_ex(mail_close_it, NULL, "imap", module_number); return SUCCESS; } |