Ejemplo n.º 1
0
signal.signal(signal.SIGTERM, doExit)

##############################################################################

sockets = {
    proxy.xmpp.Connection._sock: 'proxy',
    local: 'local',
}

while True:
    try:
        local.heartbeat()
        r, w, _ = select(sockets.keys(), [], [], 1)
        for each in r:
            if sockets[each] == 'proxy':
                proxy.xmpp.Process(1)
                for b in proxy.recvQueue:
                    log("Received %d bytes, sending to core." % len(b))
                    local.send(b)
                proxy.recvQueue = []

            if sockets[each] == 'local':
                recv = local.receive()
                if not recv: continue
                log("Received %d bytes, sending to tunnel." % len(recv))
                proxy.send(recv)

    except KeyboardInterrupt:
        doExit(None, None)
Ejemplo n.º 2
0
##############################################################################

sockets = {
    proxy.xmpp.Connection._sock: 'proxy',
    ipc: 'ipc',
}

while True:
    try:
        if ipc.broken: doExit(None, None)
        ipc.heartbeat()
        r, w, _ = select(sockets.keys(), [], [], 1)
        for each in r:
            if sockets[each] == 'proxy':
                proxy.xmpp.Process(1)
                for b in proxy.recvQueue:
                    debug("Received %d bytes, sending to core." % len(b))
                    ipc.send(b)
                proxy.recvQueue = []

            if sockets[each] == 'ipc':
                recv = ipc.receive()
                if not recv: continue
                debug("Received %d bytes, sending to tunnel." % len(recv))
                proxy.send(recv)
    except KeyboardInterrupt:
        doExit(None,None)

    except Exception,e:
        exception(e)
Ejemplo n.º 3
0
signal.signal(signal.SIGTERM, doExit)

##############################################################################

while True:
    try:
        ipc.heartbeat()

        selected = select([ipc, proxySocket], [], [], 1.0)
        if len(selected) < 1:
            continue
        readables = selected[0]

        for each in readables:
            if each == ipc:
                buf = ipc.receive()
                if None == buf: continue
                if None == proxyPeer: continue
                debug("Received %d bytes, sending to tunnel." % len(buf))
                proxySocket.sendto(buf, proxyPeer)
            
            if each == proxySocket:
                buf, sender = each.recvfrom(65536)
                proxyPeer = sender
                debug("Received %d bytes, sending back to core." % len(buf))
                ipc.send(buf)

        if ipc.broken: doExit(None, None)
    except KeyboardInterrupt:
        doExit(None, None)
Ejemplo n.º 4
0
while True:
    try:
        localSocket.heartbeat()

        selected = select([localSocket, proxySocket], [], [], 1.0)
        if len(selected) < 1:
            continue
        readables = selected[0]

        for each in readables:
            if each == localSocket:
                buf = localSocket.receive()
                if None == buf:
                    continue
                if None == proxyPeer:
                    continue
                debug("Received %d bytes, sending to tunnel." % len(buf))
                proxySocket.sendto(buf, proxyPeer)

            if each == proxySocket:
                buf, sender = each.recvfrom(65536)
                proxyPeer = sender
                debug("Received %d bytes, sending back to core." % len(buf))
                localSocket.send(buf)

        if localSocket.broken:
            doExit(None, None)
    except KeyboardInterrupt:
        doExit(None, None)
Ejemplo n.º 5
0
sockets = {
    proxy.xmpp.Connection._sock: 'proxy',
    local: 'local',
}

while True:
    try:
        local.heartbeat()
        r, w, _ = select(sockets.keys(), [], [], 1)
        for each in r:
            if sockets[each] == 'proxy':
                proxy.xmpp.Process(1)
                for b in proxy.recvQueue:
                    log("Received %d bytes, sending to core." % len(b))
                    local.send(b)
                proxy.recvQueue = []

            if sockets[each] == 'local':
                recv = local.receive()
                if not recv: continue
                log("Received %d bytes, sending to tunnel." % len(recv))
                proxy.send(recv)


    except KeyboardInterrupt:
        doExit(None,None)



Ejemplo n.º 6
0
signal.signal(signal.SIGTERM, doExit)

##############################################################################

while True:
    try:
        localSocket.heartbeat()

        selected = select([localSocket, proxySocket], [], [], 1.0)
        if len(selected) < 1:
            continue
        readables = selected[0]

        for each in readables:
            if each == localSocket:
                buf = localSocket.receive()
                if None == buf: continue
                if None == proxyPeer: continue
                debug("Received %d bytes, sending to tunnel." % len(buf))
                proxySocket.sendto(buf, proxyPeer)

            if each == proxySocket:
                buf, sender = each.recvfrom(65536)
                proxyPeer = sender
                debug("Received %d bytes, sending back to core." % len(buf))
                localSocket.send(buf)

        if localSocket.broken: doExit(None, None)
    except KeyboardInterrupt:
        doExit(None, None)