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

Unified Diff: remoting/protocol/negotiating_authenticator_base.h

Issue 1768383004: Cleanup AuthenticatorMethod usage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/negotiating_authenticator_base.h
diff --git a/remoting/protocol/negotiating_authenticator_base.h b/remoting/protocol/negotiating_authenticator_base.h
index 4d67a808964ce32ba2faf9ce869ec1fc61b8f376..a920af4032c4d9beab364f11aa88d02689117618 100644
--- a/remoting/protocol/negotiating_authenticator_base.h
+++ b/remoting/protocol/negotiating_authenticator_base.h
@@ -8,10 +8,10 @@
#include <string>
#include <vector>
+#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "remoting/protocol/authentication_method.h"
#include "remoting/protocol/authenticator.h"
#include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
@@ -60,6 +60,15 @@ namespace protocol {
// mix of webapp, client plugin and host, for both Me2Me and IT2Me.
class NegotiatingAuthenticatorBase : public Authenticator {
public:
+ // Method represents an authentication algorithm.
+ enum class Method {
+ INVALID,
+ SPAKE2_SHARED_SECRET_PLAIN,
+ SPAKE2_SHARED_SECRET_HMAC,
+ SPAKE2_PAIR,
+ THIRD_PARTY,
+ };
+
~NegotiatingAuthenticatorBase() override;
// Authenticator interface.
@@ -74,18 +83,24 @@ class NegotiatingAuthenticatorBase : public Authenticator {
void ProcessMessageInternal(const buzz::XmlElement* message,
const base::Closure& resume_callback);
- const AuthenticationMethod& current_method_for_testing() const {
- return current_method_;
- }
-
protected:
+ friend class NegotiatingAuthenticatorTest;
+ FRIEND_TEST_ALL_PREFIXES(NegotiatingAuthenticatorTest, IncompatibleMethods);
+
static const buzz::StaticQName kMethodAttributeQName;
static const buzz::StaticQName kSupportedMethodsAttributeQName;
static const char kSupportedMethodsSeparator;
+ // Parses a string that defines an authentication method. Returns
+ // Method::INVALID if the string is invalid.
+ static Method ParseMethodString(const std::string& value);
+
+ // Returns string representation of |method|.
+ static std::string MethodToString(Method method);
+
explicit NegotiatingAuthenticatorBase(Authenticator::State initial_state);
- void AddMethod(AuthenticationMethod method);
+ void AddMethod(Method method);
// Updates |state_| to reflect the current underlying authenticator state.
// |resume_callback| is called after the state is updated.
@@ -95,8 +110,8 @@ class NegotiatingAuthenticatorBase : public Authenticator {
// the 'method' tag with |current_method_|.
virtual scoped_ptr<buzz::XmlElement> GetNextMessageInternal();
- std::vector<AuthenticationMethod> methods_;
- AuthenticationMethod current_method_ = AuthenticationMethod::INVALID;
+ std::vector<Method> methods_;
+ Method current_method_ = Method::INVALID;
scoped_ptr<Authenticator> current_authenticator_;
State state_;
RejectionReason rejection_reason_ = INVALID_CREDENTIALS;
« no previous file with comments | « remoting/protocol/me2me_host_authenticator_factory.h ('k') | remoting/protocol/negotiating_authenticator_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698