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