Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #6994 -- For fastcgi, set a more sensible default umask.

Also allow the umask value to be customised. Thanks, Antonis Christofides.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7800 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit ca5918e8ff3da9b30243fa3b5cc273766ccf3008 1 parent abcf1cb
@malcolmt malcolmt authored
View
1  AUTHORS
@@ -94,6 +94,7 @@ answer newbie questions, and generally made Django that much better:
Sengtha Chay <sengtha@e-khmer.com>
ivan.chelubeev@gmail.com
Bryan Chow <bryan at verdjn dot com>
+ Antonis Christofides <anthony@itia.ntua.gr>
Michal Chruszcz <troll@pld-linux.org>
Can Burak Çilingir <canburak@cs.bilgi.edu.tr>
Ian Clelland <clelland@gmail.com>
View
4 django/core/servers/fastcgi.py
@@ -40,6 +40,7 @@
workdir=DIRECTORY change to this directory when daemonizing.
outlog=FILE write stdout to this file.
errlog=FILE write stderr to this file.
+ umask=UMASK umask to use when daemonizing (default 022).
Examples:
Run a "standard" fastcgi process on a file-descriptor
@@ -73,6 +74,7 @@
'maxrequests': 0,
'outlog': None,
'errlog': None,
+ 'umask': None,
}
def fastcgi_help(message=None):
@@ -159,6 +161,8 @@ def runfastcgi(argset=[], **kwargs):
daemon_kwargs['out_log'] = options['outlog']
if options['errlog']:
daemon_kwargs['err_log'] = options['errlog']
+ if options['umask']:
+ daemon_kwargs['umask'] = int(options['umask'])
if daemonize:
from django.utils.daemonize import become_daemon
View
9 django/utils/daemonize.py
@@ -2,7 +2,8 @@
import sys
if os.name == 'posix':
- def become_daemon(our_home_dir='.', out_log='/dev/null', err_log='/dev/null'):
+ def become_daemon(our_home_dir='.', out_log='/dev/null',
+ err_log='/dev/null', umask=022):
"Robustly turn into a UNIX daemon, running in our_home_dir."
# First fork
try:
@@ -13,7 +14,7 @@ def become_daemon(our_home_dir='.', out_log='/dev/null', err_log='/dev/null'):
sys.exit(1)
os.setsid()
os.chdir(our_home_dir)
- os.umask(0)
+ os.umask(umask)
# Second fork
try:
@@ -32,13 +33,13 @@ def become_daemon(our_home_dir='.', out_log='/dev/null', err_log='/dev/null'):
# Set custom file descriptors so that they get proper buffering.
sys.stdout, sys.stderr = so, se
else:
- def become_daemon(our_home_dir='.', out_log=None, err_log=None):
+ def become_daemon(our_home_dir='.', out_log=None, err_log=None, umask=022):
"""
If we're not running under a POSIX system, just simulate the daemon
mode by doing redirections and directory changing.
"""
os.chdir(our_home_dir)
- os.umask(0)
+ os.umask(umask)
sys.stdin.close()
sys.stdout.close()
sys.stderr.close()
Please sign in to comment.
Something went wrong with that request. Please try again.