Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Aug 2003 23:12:48 -0400 (EDT)
From:      Bryan Liesner <bleez@comcast.net>
To:        "Kenneth D. Merry" <ken@kdm.org>
Cc:        current@freebsd.org
Subject:   Re: ifconfig -a blows up if /etc/mac.conf isn't installed
Message-ID:  <20030829223808.C13130@gravy.homeunix.net>
In-Reply-To: <20030829233910.GA41686@panzer.kdm.org>
References:  <20030829233910.GA41686@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 29 Aug 2003, Kenneth D. Merry wrote:

>
> I've figured out that after some recent posix1e upgrades (mac stuff?),
> ifconfig -a will blow up if mac.conf isn't there:
>
> # mv /etc/mac.conf /etc/mac.conf.backup
> # ifconfig -a
> fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet 10.0.0.6 netmask 0xffffff00 broadcast 10.0.0.255
>         ether 00:30:48:21:bb:74
>         media: Ethernet autoselect (100baseTX <full-duplex>)
>         status: active
> Memory fault (core dumped)

Same here.  I took a look, and found that line 62 of
/usr/src/sbin/ifconfig/ifmac.c returns ENOENT, but the docs say this
should return a -1.  So this code looks correct.

from ifmac.c:
  if (mac_prepare_ifnet_label(&label) == -1)

I think the correct fix is in /usr/src/lib/libc/posix1e/mac.c
Try this patch, rebuild libc, then rebuild ifconfig.

--- lib/libc/posix1e/mac.c.orig	Fri Aug 29 22:42:44 2003
+++ lib/libc/posix1e/mac.c	Fri Aug 29 22:43:19 2003
@@ -365,7 +365,7 @@
 			return (mac_prepare(mac, ld->ld_labels));
 	}

-	return (ENOENT);		/* XXXMAC: ENOLABEL */
+	return (-1);		/* XXXMAC: ENOLABEL */
 }

 int



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