1 #!/bin/sh 2 3 # 4 # Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. 5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 # 7 # This code is free software; you can redistribute it and/or modify it 8 # under the terms of the GNU General Public License version 2 only, as 9 # published by the Free Software Foundation. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 27 # @test 28 # @bug 4763315 29 # @build CanonicalName Lookup 30 # @run shell/timeout=120 cname.sh 31 # @summary Test DNS provider's handling of CNAME records 32 33 34 # The host that we try to resolve 35 36 HOST=webcache.sfbay.sun.com 37 38 # fail gracefully if DNS is not configured or there 39 # isn't a CNAME record. 40 41 CLASSPATH=${TESTCLASSES} 42 export CLASSPATH 43 JAVA="${TESTJAVA}/bin/java" 44 45 sh -xc "$JAVA ${TESTVMOPTS} CanonicalName $HOST" 2>&1 46 if [ $? != 0 ]; then 47 echo "DNS not configured or host doesn't resolve to CNAME record" 48 exit 0 49 fi 50 51 failures=0 52 53 go() { 54 echo '' 55 sh -xc "$JAVA ${TESTVMOPTS} $1 Lookup $2" 2>&1 56 if [ $? != 0 ]; then failures=`expr $failures + 1`; fi 57 } 58 59 # Tests - with & without security manager 60 61 POLICY=java.policy 62 echo "grant {" > ${POLICY} 63 echo " permission java.net.SocketPermission \"${HOST}\", \"resolve\";" >> ${POLICY} 64 echo "};" >> ${POLICY} 65 66 np="-Dsun.net.spi.nameservice.provider.1=dns,sun" 67 sm="-Djava.security.manager -Djava.security.policy=${POLICY}" 68 69 go "$np" "$HOST" 70 go "$np $sm" "$HOST" 71 72 73 # 74 # Results 75 # 76 echo '' 77 if [ $failures -gt 0 ]; 78 then echo "$failures test(s) failed"; 79 else echo "All test(s) passed"; fi 80 exit $failures