| 226 | |
| 227 | |
| 228 | class Socks5BMConnection(Socks5Connection, TCPConnection): |
| 229 | def __init__(self, address): |
| 230 | Socks5Connection.__init__(self, address=address) |
| 231 | TCPConnection.__init__(self, address=address, sock=self.socket) |
| 232 | self.set_state("init") |
| 233 | |
| 234 | def state_proxy_handshake_done(self): |
| 235 | Socks5Connection.state_proxy_handshake_done(self) |
| 236 | self.nodeid = randomBytes(8) |
| 237 | self.append_write_buf(protocol.assembleVersionMessage(self.destination.host, self.destination.port, \ |
| 238 | network.connectionpool.BMConnectionPool().streams, False, nodeid=self.nodeid)) |
| 239 | self.set_state("bm_header", expectBytes=protocol.Header.size) |
| 240 | return True |
| 241 | |
| 242 | |
| 243 | class Socks4aBMConnection(Socks4aConnection, TCPConnection): |