CasperSecurity

Current Path : /lib/python3/dist-packages/hyperlink/
Upload File :
Current File : //lib/python3/dist-packages/hyperlink/_socket.py

try:
    from socket import inet_pton
except ImportError:
    from typing import TYPE_CHECKING

    if TYPE_CHECKING:  # pragma: no cover
        pass
    else:
        # based on https://gist.github.com/nnemkin/4966028
        # this code only applies on Windows Python 2.7
        import ctypes
        import socket

        class SockAddr(ctypes.Structure):
            _fields_ = [
                ("sa_family", ctypes.c_short),
                ("__pad1", ctypes.c_ushort),
                ("ipv4_addr", ctypes.c_byte * 4),
                ("ipv6_addr", ctypes.c_byte * 16),
                ("__pad2", ctypes.c_ulong),
            ]

        WSAStringToAddressA = ctypes.windll.ws2_32.WSAStringToAddressA
        WSAAddressToStringA = ctypes.windll.ws2_32.WSAAddressToStringA

        def inet_pton(address_family, ip_string):
            # type: (int, str) -> bytes
            addr = SockAddr()
            ip_string_bytes = ip_string.encode("ascii")
            addr.sa_family = address_family
            addr_size = ctypes.c_int(ctypes.sizeof(addr))

            try:
                attribute, size = {
                    socket.AF_INET: ("ipv4_addr", 4),
                    socket.AF_INET6: ("ipv6_addr", 16),
                }[address_family]
            except KeyError:
                raise socket.error("unknown address family")

            if (
                WSAStringToAddressA(
                    ip_string_bytes,
                    address_family,
                    None,
                    ctypes.byref(addr),
                    ctypes.byref(addr_size),
                )
                != 0
            ):
                raise socket.error(ctypes.FormatError())

            return ctypes.string_at(getattr(addr, attribute), size)
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY