From owner-freebsd-bugs Sun Sep 15 13:40:06 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA12929 for bugs-outgoing; Sun, 15 Sep 1996 13:40:06 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id NAA12921; Sun, 15 Sep 1996 13:40:03 -0700 (PDT) Resent-Date: Sun, 15 Sep 1996 13:40:03 -0700 (PDT) Resent-Message-Id: <199609152040.NAA12921@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, jc@cayman.irbs.com Received: from cayman.irbs.com (cayman.irbs.com [199.182.75.3]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id NAA12411 for ; Sun, 15 Sep 1996 13:32:40 -0700 (PDT) Received: (from jc@localhost) by cayman.irbs.com (8.7.5/8.7.3) id QAA08309; Sun, 15 Sep 1996 16:32:06 -0400 (EDT) Message-Id: <199609152032.QAA08309@cayman.irbs.com> Date: Sun, 15 Sep 1996 16:32:06 -0400 (EDT) From: jc@cayman.irbs.com Reply-To: jc@cayman.irbs.com To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: bin/1615: Routed byte order problem [FIX] Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >Number: 1615 >Category: bin >Synopsis: Routed byte order problem [FIX] >Confidential: yes >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Sep 15 13:40:01 PDT 1996 >Last-Modified: >Originator: John Capo >Organization: >Release: FreeBSD 2.2-CURRENT i386 >Environment: >Description: Addresses are in network order, masks are in host order. getnet() in parms.c gets it wrong if the address is dotted decimal. >How-To-Repeat: Attempt to use -P subnet=address/mask on the command line or with a net address/mask entry in the config file. >Fix: Index: parms.c =================================================================== RCS file: /usr/cvs/src/usr.sbin/routed/parms.c,v retrieving revision 1.1.3.3 diff -c -r1.1.3.3 parms.c *** parms.c 1996/08/27 16:12:52 1.1.3.3 --- parms.c 1996/09/15 20:20:09 *************** *** 566,572 **** if (np != 0) { in.s_addr = (naddr)np->n_net; } else if (inet_aton(name, &in) == 1) { ! HTONL(in.s_addr); } else { return 0; } --- 566,572 ---- if (np != 0) { in.s_addr = (naddr)np->n_net; } else if (inet_aton(name, &in) == 1) { ! NTOHL(in.s_addr); } else { return 0; } *************** *** 576,582 **** * looked at them yet. */ mask = std_mask(in.s_addr); ! if ((~mask & ntohl(in.s_addr)) != 0) mask = HOST_MASK; } else { mask = (naddr)strtoul(mname, &p, 0); --- 576,582 ---- * looked at them yet. */ mask = std_mask(in.s_addr); ! if ((~mask & in.s_addr) != 0) mask = HOST_MASK; } else { mask = (naddr)strtoul(mname, &p, 0); *************** *** 586,595 **** } if (mask != 0 && in.s_addr == RIP_DEFAULT) return 0; ! if ((~mask & ntohl(in.s_addr)) != 0) return 0; ! *addrp = in.s_addr; *maskp = mask; return 1; } --- 586,596 ---- } if (mask != 0 && in.s_addr == RIP_DEFAULT) return 0; ! ! if ((~mask & in.s_addr) != 0) return 0; ! *addrp = htonl(in.s_addr); *maskp = mask; return 1; } >Audit-Trail: >Unformatted: