You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by jh...@apache.org on 2017/05/11 16:35:18 UTC

hadoop git commit: HDFS-11767: libhdfs++: SASL events should be scoped closer to usage. Contributed by James Clampffer

Repository: hadoop
Updated Branches:
  refs/heads/HDFS-8707 e73bd5352 -> 356fd2214


HDFS-11767: libhdfs++: SASL events should be scoped closer to usage. Contributed by James Clampffer


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/356fd221
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/356fd221
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/356fd221

Branch: refs/heads/HDFS-8707
Commit: 356fd2214cca62a1e51367cb4e21b73f54811a1f
Parents: e73bd53
Author: James <jh...@apache.org>
Authored: Thu May 11 12:34:35 2017 -0400
Committer: James <jh...@apache.org>
Committed: Thu May 11 12:34:35 2017 -0400

----------------------------------------------------------------------
 .../src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc        | 7 ++++---
 .../src/main/native/libhdfspp/lib/rpc/sasl_protocol.h         | 1 -
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/356fd221/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc
index 83d4f88..49abe58 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc
+++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc
@@ -65,14 +65,12 @@ SaslProtocol::SaslProtocol(const std::string & cluster_name,
 
 SaslProtocol::~SaslProtocol()
 {
-  std::lock_guard<std::mutex> state_lock(sasl_state_lock_);
-  event_handlers_->call("SASL End", cluster_name_.c_str(), 0);
+  assert(state_ != kNegotiate);
 }
 
 void SaslProtocol::SetEventHandlers(std::shared_ptr<LibhdfsEvents> event_handlers) {
   std::lock_guard<std::mutex> state_lock(sasl_state_lock_);
   event_handlers_ = event_handlers;
-  event_handlers_->call("SASL Start", cluster_name_.c_str(), 0);
 } // SetEventHandlers() method
 
 void SaslProtocol::Authenticate(std::function<void(const Status & status, const AuthInfo new_auth_info)> callback)
@@ -81,6 +79,7 @@ void SaslProtocol::Authenticate(std::function<void(const Status & status, const
 
   callback_ = callback;
   state_ = kNegotiate;
+  event_handlers_->call("SASL Start", cluster_name_.c_str(), 0);
 
   std::shared_ptr<RpcSaslProto> req_msg = std::make_shared<RpcSaslProto>();
   req_msg->set_state(RpcSaslProto_SaslState_NEGOTIATE);
@@ -353,6 +352,8 @@ bool SaslProtocol::SendSaslMessage(RpcSaslProto & message)
 bool SaslProtocol::AuthComplete(const Status & status, const AuthInfo & auth_info)
 {
   assert(lock_held(sasl_state_lock_));  // Must be holding lock before calling
+  state_ = kComplete;
+  event_handlers_->call("SASL End", cluster_name_.c_str(), 0);
 
   // RpcConnection might have been freed when we weren't looking.  Lock it
   //   to make sure it's there long enough for us

http://git-wip-us.apache.org/repos/asf/hadoop/blob/356fd221/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.h
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.h b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.h
index 3816cf9..a46ae08 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.h
+++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.h
@@ -56,7 +56,6 @@ private:
   enum State {
     kUnstarted,
     kNegotiate,
-    kAuthenticate,
     kComplete
   };
 


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org