示例#1
0
def serve_ruleset_post():
    """Make changes on a rule."""
    _require('editor')
    action = pg('action', '')
    rid = int_pg('rid')
    assert rid is not None, "Item number not provided"
    try:
        if action == 'delete':
            item = fs.fetch('rules', rid)
            name = item.name
            fs.delete('rules', rid)
            return ack("Rule %s deleted." % name)

        elif action == 'moveup':
            fs.rules.moveup(rid)
            return ack("Rule moved up.")

        elif action == 'movedown':
            fs.rules.movedown(rid)
            return ack("Rule moved down.")

        elif action == 'enable':
            fs.rules.enable(rid)
            return ack("Rule %d enabled." % rid)

        elif action == 'disable':
            fs.rules.disable(rid)
            return ack("Rule %d disabled." % rid)

        elif action == "save":
            fields = ('name', 'src', 'src_serv', 'dst', 'dst_serv', 'desc')
            d = dict((f, pg(f)) for f in fields)
            d['enabled'] = flag(pg('enabled'))
            d['action'] = pg('rule_action')
            d['log_level'] = pg('log')
            # FIXME: the token is not being set by the UI
            # assert pg('token')
            fs.rules.update(d, rid=pg('rid'), token=pg('token'))

        elif action == "newabove":
            action = "create new rule above"
            d = {}
            fs.rules.add(d, rid=rid)

        elif action == "newbelow":
            action = "create new rule below"
            d = {}
            fs.rules.add(d, rid=rid+1)
        else:
            log.error("Unknown action requested: %r", action)
    except Exception, e:
        log.error("Unable to %s rule n. %s - %s", action, rid, e)
        abort(500)
示例#2
0
def update_ruleset(action, rid):
    """Update ruleset"""
    # FIXME: the token is not being set by the UI
    if action == 'delete':
        item = fs.fetch('rules', rid)
        name = item.name
        fs.delete('rules', rid)
        return ack("Rule %s deleted." % name)

    elif action == 'moveup':
        fs.rules.moveup(rid)
        return ack("Rule moved up.")

    elif action == 'movedown':
        fs.rules.movedown(rid)
        return ack("Rule moved down.")

    elif action == 'enable':
        fs.rules.enable(rid)
        return ack("Rule %d enabled." % rid)

    elif action == 'disable':
        fs.rules.disable(rid)
        return ack("Rule %d disabled." % rid)

    elif action == "save":
        fields = ('name', 'src', 'src_serv', 'dst', 'dst_serv', 'desc')
        d = dict((f, pg(f)) for f in fields)
        d['enabled'] = flag(pg('enabled'))
        d['action'] = pg('rule_action')
        d['log_level'] = pg('log')
        fs.rules.update(d, rid=pg('rid'), token=pg('token'))

    elif action == "newabove":
        action = "create new rule above"
        d = {}
        fs.rules.add(d, rid=rid)

    elif action == "newbelow":
        action = "create new rule below"
        d = {}
        fs.rules.add(d, rid=rid+1)
    else:
        log.error("Unknown action requested: %r", action)
        abort(500)
示例#3
0
def update_ruleset(action, rid):
    """Update ruleset"""
    # FIXME: the token is not being set by the UI
    if action == 'delete':
        item = fs.fetch('rules', rid)
        name = item.name
        fs.delete('rules', rid)
        return ack("Rule %s deleted." % name)

    elif action == 'moveup':
        fs.rules.moveup(rid)
        return ack("Rule moved up.")

    elif action == 'movedown':
        fs.rules.movedown(rid)
        return ack("Rule moved down.")

    elif action == 'enable':
        fs.rules.enable(rid)
        return ack("Rule %d enabled." % rid)

    elif action == 'disable':
        fs.rules.disable(rid)
        return ack("Rule %d disabled." % rid)

    elif action == "save":
        fields = ('name', 'src', 'src_serv', 'dst', 'dst_serv', 'desc')
        d = dict((f, pg(f)) for f in fields)
        d['enabled'] = flag(pg('enabled'))
        d['action'] = pg('rule_action')
        d['log_level'] = pg('log')
        fs.rules.update(d, rid=pg('rid'), token=pg('token'))

    elif action == "newabove":
        action = "create new rule above"
        d = {}
        fs.rules.add(d, rid=rid)

    elif action == "newbelow":
        action = "create new rule below"
        d = {}
        fs.rules.add(d, rid=rid + 1)
    else:
        log.error("Unknown action requested: %r", action)
        abort(500)
示例#4
0
def test_flag_raise():
    for x in ('true', 'false'):
        with raises(Exception):
            flag(x)
示例#5
0
def test_flag_false():
    for x in (0, False, '0', 'False', 'n', 'off', ''):
        assert flag(x) == '0'
示例#6
0
def test_flag_true():
    for x in (1, True, '1', 'True', 'y', 'on'):
        assert flag(x) == '1'
示例#7
0
def test_flag_raise():
    for x in ('true', 'false'):
        with raises(Exception):
            flag(x)
示例#8
0
def test_flag_false():
    for x in (0, False, '0', 'False', 'n', 'off', ''):
        assert flag(x) == '0'
示例#9
0
def test_flag_true():
    for x in (1, True, '1', 'True', 'y', 'on' ):
        assert flag(x) == '1'