Merge branch 'STORM-2898' of https://github.com/revans2/incubator-storm into STORM-2898
STORM-2898: Support for WorkerToken authentication This closes #2531 Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/a715e9a5 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/a715e9a5 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/a715e9a5 Branch: refs/heads/master Commit: a715e9a5c20299a54a985baa7916031a80c3a09a Parents: ec537fd 9566a88 Author: Robert Evans <ev...@yahoo-inc.com> Authored: Thu Feb 8 20:20:08 2018 -0600 Committer: Robert Evans <ev...@yahoo-inc.com> Committed: Thu Feb 8 20:20:08 2018 -0600 ---------------------------------------------------------------------- storm-client/pom.xml | 2 +- .../src/jvm/org/apache/storm/Config.java | 8 + .../storm/cluster/ClusterStateContext.java | 22 +- .../org/apache/storm/cluster/ClusterUtils.java | 58 +- .../org/apache/storm/cluster/DaemonType.java | 90 ++- .../storm/cluster/IStormClusterState.java | 67 +- .../cluster/PaceMakerStateStorageFactory.java | 7 +- .../storm/cluster/StateStorageFactory.java | 6 +- .../storm/cluster/StormClusterStateImpl.java | 189 ++++- .../apache/storm/cluster/ZKStateStorage.java | 4 +- .../storm/cluster/ZKStateStorageFactory.java | 4 +- .../org/apache/storm/daemon/worker/Worker.java | 10 +- .../jvm/org/apache/storm/executor/Executor.java | 4 +- .../storm/generated/PrivateWorkerKey.java | 615 ++++++++++++++++ .../org/apache/storm/generated/WorkerToken.java | 638 +++++++++++++++++ .../apache/storm/generated/WorkerTokenInfo.java | 701 +++++++++++++++++++ .../storm/generated/WorkerTokenServiceType.java | 62 ++ .../auth/AbstractSaslClientCallbackHandler.java | 76 -- .../auth/AbstractSaslServerCallbackHandler.java | 94 --- .../apache/storm/security/auth/AuthUtils.java | 164 ++++- .../storm/security/auth/ITransportPlugin.java | 12 +- .../apache/storm/security/auth/ReqContext.java | 11 + .../security/auth/SaslTransportPlugin.java | 187 ----- .../security/auth/SimpleTransportPlugin.java | 4 +- .../storm/security/auth/ThriftClient.java | 2 +- .../security/auth/ThriftConnectionType.java | 81 ++- .../storm/security/auth/ThriftServer.java | 53 +- .../auth/digest/ClientCallbackHandler.java | 58 -- .../auth/digest/DigestSaslTransportPlugin.java | 60 +- .../auth/digest/JassPasswordProvider.java | 85 +++ .../auth/digest/ServerCallbackHandler.java | 85 --- .../kerberos/KerberosSaslTransportPlugin.java | 73 +- .../auth/kerberos/ServerCallbackHandler.java | 86 +-- .../auth/plain/PlainClientCallbackHandler.java | 16 +- .../auth/plain/PlainSaslTransportPlugin.java | 18 +- .../auth/plain/PlainServerCallbackHandler.java | 55 -- .../security/auth/plain/SaslPlainServer.java | 2 + .../security/auth/sasl/PasswordProvider.java | 48 ++ .../security/auth/sasl/SaslTransportPlugin.java | 187 +++++ .../sasl/SimpleSaslClientCallbackHandler.java | 77 ++ .../sasl/SimpleSaslServerCallbackHandler.java | 189 +++++ .../auth/workertoken/WorkerTokenAuthorizer.java | 139 ++++ .../WorkerTokenClientCallbackHandler.java | 65 ++ .../auth/workertoken/WorkerTokenSigner.java | 63 ++ .../org/apache/storm/utils/ObjectReader.java | 12 + .../src/jvm/org/apache/storm/utils/Utils.java | 39 +- storm-client/src/py/storm/ttypes.py | 320 +++++++++ storm-client/src/storm.thrift | 41 +- .../apache/storm/cluster/DaemonTypeTest.java | 78 +++ .../cluster/StormClusterStateImplTest.java | 18 +- .../security/auth/SaslTransportPluginTest.java | 1 + .../org/apache/storm/command/AdminCommands.java | 24 +- .../org/apache/storm/command/Heartbeats.java | 2 +- .../test/clj/org/apache/storm/cluster_test.clj | 10 +- .../test/clj/org/apache/storm/nimbus_test.clj | 47 +- .../apache/storm/security/auth/auth_test.clj | 474 ------------- .../security/auth/jaas_digest_bad_password.conf | 31 - .../auth/jaas_digest_missing_client.conf | 23 - .../security/auth/jaas_digest_unknown_user.conf | 31 - .../storm/security/auth/nimbus_auth_test.clj | 5 +- storm-server/pom.xml | 2 +- .../java/org/apache/storm/DaemonConfig.java | 6 + .../java/org/apache/storm/LocalCluster.java | 7 +- .../src/main/java/org/apache/storm/Testing.java | 6 +- .../org/apache/storm/daemon/nimbus/Nimbus.java | 76 +- .../storm/daemon/supervisor/Supervisor.java | 24 +- .../daemon/supervisor/SupervisorUtils.java | 7 - .../auth/workertoken/WorkerTokenManager.java | 126 ++++ .../apache/storm/security/auth/AuthTest.java | 637 +++++++++++++++++ .../auth/workertoken/WorkerTokenTest.java | 159 +++++ .../src/test/resources/jaas_digest.conf | 30 + .../resources/jaas_digest_bad_password.conf | 31 + .../resources/jaas_digest_missing_client.conf | 23 + .../resources/jaas_digest_unknown_user.conf | 31 + 74 files changed, 5317 insertions(+), 1481 deletions(-) ----------------------------------------------------------------------