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

[debian-users:19776] Bug#JP/1125: mnews-1.22 (Y2K compliant) has been released



吉藤英明@東北大学情報科学です。

In article <19991224103206B.kohda@xxxxxxxxxxxxxxxxxxxx> (at Fri, 24 Dec 1999 10:33:08 +0900), Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> says:

> config.sh に無理矢理
> 
> DEFAULT_IPV6_ENABLE="yes"
> DEFAULT_IPV6_CFLAGS=""
> DEFAULT_IPV6_LIBS=""
> 
> を加えて IPv6-enabled にしてみました(これで良い?)

mnews -v して NET_OPT に -DINET6 があればいいです。


> すると接続に失敗しました。mnewserr には
:
> mnews : getaddrinfo(): Name or service not known
> mnews : Can't connect NNTP server new.
:
> となっており NNTP server new. が変???
> NNTPSERVER の設定でも失敗します。

> これはバグでしょうか、build のミスでしょうか?

あぅ、tcplib/tcplib.c 内 tcp_split_port() のバグ(1.22b2→1.22 の
エンバグ)です。

以下ので直ります(<ftp://ftp2.v6.linux.or.jp/pub/Linux/IPv6-2/mnews/> にも
置いておきます)。

diff -ru mnews-1.22/doc/IPv6_en.doc mnews-1.22.fix/doc/IPv6_en.doc
--- mnews-1.22/doc/IPv6_en.doc	Fri Dec 17 02:27:03 1999
+++ mnews-1.22.fix/doc/IPv6_en.doc	Fri Dec 24 11:33:29 1999
@@ -58,3 +58,8 @@
 				A.TAKUMA <takuma@xxxxxxxxxxxxx>
 				- fix compile error when using traditional
 				  C-compiler.
+mnews-1.22.fix			H.YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxxxxx>
+				- tcp_split_port() did not work well with
+				  -DINET6. This is bug is introduced in 
+				  mnews-1.22. Fixed.
+				- ensured not to SEGV at freeaddrinfo()
diff -ru mnews-1.22/tcplib/tcplib.c mnews-1.22.fix/tcplib/tcplib.c
--- mnews-1.22/tcplib/tcplib.c	Fri Dec 17 02:27:36 1999
+++ mnews-1.22.fix/tcplib/tcplib.c	Fri Dec 24 11:37:51 1999
@@ -12,7 +12,7 @@
  *  Last  Edit  : 1999-12/17
  *  Author      : MSRS3 宅間 顯
  *
- *  IPv6 support: 1999-11/19,22,30 by H.YOSHIFUJI
+ *  IPv6 support: 1999-11/19,22,30, 12/04,16,24 by H.YOSHIFUJI
  */
 
 #include	"compat.h"
@@ -229,6 +229,7 @@
     memset(&hints, 0, sizeof(hints));
     hints.ai_family = PF_UNSPEC;
     hints.ai_socktype = SOCK_STREAM;
+    res = res0 = NULL;
     gaierr = getaddrinfo(server_name, serv_buff, &hints, &res0);
     if (gaierr) {
       if ((gaierr == EAI_SERVICE) &&
@@ -829,8 +830,7 @@
     *port++ = '\0';
   }
 #ifdef	INET6
-  strncpy(hostport, host, sizeof(hostport));
-  hostport[sizeof(hostport) - 1] = '\0';
+  strcpy(hostport, host); /* ok: strlen(hostport)+1 >= strlen(host)+1 */
 #endif	/* INET6 */
   return(port);
 }
@@ -862,7 +862,7 @@
   hints.ai_family = PF_UNSPEC;
   hints.ai_socktype = SOCK_STREAM;
   hints.ai_flags = AI_CANONNAME;
-
+  res0 = NULL;
   if (getaddrinfo(host, NULL, &hints, &res0) == 0) {
     s = res0->ai_canonname;
   }
@@ -878,10 +878,10 @@
     } else {
       t = strdup(s);
     }
+  }
 #ifdef	INET6
-    freeaddrinfo(res0);
+  if(res0) freeaddrinfo(res0);
 #endif	/* INET6 */
-  }
   return(t);
 }
 
-- 
吉藤英明 (YOSHIFUJI,Hideaki)    <yoshfuji@xxxxxxxxxxxxxxxxx>
Web Page: http://www.ecei.tohoku.ac.jp/%7Eyoshfuji/
PGP5i FP: F731 6599 5EB2 BBA7 1515  1323 1806 A96F 5700 6B25