You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2020/09/04 16:11:40 UTC

[tinkerpop] 01/01: Merge pull request #1290 from apache/TINKERPOP-1641

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 94e01f62345e156f8cc727c7084a0398d243a5c8
Merge: f792020 d56228e
Author: stephen mallette <sp...@users.noreply.github.com>
AuthorDate: Fri Sep 4 12:11:25 2020 -0400

    Merge pull request #1290 from apache/TINKERPOP-1641
    
    TINKERPOP-1641 Kerberos support for python

 .travis.yml                                        |   1 +
 CHANGELOG.asciidoc                                 |   3 +
 docker/Dockerfile                                  |   4 +-
 docker/gremlin-server.sh                           |   4 +-
 docker/gremlin-server/Dockerfile.template          |   2 +-
 docker/gremlin-server/docker-entrypoint.sh         |  63 ++++++++++++-
 .../gremlin-server/gremlin-console-jaas.conf       |  18 +---
 .../gremlin-server-integration-krb5.yaml           |  66 ++++++++++++++
 docker/gremlin-server/krb5.conf                    |  29 ++++++
 .../dev/developer/development-environment.asciidoc |  17 ++--
 docs/src/reference/gremlin-applications.asciidoc   |  39 +++++---
 docs/src/reference/gremlin-variants.asciidoc       |  31 ++++++-
 gremlin-dotnet/test/pom.xml                        |  18 ++--
 gremlin-javascript/pom.xml                         |   5 +
 gremlin-python/pom.xml                             |   9 +-
 .../main/python/gremlin_python/driver/client.py    |   5 +-
 .../driver/driver_remote_connection.py             |   7 +-
 .../main/python/gremlin_python/driver/protocol.py  | 101 ++++++++++++++++++---
 gremlin-python/src/main/python/setup.py            |   3 +
 gremlin-python/src/main/python/tests/conftest.py   |  57 +++++++++---
 .../src/main/python/tests/driver/test_client.py    |  12 +--
 .../tests/driver/test_driver_remote_connection.py  |   9 +-
 .../python/tests/structure/io/test_graphsonV2d0.py |  12 +--
 gremlin-server/pom.xml                             |   7 --
 .../gremlin/server/auth/Krb5Authenticator.java     |   4 +-
 .../server/op/traversal/TraversalOpProcessor.java  |   7 ++
 .../server/GremlinServerAuditLogIntegrateTest.java |  66 +++++++++++---
 .../server/GremlinServerAuthKrb5IntegrateTest.java |  32 ++++---
 .../src/test/scripts/test-server-start.groovy      |  37 +++++++-
 .../src/test/scripts/test-server-stop.groovy       |   8 ++
 gremlin-test/pom.xml                               |  23 +++++
 .../tinkerpop/gremlin/server/KdcFixture.java       |  56 ++++++++----
 neo4j-gremlin/pom.xml                              |   7 ++
 33 files changed, 608 insertions(+), 154 deletions(-)

diff --cc docs/src/reference/gremlin-variants.asciidoc
index 24cabd1,fc26346..326c5ca
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@@ -649,9 -642,9 +649,10 @@@ To install Gremlin-Python, use Python'
  [source,bash]
  ----
  pip install gremlinpython
+ pip install gremlinpython[kerberos]     # Optional, not available on Microsoft Windows
  ----
  
 +[[gremlin-python-connecting]]
  === Connecting
  
  The pattern for connecting is described in <<connecting-gremlin,Connecting Gremlin>> and it basically distills down to
@@@ -750,10 -770,8 +778,11 @@@ can be passed to the `Client` or `Drive
  |max_workers |Maximum number of worker threads. |Number of CPUs * 5
  |message_serializer |The message serializer implementation.|`gremlin_python.driver.serializer.GraphSONMessageSerializer`
  |password |The password to submit on requests that require authentication. |""
 +|pool_size |The number of connections used by the pool. |4
 +|protocol_factory |A callable that returns an instance of `AbstractBaseProtocol`. |`gremlin_python.driver.protocol.GremlinServerWSProtocol`
 +|transport_factory |A callable that returns an instance of `AbstractBaseTransport`. |`gremlin_python.driver.tornado.transport.TornadoTransport`
  |username |The username to submit on requests that require authentication. |""
+ |kerberized_service |the first part of the principal name configured for the gremlin service|"""
  |session | A unique string-based identifier (typically a UUID) to enable a <<sessions,session-based connection>>. This is not a valid configuration for `DriverRemoteConnection`. |None
  |=========================================================