Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef REMOTING_PROTOCOL_AUTHENTICATOR_H_ | 5 #ifndef REMOTING_PROTOCOL_AUTHENTICATOR_H_ |
| 6 #define REMOTING_PROTOCOL_AUTHENTICATOR_H_ | 6 #define REMOTING_PROTOCOL_AUTHENTICATOR_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 46 // When GetNextMessage() is called: | 46 // When GetNextMessage() is called: |
| 47 // MESSAGE_READY -> WAITING_MESSAGE | 47 // MESSAGE_READY -> WAITING_MESSAGE |
| 48 // MESSAGE_READY -> ACCEPTED | 48 // MESSAGE_READY -> ACCEPTED |
| 49 enum State { | 49 enum State { |
| 50 // Waiting for the next message from the peer. | 50 // Waiting for the next message from the peer. |
| 51 WAITING_MESSAGE, | 51 WAITING_MESSAGE, |
| 52 | 52 |
| 53 // Next message is ready to be sent to the peer. | 53 // Next message is ready to be sent to the peer. |
| 54 MESSAGE_READY, | 54 MESSAGE_READY, |
| 55 | 55 |
| 56 // Session is authenticated successufully. | 56 // Session is authenticated successfully. |
| 57 ACCEPTED, | 57 ACCEPTED, |
| 58 | 58 |
| 59 // Session is rejected. | 59 // Session is rejected. |
| 60 REJECTED, | 60 REJECTED, |
| 61 | 61 |
| 62 // Asynchronously processing the last message from the peer. | 62 // Asynchronously processing the last message from the peer. |
| 63 PROCESSING_MESSAGE, | 63 PROCESSING_MESSAGE, |
| 64 }; | 64 }; |
| 65 | 65 |
| 66 enum RejectionReason { | 66 enum RejectionReason { |
| 67 INVALID_CREDENTIALS, | 67 INVALID_CREDENTIALS, |
| 68 INVALID_ACCOUNT, | 68 INVALID_ACCOUNT, |
| 69 PROTOCOL_ERROR, | 69 PROTOCOL_ERROR, |
| 70 REJECTED_BY_USER, | 70 REJECTED_BY_USER, |
| 71 TOO_MANY_CONNECTIONS, | |
|
Sergey Ulanov
2017/03/15 22:25:33
Maybe add comments for each rejection reason? They
joedow
2017/03/16 21:32:18
Done.
| |
| 71 }; | 72 }; |
| 72 | 73 |
| 73 // Callback used for layered Authenticator implementations, particularly | 74 // Callback used for layered Authenticator implementations, particularly |
| 74 // third-party and pairing authenticators. They use this callback to create | 75 // third-party and pairing authenticators. They use this callback to create |
| 75 // base SPAKE2 authenticators. | 76 // base SPAKE2 authenticators. |
| 76 typedef base::Callback<std::unique_ptr<Authenticator>( | 77 typedef base::Callback<std::unique_ptr<Authenticator>( |
| 77 const std::string& shared_secret, | 78 const std::string& shared_secret, |
| 78 Authenticator::State initial_state)> | 79 Authenticator::State initial_state)> |
| 79 CreateBaseAuthenticatorCallback; | 80 CreateBaseAuthenticatorCallback; |
| 80 | 81 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 127 // Factory for Authenticator instances. | 128 // Factory for Authenticator instances. |
| 128 class AuthenticatorFactory { | 129 class AuthenticatorFactory { |
| 129 public: | 130 public: |
| 130 AuthenticatorFactory() {} | 131 AuthenticatorFactory() {} |
| 131 virtual ~AuthenticatorFactory() {} | 132 virtual ~AuthenticatorFactory() {} |
| 132 | 133 |
| 133 // Called when session-initiate stanza is received to create | 134 // Called when session-initiate stanza is received to create |
| 134 // authenticator for the new session. |first_message| specifies | 135 // authenticator for the new session. |first_message| specifies |
| 135 // authentication part of the session-initiate stanza so that | 136 // authentication part of the session-initiate stanza so that |
| 136 // appropriate type of Authenticator can be chosen for the session | 137 // appropriate type of Authenticator can be chosen for the session |
| 137 // (useful when multiple authenticators is supported). Returns nullptr | 138 // (useful when multiple authenticators are supported). Returns nullptr |
| 138 // if the |first_message| is invalid and the session should be | 139 // if the |first_message| is invalid and the session should be |
| 139 // rejected. ProcessMessage() should be called with |first_message| | 140 // rejected. ProcessMessage() should be called with |first_message| |
| 140 // for the result of this method. | 141 // for the result of this method. |
| 141 virtual std::unique_ptr<Authenticator> CreateAuthenticator( | 142 virtual std::unique_ptr<Authenticator> CreateAuthenticator( |
| 142 const std::string& local_jid, | 143 const std::string& local_jid, |
| 143 const std::string& remote_jid) = 0; | 144 const std::string& remote_jid) = 0; |
| 144 }; | 145 }; |
| 145 | 146 |
| 146 } // namespace protocol | 147 } // namespace protocol |
| 147 } // namespace remoting | 148 } // namespace remoting |
| 148 | 149 |
| 149 #endif // REMOTING_PROTOCOL_AUTHENTICATOR_H_ | 150 #endif // REMOTING_PROTOCOL_AUTHENTICATOR_H_ |
| OLD | NEW |