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