34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
diff --git a/net/socket/socks5_client_socket.h b/net/socket/socks5_client_socket.h
|
|
index 6043d96d29860724abfaecd79a75050e61bb6fcc..8068ff62765d8609bd2a9b4972a348b6224c37ec 100644
|
|
--- a/net/socket/socks5_client_socket.h
|
|
+++ b/net/socket/socks5_client_socket.h
|
|
@@ -79,11 +79,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,
|
|
@@ -118,6 +121,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);
|
|
|
|
// Writes the SOCKS handshake buffer into |handshake|
|
|
// and return OK on success.
|