You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by rd...@apache.org on 2017/01/23 19:36:36 UTC
[1/8] tinkerpop git commit: TINKERPOP-1610 Deprecated Groovy test
suites [Forced Update!]
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-1602 1633bd945 -> 705c93412 (forced update)
TINKERPOP-1610 Deprecated Groovy test suites
Graph Providers no longer need to implement these going forward.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/168d5b37
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/168d5b37
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/168d5b37
Branch: refs/heads/TINKERPOP-1602
Commit: 168d5b37e97b15afc1c9c599035f879e92d6c1c1
Parents: 97cc07d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Jan 20 14:59:25 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Jan 20 14:59:25 2017 -0500
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../upgrade/release-3.2.x-incubating.asciidoc | 17 +++++++++++++++--
.../tinkerpop/gremlin/structure/Graph.java | 20 ++++++++++++++++++++
.../groovy/GroovyEnvironmentIntegrateSuite.java | 2 ++
.../gremlin/groovy/GroovyEnvironmentSuite.java | 2 ++
.../process/GroovyProcessComputerSuite.java | 2 ++
.../process/GroovyProcessStandardSuite.java | 2 ++
7 files changed, 44 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 4f3f9ce..21486e9 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -27,6 +27,7 @@ TinkerPop 3.2.4 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* SASL negotiation supports both a byte array and Base64 encoded bytes as a string for authentication to Gremlin Server.
+* Deprecated all test suites in `gremlin-groovy-test` - Graph Providers no longer need to implement these.
* Deprecated `TinkerIoRegistry` replacing it with the more consistently named `TinkerIoRegistryV1d0`.
* Made error messaging more consistent during result iteration timeouts in Gremlin Server.
* `PathRetractionStrategy` does not add a `NoOpBarrierStep` to the end of local children as its wasted computation in 99% of traversals.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index b478b96..7b5d638 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -199,8 +199,8 @@ multi-properties have more flexibility in describing their graph capabilities.
See: link:https://issues.apache.org/jira/browse/TINKERPOP-919[TINKERPOP-919]
-Deprecated Performance OptIn
-++++++++++++++++++++++++++++
+Deprecated OptIn
+++++++++++++++++
In 3.2.1, all `junit-benchmark` performance tests were deprecated. At that time, the `OptIn` representations of these
tests should have been deprecated as well, but they were not. That omission has been remedied now. Specifically, the
@@ -210,6 +210,19 @@ following fields were deprecated:
* `OptIn.SUITE_PROCESS_PERFORMANCE`
* `OptIn.SUITE_STRUCTURE_PERFORMANCE`
+As of 3.2.4, the following test suites were also deprecated:
+
+* `OptIn.SUITE_GROOVY_PROCESS_STANDARD`
+* `OptIn.SUITE_GROOVY_PROCESS_COMPUTER`
+* `OptIn.SUITE_GROOVY_ENVIRONMENT`
+* `OptIn.SUITE_GROOVY_ENVIRONMENT_INTEGRATE`
+
+Future testing of `gremlin-groovy` (and language variants in general) will be handled differently and will not require
+a Graph Provider to validate its operations with it. Graph Providers may now choose to remove these tests from their
+test suites, which should reduce the testing burden.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-1610[TINKERPOP-1610]
+
Deprecated getInstance()
++++++++++++++++++++++++
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
index 255fbca..1027e9b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
@@ -1226,9 +1226,29 @@ public interface Graph extends AutoCloseable, Host {
*/
@Deprecated
public static String SUITE_PROCESS_PERFORMANCE = "org.apache.tinkerpop.gremlin.process.ProcessPerformanceSuite";
+
+ /**
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
+ */
+ @Deprecated
public static String SUITE_GROOVY_PROCESS_STANDARD = "org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite";
+
+ /**
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
+ */
+ @Deprecated
public static String SUITE_GROOVY_PROCESS_COMPUTER = "org.apache.tinkerpop.gremlin.process.GroovyProcessComputerSuite";
+
+ /**
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
+ */
+ @Deprecated
public static String SUITE_GROOVY_ENVIRONMENT = "org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentSuite";
+
+ /**
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
+ */
+ @Deprecated
public static String SUITE_GROOVY_ENVIRONMENT_INTEGRATE = "org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentIntegrateSuite";
/**
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentIntegrateSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentIntegrateSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentIntegrateSuite.java
index b6cd29c..ecd481f 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentIntegrateSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentIntegrateSuite.java
@@ -46,7 +46,9 @@ import java.util.stream.Stream;
* For more information on the usage of this suite, please see {@link StructureStandardSuite}.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
*/
+@Deprecated
public class GroovyEnvironmentIntegrateSuite extends AbstractGremlinSuite {
/**
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentSuite.java
index be89f65..8a4e138 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentSuite.java
@@ -47,7 +47,9 @@ import org.junit.runners.model.RunnerBuilder;
* For more information on the usage of this suite, please see {@link StructureStandardSuite}.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
*/
+@Deprecated
public class GroovyEnvironmentSuite extends AbstractGremlinSuite {
/**
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
index e411c1e..d408da6 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessComputerSuite.java
@@ -97,7 +97,9 @@ import org.junit.runners.model.RunnerBuilder;
* For more information on the usage of this suite, please see {@link StructureStandardSuite}.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
*/
+@Deprecated
public class GroovyProcessComputerSuite extends ProcessComputerSuite {
/**
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/168d5b37/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
index edd06f3..45aea91 100644
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
+++ b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/process/GroovyProcessStandardSuite.java
@@ -94,7 +94,9 @@ import org.junit.runners.model.RunnerBuilder;
* For more information on the usage of this suite, please see {@link StructureStandardSuite}.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
+ * @deprecated As of release 3.2.4, not replaced as a test suite that Graph Providers need to implement.
*/
+@Deprecated
public class GroovyProcessStandardSuite extends ProcessStandardSuite {
/**
[2/8] tinkerpop git commit: Fixed and simplified 'language not
supported' formatting
Posted by rd...@apache.org.
Fixed and simplified 'language not supported' formatting
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f84f454e
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f84f454e
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f84f454e
Branch: refs/heads/TINKERPOP-1602
Commit: f84f454ec456ec0d3ad39fc01c0d71b1fa217d4b
Parents: 62785dc
Author: Joshua Shinavier <jo...@fortytwo.net>
Authored: Fri Jan 20 22:24:29 2017 -0800
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jan 23 07:32:23 2017 -0500
----------------------------------------------------------------------
.../tinkerpop/gremlin/groovy/engine/ScriptEngines.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f84f454e/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/ScriptEngines.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/ScriptEngines.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/ScriptEngines.java
index 6911419..7dcfc5c 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/ScriptEngines.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/ScriptEngines.java
@@ -110,8 +110,7 @@ public class ScriptEngines implements AutoCloseable {
* Evaluate a script with {@code Bindings} for a particular language.
*/
public Object eval(final String script, final Bindings bindings, final String language) throws ScriptException {
- if (!scriptEngines.containsKey(language))
- throw new IllegalArgumentException(String.format("Language [%s] not supported", language));
+ checkLanguageIsSupported(language);
awaitControlOp();
@@ -126,8 +125,7 @@ public class ScriptEngines implements AutoCloseable {
*/
public Object eval(final Reader reader, final Bindings bindings, final String language)
throws ScriptException {
- if (!scriptEngines.containsKey(language))
- throw new IllegalArgumentException("Language [%s] not supported");
+ checkLanguageIsSupported(language);
awaitControlOp();
@@ -454,4 +452,10 @@ public class ScriptEngines implements AutoCloseable {
all.putAll(bindings);
return all;
}
+
+ private void checkLanguageIsSupported(final String language) {
+ if (!scriptEngines.containsKey(language)) {
+ throw new IllegalArgumentException(String.format("Language [%s] not supported", language));
+ }
+ }
}
[5/8] tinkerpop git commit: Support SSL client auth
Posted by rd...@apache.org.
Support SSL client auth
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e120e9f7
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e120e9f7
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e120e9f7
Branch: refs/heads/TINKERPOP-1602
Commit: e120e9f76982941bdcb1bac66c038d492c3609aa
Parents: fe5f557
Author: Robert Dale <ro...@gmail.com>
Authored: Tue Jan 17 14:24:00 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Mon Jan 23 14:36:18 2017 -0500
----------------------------------------------------------------------
.../apache/tinkerpop/gremlin/server/AbstractChannelizer.java | 4 +++-
.../java/org/apache/tinkerpop/gremlin/server/Settings.java | 6 ++++++
2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e120e9f7/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
index 57c6994..d28fd4f 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java
@@ -242,8 +242,10 @@ public abstract class AbstractChannelizer extends ChannelInitializer<SocketChann
builder = SslContextBuilder.forServer(keyCertChainFile, keyFile, sslSettings.keyPassword)
.trustManager(trustCertChainFile);
}
+
+
- builder.sslProvider(provider);
+ builder.clientAuth(sslSettings.needClientAuth).sslProvider(provider);
try {
return builder.build();
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e120e9f7/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
index 97e2875..a3b9545 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/Settings.java
@@ -18,6 +18,7 @@
*/
package org.apache.tinkerpop.gremlin.server;
+import io.netty.handler.ssl.ClientAuth;
import io.netty.handler.ssl.SslContext;
import org.apache.tinkerpop.gremlin.driver.MessageSerializer;
import org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin;
@@ -420,6 +421,11 @@ public class Settings {
* contain an X.509 certificate chain in PEM format. {@code null} uses the system default.
*/
public String trustCertChainFile = null;
+
+ /**
+ * Require client certificate authentication
+ */
+ public ClientAuth needClientAuth = ClientAuth.NONE;
private SslContext sslContext;
[8/8] tinkerpop git commit: added tests
Posted by rd...@apache.org.
added tests
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/705c9341
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/705c9341
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/705c9341
Branch: refs/heads/TINKERPOP-1602
Commit: 705c934123830c08b25b1682a028bd0218618829
Parents: b812a2d
Author: Robert Dale <ro...@gmail.com>
Authored: Mon Jan 23 14:27:37 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Mon Jan 23 14:36:19 2017 -0500
----------------------------------------------------------------------
.../server/GremlinServerIntegrateTest.java | 87 +++++++++++++++++++-
gremlin-server/src/test/resources/client.crt | 40 +++++++++
.../src/test/resources/client.key.pk8 | 47 +++++++++++
gremlin-server/src/test/resources/server.crt | 41 +++++++++
.../src/test/resources/server.key.pk8 | 47 +++++++++++
5 files changed, 261 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/705c9341/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
index 1743e89..6e6d1ff 100644
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
+++ b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.tinkerpop.gremlin.server;
+import io.netty.handler.ssl.ClientAuth;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.SslProvider;
@@ -105,7 +106,13 @@ import static org.junit.Assert.assertEquals;
*/
public class GremlinServerIntegrateTest extends AbstractGremlinServerIntegrationTest {
- private Log4jRecordingAppender recordingAppender = null;
+ private static final String SERVER_KEY = "src/test/resources/server.key.pk8";
+ private static final String SERVER_CRT = "src/test/resources/server.crt";
+ private static final String KEY_PASS = "changeit";
+ private static final String CLIENT_KEY = "src/test/resources/client.key.pk8";
+ private static final String CLIENT_CRT = "src/test/resources/client.crt";
+
+ private Log4jRecordingAppender recordingAppender = null;
private final Supplier<Graph> graphGetter = () -> server.getServerGremlinExecutor().getGraphManager().getGraphs().get("graph");
private final Configuration conf = new BaseConfiguration() {{
setProperty(Graph.GRAPH, RemoteGraph.class.getName());
@@ -165,6 +172,36 @@ public class GremlinServerIntegrateTest extends AbstractGremlinServerIntegration
settings.ssl.enabled = true;
settings.ssl.overrideSslContext(createServerSslContext());
break;
+ case "shouldEnableSslAndClientCertificateAuth":
+ settings.ssl = new Settings.SslSettings();
+ settings.ssl.enabled = true;
+ settings.ssl.needClientAuth = ClientAuth.REQUIRE;
+ settings.ssl.keyCertChainFile = SERVER_CRT;
+ settings.ssl.keyFile = SERVER_KEY;
+ settings.ssl.keyPassword =KEY_PASS;
+ // Trust the client
+ settings.ssl.trustCertChainFile = CLIENT_CRT;
+ break;
+ case "shouldEnableSslAndClientCertificateAuthAndFailWithoutCert":
+ settings.ssl = new Settings.SslSettings();
+ settings.ssl.enabled = true;
+ settings.ssl.needClientAuth = ClientAuth.REQUIRE;
+ settings.ssl.keyCertChainFile = SERVER_CRT;
+ settings.ssl.keyFile = SERVER_KEY;
+ settings.ssl.keyPassword =KEY_PASS;
+ // Trust the client
+ settings.ssl.trustCertChainFile = CLIENT_CRT;
+ break;
+ case "shouldEnableSslAndClientCertificateAuthAndFailWithoutTrustedClientCert":
+ settings.ssl = new Settings.SslSettings();
+ settings.ssl.enabled = true;
+ settings.ssl.needClientAuth = ClientAuth.REQUIRE;
+ settings.ssl.keyCertChainFile = SERVER_CRT;
+ settings.ssl.keyFile = SERVER_KEY;
+ settings.ssl.keyPassword =KEY_PASS;
+ // Trust ONLY the server cert
+ settings.ssl.trustCertChainFile = SERVER_CRT;
+ break;
case "shouldStartWithDefaultSettings":
// test with defaults exception for port because we want to keep testing off of 8182
final Settings defaultSettings = new Settings();
@@ -373,7 +410,55 @@ public class GremlinServerIntegrateTest extends AbstractGremlinServerIntegration
cluster.close();
}
}
+
+ @Test
+ public void shouldEnableSslAndClientCertificateAuth() {
+ final Cluster cluster = TestClientFactory.build().enableSsl(true)
+ .keyCertChainFile(CLIENT_CRT).keyFile(CLIENT_KEY)
+ .keyPassword(KEY_PASS).trustCertificateChainFile(SERVER_CRT).create();
+ final Client client = cluster.connect();
+
+ try {
+ assertEquals("test", client.submit("'test'").one().getString());
+ } finally {
+ cluster.close();
+ }
+ }
+
+ @Test
+ public void shouldEnableSslAndClientCertificateAuthAndFailWithoutCert() {
+ final Cluster cluster = TestClientFactory.build().enableSsl(true).create();
+ final Client client = cluster.connect();
+
+ try {
+ client.submit("'test'").one();
+ fail("Should throw exception because ssl client auth is enabled on the server but client does not have a cert");
+ } catch(Exception x) {
+ final Throwable root = ExceptionUtils.getRootCause(x);
+ assertThat(root, instanceOf(TimeoutException.class));
+ } finally {
+ cluster.close();
+ }
+ }
+
+ @Test
+ public void shouldEnableSslAndClientCertificateAuthAndFailWithoutTrustedClientCert() {
+ final Cluster cluster = TestClientFactory.build().enableSsl(true)
+ .keyCertChainFile(CLIENT_CRT).keyFile(CLIENT_KEY)
+ .keyPassword(KEY_PASS).trustCertificateChainFile(SERVER_CRT).create();
+ final Client client = cluster.connect();
+ try {
+ client.submit("'test'").one();
+ fail("Should throw exception because ssl client auth is enabled on the server but does not trust client's cert");
+ } catch(Exception x) {
+ final Throwable root = ExceptionUtils.getRootCause(x);
+ assertThat(root, instanceOf(TimeoutException.class));
+ } finally {
+ cluster.close();
+ }
+ }
+
@Test
public void shouldRespectHighWaterMarkSettingAndSucceed() throws Exception {
// the highwatermark should get exceeded on the server and thus pause the writes, but have no problem catching
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/705c9341/gremlin-server/src/test/resources/client.crt
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/client.crt b/gremlin-server/src/test/resources/client.crt
new file mode 100644
index 0000000..297335b
--- /dev/null
+++ b/gremlin-server/src/test/resources/client.crt
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+-----BEGIN CERTIFICATE-----
+MIIDajCCAlICCQCG0QGj7JgLvTANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJV
+UzELMAkGA1UECAwCTkMxEDAOBgNVBAcMB1JhbGVpZ2gxEzARBgNVBAoMCkNsaWVu
+dCBBcHAxDzANBgNVBAMMBmNsaWVudDEiMCAGCSqGSIb3DQEJARYTZ3JlbWxpbi11
+c2VyQGNsaWVudDAgFw0xNzAxMjMxODQzMjNaGA8yMTE2MTIzMDE4NDMyM1owdjEL
+MAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5DMRAwDgYDVQQHDAdSYWxlaWdoMRMwEQYD
+VQQKDApDbGllbnQgQXBwMQ8wDQYDVQQDDAZjbGllbnQxIjAgBgkqhkiG9w0BCQEW
+E2dyZW1saW4tdXNlckBjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQDU7U5tNN+0HCKZX31ZKMZwAUI7qGCpYXd05z5SKRWesNsrEeCLnu1DgYhL
+j+hSi2LI+RwTF45DH8zEPIzQ6HEMzuCd2uy7bdDrXv6H/tFUx9Iw0ea5oXGX1qNa
+tzjPTSmw22VXbSo+B5EG0coC5oDy9SpYb2HxeDmegI2OZL6ROFPKbCUTzyJfqTpy
+1mdgnnKTVuQdtWvj/sXDAZzRqtFHwBkHezKCOC4yLNi5+pI01+0V7FbtyCqH7iPS
+VS9VKsLuhPkzAkRh/x9CxaSrwicyzyB3Kyfg7kjmtdrUOrfgxdw+MMPog3JrGoLr
+tfvc9LUh0ImpLPngyWhwc5iNGwmLAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAEi0
+IVUIbDuirNivJXXXT5eFUgfAx5iPjbR1XBjCuHO061d0B8itU7cidKs0y5mDoauy
+vuywNBih6FAsHoYLrqI1gt65fybGxq3wlhnqdLH7GDeHw65e2PB2x+M4NtQlkPTq
+dUgUtQzAo8Hc4DNR5BrvCtLjqT7Knq8QHtGLys8eoDur09894+6WeUjrgUTp88Jl
+uqrZqRHvdMW7sge73cpU1dsDJW0rJqCLZ+qA2V+ZRRCQY1oHuHeK6Dkokabaq3rr
+WrpxfppIPCusJx4nnIwu4d0gZwAKwabOS8lJPjV0frRkA0BuAEpMIbOwZ10Tw7ZM
+2HzamAOiiks4NFDSs94=
+-----END CERTIFICATE-----
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/705c9341/gremlin-server/src/test/resources/client.key.pk8
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/client.key.pk8 b/gremlin-server/src/test/resources/client.key.pk8
new file mode 100644
index 0000000..213cce3
--- /dev/null
+++ b/gremlin-server/src/test/resources/client.key.pk8
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+-----BEGIN ENCRYPTED PRIVATE KEY-----
+MIIE6TAbBgkqhkiG9w0BBQMwDgQIuH3rVXHniaECAggABIIEyDzHWny/fttnN6ze
+Q/iNE1z72HBg2anTK3gHdu8W3F9W6BSLhuKaUumxcxX6IfkZmxinqwUxSNrRBswr
+s71EZ7QmX2eaeiWxlo6zP0I898fzqvSBWk6NhntV1SVG++/CMeIMZARs85OxcNGN
+fKEXtBUf5jlo+hy9bVgQRO2M1vHzek/deOHyj1eXwEi2Oxcw1ly3o9lRayIFJFou
+0olp58h8pD5qOsSfIrNG6bHBg00eP1ILE1FUPCdOfDrQEjiKKVqllCXdsUz/KjBY
+0iGYMw3aT2LELnibTy0alFswGaDBRqlzGSIGrejdGTOBj7NmeiW2yOY+aUjCkdXw
+ll862oItlJZO/B16EGgI+czdXZgcL5YRGVOu6loOlGxU60Y681Acjn9wdlxxOqXa
+te7khLGX6qm3ceMJ2DQbMO8JS6UBsGjZqq/ictwfGxNDiTeiWmoyrQvO3qkaqsEt
+iLBJdSsogzxx+hfj+xiBRorf9Gvkk6hDnzeuZl9Voak5qY7RrcmxD8ecdh3g2faO
+VFtxTAxmHJakgGF7fZ7jQoxZJzzRn+rjIhATaEH1/MMME77Z+8rkE74oxFOrizDU
+Eb4AMUV/xgrAtQLGpIFALL7oPk2r1exFgywL40q5/BcXCx65eliXtyoBIc5X+t90
+fTB8lA3K5mT2MXzwMyMPv2n8d8Ta2OjisRHjSue6AqNqifBuniVfSpHP9OUlsKaL
+u3eN8mSuPDhlo7RGG8+B7mSqGDjORR/+BJvwgFreIyurOL22g887uPwjzPXs6lll
+3VFclsrfEqNMP6kBsXlHNAxjT10WoWrF+ONPEyg9PrzTGryTRqW+ptzBqtiQrVag
+/KMee3sdg6i9GN+EGc43DNJzxxlFXvT9kBvOk66tOPEE5963k3ZikjuAX7xBVOvM
+AlqzHHW727fHXqYp0yabWTpr72RuUGQOqPZiMsWd6x65HL2I0WHP9PXTf1vMmnj3
+NgiN1paATl5L8S9Jt8WL8iLskVt2f+CAKJuQfamY5Fg54m/cJzNHV8nAMTTl+0EN
+9vUhvn672wZd9JfB4PMtrIhYFNJElJmmdAwjFrop6goXA/UGgf3M4QNiQetFGxWP
+aJ0tMSdA/ax9nGA5LU6iCwPe51ExrQJAVFw+oE3I8+J1oz1fQOl8zIgyOFwG+bJx
+/Y/JyraEssZ5RLtaGgcm9vZm8Wo8a5TQCbqhoY8x7MwyF7/VpbRZ3bGEUFnWd/yF
+1tCPeZ+q5HN79P3qfZzAcFAU3z3HawXDwQ3XO3Plix04Vjr+QFENeJxhL+3FXtLx
+4nF+Y9Fq6I5x8YQLrPYkIyRz8xWxVBQFZTeNhWx5nYWNcDXgz/S8v3ipY+EPEj9Q
+uOQWNdSJ9XOR+Ju/KSP0151guLkUwpHBCi/CFY4TgD6iFglTyLuZpW2bbim1mmDI
+LSDHwrERQWNmcNznK4PIw227w6EZqUEI0jjkANhXQG6dz1VkaTIZAoEVWHhFNi8S
+gSPkhsWN822QzxZQb+74JoUFBTifP50giaCd6p2HKw8U20FAPyseVIY3IsYatuLU
+8VhfeBQ1GLOOy8/5mRyjL+Gjn/OfNPwps9uuOogx/jGf0JhtjAEY2WNoEEB9DkUv
+AijT0ck1+DM3by4MlA==
+-----END ENCRYPTED PRIVATE KEY-----
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/705c9341/gremlin-server/src/test/resources/server.crt
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/server.crt b/gremlin-server/src/test/resources/server.crt
new file mode 100644
index 0000000..b777e34
--- /dev/null
+++ b/gremlin-server/src/test/resources/server.crt
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+-----BEGIN CERTIFICATE-----
+MIIDrjCCApYCCQCg8hxjInTcQzANBgkqhkiG9w0BAQsFADCBlzELMAkGA1UEBhMC
+VVMxCzAJBgNVBAgMAkNBMRQwEgYDVQQHDAtTYW50YSBDbGFyYTEZMBcGA1UECgwQ
+QXBhY2hlIFRpbmtlclBvcDEQMA4GA1UECwwHR3JlbWxpbjESMBAGA1UEAwwJbG9j
+YWxob3N0MSQwIgYJKoZIhvcNAQkBFhVzcG1hbGxldHRlQGFwYWNoZS5vcmcwIBcN
+MTcwMTIzMTg0MTEwWhgPMjExNjEyMzAxODQxMTBaMIGXMQswCQYDVQQGEwJVUzEL
+MAkGA1UECAwCQ0ExFDASBgNVBAcMC1NhbnRhIENsYXJhMRkwFwYDVQQKDBBBcGFj
+aGUgVGlua2VyUG9wMRAwDgYDVQQLDAdHcmVtbGluMRIwEAYDVQQDDAlsb2NhbGhv
+c3QxJDAiBgkqhkiG9w0BCQEWFXNwbWFsbGV0dGVAYXBhY2hlLm9yZzCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK5l+5DDrSGq1n1vYIMbb95buWlo4u5s
+V8wHNmeFCuqNvGfxermHS88SSy6qvdSXISfe+kj9Jkfn1Pjx4czwcnF/q4Au3Gc6
+T9MiAKJUfb4+MwPKERacFobk6LTreKpzvXymAhhM1ktvvA7/opZ+nENDEoIJK/KS
+CY9vRWeHqI1Q+Rf5Nrqw8eySq/ZhPDlppsu5sQr1ghSsuzXhpYNhq8VBMsysL2Zi
+VF5DFMqg9yhBkxrqo70W/pjo4kQJ/iF/4d/3HHicSCVq3/NCkWMVg0HeOZ1eVaZ/
+D6EXv8cYwyaRmf7SldE7RtdbAU0M+Y0Lmuoi2evls0Oiqf8uxEDXeLUCAwEAATAN
+BgkqhkiG9w0BAQsFAAOCAQEAJFAAUxYeUbf6tAGEKCXISted10TybPW/qCxOXEPN
+TTO+xvnzksbcbzOc2X0N+yYIKtkfiuWgD9UJ4QnLSeEKmouMbkTk0ToYJj7SrviI
+f+9R1IiZMiwz+n0igETkEGOK0Ql26Z4g3kc1IueSD07QOLASTvVLtEyoya7LD4S6
+jk1LnbpbHVmgHY4kmtsg6lVQ1zkqrsDQg9goh8dI5AlNCudpd8zLxzsPbm+Q2+DC
+Wd4A2lKdh3rbY2LYpbVhBj9c6E0laaqgyGC7s37XfmyBp4wYlX/30p6RpCR2rcRW
+SKh5NXN52Xx3WuiP42wm9ZC/de8gaODrW8n44xlEaMPJ3A==
+-----END CERTIFICATE-----
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/705c9341/gremlin-server/src/test/resources/server.key.pk8
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/resources/server.key.pk8 b/gremlin-server/src/test/resources/server.key.pk8
new file mode 100644
index 0000000..9dc6720
--- /dev/null
+++ b/gremlin-server/src/test/resources/server.key.pk8
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+-----BEGIN ENCRYPTED PRIVATE KEY-----
+MIIE6TAbBgkqhkiG9w0BBQMwDgQIJi2M3dPcx+cCAggABIIEyG/0PwTaqm3ekGkn
+8daHjfcqxCpvwOku0pCCgV7AMsrsj4TvMOHOkId+xKVs4AlXV2grPfTQoMrIFFp0
+26hzpZOHEjAe9XbtzVWgphwLVeWOr5ugovyXPxdCqMBrn251y9Yg6csh5pPrsHEp
+RLTZPQPvEVIhA0tRkPPag5BSlj//nH7PnXYRm4VSRg7WQS15ieHsC1xDM9zYni/b
+ffU++twOGvCdvtGd/lqjJj3dPomKynb6Y4cEc73vQ6cQjeXN1W1Nil4QsDZ53H3U
+KvoWuEVYDf1WDFySgHMFgePHXMMWA8ZkgS6rOrV1TDnoZIhG5BSe7aJNJQdVVMub
+NAxZB4C1unIICuAtsP9IEAhevbfNGySi0jbrnun0pTD22Q95HZVycl1YWamrr1Hl
+17TmHQT7zh4GLlXVI3L/FevoswbuR7misyqE3ketNpxdLcHKs82MVLCwbLzuqm60
+tpSm/jrexhNErKU28kdPzWCwruEHdrlOuMSS8N2YgSZxHIjEId8pZED8dsnPvqhe
+CAEa3F68Js9sngeMvThYirpr0wOsSGmGCDrXTmQvTw+q8C+DJLWpjfpKZA4g624f
+E3CUojwOaPrmaEa25eYm0oYDstY8QncG7nBAuljeXWBYfxARYcLI/bLC/M/q+UeS
+gzjQgoacH4r2Y7rwEA0aeYC+9TWn5rPHPWegdc01A2e7OlYKrlu9C1aKZr//GyBM
+lEVRc0u8RL+RVhmp7ftRyATDG9kJR+zDT26hewaEa5atnPKLjf+37hu7a/6GI+2X
+dpWTzmvWal4eEkFuBg2ekl1lCsuuCUBDWyYrlhsWPYTOSKJ/PTuLq7HVqdGB9kEw
+SavnXV5LPOaY4nAzJTdRk9DHdxSwSrjZ5rvMMD1CAbob/GA9t8aYaGcAWtTwMFs4
+sps40mmab3X0LLvTblHtmRCHWswcACbH2DC6H+0awsaZNI80GxSSutKN+2vH3N0C
+6fLwP1VaYm0qPA3pI1vp9Xu5I//6Hzt3aT/R+6KhS+CH3qbJiHNzg1ywdNqgD3Pp
+bJNEiDKWdLd65bvclVVyWHovWIvvEly1TWUsp4YbdrT5asL/VV82fvo4wCttOq96
+msk9OL5vQADJ32D7vnnYadiT2tpJMjNSug7JKHutJ/cJmm8qkqNwFm/BH+w2t7kh
+elbG0f2P7FpPXVMCJPHhmI/+OBECqBHAAWgRRn91GqeGgY+Xy05orL2R/qeNdBbT
+qmrxqm7LesPgo0IqU82quTkiBERaXMu8qUYaYPGVJIskQuWqd/aArhaFmqZhK3bz
+lepJMDAaeaBT/3ULICHdhsSVAhl6iwid40ow8x1cRFoPEljZ9t6fERN1h2ptNyZT
+LRJ4DUXy4RWTHl3+AVyzwcgMpxkxRTzdjguzAjceOHEMm7UNCvSVhFHVBkG6kXXw
+940iYvhkRnn6HRcPbP5xeJp6GX8RoAl42giRO6OGnkhkepOuAcFKJCC2N5OgdKmq
+mlVGEKndriwyzyiPN8noEJksenL1iMSA7HSnM34uCJoEetTBRuv8+721bTdz8dy0
+s/GghsYztugLjho4yivn2fcxw4gMFiSiliyrfbocJnHAubDMZwEu0fpfY+0fBi9+
+e/Odgw8aTlMUKSo+UA==
+-----END ENCRYPTED PRIVATE KEY-----
[6/8] tinkerpop git commit: updated doc for ssl client auth
Posted by rd...@apache.org.
updated doc for ssl client auth
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/18a52d62
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/18a52d62
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/18a52d62
Branch: refs/heads/TINKERPOP-1602
Commit: 18a52d62f271e9db1b2db358928799ae8d04970d
Parents: e120e9f
Author: Robert Dale <ro...@gmail.com>
Authored: Tue Jan 17 14:39:32 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Mon Jan 23 14:36:18 2017 -0500
----------------------------------------------------------------------
docs/src/reference/gremlin-applications.asciidoc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/18a52d62/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index e515ef7..2454581 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -1036,7 +1036,8 @@ The following table describes the various configuration options that Gremlin Ser
|ssl.keyCertChainFile |The X.509 certificate chain file in PEM format. If this value is not present and `ssl.enabled` is `true` a self-signed certificate will be used (not suitable for production). |_none_
|ssl.keyFile |The `PKCS#8` private key file in PEM format. If this value is not present and `ssl.enabled` is `true` a self-signed certificate will be used (not suitable for production). |_none_
|ssl.keyPassword |The password of the `keyFile` if it is password-protected |_none_
-|ssl.trustCertChainFile |Trusted certificates for verifying the remote endpoint's certificate. The file should contain an X.509 certificate chain in PEM format. A system default will be used if this setting is not present. (Not supported) |_none_
+|ssl.needClientAuth | Optional. One of NONE, OPTIONAL, REQUIRE. Enables client certificate authentication at the level specified. Can be used in combination with Authenticator. |_none_
+|ssl.trustCertChainFile | Required when needClientAuth is OPTIONAL or REQUIRE. Trusted certificates for verifying the remote endpoint's certificate. The file should contain an X.509 certificate chain in PEM format. |_none_
|strictTransactionManagement |Set to `true` to require `aliases` to be submitted on every requests, where the `aliases` become the scope of transaction management. |false
|threadPoolBoss |The number of threads available to Gremlin Server for accepting connections. Should always be set to `1`. |1
|threadPoolWorker |The number of threads available to Gremlin Server for processing non-blocking reads and writes. |1
[7/8] tinkerpop git commit: updated docs
Posted by rd...@apache.org.
updated docs
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b812a2d3
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b812a2d3
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b812a2d3
Branch: refs/heads/TINKERPOP-1602
Commit: b812a2d32165cedca493f7dccd1fce6139461700
Parents: 18a52d6
Author: Robert Dale <ro...@gmail.com>
Authored: Wed Jan 18 09:08:19 2017 -0500
Committer: Robert Dale <ro...@gmail.com>
Committed: Mon Jan 23 14:36:19 2017 -0500
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
docs/src/reference/gremlin-applications.asciidoc | 2 +-
docs/src/upgrade/release-3.2.x-incubating.asciidoc | 9 +++++++++
3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b812a2d3/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 9453158..78abcfe 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -100,6 +100,7 @@ TinkerPop 3.2.4 (Release Date: NOT OFFICIALLY RELEASED YET)
* Fixed a severe bug where `GraphComputer` strategies are not being loaded until the second use of the traversal source.
* The root traversal now throws regular `NoSuchElementException` instead of `FastNoSuchElementException`. (*breaking*)
* Added a short sleep to prevent traversal from finishing before it can be interrupted during `TraversalInterruptionComputerTest`.
+* Added support for SSL client authentication
[[release-3-2-3]]
TinkerPop 3.2.3 (Release Date: October 17, 2016)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b812a2d3/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 2454581..5cea36b 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -1036,7 +1036,7 @@ The following table describes the various configuration options that Gremlin Ser
|ssl.keyCertChainFile |The X.509 certificate chain file in PEM format. If this value is not present and `ssl.enabled` is `true` a self-signed certificate will be used (not suitable for production). |_none_
|ssl.keyFile |The `PKCS#8` private key file in PEM format. If this value is not present and `ssl.enabled` is `true` a self-signed certificate will be used (not suitable for production). |_none_
|ssl.keyPassword |The password of the `keyFile` if it is password-protected |_none_
-|ssl.needClientAuth | Optional. One of NONE, OPTIONAL, REQUIRE. Enables client certificate authentication at the level specified. Can be used in combination with Authenticator. |_none_
+|ssl.needClientAuth | Optional. One of NONE, OPTIONAL, REQUIRE. Enables client certificate authentication at the enforcement level specified. Can be used in combination with Authenticator. |_none_
|ssl.trustCertChainFile | Required when needClientAuth is OPTIONAL or REQUIRE. Trusted certificates for verifying the remote endpoint's certificate. The file should contain an X.509 certificate chain in PEM format. |_none_
|strictTransactionManagement |Set to `true` to require `aliases` to be submitted on every requests, where the `aliases` become the scope of transaction management. |false
|threadPoolBoss |The number of threads available to Gremlin Server for accepting connections. Should always be set to `1`. |1
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b812a2d3/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index 7b5d638..401d67a 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -141,6 +141,15 @@ removed.
See: link:https://issues.apache.org/jira/browse/TINKERPOP-1562[TINKERPOP-1562]
+
+SSL Client Authentication
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Added new server configuration option `ssl.needClientAuth`.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-1602[TINKERPOP-1602]
+
+
Upgrading for Providers
~~~~~~~~~~~~~~~~~~~~~~~
[4/8] tinkerpop git commit: fix wrong python package name
Posted by rd...@apache.org.
fix wrong python package name
change 'gremlin_python' to 'gremlinpython'
https://pypi.python.org/pypi/gremlinpython/3.2.3
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/fe5f557a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/fe5f557a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/fe5f557a
Branch: refs/heads/TINKERPOP-1602
Commit: fe5f557a79e5464b8b8732107ce129e956274323
Parents: 70cf34b
Author: Ranger Tsao <ca...@gmail.com>
Authored: Tue Jan 24 00:33:21 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Tue Jan 24 00:33:21 2017 +0800
----------------------------------------------------------------------
docs/src/tutorials/gremlin-language-variants/index.asciidoc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fe5f557a/docs/src/tutorials/gremlin-language-variants/index.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/tutorials/gremlin-language-variants/index.asciidoc b/docs/src/tutorials/gremlin-language-variants/index.asciidoc
index abd402b..cb419d5 100644
--- a/docs/src/tutorials/gremlin-language-variants/index.asciidoc
+++ b/docs/src/tutorials/gremlin-language-variants/index.asciidoc
@@ -308,7 +308,7 @@ VM communicates with the JVM.
[source,bash]
----
# sudo easy_install pip
-$ pip install gremlin_python
+$ pip install gremlinpython
----
The Groovy source code below uses Java reflection to generate a Python class that is in 1-to-1 correspondence with
[3/8] tinkerpop git commit: Merge branch 'TINKERPOP-1610' into tp32
Posted by rd...@apache.org.
Merge branch 'TINKERPOP-1610' into tp32
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/70cf34b2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/70cf34b2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/70cf34b2
Branch: refs/heads/TINKERPOP-1602
Commit: 70cf34b2c6f92220e96e9c2e113ac21e0a3eb217
Parents: f84f454 168d5b3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Jan 23 10:05:35 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Jan 23 10:05:35 2017 -0500
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
.../upgrade/release-3.2.x-incubating.asciidoc | 17 +++++++++++++++--
.../tinkerpop/gremlin/structure/Graph.java | 20 ++++++++++++++++++++
.../groovy/GroovyEnvironmentIntegrateSuite.java | 2 ++
.../gremlin/groovy/GroovyEnvironmentSuite.java | 2 ++
.../process/GroovyProcessComputerSuite.java | 2 ++
.../process/GroovyProcessStandardSuite.java | 2 ++
7 files changed, 44 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/70cf34b2/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index fb0f8da,21486e9..9453158
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,12 -26,8 +26,13 @@@ image::https://raw.githubusercontent.co
TinkerPop 3.2.4 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Fixed a bug associated with user-provided maps and `GroupSideEffectStep`.
+* `GroupBiOperator` no longer maintains a detached traversal and thus, no more side-effect related OLAP inconsistencies.
+* Added `ProjectedTraverser` which wraps a traverser with a `List<Object>` of projected data.
+* Fixed an optimization bug in `CollectionBarrierSteps` where the barrier was being consumed on each `addBarrier()`.
+* `OrderGlobalStep` and `SampleGlobalStep` use `ProjectedTraverser` and now can work up to the local star graph in OLAP.
* SASL negotiation supports both a byte array and Base64 encoded bytes as a string for authentication to Gremlin Server.
+ * Deprecated all test suites in `gremlin-groovy-test` - Graph Providers no longer need to implement these.
* Deprecated `TinkerIoRegistry` replacing it with the more consistently named `TinkerIoRegistryV1d0`.
* Made error messaging more consistent during result iteration timeouts in Gremlin Server.
* `PathRetractionStrategy` does not add a `NoOpBarrierStep` to the end of local children as its wasted computation in 99% of traversals.