You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2017/07/24 11:35:34 UTC

directory-kerby git commit: DIRKRB-636 - NPE in GssInitCred when a tgt is obtained via JAAS

Repository: directory-kerby
Updated Branches:
  refs/heads/trunk 7a33acebb -> 158a6a1c2


DIRKRB-636 - NPE in GssInitCred when a tgt is obtained via JAAS


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/158a6a1c
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/158a6a1c
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/158a6a1c

Branch: refs/heads/trunk
Commit: 158a6a1c294fe4904277aa592a677082aab0cf74
Parents: 7a33ace
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Mon Jul 24 12:34:48 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Mon Jul 24 12:34:48 2017 +0100

----------------------------------------------------------------------
 .../kerberos/kerb/integration/test/KerbyGssAppTest.java      | 1 -
 .../org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java | 8 ++++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/158a6a1c/kerby-kerb/integration-test/src/test/java/org/apache/kerby/kerberos/kerb/integration/test/KerbyGssAppTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/integration-test/src/test/java/org/apache/kerby/kerberos/kerb/integration/test/KerbyGssAppTest.java b/kerby-kerb/integration-test/src/test/java/org/apache/kerby/kerberos/kerb/integration/test/KerbyGssAppTest.java
index ef5be9f..2e01975 100644
--- a/kerby-kerb/integration-test/src/test/java/org/apache/kerby/kerberos/kerb/integration/test/KerbyGssAppTest.java
+++ b/kerby-kerb/integration-test/src/test/java/org/apache/kerby/kerberos/kerb/integration/test/KerbyGssAppTest.java
@@ -41,7 +41,6 @@ public class KerbyGssAppTest extends GssAppTest {
     }
 
     @Test
-    @org.junit.Ignore
     public void testJAAS() throws Exception {
         super.testJAAS();
     }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/158a6a1c/kerby-kerb/kerb-gssapi/src/main/java/org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-gssapi/src/main/java/org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java b/kerby-kerb/kerb-gssapi/src/main/java/org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java
index 0b2516d..fd04251 100644
--- a/kerby-kerb/kerb-gssapi/src/main/java/org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java
+++ b/kerby-kerb/kerb-gssapi/src/main/java/org/apache/kerby/kerberos/kerb/gss/impl/GssInitCred.java
@@ -20,6 +20,8 @@
 package org.apache.kerby.kerberos.kerb.gss.impl;
 
 import org.ietf.jgss.GSSException;
+import org.ietf.jgss.GSSName;
+
 import sun.security.jgss.GSSCaller;
 
 import javax.security.auth.kerberos.KerberosTicket;
@@ -35,6 +37,12 @@ public final class GssInitCred extends GssCredElement {
     }
 
     public static GssInitCred getInstance(GSSCaller caller, GssNameElement name, int lifeTime) throws GSSException {
+        if (name == null) {
+            KerberosTicket ticket = CredUtils.getKerberosTicketFromContext(caller, null, null);
+            GssNameElement clientName = GssNameElement.getInstance(ticket.getClient().getName(), GSSName.NT_USER_NAME);
+            return new GssInitCred(caller, clientName, ticket, lifeTime);
+        }
+
         KerberosTicket ticket = CredUtils.getKerberosTicketFromContext(caller, name.getPrincipalName().getName(), null);
         return new GssInitCred(caller, name, ticket, lifeTime);
     }