403Webshell
Server IP : 13.213.54.232  /  Your IP : 216.73.216.72
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/sos/cleaner/parsers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/sos/cleaner/parsers//ipv6_parser.py
# Copyright 2022 Red Hat, Inc. Jake Hunsaker <jhunsake@redhat.com>

# This file is part of the sos project: https://github.com/sosreport/sos
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# version 2 of the GNU General Public License.
#
# See the LICENSE file in the source distribution for further information.

from sos.cleaner.parsers import SoSCleanerParser
from sos.cleaner.mappings.ipv6_map import SoSIPv6Map


class SoSIPv6Parser(SoSCleanerParser):
    """Parser for handling IPv6 networks and addresses"""

    name = 'IPv6 Parser'
    map_file_key = 'ipv6_map'
    regex_patterns = [
        # Attention: note that this is a single long regex, not several entries
        # This is initially based off of two regexes from the Java library
        # for validating an IPv6 string. However, this is modified to begin and
        # end with a negative lookbehind to ensure that a substring of 'ed::'
        # is not extracted from a log message such as 'SomeFuncUsed::ADiffFunc'
        # that come components may log with. Further, we optionally try to grab
        # a trailing prefix for the network bits.
        r"(?<![:\\.\\-a-z0-9])((([0-9a-f]{1,4})(:[0-9a-f]{1,4}){7})|"
        r"(([0-9a-f]{1,4}(:[0-9a-f]{0,4}){0,5}))([^.])::(([0-9a-f]{1,4}"
        r"(:[0-9a-f]{1,4}){0,5})?))(/\d{1,3})?(?![:\\a-z0-9])"
    ]
    parser_skip_files = [
        'etc/dnsmasq.conf.*',
        '.*modinfo.*',
    ]
    compile_regexes = False

    def __init__(self, config, skip_cleaning_files=[]):
        self.mapping = SoSIPv6Map()
        super().__init__(config, skip_cleaning_files)

    def get_map_contents(self):
        """Structure the dataset contents properly so that they can be reloaded
        on subsequent runs correctly.
        """
        _d = {
            'version': self.mapping.version,
            'networks': {}
        }
        for net in self.mapping.networks:
            _net = self.mapping.networks[net]
            _d['networks'][_net.original_address] = {
                'obfuscated': _net.obfuscated_address,
                'hosts': {}
            }
            for host in _net.hosts:
                _ob_host = _net.hosts[host]
                _d['networks'][_net.original_address]['hosts'][host] = _ob_host

        return _d

Youez - 2016 - github.com/yon3zu
LinuXploit