34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
diff --git a/net/socket/socks5_client_socket.h b/net/socket/socks5_client_socket.h
|
|
index fe8da4858d69292f2baea559afe1392618e8c68b..79c6d75e6578011dc79669d325232a1365541f30 100644
|
|
--- a/net/socket/socks5_client_socket.h
|
|
+++ b/net/socket/socks5_client_socket.h
|
|
@@ -77,11 +77,14 @@ class NET_EXPORT_PRIVATE SOCKS5ClientSocket : public StreamSocket {
|
|
int GetLocalAddress(IPEndPoint* address) const override;
|
|
|
|
private:
|
|
+ friend class SOCKS5ClientSocketAuth;
|
|
enum State {
|
|
STATE_GREET_WRITE,
|
|
STATE_GREET_WRITE_COMPLETE,
|
|
STATE_GREET_READ,
|
|
STATE_GREET_READ_COMPLETE,
|
|
+ STATE_AUTH,
|
|
+ STATE_AUTH_COMPLETE,
|
|
STATE_HANDSHAKE_WRITE,
|
|
STATE_HANDSHAKE_WRITE_COMPLETE,
|
|
STATE_HANDSHAKE_READ,
|
|
@@ -116,6 +119,13 @@ class NET_EXPORT_PRIVATE SOCKS5ClientSocket : public StreamSocket {
|
|
int DoGreetReadComplete(int result);
|
|
int DoGreetWrite();
|
|
int DoGreetWriteComplete(int result);
|
|
+ int DoAuth(int result);
|
|
+
|
|
+ // Authentication hooks.
|
|
+ virtual uint8_t auth_method();
|
|
+ virtual int Authenticate(int result,
|
|
+ NetLogWithSource& net_log,
|
|
+ CompletionRepeatingCallback& callback);
|
|
|
|
// Creates a DrainableIOBuffer containing the SOCKS handshake.
|
|
scoped_refptr<DrainableIOBuffer> BuildHandshakeWriteBuffer() const;
|