Edgewall Software

Ticket #6604: configurable-umask.patch

File configurable-umask.patch, 1.7 KB (added by Remy Blank <remy.blank@…>, 4 months ago)

Patch against 0.11-stable [7346] making umask configurable, with 022 as default

  • trac/util/daemon.py

    diff --git a/trac/util/daemon.py b/trac/util/daemon.py
    a b  
    1717import sys 
    1818 
    1919def daemonize(pidfile=None, progname=None, stdin='/dev/null', 
    20               stdout='/dev/null', stderr='/dev/null'): 
     20              stdout='/dev/null', stderr='/dev/null', umask=022): 
    2121    """Fork a daemon process.""" 
    2222 
    2323    if pidfile: 
     
    5050 
    5151    # Decouple from parent environment 
    5252    os.chdir('/') 
    53     os.umask(0) 
     53    os.umask(umask) 
    5454    os.setsid() 
    5555 
    5656    # Perform second fork 
  • trac/web/standalone.py

    diff --git a/trac/web/standalone.py b/trac/web/standalone.py
    a b  
    169169        parser.add_option('--pidfile', action='store', 
    170170                          dest='pidfile', 
    171171                          help='When daemonizing, file to which to write pid') 
     172        parser.add_option('--umask', action='store', type='int', dest='umask', 
     173                          metavar='MASK', 
     174                          help='When daemonizing, file mode creation mask ' 
     175                          'to use (default 022)') 
    172176 
    173177    parser.set_defaults(port=None, hostname='', base_path='', daemonize=False, 
    174                         protocol='http') 
     178                        protocol='http', umask=022) 
    175179    options, args = parser.parse_args() 
    176180 
    177181    if not args and not options.env_parent_dir: 
     
    243247 
    244248    try: 
    245249        if options.daemonize: 
    246             daemon.daemonize(pidfile=options.pidfile, progname='tracd') 
     250            daemon.daemonize(pidfile=options.pidfile, progname='tracd', 
     251                             umask=options.umask) 
    247252 
    248253        if options.autoreload: 
    249254            def modification_callback(file):