iliaa           Fri Aug 11 15:07:30 2006 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/imap   php_imap.c 
  Log:
  MFB: Extend safe_mode/open_basedir checks to imap_reopen() as well.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.208.2.7.2.2&r2=1.208.2.7.2.3&diff_format=u
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.208.2.7.2.2 
php-src/ext/imap/php_imap.c:1.208.2.7.2.3
--- php-src/ext/imap/php_imap.c:1.208.2.7.2.2   Fri Aug  4 20:31:19 2006
+++ php-src/ext/imap/php_imap.c Fri Aug 11 15:07:29 2006
@@ -26,7 +26,7 @@
    | PHP 4.0 updates:  Zeev Suraski <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.208.2.7.2.2 2006/08/04 20:31:19 iliaa Exp $ */
+/* $Id: php_imap.c,v 1.208.2.7.2.3 2006/08/11 15:07:29 iliaa Exp $ */
 
 #define IMAP41
 
@@ -826,6 +826,14 @@
                }
                imap_le_struct->flags = cl_flags;       
        }
+
+       /* local filename, need to perform open_basedir and safe_mode checks */
+       if (Z_STRVAL_PP(mailbox)[0] != '{' && 
+                       (php_check_open_basedir(Z_STRVAL_PP(mailbox) TSRMLS_CC) 
|| 
+                       (PG(safe_mode) && !php_checkuid(Z_STRVAL_PP(mailbox), 
NULL, CHECKUID_CHECK_FILE_AND_DIR)))) {
+               RETURN_FALSE;
+       }
+
        imap_stream = mail_open(imap_le_struct->imap_stream, 
Z_STRVAL_PP(mailbox), flags);
        if (imap_stream == NIL) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't re-open 
stream");

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

Reply via email to