[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