Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Side by Side Diff: remoting/protocol/authenticator.h

Issue 2724223003: Disconnect all users if too many connection requests are received for It2Me (Closed)
Patch Set: Addressing CR Feedback Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/host/it2me/it2me_host_unittest.cc ('k') | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 // The account credentials were not valid (i.e. incorrect PIN).
67 INVALID_CREDENTIALS, 68 INVALID_CREDENTIALS,
69
70 // The client JID was not valid (i.e. violated a policy or was malformed).
68 INVALID_ACCOUNT, 71 INVALID_ACCOUNT,
72
73 // Generic error used when something goes wrong establishing a session.
69 PROTOCOL_ERROR, 74 PROTOCOL_ERROR,
75
76 // Session was rejected by the user (i.e. via the confirmation dialog).
70 REJECTED_BY_USER, 77 REJECTED_BY_USER,
78
79 // Multiple, valid connection requests were received for the same session.
80 TOO_MANY_CONNECTIONS,
71 }; 81 };
72 82
73 // Callback used for layered Authenticator implementations, particularly 83 // Callback used for layered Authenticator implementations, particularly
74 // third-party and pairing authenticators. They use this callback to create 84 // third-party and pairing authenticators. They use this callback to create
75 // base SPAKE2 authenticators. 85 // base SPAKE2 authenticators.
76 typedef base::Callback<std::unique_ptr<Authenticator>( 86 typedef base::Callback<std::unique_ptr<Authenticator>(
77 const std::string& shared_secret, 87 const std::string& shared_secret,
78 Authenticator::State initial_state)> 88 Authenticator::State initial_state)>
79 CreateBaseAuthenticatorCallback; 89 CreateBaseAuthenticatorCallback;
80 90
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 // Factory for Authenticator instances. 137 // Factory for Authenticator instances.
128 class AuthenticatorFactory { 138 class AuthenticatorFactory {
129 public: 139 public:
130 AuthenticatorFactory() {} 140 AuthenticatorFactory() {}
131 virtual ~AuthenticatorFactory() {} 141 virtual ~AuthenticatorFactory() {}
132 142
133 // Called when session-initiate stanza is received to create 143 // Called when session-initiate stanza is received to create
134 // authenticator for the new session. |first_message| specifies 144 // authenticator for the new session. |first_message| specifies
135 // authentication part of the session-initiate stanza so that 145 // authentication part of the session-initiate stanza so that
136 // appropriate type of Authenticator can be chosen for the session 146 // appropriate type of Authenticator can be chosen for the session
137 // (useful when multiple authenticators is supported). Returns nullptr 147 // (useful when multiple authenticators are supported). Returns nullptr
138 // if the |first_message| is invalid and the session should be 148 // if the |first_message| is invalid and the session should be
139 // rejected. ProcessMessage() should be called with |first_message| 149 // rejected. ProcessMessage() should be called with |first_message|
140 // for the result of this method. 150 // for the result of this method.
141 virtual std::unique_ptr<Authenticator> CreateAuthenticator( 151 virtual std::unique_ptr<Authenticator> CreateAuthenticator(
142 const std::string& local_jid, 152 const std::string& local_jid,
143 const std::string& remote_jid) = 0; 153 const std::string& remote_jid) = 0;
144 }; 154 };
145 155
146 } // namespace protocol 156 } // namespace protocol
147 } // namespace remoting 157 } // namespace remoting
148 158
149 #endif // REMOTING_PROTOCOL_AUTHENTICATOR_H_ 159 #endif // REMOTING_PROTOCOL_AUTHENTICATOR_H_
OLDNEW
« no previous file with comments | « remoting/host/it2me/it2me_host_unittest.cc ('k') | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698