From owner-FreeBSD-users-jp@jp.FreeBSD.org Thu Apr 10 02:43:41 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id h39Hhfs06568;
	Thu, 10 Apr 2003 02:43:41 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from is2.mh.itc.u-tokyo.ac.jp (is2.mh.itc.u-tokyo.ac.jp [133.11.205.12])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id h39HhfY06545
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 10 Apr 2003 02:43:41 +0900 (JST)
	(envelope-from tamaru@myn.rcast.u-tokyo.ac.jp)
Received: from is2.mh.itc.u-tokyo.ac.jp (is2.mh.itc.u-tokyo.ac.jp [127.0.0.1])
	by is2.mh.itc.u-tokyo.ac.jp (Postfix) with ESMTP id A26BC3781AD
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 10 Apr 2003 02:42:19 +0900 (JST)
Received: from mailhosting.itc.u-tokyo.ac.jp (IDENT:mirapoint@mailhosting.itc.u-tokyo.ac.jp [133.11.205.3])
	by is2.mh.itc.u-tokyo.ac.jp (8.12.9/8.12.9) with ESMTP id h39HgJ2M000892
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Thu, 10 Apr 2003 02:42:19 +0900
Received: from gin.myn.rcast.u-tokyo.ac.jp (cognac.myn.rcast.u-tokyo.ac.jp [157.82.66.106])
	by mailhosting.itc.u-tokyo.ac.jp (Mirapoint Messaging Server MOS 2.9.3.2)
	with ESMTP id AIG93636;
	Thu, 10 Apr 2003 02:42:18 +0900 (JST)
Message-ID: <sa61y0bwoqt.wl@gin.myn.rcast.u-tokyo.ac.jp>
From: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
User-Agent: User-Agent: Wanderlust/2.10.0 (Venus) Emacs/21.2 Mule/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 10 Apr 2003 02:43:22 +0900
X-Sequence: FreeBSD-users-jp 74033
Subject: [FreeBSD-users-jp 74033] Mozilla 1.3,2 cannot access IPv6 addressed site via IPv4
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: tamaru@myn.rcast.u-tokyo.ac.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030405

$BED4]$G$9!#(B

ports $B$N(B Mozilla $B$,(B 1.2.1_1,2 $B$+$i(B 1.3,2 $B$K>e$,$C$?$h$&$J$N(B
$B$G$9$,!"(B1.3,2 $B$G$O(B IPv6 $BE*$K$O30$H$D$J$,$C$F$$$J$$>uBV$G(B 
IPv6 address $B$r$b$D(B host $B$K@\B3$7$h$&$H$7$F$b!"(Bstatus bar $B$K(B
"Done" $B$H=P$k$@$1$GDL?.$r$7$J$$$h$&$G$9!#(B

$BNc$($P(B www.jp.freebsd.org $B$d(B www.kame.net $B$K$D$J$2$J$/$J$j$^(B
$B$7$?!#(B freebsd-mozilla $B$N$[$&$G$bOCBj$K$J$C$F$$$^$7$?$,!"(B
http://lists.freebsd.org/pipermail/freebsd-mozilla/2003-April/000004.html

$B0J2<$N%W%m%0%i%`$,LdBj@8$8$F$$$kItJ,$@$=$&$G$9!#(B
($B$b$H$N$b$N$K(B #include <sys/types.h> $B$r(B1$B9T$rDI2C$7$^$7$?(B)

$B$3$N<j$N%3!<%I$O=q$$$?$3$H$,$J$$$N$G$9$,!"MW$9$k$K(B 
getaddrinfo $B$G(B loop $B$K=q$-D>$;$P$h$$!"$H$$$&$3$H$J$N$G$7$g$&$+!#(B
web$B$J$I$rC5$9$H(B2$BG/$/$i$$A0!"(Bmozilla-0.7 $B$N$3$m$K$bF1MM$NOCBj(B
$B$,=P$F$$$k$h$&$G$9$,!"$=$N8e(B 1.2.x $B$N;~$OF0:n$7$F$$$F(B 1.3 $B$K(B
$B$J$k$H$^$?85$KLa$C$F$k(B? 

$B$$$^!"$3$l0J>e;~4V$,$J$$$N$G!">\$7$$J}$$$^$7$?$i!"$A$g$C$H8+(B
$B$F$_$F$b$i$($^$;$s$G$7$g$&$+!#(B

$B$H$$$&$o$1$G!"$H$j$"$($:!"(Bupdate $BM=Dj$NJ}!9$X(B FYI $B$G$9!#(B

/* ------------------------- gethost2.c -------------------------- */
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <errno.h>
#include <string.h>

int main(int argc, char *argv[])
{
    struct hostent *hent;
    char addrstr[64];
    int i;

    if (argc != 2) {
        fprintf(stderr, "Usage: %s <host>\n", argv[0]);
        exit(1);
    }

    hent = gethostbyname2(argv[1], AF_INET6);
    if (hent == NULL) {
        fprintf(stderr, "gethostbyname2 failed: %d\n", h_errno);
        exit(1);
    }
    printf("h_name = %s\n", hent->h_name);
    if (hent->h_aliases) {
        for (i = 0; hent->h_aliases[i]; i++) {
            printf("h_aliases[%d] = %s\n", i, hent->h_aliases[i]);
        }
    }
    if (hent->h_addrtype == AF_INET) {
        printf("h_addrtype = AF_INET\n");
    } else if (hent->h_addrtype == AF_INET6) {
        printf("h_addrtype = AF_INET6\n");
    } else {
        printf("h_addrtype = %d\n", hent->h_addrtype);
    }
    printf("h_length = %d\n", hent->h_length);
    if (hent->h_addr_list) {
        for (i = 0; hent->h_addr_list[i]; i++) {
            printf("h_addr_list[%d] = %s\n", i,
                inet_ntop(hent->h_addrtype, hent->h_addr_list[i],
                addrstr, sizeof(addrstr)));
        }
    }
    return 0;
}

/* ---------------------  end of gethost2.c --------------------------- */

-- 
$BED4](B $BGn@2(B
