Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37892940
en ru br
Репозитории ALT
5.1: 5.2.14.20100721-alt0.M51.1
4.1: 5.2.5-alt1.M41.3
4.0: 5.2.2-alt1
3.0: 5.0.5-alt0.cvs20050729
www.altlinux.org/Changes

Группа :: Разработка/Прочее
Пакет: php5

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: php-5.2.1-umask.patch
Скачать


Save and restore umask across requests correctly.
--- php-5.2.1/sapi/apache2handler/sapi_apache2.c	2007-01-01 12:36:12 +0300
+++ php-5.2.1/sapi/apache2handler/sapi_apache2.c.umask	2007-03-04 18:11:15 +0300
@@ -426,6 +426,19 @@ static apr_status_t php_server_context_c
 	return APR_SUCCESS;
 }
 
+static int saved_umask;
+
+static void php_save_umask(void)
+{
+	saved_umask = umask(0777);
+	umask(saved_umask);
+}
+
+static void php_restore_umask(void)
+{
+	umask(saved_umask);
+}
+
 static int php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC)
 {
 	char *content_length;
@@ -614,6 +627,8 @@ zend_first_try {
 	} else {
 		zend_file_handle zfd;
 
+		php_save_umask();
+
 		zfd.type = ZEND_HANDLE_FILENAME;
 		zfd.filename = (char *) r->filename;
 		zfd.free_filename = 0;
@@ -625,6 +640,8 @@ zend_first_try {
 			zend_execute_scripts(ZEND_INCLUDE TSRMLS_CC, NULL, 1, &zfd);
 		}
 
+		php_restore_umask();
+
 		apr_table_set(r->notes, "mod_php_memory_usage",
 			apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)));
 	}
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin