INNER CODE UNIT · Python

verify_context

kejilion/sh · site_access_cli.py:88

            def verify_context():
                read_checked(config_dir, config_name, request['configVersion'], 2 << 20)
            return edit_account(password_dir, password_name, request['fileVersion'], request['operation'],
                                request['username'], password=request.get('password', ''),
                                previous_username=request.get('previousUsername'), assert_context=verify_context)
        finally:
            os.close(password_dir)
    finally:
        os.close(config_dir)


def apply_rule(rootfd, request, *, validate=None, reload_config=None,
               worker_group=nginx_worker_group, verify_read=check_worker_read, global_policy=nginx_global_config):
    common = {'operation', 'configName', 'configVersion', 'scope', 'path', 'modifier'}
    action = request.get('operation') if isinstance(request, dict) else None
    needed = {'username', 'password', 'serverIndices'} if action == 'rule-add' else {'fileVersion', 'serverIndex'} if action == 'rule-delete' else set()
    if action not in ('rule-add', 'rule-delete') or request.keys() != common | needed:
        raise ConfigError('invalid rule request')

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…