Hi Kai,

Thanks for the response. I prepared a minimal config that reproduces my problem.

You can fetch the branch/commit from:
https://github.com/vtslab/directory-kerby/commits/MitIssue

This is relative to RC2, but I also tried this on trunk for my actual project.

This config produces the debug and error messages below.

1. For the terminal with the bash + python script
$ klist
Ticket cache: FILE:kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc
Default principal: [email protected]

Valid starting     Expires            Service principal
29-04-17 21:07:39  30-04-17 05:07:39  krbtgt/[email protected]
    renew until 29-04-17 21:07:39

$ . kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/MitIssueTest.sh [15538] 1493491231.917606: Retrieving [email protected] from FILE:/etc/krb5/user/1000/client.keytab (vno 0, enctype 0) with result: 2/Key table file '/etc/krb5/user/1000/client.keytab' not found [15538] 1493491231.917827: Retrieving [email protected] from FILE:/etc/krb5/user/1000/client.keytab (vno 0, enctype 0) with result: 2/Key table file '/etc/krb5/user/1000/client.keytab' not found
kerberos.authGSSClientInit successful
[15538] 1493491231.918185: Getting credentials [email protected] -> test-service/localhost@ using ccache FILE:kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc [15538] 1493491231.918210: Retrieving [email protected] -> test-service/localhost@ from FILE:kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc with result: -1765328243/Matching credential not found (filename: kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc) [15538] 1493491231.918226: Retrying [email protected] -> test-service/[email protected] with result: -1765328243/Matching credential not found (filename: kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc) [15538] 1493491231.918229: Server has referral realm; starting with test-service/[email protected] [15538] 1493491231.918278: Retrieving [email protected] -> krbtgt/[email protected] from FILE:kerby-kerb/kerb-kdc-test/target/tmp/test-tkt.cc with result: 0/Success [15538] 1493491231.918281: Starting with TGT for client realm: [email protected] -> krbtgt/[email protected] [15538] 1493491231.918301: Requesting tickets for test-service/[email protected], referrals on
[15538] 1493491231.918326: Generated subkey for TGS request: aes128-cts/FA30
[15538] 1493491231.918359: etypes requested in TGS request: aes256-cts, aes128-cts, aes256-sha2, aes128-sha2, des3-cbc-sha1, rc4-hmac, camellia128-cts, camellia256-cts [15538] 1493491231.918484: Encoding request body and padata into FAST request
[15538] 1493491231.918541: Sending request (836 bytes) to TEST.COM
[15538] 1493491231.918597: Resolving hostname localhost
[15538] 1493491231.918703: Initiating TCP connection to stream 127.0.0.1:44292
[15538] 1493491231.918777: Sending TCP request to stream 127.0.0.1:44292
[15538] 1493491231.922803: TCP error receiving from stream 127.0.0.1:44292: 104/Connection reset by peer [15538] 1493491231.922812: Terminating TCP connection to stream 127.0.0.1:44292 [15538] 1493491231.922858: Sending initial UDP request to dgram 127.0.0.1:44292 ('First kerberos.authGSSClientStep not successful', GSSError(('Unspecified GSS failure. Minor code may provide more information', 851968), ("Cannot contact any KDC for realm 'TEST.COM'", -1765328228)))

2. For the terminal that runs mvn clean test -Dtest=MitIssueTest
Running org.apache.kerby.kerberos.kerb.server.MitIssueTest
2017-04-29 21:07:39,182 DEBUG [main] backend.AbstractIdentityBackend: initialize called 2017-04-29 21:07:39,195 DEBUG [main] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,195 DEBUG [main] backend.AbstractIdentityBackend: getIdentity failed, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,212 DEBUG [main] backend.AbstractIdentityBackend: addIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,212 DEBUG [main] backend.AbstractIdentityBackend: getIdentity called, principalName = kadmin/[email protected] 2017-04-29 21:07:39,212 DEBUG [main] backend.AbstractIdentityBackend: getIdentity failed, principalName = kadmin/[email protected] 2017-04-29 21:07:39,213 DEBUG [main] backend.AbstractIdentityBackend: addIdentity successful, principalName = kadmin/[email protected] 2017-04-29 21:07:39,216 DEBUG [main] backend.AbstractIdentityBackend: start called 2017-04-29 21:07:39,232 DEBUG [main] backend.AbstractIdentityBackend: addIdentity successful, principalName = test-service/[email protected] 2017-04-29 21:07:39,425 DEBUG [main] backend.AbstractIdentityBackend: addIdentity successful, principalName = [email protected] 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,465 INFO [pool-1-thread-1] request.KdcRequest: Client entry is empty. 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = [email protected] 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = [email protected] 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,465 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,476 DEBUG [pool-1-thread-1] impl.DefaultKdcHandler: Transport or decoding error occurred, disconnecting abnormally
java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
at org.apache.kerby.kerberos.kerb.transport.KrbTcpTransport.receiveMessage(KrbTcpTransport.java:54) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
2017-04-29 21:07:39,477 INFO [main] client.KrbClientBase: Storing the tgt to the credential cache file. 2017-04-29 21:07:39,491 DEBUG [main] backend.AbstractIdentityBackend: getIdentity called, principalName = test-service/[email protected] 2017-04-29 21:07:39,491 DEBUG [main] backend.AbstractIdentityBackend: getIdentity successful, principalName = test-service/[email protected] 2017-04-29 21:07:39,498 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,498 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,498 INFO [pool-1-thread-1] request.KdcRequest: Client entry is empty. 2017-04-29 21:07:39,499 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = test-service/[email protected] 2017-04-29 21:07:39,499 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = test-service/[email protected] 2017-04-29 21:07:39,499 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,499 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,499 INFO [pool-1-thread-1] request.KdcRequest: The preauth data is empty. 2017-04-29 21:07:39,501 INFO [pool-1-thread-1] server.KdcHandler: KRB error occurred while processing request:Additional pre-authentication required 2017-04-29 21:07:39,502 DEBUG [pool-1-thread-1] impl.DefaultKdcHandler: Transport or decoding error occurred, disconnecting abnormally
java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
at org.apache.kerby.kerberos.kerb.transport.KrbTcpTransport.receiveMessage(KrbTcpTransport.java:54) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
2017-04-29 21:07:39,505 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,505 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,505 INFO [pool-1-thread-1] request.KdcRequest: Client entry is empty. 2017-04-29 21:07:39,506 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = test-service/[email protected] 2017-04-29 21:07:39,506 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = test-service/[email protected] 2017-04-29 21:07:39,506 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,506 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:39,510 DEBUG [pool-1-thread-1] impl.DefaultKdcHandler: Transport or decoding error occurred, disconnecting abnormally
java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
at org.apache.kerby.kerberos.kerb.transport.KrbTcpTransport.receiveMessage(KrbTcpTransport.java:54) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
2017-04-29 21:07:55,602 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity called, principalName = krbtgt/[email protected] 2017-04-29 21:07:55,602 DEBUG [pool-1-thread-1] backend.AbstractIdentityBackend: getIdentity successful, principalName = krbtgt/[email protected] 2017-04-29 21:07:55,602 INFO [pool-1-thread-1] request.KdcRequest: Found fast padata and start to process it. 2017-04-29 21:07:55,603 ERROR [pool-1-thread-1] impl.DefaultKdcHandler: Error occured while processing request:
org.apache.kerby.kerberos.kerb.KrbException: Decoding failed
    at org.apache.kerby.kerberos.kerb.KrbCodec.decode(KrbCodec.java:85)
    at org.apache.kerby.kerberos.kerb.KrbCodec.decode(KrbCodec.java:70)
at org.apache.kerby.kerberos.kerb.server.request.KdcRequest.kdcFindFast(KdcRequest.java:208) at org.apache.kerby.kerberos.kerb.server.request.KdcRequest.process(KdcRequest.java:168) at org.apache.kerby.kerberos.kerb.server.KdcHandler.handleMessage(KdcHandler.java:115) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.handleMessage(DefaultKdcHandler.java:67) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:52) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Unexpected item context [0] [tag=0xA0, off=0, len=3+207], expecting 0x30 at org.apache.kerby.asn1.type.Asn1Encodeable.decode(Asn1Encodeable.java:210) at org.apache.kerby.asn1.type.Asn1Encodeable.decode(Asn1Encodeable.java:197)
    at org.apache.kerby.kerberos.kerb.KrbCodec.decode(KrbCodec.java:83)
    ... 9 more
2017-04-29 21:07:55,604 DEBUG [pool-1-thread-1] impl.DefaultKdcHandler: Transport or decoding error occurred, disconnecting abnormally
java.net.SocketException: Socket closed
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:171)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.net.SocketInputStream.read(SocketInputStream.java:224)
    at java.io.DataInputStream.readInt(DataInputStream.java:387)
at org.apache.kerby.kerberos.kerb.transport.KrbTcpTransport.receiveMessage(KrbTcpTransport.java:54) at org.apache.kerby.kerberos.kerb.server.impl.DefaultKdcHandler.run(DefaultKdcHandler.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

In a FreeIPA environment these python lines "just" work.

Any suggestions are welcome!

Marc


Reply via email to