From 94146a7d114384a521d36077f4f97c8e07b524c1 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Wed, 28 Feb 2007 11:35:55 +0000
Subject: [PATCH] Fix for issue 1285.
---
opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java | 71 ++++++++++++++++-------------------
1 files changed, 32 insertions(+), 39 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
index ba2e087..9447387 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -30,9 +30,6 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
@@ -424,6 +421,29 @@
try
{
ldapPortNumber = ldapPort.getIntValue();
+
+ if (! skipPortCheck.isPresent())
+ {
+ // Check if the port can be used.
+ if (!SetupUtils.canUseAsPort(ldapPortNumber))
+ {
+ int msgID;
+ String message;
+ if (SetupUtils.isPriviledgedPort(ldapPortNumber))
+ {
+ msgID = MSGID_INSTALLDS_CANNOT_BIND_TO_PRIVILEGED_PORT;
+ message = getMessage(msgID, ldapPortNumber);
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ }
+ else
+ {
+ msgID = MSGID_INSTALLDS_CANNOT_BIND_TO_PORT;
+ message = getMessage(msgID, ldapPortNumber);
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ }
+ return 1;
+ }
+ }
}
catch (ArgumentException ae)
{
@@ -439,45 +459,20 @@
String message = getMessage(msgID);
ldapPortNumber = promptForInteger(message, 389, 1, 65535);
- if (! skipPortCheck.isPresent())
+ if (skipPortCheck.isPresent())
{
- try
+ break;
+ }
+ else
+ {
+ // Check if the port can be used.
+ if (SetupUtils.canUseAsPort(ldapPortNumber))
{
- InetSocketAddress socketAddress =
- new InetSocketAddress(ldapPortNumber);
- ServerSocket serverSocket = new ServerSocket();
- serverSocket.setReuseAddress(true);
- serverSocket.bind(socketAddress);
- serverSocket.close();
-
- try
- {
- Socket socket = new Socket("127.0.0.1", ldapPortNumber);
- socket.close();
- if ((ldapPortNumber <= 1024) && (! isWindows))
- {
- msgID = MSGID_INSTALLDS_CANNOT_BIND_TO_PRIVILEGED_PORT;
- message = getMessage(msgID, ldapPortNumber);
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- }
- else
- {
- msgID = MSGID_INSTALLDS_CANNOT_BIND_TO_PORT;
- message = getMessage(msgID, ldapPortNumber);
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- }
-
- continue;
- }
- catch (Exception e)
- {
- // This is expected, so no action should be taken.
break;
- }
}
- catch (Exception e)
+ else
{
- if ((ldapPortNumber <= 1024) && (! isWindows))
+ if (SetupUtils.isPriviledgedPort(ldapPortNumber))
{
msgID = MSGID_INSTALLDS_CANNOT_BIND_TO_PRIVILEGED_PORT;
message = getMessage(msgID, ldapPortNumber);
@@ -489,8 +484,6 @@
message = getMessage(msgID, ldapPortNumber);
System.err.println(wrapText(message, MAX_LINE_WIDTH));
}
-
- continue;
}
}
}
--
Gitblit v1.10.0