You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/03/31 16:37:34 UTC

directory-kerby git commit: DIRKRB-204 kerb-kdc-test fail. Cont.

Repository: directory-kerby
Updated Branches:
  refs/heads/master a6b978709 -> 6a437e9fa


DIRKRB-204 kerb-kdc-test fail. Cont.


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

Branch: refs/heads/master
Commit: 6a437e9fa9d90e8ed47b951b4d184a00bef1b6a1
Parents: a6b9787
Author: Drankye <dr...@gmail.com>
Authored: Tue Mar 31 22:37:16 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Tue Mar 31 22:37:16 2015 +0800

----------------------------------------------------------------------
 .../apache/kerby/kerberos/kdc/KerbyKdcTest.java | 21 -----
 .../client/impl/blocking/KrbTcpTransport.java   | 21 ++---
 .../kerby/kerberos/kerb/server/KdcTest.java     | 21 -----
 .../kerb/server/MultiRequestsKdcTest.java       | 87 ++++++++++++++++++++
 4 files changed, 95 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/6a437e9f/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/KerbyKdcTest.java
----------------------------------------------------------------------
diff --git a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/KerbyKdcTest.java b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/KerbyKdcTest.java
index f49046c..0413ac4 100644
--- a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/KerbyKdcTest.java
+++ b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/KerbyKdcTest.java
@@ -50,7 +50,6 @@ public abstract class KerbyKdcTest extends KdcTestBase {
         TgtTicket tgt;
         ServiceTicket tkt;
 
-        // With good password
         try {
             tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
             assertThat(tgt).isNotNull();
@@ -62,25 +61,5 @@ public abstract class KerbyKdcTest extends KdcTestBase {
             e.printStackTrace();
             Assert.fail();
         }
-
-        // With bad password
-        try {
-            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, "badpassword");
-        } catch (Exception e) {
-            System.out.println("Exception occurred with bad password");
-        }
-
-        // With good password again
-        try {
-            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
-            assertThat(tgt).isNotNull();
-
-            tkt = krbClnt.requestServiceTicketWithTgt(tgt, serverPrincipal);
-            assertThat(tkt).isNotNull();
-        } catch (Exception e) {
-            System.out.println("Exception occurred with good password again");
-            e.printStackTrace();
-            Assert.fail();
-        }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/6a437e9f/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/KrbTcpTransport.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/KrbTcpTransport.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/KrbTcpTransport.java
index 04b9086..668f1a9 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/KrbTcpTransport.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/KrbTcpTransport.java
@@ -25,44 +25,38 @@ import org.apache.kerby.kerberos.kerb.transport.KrbTransport;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.nio.ByteBuffer;
-import java.nio.channels.Channels;
-import java.nio.channels.ReadableByteChannel;
-import java.nio.channels.SocketChannel;
 
 /**
  * Default implementation of {@Link KrbTransport} using TCP in block mode.
  */
 public class KrbTcpTransport
         extends AbstractKrbTransport implements KrbTransport {
-    private Socket socketChannel;
+    private Socket socket;
     private DataOutputStream outputStream;
     private DataInputStream inputStream;
     private InetSocketAddress remoteAddress;
-    private byte[] headerBuffer; // for message length
     private byte[] messageBuffer; // for message body
 
     public KrbTcpTransport(InetSocketAddress remoteAddress) throws IOException {
         this.remoteAddress = remoteAddress;
-        this.headerBuffer = new byte[4];
         this.messageBuffer = new byte[1024 * 1024]; // TODO.
         doConnect();
     }
 
     private void doConnect() throws IOException {
-        socketChannel = new Socket();
-        socketChannel.setSoTimeout(1000);
-        socketChannel.connect(remoteAddress);
-        outputStream = new DataOutputStream(socketChannel.getOutputStream());
-        inputStream = new DataInputStream(socketChannel.getInputStream());
+        socket = new Socket();
+        socket.setSoTimeout(10 * 1000); // 10 seconds. TODO: from config
+        socket.connect(remoteAddress);
+        outputStream = new DataOutputStream(socket.getOutputStream());
+        inputStream = new DataInputStream(socket.getInputStream());
     }
 
     @Override
     public void sendMessage(ByteBuffer message) throws IOException {
-        outputStream.write(message.array());
+        outputStream.write(message.array()); // TODO: may not be backed by array
     }
 
     @Override
@@ -74,6 +68,7 @@ public class KrbTcpTransport
                 return ByteBuffer.wrap(messageBuffer, 0, msgLen);
             }
         } catch (IOException e) {
+            e.printStackTrace();
             return null;
         }
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/6a437e9f/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/KdcTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/KdcTest.java b/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/KdcTest.java
index 17d4357..41fdc34 100644
--- a/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/KdcTest.java
+++ b/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/KdcTest.java
@@ -49,7 +49,6 @@ public abstract class KdcTest extends KdcTestBase {
         TgtTicket tgt;
         ServiceTicket tkt;
 
-        // With good password
         try {
             tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
             assertThat(tgt).isNotNull();
@@ -61,25 +60,5 @@ public abstract class KdcTest extends KdcTestBase {
             e.printStackTrace();
             Assert.fail();
         }
-
-        // With bad password
-        try {
-            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, "badpassword");
-        } catch (Exception e) {
-            System.out.println("Exception occurred with bad password");
-        }
-
-        // With good password again
-        try {
-            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
-            assertThat(tgt).isNotNull();
-
-            tkt = krbClnt.requestServiceTicketWithTgt(tgt, serverPrincipal);
-            assertThat(tkt).isNotNull();
-        } catch (Exception e) {
-            System.out.println("Exception occurred with good password again");
-            e.printStackTrace();
-            Assert.fail();
-        }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/6a437e9f/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/MultiRequestsKdcTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/MultiRequestsKdcTest.java b/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/MultiRequestsKdcTest.java
new file mode 100644
index 0000000..bf1c864
--- /dev/null
+++ b/kerby-kerb/kerb-kdc-test/src/test/java/org/apache/kerby/kerberos/kerb/server/MultiRequestsKdcTest.java
@@ -0,0 +1,87 @@
+/**
+ *  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. 
+ *  
+ */
+package org.apache.kerby.kerberos.kerb.server;
+
+import org.apache.kerby.kerberos.kerb.spec.ticket.ServiceTicket;
+import org.apache.kerby.kerberos.kerb.spec.ticket.TgtTicket;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.File;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class MultiRequestsKdcTest extends KdcTestBase {
+
+    private String password = "123456";
+
+    @Override
+    protected void createPrincipals() {
+        super.createPrincipals();
+        kdcServer.createPrincipal(clientPrincipal, password);
+    }
+
+    @Test
+    public void multiRequestsTest() throws Exception {
+        kdcServer.start();
+        assertThat(kdcServer.isStarted()).isTrue();
+
+        File testDir = new File(System.getProperty("test.dir", "target"));
+        File testConfDir = new File(testDir, "conf");
+        krbClnt.setConfDir(testConfDir);
+        krbClnt.init();
+
+        TgtTicket tgt;
+        ServiceTicket tkt;
+
+        // With good password
+        try {
+            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
+            assertThat(tgt).isNotNull();
+
+            tkt = krbClnt.requestServiceTicketWithTgt(tgt, serverPrincipal);
+            assertThat(tkt).isNotNull();
+        } catch (Exception e) {
+            System.out.println("Exception occurred with good password");
+            e.printStackTrace();
+            Assert.fail();
+        }
+
+        // With bad password
+        try {
+            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, "badpassword");
+        } catch (Exception e) {
+            System.out.println("Exception occurred with bad password");
+        }
+
+        // With good password again
+        try {
+            tgt = krbClnt.requestTgtWithPassword(clientPrincipal, password);
+            assertThat(tgt).isNotNull();
+
+            tkt = krbClnt.requestServiceTicketWithTgt(tgt, serverPrincipal);
+            assertThat(tkt).isNotNull();
+        } catch (Exception e) {
+            System.out.println("Exception occurred with good password again");
+            e.printStackTrace();
+            Assert.fail();
+        }
+    }
+}
\ No newline at end of file