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

Unified Diff: blimp/net/engine_authentication_handler.cc

Issue 2632803002: Remove all blimp network code. (Closed)
Patch Set: merge from origin/master for good measure Created 3 years, 11 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
« no previous file with comments | « blimp/net/engine_authentication_handler.h ('k') | blimp/net/engine_authentication_handler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/net/engine_authentication_handler.cc
diff --git a/blimp/net/engine_authentication_handler.cc b/blimp/net/engine_authentication_handler.cc
deleted file mode 100644
index ac75a4d8af3d80090c199490fa93753a0cb109df..0000000000000000000000000000000000000000
--- a/blimp/net/engine_authentication_handler.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "blimp/net/engine_authentication_handler.h"
-
-#include <memory>
-#include <string>
-#include <utility>
-
-#include "base/callback_helpers.h"
-#include "base/logging.h"
-#include "base/timer/timer.h"
-#include "blimp/common/create_blimp_message.h"
-#include "blimp/common/logging.h"
-#include "blimp/common/proto/blimp_message.pb.h"
-#include "blimp/common/protocol_version.h"
-#include "blimp/net/blimp_connection.h"
-#include "blimp/net/blimp_message_processor.h"
-#include "blimp/net/blimp_transport.h"
-#include "blimp/net/common.h"
-#include "blimp/net/connection_error_observer.h"
-#include "net/base/completion_callback.h"
-#include "net/base/net_errors.h"
-
-namespace blimp {
-
-namespace {
-// Expect Client to send the StartConnection within ten seconds of becoming
-// connected.
-const int kAuthTimeoutDurationInSeconds = 10;
-
-// Authenticates one connection. It deletes itself when
-// * the connection is authenticated and passed to |connection_handler|.
-// * the connection gets into an error state.
-// * the auth message does not arrive within a reasonable time.
-class Authenticator : public ConnectionErrorObserver,
- public BlimpMessageProcessor {
- public:
- explicit Authenticator(std::unique_ptr<BlimpConnection> connection,
- base::WeakPtr<ConnectionHandler> connection_handler,
- const std::string& client_auth_token);
- ~Authenticator() override;
-
- private:
- // Processes authentication result and deletes |this|.
- void OnConnectionAuthenticated(bool authenticated);
-
- // Handles timeout waiting for auth message, and deletes |this|.
- void OnAuthenticationTimeout();
-
- // ConnectionErrorObserver implementation.
- void OnConnectionError(int error) override;
-
- // BlimpMessageProcessor implementation.
- void ProcessMessage(std::unique_ptr<BlimpMessage> message,
- const net::CompletionCallback& callback) override;
-
- // The connection to be authenticated.
- std::unique_ptr<BlimpConnection> connection_;
-
- // Handler to pass successfully authenticated connections to.
- base::WeakPtr<ConnectionHandler> connection_handler_;
-
- // Used to authenticate incoming connection.
- const std::string client_auth_token_;
-
- // A timer to fail authentication on timeout.
- base::OneShotTimer timeout_timer_;
-
- DISALLOW_COPY_AND_ASSIGN(Authenticator);
-};
-
-Authenticator::Authenticator(
- std::unique_ptr<BlimpConnection> connection,
- base::WeakPtr<ConnectionHandler> connection_handler,
- const std::string& client_auth_token)
- : connection_(std::move(connection)),
- connection_handler_(connection_handler),
- client_auth_token_(client_auth_token) {
- DVLOG(1) << "Authenticator object created.";
-
- // Observe for errors that might occur during the authentication phase.
- connection_->AddConnectionErrorObserver(this);
- connection_->SetIncomingMessageProcessor(this);
- timeout_timer_.Start(
- FROM_HERE, base::TimeDelta::FromSeconds(kAuthTimeoutDurationInSeconds),
- this, &Authenticator::OnAuthenticationTimeout);
-}
-
-Authenticator::~Authenticator() {}
-
-void Authenticator::OnConnectionAuthenticated(bool authenticated) {
- DVLOG(1) << "OnConnectionAuthenticated result=" << authenticated;
-
- if (authenticated && connection_handler_) {
- // Authentication is successful. Stop observing connection errors.
- connection_->RemoveConnectionErrorObserver(this);
- connection_handler_->HandleConnection(std::move(connection_));
- }
-
- delete this;
-}
-
-void Authenticator::OnAuthenticationTimeout() {
- DVLOG(1) << "Connection authentication timeout";
- OnConnectionAuthenticated(false);
-}
-
-void Authenticator::OnConnectionError(int error) {
- DVLOG(1) << "Connection error before authenticated "
- << net::ErrorToString(error);
- OnConnectionAuthenticated(false);
-}
-
-void Authenticator::ProcessMessage(std::unique_ptr<BlimpMessage> message,
- const net::CompletionCallback& callback) {
- base::ScopedClosureRunner run_callback(base::Bind(callback, net::OK));
-
- if (!message->has_protocol_control() ||
- !message->protocol_control().has_start_connection()) {
- DVLOG(1) << "Expected PROTOCOL_CONTROL->START_CONNECTION, got " << *message;
- OnConnectionAuthenticated(false);
- return;
- }
-
- const StartConnectionMessage& start_connection =
- message->protocol_control().start_connection();
-
- // Verify that the protocol version is supported.
- if (start_connection.protocol_version() != kProtocolVersion) {
- DVLOG(1) << "Protocol version mismatch: "
- << start_connection.protocol_version() << " vs "
- << kProtocolVersion;
-
- // Inform the client of the mismatch before disconnecting it, so it can
- // show the user an appropriate error.
- connection_->GetOutgoingMessageProcessor()->ProcessMessage(
- CreateEndConnectionMessage(EndConnectionMessage::PROTOCOL_MISMATCH),
- net::CompletionCallback());
-
- OnConnectionAuthenticated(false);
- return;
- }
-
- // Verify that the authentication token matches.
- bool token_match = client_auth_token_ == start_connection.client_auth_token();
- DVLOG(1) << "Authentication challenge received: "
- << start_connection.client_auth_token() << ", and token "
- << (token_match ? " matches" : " does not match");
- OnConnectionAuthenticated(token_match);
-}
-
-} // namespace
-
-EngineAuthenticationHandler::EngineAuthenticationHandler(
- ConnectionHandler* connection_handler,
- const std::string& client_auth_token)
- : connection_handler_weak_factory_(connection_handler),
- client_auth_token_(client_auth_token) {
- DCHECK(!client_auth_token_.empty());
-}
-
-EngineAuthenticationHandler::~EngineAuthenticationHandler() {}
-
-void EngineAuthenticationHandler::HandleConnection(
- std::unique_ptr<BlimpConnection> connection) {
- // Authenticator manages its own lifetime.
- new Authenticator(std::move(connection),
- connection_handler_weak_factory_.GetWeakPtr(),
- client_auth_token_);
-}
-
-} // namespace blimp
« no previous file with comments | « blimp/net/engine_authentication_handler.h ('k') | blimp/net/engine_authentication_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698