Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /proc/self/root/usr/share/crypto-policies/python/cryptopolicies/validation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/share/crypto-policies/python/cryptopolicies/validation/scope.py
# SPDX-License-Identifier: LGPL-2.1-or-later

# Copyright (c) 2021 Red Hat, Inc.

import fnmatch

from .general import PolicySyntaxError


class ScopeSyntaxError(PolicySyntaxError):
    pass


class ScopeUnknownError(ScopeSyntaxError):
    def __init__(self, scope_glob):
        super().__init__(f'unknown scope {scope_glob}')


class ScopeSelectorEmptyError(ScopeSyntaxError):
    def __init__(self):
        super().__init__('empty scope selector')


class ScopeSelectorIllegalCharacterError(ScopeSyntaxError):
    def __init__(self, selector):
        super().__init__(f'illegal character in scope selector `{selector}`')


class ScopeSelectorCurlyBracketsError(ScopeSyntaxError):
    def __init__(self, pattern):
        super().__init__(f'unsupported curly brackets usage in `{pattern}`')


class ScopeSelectorCommaError(ScopeSyntaxError):
    def __init__(self, pattern):
        super().__init__(f'unsupported comma usage in `{pattern}`')


class ScopeSelectorMatchedNothingError(ScopeSyntaxError):
    def __init__(self, pattern):
        super().__init__(f'scope selector `{pattern}` matches no scope')


def illegal_characters(p, original_pattern):
    if not all(c.isalnum() or c in '{,}*_-' for c in p):
        raise ScopeSelectorIllegalCharacterError(original_pattern)


def curly_brackets(p, original_pattern):
    if ((p.count('{'), p.count('}')) not in [(0, 0), (1, 1)]
            or p.startswith('{') and not p.endswith('}')
            or not p.startswith('{') and p.endswith('}')):
        raise ScopeSelectorCurlyBracketsError(original_pattern)


def resulting_globs(globs, all_scopes, original_pattern):
    if any(',' in g for g in globs):
        raise ScopeSelectorCommaError(original_pattern)
    for g in globs:
        if not g:
            raise ScopeSelectorEmptyError()
        if not fnmatch.filter(all_scopes, g):
            if '*' in g:
                raise ScopeSelectorMatchedNothingError(g)
            raise ScopeUnknownError(g)

Spamworldpro Mini