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

[freewnn:00743] Re: cpp patch + v6 patch



表と申します。はじめまして。

From: Katsuomi Hamajima/濱嶋克臣 <hamajima@nagoya.ydc.co.jp>
Subject: [freewnn:00690] Re: cpp patch + v6 patch (Re: IPv6 patch)
Date: Wed, 15 Aug 2001 11:44:29 +0900 (JST)

> IPv6はKAME以外使ったことがなく、またKAME以外の環境も持っていませんので、
> IPv6対応コードはKAMEを前提としています。
(snip)
> また、jserverを-N付きで起動したときに"netstat -an"で意図としたポート(通
> 常は22273+サーバ番号)でlistenしているか教えてください。

USAGI環境で動作できましましたので、報告します。

環境: Debian unstable(glibc 2.2.4) + USAGI snap 2001/08/20(2.4.9 base)
      (getaddrinfo,getnameinfoはUSAGI libinet6ではなくglibcのものを使用)
# ./jserver -N 0
(略)
# ./jserver -N 1
(略)
# ./jserver -N 2
(略)
# ./jserver -N 3
(略)
# ./jserver -N 4
(略)
# ./jserver -N 5
(略)
% netstat -A inet6 -na |grep LISTEN|grep 222
tcp        0      0 :::22273                :::*                    LISTEN
tcp        0      0 :::22274                :::*                    LISTEN
tcp        0      0 :::22275                :::*                    LISTEN
tcp        0      0 :::22276                :::*                    LISTEN
tcp        0      0 :::22277                :::*                    LISTEN
tcp        0      0 :::22278                :::*                    LISTEN
% netstat -A inet -na |grep LISTEN|grep 222
tcp        0      0 0.0.0.0:22273           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22274           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22275           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22276           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22277           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22278           0.0.0.0:*               LISTEN
% ./wnnstat -E ip6-localhost:5
Env No. 環境名  参照数  付属語  辞書数(辞書No.)         ファイル
0       omote   2       12      12(0 1 2 3 4 5 6 7 8 9 10 11 )  12 1 13 2 14 
3 15 4 16 5 17 6 18 7 19 8 20 9 10 21 11 22 23 

ただ、オリジナルのIPv6 patchだとLinuxの場合、wildcard IPv6とwildcard IPv4を
同時にbindすることができない(defaultではPF_INET6側でIPv4パケットを吸い込む)
ので、添付してあるpatchを適用して回避しています。(起動optionやjserverrcで
判別をちゃんとやるべきものなのかな?)
--
Masahito Omote(omote@sapmed.ac.jp)
Sapporo Medical University School of Medicine 3rd grade student.
--- Xsi.orig/Wnn/jserver/de.c   Mon Jun 18 01:09:37 2001
+++ Xsi/Wnn/jserver/de.c        Sat Sep  8 05:33:48 2001
@@ -1011,6 +1011,13 @@
 #endif /* SO_DONTLINGER */
 
 #ifdef INET6
+#if    defined(INET6) && defined(IPV6_BINDV6ONLY) && !defined(IPV6_V6ONLY)
+#define        IPV6_V6ONLY IPV6_BINDV6ONLY
+#endif
+#ifdef IPV6_V6ONLY
+  if (res->ai_family == AF_INET6)
+    setsockopt(sock_d_in, IPPROTO_IPV6, IPV6_V6ONLY,(char *)&on, sizeof(on));
+#endif /* IPV6_V6ONLY */
   if (bind (sock_d_in, res->ai_addr, res->ai_addrlen) == ERROR)
 #else
   if (bind (sock_d_in, (struct sockaddr *) &saddr_in, sizeof (saddr_in)) == ERROR)


http://www.freewnn.org/ FreeWnn Project