From owner-freebsd-bugs@FreeBSD.ORG Wed Mar 29 18:40:17 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B3D6416A401 for ; Wed, 29 Mar 2006 18:40:17 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1445A43D5D for ; Wed, 29 Mar 2006 18:40:17 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k2TIeGTQ098954 for ; Wed, 29 Mar 2006 18:40:16 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k2TIeGe1098953; Wed, 29 Mar 2006 18:40:16 GMT (envelope-from gnats) Resent-Date: Wed, 29 Mar 2006 18:40:16 GMT Resent-Message-Id: <200603291840.k2TIeGe1098953@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Peter Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 68EE016A400 for ; Wed, 29 Mar 2006 18:31:10 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0C52743D46 for ; Wed, 29 Mar 2006 18:31:10 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k2TIV9D2017871 for ; Wed, 29 Mar 2006 18:31:09 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k2TIV9Zb017870; Wed, 29 Mar 2006 18:31:09 GMT (envelope-from nobody) Message-Id: <200603291831.k2TIV9Zb017870@www.freebsd.org> Date: Wed, 29 Mar 2006 18:31:09 GMT From: Peter To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: bin/95082: ping.c won't handle large preload patterns X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Mar 2006 18:40:17 -0000 >Number: 95082 >Category: bin >Synopsis: ping.c won't handle large preload patterns >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Mar 29 18:40:16 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Peter >Release: FreeBSD 6.0-Release i386 >Organization: >Environment: >Description: With this patch one can use ping to wake up Wake-on-lan clients. Commands like this becomes possible: ping -c 1 -s 204 -p FFFFFFFFFFFFFFFFFFFFFFFF112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566112233445566 Broadcast_IP Mac address from unpowered machines can be fixed with (if you want to avoid broadcast): arp -S 1.2.3.4 11:22:33:44:55:66 diff -c patch against 6.0-FreeBSD-RELEASE i386 sources. >How-To-Repeat: >Fix: *** ping.c Fri Aug 19 11:29:25 2005 --- ping.c Wed Mar 29 19:02:11 2006 *************** *** 1650,1656 **** char *bp, *patp; { char *cp; ! int pat[16]; u_int ii, jj, kk; for (cp = patp; *cp; cp++) { --- 1650,1656 ---- char *bp, *patp; { char *cp; ! int pat[1500]; u_int ii, jj, kk; for (cp = patp; *cp; cp++) { *************** *** 1659,1669 **** "patterns must be specified as hex digits"); } ! ii = sscanf(patp, ! "%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x", ! &pat[0], &pat[1], &pat[2], &pat[3], &pat[4], &pat[5], &pat[6], ! &pat[7], &pat[8], &pat[9], &pat[10], &pat[11], &pat[12], ! &pat[13], &pat[14], &pat[15]); if (ii > 0) for (kk = 0; kk <= maxpayload - (TIMEVAL_LEN + ii); kk += ii) --- 1659,1668 ---- "patterns must be specified as hex digits"); } ! ! for( ii=0; ! ii 0) for (kk = 0; kk <= maxpayload - (TIMEVAL_LEN + ii); kk += ii) >Release-Note: >Audit-Trail: >Unformatted: