You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by bu...@apache.org on 2003/01/08 20:29:49 UTC
DO NOT REPLY [Bug 15899] New: -
SocketServer won't use IP address if server has not hostname
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15899>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15899
SocketServer won't use IP address if server has not hostname
Summary: SocketServer won't use IP address if server has not
hostname
Product: Log4j
Version: 1.2
Platform: Sun
OS/Version: Linux
Status: NEW
Severity: Minor
Priority: Other
Component: Other
AssignedTo: log4j-dev@jakarta.apache.org
ReportedBy: jonathan.cowherd@genscape.com
General:
In using org.apache.log4j.net.SocketServer on internal machines that don't have
DNS or host entries, I realized that I won't be able to set the remote
configuration files with a IP based name (ie. 192.168.1.10.lcf). I assume that
most name resolution will return an IP if a host name does not exist. So
currently SocketServer attempts to look for a configuration file named ".lcf"
if no host name is found for the remote host writing to it.
Tested environment:
SuSE Linux 8.0 Pro
Sun's JDK 1.4.1-rc-b19, Client VM, mixed mode
Log4j 1.2.7
Command:
java -cp .:log4j.jar org.apache.log4j.SocketServer 3000 conf .
Investigation:
SocketServer current assumes that java.net.InetAddress.toString() will always
return a host/ip string in the format "host.name.net/D1.D2.D3.D4" . If
java.net.InetAddress.toString() returns "/D1.D2.D3.D4", then the file name is
set to empty string.
Proposed solution/patch:
The following patch will have SocketServer check for an empty sting and if
true, return the other portion of that string without the trailing leading
slash ultimatly setting the configuration file name to the IP address with
a .lcf extention:
--- SocketServerorig.java Fri Jan 3 19:42:08 2003
+++ SocketServer.java Fri Jan 3 19:42:08 2003
@@ -70,7 +70,7 @@
@since 1.0 */
-public class SocketServerorig {
+public class SocketServer {
static String GENERIC = "generic";
static String CONFIG_FILE_EXT = ".lcf";
@@ -143,7 +143,7 @@
public
- SocketServerorig(File directory) {
+ SocketServer(File directory) {
this.dir = directory;
hierarchyMap = new Hashtable(11);
}
@@ -161,7 +161,16 @@
"]. Using default hierarchy.");
return genericHierarchy();
} else {
- String key = s.substring(0, i);
+
+ String key = null;
+
+ // This will return the IP string if there is no host
+ name.
+
+ if (i == 0) {
+ key = s.substring(1);
+ } else {
+ key = s.substring(0, i);
+ }
File configFile = new File(dir, key + CONFIG_FILE_EXT);
if (configFile.exists()) {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>