Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Oct 2003 15:54:07 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 41026 for review
Message-ID:  <200310312354.h9VNs7rL032077@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=41026

Change 41026 by peter@peter_daintree on 2003/10/31 15:53:43

	IFC @41023

Affected files ...

.. //depot/projects/hammer/UPDATING#21 integrate
.. //depot/projects/hammer/bin/chmod/chmod.c#4 integrate
.. //depot/projects/hammer/contrib/sendmail/smrsh/smrsh.c#5 integrate
.. //depot/projects/hammer/crypto/openssh/sshd_config.5#6 integrate
.. //depot/projects/hammer/lib/libc/locale/frune.c#4 integrate
.. //depot/projects/hammer/lib/libc/locale/wcsftime.c#2 integrate
.. //depot/projects/hammer/lib/libc/locale/wcstod.c#3 integrate
.. //depot/projects/hammer/lib/libc/locale/wcstof.c#2 integrate
.. //depot/projects/hammer/lib/libc/locale/wcstold.c#2 integrate
.. //depot/projects/hammer/release/Makefile#38 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#42 integrate
.. //depot/projects/hammer/rescue/rescue/Makefile#8 integrate
.. //depot/projects/hammer/sbin/Makefile#16 integrate
.. //depot/projects/hammer/sbin/ip6fw/ip6fw.c#6 integrate
.. //depot/projects/hammer/sbin/ipfw/ipfw2.c#16 integrate
.. //depot/projects/hammer/share/man/man7/hier.7#8 integrate
.. //depot/projects/hammer/share/man/man9/ifnet.9#8 integrate
.. //depot/projects/hammer/share/misc/bsd-family-tree#10 integrate
.. //depot/projects/hammer/sys/alpha/osf1/osf1_ioctl.c#4 integrate
.. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#13 integrate
.. //depot/projects/hammer/sys/conf/options.i386#14 integrate
.. //depot/projects/hammer/sys/conf/options.pc98#13 integrate
.. //depot/projects/hammer/sys/contrib/dev/oltr/if_oltr.c#6 integrate
.. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_compat.h#4 integrate
.. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_fil.c#6 integrate
.. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate
.. //depot/projects/hammer/sys/dev/an/if_an.c#11 integrate
.. //depot/projects/hammer/sys/dev/ar/if_ar.c#7 integrate
.. //depot/projects/hammer/sys/dev/ath/if_ath.c#9 integrate
.. //depot/projects/hammer/sys/dev/awi/if_awi_pccard.c#7 integrate
.. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#2 integrate
.. //depot/projects/hammer/sys/dev/bge/if_bge.c#21 integrate
.. //depot/projects/hammer/sys/dev/bge/if_bgereg.h#13 integrate
.. //depot/projects/hammer/sys/dev/cm/if_cm_isa.c#4 integrate
.. //depot/projects/hammer/sys/dev/cm/smc90cx6.c#7 integrate
.. //depot/projects/hammer/sys/dev/cm/smc90cx6var.h#2 integrate
.. //depot/projects/hammer/sys/dev/cnw/if_cnw.c#6 integrate
.. //depot/projects/hammer/sys/dev/cs/if_cs.c#7 integrate
.. //depot/projects/hammer/sys/dev/cs/if_cs_isa.c#4 integrate
.. //depot/projects/hammer/sys/dev/cs/if_cs_pccard.c#4 integrate
.. //depot/projects/hammer/sys/dev/cs/if_csvar.h#2 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed.c#9 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed_cbus.c#7 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed_isa.c#5 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed_pccard.c#10 integrate
.. //depot/projects/hammer/sys/dev/ed/if_ed_pci.c#4 integrate
.. //depot/projects/hammer/sys/dev/ed/if_edvar.h#3 integrate
.. //depot/projects/hammer/sys/dev/em/if_em.c#18 integrate
.. //depot/projects/hammer/sys/dev/en/if_en_pci.c#3 integrate
.. //depot/projects/hammer/sys/dev/en/midway.c#16 integrate
.. //depot/projects/hammer/sys/dev/ep/if_ep.c#9 integrate
.. //depot/projects/hammer/sys/dev/ex/if_ex.c#6 integrate
.. //depot/projects/hammer/sys/dev/fatm/if_fatm.c#5 integrate
.. //depot/projects/hammer/sys/dev/fe/if_fe.c#6 integrate
.. //depot/projects/hammer/sys/dev/fe/if_fevar.h#2 integrate
.. //depot/projects/hammer/sys/dev/firewire/firewirereg.h#11 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohci.c#16 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#10 integrate
.. //depot/projects/hammer/sys/dev/firewire/sbp.c#22 integrate
.. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#25 integrate
.. //depot/projects/hammer/sys/dev/fxp/if_fxpvar.h#8 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gem.c#8 integrate
.. //depot/projects/hammer/sys/dev/gx/if_gx.c#7 integrate
.. //depot/projects/hammer/sys/dev/harp/if_harp.c#3 integrate
.. //depot/projects/hammer/sys/dev/hatm/if_hatm.c#7 integrate
.. //depot/projects/hammer/sys/dev/hatm/if_hatmvar.h#4 integrate
.. //depot/projects/hammer/sys/dev/hme/if_hme.c#6 integrate
.. //depot/projects/hammer/sys/dev/ie/if_ie.c#8 integrate
.. //depot/projects/hammer/sys/dev/iicbus/if_ic.c#6 integrate
.. //depot/projects/hammer/sys/dev/lge/if_lge.c#9 integrate
.. //depot/projects/hammer/sys/dev/lnc/if_lnc.c#7 integrate
.. //depot/projects/hammer/sys/dev/mii/brgphy.c#12 integrate
.. //depot/projects/hammer/sys/dev/my/if_my.c#8 integrate
.. //depot/projects/hammer/sys/dev/nge/if_nge.c#9 integrate
.. //depot/projects/hammer/sys/dev/patm/if_patm_attach.c#3 integrate
.. //depot/projects/hammer/sys/dev/pdq/if_fea.c#4 integrate
.. //depot/projects/hammer/sys/dev/pdq/if_fpa.c#4 integrate
.. //depot/projects/hammer/sys/dev/pdq/pdq_freebsd.h#4 integrate
.. //depot/projects/hammer/sys/dev/pdq/pdqvar.h#3 integrate
.. //depot/projects/hammer/sys/dev/ppbus/if_plip.c#5 integrate
.. //depot/projects/hammer/sys/dev/ray/if_ray.c#7 integrate
.. //depot/projects/hammer/sys/dev/re/if_re.c#3 integrate
.. //depot/projects/hammer/sys/dev/sbni/if_sbni.c#9 integrate
.. //depot/projects/hammer/sys/dev/sbni/if_sbni_isa.c#5 integrate
.. //depot/projects/hammer/sys/dev/sbsh/if_sbsh.c#3 integrate
.. //depot/projects/hammer/sys/dev/sn/if_sn.c#7 integrate
.. //depot/projects/hammer/sys/dev/sr/if_sr.c#8 integrate
.. //depot/projects/hammer/sys/dev/tx/if_tx.c#9 integrate
.. //depot/projects/hammer/sys/dev/txp/if_txp.c#8 integrate
.. //depot/projects/hammer/sys/dev/usb/if_aue.c#11 integrate
.. //depot/projects/hammer/sys/dev/usb/if_axe.c#6 integrate
.. //depot/projects/hammer/sys/dev/usb/if_cue.c#12 integrate
.. //depot/projects/hammer/sys/dev/usb/if_kue.c#10 integrate
.. //depot/projects/hammer/sys/dev/usb/if_rue.c#5 integrate
.. //depot/projects/hammer/sys/dev/vx/if_vx.c#10 integrate
.. //depot/projects/hammer/sys/dev/vx/if_vx_eisa.c#5 integrate
.. //depot/projects/hammer/sys/dev/vx/if_vx_pci.c#5 integrate
.. //depot/projects/hammer/sys/dev/vx/if_vxvar.h#2 integrate
.. //depot/projects/hammer/sys/dev/wi/if_wi.c#19 integrate
.. //depot/projects/hammer/sys/dev/wl/if_wl.c#6 integrate
.. //depot/projects/hammer/sys/dev/xe/if_xe.c#8 integrate
.. //depot/projects/hammer/sys/i386/i386/machdep.c#23 integrate
.. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#16 integrate
.. //depot/projects/hammer/sys/i386/i386/mpboot.s#4 integrate
.. //depot/projects/hammer/sys/i386/i386/pmap.c#22 integrate
.. //depot/projects/hammer/sys/i386/include/segments.h#7 integrate
.. //depot/projects/hammer/sys/i386/isa/cx.c#5 integrate
.. //depot/projects/hammer/sys/i386/isa/if_cx.c#6 integrate
.. //depot/projects/hammer/sys/i386/isa/if_el.c#5 integrate
.. //depot/projects/hammer/sys/i386/isa/if_le.c#8 integrate
.. //depot/projects/hammer/sys/i386/isa/if_rdp.c#9 integrate
.. //depot/projects/hammer/sys/i386/pci/pci_bus.c#13 integrate
.. //depot/projects/hammer/sys/i4b/driver/i4b_ipr.c#7 integrate
.. //depot/projects/hammer/sys/i4b/driver/i4b_isppp.c#7 integrate
.. //depot/projects/hammer/sys/kern/sched_ule.c#14 integrate
.. //depot/projects/hammer/sys/kern/subr_smp.c#9 integrate
.. //depot/projects/hammer/sys/net/bpf.c#12 integrate
.. //depot/projects/hammer/sys/net/bridge.c#9 integrate
.. //depot/projects/hammer/sys/net/if.c#12 integrate
.. //depot/projects/hammer/sys/net/if.h#7 integrate
.. //depot/projects/hammer/sys/net/if_arcsubr.c#6 integrate
.. //depot/projects/hammer/sys/net/if_atmsubr.c#12 integrate
.. //depot/projects/hammer/sys/net/if_disc.c#6 integrate
.. //depot/projects/hammer/sys/net/if_ef.c#5 integrate
.. //depot/projects/hammer/sys/net/if_ethersubr.c#18 integrate
.. //depot/projects/hammer/sys/net/if_faith.c#6 integrate
.. //depot/projects/hammer/sys/net/if_gif.c#8 integrate
.. //depot/projects/hammer/sys/net/if_gre.c#7 integrate
.. //depot/projects/hammer/sys/net/if_loop.c#11 integrate
.. //depot/projects/hammer/sys/net/if_media.c#4 integrate
.. //depot/projects/hammer/sys/net/if_mib.c#2 integrate
.. //depot/projects/hammer/sys/net/if_ppp.c#8 integrate
.. //depot/projects/hammer/sys/net/if_sl.c#6 integrate
.. //depot/projects/hammer/sys/net/if_spppsubr.c#7 integrate
.. //depot/projects/hammer/sys/net/if_stf.c#8 integrate
.. //depot/projects/hammer/sys/net/if_tap.c#7 integrate
.. //depot/projects/hammer/sys/net/if_tun.c#8 integrate
.. //depot/projects/hammer/sys/net/if_var.h#8 integrate
.. //depot/projects/hammer/sys/net/if_vlan.c#9 integrate
.. //depot/projects/hammer/sys/net/net_osdep.c#3 integrate
.. //depot/projects/hammer/sys/net/net_osdep.h#4 integrate
.. //depot/projects/hammer/sys/net/ppp_tty.c#5 integrate
.. //depot/projects/hammer/sys/net/route.c#7 integrate
.. //depot/projects/hammer/sys/net/route.h#5 integrate
.. //depot/projects/hammer/sys/net/rtsock.c#6 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_node.c#9 integrate
.. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#6 integrate
.. //depot/projects/hammer/sys/netatalk/ddp_output.c#5 integrate
.. //depot/projects/hammer/sys/netatm/atm_if.c#9 integrate
.. //depot/projects/hammer/sys/netatm/atm_if.h#5 integrate
.. //depot/projects/hammer/sys/netatm/atm_socket.c#6 integrate
.. //depot/projects/hammer/sys/netatm/atm_usrreq.c#5 integrate
.. //depot/projects/hammer/sys/netatm/atm_var.h#5 integrate
.. //depot/projects/hammer/sys/netatm/ipatm/ipatm_usrreq.c#6 integrate
.. //depot/projects/hammer/sys/netatm/spans/spans_arp.c#6 integrate
.. //depot/projects/hammer/sys/netatm/uni/uniarp.c#7 integrate
.. //depot/projects/hammer/sys/netgraph/atm/ng_atm.c#5 integrate
.. //depot/projects/hammer/sys/netgraph/ng_bridge.c#5 integrate
.. //depot/projects/hammer/sys/netgraph/ng_eiface.c#4 integrate
.. //depot/projects/hammer/sys/netgraph/ng_ether.c#4 integrate
.. //depot/projects/hammer/sys/netgraph/ng_fec.c#4 integrate
.. //depot/projects/hammer/sys/netgraph/ng_gif.c#3 integrate
.. //depot/projects/hammer/sys/netgraph/ng_iface.c#6 integrate
.. //depot/projects/hammer/sys/netinet/if_ether.c#5 integrate
.. //depot/projects/hammer/sys/netinet/in_pcb.c#10 integrate
.. //depot/projects/hammer/sys/netinet/in_rmx.c#5 integrate
.. //depot/projects/hammer/sys/netinet/ip_divert.c#8 integrate
.. //depot/projects/hammer/sys/netinet/ip_dummynet.c#14 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw.h#8 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#16 integrate
.. //depot/projects/hammer/sys/netinet/ip_mroute.c#11 integrate
.. //depot/projects/hammer/sys/netinet6/esp_input.c#6 integrate
.. //depot/projects/hammer/sys/netinet6/icmp6.c#9 integrate
.. //depot/projects/hammer/sys/netinet6/in6_ifattach.c#6 integrate
.. //depot/projects/hammer/sys/netinet6/in6_ifattach.h#2 integrate
.. //depot/projects/hammer/sys/netinet6/in6_pcb.c#9 integrate
.. //depot/projects/hammer/sys/netinet6/in6_rmx.c#5 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_fw.c#6 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_fw.h#3 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_input.c#7 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_mroute.c#7 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_output.c#10 integrate
.. //depot/projects/hammer/sys/netinet6/mld6.c#6 integrate
.. //depot/projects/hammer/sys/netinet6/mld6_var.h#3 integrate
.. //depot/projects/hammer/sys/netinet6/nd6.h#5 integrate
.. //depot/projects/hammer/sys/netinet6/nd6_nbr.c#7 integrate
.. //depot/projects/hammer/sys/netipx/ipx_ip.c#7 integrate
.. //depot/projects/hammer/sys/netnatm/natm.c#7 integrate
.. //depot/projects/hammer/sys/nfsclient/bootp_subr.c#8 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_diskless.c#5 integrate
.. //depot/projects/hammer/sys/pc98/i386/machdep.c#20 integrate
.. //depot/projects/hammer/sys/pc98/pc98/syscons_pc98.c#7 integrate
.. //depot/projects/hammer/sys/pci/if_dc.c#22 integrate
.. //depot/projects/hammer/sys/pci/if_de.c#10 integrate
.. //depot/projects/hammer/sys/pci/if_devar.h#4 integrate
.. //depot/projects/hammer/sys/pci/if_pcn.c#10 integrate
.. //depot/projects/hammer/sys/pci/if_rl.c#18 integrate
.. //depot/projects/hammer/sys/pci/if_sf.c#11 integrate
.. //depot/projects/hammer/sys/pci/if_sis.c#15 integrate
.. //depot/projects/hammer/sys/pci/if_sk.c#11 integrate
.. //depot/projects/hammer/sys/pci/if_ste.c#12 integrate
.. //depot/projects/hammer/sys/pci/if_ti.c#14 integrate
.. //depot/projects/hammer/sys/pci/if_tl.c#9 integrate
.. //depot/projects/hammer/sys/pci/if_vr.c#10 integrate
.. //depot/projects/hammer/sys/pci/if_wb.c#10 integrate
.. //depot/projects/hammer/sys/pci/if_xl.c#21 integrate
.. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#17 integrate
.. //depot/projects/hammer/sys/security/mac_lomac/mac_lomac.c#10 integrate
.. //depot/projects/hammer/sys/sys/cdefs.h#12 integrate
.. //depot/projects/hammer/sys/sys/param.h#22 integrate
.. //depot/projects/hammer/sys/sys/proc.h#34 integrate
.. //depot/projects/hammer/sys/ufs/ffs/ffs_alloc.c#7 integrate
.. //depot/projects/hammer/sys/vm/swap_pager.c#17 integrate
.. //depot/projects/hammer/sys/vm/vm_map.c#23 integrate
.. //depot/projects/hammer/sys/vm/vm_object.c#30 integrate
.. //depot/projects/hammer/sys/vm/vm_object.h#13 integrate
.. //depot/projects/hammer/tools/tools/ministat/Makefile#2 integrate
.. //depot/projects/hammer/tools/tools/ministat/ministat.c#2 integrate
.. //depot/projects/hammer/usr.bin/chat/Makefile#3 integrate
.. //depot/projects/hammer/usr.bin/chat/chat.c#4 integrate
.. //depot/projects/hammer/usr.bin/netstat/if.c#4 integrate
.. //depot/projects/hammer/usr.bin/netstat/route.c#5 integrate
.. //depot/projects/hammer/usr.sbin/Makefile#31 integrate
.. //depot/projects/hammer/usr.sbin/ifmcstat/ifmcstat.c#3 integrate
.. //depot/projects/hammer/usr.sbin/inetd/Makefile#4 integrate
.. //depot/projects/hammer/usr.sbin/inetd/inetd.c#7 integrate
.. //depot/projects/hammer/usr.sbin/mountd/Makefile#4 integrate
.. //depot/projects/hammer/usr.sbin/mountd/mountd.c#7 integrate
.. //depot/projects/hammer/usr.sbin/mrouted/Makefile.inc#3 integrate
.. //depot/projects/hammer/usr.sbin/mtree/compare.c#5 integrate
.. //depot/projects/hammer/usr.sbin/mtree/mtree.8#4 integrate
.. //depot/projects/hammer/usr.sbin/mtree/test/test02.sh#1 branch
.. //depot/projects/hammer/usr.sbin/route6d/route6d.c#5 integrate

Differences ...

==== //depot/projects/hammer/UPDATING#21 (text+ko) ====

@@ -17,6 +17,14 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20031031:
+	The API and ABI of struct ifnet have been changed by removing
+	the if_name and if_unit members and replacing them with
+	if_xname, if_dname, and if_dunit.  All network drivers and most
+	userland programs which include net/if_var.h must be updated
+	and recompiled.  __FreeBSD_version has been bumped to 501113 to
+	reflect this change.
+
 20030928:
 	Changes to the cdevsw default functions have been made to remove
 	the need to specify nullopen() and nullclose() explicitly.
@@ -1384,4 +1392,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.272 2003/10/19 10:24:59 phk Exp $
+$FreeBSD: src/UPDATING,v 1.274 2003/10/31 21:58:15 brooks Exp $

==== //depot/projects/hammer/bin/chmod/chmod.c#4 (text+ko) ====

@@ -43,7 +43,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.29 2003/05/01 16:58:54 obrien Exp $");
+__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.30 2003/10/31 13:20:09 tobez Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -65,16 +65,13 @@
 	FTS *ftsp;
 	FTSENT *p;
 	mode_t *set;
-	long val;
-	int oct;
 	int Hflag, Lflag, Rflag, ch, fflag, fts_options, hflag, rval;
 	int vflag;
-	char *ep, *mode;
-	mode_t newmode, omode;
+	char *mode;
+	mode_t newmode;
 	int (*change_mode)(const char *, mode_t);
 
 	set = NULL;
-	omode = 0;
 	Hflag = Lflag = Rflag = fflag = hflag = vflag = 0;
 	while ((ch = getopt(argc, argv, "HLPRXfghorstuvwx")) != -1)
 		switch (ch) {
@@ -152,22 +149,8 @@
 		change_mode = chmod;
 
 	mode = *argv;
-	if (*mode >= '0' && *mode <= '7') {
-		errno = 0;
-		val = strtol(mode, &ep, 8);
-		if (val > USHRT_MAX || val < 0)
-			errno = ERANGE;
-		if (errno)
-			err(1, "invalid file mode: %s", mode);
-		if (*ep)
-			errx(1, "invalid file mode: %s", mode);
-		omode = (mode_t)val;
-		oct = 1;
-	} else {
-		if ((set = setmode(mode)) == NULL)
-			errx(1, "invalid file mode: %s", mode);
-		oct = 0;
-	}
+	if ((set = setmode(mode)) == NULL)
+		errx(1, "invalid file mode: %s", mode);
 
 	if ((ftsp = fts_open(++argv, fts_options, 0)) == NULL)
 		err(1, "fts_open");
@@ -200,7 +183,7 @@
 		default:
 			break;
 		}
-		newmode = oct ? omode : getmode(set, p->fts_statp->st_mode);
+		newmode = getmode(set, p->fts_statp->st_mode);
 		if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS))
 			continue;
 		if ((*change_mode)(p->fts_accpath, newmode) && !fflag) {

==== //depot/projects/hammer/contrib/sendmail/smrsh/smrsh.c#5 (text+ko) ====

@@ -9,6 +9,7 @@
  * forth in the LICENSE file which can be found at the top level of
  * the sendmail distribution.
  *
+ * $FreeBSD: src/contrib/sendmail/smrsh/smrsh.c,v 1.16 2003/10/31 22:12:09 gshapiro Exp $
  */
 
 #include <sm/gen.h>
@@ -423,7 +424,8 @@
 #ifdef DEBUG
 	(void) sm_io_fprintf(smioout, SM_TIME_DEFAULT, "%s\n", newcmdbuf);
 #endif /* DEBUG */
-	(void) execle("/bin/sh", "/bin/sh", "-c", newcmdbuf, NULL, newenv);
+	(void) execle("/bin/sh", "/bin/sh", "-c", newcmdbuf,
+		      (char *)NULL, newenv);
 	save_errno = errno;
 #ifndef DEBUG
 	syslog(LOG_CRIT, "Cannot exec /bin/sh: %s", sm_errstring(errno));

==== //depot/projects/hammer/crypto/openssh/sshd_config.5#6 (text+ko) ====

@@ -35,7 +35,7 @@
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\" $OpenBSD: sshd_config.5,v 1.15 2003/03/28 10:11:43 jmc Exp $
-.\" $FreeBSD: src/crypto/openssh/sshd_config.5,v 1.12 2003/09/24 19:20:23 des Exp $
+.\" $FreeBSD: src/crypto/openssh/sshd_config.5,v 1.13 2003/10/31 21:49:47 simon Exp $
 .Dd September 25, 1999
 .Dt SSHD_CONFIG 5
 .Os
@@ -432,7 +432,7 @@
 Specifies whether password authentication is allowed.
 The default is
 .Dq yes .
-Note that
+Note that if
 .Cm ChallengeResponseAuthentication
 is
 .Dq yes ,

==== //depot/projects/hammer/lib/libc/locale/frune.c#4 (text+ko) ====

@@ -1,4 +1,5 @@
 /*-
+ * Copyright (c) 2003 Tim J. Robbins. All rights reserved.
  * Copyright (c) 1993
  *	The Regents of the University of California.  All rights reserved.
  *
@@ -41,39 +42,24 @@
 static char sccsid[] = "@(#)frune.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/param.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/frune.c,v 1.4 2003/06/13 07:13:54 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/frune.c,v 1.5 2003/10/31 10:55:19 tjr Exp $");
 
 #include <limits.h>
 #include <rune.h>
 #include <stddef.h>
 #include <stdio.h>
+#include <wchar.h>
 
 __warn_references(fgetrune, "warning: fgetrune() is deprecated. See fgetrune(3).");
 long
 fgetrune(fp)
 	FILE *fp;
 {
-	rune_t  r;
-	int c, len;
-	char buf[MB_LEN_MAX];
-	char const *result;
+	wint_t ch;
 
-	len = 0;
-	do {
-		if ((c = getc(fp)) == EOF) {
-			if (len)
-				break;
-			return (EOF);
-		}
-		buf[len++] = c;
-
-		if ((r = sgetrune(buf, len, &result)) != _INVALID_RUNE)
-			return (r);
-	} while (result == buf && len < MB_LEN_MAX);
-
-	while (--len > 0)
-		ungetc(buf[len], fp);
-	return (_INVALID_RUNE);
+	if ((ch = fgetwc(fp)) == WEOF)
+		return (feof(fp) ? EOF : _INVALID_RUNE);
+	return ((long)ch);
 }
 
 __warn_references(fungetrune, "warning: fungetrune() is deprecated. See fungetrune(3).");
@@ -82,14 +68,8 @@
 	rune_t r;
 	FILE* fp;
 {
-	int len;
-	char buf[MB_LEN_MAX];
 
-	len = sputrune(r, buf, MB_LEN_MAX, 0);
-	while (len-- > 0)
-		if (ungetc(buf[len], fp) == EOF)
-			return (EOF);
-	return (0);
+	return (ungetwc((wint_t)r, fp) == WEOF ? EOF : 0);
 }
 
 __warn_references(fputrune, "warning: fputrune() is deprecated. See fputrune(3).");
@@ -98,14 +78,6 @@
 	rune_t r;
 	FILE *fp;
 {
-	int i, len;
-	char buf[MB_LEN_MAX];
 
-	len = sputrune(r, buf, MB_LEN_MAX, 0);
-
-	for (i = 0; i < len; ++i)
-		if (putc(buf[i], fp) == EOF)
-			return (EOF);
-
-	return (0);
+	return (fputwc((wchar_t)r, fp) == WEOF ? EOF : 0);
 }

==== //depot/projects/hammer/lib/libc/locale/wcsftime.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/wcsftime.c,v 1.2 2002/09/15 08:06:17 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/wcsftime.c,v 1.3 2003/10/31 13:29:00 tjr Exp $");
 
 #include <errno.h>
 #include <limits.h>
@@ -50,8 +50,6 @@
 wcsftime(wchar_t * __restrict wcs, size_t maxsize,
     const wchar_t * __restrict format, const struct tm * __restrict timeptr)
 {
-	static const mbstate_t initial;
-	mbstate_t state;
 	char *dst, *dstp, *sformat;
 	size_t n, sflen;
 	int sverrno;
@@ -61,15 +59,17 @@
 	/*
 	 * Convert the supplied format string to a multibyte representation
 	 * for strftime(), which only handles single-byte characters.
+	 *
+	 * We pass NULL as the state pointer to wcrtomb() because we don't
+	 * support state-dependent encodings and don't want to waste time
+	 * creating a zeroed mbstate_t that will not be used.
 	 */
-	state = initial;
-	sflen = wcsrtombs(NULL, &format, 0, &state);
+	sflen = wcsrtombs(NULL, &format, 0, NULL);
 	if (sflen == (size_t)-1)
 		goto error;
 	if ((sformat = malloc(sflen + 1)) == NULL)
 		goto error;
-	state = initial;
-	wcsrtombs(sformat, &format, sflen + 1, &state);
+	wcsrtombs(sformat, &format, sflen + 1, NULL);
 
 	/*
 	 * Allocate memory for longest multibyte sequence that will fit
@@ -86,9 +86,8 @@
 		goto error;
 	if (strftime(dst, maxsize, sformat, timeptr) == 0)
 		goto error;
-	state = initial;
 	dstp = dst;
-	n = mbsrtowcs(wcs, (const char **)&dstp, maxsize, &state);
+	n = mbsrtowcs(wcs, (const char **)&dstp, maxsize, NULL);
 	if (n == (size_t)-2 || n == (size_t)-1 || dstp != NULL)
 		goto error;
 

==== //depot/projects/hammer/lib/libc/locale/wcstod.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/wcstod.c,v 1.2 2003/02/22 00:06:05 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/wcstod.c,v 1.3 2003/10/31 13:29:00 tjr Exp $");
 
 #include <stdlib.h>
 #include <wchar.h>
@@ -43,12 +43,10 @@
 double
 wcstod(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr)
 {
-	static const mbstate_t initial;
-	mbstate_t state;
 	double val;
-	char *buf, *end, *p;
+	char *buf, *end;
 	const wchar_t *wcp;
-	size_t clen, len;
+	size_t len;
 
 	while (iswspace(*nptr))
 		nptr++;
@@ -62,18 +60,20 @@
 	 * the input string contains a lot of text after the number
 	 * duplicates a lot of strtod()'s functionality and slows down the
 	 * most common cases.
+	 *
+	 * We pass NULL as the state pointer to wcrtomb() because we don't
+	 * support state-dependent encodings and don't want to waste time
+	 * creating a zeroed mbstate_t that will not be used.
 	 */
-	state = initial;
 	wcp = nptr;
-	if ((len = wcsrtombs(NULL, &wcp, 0, &state)) == (size_t)-1) {
+	if ((len = wcsrtombs(NULL, &wcp, 0, NULL)) == (size_t)-1) {
 		if (endptr != NULL)
 			*endptr = (wchar_t *)nptr;
 		return (0.0);
 	}
 	if ((buf = malloc(len + 1)) == NULL)
 		return (0.0);
-	state = initial;
-	wcsrtombs(buf, &wcp, len + 1, &state);
+	wcsrtombs(buf, &wcp, len + 1, NULL);
 
 	/* Let strtod() do most of the work for us. */
 	val = strtod(buf, &end);
@@ -84,22 +84,9 @@
 	 * where it ended, count multibyte characters to find the
 	 * corresponding position in the wide char string.
 	 */
-	if (endptr != NULL) {
-#if 1					/* Fast, assume 1:1 WC:MBS mapping. */
+	if (endptr != NULL)
+		/* XXX Assume each wide char is one byte. */
 		*endptr = (wchar_t *)nptr + (end - buf);
-		(void)clen;
-		(void)p;
-#else					/* Slow, conservative approach. */
-		state = initial;
-		*endptr = (wchar_t *)nptr;
-		p = buf;
-		while (p < end &&
-		    (clen = mbrlen(p, end - p, &state)) > 0) {
-			p += clen;
-			(*endptr)++;
-		}
-#endif
-	}
 
 	free(buf);
 

==== //depot/projects/hammer/lib/libc/locale/wcstof.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/wcstof.c,v 1.1 2003/03/13 06:29:53 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/wcstof.c,v 1.2 2003/10/31 13:29:00 tjr Exp $");
 
 #include <stdlib.h>
 #include <wchar.h>
@@ -37,46 +37,28 @@
 float
 wcstof(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr)
 {
-	static const mbstate_t initial;
-	mbstate_t state;
 	float val;
-	char *buf, *end, *p;
+	char *buf, *end;
 	const wchar_t *wcp;
-	size_t clen, len;
+	size_t len;
 
 	while (iswspace(*nptr))
 		nptr++;
 
-	state = initial;
 	wcp = nptr;
-	if ((len = wcsrtombs(NULL, &wcp, 0, &state)) == (size_t)-1) {
+	if ((len = wcsrtombs(NULL, &wcp, 0, NULL)) == (size_t)-1) {
 		if (endptr != NULL)
 			*endptr = (wchar_t *)nptr;
 		return (0.0);
 	}
 	if ((buf = malloc(len + 1)) == NULL)
 		return (0.0);
-	state = initial;
-	wcsrtombs(buf, &wcp, len + 1, &state);
+	wcsrtombs(buf, &wcp, len + 1, NULL);
 
 	val = strtof(buf, &end);
 
-	if (endptr != NULL) {
-#if 1					/* Fast, assume 1:1 WC:MBS mapping. */
+	if (endptr != NULL)
 		*endptr = (wchar_t *)nptr + (end - buf);
-		(void)clen;
-		(void)p;
-#else					/* Slow, conservative approach. */
-		state = initial;
-		*endptr = (wchar_t *)nptr;
-		p = buf;
-		while (p < end &&
-		    (clen = mbrlen(p, end - p, &state)) > 0) {
-			p += clen;
-			(*endptr)++;
-		}
-#endif
-	}
 
 	free(buf);
 

==== //depot/projects/hammer/lib/libc/locale/wcstold.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/locale/wcstold.c,v 1.1 2003/03/13 06:29:53 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/locale/wcstold.c,v 1.2 2003/10/31 13:29:00 tjr Exp $");
 
 #include <stdlib.h>
 #include <wchar.h>
@@ -37,8 +37,6 @@
 long double
 wcstold(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr)
 {
-	static const mbstate_t initial;
-	mbstate_t state;
 	long double val;
 	char *buf, *end, *p;
 	const wchar_t *wcp;
@@ -47,36 +45,20 @@
 	while (iswspace(*nptr))
 		nptr++;
 
-	state = initial;
 	wcp = nptr;
-	if ((len = wcsrtombs(NULL, &wcp, 0, &state)) == (size_t)-1) {
+	if ((len = wcsrtombs(NULL, &wcp, 0, NULL)) == (size_t)-1) {
 		if (endptr != NULL)
 			*endptr = (wchar_t *)nptr;
 		return (0.0);
 	}
 	if ((buf = malloc(len + 1)) == NULL)
 		return (0.0);
-	state = initial;
-	wcsrtombs(buf, &wcp, len + 1, &state);
+	wcsrtombs(buf, &wcp, len + 1, NULL);
 
 	val = strtold(buf, &end);
 
-	if (endptr != NULL) {
-#if 1					/* Fast, assume 1:1 WC:MBS mapping. */
+	if (endptr != NULL)
 		*endptr = (wchar_t *)nptr + (end - buf);
-		(void)clen;
-		(void)p;
-#else					/* Slow, conservative approach. */
-		state = initial;
-		*endptr = (wchar_t *)nptr;
-		p = buf;
-		while (p < end &&
-		    (clen = mbrlen(p, end - p, &state)) > 0) {
-			p += clen;
-			(*endptr)++;
-		}
-#endif
-	}
 
 	free(buf);
 

==== //depot/projects/hammer/release/Makefile#38 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/release/Makefile,v 1.821 2003/10/06 11:52:34 ru Exp $
+# $FreeBSD: src/release/Makefile,v 1.822 2003/10/31 13:15:07 ru Exp $
 #
 # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \
 #     [RELEASETAG=tag]
@@ -669,7 +669,8 @@
 .if exists(${.CURDIR}/../sys/boot/${TARGET}/loader)
 	cd ${.CURDIR}/../sys/boot/${TARGET}/loader; \
 	${WMAKE} clean cleandepend; \
-	${WMAKE} -DNOMAN -DNOFORTH all install DESTDIR=${RD}/trees/special
+	${WMAKE} -DNOMAN -DNOFORTH all; \
+	${WMAKE} -DNOMAN -DNOFORTH install DESTDIR=${RD}/trees/special
 .endif
 	cp ${RD}/trees/base/etc/disktab /etc
 	rm -rf ${RD}/mfsfd

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#42 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.646 2003/10/20 15:17:44 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.647 2003/10/31 16:58:43 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -184,9 +184,15 @@
       &merged;</para>
 
     <para arch="i386,pc98">The DRM kernel modules have been updated from
-      DRI CVS as of 9 September 2003.  Among other changes, this
-      import includes a newly-ported SiS 300/305/540/630/730
-      driver.</para>
+      DRI CVS as of 23 October 2003.  Among other changes, this
+      change includes a newly-ported SiS 300/305/540/630/730
+      driver and mostly-complete SMPng locking.</para>
+
+    <para>The &man.dcons.4; <quote>dumb console</quote> driver has
+      been added to provide a local and remote console.  It can be
+      accessed over Firewire using the &man.dcons.crom.4; driver.  A
+      &man.dconschat.8; utility provides user access to &man.dcons.4;
+      devices.</para>
 
     <para>A multi-byte character set conversion method is now supported
       by the <literal>LIBICONV</literal> kernel option.</para>
@@ -248,6 +254,11 @@
       <para arch="i386,pc98">Floating point emulation in the kernel has
 	been removed.</para>
 
+      <para arch="i386">Problems with some Pentium 4 CPUs and some older
+        Pentium Pro and Pentium II CPUs have been worked around.
+        Typically these manifested themselves as memory corruption or
+        unexplained crashes.</para>
+
     </sect3>
 
     <sect3 id="boot">
@@ -315,6 +326,13 @@
       <para>The xe driver now supports CE2, CEM28, 
         and CEM33 cards, and &man.multicast.4; datagram.  Also several
         bugs in the driver has been fixed.</para>
+
+      <para>A number of network drivers have had their interrupt
+	handlers marked as MPSAFE, meaning they can run without
+	the Giant lock.  Among the drivers so converted are:
+	&man.ath.4;, &man.em.4;, &man.ep.4;, &man.fxp.4;, &man.sn.4;,
+	&man.wi.4;, and &man.sis.4;.</para>
+
     </sect3>
 
     <sect3 id="net-proto">
@@ -401,6 +419,12 @@
             the Linux BlueZ SDP package, has been added.</para>
         </listitem>
       </itemizedlist>
+
+      <para>Support for the IPv6 Advanced Sockets API now conforms to
+        RFC 3542 (also known as RFC 2292bis), rather than RFC 2292.
+        Applications using this API have been updated
+        accordingly.</para>
+
     </sect3>
 
     <sect3 id="disks">
@@ -508,6 +532,10 @@
       Source Language (ASL) and ACPI Machine language (AML), has been
       added.</para>
 
+    <para>&man.ifconfig.8; now supports a <option>staticarp</option>
+      option for an interface, which disables the sending of ARP
+      requests for that interface.</para>
+
     <para>&man.ipfw.8; <literal>list</literal> and <literal>show</literal>
       command now support ranges of rule numbers.
       &merged;</para>
@@ -532,6 +560,9 @@
       support working with loadable character set conversion tables in
       the kernel.</para>
 
+    <para arch="ia64"><filename>libkse</filename> is now the default
+      threading library on &os;/ia64.</para>
+
     <para arch="i386,ia64">The <filename>libthr</filename> 1:1
       threading library is now built by default.</para>
 

==== //depot/projects/hammer/rescue/rescue/Makefile#8 (text+ko) ====

@@ -1,4 +1,4 @@
-#$FreeBSD: src/rescue/rescue/Makefile,v 1.19 2003/09/27 17:27:02 markm Exp $
+#$FreeBSD: src/rescue/rescue/Makefile,v 1.20 2003/10/31 19:48:40 brooks Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/2/93
 
 PROG=	rescue
@@ -128,7 +128,7 @@
 .endif
 
 .if !defined(NO_IPFILTER)
-CRUNCH_PROGS_sbin+= ipf ipfs ipfstat ipmon ipnat
+CRUNCH_PROGS_sbin+= ipf ipfs ipmon
 .endif
 
 # crunchgen does not like C++ programs; this should be fixed someday

==== //depot/projects/hammer/sbin/Makefile#16 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.5 (Berkeley) 3/31/94
-# $FreeBSD: src/sbin/Makefile,v 1.127 2003/08/29 10:35:00 phk Exp $
+# $FreeBSD: src/sbin/Makefile,v 1.128 2003/10/31 18:54:46 brooks Exp $
 
 # XXX MISSING:		icheck ncheck
 
@@ -87,9 +87,7 @@
 .if !defined(NO_IPFILTER)
 SUBDIR+=ipf \
 	ipfs \
-	ipfstat \
-	ipmon \
-	ipnat
+	ipmon
 .endif
 
 .if !defined(NOINET6)

==== //depot/projects/hammer/sbin/ip6fw/ip6fw.c#6 (text+ko) ====

@@ -48,7 +48,7 @@
  * NEW command line interface for IP firewall facility
  *
  * $Id: ip6fw.c,v 1.1.2.2.2.2 1999/05/14 05:13:50 shin Exp $
- * $FreeBSD: src/sbin/ip6fw/ip6fw.c,v 1.14 2003/10/11 10:37:43 ume Exp $
+ * $FreeBSD: src/sbin/ip6fw/ip6fw.c,v 1.15 2003/10/31 18:31:55 brooks Exp $
  */
 
 #include <sys/types.h>
@@ -187,15 +187,9 @@
 static void
 print_iface(char *key, union ip6_fw_if *un, int byname)
 {
-	char ifnb[IP6FW_IFNLEN+1];
 
 	if (byname) {
-		strncpy(ifnb, un->fu_via_if.name, IP6FW_IFNLEN);
-		ifnb[IP6FW_IFNLEN]='\0';
-		if (un->fu_via_if.unit == -1)
-			printf(" %s %s*", key, ifnb);
-		else
-			printf(" %s %s%d", key, ifnb, un->fu_via_if.unit);
+		printf(" %s %s", key, un->fu_via_if.name);
 	} else if (!IN6_IS_ADDR_UNSPECIFIED(&un->fu_via_ip6)) {
 		printf(" %s %s", key, inet_ntop(AF_INET6,&un->fu_via_ip6,ntop_buf,sizeof(ntop_buf)));
 	} else
@@ -825,13 +819,7 @@
 {
 	struct ifreq ifr;
 
-	/*
-	 *	If a unit was specified, check for that exact interface.
-	 *	If a wildcard was specified, check for unit 0.
-	 */
-	snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s%d",
-			 ifu->fu_via_if.name,
-			 ifu->fu_via_if.unit == -1 ? 0 : ifu->fu_via_if.unit);
+	strlcpy(ifr.ifr_name, ifu->fu_via_if.name, sizeof(ifr.ifr_name));
 
 	if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0)
 		warnx("warning: interface ``%s'' does not exist", ifr.ifr_name);
@@ -851,14 +839,17 @@
 		char *q;
 
 		*byname = 1;
-		strncpy(ifu->fu_via_if.name, arg, sizeof(ifu->fu_via_if.name));
-		ifu->fu_via_if.name[sizeof(ifu->fu_via_if.name) - 1] = '\0';
-		for (q = ifu->fu_via_if.name;
-		    *q && !isdigit(*q) && *q != '*'; q++)
-			continue;
-		ifu->fu_via_if.unit = (*q == '*') ? -1 : atoi(q);
-		*q = '\0';
-		verify_interface(ifu);
+		strlcpy(ifu->fu_via_if.name, arg, sizeof(ifu->fu_via_if.name));
+		/*
+		 * We assume that strings containing '*', '?', or '['
+		 * are ment to be shell pattern.
+		 */
+		if (strpbrk(arg, "*?[") != NULL) {
+			ifu->fu_via_if.glob = 1;
+		} else {
+			ifu->fu_via_if.glob = 0;
+			verify_interface(ifu);
+		}
 	} else if (inet_pton(AF_INET6, arg, &ifu->fu_via_ip6) != 1) {
 		show_usage("bad ip6 address ``%s''", arg);
 	} else

==== //depot/projects/hammer/sbin/ipfw/ipfw2.c#16 (text+ko) ====

@@ -17,7 +17,7 @@
  *
  * NEW command line interface for IP firewall facility
  *
- * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.41 2003/10/03 21:01:48 sam Exp $
+ * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.42 2003/10/31 18:31:55 brooks Exp $
  */
 
 #include <sys/param.h>
@@ -1156,11 +1156,7 @@
 				if (cmdif->name[0] == '\0')
 					printf(" %s %s", s,
 					    inet_ntoa(cmdif->p.ip));
-				else if (cmdif->p.unit == -1)
-					printf(" %s %s*", s, cmdif->name);
-				else
-					printf(" %s %s%d", s, cmdif->name,
-					    cmdif->p.unit);
+				printf(" %s %s", s, cmdif->name);
 				}
 				break;
 
@@ -2144,7 +2140,8 @@
  * fill the interface structure. We do not check the name as we can
  * create interfaces dynamically, so checking them at insert time
  * makes relatively little sense.
- * A '*' following the name means any unit.
+ * Interface names containing '*', '?', or '[' are assumed to be shell 
+ * patterns which match interfaces.
  */
 static void
 fill_iface(ipfw_insn_if *cmd, char *arg)
@@ -2156,15 +2153,8 @@
 	if (!strcmp(arg, "any"))
 		cmd->o.len = 0;		/* effectively ignore this command */
 	else if (!isdigit(*arg)) {
-		char *q;
-
-		strncpy(cmd->name, arg, sizeof(cmd->name));
-		cmd->name[sizeof(cmd->name) - 1] = '\0';
-		/* find first digit or wildcard */
-		for (q = cmd->name; *q && !isdigit(*q) && *q != '*'; q++)
-			continue;
-		cmd->p.unit = (*q == '*') ? -1 : atoi(q);
-		*q = '\0';
+		strlcpy(cmd->name, arg, sizeof(cmd->name));
+		cmd->p.glob = strpbrk(arg, "*?[") != NULL ? 1 : 0;
 	} else if (!inet_aton(arg, &cmd->p.ip))
 		errx(EX_DATAERR, "bad ip address ``%s''", arg);
 }

==== //depot/projects/hammer/share/man/man7/hier.7#8 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)hier.7	8.1 (Berkeley) 6/5/93
-.\" $FreeBSD: src/share/man/man7/hier.7,v 1.87 2003/09/13 16:23:49 eivind Exp $
+.\" $FreeBSD: src/share/man/man7/hier.7,v 1.88 2003/10/30 21:25:37 fjoe Exp $
 .\"
 .Dd June 5, 1993
 .Dt HIER 7
@@ -362,8 +362,6 @@

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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