#! /bin/sh
# $Id: idnslookup.in,v 1.1 2003/06/04 00:27:10 marka Exp $
#
# Copyright (c) 2000 Japan Network Information Center.  All rights reserved.
#  
# By using this file, you agree to the terms and conditions set forth bellow.
# 
# 			LICENSE TERMS AND CONDITIONS 
# 
# The following License Terms and Conditions apply, unless a different
# license is obtained from Japan Network Information Center ("JPNIC"),
# a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
# Chiyoda-ku, Tokyo 101-0047, Japan.
# 
# 1. Use, Modification and Redistribution (including distribution of any
#    modified or derived work) in source and/or binary forms is permitted
#    under this License Terms and Conditions.
# 
# 2. Redistribution of source code must retain the copyright notices as they
#    appear in each source code file, this License Terms and Conditions.
# 
# 3. Redistribution in binary form must reproduce the Copyright Notice,
#    this License Terms and Conditions, in the documentation and/or other
#    materials provided with the distribution.  For the purposes of binary
#    distribution the "Copyright Notice" refers to the following language:
#    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
# 
# 4. The name of JPNIC may not be used to endorse or promote products
#    derived from this Software without specific prior written approval of
#    JPNIC.
# 
# 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
#    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
#    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
#    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
#    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
#    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

USAGE="Usage: $0 domain-name DNS-server"

#
# Parse command line arguments.
#
if [ $# -lt 2 ] ; then
    echo "$0: too few argument" 1>&2
    echo $USAGE 1>&2
    exit 1
fi

if [ $# -gt 2 ] ; then
    echo "$0: too many argument" 1>&2
    echo $USAGE 1>&2
    exit 1
fi

case "$1" in
-*) echo "$0: unknown option $1" 1>&2
    echo $USAGE 1>&2
    exit 1
    ;;
esac

LOCAL_DOMAIN_NAME="$1"
NAME_SERVER="$2"

#
# Append some directories to PATH.
#
[ -d /usr/sbin ] && PATH=$PATH:/usr/sbin
[ -d /sbin ] && PATH=$PATH:/sbin

#
# Find `nslookup' command.
#
if [ x"$NSLOOKUP" = x ] ; then
    for I in `echo $PATH | sed -e 's/:/ /g'` ; do
	if [ -x $I/nslookup ] ; then
	    NSLOOKUP="$I/nslookup"
	    break
	fi
    done
    if [ "$NSLOOKUP" = "" ] ; then
	echo "$0: nslookup not found" 1>&2
	exit 1
    fi
fi
if [ ! -x "$NSLOOKUP" ] ; then
    echo "$0: nslookup not found" 1>&2
    exit 1
fi

#
# Check if `idnconv' command exists.
#
IDNCONV=${IDNCONV-"@bindir@/idnconv"}
if [ ! -x "$IDNCONV" ] ; then
    echo "$0: idnconv not found" 1>&2
    exit 1
fi

#
# Convert domain name to IDN encoding.
#
IDN_DOMAIN_NAME="`echo $LOCAL_DOMAIN_NAME | $IDNCONV -w`" || exit 1

#
# Invoke nslookup.
#
$NSLOOKUP $IDN_DOMAIN_NAME $NAME_SERVER < /dev/null || exit 1

exit 0
