[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problem with java-package.



I don't know where to direct this problem in fact, google gives me
nothing of value. Nor do I know what cause it.
InetAddress won't resolve hostnames as root. => UnknownHostExceptions
and MessageExceptions && so on.

Is this a *security feature*? I wan't to be able to run java as root in
a development context (tomcat, java...)

Best regards,

Ole Christian


##############
# The setup:

tanis:~# head /etc/hosts
127.0.0.1       localhost
217.78.96.30    tanis.inn.no    tanis

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
tanis:~# ping -c 2 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms

--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.021/0.021/0.022/0.004 ms
tanis:~# nslookup localhost
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   localhost
Address: 127.0.0.1

##############
#The code:

import java.net.*;
class Mongo {
        public static void main(String[] args) {
        try{
        System.out.println(java.net.InetAddress.getByName("localhost"));
        }catch (Exception ex) { ex.printStackTrace(); }
        }
}

##############
# "The Proof"

##############
# As a regular user

oc@tanis:~$ cat vars.sh
ANT_HOME=/usr/local/ant
BASH=/bin/bash
CATALINA_HOME=/usr/local/tomcat
CVSROOT=:pserver:oc@slacor:2401/home/cvs/cvsrep
HOSTNAME=tanis
JAVA_HOME=/usr/lib/j2sdk1.4-sun
JAVA_OPTS='-Xms256M -Xmx512M -Djava.awt.headless=true'
JDK_HOME=/usr/lib/j2sdk1.4-sun
JRE_HOME=/usr/lib/j2sdk1.4-sun
LANG=en_US
LANGUAGE=en_NO:en_US:en_GB:en
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/j2sdk1.4-sun/bin:/usr/local/ant/bin
export ANT_HOME BASH CATALINA_HOME HOSTNAME JAVA_HOME JAVA_OPTS JDK_HOME
JRE_HOME LANG LANGUAGE PATH
oc@tanis:~$ . vars.sh
oc@tanis:~$ env
HZ=100
HOSTNAME=tanis
SHELL=/bin/bash
TERM=xterm
CATALINA_HOME=/usr/local/tomcat
BASH=/bin/bash
ANT_HOME=/usr/local/ant
JRE_HOME=/usr/lib/j2sdk1.4-sun
JAVA_OPTS=-Xms256M -Xmx512M -Djava.awt.headless=true
USER=oc
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:
MAIL=/var/mail/oc
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/j2sdk1.4-sun/bin:/usr/local/ant/bin
PWD=/home/oc
JAVA_HOME=/usr/lib/j2sdk1.4-sun
LANG=en_US
JDK_HOME=/usr/lib/j2sdk1.4-sun
SHLVL=1
HOME=/home/oc
LANGUAGE=en_NO:en_US:en_GB:en
LOGNAME=oc
_=/usr/bin/env
oc@tanis:~$ javac Mongo.java
oc@tanis:~$ java Mongo
localhost/127.0.0.1

##############
# As root user

tanis:~# cat vars.sh
ANT_HOME=/usr/local/ant
BASH=/bin/bash
CATALINA_HOME=/usr/local/tomcat
CVSROOT=:pserver:oc@slacor:2401/home/cvs/cvsrep
HOSTNAME=tanis
JAVA_HOME=/usr/lib/j2sdk1.4-sun
JAVA_OPTS='-Xms256M -Xmx512M -Djava.awt.headless=true'
JDK_HOME=/usr/lib/j2sdk1.4-sun
JRE_HOME=/usr/lib/j2sdk1.4-sun
LANG=en_US
LANGUAGE=en_NO:en_US:en_GB:en
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/j2sdk1.4-sun/bin:/usr/local/ant/bin
export ANT_HOME BASH CATALINA_HOME HOSTNAME JAVA_HOME JAVA_OPTS JDK_HOME
JRE_HOME LANG LANGUAGE PATH
tanis:~# . vars.sh
tanis:~# env
HZ=100
HOSTNAME=tanis
SHELL=/bin/bash
TERM=xterm
CATALINA_HOME=/usr/local/tomcat
BASH=/bin/bash
OLDPWD=/home/oc
ANT_HOME=/usr/local/ant
JRE_HOME=/usr/lib/j2sdk1.4-sun
JAVA_OPTS=-Xms256M -Xmx512M -Djava.awt.headless=true
USER=root
MAIL=/var/mail/root
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/j2sdk1.4-sun/bin:/usr/local/ant/bin
PWD=/root
JAVA_HOME=/usr/lib/j2sdk1.4-sun
LANG=en_US
PS1=\h:\w\$
JDK_HOME=/usr/lib/j2sdk1.4-sun
SHLVL=1
HOME=/root
LANGUAGE=en_NO:en_US:en_GB:en
LOGNAME=root
_=/usr/bin/env
tanis:~# javac Mongo.java
tanis:~# java Mongo
java.net.UnknownHostException: localhost: localhost
        at java.net.InetAddress.getAllByName0(InetAddress.java:1011)
        at java.net.InetAddress.getAllByName0(InetAddress.java:981)
        at java.net.InetAddress.getAllByName(InetAddress.java:975)
        at java.net.InetAddress.getByName(InetAddress.java:889)
        at Mongo.main(Mongo.java:5)

-- 
A | c/o Marie Eikrem, Fagerborggt 48A, NO-0360 OSLO
M | +47 411 44 384
W | http://www.foo.mu 




Reply to: