def user_stats(uid): """ Insert and query user events. """ if request.method == 'POST': try: timestamp = parse_timesamp(request.data.get('timestamp', '')) action = parse_action(request.data.get('action', ''), min_action=1, max_action=len(settings.SCORE_VALUES)) data.append(uid, action, timestamp) if settings.CASSANDRA_SUPPORT: cassandra_insert(session, uid, action, timestamp) return {'message': 'ok'} except Exception as ex: raise exceptions.ParseError( detail='{}: {}'.format(ex.__class__.__name__, ex.message)) if request.method == 'GET': try: start = parse_timesamp(request.args.get('start', '')) end = parse_timesamp(request.args.get('end', '')) return data.query(uid, start, end) except Exception as ex: raise exceptions.ParseError( detail='{}: {}'.format(ex.__class__.__name__, ex.message))
def test(): action = util.parse_action(sys.argv[1]) if not action == ALLOW: quit(1) util.install_trap() fd = os.open("/dev/null", os.O_WRONLY|os.O_CREAT, 0600) f = SyscallFilter(TRAP) # NOTE: additional syscalls required for python f.add_rule(ALLOW, "write", Arg(0, EQ, fd)) f.add_rule(ALLOW, "close") f.add_rule(ALLOW, "rt_sigaction") f.add_rule(ALLOW, "rt_sigreturn") f.add_rule(ALLOW, "exit_group") f.add_rule(ALLOW, "brk") f.load() try: if not os.write(fd, "testing") == len("testing"): raise IOError("failed to write the full test string") quit(160) except OSError as ex: quit(ex.errno) os.close(fd)
def test(): action = util.parse_action(sys.argv[1]) if not action == ALLOW: quit(1) util.install_trap() f = SyscallFilter(TRAP) # NOTE: additional syscalls required for python f.add_rule(ALLOW, "stat") f.add_rule(ALLOW, "fstat") f.add_rule(ALLOW, "open") f.add_rule(ALLOW, "openat") f.add_rule(ALLOW, "mmap") f.add_rule(ALLOW, "munmap") f.add_rule(ALLOW, "read") f.add_rule(ALLOW, "write") f.add_rule(ALLOW, "close") f.add_rule(ALLOW, "rt_sigaction") f.add_rule(ALLOW, "rt_sigreturn") f.add_rule(ALLOW, "sigreturn") f.add_rule(ALLOW, "sigaltstack") f.add_rule(ALLOW, "brk") f.add_rule(ALLOW, "exit_group") f.load() try: util.write_file("/dev/null") except OSError as ex: quit(ex.errno) quit(160)
def test(): action = util.parse_action(sys.argv[1]) if not action == ALLOW: quit(1) util.install_trap() f = SyscallFilter(TRAP) # NOTE: additional syscalls required for python f.add_rule(ALLOW, "stat") f.add_rule(ALLOW, "fstat") f.add_rule(ALLOW, "open") f.add_rule(ALLOW, "openat") f.add_rule(ALLOW, "mmap") f.add_rule(ALLOW, "munmap") f.add_rule(ALLOW, "read") f.add_rule(ALLOW, "write") f.add_rule(ALLOW, "close") f.add_rule(ALLOW, "rt_sigaction") f.add_rule(ALLOW, "rt_sigreturn") f.add_rule(ALLOW, "exit_group") f.load() try: util.write_file("/dev/null") except OSError as ex: quit(ex.errno) quit(160)
def test(): action = util.parse_action(sys.argv[1]) if not action == ALLOW: quit(1) util.install_trap() fd = os.open("/dev/null", os.O_WRONLY | os.O_CREAT) f = SyscallFilter(TRAP) # NOTE: additional syscalls required for python f.add_rule(ALLOW, "write", Arg(0, EQ, fd)) f.add_rule(ALLOW, "close") f.add_rule(ALLOW, "munmap") f.add_rule(ALLOW, "rt_sigaction") f.add_rule(ALLOW, "rt_sigreturn") f.add_rule(ALLOW, "sigaltstack") f.add_rule(ALLOW, "exit_group") f.add_rule(ALLOW, "brk") f.load() try: if not os.write(fd, b"testing") == len("testing"): raise IOError("failed to write the full test string") quit(160) except OSError as ex: quit(ex.errno) os.close(fd)
def test(): action = util.parse_action(sys.argv[1]) if action == TRAP: util.install_trap() f = SyscallFilter(action) f.add_rule_exactly(ALLOW, "rt_sigreturn") f.add_rule_exactly(ALLOW, "exit_group") f.load() try: util.write_file("/dev/null") except OSError as ex: quit(ex.errno) quit(160)
def test(): action = util.parse_action(sys.argv[1]) if action == TRAP: util.install_trap() f = SyscallFilter(action) f.add_rule(ALLOW, "rt_sigreturn") f.add_rule(ALLOW, "exit_group") f.load() try: util.write_file("/dev/null") except OSError as ex: quit(ex.errno) quit(160)