Date: Sat, 21 Apr 2007 05:02:09 GMT From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 118516 for review Message-ID: <200704210502.l3L529h9060228@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=118516 Change 118516 by marcel@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704210502.l3L529h9060228>