Date: Tue, 8 Jan 2008 22:51:12 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 132827 for review Message-ID: <200801082251.m08MpC4l046508@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132827 Change 132827 by jb@jb_freebsd1 on 2008/01/08 22:50:59 IFC Affected files ... .. //depot/projects/dtrace/ports/UPDATING#44 integrate .. //depot/projects/dtrace/src/etc/defaults/periodic.conf#10 integrate .. //depot/projects/dtrace/src/etc/periodic/daily/460.status-mail-rejects#4 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#10 integrate .. //depot/projects/dtrace/src/lib/libc/gen/posixshm.c#4 delete .. //depot/projects/dtrace/src/lib/libc/gen/shm_open.3#4 delete .. //depot/projects/dtrace/src/lib/libc/sys/Makefile.inc#6 integrate .. //depot/projects/dtrace/src/lib/libc/sys/shm_open.2#1 branch .. //depot/projects/dtrace/src/share/man/man4/lagg.4#2 integrate .. //depot/projects/dtrace/src/share/man/man7/bsd.snmpmod.mk.7#4 integrate .. //depot/projects/dtrace/src/share/mk/bsd.snmpmod.mk#4 integrate .. //depot/projects/dtrace/src/share/termcap/termcap.src#7 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#31 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#18 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#18 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#18 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#18 integrate .. //depot/projects/dtrace/src/sys/conf/files#62 integrate .. //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#14 integrate .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#27 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#18 integrate .. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#16 integrate .. //depot/projects/dtrace/src/sys/kern/subr_lock.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#17 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#16 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/tty.c#11 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_shm.c#1 branch .. //depot/projects/dtrace/src/sys/netinet6/frag6.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet6/icmp6.c#11 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_ifattach.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_proto.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_rmx.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_src.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_input.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_mroute.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/ip6_output.c#9 integrate .. //depot/projects/dtrace/src/sys/netinet6/mld6.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet6/nd6.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet6/nd6_nbr.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet6/nd6_rtr.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet6/raw_ip6.c#8 integrate .. //depot/projects/dtrace/src/sys/netinet6/udp6_usrreq.c#14 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_framework.h#14 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_policy.h#8 integrate .. //depot/projects/dtrace/src/sys/security/mac/mac_posix_shm.c#1 branch .. //depot/projects/dtrace/src/sys/security/mac_stub/mac_stub.c#13 integrate .. //depot/projects/dtrace/src/sys/security/mac_test/mac_test.c#13 integrate .. //depot/projects/dtrace/src/sys/sys/fcntl.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/file.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/mman.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#17 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#17 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#17 integrate .. //depot/projects/dtrace/src/sys/vm/swap_pager.c#16 integrate .. //depot/projects/dtrace/src/sys/vm/vm_mmap.c#10 integrate .. //depot/projects/dtrace/src/usr.bin/unzip/Makefile#1 branch .. //depot/projects/dtrace/src/usr.bin/unzip/unzip.1#1 branch .. //depot/projects/dtrace/src/usr.bin/unzip/unzip.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/config/main.c#6 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#16 integrate .. //depot/projects/dtrace/www/share/sgml/templates.news-rss.xsl#2 integrate Differences ... ==== //depot/projects/dtrace/ports/UPDATING#44 (text+ko) ==== @@ -6,6 +6,21 @@ time you update your ports collection, before attempting any port upgrades. +20080108: + AFFECTS: users of irc/bitlbee + AUTHOR: brix@FreeBSD.org + + irc/bitlbee now stores saved user settings in /var/db/bitlbee/, not + $PREFIX/etc/bitlbee/. You will have to manually move any existing + user settings to the new location (or override the user settings + directory using -d if you wish to keep the old behavior). Other + configuration files are still kept in $PREFIX/etc/bitlbee/ by + default. + + The default installation is now configured for running bitlbee as + user 'nobody' by default. Make sure any existing configuration + files are readable by that user. + 20071225: AFFECTS: users of www/amphetadesk AUTHOR: lioux@FreeBSD.org @@ -5922,4 +5937,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.572 2007/12/30 09:20:24 blackend Exp $ +$FreeBSD: ports/UPDATING,v 1.573 2008/01/08 20:53:38 brix Exp $ ==== //depot/projects/dtrace/src/etc/defaults/periodic.conf#10 (text+ko) ==== @@ -13,7 +13,7 @@ # For a more detailed explanation of all the periodic.conf variables, please # refer to the periodic.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.46 2007/12/20 20:37:22 dougb Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.47 2008/01/08 07:22:43 dds Exp $ # # What files override these defaults ? @@ -127,6 +127,7 @@ # 460.status-mail-rejects daily_status_mail_rejects_enable="YES" # Check mail rejects daily_status_mail_rejects_logs=3 # How many logs to check +daily_status_mail_rejects_shorten="NO" # Shorten output # 470.status-named daily_status_named_enable="YES" ==== //depot/projects/dtrace/src/etc/periodic/daily/460.status-mail-rejects#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/periodic/daily/460.status-mail-rejects,v 1.20 2005/01/12 01:31:21 brian Exp $ +# $FreeBSD: src/etc/periodic/daily/460.status-mail-rejects,v 1.21 2008/01/08 07:22:43 dds Exp $ # # If there is a global system configuration file, suck it in. @@ -11,6 +11,13 @@ source_periodic_confs fi +case "$daily_status_mail_rejects_shorten" in +[Yy][Ee][Ss]) + sed_output='\4 \3...';; +*) + sed_output='\2 (\3... \4)';; +esac + case "$daily_status_mail_rejects_enable" in [Yy][Ee][Ss]) if [ ! -d /etc/mail ] @@ -51,7 +58,7 @@ done cat /var/log/maillog } | - sed -n -E "s/^$start"'.*ruleset=check_[^ ]+, +arg1=<?([^@]+@)?([^>,]+).*reject=([^ ]+) .* ([^ ]+)$/\2 (\3... \4)/p' | + sed -n -E "s/^$start"'.*ruleset=check_[^ ]+, +arg1=<?([^@]+@)?([^>,]+).*reject=([^ ]+) .* ([^ ]+)$/'"$sed_output"'/p' | sort -f | uniq -ic | sort -fnr | tee /dev/stderr | wc -l) [ $rc -gt 0 ] && rc=1 fi;; ==== //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#10 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.6 (Berkeley) 5/4/95 -# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.128 2007/09/28 02:22:56 scf Exp $ +# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.129 2008/01/08 21:58:13 jhb Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen @@ -21,7 +21,7 @@ initgroups.c isatty.c isinf.c isnan.c jrand48.c lcong48.c \ lockf.c lrand48.c mrand48.c nftw.c nice.c \ nlist.c nrand48.c opendir.c \ - pause.c pmadvise.c popen.c posixshm.c pselect.c \ + pause.c pmadvise.c popen.c pselect.c \ psignal.c pw_scan.c pwcache.c \ raise.c readdir.c readpassphrase.c rewinddir.c \ scandir.c seed48.c seekdir.c sem.c semctl.c \ @@ -59,7 +59,7 @@ raise.3 rand48.3 readpassphrase.3 rfork_thread.3 \ scandir.3 sem_destroy.3 sem_getvalue.3 sem_init.3 \ sem_open.3 sem_post.3 sem_wait.3 \ - setjmp.3 setmode.3 setproctitle.3 shm_open.3 \ + setjmp.3 setmode.3 setproctitle.3 \ siginterrupt.3 signal.3 sigsetops.3 sleep.3 \ statvfs.3 stringlist.3 \ strtofflags.3 sysconf.3 sysctl.3 syslog.3 tcgetpgrp.3 \ @@ -133,7 +133,6 @@ setjmp.3 longjmperr.3 setjmp.3 longjmperror.3 \ setjmp.3 siglongjmp.3 setjmp.3 sigsetjmp.3 MLINKS+=setmode.3 getmode.3 -MLINKS+=shm_open.3 shm_unlink.3 MLINKS+=sigsetops.3 sigaddset.3 sigsetops.3 sigdelset.3 \ sigsetops.3 sigemptyset.3 sigsetops.3 sigfillset.3 \ sigsetops.3 sigismember.3 ==== //depot/projects/dtrace/src/lib/libc/sys/Makefile.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 -# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.127 2007/09/15 14:33:55 imp Exp $ +# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.128 2008/01/08 21:58:14 jhb Exp $ # sys sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/sys ${.CURDIR}/sys @@ -83,7 +83,7 @@ read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \ rtprio.2 select.2 semctl.2 semget.2 semop.2 send.2 sendfile.2 \ setgroups.2 setpgid.2 setregid.2 setresuid.2 setreuid.2 setsid.2 \ - setuid.2 shmat.2 shmctl.2 shmget.2 shutdown.2 \ + setuid.2 shmat.2 shmctl.2 shmget.2 shm_open.2 shutdown.2 \ sigaction.2 sigaltstack.2 sigpending.2 sigprocmask.2 sigqueue.2 \ sigreturn.2 sigstack.2 sigsuspend.2 sigwait.2 sigwaitinfo.2 \ socket.2 socketpair.2 stat.2 statfs.2 \ @@ -154,6 +154,7 @@ MLINKS+=setresuid.2 setresgid.2 setresuid.2 getresuid.2 setresuid.2 getresgid.2 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 MLINKS+=shmat.2 shmdt.2 +MLINKS+=shm_open.2 shm_unlink.2 MLINKS+=sigwaitinfo.2 sigtimedwait.2 MLINKS+=stat.2 fstat.2 stat.2 lstat.2 MLINKS+=statfs.2 fstatfs.2 ==== //depot/projects/dtrace/src/share/man/man4/lagg.4#2 (text+ko) ==== @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/share/man/man4/lagg.4,v 1.4 2007/07/30 20:17:21 thompsa Exp $ +.\" $FreeBSD: src/share/man/man4/lagg.4,v 1.5 2008/01/08 15:36:06 gabor Exp $ .\" .Dd April 17, 2007 .Dt LAGG 4 @@ -154,7 +154,7 @@ The .Nm device first appeared in -.Fx 7.0 . +.Fx 6.3 . .Sh AUTHORS .An -nosplit The ==== //depot/projects/dtrace/src/share/man/man7/bsd.snmpmod.mk.7#4 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2005 +.\" Copyright (c) 2005,2008 .\" Hartmut Brandt. .\" All rights reserved. .\" @@ -26,9 +26,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man7/bsd.snmpmod.mk.7,v 1.4 2005/11/18 12:01:14 ru Exp $ +.\" $FreeBSD: src/share/man/man7/bsd.snmpmod.mk.7,v 1.5 2008/01/08 12:55:56 harti Exp $ .\" -.Dd November 10, 2005 +.Dd January 8, 2008 .Dt BSD.SNMPMOD.MK 7 .Os .Sh NAME @@ -66,6 +66,21 @@ A list of extra MIB definition files for .Xr gensnmptree 1 . This is optional. +This file list is given to both calls to +.Xr gensnmptree 1 \(em +the one that extracts the symbols in +.Va XSYM +from the MIB definitions and the one that +generates the table with OIDs served by this module. +.It Va EXTRAMIBSYMS +A list of extra MIB definition files for +.Xr gensnmptree 1 . +This is optional. +This file list is given only to the call to +.Xr gensnmptree 1 +that extracts symbols from MIB definition files. +It is useful if there are dependencies on other MIBs or for extracting global +definitions for enumeration constants. .It Va XSYM A list of symbols to be extracted from the MIB definition files by .Xr gensnmptree 1 . ==== //depot/projects/dtrace/src/share/mk/bsd.snmpmod.mk#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.snmpmod.mk,v 1.2 2005/11/10 12:07:12 harti Exp $ +# $FreeBSD: src/share/mk/bsd.snmpmod.mk,v 1.3 2008/01/08 12:55:56 harti Exp $ INCSDIR= ${INCLUDEDIR}/bsnmp @@ -7,7 +7,7 @@ CLEANFILES+= ${MOD}_oid.h ${MOD}_tree.c ${MOD}_tree.h CFLAGS+= -I. -${MOD}_oid.h: ${MOD}_tree.def ${EXTRAMIBDEFS} +${MOD}_oid.h: ${MOD}_tree.def ${EXTRAMIBDEFS} ${EXTRAMIBSYMS} cat ${.ALLSRC} | gensnmptree -e ${XSYM} > ${.TARGET} .ORDER: ${MOD}_tree.c ${MOD}_tree.h ==== //depot/projects/dtrace/src/share/termcap/termcap.src#7 (text+ko) ==== @@ -30,7 +30,7 @@ # SUCH DAMAGE. # # @(#)termcap.src 8.2 (Berkeley) 11/17/93 -# $FreeBSD: src/share/termcap/termcap.src,v 1.149 2007/10/17 19:58:50 yar Exp $ +# $FreeBSD: src/share/termcap/termcap.src,v 1.150 2008/01/08 16:00:24 rafan Exp $ # Termcap source file # John Kunze, Berkeley @@ -2805,8 +2805,8 @@ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ :k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:\ - :kH=\EOF:@7=\EOF:kI=\E[2~:\ - :kh=\EOH:*6=\EOF:kP=\E[5~:kN=\E[6~:\ + :@7=\EOF:@8=\EOM:kI=\E[2~:\ + :kh=\EOH:kP=\E[5~:kN=\E[6~:\ :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:Km=\E[M:tc=xterm-basic: # # This chunk is used for building the VT220/Sun/PC keyboard variants. ==== //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#31 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.602 2008/01/06 18:51:03 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.603 2008/01/08 08:30:30 alc Exp $"); /* * Manages physical address maps. @@ -2075,15 +2075,8 @@ pd_entry_t ptepde; vm_page_t free; -#if defined(PMAP_DIAGNOSTIC) - /* - * XXX This makes pmap_remove_all() illegal for non-managed pages! - */ - if (m->flags & PG_FICTITIOUS) { - panic("pmap_remove_all: illegal for unmanaged page, va: 0x%lx", - VM_PAGE_TO_PHYS(m)); - } -#endif + KASSERT((m->flags & PG_FICTITIOUS) == 0, + ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { pmap = PV_PMAP(pv); ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#18 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.79 2007/12/06 23:37:26 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.93 2007/12/06 23:36:57 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.80 2008/01/08 22:01:25 jhb Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#18 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.77 2007/12/06 23:37:26 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.93 2007/12/06 23:36:57 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.78 2008/01/08 22:01:25 jhb Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp */ #define FREEBSD32_SYS_syscall 0 @@ -338,4 +338,6 @@ #define FREEBSD32_SYS_freebsd32_truncate 479 #define FREEBSD32_SYS_freebsd32_ftruncate 480 #define FREEBSD32_SYS_thr_kill2 481 -#define FREEBSD32_SYS_MAXSYSCALL 482 +#define FREEBSD32_SYS_shm_open 482 +#define FREEBSD32_SYS_shm_unlink 483 +#define FREEBSD32_SYS_MAXSYSCALL 484 ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#18 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.68 2007/12/06 23:37:26 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.93 2007/12/06 23:36:57 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.69 2008/01/08 22:01:25 jhb Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp */ const char *freebsd32_syscallnames[] = { @@ -489,4 +489,6 @@ "freebsd32_truncate", /* 479 = freebsd32_truncate */ "freebsd32_ftruncate", /* 480 = freebsd32_ftruncate */ "thr_kill2", /* 481 = thr_kill2 */ + "shm_open", /* 482 = shm_open */ + "shm_unlink", /* 483 = shm_unlink */ }; ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#18 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.78 2007/12/06 23:37:26 jhb Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.93 2007/12/06 23:36:57 jhb Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.79 2008/01/08 22:01:25 jhb Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp */ #include "opt_compat.h" @@ -521,4 +521,6 @@ { AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */ { AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_ftruncate */ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */ + { AS(shm_open_args), (sy_call_t *)shm_open, AUE_NULL, NULL, 0, 0 }, /* 482 = shm_open */ + { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ }; ==== //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#18 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.93 2007/12/06 23:36:57 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.94 2008/01/08 21:58:14 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -796,3 +796,6 @@ 480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ u_int32_t lengthlo, u_int32_t lengthhi); } 481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); } +482 AUE_NULL NOPROTO { int shm_open(const char *path, int flags, \ + mode_t mode); } +483 AUE_NULL NOPROTO { int shm_unlink(const char *path); } ==== //depot/projects/dtrace/src/sys/conf/files#62 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1261 2007/12/29 19:53:03 alc Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1262 2008/01/08 21:58:14 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1541,6 +1541,7 @@ kern/uipc_mbuf2.c standard kern/uipc_mqueue.c optional p1003_1b_mqueue kern/uipc_sem.c optional p1003_1b_semaphores +kern/uipc_shm.c standard kern/uipc_sockbuf.c standard kern/uipc_socket.c standard kern/uipc_syscalls.c standard @@ -2047,6 +2048,7 @@ security/mac/mac_net.c optional mac security/mac/mac_pipe.c optional mac security/mac/mac_posix_sem.c optional mac +security/mac/mac_posix_shm.c optional mac security/mac/mac_priv.c optional mac security/mac/mac_process.c optional mac security/mac/mac_socket.c optional mac ==== //depot/projects/dtrace/src/sys/fs/devfs/devfs_vnops.c#14 (text+ko) ==== @@ -31,7 +31,7 @@ * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 * - * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.152 2008/01/07 20:05:18 jhb Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs_vnops.c,v 1.153 2008/01/08 04:45:24 jhb Exp $ */ /* @@ -992,17 +992,20 @@ vnode_destroy_vobject(vp); + VI_LOCK(vp); dev_lock(); dev = vp->v_rdev; vp->v_rdev = NULL; if (dev == NULL) { dev_unlock(); + VI_UNLOCK(vp); return (0); } dev->si_usecount -= vp->v_usecount; dev_unlock(); + VI_UNLOCK(vp); dev_rel(dev); return (0); } ==== //depot/projects/dtrace/src/sys/i386/i386/pmap.c#27 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.605 2008/01/06 18:51:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.606 2008/01/08 08:30:30 alc Exp $"); /* * Manages physical address maps. @@ -2119,15 +2119,8 @@ pt_entry_t *pte, tpte; vm_page_t free; -#if defined(PMAP_DIAGNOSTIC) - /* - * XXX This makes pmap_remove_all() illegal for non-managed pages! - */ - if (m->flags & PG_FICTITIOUS) { - panic("pmap_remove_all: illegal for unmanaged page, va: 0x%x", - VM_PAGE_TO_PHYS(m)); - } -#endif + KASSERT((m->flags & PG_FICTITIOUS) == 0, + ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); sched_pin(); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { ==== //depot/projects/dtrace/src/sys/kern/init_sysent.c#18 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.230 2007/08/16 05:32:25 davidxu Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.231 2008/01/08 22:01:25 jhb Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ #include "opt_compat.h" @@ -511,4 +511,6 @@ { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */ { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */ + { AS(shm_open_args), (sy_call_t *)shm_open, AUE_NULL, NULL, 0, 0 }, /* 482 = shm_open */ + { AS(shm_unlink_args), (sy_call_t *)shm_unlink, AUE_NULL, NULL, 0, 0 }, /* 483 = shm_unlink */ }; ==== //depot/projects/dtrace/src/sys/kern/kern_descrip.c#16 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.317 2008/01/07 20:05:18 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.318 2008/01/08 21:58:15 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2646,6 +2646,8 @@ return ("crpt"); case DTYPE_MQUEUE: return ("mque"); + case DTYPE_SHM: + return ("shm"); default: return ("unkn"); } ==== //depot/projects/dtrace/src/sys/kern/subr_lock.c#10 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.20 2007/12/31 03:45:51 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.21 2008/01/08 01:11:40 kris Exp $"); #include "opt_ddb.h" #include "opt_mprof.h" @@ -492,7 +492,7 @@ if (!lock_prof_enable || (lo->lo_flags & LO_NOPROFILE)) return; if (lock_prof_skipcount && - (++lock_prof_count % lock_prof_skipcount) == 0) + (++lock_prof_count % lock_prof_skipcount) != 0) return; spin = LOCK_CLASS(lo) == &lock_class_mtx_spin; if (spin && lock_prof_skipspin == 1) ==== //depot/projects/dtrace/src/sys/kern/syscalls.c#17 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.214 2007/08/16 05:32:26 davidxu Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.215 2008/01/08 22:01:26 jhb Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp */ const char *syscallnames[] = { @@ -489,4 +489,6 @@ "truncate", /* 479 = truncate */ "ftruncate", /* 480 = ftruncate */ "thr_kill2", /* 481 = thr_kill2 */ + "shm_open", /* 482 = shm_open */ + "shm_unlink", /* 483 = shm_unlink */ }; ==== //depot/projects/dtrace/src/sys/kern/syscalls.master#16 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.234 2007/10/19 19:17:53 emaste Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.235 2008/01/08 21:58:15 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -847,5 +847,8 @@ 479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); } 480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); } 481 AUE_KILL STD { int thr_kill2(pid_t pid, long id, int sig); } +482 AUE_NULL STD { int shm_open(const char *path, int flags, \ + mode_t mode); } +483 AUE_NULL STD { int shm_unlink(const char *path); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/dtrace/src/sys/kern/systrace_args.c#13 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.14 2007/08/16 05:32:26 davidxu Exp $ + * $FreeBSD: src/sys/kern/systrace_args.c,v 1.15 2008/01/08 22:01:26 jhb Exp $ * This file is part of the DTrace syscall provider. */ @@ -2871,6 +2871,22 @@ *n_args = 3; break; } + /* shm_open */ + case 482: { + struct shm_open_args *p = params; + uarg[0] = (intptr_t) p->path; /* const char * */ + iarg[1] = p->flags; /* int */ + iarg[2] = p->mode; /* mode_t */ + *n_args = 3; + break; + } + /* shm_unlink */ + case 483: { + struct shm_unlink_args *p = params; + uarg[0] = (intptr_t) p->path; /* const char * */ + *n_args = 1; + break; + } default: *n_args = 0; break; ==== //depot/projects/dtrace/src/sys/kern/tty.c#11 (text+ko) ==== @@ -71,7 +71,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.273 2007/07/20 09:41:54 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.274 2008/01/08 04:53:28 jhb Exp $"); #include "opt_compat.h" #include "opt_tty.h" @@ -3040,16 +3040,19 @@ * * XXX: This shall sleep until all threads have left the driver. */ - void ttyfree(struct tty *tp) { + struct cdev *dev; u_int unit; mtx_assert(&Giant, MA_OWNED); ttygone(tp); unit = tp->t_devunit; - destroy_dev(tp->t_mdev); + dev = tp->t_mdev; + tp->t_dev = NULL; + ttyrel(tp); + destroy_dev(dev); free_unr(tty_unit, unit); } @@ -3065,7 +3068,6 @@ tp = TAILQ_FIRST(&tty_list); if (tp != NULL) ttyref(tp); - mtx_unlock(&tty_list_mutex); while (tp != NULL) { bzero(&xt, sizeof xt); xt.xt_size = sizeof xt; @@ -3074,6 +3076,18 @@ xt.xt_cancc = tp->t_canq.c_cc; xt.xt_outcc = tp->t_outq.c_cc; XT_COPY(line); + + /* + * XXX: We hold the tty list lock while doing this to + * work around a race with pty/pts tty destruction. + * They set t_dev to NULL and then call ttyrel() to + * free the structure which will block on the list + * lock before they call destroy_dev() on the cdev + * backing t_dev. + * + * XXX: ttyfree() now does the same since it has been + * fixed to not leak ttys. + */ if (tp->t_dev != NULL) xt.xt_dev = dev2udev(tp->t_dev); XT_COPY(state); @@ -3096,6 +3110,7 @@ XT_COPY(olowat); XT_COPY(ospeedwat); #undef XT_COPY + mtx_unlock(&tty_list_mutex); error = SYSCTL_OUT(req, &xt, sizeof xt); if (error != 0) { ttyrel(tp); @@ -3108,7 +3123,9 @@ mtx_unlock(&tty_list_mutex); ttyrel(tp); tp = tp2; + mtx_lock(&tty_list_mutex); } + mtx_unlock(&tty_list_mutex); return (0); } ==== //depot/projects/dtrace/src/sys/netinet6/frag6.c#11 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/frag6.c,v 1.34 2007/12/10 16:03:37 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/frag6.c,v 1.35 2008/01/08 19:08:57 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -62,11 +62,11 @@ */ #define IN6_IFSTAT_STRICT -static void frag6_enq __P((struct ip6asfrag *, struct ip6asfrag *)); -static void frag6_deq __P((struct ip6asfrag *)); -static void frag6_insque __P((struct ip6q *, struct ip6q *)); -static void frag6_remque __P((struct ip6q *)); -static void frag6_freef __P((struct ip6q *)); +static void frag6_enq(struct ip6asfrag *, struct ip6asfrag *); +static void frag6_deq(struct ip6asfrag *); +static void frag6_insque(struct ip6q *, struct ip6q *); +static void frag6_remque(struct ip6q *); +static void frag6_freef(struct ip6q *); static struct mtx ip6qlock; /* ==== //depot/projects/dtrace/src/sys/netinet6/icmp6.c#11 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/icmp6.c,v 1.81 2007/12/10 16:03:37 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/icmp6.c,v 1.82 2008/01/08 19:08:57 obrien Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -117,19 +117,19 @@ static struct timeval icmp6errppslim_last; extern int icmp6_nodeinfo; -static void icmp6_errcount __P((struct icmp6errstat *, int, int)); -static int icmp6_rip6_input __P((struct mbuf **, int)); -static int icmp6_ratelimit __P((const struct in6_addr *, const int, const int)); +static void icmp6_errcount(struct icmp6errstat *, int, int); +static int icmp6_rip6_input(struct mbuf **, int); +static int icmp6_ratelimit(const struct in6_addr *, const int, const int); static const char *icmp6_redirect_diag __P((struct in6_addr *, struct in6_addr *, struct in6_addr *)); -static struct mbuf *ni6_input __P((struct mbuf *, int)); -static struct mbuf *ni6_nametodns __P((const char *, int, int)); -static int ni6_dnsmatch __P((const char *, int, const char *, int)); +static struct mbuf *ni6_input(struct mbuf *, int); +static struct mbuf *ni6_nametodns(const char *, int, int); +static int ni6_dnsmatch(const char *, int, const char *, int); static int ni6_addrs __P((struct icmp6_nodeinfo *, struct mbuf *, struct ifnet **, struct in6_addr *)); static int ni6_store_addrs __P((struct icmp6_nodeinfo *, struct icmp6_nodeinfo *, struct ifnet *, int)); -static int icmp6_notify_error __P((struct mbuf **, int, int, int)); +static int icmp6_notify_error(struct mbuf **, int, int, int); void @@ -885,7 +885,7 @@ /* Detect the upper level protocol */ { - void (*ctlfunc) __P((int, struct sockaddr *, void *)); + void (*ctlfunc)(int, struct sockaddr *, void *); u_int8_t nxt = eip6->ip6_nxt; int eoff = off + sizeof(struct icmp6_hdr) + sizeof(struct ip6_hdr); @@ -1072,7 +1072,7 @@ icmp6_mtudisc_update(&ip6cp, 1); /*XXX*/ } - ctlfunc = (void (*) __P((int, struct sockaddr *, void *))) + ctlfunc = (void (*)(int, struct sockaddr *, void *)) (inet6sw[ip6_protox[nxt]].pr_ctlinput); if (ctlfunc) { (void) (*ctlfunc)(code, (struct sockaddr *)&icmp6dst, ==== //depot/projects/dtrace/src/sys/netinet6/in6.c#13 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6.c,v 1.76 2007/12/10 16:03:37 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6.c,v 1.77 2008/01/08 19:08:57 obrien Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -127,7 +127,7 @@ struct ifnet *, struct thread *)); static int in6_ifinit __P((struct ifnet *, struct in6_ifaddr *, struct sockaddr_in6 *, int)); -static void in6_unlink_ifa __P((struct in6_ifaddr *, struct ifnet *)); +static void in6_unlink_ifa(struct in6_ifaddr *, struct ifnet *); struct in6_multihead in6_multihead; /* XXX BSS initialization */ int (*faithprefix_p)(struct in6_addr *); ==== //depot/projects/dtrace/src/sys/netinet6/in6_ifattach.c#10 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.40 2007/12/10 16:03:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.41 2008/01/08 19:08:57 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -73,12 +73,12 @@ extern struct inpcbinfo udbinfo; extern struct inpcbinfo ripcbinfo; -static int get_rand_ifid __P((struct ifnet *, struct in6_addr *)); -static int generate_tmp_ifid __P((u_int8_t *, const u_int8_t *, u_int8_t *)); -static int get_ifid __P((struct ifnet *, struct ifnet *, struct in6_addr *)); -static int in6_ifattach_linklocal __P((struct ifnet *, struct ifnet *)); -static int in6_ifattach_loopback __P((struct ifnet *)); -static void in6_purgemaddrs __P((struct ifnet *)); +static int get_rand_ifid(struct ifnet *, struct in6_addr *); +static int generate_tmp_ifid(u_int8_t *, const u_int8_t *, u_int8_t *); +static int get_ifid(struct ifnet *, struct ifnet *, struct in6_addr *); +static int in6_ifattach_linklocal(struct ifnet *, struct ifnet *); +static int in6_ifattach_loopback(struct ifnet *); +static void in6_purgemaddrs(struct ifnet *); #define EUI64_GBIT 0x01 #define EUI64_UBIT 0x02 ==== //depot/projects/dtrace/src/sys/netinet6/in6_pcb.c#13 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6_pcb.c,v 1.86 2007/12/17 17:20:57 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_pcb.c,v 1.87 2008/01/08 19:08:57 obrien Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -571,7 +571,7 @@ in6_pcbnotify(struct inpcbinfo *pcbinfo, struct sockaddr *dst, u_int fport_arg, const struct sockaddr *src, u_int lport_arg, int cmd, void *cmdarg, - struct inpcb *(*notify) __P((struct inpcb *, int))) + struct inpcb *(*notify)(struct inpcb *, int)) { struct inpcbhead *head; struct inpcb *inp, *ninp; ==== //depot/projects/dtrace/src/sys/netinet6/in6_proto.c#9 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6_proto.c,v 1.47 2007/12/10 16:03:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_proto.c,v 1.48 2008/01/08 19:08:57 obrien Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -339,7 +339,7 @@ }, }; -extern int in6_inithead __P((void **, int)); +extern int in6_inithead(void **, int); struct domain inet6domain = { .dom_family = AF_INET6, ==== //depot/projects/dtrace/src/sys/netinet6/in6_rmx.c#7 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6_rmx.c,v 1.19 2007/12/10 16:03:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_rmx.c,v 1.20 2008/01/08 19:08:57 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -103,7 +103,7 @@ #include <netinet/tcp_timer.h> #include <netinet/tcp_var.h> -extern int in6_inithead __P((void **head, int off)); +extern int in6_inithead(void **head, int off); #define RTPRF_OURS RTF_PROTO3 /* set on routes we manage */ ==== //depot/projects/dtrace/src/sys/netinet6/in6_src.c#10 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netinet6/in6_src.c,v 1.47 2007/12/10 16:03:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/in6_src.c,v 1.48 2008/01/08 19:08:57 obrien Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -121,15 +121,15 @@ static int in6_selectif __P((struct sockaddr_in6 *, struct ip6_pktopts *, struct ip6_moptions *, struct route_in6 *ro, struct ifnet **)); -static struct in6_addrpolicy *lookup_addrsel_policy __P((struct sockaddr_in6 *)); +static struct in6_addrpolicy *lookup_addrsel_policy(struct sockaddr_in6 *); -static void init_policy_queue __P((void)); -static int add_addrsel_policyent __P((struct in6_addrpolicy *)); -static int delete_addrsel_policyent __P((struct in6_addrpolicy *)); +static void init_policy_queue(void); +static int add_addrsel_policyent(struct in6_addrpolicy *); +static int delete_addrsel_policyent(struct in6_addrpolicy *); static int walk_addrsel_policy __P((int (*)(struct in6_addrpolicy *, void *), void *)); -static int dump_addrsel_policyent __P((struct in6_addrpolicy *, void *)); -static struct in6_addrpolicy *match_addrsel_policy __P((struct sockaddr_in6 *)); +static int dump_addrsel_policyent(struct in6_addrpolicy *, void *); +static struct in6_addrpolicy *match_addrsel_policy(struct sockaddr_in6 *); /* * Return an IPv6 address, which is the most appropriate for a given @@ -1010,7 +1010,7 @@ } static int -walk_addrsel_policy(int (*callback) __P((struct in6_addrpolicy *, void *)), +walk_addrsel_policy(int (*callback)(struct in6_addrpolicy *, void *), void *w) { struct addrsel_policyent *pol; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801082251.m08MpC4l046508>