Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jul 2005 17:45:50 -0400 (EDT)
From:      Louis Mamakos <louie@transsys.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/84018: Bug in net/apinger port using SO_TIMESTAMP socket option
Message-ID:  <20050724214550.0E88A20F5F@whizzo.transsys.com>
Resent-Message-ID: <200507242150.j6OLo4IH079402@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         84018
>Category:       ports
>Synopsis:       Bug in net/apinger port using SO_TIMESTAMP socket option
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 24 21:50:04 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Louis Mamakos
>Release:        FreeBSD 4.11-STABLE i386
>Organization:
>Environment:
System: FreeBSD whizzo.transsys.com 4.11-STABLE FreeBSD 4.11-STABLE #20: Sun Apr 3 13:49:44 EDT 2005 louie@whizzo.transsys.com:/a/obj/usr/src/sys/WHIZZO i386


>Description:
Bug in net/apinger port.  The code which composes and received ICMP echo request/response messages is
not quite as clever as it ought to be when trying to use the Kernel's SO_TIMESTAMP socket option.  It
checks for the wrong type in the response control message.   See patch below.

>How-To-Repeat:
Inspection. 

>Fix:

*** src/icmp.c~ Thu Dec 19 03:24:33 2002
--- src/icmp.c  Sun Jul 24 17:40:01 2005
***************
*** 197,203 ****
        debug("checking CMSG...");
        for (c = CMSG_FIRSTHDR(&msg); c; c = CMSG_NXTHDR(&msg, c)) {
                debug("CMSG level: %i type: %i",c->cmsg_level,c->cmsg_type);
!               if (c->cmsg_level != SOL_SOCKET || c->cmsg_type != SO_TIMESTAMP)
                        continue;
                if (c->cmsg_len < CMSG_LEN(sizeof(struct timeval)))
                        continue;
--- 197,203 ----
        debug("checking CMSG...");
        for (c = CMSG_FIRSTHDR(&msg); c; c = CMSG_NXTHDR(&msg, c)) {
                debug("CMSG level: %i type: %i",c->cmsg_level,c->cmsg_type);
!               if (c->cmsg_level != SOL_SOCKET || c->cmsg_type != SCM_TIMESTAMP)
                        continue;
                if (c->cmsg_len < CMSG_LEN(sizeof(struct timeval)))
                        continue;



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050724214550.0E88A20F5F>