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 |