/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos

  • Committer: Teddy Hogeborn
  • Date: 2016-03-07 23:39:36 UTC
  • Revision ID: teddy@recompile.se-20160307233936-mhgpxhggamde443n
Server bug fix: Include CAP_SETGID so it does not run as root

* debian/mandos.postinst (configure): If old version was 1.7.4-1 or
  1.7.4-1~bpo8+1, fix situation where clients.pickle file is owned by
  root.
* mandos (main): Print debug info about setuid() and setgid()
* mandos.service ([Service]/CapabilityBoundingSet): Add "CAP_KILL
  CAP_SETGID"; the latter is needed for setgid() to be allowed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
98
98
if sys.version_info.major == 2:
99
99
    str = unicode
100
100
 
101
 
version = "1.7.3"
 
101
version = "1.7.4"
102
102
stored_state_file = "clients.pickle"
103
103
 
104
104
logger = logging.getLogger()
487
487
    openpgp_crt_t = ctypes.POINTER(openpgp_crt_int)
488
488
    openpgp_crt_fmt_t = ctypes.c_int # gnutls/openpgp.h
489
489
    log_func = ctypes.CFUNCTYPE(None, ctypes.c_int, ctypes.c_char_p)
490
 
    credentials_type_t = ctypes.c_int # 
 
490
    credentials_type_t = ctypes.c_int
491
491
    transport_ptr_t = ctypes.c_void_p
492
492
    close_request_t = ctypes.c_int
493
493
    
2937
2937
    try:
2938
2938
        os.setgid(gid)
2939
2939
        os.setuid(uid)
 
2940
        if debug:
 
2941
            logger.debug("Did setuid/setgid to {}:{}".format(uid,
 
2942
                                                             gid))
2940
2943
    except OSError as error:
 
2944
        logger.warning("Failed to setuid/setgid to {}:{}: {}"
 
2945
                       .format(uid, gid, os.strerror(error.errno)))
2941
2946
        if error.errno != errno.EPERM:
2942
2947
            raise
2943
2948