MCPcopy Create free account
hub / github.com/Bitmessage/PyBitmessage / state_auth_1

Method state_auth_1

src/network/socks5.py:41–62  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

39 return True
40
41 def state_auth_1(self):
42 ret = struct.unpack('BB', self.read_buf)
43 if ret[0] != 5:
44 # general error
45 raise GeneralProxyError(1)
46 elif ret[1] == 0:
47 # no auth required
48 self.set_state("auth_done", length=2)
49 elif ret[1] == 2:
50 # username/password
51 self.append_write_buf(struct.pack('BB', 1, len(self._auth[0])) + \
52 self._auth[0] + struct.pack('B', len(self._auth[1])) + \
53 self._auth[1])
54 self.set_state("auth_needed", length=2, expectBytes=2)
55 else:
56 if ret[1] == 0xff:
57 # auth error
58 raise Socks5AuthError(2)
59 else:
60 # other error
61 raise GeneralProxyError(1)
62 return True
63
64 def state_auth_needed(self):
65 ret = struct.unpack('BB', self.read_buf[0:2])

Callers

nothing calls this directly

Calls 4

GeneralProxyErrorClass · 0.90
set_stateMethod · 0.80
append_write_bufMethod · 0.80
Socks5AuthErrorClass · 0.70

Tested by

no test coverage detected