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)
############################################################################## 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)
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)
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)
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)
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)