You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ha...@apache.org on 2015/05/11 06:51:16 UTC
directory-kerby git commit: DIRKRB-252 Enable client timeout
configuration. Contributed by Wei
Repository: directory-kerby
Updated Branches:
refs/heads/master 9be336a50 -> e0f71f773
DIRKRB-252 Enable client timeout configuration. Contributed by Wei
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/e0f71f77
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/e0f71f77
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/e0f71f77
Branch: refs/heads/master
Commit: e0f71f7737528dc52169612c0719d657441f35da
Parents: 9be336a
Author: Lin <li...@foxmail.com>
Authored: Mon May 11 12:50:34 2015 +0800
Committer: Lin <li...@foxmail.com>
Committed: Mon May 11 12:50:34 2015 +0800
----------------------------------------------------------------------
.../client/impl/DefaultInternalKrbClient.java | 1 +
.../kerby/kerberos/kerb/transport/KdcNetwork.java | 9 ++++++---
.../kerby/kerberos/kerb/transport/KrbNetwork.java | 7 ++++++-
.../kerby/kerberos/kerb/server/KdcTestBase.java | 18 +++++++++---------
4 files changed, 22 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e0f71f77/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/DefaultInternalKrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/DefaultInternalKrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/DefaultInternalKrbClient.java
index 2f66717..53d3707 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/DefaultInternalKrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/DefaultInternalKrbClient.java
@@ -57,6 +57,7 @@ public class DefaultInternalKrbClient extends AbstractInternalKrbClient {
}
KrbNetwork network = new KrbNetwork();
+ network.setSocketTimeout(getSetting().getTimeout());
try {
transport = network.connect(tcpAddress, udpAddress);
} catch (IOException e) {
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e0f71f77/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java
index 4396887..57dea73 100644
--- a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java
@@ -34,15 +34,18 @@ import java.util.Map;
*/
@SuppressWarnings("PMD")
public abstract class KdcNetwork {
+ protected final static int MAX_MESSAGE_SIZE = 65507;
+ private final static int KDC_TCP_TRANSPORT_TIMEOUT = 3 * 1000;
+ private final static int KDC_TCP_SERVER_TIMEOUT = 100;
private InetSocketAddress tcpAddress;
private InetSocketAddress udpAddress;
private boolean isStopped;
- protected final static int MAX_MESSAGE_SIZE = 65507;
private ServerSocket tcpServer;
private DatagramChannel udpServer;
private Map<InetSocketAddress, KdcUdpTransport> transports =
new HashMap<InetSocketAddress, KdcUdpTransport>();
private ByteBuffer recvBuffer;
+
public void init() {
isStopped = false;
}
@@ -53,7 +56,7 @@ public abstract class KdcNetwork {
this.udpAddress = udpAddress;
tcpServer = new ServerSocket();
- tcpServer.setSoTimeout(100);
+ tcpServer.setSoTimeout(KDC_TCP_SERVER_TIMEOUT);
tcpServer.bind(tcpAddress);
if (udpAddress != null) {
@@ -110,7 +113,7 @@ public abstract class KdcNetwork {
private void checkAndAccept() throws IOException {
Socket socket;
if ((socket = tcpServer.accept()) != null) {
- socket.setSoTimeout(3000); //TODO: from config
+ socket.setSoTimeout(KDC_TCP_TRANSPORT_TIMEOUT);
KrbTransport transport = new KrbTcpTransport(socket);
onNewTransport(transport);
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e0f71f77/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KrbNetwork.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KrbNetwork.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KrbNetwork.java
index 7bf425b..591edf7 100644
--- a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KrbNetwork.java
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KrbNetwork.java
@@ -29,6 +29,7 @@ import java.net.Socket;
@SuppressWarnings("PMD")
public class KrbNetwork {
+ private int socketTimeout = 10 * 1000;
private InetSocketAddress tcpAddress;
private InetSocketAddress udpAddress;
@@ -55,8 +56,12 @@ public class KrbNetwork {
private KrbTcpTransport tcpConnect() throws IOException {
Socket socket = new Socket();
- socket.setSoTimeout(10 * 1000); // 10 seconds. TODO: from config
+ socket.setSoTimeout(socketTimeout);
socket.connect(tcpAddress);
return new KrbTcpTransport(socket);
}
+
+ public void setSocketTimeout(int milliSeconds) {
+ socketTimeout = milliSeconds;
+ }
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/e0f71f77/kerby-kerb/kerb-kdc-test/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcTestBase.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-kdc-test/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcTestBase.java b/kerby-kerb/kerb-kdc-test/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcTestBase.java
index 5edea86..0389dd7 100644
--- a/kerby-kerb/kerb-kdc-test/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcTestBase.java
+++ b/kerby-kerb/kerb-kdc-test/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcTestBase.java
@@ -68,14 +68,6 @@ public abstract class KdcTestBase {
return serverPort;
}
- protected boolean allowUdp() {
- return true;
- }
-
- protected boolean allowTcp() {
- return true;
- }
-
@BeforeClass
public static void createTestDir() throws IOException {
String basedir = System.getProperty("basedir");
@@ -92,6 +84,14 @@ public abstract class KdcTestBase {
FileUtils.deleteDirectory(TEST_DIR);
}
+ protected boolean allowUdp() {
+ return true;
+ }
+
+ protected boolean allowTcp() {
+ return true;
+ }
+
public String getFileContent(String path) throws IOException {
FileInputStream inputStream = new FileInputStream(path);
String content = IOUtils.toString(inputStream, "UTF-8");
@@ -194,7 +194,7 @@ public abstract class KdcTestBase {
krbClnt.setKdcUdpPort(udpPort);
}
- krbClnt.setTimeout(5);
+ krbClnt.setTimeout(50);
krbClnt.setKdcRealm(kdcServer.getKdcRealm());
}