PERFORCE change 118516 for review

Marcel Moolenaar marcel at FreeBSD.org
Sat Apr 21 05:02:12 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=118516

Change 118516 by marcel at marcel_xcllnt on 2007/04/21 05:01:16

	IFC @118506

Affected files ...

.. //depot/projects/tty/UPDATING#34 integrate
.. //depot/projects/tty/contrib/top/top.c#8 integrate
.. //depot/projects/tty/etc/mtree/BSD.include.dist#21 integrate
.. //depot/projects/tty/lib/libarchive/archive_write_disk_set_standard_lookup.c#2 integrate
.. //depot/projects/tty/lib/libc/net/rthdr.c#4 integrate
.. //depot/projects/tty/lib/libc/stdio/fputs.3#3 integrate
.. //depot/projects/tty/libexec/ftpd/ftpcmd.y#8 integrate
.. //depot/projects/tty/libexec/ftpd/ftpd.8#12 integrate
.. //depot/projects/tty/libexec/ftpd/ftpd.c#12 integrate
.. //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate
.. //depot/projects/tty/sbin/ping6/ping6.c#7 integrate
.. //depot/projects/tty/share/man/man7/hier.7#15 integrate
.. //depot/projects/tty/share/man/man8/nanobsd.8#3 integrate
.. //depot/projects/tty/share/man/man9/pseudofs.9#3 integrate
.. //depot/projects/tty/sys/amd64/include/vmparam.h#8 integrate
.. //depot/projects/tty/sys/amd64/linux32/linux32_machdep.c#8 integrate
.. //depot/projects/tty/sys/bsm/audit.h#6 integrate
.. //depot/projects/tty/sys/bsm/audit_internal.h#4 integrate
.. //depot/projects/tty/sys/bsm/audit_kevents.h#7 integrate
.. //depot/projects/tty/sys/bsm/audit_record.h#6 integrate
.. //depot/projects/tty/sys/cam/cam_periph.c#16 integrate
.. //depot/projects/tty/sys/cam/cam_periph.h#6 integrate
.. //depot/projects/tty/sys/cam/cam_sim.c#7 integrate
.. //depot/projects/tty/sys/cam/cam_sim.h#4 integrate
.. //depot/projects/tty/sys/cam/cam_xpt.c#20 integrate
.. //depot/projects/tty/sys/cam/scsi/scsi_da.c#20 integrate
.. //depot/projects/tty/sys/cam/scsi/scsi_pt.c#10 integrate
.. //depot/projects/tty/sys/cam/scsi/scsi_sa.c#15 integrate
.. //depot/projects/tty/sys/dev/aic7xxx/aic79xx.c#14 integrate
.. //depot/projects/tty/sys/dev/aic7xxx/aic79xx.h#11 integrate
.. //depot/projects/tty/sys/dev/aic7xxx/aic7xxx.c#10 integrate
.. //depot/projects/tty/sys/dev/aic7xxx/aic7xxx.h#9 integrate
.. //depot/projects/tty/sys/dev/aic7xxx/aic7xxx_inline.h#6 integrate
.. //depot/projects/tty/sys/dev/ath/if_ath.c#22 integrate
.. //depot/projects/tty/sys/dev/cxgb/cxgb_sge.c#2 integrate
.. //depot/projects/tty/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate
.. //depot/projects/tty/sys/dev/hwpmc/hwpmc_logging.c#5 integrate
.. //depot/projects/tty/sys/dev/hwpmc/hwpmc_mod.c#10 integrate
.. //depot/projects/tty/sys/dev/hwpmc/hwpmc_piv.c#10 integrate
.. //depot/projects/tty/sys/dev/ral/rt2560.c#6 integrate
.. //depot/projects/tty/sys/dev/sound/pci/envy24.c#4 integrate
.. //depot/projects/tty/sys/dev/sound/pci/envy24ht.c#3 integrate
.. //depot/projects/tty/sys/dev/sound/pcm/ac97.c#18 integrate
.. //depot/projects/tty/sys/dev/sound/pcm/ac97.h#6 integrate
.. //depot/projects/tty/sys/dev/sound/pcm/ac97_patch.c#7 integrate
.. //depot/projects/tty/sys/dev/sound/pcm/ac97_patch.h#7 integrate
.. //depot/projects/tty/sys/dev/usb/if_ural.c#14 integrate
.. //depot/projects/tty/sys/dev/wi/if_wi.c#21 integrate
.. //depot/projects/tty/sys/fs/devfs/devfs_vnops.c#20 integrate
.. //depot/projects/tty/sys/i386/i386/bios.c#13 integrate
.. //depot/projects/tty/sys/i386/include/vmparam.h#8 integrate
.. //depot/projects/tty/sys/ia64/include/vmparam.h#9 integrate
.. //depot/projects/tty/sys/kern/kern_intr.c#20 integrate
.. //depot/projects/tty/sys/kern/kern_malloc.c#23 integrate
.. //depot/projects/tty/sys/kern/sched_ule.c#21 integrate
.. //depot/projects/tty/sys/kern/subr_witness.c#23 integrate
.. //depot/projects/tty/sys/kern/uipc_syscalls.c#24 integrate
.. //depot/projects/tty/sys/netgraph/ng_ppp.c#10 integrate
.. //depot/projects/tty/sys/netinet/sctp_indata.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_input.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_lock_bsd.h#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_output.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_pcb.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_structs.h#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_uio.h#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_usrreq.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctp_var.h#2 integrate
.. //depot/projects/tty/sys/netinet/sctputil.c#2 integrate
.. //depot/projects/tty/sys/netinet/sctputil.h#2 integrate
.. //depot/projects/tty/sys/netinet/tcp.h#9 integrate
.. //depot/projects/tty/sys/netinet/tcp_input.c#29 integrate
.. //depot/projects/tty/sys/netinet/tcp_output.c#17 integrate
.. //depot/projects/tty/sys/netinet/tcp_syncache.c#21 integrate
.. //depot/projects/tty/sys/netinet/tcp_var.h#23 integrate
.. //depot/projects/tty/sys/pci/intpm.c#9 integrate
.. //depot/projects/tty/sys/powerpc/powerpc/nexus.c#7 integrate
.. //depot/projects/tty/sys/sparc64/include/vmparam.h#2 integrate
.. //depot/projects/tty/sys/sun4v/include/vmparam.h#2 integrate
.. //depot/projects/tty/sys/sys/interrupt.h#11 integrate
.. //depot/projects/tty/sys/sys/socket.h#12 integrate
.. //depot/projects/tty/sys/vm/vm_contig.c#14 integrate
.. //depot/projects/tty/sys/vm/vm_param.h#5 integrate
.. //depot/projects/tty/tools/regression/sockets/sendfile/Makefile#3 integrate
.. //depot/projects/tty/tools/regression/sockets/sendfile/sendfile.c#2 integrate
.. //depot/projects/tty/tools/tools/nanobsd/nanobsd.sh#7 integrate
.. //depot/projects/tty/usr.bin/lastcomm/lastcomm.1#4 integrate
.. //depot/projects/tty/usr.bin/lastcomm/lastcomm.c#6 integrate
.. //depot/projects/tty/usr.bin/make/GNode.h#4 integrate
.. //depot/projects/tty/usr.bin/make/main.c#20 integrate
.. //depot/projects/tty/usr.bin/make/make.c#6 integrate
.. //depot/projects/tty/usr.bin/make/targ.c#6 integrate
.. //depot/projects/tty/usr.bin/tar/test/test-basic.sh#2 integrate
.. //depot/projects/tty/usr.bin/tar/util.c#6 integrate
.. //depot/projects/tty/usr.sbin/daemon/daemon.c#6 integrate

Differences ...

==== //depot/projects/tty/UPDATING#34 (text+ko) ====

@@ -767,4 +767,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.486 2007/04/17 00:41:59 thompsa Exp $
+$FreeBSD: src/UPDATING,v 1.488 2007/04/19 17:08:54 dds Exp $

==== //depot/projects/tty/contrib/top/top.c#8 (text+ko) ====

@@ -13,7 +13,7 @@
  *  Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory
  *  Copyright (c) 1996, William LeFebvre, Group sys Consulting
  *
- * $FreeBSD: src/contrib/top/top.c,v 1.21 2007/04/17 03:12:39 rafan Exp $
+ * $FreeBSD: src/contrib/top/top.c,v 1.22 2007/04/19 14:24:54 rafan Exp $
  */
 
 /*
@@ -410,7 +410,7 @@
 	      default:
 		fprintf(stderr,
 "Top version %s\n"
-"Usage: %s [-bCHIinqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n"
+"Usage: %s [-abCHIijnqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n"
 "       [-U username] [number]\n",
 			version_string(), myname);
 		exit(1);

==== //depot/projects/tty/etc/mtree/BSD.include.dist#21 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.111 2007/02/27 04:01:57 mjacob Exp $
+# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.112 2007/04/18 10:16:42 trhodes Exp $
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
@@ -209,8 +209,6 @@
     ..
     pccard
     ..
-    posix4
-    ..
     protocols
     ..
     readline

==== //depot/projects/tty/lib/libarchive/archive_write_disk_set_standard_lookup.c#2 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.1 2007/03/03 07:37:36 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.2 2007/04/20 15:32:13 kientzle Exp $");
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -72,6 +72,7 @@
 	id_t	 id;
 };
 
+static const size_t cache_size = 127;
 static unsigned int	hash(const char *);
 static gid_t	lookup_gid(void *, const char *uname, gid_t);
 static uid_t	lookup_uid(void *, const char *uname, uid_t);
@@ -99,10 +100,10 @@
 int
 archive_write_disk_set_standard_lookup(struct archive *a)
 {
-	struct bucket *ucache = malloc(sizeof(struct bucket[127]));
-	struct bucket *gcache = malloc(sizeof(struct bucket[127]));
-	memset(ucache, 0, sizeof(struct bucket[127]));
-	memset(gcache, 0, sizeof(struct bucket[127]));
+	struct bucket *ucache = malloc(sizeof(struct bucket[cache_size]));
+	struct bucket *gcache = malloc(sizeof(struct bucket[cache_size]));
+	memset(ucache, 0, sizeof(struct bucket[cache_size]));
+	memset(gcache, 0, sizeof(struct bucket[cache_size]));
 	archive_write_disk_set_group_lookup(a, gcache, lookup_gid, cleanup);
 	archive_write_disk_set_user_lookup(a, ucache, lookup_uid, cleanup);
 	return (ARCHIVE_OK);
@@ -113,11 +114,8 @@
 {
 	int h;
 	struct bucket *b;
-	int cache_size;
 	struct bucket *gcache = (struct bucket *)private_data;
 
-	cache_size = 127;
-
 	/* If no gname, just use the gid provided. */
 	if (gname == NULL || *gname == '\0')
 		return (gid);
@@ -153,11 +151,8 @@
 {
 	int h;
 	struct bucket *b;
-	int cache_size;
 	struct bucket *ucache = (struct bucket *)private_data;
 
-	cache_size = 127;
-
 	/* If no uname, just use the uid provided. */
 	if (uname == NULL || *uname == '\0')
 		return (uid);
@@ -191,7 +186,12 @@
 static void
 cleanup(void *private)
 {
-	free(private);
+	size_t i;
+	struct bucket *cache = (struct bucket *)private;
+
+	for (i = 0; i < cache_size; i++)
+		free(cache[i].name);
+	free(cache);
 }
 
 

==== //depot/projects/tty/lib/libc/net/rthdr.c#4 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.8 2005/07/19 18:13:58 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.9 2007/04/19 15:48:16 mtm Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -292,7 +292,9 @@
 {
 	switch (type) {
 	case IPV6_RTHDR_TYPE_0:
-		return (((segments * 2) + 1) << 3);
+		if ((segments >= 0) && (segments <= 127))
+			return (((segments * 2) + 1) << 3);
+		/* FALLTHROUGH */
 	default:
 		return (0);	/* type not suppported */
 	}
@@ -309,6 +311,9 @@
 		/* length validation */
 		if (bp_len < inet6_rth_space(IPV6_RTHDR_TYPE_0, segments))
 			return (NULL);
+		/* segment validation */
+		if ((segments < 0) || (segments > 127))
+			return (NULL);
 
 		memset(bp, 0, bp_len);
 		rth0 = (struct ip6_rthdr0 *)rth;
@@ -334,6 +339,9 @@
 	switch (rth->ip6r_type) {
 	case IPV6_RTHDR_TYPE_0:
 		rth0 = (struct ip6_rthdr0 *)rth;
+		/* Don't exceed the number of stated segments */
+		if (rth0->ip6r0_segleft == (rth0->ip6r0_len / 2))
+			return (-1);
 		nextaddr = (struct in6_addr *)(rth0 + 1) + rth0->ip6r0_segleft;
 		*nextaddr = *addr;
 		rth0->ip6r0_segleft++;

==== //depot/projects/tty/lib/libc/stdio/fputs.3#3 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)fputs.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdio/fputs.3,v 1.12 2007/01/09 00:28:06 imp Exp $
+.\" $FreeBSD: src/lib/libc/stdio/fputs.3,v 1.14 2007/04/19 14:01:04 phk Exp $
 .\"
 .Dd June 4, 1993
 .Dt FPUTS 3
@@ -66,14 +66,11 @@
 to the stream
 .Dv stdout .
 .Sh RETURN VALUES
-The
+The functions
 .Fn fputs
-function
-returns 0 on success and
-.Dv EOF
-on error;
+and
 .Fn puts
-returns a nonnegative integer on success and
+return a nonnegative integer on success and
 .Dv EOF
 on error.
 .Sh ERRORS

==== //depot/projects/tty/libexec/ftpd/ftpcmd.y#8 (text+ko) ====

@@ -47,7 +47,7 @@
 #endif /* not lint */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/libexec/ftpd/ftpcmd.y,v 1.65 2006/06/05 15:50:34 yar Exp $");
+__FBSDID("$FreeBSD: src/libexec/ftpd/ftpcmd.y,v 1.66 2007/04/18 22:43:39 yar Exp $");
 
 #include <sys/param.h>
 #include <sys/socket.h>
@@ -95,6 +95,7 @@
 extern	int usedefault;
 extern  char tmpline[];
 extern	int readonly;
+extern	int assumeutf8;
 extern	int noepsv;
 extern	int noretr;
 extern	int noguestretr;
@@ -135,7 +136,7 @@
 	ABOR	DELE	CWD	LIST	NLST	SITE
 	STAT	HELP	NOOP	MKD	RMD	PWD
 	CDUP	STOU	SMNT	SYST	SIZE	MDTM
-	LPRT	LPSV	EPRT	EPSV
+	LPRT	LPSV	EPRT	EPSV	FEAT
 
 	UMASK	IDLE	CHMOD	MDFIVE
 
@@ -687,6 +688,25 @@
 			if ($4 != NULL)
 				free($4);
 		}
+	| FEAT CRLF
+		{
+			lreply(211, "Extensions supported:");
+#if 0
+			/* XXX these two keywords are non-standard */
+			printf(" EPRT\r\n");
+			if (!noepsv)
+				printf(" EPSV\r\n");
+#endif
+			printf(" MDTM\r\n");
+			printf(" REST STREAM\r\n");
+			printf(" SIZE\r\n");
+			if (assumeutf8) {
+				/* TVFS requires UTF8, see RFC 3659 */
+				printf(" TVFS\r\n");
+				printf(" UTF8\r\n");
+			}
+			reply(211, "End.");
+		}
 	| SYST check_login CRLF
 		{
 			if ($2) {
@@ -1112,6 +1132,7 @@
 	{ "NLST", NLST, OSTR, 1,	"[ <sp> path-name ]" },
 	{ "SITE", SITE, SITECMD, 1,	"site-cmd [ <sp> arguments ]" },
 	{ "SYST", SYST, ARGS, 1,	"(get type of operating system)" },
+	{ "FEAT", FEAT, ARGS, 1,	"(get extended features)" },
 	{ "STAT", STAT, OSTR, 1,	"[ <sp> path-name ]" },
 	{ "HELP", HELP, OSTR, 1,	"[ <sp> <string> ]" },
 	{ "NOOP", NOOP, ARGS, 1,	"" },

==== //depot/projects/tty/libexec/ftpd/ftpd.8#12 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)ftpd.8	8.2 (Berkeley) 4/19/94
-.\" $FreeBSD: src/libexec/ftpd/ftpd.8,v 1.71 2006/01/29 13:10:38 yar Exp $
+.\" $FreeBSD: src/libexec/ftpd/ftpd.8,v 1.74 2007/04/20 09:08:20 trhodes Exp $
 .\"
-.Dd January 21, 2006
+.Dd April 20, 2007
 .Dt FTPD 8
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Nd Internet File Transfer Protocol server
 .Sh SYNOPSIS
 .Nm
-.Op Fl 46ADdEhMmOoRrSUvW
+.Op Fl 468ADdEhMmOoRrSUvW
 .Op Fl l Op Fl l
 .Op Fl a Ar address
 .Op Fl P Ar port
@@ -78,6 +78,20 @@
 is specified, accept connections via
 .Dv AF_INET6
 socket.
+.It Fl 8
+Enable transparent UTF-8 mode.
+RFC\ 2640 compliant clients will be told that the character encoding
+used by the server is UTF-8, which is the only effect of the option.
+.Pp
+This option does not enable any encoding conversion for server file names;
+it implies instead that the names of files on the server are encoded
+in UTF-8.
+As for files uploaded via FTP, it is the duty of the RFC\ 2640 compliant
+client to convert their names from the client's local encoding to UTF-8.
+FTP command names and own
+.Nm
+messages are always encoded in ASCII, which is a subset of UTF-8.
+Hence no need for server-side conversion at all.
 .It Fl A
 Allow only anonymous ftp access.
 .It Fl a
@@ -250,6 +264,7 @@
 .It DELE Ta "delete a file [RW]"
 .It EPRT Ta "specify data connection port, multiprotocol"
 .It EPSV Ta "prepare for server-to-server transfer, multiprotocol"
+.It FEAT Ta "give information on extended features of server"
 .It HELP Ta "give help information"
 .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA"
 .It LPRT Ta "specify data connection port, multiprotocol"
@@ -340,16 +355,15 @@
 and not have a null password.
 In this case a password must be provided by the client before any
 file operations may be performed.
-If the user has an S/Key key, the response from a successful USER
-command will include an S/Key challenge.
+If the user has an OPIE key, the response from a successful USER
+command will include an OPIE challenge.
 The client may choose to respond with a PASS command giving either
-a standard password or an S/Key one-time password.
+a standard password or an OPIE one-time password.
 The server will automatically determine which type of
 password it has been given and attempt to authenticate accordingly.
 See
-.Xr key 1
-for more information on S/Key authentication.
-S/Key is a Trademark of Bellcore.
+.Xr opie 4
+for more information on OPIE authentication.
 .It
 The login name must not appear in the file
 .Pa /etc/ftpusers .
@@ -543,9 +557,9 @@
 .El
 .Sh SEE ALSO
 .Xr ftp 1 ,
-.Xr key 1 ,
 .Xr umask 2 ,
 .Xr getusershell 3 ,
+.Xr opie 4 ,
 .Xr ftpchroot 5 ,
 .Xr login.conf 5 ,
 .Xr inetd 8 ,

==== //depot/projects/tty/libexec/ftpd/ftpd.c#12 (text+ko) ====

@@ -46,7 +46,7 @@
 #endif /* not lint */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/libexec/ftpd/ftpd.c,v 1.211 2007/02/09 17:18:39 yar Exp $");
+__FBSDID("$FreeBSD: src/libexec/ftpd/ftpd.c,v 1.212 2007/04/18 22:43:39 yar Exp $");
 
 /*
  * FTP server.
@@ -128,6 +128,7 @@
 int	restricted_data_ports = 1;
 int	paranoid = 1;	  /* be extra careful about security */
 int	anon_only = 0;    /* Only anonymous ftp allowed */
+int	assumeutf8 = 0;   /* Assume that server file names are in UTF-8 */
 int	guest;
 int	dochroot;
 char	*chrootdir;
@@ -308,7 +309,7 @@
 	openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP);
 
 	while ((ch = getopt(argc, argv,
-	                    "46a:AdDEhlmMoOp:P:rRSt:T:u:UvW")) != -1) {
+	                    "468a:AdDEhlmMoOp:P:rRSt:T:u:UvW")) != -1) {
 		switch (ch) {
 		case '4':
 			family = (family == AF_INET6) ? AF_UNSPEC : AF_INET;
@@ -318,6 +319,10 @@
 			family = (family == AF_INET) ? AF_UNSPEC : AF_INET6;
 			break;
 
+		case '8':
+			assumeutf8 = 1;
+			break;
+
 		case 'a':
 			bindname = optarg;
 			break;

==== //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 (text+ko) ====

@@ -30,7 +30,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1018 2007/04/17 07:01:45 brueffer Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1020 2007/04/20 16:12:31 brueffer Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -499,6 +499,9 @@
       <para>[&arch.pc98;] A bootable CDROM loader has been implemented
 	for the pc98 platform. &merged;</para>
 
+      <para>[&arch.pc98;] The <application>IPLware</application> support
+	in boot0.5 has been enhanced to support version 3.33.</para>
+
       <para>[&arch.i386;] A bug in the i386 boot loader, which could
 	cause file system corruption if
 	a <filename>nextboot.conf</filename> file was used and landed
@@ -978,6 +981,10 @@
         IPv6 support, it should be used instead.  Please note that some rules might need
         to be adjusted.</para>
 
+      <para>The &man.lagg.4; driver, ported from OpenBSD and NetBSD,
+	has been added to support a variety of protocols and algorithms
+	for link aggregation, failover, and fault tolerance.</para>
+
       <para>The &man.natm.4;, Native Mode ATM protocol layer is now MPSAFE.</para>
 
       <para>A new &man.ng.deflate.4; Netgraph node type has been
@@ -1103,10 +1110,6 @@
 	devices will marked <literal>up</literal> upon creation.  &merged;
 	</para>
 
-      <para>The &man.lagg.4; driver, ported from OpenBSD and NetBSD,
-	has been added to support a variety of protocols and algorithms
-	for link aggregation, failover, and fault tolerance.</para>
-
       <para>Support for &man.kqueue.2; operations has been added to
 	the &man.tun.4; driver. &merged;</para>
 
@@ -1133,6 +1136,10 @@
       <para>The &man.arcmsr.4; driver has been updated to version
 	1.20.00.13. &merged;</para>
 
+      <para>The &man.ahc.4; driver is now MPSAFE.</para>
+
+      <para>The &man.ahd.4; driver is now MPSAFE.</para>
+
       <para>The &man.ata.4; driver now supports a workaround
 	for some controllers whose DMA does not work properly
 	in 48bit mode.  For affected controllers,
@@ -1158,6 +1165,8 @@
       <para>The &man.ataraid.4; driver now supports
 	JMicron ATA RAID metadata.  &merged;</para>
 
+      <para>The CAM subsystem is now MPSAFE.</para>
+
       <para>The <literal>GEOM_LABEL</literal> class now supports
 	Ext2FS, NTFS, and ReiserFS.  &merged;</para>
 
@@ -1295,8 +1304,9 @@
       <para>A part of the FreeBSD NFS subsystem (the interface with
 	the protocol stack and callouts, the NFS client side) is now MPSAFE.</para>
 
-      <para>Initial (read-only) support for SGI's XFS file system has been
-	added.</para>
+      <para>The &man.pseudofs.9; pseudo file system construction kit and
+	all of its consumers (&man.procfs.5;, &man.linprocfs.5; and
+	&man.linsysfs.5;), are now MPSAFE.</para>
 
       <para>The unionfs file system has been re-implemented.  This
 	version solves many crashing and locking issues compared to
@@ -1312,6 +1322,8 @@
 	on the <ulink url="http://www.opensolaris.org/os/community/zfs/">
 	  OpenSolaris ZFS page</ulink>.</para>
 
+      <para>Initial (read-only) support for SGI's XFS file system has been
+	added.</para>
     </sect3>
   </sect2>
 
@@ -1424,6 +1436,12 @@
       <filename>/var/run/ftpd.pid</filename> even when
       no <option>-p</option> option is specified.  &merged;</para>
 
+    <para>The &man.ftpd.8; utility now has support for RFC2389 (FEAT)
+      and rudimentary support for RFC2640 (UTF8).  The RFC2640 support
+      is optional and can be enabled using the new <option>-8</option>
+      flag.  More information can be found in the &man.ftpd.8; manual
+      page.</para>
+
     <para>The &man.gbde.8; utility now supports
       <option>-k</option> and <option>-K</option> options
       to specify a key file in addition to a passphrase.</para>
@@ -1520,6 +1538,9 @@
       This allows one to use kgdb on <filename>/dev/mem</filename>
       and be able to patch memory on a live system.</para>
 
+    <para>The &man.lastcomm.1; utility now supports a <option>-X</option>
+      flag to export accounting data in a text format.</para>
+
     <para>The &man.libarchive.3; library now supports
       POSIX.1e-style Extended Attributes.</para>
 
@@ -1992,7 +2013,7 @@
       0.9.7e to 0.9.8e.</para>
 
     <para><application>ncurses</application> has been updated from
-      5.2-20010512 to 5.6-20061217.  ncurses now also has wide
+      5.2-20020615 to 5.6-20061217.  ncurses now also has wide
       character support.  &merged;</para>
 
     <para><application>hostapd</application>
@@ -2000,7 +2021,9 @@
       &merged;</para>
 
     <para><application>sendmail</application> has been updated from
-      8.13.4 to 8.14.1. &merged;</para>
+      8.13.4 to 8.14.1.   This upgrade includes a new libmilter
+      library which requires all dynamically linked milters to be
+      recompiled.  &merged;</para>
 
     <para><application>tcpdump</application> has been updated from
       3.9.1 to 3.9.4. &merged;</para>
@@ -2013,12 +2036,12 @@
       snapshot from OpenBSD as of 20060831.</para>
 
     <para>TrustedBSD <application>OpenBSM</application>,
-      version 1.0 alpha 12, an implementation of the documented Sun Basic
+      version 1.0 alpha 14, an implementation of the documented Sun Basic
       Security Module (BSM) Audit API and file format, as well as local
       extensions to support the Mac OS X and &os; operating systems
       has been added.  This also includes command line tools for audit
-      trail reduction and conversion to text, as well as documentation
-      of the commands, file format, and APIs.
+      trail reduction and conversion to text and XML, as well as
+      documentation of the commands, file format, and APIs.
       For this functionality, the <literal>AUDIT</literal> kernel option,
       <filename>/var/audit</filename> directory, and
       <literal>audit</literal> group have been added. &merged;</para>

==== //depot/projects/tty/sbin/ping6/ping6.c#7 (text+ko) ====

@@ -78,7 +78,7 @@
 static char sccsid[] = "@(#)ping.c	8.1 (Berkeley) 6/5/93";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ping6/ping6.c,v 1.29 2005/02/10 09:19:32 ru Exp $";
+  "$FreeBSD: src/sbin/ping6/ping6.c,v 1.30 2007/04/19 15:41:00 mtm Exp $";
 #endif /* not lint */
 
 /*
@@ -150,6 +150,7 @@
 #define ICMP6ECHOLEN	8	/* icmp echo header len excluding time */
 #define ICMP6ECHOTMLEN sizeof(struct tv32)
 #define ICMP6_NIQLEN	(ICMP6ECHOLEN + 8)
+# define CONTROLLEN	10240	/* ancillary data buffer size RFC3542 20.1 */
 /* FQDN case, 64 bits of nonce + 32 bits ttl */
 #define ICMP6_NIRLEN	(ICMP6ECHOLEN + 12)
 #define	EXTRA		256	/* for AH and various other headers. weird. */
@@ -269,8 +270,8 @@
 	char *, size_t);
 void	 pr_pack(u_char *, int, struct msghdr *);
 void	 pr_exthdrs(struct msghdr *);
-void	 pr_ip6opt(void *);
-void	 pr_rthdr(void *);
+void	 pr_ip6opt(void *, size_t);
+void	 pr_rthdr(void *, size_t);
 int	 pr_bitrange(u_int32_t, int, int);
 void	 pr_retip(struct ip6_hdr *, u_char *);
 void	 summary(void);
@@ -307,6 +308,7 @@
 	char *e, *target, *ifname = NULL, *gateway = NULL;
 	int ip6optlen = 0;
 	struct cmsghdr *scmsgp = NULL;
+	struct cmsghdr *cm;
 #if defined(SO_SNDBUF) && defined(SO_RCVBUF)
 	u_long lsockbufsize;
 	int sockbufsize = 0;
@@ -1057,10 +1059,13 @@
 	seeninfo = 0;
 #endif
 
+	/* For control (ancillary) data received from recvmsg() */
+	cm = (struct cmsghdr *)malloc(CONTROLLEN);
+	if (cm == NULL)
+		err(1, "malloc");
+
 	for (;;) {
 		struct msghdr m;
-		struct cmsghdr *cm;
-		u_char buf[1024];
 		struct iovec iov[2];
 
 		/* signal handling */
@@ -1127,9 +1132,9 @@
 		iov[0].iov_len = packlen;
 		m.msg_iov = iov;
 		m.msg_iovlen = 1;
-		cm = (struct cmsghdr *)buf;
-		m.msg_control = (caddr_t)buf;
-		m.msg_controllen = sizeof(buf);
+		memset(cm, 0, CONTROLLEN);
+		m.msg_control = (void *)cm;
+		m.msg_controllen = CONTROLLEN;
 
 		cc = recvmsg(s, &m, 0);
 		if (cc < 0) {
@@ -1493,6 +1498,9 @@
 			    pr_addr(from, fromlen));
 		return;
 	}
+	if (((mhdr->msg_flags & MSG_CTRUNC) != 0) &&
+	    (options & F_VERBOSE) != 0)
+		warnx("some control data discarded, insufficient buffer size");
 	icp = (struct icmp6_hdr *)buf;
 	ni = (struct icmp6_nodeinfo *)buf;
 	off = 0;
@@ -1735,28 +1743,35 @@
 pr_exthdrs(mhdr)
 	struct msghdr *mhdr;
 {
+	ssize_t	bufsize;
+	void	*bufp;
 	struct cmsghdr *cm;
 
+	bufsize = 0;
+	bufp = mhdr->msg_control;
 	for (cm = (struct cmsghdr *)CMSG_FIRSTHDR(mhdr); cm;
 	     cm = (struct cmsghdr *)CMSG_NXTHDR(mhdr, cm)) {
 		if (cm->cmsg_level != IPPROTO_IPV6)
 			continue;
 
+		bufsize = CONTROLLEN - ((caddr_t)CMSG_DATA(cm) - (caddr_t)bufp);
+		if (bufsize <= 0)
+			continue; 
 		switch (cm->cmsg_type) {
 		case IPV6_HOPOPTS:
 			printf("  HbH Options: ");
-			pr_ip6opt(CMSG_DATA(cm));
+			pr_ip6opt(CMSG_DATA(cm), (size_t)bufsize);
 			break;
 		case IPV6_DSTOPTS:
 #ifdef IPV6_RTHDRDSTOPTS
 		case IPV6_RTHDRDSTOPTS:
 #endif
 			printf("  Dst Options: ");
-			pr_ip6opt(CMSG_DATA(cm));
+			pr_ip6opt(CMSG_DATA(cm), (size_t)bufsize);
 			break;
 		case IPV6_RTHDR:
 			printf("  Routing: ");
-			pr_rthdr(CMSG_DATA(cm));
+			pr_rthdr(CMSG_DATA(cm), (size_t)bufsize);
 			break;
 		}
 	}
@@ -1764,12 +1779,12 @@
 
 #ifdef USE_RFC2292BIS
 void
-pr_ip6opt(void *extbuf)
+pr_ip6opt(void *extbuf, size_t bufsize)
 {
 	struct ip6_hbh *ext;
 	int currentlen;
 	u_int8_t type;
-	socklen_t extlen, len;
+	socklen_t extlen, len, origextlen;
 	void *databuf;
 	size_t offset;
 	u_int16_t value2;
@@ -1780,6 +1795,18 @@
 	printf("nxt %u, len %u (%lu bytes)\n", ext->ip6h_nxt,
 	    (unsigned int)ext->ip6h_len, (unsigned long)extlen);
 
+	/*
+	 * Bounds checking on the ancillary data buffer:
+	 *     subtract the size of a cmsg structure from the buffer size.
+	 */
+	if (bufsize < (extlen  + CMSG_SPACE(0))) {
+		origextlen = extlen;
+		extlen = bufsize - CMSG_SPACE(0);
+		warnx("options truncated, showing only %u (total=%u)",
+		    (unsigned int)(extlen / 8 - 1),
+		    (unsigned int)(ext->ip6h_len));
+	}
+
 	currentlen = 0;
 	while (1) {
 		currentlen = inet6_opt_next(extbuf, extlen, currentlen,
@@ -1816,7 +1843,7 @@
 #else  /* !USE_RFC2292BIS */
 /* ARGSUSED */
 void
-pr_ip6opt(void *extbuf)
+pr_ip6opt(void *extbuf, size_t bufsize __unused)
 {
 	putchar('\n');
 	return;
@@ -1825,21 +1852,43 @@
 
 #ifdef USE_RFC2292BIS
 void
-pr_rthdr(void *extbuf)
+pr_rthdr(void *extbuf, size_t bufsize)
 {
 	struct in6_addr *in6;
 	char ntopbuf[INET6_ADDRSTRLEN];
 	struct ip6_rthdr *rh = (struct ip6_rthdr *)extbuf;
-	int i, segments;
+	int i, segments, origsegs, rthsize, size0, size1;
 
 	/* print fixed part of the header */
 	printf("nxt %u, len %u (%d bytes), type %u, ", rh->ip6r_nxt,
 	    rh->ip6r_len, (rh->ip6r_len + 1) << 3, rh->ip6r_type);
-	if ((segments = inet6_rth_segments(extbuf)) >= 0)
+	if ((segments = inet6_rth_segments(extbuf)) >= 0) {
 		printf("%d segments, ", segments);
-	else
+		printf("%d left\n", rh->ip6r_segleft);
+	} else {
 		printf("segments unknown, ");
-	printf("%d left\n", rh->ip6r_segleft);
+		printf("%d left\n", rh->ip6r_segleft);
+		return;
+	}
+
+	/*
+	 * Bounds checking on the ancillary data buffer. When calculating
+	 * the number of items to show keep in mind:
+	 *	- The size of the cmsg structure
+	 *	- The size of one segment (the size of a Type 0 routing header)
+	 *	- When dividing add a fudge factor of one in case the
+	 *	  dividend is not evenly divisible by the divisor
+	 */
+	rthsize = (rh->ip6r_len + 1) * 8;
+	if (bufsize < (rthsize + CMSG_SPACE(0))) {
+		origsegs = segments;
+		size0 = inet6_rth_space(IPV6_RTHDR_TYPE_0, 0);
+		size1 = inet6_rth_space(IPV6_RTHDR_TYPE_0, 1);
+		segments -= (rthsize - (bufsize - CMSG_SPACE(0))) /
+		    (size1 - size0) + 1;
+		warnx("segments truncated, showing only %d (total=%d)",
+		    segments, origsegs);
+	}
 
 	for (i = 0; i < segments; i++) {
 		in6 = inet6_rth_getaddr(extbuf, i);
@@ -1860,7 +1909,7 @@
 #else  /* !USE_RFC2292BIS */
 /* ARGSUSED */
 void
-pr_rthdr(void *extbuf)
+pr_rthdr(void *extbuf, size_t bufsize __unused)
 {
 	putchar('\n');
 	return;

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

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)hier.7	8.1 (Berkeley) 6/5/93
-.\" $FreeBSD: src/share/man/man7/hier.7,v 1.125 2007/04/04 00:14:36 chinsan Exp $
+.\" $FreeBSD: src/share/man/man7/hier.7,v 1.126 2007/04/18 10:16:43 trhodes Exp $
 .\"
-.Dd April 3, 2007
+.Dd April 18, 2007
 .Dt HIER 7
 .Os
 .Sh NAME
@@ -349,10 +349,6 @@
 OpenSSL (Cryptography/SSL toolkit) headers
 .It Pa pccard/
 PC-CARD controllers
-.It Pa posix4/
-POSIX real-time extensions includes;
-see
-.Xr p1003_1b 9
 .It Pa protocols/
 C include files for Berkeley service protocols
 .It Pa readline/

==== //depot/projects/tty/share/man/man8/nanobsd.8#3 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man8/nanobsd.8,v 1.2 2006/11/05 20:08:58 danger Exp $
+.\" $FreeBSD: src/share/man/man8/nanobsd.8,v 1.3 2007/04/20 07:21:08 adrian Exp $
 .\"
 .Dd August 28, 2006
 .Dt NANOBSD 8
@@ -197,6 +197,18 @@
 Path to the source tree used to build the image.
 .It Va NANO_KERNEL
 Name of the kernel configuration file used to build the kernel.
+.It Va NANO_BOOT0CFG
+Controls the options passed to
+.Xr boot0cfg 8
+; these dictate boot0's behaviour.
+.It Va NANO_BOOTLOADER
+The boot0 loader to use relative to the ${NANO_WORLDDIR} variable.
+This defaults to
+.Pa boot/boot0sio
+and should be overridden to
+.Pa boot/boot0
+to provide a VGA
+console.
 .It Va CONF_BUILD
 Options passed to the
 .Cm buildworld
@@ -293,6 +305,8 @@
 .Ed
 .Sh SEE ALSO
 .Xr make.conf 5 ,
+.Xr boot 8 ,
+.Xr boot0cfg 8 ,
 .Xr picobsd 8
 .Sh HISTORY
 The

==== //depot/projects/tty/share/man/man9/pseudofs.9#3 (text+ko) ====

@@ -23,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/pseudofs.9,v 1.5 2004/07/03 18:29:24 ru Exp $
+.\" $FreeBSD: src/share/man/man9/pseudofs.9,v 1.6 2007/04/20 15:38:06 brueffer Exp $
 .\"
-.Dd September 30, 2001
+.Dd April 20, 2007
 .Dt PSEUDOFS 9
 .Os
 .Sh NAME
@@ -54,6 +54,7 @@
 .\" Insert more info here
 .Sh SEE ALSO
 .Xr linprocfs 5 ,
+.Xr linsysfs 5 ,
 .Xr procfs 5 ,
 .Xr sbuf 9 ,
 .Xr vnode 9

==== //depot/projects/tty/sys/amd64/include/vmparam.h#8 (text+ko) ====

@@ -38,7 +38,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.45 2004/10/27 17:21:15 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.46 2007/04/21 01:14:47 sepotvin Exp $
  */
 
 
@@ -122,7 +122,8 @@
 
 /*
  * How many physical pages per KVA page allocated.
- * min(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE), VM_KMEM_SIZE_MAX)
+ * min(max(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE),
+ *     VM_KMEM_SIZE_MIN), VM_KMEM_SIZE_MAX)
  * is the total KVA space allocated for kmem_map.
  */
 #ifndef VM_KMEM_SIZE_SCALE

==== //depot/projects/tty/sys/amd64/linux32/linux32_machdep.c#8 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.41 2007/04/18 18:11:32 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.42 2007/04/18 20:12:05 jkim Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -526,7 +526,9 @@
 
 	td2 = FIRST_THREAD_IN_PROC(p2);
 
-	/* make it run */
+	/*
+	 * Make this runnable after we are finished with it.
+	 */
 	mtx_lock_spin(&sched_lock);
 	TD_SET_CAN_RUN(td2);
 	sched_add(td2, SRQ_BORING);
@@ -572,8 +574,8 @@
 	/*
 	 * XXX: In Linux, sharing of fs info (chroot/cwd/umask)
 	 * and open files is independant.  In FreeBSD, its in one
-	 * structure but in reality it does not make any problems
-	 * because both of these flags are set at once usually.
+	 * structure but in reality it does not cause any problems
+	 * because both of these flags are usually set together.
 	 */
 	if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS)))
 		ff |= RFFDG;
@@ -660,15 +662,15 @@
 	if (args->flags & LINUX_CLONE_SETTLS) {
 		struct user_segment_descriptor sd;
 		struct l_user_desc info;
-	   	int a[2];
+		int a[2];
 
-	   	error = copyin((void *)td->td_frame->tf_rsi, &info,

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


More information about the p4-projects mailing list