Date: Wed, 26 Mar 2014 19:19:40 GMT From: Kensaku MASUDA <kensaku.masuda@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/187978: mrouted's IGMP code are broken. Message-ID: <201403261919.s2QJJeBY051359@cgiserv.freebsd.org> Resent-Message-ID: <201403261920.s2QJK0rE024899@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 187978 >Category: ports >Synopsis: mrouted's IGMP code are broken. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Mar 26 19:20:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Kensaku MASUDA >Release: FreeBSD 9 STABEL >Organization: none >Environment: FreeBSD ayakashikone.greg.jp 9.2-STABLE FreeBSD 9.2-STABLE #2: Tue Mar 11 01:09:36 JST 2014 root@ayakashikone.greg.jp:/usr/obj/usr/src/sys/MULTICAST_ROUTER amd64 >Description: mrouted ports in net/mrouted look like no problem at compile time. But it can not sending and receiving IGMP message. Because, it code was too old. >How-To-Repeat: execute it. You will see any waring. >Fix: --- igmp.c 2011-10-23 17:03:36.000000000 +0900 +++ igmp.c.orig 2014-03-24 21:14:48.897460682 +0900 @@ -196,7 +196,7 @@ } iphdrlen = ip->ip_hl << 2; - ipdatalen = ntohs(ip->ip_len) - iphdrlen; + ipdatalen = ip->ip_len; if ((size_t)(iphdrlen + ipdatalen) != recvlen) { logit(LOG_WARNING, 0, "received packet from %s shorter (%u bytes) than hdr+data length (%u+%u)", @@ -346,7 +346,7 @@ ip = (struct ip *)send_buf; ip->ip_src.s_addr = src; ip->ip_dst.s_addr = dst; - ip->ip_len = htons(len); + ip->ip_len = len; if (IN_MULTICAST(ntohl(dst))) { ip->ip_ttl = curttl; } else { >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403261919.s2QJJeBY051359>