def getpeercred(fd): """Return uid, gid and pid of calling application.""" import struct import socket try: SO_PEERCRED = getattr(socket, 'SO_PEERCRED', 17) creds = fd.getsockopt(socket.SOL_SOCKET, SO_PEERCRED, struct.calcsize('3i')) pid, uid, gid = struct.unpack('3i', creds) return uid, gid, pid except socket.error: return None, None, None handlers = {} handlers.update(common.get_handlers('config')) handlers.update(common.get_handlers('alias')) handlers.update(common.get_handlers('ether')) handlers.update(common.get_handlers('group')) handlers.update(common.get_handlers('host')) handlers.update(common.get_handlers('netgroup')) handlers.update(common.get_handlers('network')) handlers.update(common.get_handlers('passwd')) handlers.update(common.get_handlers('protocol')) handlers.update(common.get_handlers('rpc')) handlers.update(common.get_handlers('service')) handlers.update(common.get_handlers('shadow')) handlers.update(common.get_handlers('pam')) handlers.update(common.get_handlers('usermod'))
def getpeercred(fd): """Return uid, gid and pid of calling application.""" import struct import socket try: SO_PEERCRED = getattr(socket, "SO_PEERCRED", 17) creds = fd.getsockopt(socket.SOL_SOCKET, SO_PEERCRED, struct.calcsize("3i")) pid, uid, gid = struct.unpack("3i", creds) return uid, gid, pid except socket.error: return None, None, None handlers = {} handlers.update(common.get_handlers("config")) handlers.update(common.get_handlers("alias")) handlers.update(common.get_handlers("ether")) handlers.update(common.get_handlers("group")) handlers.update(common.get_handlers("host")) handlers.update(common.get_handlers("netgroup")) handlers.update(common.get_handlers("network")) handlers.update(common.get_handlers("passwd")) handlers.update(common.get_handlers("protocol")) handlers.update(common.get_handlers("rpc")) handlers.update(common.get_handlers("service")) handlers.update(common.get_handlers("shadow")) handlers.update(common.get_handlers("pam")) handlers.update(common.get_handlers("usermod"))