Пример #1
0
 def sock_from_fd(fd):
     if is_socket(fd):
         if is_socket_unix(fd):
             return socket.socket(family=socket.AF_UNIX,
                                  type=socket.SOCK_STREAM,
                                  fileno=fd)
         for fam in [socket.AF_INET6, socket.AF_INET]:
             for t in [socket.SOCK_STREAM]:
                 if is_socket(fd, family=fam, type=t):
                     return socket.socket(family=fam, type=t, fileno=fd)
         return socket.socket(fileno=fd)
     return None
Пример #2
0
def test_is_socket():
    with closing_socketpair(socket.AF_UNIX) as pair:
        for sock in pair:
            for arg in (sock, sock.fileno()):
                assert is_socket(arg)
                assert is_socket(arg, socket.AF_UNIX)
                assert not is_socket(arg, socket.AF_INET)
                assert is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
                assert not is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)

                assert is_socket(sock)
                assert is_socket(arg, socket.AF_UNIX)
                assert not is_socket(arg, socket.AF_INET)
                assert is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
                assert not is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)
Пример #3
0
def test_is_socket():
    with closing_socketpair(socket.AF_UNIX) as pair:
        for sock in pair:
            for arg in (sock, sock.fileno()):
                assert is_socket(arg)
                assert is_socket(arg, socket.AF_UNIX)
                assert not is_socket(arg, socket.AF_INET)
                assert is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
                assert not is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)

                assert is_socket(sock)
                assert is_socket(arg, socket.AF_UNIX)
                assert not is_socket(arg, socket.AF_INET)
                assert is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
                assert not is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)
Пример #4
0
def test_is_socket():
    with closing_socketpair(socket.AF_UNIX) as pair:
        for sock in pair:
            for arg in (sock, sock.fileno()):
                assert is_socket(arg)
                assert is_socket(arg, socket.AF_UNIX)
                assert not is_socket(arg, socket.AF_INET)
                assert is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
                assert not is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)
                with skip_enosys():
                    assert not is_socket_sockaddr(arg, '8.8.8.8:2000', socket.SOCK_DGRAM, 0, 0)

            assert _is_socket(arg)
            assert _is_socket(arg, socket.AF_UNIX)
            assert not _is_socket(arg, socket.AF_INET)
            assert _is_socket(arg, socket.AF_UNIX, socket.SOCK_STREAM)
            assert not _is_socket(arg, socket.AF_INET, socket.SOCK_DGRAM)
            with skip_enosys():
                assert not _is_socket_sockaddr(arg, '8.8.8.8:2000', socket.SOCK_DGRAM, 0, 0)
Пример #5
0
def map_fds():
    """Return the list of inherited sockets.
    Return null if there arenone.
    """
    fds = {}
    for frozen_fd in frozenset(daemon.listen_fds()):
        journal.send("processing fd: {0}".format(frozen_fd))
        if daemon.is_socket(frozen_fd):
            sock_obj = socket.socket(fileno=frozen_fd)
            journal.send("created socket: name={0}".format(
                sock_obj.getsockname()))
            fds[frozen_fd] = sock_obj
    return fds