mirror of
				https://github.com/django/django.git
				synced 2025-10-26 07:06:08 +00:00 
			
		
		
		
	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
This commit is contained in:
		
							
								
								
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -94,6 +94,7 @@ answer newbie questions, and generally made Django that much better: | |||||||
|     Sengtha Chay <sengtha@e-khmer.com> |     Sengtha Chay <sengtha@e-khmer.com> | ||||||
|     ivan.chelubeev@gmail.com |     ivan.chelubeev@gmail.com | ||||||
|     Bryan Chow <bryan at verdjn dot com> |     Bryan Chow <bryan at verdjn dot com> | ||||||
|  |     Antonis Christofides <anthony@itia.ntua.gr> | ||||||
|     Michal Chruszcz <troll@pld-linux.org> |     Michal Chruszcz <troll@pld-linux.org> | ||||||
|     Can Burak Çilingir <canburak@cs.bilgi.edu.tr> |     Can Burak Çilingir <canburak@cs.bilgi.edu.tr> | ||||||
|     Ian Clelland <clelland@gmail.com> |     Ian Clelland <clelland@gmail.com> | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ Optional Fcgi settings: (setting=value) | |||||||
|   workdir=DIRECTORY    change to this directory when daemonizing. |   workdir=DIRECTORY    change to this directory when daemonizing. | ||||||
|   outlog=FILE          write stdout to this file. |   outlog=FILE          write stdout to this file. | ||||||
|   errlog=FILE          write stderr to this file. |   errlog=FILE          write stderr to this file. | ||||||
|  |   umask=UMASK          umask to use when daemonizing (default 022). | ||||||
|  |  | ||||||
| Examples: | Examples: | ||||||
|   Run a "standard" fastcgi process on a file-descriptor |   Run a "standard" fastcgi process on a file-descriptor | ||||||
| @@ -73,6 +74,7 @@ FASTCGI_OPTIONS = { | |||||||
|     'maxrequests': 0, |     'maxrequests': 0, | ||||||
|     'outlog': None, |     'outlog': None, | ||||||
|     'errlog': None, |     'errlog': None, | ||||||
|  |     'umask': None, | ||||||
| } | } | ||||||
|  |  | ||||||
| def fastcgi_help(message=None): | def fastcgi_help(message=None): | ||||||
| @@ -159,6 +161,8 @@ def runfastcgi(argset=[], **kwargs): | |||||||
|         daemon_kwargs['out_log'] = options['outlog'] |         daemon_kwargs['out_log'] = options['outlog'] | ||||||
|     if options['errlog']: |     if options['errlog']: | ||||||
|         daemon_kwargs['err_log'] = options['errlog'] |         daemon_kwargs['err_log'] = options['errlog'] | ||||||
|  |     if options['umask']: | ||||||
|  |         daemon_kwargs['umask'] = int(options['umask']) | ||||||
|  |  | ||||||
|     if daemonize: |     if daemonize: | ||||||
|         from django.utils.daemonize import become_daemon |         from django.utils.daemonize import become_daemon | ||||||
|   | |||||||
| @@ -2,7 +2,8 @@ import os | |||||||
| import sys | import sys | ||||||
|  |  | ||||||
| if os.name == 'posix': | 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." |         "Robustly turn into a UNIX daemon, running in our_home_dir." | ||||||
|         # First fork |         # First fork | ||||||
|         try: |         try: | ||||||
| @@ -13,7 +14,7 @@ if os.name == 'posix': | |||||||
|             sys.exit(1) |             sys.exit(1) | ||||||
|         os.setsid() |         os.setsid() | ||||||
|         os.chdir(our_home_dir) |         os.chdir(our_home_dir) | ||||||
|         os.umask(0) |         os.umask(umask) | ||||||
|  |  | ||||||
|         # Second fork |         # Second fork | ||||||
|         try: |         try: | ||||||
| @@ -32,13 +33,13 @@ if os.name == 'posix': | |||||||
|         # Set custom file descriptors so that they get proper buffering. |         # Set custom file descriptors so that they get proper buffering. | ||||||
|         sys.stdout, sys.stderr = so, se |         sys.stdout, sys.stderr = so, se | ||||||
| else: | 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 |         If we're not running under a POSIX system, just simulate the daemon | ||||||
|         mode by doing redirections and directory changing. |         mode by doing redirections and directory changing. | ||||||
|         """ |         """ | ||||||
|         os.chdir(our_home_dir) |         os.chdir(our_home_dir) | ||||||
|         os.umask(0) |         os.umask(umask) | ||||||
|         sys.stdin.close() |         sys.stdin.close() | ||||||
|         sys.stdout.close() |         sys.stdout.close() | ||||||
|         sys.stderr.close() |         sys.stderr.close() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user