From owner-p4-projects@FreeBSD.ORG Sun Jul 27 10:15:20 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F30441065672; Sun, 27 Jul 2008 10:15:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B725D106564A for ; Sun, 27 Jul 2008 10:15:19 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A83D18FC12 for ; Sun, 27 Jul 2008 10:15:19 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RAFJxe075893 for ; Sun, 27 Jul 2008 10:15:19 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RAFJs9075891 for perforce@freebsd.org; Sun, 27 Jul 2008 10:15:19 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 27 Jul 2008 10:15:19 GMT Message-Id: <200807271015.m6RAFJs9075891@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146030 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 10:15:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=146030 Change 146030 by ed@ed_dull on 2008/07/27 10:15:08 Rename grantpt.c to ptsname.c. The only function that actually needs an implementation, is ptsname(). It would be better to just call it ptsname.c, to make it easier to locate. Affected files ... .. //depot/projects/mpsafetty/lib/libc/stdlib/Makefile.inc#2 edit .. //depot/projects/mpsafetty/lib/libc/stdlib/grantpt.3#3 delete .. //depot/projects/mpsafetty/lib/libc/stdlib/grantpt.c#3 delete .. //depot/projects/mpsafetty/lib/libc/stdlib/ptsname.3#1 add .. //depot/projects/mpsafetty/lib/libc/stdlib/ptsname.c#1 add Differences ... ==== //depot/projects/mpsafetty/lib/libc/stdlib/Makefile.inc#2 (text+ko) ==== @@ -6,9 +6,9 @@ MISRCS+=_Exit.c a64l.c abort.c abs.c atexit.c atof.c atoi.c atol.c atoll.c \ bsearch.c div.c exit.c getenv.c getopt.c getopt_long.c \ - getsubopt.c grantpt.c hcreate.c heapsort.c imaxabs.c imaxdiv.c \ + getsubopt.c hcreate.c heapsort.c imaxabs.c imaxdiv.c \ insque.c l64a.c labs.c ldiv.c llabs.c lldiv.c lsearch.c malloc.c \ - merge.c qsort.c qsort_r.c radixsort.c rand.c random.c \ + merge.c ptsname.c qsort.c qsort_r.c radixsort.c rand.c random.c \ reallocf.c realpath.c remque.c strfmon.c strtoimax.c \ strtol.c strtoll.c strtoq.c strtoul.c strtonum.c strtoull.c \ strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c @@ -21,10 +21,10 @@ .endif MAN+= a64l.3 abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 bsearch.3 \ - div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 grantpt.3 \ + div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 \ hcreate.3 imaxabs.3 imaxdiv.3 insque.3 labs.3 ldiv.3 llabs.3 lldiv.3 \ - lsearch.3 malloc.3 memory.3 posix_memalign.3 qsort.3 radixsort.3 \ - rand.3 random.3 \ + lsearch.3 malloc.3 memory.3 posix_memalign.3 ptsname.3 qsort.3 \ + radixsort.3 rand.3 random.3 \ realpath.3 strfmon.3 strtod.3 strtol.3 strtonum.3 strtoul.3 system.3 \ tsearch.3 @@ -33,10 +33,10 @@ MLINKS+=exit.3 _Exit.3 MLINKS+=getenv.3 putenv.3 getenv.3 setenv.3 getenv.3 unsetenv.3 MLINKS+=getopt_long.3 getopt_long_only.3 -MLINKS+=grantpt.3 ptsname.3 grantpt.3 unlockpt.3 MLINKS+=hcreate.3 hdestroy.3 hcreate.3 hsearch.3 MLINKS+=insque.3 remque.3 MLINKS+=lsearch.3 lfind.3 +MLINKS+=ptsname.3 grantpt.3 ptsname.3 unlockpt.3 MLINKS+=qsort.3 heapsort.3 qsort.3 mergesort.3 qsort.3 qsort_r.3 MLINKS+=rand.3 rand_r.3 rand.3 srand.3 rand.3 sranddev.3 MLINKS+=random.3 initstate.3 random.3 setstate.3 random.3 srandom.3 \ From owner-p4-projects@FreeBSD.ORG Sun Jul 27 10:17:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2779B106567B; Sun, 27 Jul 2008 10:17:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF1381065679 for ; Sun, 27 Jul 2008 10:17:21 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF4398FC21 for ; Sun, 27 Jul 2008 10:17:21 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RAHLBq076020 for ; Sun, 27 Jul 2008 10:17:21 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RAHLS2076018 for perforce@freebsd.org; Sun, 27 Jul 2008 10:17:21 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 27 Jul 2008 10:17:21 GMT Message-Id: <200807271017.m6RAHLS2076018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146031 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 10:17:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146031 Change 146031 by ed@ed_dull on 2008/07/27 10:16:29 IFC. Affected files ... .. //depot/projects/mpsafetty/lib/libc/gen/arc4random.c#3 integrate .. //depot/projects/mpsafetty/lib/libutil/login.conf.5#2 integrate .. //depot/projects/mpsafetty/lib/libutil/login_cap.h#2 integrate .. //depot/projects/mpsafetty/lib/libutil/login_class.3#2 integrate .. //depot/projects/mpsafetty/lib/libutil/login_class.c#2 integrate .. //depot/projects/mpsafetty/sbin/mksnap_ffs/mksnap_ffs.8#2 integrate .. //depot/projects/mpsafetty/share/man/man4/wi.4#2 integrate .. //depot/projects/mpsafetty/sys/conf/files#5 integrate .. //depot/projects/mpsafetty/sys/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/mpsafetty/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/mpsafetty/sys/libkern/arc4random.c#3 integrate .. //depot/projects/mpsafetty/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/mpsafetty/sys/net/route.c#2 integrate .. //depot/projects/mpsafetty/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/mpsafetty/sys/netipsec/ipsec.c#3 integrate .. //depot/projects/mpsafetty/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/mpsafetty/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/mpsafetty/usr.bin/tar/bsdtar.1#2 integrate .. //depot/projects/mpsafetty/usr.sbin/rtadvd/rtadvd.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/rtsold/rtsold.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/lib/libc/gen/arc4random.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.22 2008/07/22 17:10:18 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.23 2008/07/25 15:42:22 ache Exp $"); #include "namespace.h" #include @@ -54,8 +54,7 @@ static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER; -#define RANDOMDEV "/dev/random" -#define KEYSIZE 128 +#define RANDOMDEV "/dev/urandom" #define THREAD_LOCK() \ do { \ if (__isthreaded) \ @@ -107,40 +106,34 @@ static void arc4_stir(void) { - int done, fd, n; + int fd, n; struct { - struct timeval tv; - pid_t pid; - u_int8_t rnd[KEYSIZE]; - } rdat; + struct timeval tv; + pid_t pid; + u_int8_t rnd[128 - sizeof(struct timeval) - sizeof(pid_t)]; + } rdat; + gettimeofday(&rdat.tv, NULL); + rdat.pid = getpid(); fd = _open(RANDOMDEV, O_RDONLY, 0); - done = 0; if (fd >= 0) { - if (_read(fd, &rdat, KEYSIZE) == KEYSIZE) - done = 1; - (void)_close(fd); + (void) _read(fd, rdat.rnd, sizeof(rdat.rnd)); + _close(fd); } - if (!done) { - (void)gettimeofday(&rdat.tv, NULL); - rdat.pid = getpid(); - /* We'll just take whatever was on the stack too... */ - } + /* fd < 0? Ah, what the heck. We'll just take whatever was on the + * stack... */ - arc4_addrandom((u_char *)&rdat, KEYSIZE); + arc4_addrandom((void *) &rdat, sizeof(rdat)); /* * Throw away the first N bytes of output, as suggested in the * paper "Weaknesses in the Key Scheduling Algorithm of RC4" - * by Fluher, Mantin, and Shamir. N=768 is based on + * by Fluher, Mantin, and Shamir. N=1024 is based on * suggestions in the paper "(Not So) Random Shuffles of RC4" * by Ilya Mironov. */ - if (rs_initialized != 1) { - for (n = 0; n < 768; n++) - (void)arc4_getbyte(); - rs_initialized = 1; - } + for (n = 0; n < 1024; n++) + (void) arc4_getbyte(); arc4_count = 1600000; } @@ -177,7 +170,7 @@ { if (!rs_initialized) { arc4_init(); - rs_initialized = 2; + rs_initialized = 1; } } @@ -196,7 +189,6 @@ THREAD_LOCK(); arc4_check_init(); arc4_stir(); - rs_stired = 1; THREAD_UNLOCK(); } @@ -258,10 +250,6 @@ if (upper_bound < 2) return (0); - /* Detect simple power of two case */ - if ((upper_bound & -upper_bound) == upper_bound) - return (arc4random() % upper_bound); - #if (ULONG_MAX > 0xffffffffUL) min = 0x100000000UL % upper_bound; #else ==== //depot/projects/mpsafetty/lib/libutil/login.conf.5#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login.conf.5,v 1.60 2006/10/10 08:15:08 ru Exp $ +.\" $FreeBSD: src/lib/libutil/login.conf.5,v 1.61 2008/07/25 19:58:14 brooks Exp $ .\" .Dd October 9, 2006 .Dt LOGIN.CONF 5 @@ -203,6 +203,15 @@ .It Sy "Name Type Notes Description .It "charset string Set $MM_CHARSET environment variable to the specified value. +.It "cpumask string List of cpus to bind the user to. +The syntax is the same as for the +.Fl l +argument of +.Xr cpuset 1 or the word +.Ql default . +If set to +.Ql default +no action is taken. .It "hushlogin bool false Same as having a ~/.hushlogin file. .It "ignorenologin bool false Login not prevented by nologin. .It "ftp-chroot bool false Limit FTP access with ==== //depot/projects/mpsafetty/lib/libutil/login_cap.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * Low-level routines relating to the user capabilities database * * Was login_cap.h,v 1.9 1997/05/07 20:00:01 eivind Exp - * $FreeBSD: src/lib/libutil/login_cap.h,v 1.9 2003/10/18 10:04:16 markm Exp $ + * $FreeBSD: src/lib/libutil/login_cap.h,v 1.10 2008/07/25 19:58:14 brooks Exp $ */ #ifndef _LOGIN_CAP_H_ @@ -48,7 +48,8 @@ #define LOGIN_SETUSER 0x0040 /* set user (via setuid) */ #define LOGIN_SETENV 0x0080 /* set user environment */ #define LOGIN_SETMAC 0x0100 /* set user default MAC label */ -#define LOGIN_SETALL 0x01ff /* set everything */ +#define LOGIN_SETCPUMASK 0x0200 /* set user cpumask */ +#define LOGIN_SETALL 0x03ff /* set everything */ #define BI_AUTH "authorize" /* accepted authentication */ #define BI_REJECT "reject" /* rejected authentication */ ==== //depot/projects/mpsafetty/lib/libutil/login_class.3#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login_class.3,v 1.19 2006/06/17 07:25:58 maxim Exp $ +.\" $FreeBSD: src/lib/libutil/login_class.3,v 1.20 2008/07/25 19:58:14 brooks Exp $ .\" .Dd December 28, 1996 .Os @@ -155,6 +155,18 @@ Set the MAC label for the current process to the label specified in system login class database. .Pp +.It LOGIN_SETCPUMASK +Create a new +.Xr cpuset 2 +and set the cpu affinity to the specified mask. +The string may contain a comma separated list of numbers and/or number +ranges as handled by the +.Xr cpuset 1 +utility or the case-insensitive string +.Ql default . +If the string is +.Ql default +no action will be taken. .It LOGIN_SETALL Enables all of the above settings. .El @@ -186,6 +198,8 @@ .Xr syslog 3 , with LOG_ERR priority and directed to the currently active facility. .Sh SEE ALSO +.Xr cpuset 1 , +.Xr cpuset 2 , .Xr setgid 2 , .Xr setlogin 2 , .Xr setuid 2 , ==== //depot/projects/mpsafetty/lib/libutil/login_class.c#2 (text+ko) ==== @@ -23,12 +23,14 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libutil/login_class.c,v 1.25 2007/05/01 18:50:33 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libutil/login_class.c,v 1.26 2008/07/25 19:58:14 brooks Exp $"); #include +#include #include #include #include +#include #include #include #include @@ -239,6 +241,108 @@ } +static int +list2cpuset(const char *list, cpuset_t *mask) +{ + enum { NONE, NUM, DASH } state; + int lastnum; + int curnum; + const char *l; + + state = NONE; + curnum = lastnum = 0; + for (l = list; *l != '\0';) { + if (isdigit(*l)) { + curnum = atoi(l); + if (curnum > CPU_SETSIZE) + errx(EXIT_FAILURE, + "Only %d cpus supported", CPU_SETSIZE); + while (isdigit(*l)) + l++; + switch (state) { + case NONE: + lastnum = curnum; + state = NUM; + break; + case DASH: + for (; lastnum <= curnum; lastnum++) + CPU_SET(lastnum, mask); + state = NONE; + break; + case NUM: + default: + return (0); + } + continue; + } + switch (*l) { + case ',': + switch (state) { + case NONE: + break; + case NUM: + CPU_SET(curnum, mask); + state = NONE; + break; + case DASH: + return (0); + break; + } + break; + case '-': + if (state != NUM) + return (0); + state = DASH; + break; + default: + return (0); + } + l++; + } + switch (state) { + case NONE: + break; + case NUM: + CPU_SET(curnum, mask); + break; + case DASH: + return (0); + } + return 1; +} + + +void +setclasscpumask(login_cap_t *lc) +{ + const char *maskstr; + cpuset_t maskset; + cpusetid_t setid; + + maskstr = login_getcapstr(lc, "cpumask", NULL, NULL); + CPU_ZERO(&maskset); + if (maskstr == NULL) + return; + if (strcasecmp("default", maskstr) == 0) + return; + if (!list2cpuset(maskstr, &maskset)) { + syslog(LOG_WARNING, + "list2cpuset(%s) invalid mask specification", maskstr); + return; + } + + if (cpuset(&setid) != 0) { + syslog(LOG_ERR, "cpuset(): %s", strerror(errno)); + return; + } + + if (cpuset_setaffinity(CPU_LEVEL_CPUSET, CPU_WHICH_PID, -1, + sizeof(maskset), &maskset) != 0) + syslog(LOG_ERR, "cpuset_setaffinity(%s): %s", maskstr, + strerror(errno)); +} + + /* * setclasscontext() * @@ -289,6 +393,9 @@ /* Set environment */ if (flags & LOGIN_SETENV) setclassenvironment(lc, pwd, 0); + /* Set cpu affinity */ + if (flags & LOGIN_SETCPUMASK) + setclasscpumask(lc); } return mymask; } ==== //depot/projects/mpsafetty/sbin/mksnap_ffs/mksnap_ffs.8#2 (text+ko) ==== @@ -32,7 +32,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.3 2003/09/07 14:11:02 charnier Exp $ +.\" $FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.4 2008/07/26 13:18:33 kib Exp $ .\" .Dd January 19, 2003 .Dt MKSNAP_FFS 8 @@ -68,6 +68,9 @@ .Xr chmod 2 , .Xr chown 8 , .Xr mount 8 +.Sh CAVEATS +The disk full situation is not handled gracefully and may +lead to a system panic when no free blocks are found. .Sh HISTORY The .Nm ==== //depot/projects/mpsafetty/share/man/man4/wi.4#2 (text+ko) ==== @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/wi.4,v 1.75 2008/04/20 20:35:45 sam Exp $ +.\" $FreeBSD: src/share/man/man4/wi.4,v 1.76 2008/07/26 18:31:39 imp Exp $ .\" $OpenBSD: wi.4tbl,v 1.14 2002/04/29 19:53:50 jsyn Exp $ .\" .Dd April 13, 2008 @@ -347,6 +347,24 @@ .Pp Lucent cards prior to firmware version 6.0.6 do not implement IBSS mode and are not supported. +.Pp +Prior versions of +.Nm +supported Symbol firmware. +That support has been removed due to persistent problems with this +firmware as well as getting proper documentation on this firmware. +.Pp +Hermes 2 and Hermes 3 chips are not supported by this driver. +.Pp +Here's the above requirements in the form of a table +.Pp +.Bl -column -compact "Prims II/2.5" "xxxxxxxx" "xxxxxxxx" "xxxxxxxx" "xxxxxxxx" +.Em "Firmware Minimum WPA Host AP Adhoc/IBSS" +Prism II/2.5 0.8.0 1.7.0 1.3.4 1.3.1 +Prism 3 0.8.0 1.7.0 1.4.9 1.3.1 +Hermes 6.0.6 none none 6.0.6 +Symbol none none none none +.El .Sh BUGS Not all the new messages are documented here, and many of them are indications of transient errors that are not indications of serious ==== //depot/projects/mpsafetty/sys/conf/files#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1317 2008/07/25 14:31:00 ed Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1318 2008/07/25 19:35:40 stas Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -697,6 +697,7 @@ dev/igb/e1000_82575.c optional igb | em \ compile-with "${NORMAL_C} -I$S/dev/igb" dev/iicbus/ad7418.c optional ad7418 +dev/iicbus/ds1339.c optional ds1339 dev/iicbus/ds1672.c optional ds1672 dev/iicbus/icee.c optional icee dev/iicbus/if_ic.c optional ic ==== //depot/projects/mpsafetty/sys/contrib/ipfilter/netinet/ip_nat.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.45 2008/07/24 12:35:05 darrenr Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.46 2008/07/26 19:46:00 darrenr Exp $ */ /* * Copyright (C) 1995-2003 by Darren Reed. @@ -117,7 +117,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_nat.c 1.11 6/5/96 (C) 1995 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.45 2008/07/24 12:35:05 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.46 2008/07/26 19:46:00 darrenr Exp $"; /* static const char rcsid[] = "@(#)$Id: ip_nat.c,v 2.195.2.102 2007/10/16 10:08:10 darrenr Exp $"; */ #endif @@ -2033,11 +2033,13 @@ * Standard port translation. Select next port. */ if (np->in_flags & IPN_SEQUENTIAL) { - port = htons(np->in_pnext); + port = np->in_pnext; } else { port = ipf_random() % (ntohs(np->in_pmax) - ntohs(np->in_pmin)); + port += ntohs(np->in_pmin); } + port = htons(port); np->in_pnext++; if (np->in_pnext > ntohs(np->in_pmax)) { ==== //depot/projects/mpsafetty/sys/dev/atkbdc/psm.c#2 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/atkbdc/psm.c,v 1.97 2008/06/01 13:44:51 philip Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/atkbdc/psm.c,v 1.98 2008/07/26 00:01:19 trhodes Exp $"); #include "opt_isa.h" #include "opt_psm.h" @@ -2112,26 +2112,34 @@ SYSCTL_NODE(_debug, OID_AUTO, psm, CTLFLAG_RD, 0, "ps/2 mouse"); SYSCTL_NODE(_hw, OID_AUTO, psm, CTLFLAG_RD, 0, "ps/2 mouse"); -SYSCTL_INT(_debug_psm, OID_AUTO, loglevel, CTLFLAG_RW, &verbose, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, loglevel, CTLFLAG_RW, &verbose, 0, + "Verbosity level"); static int psmhz = 20; -SYSCTL_INT(_debug_psm, OID_AUTO, hz, CTLFLAG_RW, &psmhz, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, hz, CTLFLAG_RW, &psmhz, 0, + "Frequency of the softcallout (in hz)"); static int psmerrsecs = 2; -SYSCTL_INT(_debug_psm, OID_AUTO, errsecs, CTLFLAG_RW, &psmerrsecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, errsecs, CTLFLAG_RW, &psmerrsecs, 0, + "Number of seconds during which packets will dropped after a sync error"); static int psmerrusecs = 0; -SYSCTL_INT(_debug_psm, OID_AUTO, errusecs, CTLFLAG_RW, &psmerrusecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, errusecs, CTLFLAG_RW, &psmerrusecs, 0, + "Microseconds to add to psmerrsecs"); static int psmsecs = 0; -SYSCTL_INT(_debug_psm, OID_AUTO, secs, CTLFLAG_RW, &psmsecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, secs, CTLFLAG_RW, &psmsecs, 0, + "Max number of seconds between soft interrupts"); static int psmusecs = 500000; -SYSCTL_INT(_debug_psm, OID_AUTO, usecs, CTLFLAG_RW, &psmusecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, usecs, CTLFLAG_RW, &psmusecs, 0, + "Microseconds to add to psmsecs"); static int pkterrthresh = 2; -SYSCTL_INT(_debug_psm, OID_AUTO, pkterrthresh, CTLFLAG_RW, &pkterrthresh, - 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, pkterrthresh, CTLFLAG_RW, &pkterrthresh, 0, + "Number of error packets allowed before reinitializing the mouse"); static int tap_threshold = PSM_TAP_THRESHOLD; -SYSCTL_INT(_hw_psm, OID_AUTO, tap_threshold, CTLFLAG_RW, &tap_threshold, 0, ""); +SYSCTL_INT(_hw_psm, OID_AUTO, tap_threshold, CTLFLAG_RW, &tap_threshold, 0, + "Button tap threshold"); static int tap_timeout = PSM_TAP_TIMEOUT; -SYSCTL_INT(_hw_psm, OID_AUTO, tap_timeout, CTLFLAG_RW, &tap_timeout, 0, ""); +SYSCTL_INT(_hw_psm, OID_AUTO, tap_timeout, CTLFLAG_RW, &tap_timeout, 0, + "Tap timeout for touchpads"); static void psmintr(void *arg) ==== //depot/projects/mpsafetty/sys/dev/wi/if_wi.c#2 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.218 2008/05/12 00:15:30 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.219 2008/07/26 17:04:30 imp Exp $"); #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -250,19 +250,6 @@ } ic = ifp->if_l2com; - /* - * NB: no locking is needed here; don't put it here - * unless you can prove it! - */ - error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, - NULL, wi_intr, sc, &sc->wi_intrhand); - - if (error) { - device_printf(dev, "bus_setup_intr() failed! (%d)\n", error); - wi_free(dev); - return error; - } - sc->sc_firmware_type = WI_NOTYPE; sc->wi_cmd_count = 500; /* Reset the NIC. */ @@ -473,6 +460,17 @@ if (bootverbose) ieee80211_announce(ic); + error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, + NULL, wi_intr, sc, &sc->wi_intrhand); + if (error) { + device_printf(dev, "bus_setup_intr() failed! (%d)\n", error); + bpfdetach(ifp); + ieee80211_ifdetach(ic); + if_free(sc->sc_ifp); + wi_free(dev); + return error; + } + return (0); } ==== //depot/projects/mpsafetty/sys/kern/uipc_usrreq.c#2 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.215 2008/07/03 23:26:10 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.216 2008/07/26 00:55:35 trhodes Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -139,14 +139,15 @@ SYSCTL_NODE(_net_local, SOCK_DGRAM, dgram, CTLFLAG_RW, 0, "SOCK_DGRAM"); SYSCTL_ULONG(_net_local_stream, OID_AUTO, sendspace, CTLFLAG_RW, - &unpst_sendspace, 0, ""); + &unpst_sendspace, 0, "Default stream send space."); SYSCTL_ULONG(_net_local_stream, OID_AUTO, recvspace, CTLFLAG_RW, - &unpst_recvspace, 0, ""); + &unpst_recvspace, 0, "Default stream receive space."); SYSCTL_ULONG(_net_local_dgram, OID_AUTO, maxdgram, CTLFLAG_RW, - &unpdg_sendspace, 0, ""); + &unpdg_sendspace, 0, "Default datagram send space."); SYSCTL_ULONG(_net_local_dgram, OID_AUTO, recvspace, CTLFLAG_RW, - &unpdg_recvspace, 0, ""); -SYSCTL_INT(_net_local, OID_AUTO, inflight, CTLFLAG_RD, &unp_rights, 0, ""); + &unpdg_recvspace, 0, "Default datagram receive space."); +SYSCTL_INT(_net_local, OID_AUTO, inflight, CTLFLAG_RD, &unp_rights, 0, + "File descriptors in flight."); /*- * Locking and synchronization: @@ -1969,10 +1970,12 @@ } static int unp_recycled; -SYSCTL_INT(_net_local, OID_AUTO, recycled, CTLFLAG_RD, &unp_recycled, 0, ""); +SYSCTL_INT(_net_local, OID_AUTO, recycled, CTLFLAG_RD, &unp_recycled, 0, + "Number of unreachable sockets claimed by the garbage collector."); static int unp_taskcount; -SYSCTL_INT(_net_local, OID_AUTO, taskcount, CTLFLAG_RD, &unp_taskcount, 0, ""); +SYSCTL_INT(_net_local, OID_AUTO, taskcount, CTLFLAG_RD, &unp_taskcount, 0, + "Number of times the garbage collector has run."); static void unp_gc(__unused void *arg, int pending) ==== //depot/projects/mpsafetty/sys/libkern/arc4random.c#3 (text+ko) ==== @@ -9,7 +9,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/libkern/arc4random.c,v 1.13 2008/07/22 16:16:51 ache Exp $"); +__FBSDID("$FreeBSD: src/sys/libkern/arc4random.c,v 1.15 2008/07/26 16:42:45 ache Exp $"); #include #include @@ -76,14 +76,12 @@ arc4_numruns = 0; /* - * Throw away the first N bytes of output, as suggested in the + * Throw away the first N words of output, as suggested in the * paper "Weaknesses in the Key Scheduling Algorithm of RC4" - * by Fluher, Mantin, and Shamir. N=768 is based on - * suggestions in the paper "(Not So) Random Shuffles of RC4" - * by Ilya Mironov. + * by Fluher, Mantin, and Shamir. (N = 256 in our case.) */ - for (n = 0; n < 768; n++) - (void)arc4_randbyte(); + for (n = 0; n < 256*4; n++) + arc4_randbyte(); mtx_unlock(&arc4_mtx); } ==== //depot/projects/mpsafetty/sys/net/bpf_buffer.c#2 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf_buffer.c,v 1.2 2008/03/24 22:21:32 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf_buffer.c,v 1.3 2008/07/25 23:58:09 trhodes Exp $"); #include "opt_bpf.h" @@ -89,10 +89,10 @@ static int bpf_bufsize = 4096; SYSCTL_INT(_net_bpf, OID_AUTO, bufsize, CTLFLAG_RW, - &bpf_bufsize, 0, ""); + &bpf_bufsize, 0, "Maximum capture buffer size in bytes"); static int bpf_maxbufsize = BPF_MAXBUFSIZE; SYSCTL_INT(_net_bpf, OID_AUTO, maxbufsize, CTLFLAG_RW, - &bpf_maxbufsize, 0, ""); + &bpf_maxbufsize, 0, "Default capture buffer in bytes"); void bpf_buffer_alloc(struct bpf_d *d) ==== //depot/projects/mpsafetty/sys/net/route.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)route.c 8.3.1.1 (Berkeley) 2/23/95 - * $FreeBSD: src/sys/net/route.c,v 1.131 2008/05/10 04:32:58 julian Exp $ + * $FreeBSD: src/sys/net/route.c,v 1.132 2008/07/27 01:29:28 julian Exp $ */ /************************************************************************ * Note: In this file a 'fib' is a "forwarding information base" * @@ -84,9 +84,25 @@ u_int rt_numfibs = RT_NUMFIBS; SYSCTL_INT(_net, OID_AUTO, fibs, CTLFLAG_RD, &rt_numfibs, 0, ""); -/* Eventually this will be a tunable */ +/* + * Allow the boot code to allow LESS than RT_MAXFIBS to be used. + * We can't do more because storage is statically allocated for now. + * (for compatibility reasons.. this will change). + */ TUNABLE_INT("net.fibs", &rt_numfibs); +/* + * By default add routes to all fibs for new interfaces. + * Once this is set to 0 then only allocate routes on interface + * changes for the FIB of the caller when adding a new set of addresses + * to an interface. XXX this is a shotgun aproach to a problem that needs + * a more fine grained solution.. that will come. + */ +u_int rt_add_addr_allfibs = 1; +SYSCTL_INT(_net, OID_AUTO, add_addr_allfibs, CTLFLAG_RW, + &rt_add_addr_allfibs, 0, ""); +TUNABLE_INT("net.add_addr_allfibs", &rt_add_addr_allfibs); + static struct rtstat rtstat; /* by default only the first 'row' of tables will be accessed. */ @@ -1453,8 +1469,12 @@ if ( dst->sa_family != AF_INET) fibnum = 0; if (fibnum == -1) { - startfib = 0; - endfib = rt_numfibs - 1; + if (rt_add_addr_allfibs == 0 && cmd == (int)RTM_ADD) { + startfib = endfib = curthread->td_proc->p_fibnum; + } else { + startfib = 0; + endfib = rt_numfibs - 1; + } } else { KASSERT((fibnum < rt_numfibs), ("rtinit1: bad fibnum")); startfib = fibnum; ==== //depot/projects/mpsafetty/sys/net80211/ieee80211_hostap.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ #include #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_hostap.c,v 1.1 2008/04/20 20:35:43 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_hostap.c,v 1.2 2008/07/26 23:50:27 sam Exp $"); #endif /* @@ -2199,8 +2199,14 @@ "aid mismatch: sta aid 0x%x poll aid 0x%x", ni->ni_associd, aid); vap->iv_stats.is_ps_badaid++; - IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DEAUTH, - IEEE80211_REASON_NOT_ASSOCED); + /* + * NB: We used to deauth the station but it turns out + * the Blackberry Curve 8230 (and perhaps other devices) + * sometimes send the wrong AID when WME is negotiated. + * Being more lenient here seems ok as we already check + * the station is associated and we only return frames + * queued for the station (i.e. we don't use the AID). + */ return; } ==== //depot/projects/mpsafetty/sys/netinet/raw_ip.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.188 2008/07/18 10:47:07 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.190 2008/07/26 21:12:00 mav Exp $"); #include "opt_inet6.h" #include "opt_ipsec.h" @@ -109,6 +109,41 @@ void (*ip_rsvp_force_done)(struct socket *); /* + * Hash functions + */ + +#define INP_PCBHASH_RAW_SIZE 256 +#define INP_PCBHASH_RAW(proto, laddr, faddr, mask) \ + (((proto) + (laddr) + (faddr)) % (mask) + 1) + +static void +rip_inshash(struct inpcb *inp) +{ + struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; + struct inpcbhead *pcbhash; + int hash; + + INP_INFO_WLOCK_ASSERT(pcbinfo); + INP_WLOCK_ASSERT(inp); + + if (inp->inp_ip_p && inp->inp_laddr.s_addr && inp->inp_faddr.s_addr) { + hash = INP_PCBHASH_RAW(inp->inp_ip_p, inp->inp_laddr.s_addr, + inp->inp_faddr.s_addr, pcbinfo->ipi_hashmask); + } else { + hash = 0; + } + pcbhash = &pcbinfo->ipi_hashbase[hash]; + LIST_INSERT_HEAD(pcbhash, inp, inp_hash); +} + +static void +rip_delhash(struct inpcb *inp) +{ + INP_WLOCK_ASSERT(inp); + LIST_REMOVE(inp, inp_hash); +} + +/* * Raw interface to IP protocol. */ @@ -138,12 +173,8 @@ INP_INFO_LOCK_INIT(&ripcbinfo, "rip"); LIST_INIT(&ripcb); ripcbinfo.ipi_listhead = &ripcb; - /* - * XXX We don't use the hash list for raw IP, but it's easier to - * allocate a one entry hash list than it is to check all over the - * place for hashbase == NULL. - */ - ripcbinfo.ipi_hashbase = hashinit(1, M_PCB, &ripcbinfo.ipi_hashmask); + ripcbinfo.ipi_hashbase = hashinit(INP_PCBHASH_RAW_SIZE, M_PCB, + &ripcbinfo.ipi_hashmask); ripcbinfo.ipi_porthashbase = hashinit(1, M_PCB, &ripcbinfo.ipi_porthashmask); ripcbinfo.ipi_zone = uma_zcreate("ripcb", sizeof(struct inpcb), @@ -208,34 +239,65 @@ int proto = ip->ip_p; struct inpcb *inp, *last; struct sockaddr_in ripsrc; + int hash; bzero(&ripsrc, sizeof(ripsrc)); ripsrc.sin_len = sizeof(ripsrc); ripsrc.sin_family = AF_INET; ripsrc.sin_addr = ip->ip_src; last = NULL; + hash = INP_PCBHASH_RAW(proto, ip->ip_src.s_addr, + ip->ip_dst.s_addr, ripcbinfo.ipi_hashmask); INP_INFO_RLOCK(&ripcbinfo); - LIST_FOREACH(inp, &ripcb, inp_list) { + LIST_FOREACH(inp, &ripcbinfo.ipi_hashbase[hash], inp_hash) { + if (inp->inp_ip_p != proto) + continue; +#ifdef INET6 + if ((inp->inp_vflag & INP_IPV4) == 0) + continue; +#endif + if (inp->inp_laddr.s_addr != ip->ip_dst.s_addr) + continue; + if (inp->inp_faddr.s_addr != ip->ip_src.s_addr) + continue; INP_RLOCK(inp); - if (inp->inp_ip_p && inp->inp_ip_p != proto) { - docontinue: + if (jailed(inp->inp_socket->so_cred) && + (htonl(prison_getip(inp->inp_socket->so_cred)) != + ip->ip_dst.s_addr)) { INP_RUNLOCK(inp); continue; } + if (last) { + struct mbuf *n; + + n = m_copy(m, 0, (int)M_COPYALL); + if (n != NULL) + (void) rip_append(last, ip, n, &ripsrc); + /* XXX count dropped packet */ + INP_RUNLOCK(last); + } + last = inp; + } + LIST_FOREACH(inp, &ripcbinfo.ipi_hashbase[0], inp_hash) { + if (inp->inp_ip_p && inp->inp_ip_p != proto) + continue; #ifdef INET6 if ((inp->inp_vflag & INP_IPV4) == 0) - goto docontinue; + continue; #endif if (inp->inp_laddr.s_addr && inp->inp_laddr.s_addr != ip->ip_dst.s_addr) - goto docontinue; + continue; if (inp->inp_faddr.s_addr && inp->inp_faddr.s_addr != ip->ip_src.s_addr) - goto docontinue; - if (jailed(inp->inp_socket->so_cred)) - if (htonl(prison_getip(inp->inp_socket->so_cred)) != - ip->ip_dst.s_addr) - goto docontinue; + continue; + INP_RLOCK(inp); + if (jailed(inp->inp_socket->so_cred) && + (htonl(prison_getip(inp->inp_socket->so_cred)) != + ip->ip_dst.s_addr)) { + INP_RUNLOCK(inp); + continue; + } if (last) { struct mbuf *n; @@ -247,6 +309,7 @@ } last = inp; } + INP_INFO_RUNLOCK(&ripcbinfo); if (last != NULL) { if (rip_append(last, ip, m, &ripsrc) != 0) ipstat.ips_delivered--; @@ -256,7 +319,6 @@ ipstat.ips_noproto++; ipstat.ips_delivered--; } - INP_INFO_RUNLOCK(&ripcbinfo); } /* @@ -610,10 +672,11 @@ return (error); } inp = (struct inpcb *)so->so_pcb; - INP_INFO_WUNLOCK(&ripcbinfo); inp->inp_vflag |= INP_IPV4; inp->inp_ip_p = proto; inp->inp_ip_ttl = ip_defttl; + rip_inshash(inp); + INP_INFO_WUNLOCK(&ripcbinfo); INP_WUNLOCK(inp); return (0); } @@ -630,6 +693,7 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); if (so == ip_mrouter && ip_mrouter_done) ip_mrouter_done(); if (ip_rsvp_force_done) @@ -644,10 +708,11 @@ static void rip_dodisconnect(struct socket *so, struct inpcb *inp) { - INP_WLOCK_ASSERT(inp); + rip_delhash(inp); inp->inp_faddr.s_addr = INADDR_ANY; + rip_inshash(inp); SOCK_LOCK(so); so->so_state &= ~SS_ISCONNECTED; SOCK_UNLOCK(so); @@ -730,7 +795,9 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); inp->inp_laddr = addr->sin_addr; + rip_inshash(inp); INP_WUNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); return (0); @@ -754,7 +821,9 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); inp->inp_faddr = addr->sin_addr; + rip_inshash(inp); soisconnected(so); INP_WUNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); ==== //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#7 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.233 2008/07/20 15:29:58 trhodes Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.234 2008/07/26 23:07:34 mav Exp $"); #include "opt_ipfw.h" #include "opt_inet6.h" @@ -132,7 +132,7 @@ struct inpcbinfo udbinfo; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 27 10:20:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74A4E1065685; Sun, 27 Jul 2008 10:20:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 384DD1065679 for ; Sun, 27 Jul 2008 10:20:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FE698FC23 for ; Sun, 27 Jul 2008 10:20:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RAKOkO076290 for ; Sun, 27 Jul 2008 10:20:24 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RAKOuB076288 for perforce@freebsd.org; Sun, 27 Jul 2008 10:20:24 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 27 Jul 2008 10:20:24 GMT Message-Id: <200807271020.m6RAKOuB076288@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146032 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 10:20:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=146032 Change 146032 by ed@ed_dull on 2008/07/27 10:20:06 grantpt(3) and ptsname(3) both point to the same manpage. Only mention one. Affected files ... .. //depot/projects/mpsafetty/lib/libc/sys/posix_openpt.2#2 edit Differences ... ==== //depot/projects/mpsafetty/lib/libc/sys/posix_openpt.2#2 (text+ko) ==== @@ -108,7 +108,6 @@ Out of pseudo-terminal resources. .El .Sh SEE ALSO -.Xr grantpt 3 , .Xr pts 4 , .Xr ptsname 3 , .Xr tty 4 From owner-p4-projects@FreeBSD.ORG Sun Jul 27 10:53:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89C1A1065671; Sun, 27 Jul 2008 10:53:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34D13106564A for ; Sun, 27 Jul 2008 10:53:59 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2562B8FC0C for ; Sun, 27 Jul 2008 10:53:59 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RArxoS079207 for ; Sun, 27 Jul 2008 10:53:59 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RArwnW079205 for perforce@freebsd.org; Sun, 27 Jul 2008 10:53:58 GMT (envelope-from gk@FreeBSD.org) Date: Sun, 27 Jul 2008 10:53:58 GMT Message-Id: <200807271053.m6RArwnW079205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146034 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 10:54:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=146034 Change 146034 by gk@gk_h1 on 2008/07/27 10:53:10 ifc Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-ipfw/ipfw.8#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/bpf_buffer.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/if_vlan.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-net/route.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/accf_dns.c#1 branch .. //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.h#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_carp.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/raw_ip.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_offload.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_offload.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_output.c#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_syncache.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_syncache.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_timer.c#3 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/toedev.h#2 integrate .. //depot/projects/soc2008/gk_l2filter/sys-netinet/udp_usrreq.c#4 integrate .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf_ioctl.c#4 integrate Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-ipfw/ipfw.8#3 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.212 2008/05/09 23:02:54 julian Exp $ +.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.213 2008/07/24 18:39:36 julian Exp $ .\" .Dd November 26, 2007 .Dt IPFW 8 @@ -877,7 +877,8 @@ .Ar fibnum in any subsequent forwarding decisions. Initially this is limited to the values 0 through 15. See -.Xr setfib 8 +.Xr setfib 8 . +Processing continues at the next rule. .El .Ss RULE BODY The body of a rule contains zero or more patterns (such as ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.197 2008/07/07 09:25:49 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf.c,v 1.198 2008/07/14 22:41:48 jkim Exp $"); #include "opt_bpf.h" #include "opt_mac.h" @@ -443,13 +443,19 @@ if (len - hlen > ifp->if_mtu) return (EMSGSIZE); - if ((unsigned)len > MCLBYTES) + if ((unsigned)len > MJUM16BYTES) return (EIO); - if (len > MHLEN) + if (len <= MHLEN) + MGETHDR(m, M_WAIT, MT_DATA); + else if (len <= MCLBYTES) m = m_getcl(M_WAIT, MT_DATA, M_PKTHDR); else - MGETHDR(m, M_WAIT, MT_DATA); + m = m_getjcl(M_WAIT, MT_DATA, M_PKTHDR, +#if (MJUMPAGESIZE > MCLBYTES) + len <= MJUMPAGESIZE ? MJUMPAGESIZE : +#endif + (len <= MJUM9BYTES ? MJUM9BYTES : MJUM16BYTES)); m->m_pkthdr.len = m->m_len = len; m->m_pkthdr.rcvif = NULL; *mp = m; ==== //depot/projects/soc2008/gk_l2filter/sys-net/bpf_buffer.c#2 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/bpf_buffer.c,v 1.2 2008/03/24 22:21:32 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bpf_buffer.c,v 1.3 2008/07/25 23:58:09 trhodes Exp $"); #include "opt_bpf.h" @@ -89,10 +89,10 @@ static int bpf_bufsize = 4096; SYSCTL_INT(_net_bpf, OID_AUTO, bufsize, CTLFLAG_RW, - &bpf_bufsize, 0, ""); + &bpf_bufsize, 0, "Maximum capture buffer size in bytes"); static int bpf_maxbufsize = BPF_MAXBUFSIZE; SYSCTL_INT(_net_bpf, OID_AUTO, maxbufsize, CTLFLAG_RW, - &bpf_maxbufsize, 0, ""); + &bpf_maxbufsize, 0, "Default capture buffer in bytes"); void bpf_buffer_alloc(struct bpf_d *d) ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_gre.c#3 (text+ko) ==== @@ -250,6 +250,7 @@ u_int16_t etype = 0; struct mobile_h mob_h; u_int32_t af; + int extra = 0; /* * gre may cause infinite recursion calls when misconfigured. @@ -365,7 +366,12 @@ ip = mtod(m, struct ip *); gre_ip_tos = ip->ip_tos; gre_ip_id = ip->ip_id; - etype = ETHERTYPE_IP; + if (sc->wccp_ver == WCCP_V2) { + extra = sizeof(uint32_t); + etype = WCCP_PROTOCOL_TYPE; + } else { + etype = ETHERTYPE_IP; + } break; #ifdef INET6 case AF_INET6: @@ -386,7 +392,7 @@ } /* Reserve space for GRE header + optional GRE key */ - int hdrlen = sizeof(struct greip); + int hdrlen = sizeof(struct greip) + extra; if (sc->key) hdrlen += sizeof(uint32_t); M_PREPEND(m, hdrlen, M_DONTWAIT); @@ -409,7 +415,7 @@ if (sc->g_proto == IPPROTO_GRE) { uint32_t *options = gh->gi_options; - memset((void *)gh, 0, sizeof(struct greip)); + memset((void *)gh, 0, sizeof(struct greip) + extra); gh->gi_ptype = htons(etype); gh->gi_flags = 0; ==== //depot/projects/soc2008/gk_l2filter/sys-net/if_vlan.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_vlan.c,v 1.125 2007/10/18 21:22:15 thompsa Exp $ + * $FreeBSD: src/sys/net/if_vlan.c,v 1.126 2008/07/14 18:40:21 jfv Exp $ */ /* @@ -1062,6 +1062,8 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; done: TRUNK_UNLOCK(trunk); + if (error == 0) + EVENTHANDLER_INVOKE(vlan_config, p, ifv->ifv_tag); VLAN_UNLOCK(); return (error); @@ -1084,12 +1086,14 @@ struct ifvlantrunk *trunk; struct vlan_mc_entry *mc; struct ifvlan *ifv; + struct ifnet *parent; int error; VLAN_LOCK_ASSERT(); ifv = ifp->if_softc; trunk = ifv->ifv_trunk; + parent = PARENT(ifv); if (trunk) { struct sockaddr_dl sdl; @@ -1153,6 +1157,8 @@ ifp->if_link_state = LINK_STATE_UNKNOWN; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + EVENTHANDLER_INVOKE(vlan_unconfig, parent, ifv->ifv_tag); + return (0); } ==== //depot/projects/soc2008/gk_l2filter/sys-net/route.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)route.c 8.3.1.1 (Berkeley) 2/23/95 - * $FreeBSD: src/sys/net/route.c,v 1.131 2008/05/10 04:32:58 julian Exp $ + * $FreeBSD: src/sys/net/route.c,v 1.132 2008/07/27 01:29:28 julian Exp $ */ /************************************************************************ * Note: In this file a 'fib' is a "forwarding information base" * @@ -84,9 +84,25 @@ u_int rt_numfibs = RT_NUMFIBS; SYSCTL_INT(_net, OID_AUTO, fibs, CTLFLAG_RD, &rt_numfibs, 0, ""); -/* Eventually this will be a tunable */ +/* + * Allow the boot code to allow LESS than RT_MAXFIBS to be used. + * We can't do more because storage is statically allocated for now. + * (for compatibility reasons.. this will change). + */ TUNABLE_INT("net.fibs", &rt_numfibs); +/* + * By default add routes to all fibs for new interfaces. + * Once this is set to 0 then only allocate routes on interface + * changes for the FIB of the caller when adding a new set of addresses + * to an interface. XXX this is a shotgun aproach to a problem that needs + * a more fine grained solution.. that will come. + */ +u_int rt_add_addr_allfibs = 1; +SYSCTL_INT(_net, OID_AUTO, add_addr_allfibs, CTLFLAG_RW, + &rt_add_addr_allfibs, 0, ""); +TUNABLE_INT("net.add_addr_allfibs", &rt_add_addr_allfibs); + static struct rtstat rtstat; /* by default only the first 'row' of tables will be accessed. */ @@ -1453,8 +1469,12 @@ if ( dst->sa_family != AF_INET) fibnum = 0; if (fibnum == -1) { - startfib = 0; - endfib = rt_numfibs - 1; + if (rt_add_addr_allfibs == 0 && cmd == (int)RTM_ADD) { + startfib = endfib = curthread->td_proc->p_fibnum; + } else { + startfib = 0; + endfib = rt_numfibs - 1; + } } else { KASSERT((fibnum < rt_numfibs), ("rtinit1: bad fibnum")); startfib = fibnum; ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/in_pcb.c,v 1.209 2008/07/10 13:31:11 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/in_pcb.c,v 1.214 2008/07/22 04:23:57 avatar Exp $"); #include "opt_ddb.h" #include "opt_ipsec.h" @@ -598,7 +598,7 @@ &in_ifaddrhead)->ia_broadaddr)->sin_addr; } if (laddr.s_addr == INADDR_ANY) { - ia = (struct in_ifaddr *)0; + ia = NULL; /* * If route is known our src addr is taken from the i/f, * else punt. @@ -615,16 +615,16 @@ * network and try to find a corresponding interface to take * the source address from. */ - if (ia == 0) { + if (ia == NULL) { bzero(&sa, sizeof(sa)); sa.sin_addr = faddr; sa.sin_len = sizeof(sa); sa.sin_family = AF_INET; ia = ifatoia(ifa_ifwithdstaddr(sintosa(&sa))); - if (ia == 0) + if (ia == NULL) ia = ifatoia(ifa_ifwithnet(sintosa(&sa))); - if (ia == 0) + if (ia == NULL) return (ENETUNREACH); } /* @@ -643,7 +643,7 @@ TAILQ_FOREACH(ia, &in_ifaddrhead, ia_link) if (ia->ia_ifp == ifp) break; - if (ia == 0) + if (ia == NULL) return (EADDRNOTAVAIL); } } @@ -1254,6 +1254,76 @@ } #endif +void +inp_apply_all(void (*func)(struct inpcb *, void *), void *arg) +{ + struct inpcb *inp; + + INP_INFO_RLOCK(&tcbinfo); + LIST_FOREACH(inp, tcbinfo.ipi_listhead, inp_list) { + INP_WLOCK(inp); + func(inp, arg); + INP_WUNLOCK(inp); + } + INP_INFO_RUNLOCK(&tcbinfo); +} + +struct socket * +inp_inpcbtosocket(struct inpcb *inp) +{ + + INP_WLOCK_ASSERT(inp); + return (inp->inp_socket); +} + +struct tcpcb * +inp_inpcbtotcpcb(struct inpcb *inp) +{ + + INP_WLOCK_ASSERT(inp); + return ((struct tcpcb *)inp->inp_ppcb); +} + +int +inp_ip_tos_get(const struct inpcb *inp) +{ + + return (inp->inp_ip_tos); +} + +void +inp_ip_tos_set(struct inpcb *inp, int val) +{ + + inp->inp_ip_tos = val; +} + +void +inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, + uint32_t *faddr, uint16_t *fp) +{ + + INP_LOCK_ASSERT(inp); + *laddr = inp->inp_laddr.s_addr; + *faddr = inp->inp_faddr.s_addr; + *lp = inp->inp_lport; + *fp = inp->inp_fport; +} + +struct inpcb * +so_sotoinpcb(struct socket *so) +{ + + return (sotoinpcb(so)); +} + +struct tcpcb * +so_sototcpcb(struct socket *so) +{ + + return (sototcpcb(so)); +} + #ifdef DDB static void db_print_indent(int indent) ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/in_pcb.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/netinet/in_pcb.h,v 1.109 2008/07/10 13:31:11 bz Exp $ + * $FreeBSD: src/sys/netinet/in_pcb.h,v 1.113 2008/07/22 04:23:57 avatar Exp $ */ #ifndef _NETINET_IN_PCB_H_ @@ -315,6 +315,8 @@ #define INP_LOCK_DESTROY(inp) rw_destroy(&(inp)->inp_lock) #define INP_RLOCK(inp) rw_rlock(&(inp)->inp_lock) #define INP_WLOCK(inp) rw_wlock(&(inp)->inp_lock) +#define INP_TRY_RLOCK(inp) rw_try_rlock(&(inp)->inp_lock) +#define INP_TRY_WLOCK(inp) rw_try_wlock(&(inp)->inp_lock) #define INP_RUNLOCK(inp) rw_runlock(&(inp)->inp_lock) #define INP_WUNLOCK(inp) rw_wunlock(&(inp)->inp_lock) #define INP_LOCK_ASSERT(inp) rw_assert(&(inp)->inp_lock, RA_LOCKED) @@ -348,6 +350,17 @@ } #endif + +void inp_apply_all(void (*func)(struct inpcb *, void *), void *arg); +int inp_ip_tos_get(const struct inpcb *inp); +void inp_ip_tos_set(struct inpcb *inp, int val); +struct socket * + inp_inpcbtosocket(struct inpcb *inp); +struct tcpcb * + inp_inpcbtotcpcb(struct inpcb *inp); +void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp, + uint32_t *faddr, uint16_t *fp); + #endif /* _KERNEL */ @@ -356,6 +369,8 @@ #define INP_INFO_LOCK_DESTROY(ipi) rw_destroy(&(ipi)->ipi_lock) #define INP_INFO_RLOCK(ipi) rw_rlock(&(ipi)->ipi_lock) #define INP_INFO_WLOCK(ipi) rw_wlock(&(ipi)->ipi_lock) +#define INP_INFO_TRY_RLOCK(ipi) rw_try_rlock(&(ipi)->ipi_lock) +#define INP_INFO_TRY_WLOCK(ipi) rw_try_wlock(&(ipi)->ipi_lock) #define INP_INFO_RUNLOCK(ipi) rw_runlock(&(ipi)->ipi_lock) #define INP_INFO_WUNLOCK(ipi) rw_wunlock(&(ipi)->ipi_lock) #define INP_INFO_LOCK_ASSERT(ipi) rw_assert(&(ipi)->ipi_lock, RA_LOCKED) ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/ip_carp.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.54 2008/06/02 18:58:07 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_carp.c,v 1.55 2008/07/14 20:11:51 eri Exp $"); #include "opt_carp.h" #include "opt_bpf.h" @@ -1464,7 +1464,11 @@ carp_set_state(sc, INIT); if (sc->sc_naddrs) SC2IFP(sc)->if_flags |= IFF_UP; + if (sc->sc_carpdev) + CARP_SCLOCK(sc); carp_setrun(sc, 0); + if (sc->sc_carpdev) + CARP_SCUNLOCK(sc); return (0); } @@ -1625,7 +1629,11 @@ carp_set_state(sc, INIT); if (sc->sc_naddrs6) SC2IFP(sc)->if_flags |= IFF_UP; + if (sc->sc_carpdev) + CARP_SCLOCK(sc); carp_setrun(sc, 0); + if (sc->sc_carpdev) + CARP_SCUNLOCK(sc); return (0); } ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/raw_ip.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.187 2008/07/05 18:55:03 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.190 2008/07/26 21:12:00 mav Exp $"); #include "opt_inet6.h" #include "opt_ipsec.h" @@ -109,6 +109,41 @@ void (*ip_rsvp_force_done)(struct socket *); /* + * Hash functions + */ + +#define INP_PCBHASH_RAW_SIZE 256 +#define INP_PCBHASH_RAW(proto, laddr, faddr, mask) \ + (((proto) + (laddr) + (faddr)) % (mask) + 1) + +static void +rip_inshash(struct inpcb *inp) +{ + struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; + struct inpcbhead *pcbhash; + int hash; + + INP_INFO_WLOCK_ASSERT(pcbinfo); + INP_WLOCK_ASSERT(inp); + + if (inp->inp_ip_p && inp->inp_laddr.s_addr && inp->inp_faddr.s_addr) { + hash = INP_PCBHASH_RAW(inp->inp_ip_p, inp->inp_laddr.s_addr, + inp->inp_faddr.s_addr, pcbinfo->ipi_hashmask); + } else { + hash = 0; + } + pcbhash = &pcbinfo->ipi_hashbase[hash]; + LIST_INSERT_HEAD(pcbhash, inp, inp_hash); +} + +static void +rip_delhash(struct inpcb *inp) +{ + INP_WLOCK_ASSERT(inp); + LIST_REMOVE(inp, inp_hash); +} + +/* * Raw interface to IP protocol. */ @@ -138,12 +173,8 @@ INP_INFO_LOCK_INIT(&ripcbinfo, "rip"); LIST_INIT(&ripcb); ripcbinfo.ipi_listhead = &ripcb; - /* - * XXX We don't use the hash list for raw IP, but it's easier to - * allocate a one entry hash list than it is to check all over the - * place for hashbase == NULL. - */ - ripcbinfo.ipi_hashbase = hashinit(1, M_PCB, &ripcbinfo.ipi_hashmask); + ripcbinfo.ipi_hashbase = hashinit(INP_PCBHASH_RAW_SIZE, M_PCB, + &ripcbinfo.ipi_hashmask); ripcbinfo.ipi_porthashbase = hashinit(1, M_PCB, &ripcbinfo.ipi_porthashmask); ripcbinfo.ipi_zone = uma_zcreate("ripcb", sizeof(struct inpcb), @@ -153,10 +184,9 @@ EVENTHANDLER_PRI_ANY); } -static struct sockaddr_in ripsrc = { sizeof(ripsrc), AF_INET }; - static int -rip_append(struct inpcb *last, struct ip *ip, struct mbuf *n) +rip_append(struct inpcb *last, struct ip *ip, struct mbuf *n, + struct sockaddr_in *ripsrc) { int policyfail = 0; @@ -185,7 +215,7 @@ ip_savecontrol(last, &opts, ip, n); SOCKBUF_LOCK(&so->so_rcv); if (sbappendaddr_locked(&so->so_rcv, - (struct sockaddr *)&ripsrc, n, opts) == 0) { + (struct sockaddr *)ripsrc, n, opts) == 0) { /* should notify about lost packet */ m_freem(n); if (opts) @@ -208,44 +238,80 @@ struct ip *ip = mtod(m, struct ip *); int proto = ip->ip_p; struct inpcb *inp, *last; + struct sockaddr_in ripsrc; + int hash; - INP_INFO_RLOCK(&ripcbinfo); + bzero(&ripsrc, sizeof(ripsrc)); + ripsrc.sin_len = sizeof(ripsrc); + ripsrc.sin_family = AF_INET; ripsrc.sin_addr = ip->ip_src; last = NULL; - LIST_FOREACH(inp, &ripcb, inp_list) { + hash = INP_PCBHASH_RAW(proto, ip->ip_src.s_addr, + ip->ip_dst.s_addr, ripcbinfo.ipi_hashmask); + INP_INFO_RLOCK(&ripcbinfo); + LIST_FOREACH(inp, &ripcbinfo.ipi_hashbase[hash], inp_hash) { + if (inp->inp_ip_p != proto) + continue; +#ifdef INET6 + if ((inp->inp_vflag & INP_IPV4) == 0) + continue; +#endif + if (inp->inp_laddr.s_addr != ip->ip_dst.s_addr) + continue; + if (inp->inp_faddr.s_addr != ip->ip_src.s_addr) + continue; INP_RLOCK(inp); - if (inp->inp_ip_p && inp->inp_ip_p != proto) { - docontinue: + if (jailed(inp->inp_socket->so_cred) && + (htonl(prison_getip(inp->inp_socket->so_cred)) != + ip->ip_dst.s_addr)) { INP_RUNLOCK(inp); continue; } + if (last) { + struct mbuf *n; + + n = m_copy(m, 0, (int)M_COPYALL); + if (n != NULL) + (void) rip_append(last, ip, n, &ripsrc); + /* XXX count dropped packet */ + INP_RUNLOCK(last); + } + last = inp; + } + LIST_FOREACH(inp, &ripcbinfo.ipi_hashbase[0], inp_hash) { + if (inp->inp_ip_p && inp->inp_ip_p != proto) + continue; #ifdef INET6 if ((inp->inp_vflag & INP_IPV4) == 0) - goto docontinue; + continue; #endif if (inp->inp_laddr.s_addr && inp->inp_laddr.s_addr != ip->ip_dst.s_addr) - goto docontinue; + continue; if (inp->inp_faddr.s_addr && inp->inp_faddr.s_addr != ip->ip_src.s_addr) - goto docontinue; - if (jailed(inp->inp_socket->so_cred)) - if (htonl(prison_getip(inp->inp_socket->so_cred)) != - ip->ip_dst.s_addr) - goto docontinue; + continue; + INP_RLOCK(inp); + if (jailed(inp->inp_socket->so_cred) && + (htonl(prison_getip(inp->inp_socket->so_cred)) != + ip->ip_dst.s_addr)) { + INP_RUNLOCK(inp); + continue; + } if (last) { struct mbuf *n; n = m_copy(m, 0, (int)M_COPYALL); if (n != NULL) - (void) rip_append(last, ip, n); + (void) rip_append(last, ip, n, &ripsrc); /* XXX count dropped packet */ INP_RUNLOCK(last); } last = inp; } + INP_INFO_RUNLOCK(&ripcbinfo); if (last != NULL) { - if (rip_append(last, ip, m) != 0) + if (rip_append(last, ip, m, &ripsrc) != 0) ipstat.ips_delivered--; INP_RUNLOCK(last); } else { @@ -253,7 +319,6 @@ ipstat.ips_noproto++; ipstat.ips_delivered--; } - INP_INFO_RUNLOCK(&ripcbinfo); } /* @@ -607,10 +672,11 @@ return (error); } inp = (struct inpcb *)so->so_pcb; - INP_INFO_WUNLOCK(&ripcbinfo); inp->inp_vflag |= INP_IPV4; inp->inp_ip_p = proto; inp->inp_ip_ttl = ip_defttl; + rip_inshash(inp); + INP_INFO_WUNLOCK(&ripcbinfo); INP_WUNLOCK(inp); return (0); } @@ -627,6 +693,7 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); if (so == ip_mrouter && ip_mrouter_done) ip_mrouter_done(); if (ip_rsvp_force_done) @@ -641,10 +708,11 @@ static void rip_dodisconnect(struct socket *so, struct inpcb *inp) { - INP_WLOCK_ASSERT(inp); + rip_delhash(inp); inp->inp_faddr.s_addr = INADDR_ANY; + rip_inshash(inp); SOCK_LOCK(so); so->so_state &= ~SS_ISCONNECTED; SOCK_UNLOCK(so); @@ -727,7 +795,9 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); inp->inp_laddr = addr->sin_addr; + rip_inshash(inp); INP_WUNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); return (0); @@ -751,7 +821,9 @@ INP_INFO_WLOCK(&ripcbinfo); INP_WLOCK(inp); + rip_delhash(inp); inp->inp_faddr = addr->sin_addr; + rip_inshash(inp); soisconnected(so); INP_WUNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_offload.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/tcp_offload.c,v 1.2 2007/12/19 05:17:40 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/tcp_offload.c,v 1.4 2008/07/21 21:22:56 kmacy Exp $"); #include #include @@ -50,7 +50,6 @@ #include #include - int tcp_offload_connect(struct socket *so, struct sockaddr *nam) { @@ -92,3 +91,48 @@ RTFREE(rt); return (error); } + + +/* + * This file contains code as a short-term staging area before it is moved in + * to sys/netinet/tcp_offload.c + */ + +void +tcp_offload_twstart(struct tcpcb *tp) +{ + + INP_INFO_WLOCK(&tcbinfo); + INP_WLOCK(tp->t_inpcb); + tcp_twstart(tp); + INP_INFO_WUNLOCK(&tcbinfo); +} + +struct tcpcb * +tcp_offload_close(struct tcpcb *tp) +{ + + INP_INFO_WLOCK(&tcbinfo); + INP_WLOCK(tp->t_inpcb); + tp = tcp_close(tp); + INP_INFO_WUNLOCK(&tcbinfo); + if (tp) + INP_WUNLOCK(tp->t_inpcb); + + return (tp); +} + +struct tcpcb * +tcp_offload_drop(struct tcpcb *tp, int error) +{ + + INP_INFO_WLOCK(&tcbinfo); + INP_WLOCK(tp->t_inpcb); + tp = tcp_drop(tp, error); + INP_INFO_WUNLOCK(&tcbinfo); + if (tp) + INP_WUNLOCK(tp->t_inpcb); + + return (tp); +} + ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_offload.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/tcp_offload.h,v 1.3 2008/04/19 03:22:43 kmacy Exp $ + * $FreeBSD: src/sys/netinet/tcp_offload.h,v 1.5 2008/07/21 21:22:56 kmacy Exp $ */ #ifndef _NETINET_TCP_OFFLOAD_H_ @@ -333,4 +333,9 @@ #undef SO_OFFLOADABLE #endif /* _SYS_SOCKETVAR_H_ */ #undef tp_offload + +void tcp_offload_twstart(struct tcpcb *tp); +struct tcpcb *tcp_offload_close(struct tcpcb *tp); +struct tcpcb *tcp_offload_drop(struct tcpcb *tp, int error); + #endif /* _NETINET_TCP_OFFLOAD_H_ */ ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_output.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/tcp_output.c,v 1.150 2008/04/17 21:38:16 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/tcp_output.c,v 1.151 2008/07/15 10:32:35 rpaulo Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -934,7 +934,7 @@ * a 0 window. This may cause the remote transmitter to stall. This * flag tells soreceive() to disable delayed acknowledgements when * draining the buffer. This can occur if the receiver is attempting - * to read more data then can be buffered prior to transmitting on + * to read more data than can be buffered prior to transmitting on * the connection. */ if (recwin == 0) ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_syncache.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.147 2008/06/16 20:08:22 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.148 2008/07/21 02:11:06 kmacy Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -959,6 +959,19 @@ return (0); } +int +tcp_offload_syncache_expand(struct in_conninfo *inc, struct tcpopt *to, + struct tcphdr *th, struct socket **lsop, struct mbuf *m) +{ + int rc; + + INP_INFO_WLOCK(&tcbinfo); + rc = syncache_expand(inc, to, th, lsop, m); + INP_INFO_WUNLOCK(&tcbinfo); + + return (rc); +} + /* * Given a LISTEN socket and an inbound SYN request, add * this to the syn cache, and send back a segment: @@ -1426,7 +1439,7 @@ } void -syncache_offload_add(struct in_conninfo *inc, struct tcpopt *to, +tcp_offload_syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, struct inpcb *inp, struct socket **lsop, struct toe_usrreqs *tu, void *toepcb) { ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_syncache.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_syncache.h,v 1.2 2007/12/12 20:35:59 kmacy Exp $ + * $FreeBSD: src/sys/netinet/tcp_syncache.h,v 1.3 2008/07/21 02:11:06 kmacy Exp $ */ #ifndef _NETINET_TCP_SYNCACHE_H_ @@ -38,11 +38,14 @@ void syncache_unreach(struct in_conninfo *, struct tcphdr *); int syncache_expand(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct socket **, struct mbuf *); +int tcp_offload_syncache_expand(struct in_conninfo *inc, struct tcpopt *to, + struct tcphdr *th, struct socket **lsop, struct mbuf *m); void syncache_add(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct inpcb *, struct socket **, struct mbuf *); -void syncache_offload_add(struct in_conninfo *, struct tcpopt *, +void tcp_offload_syncache_add(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct inpcb *, struct socket **, struct toe_usrreqs *tu, void *toepcb); + void syncache_chkrst(struct in_conninfo *, struct tcphdr *); void syncache_badack(struct in_conninfo *); int syncache_pcbcount(void); ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/tcp_timer.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/tcp_timer.c,v 1.101 2008/06/02 14:20:26 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/tcp_timer.c,v 1.102 2008/07/20 15:29:58 trhodes Exp $"); #include "opt_inet6.h" #include "opt_tcpdebug.h" @@ -66,15 +66,15 @@ int tcp_keepinit; SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPINIT, keepinit, CTLTYPE_INT|CTLFLAG_RW, - &tcp_keepinit, 0, sysctl_msec_to_ticks, "I", ""); + &tcp_keepinit, 0, sysctl_msec_to_ticks, "I", "time to establish connection"); int tcp_keepidle; SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPIDLE, keepidle, CTLTYPE_INT|CTLFLAG_RW, - &tcp_keepidle, 0, sysctl_msec_to_ticks, "I", ""); + &tcp_keepidle, 0, sysctl_msec_to_ticks, "I", "time before keepalive probes begin"); int tcp_keepintvl; SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPINTVL, keepintvl, CTLTYPE_INT|CTLFLAG_RW, - &tcp_keepintvl, 0, sysctl_msec_to_ticks, "I", ""); + &tcp_keepintvl, 0, sysctl_msec_to_ticks, "I", "time between keepalive probes"); int tcp_delacktime; SYSCTL_PROC(_net_inet_tcp, TCPCTL_DELACKTIME, delacktime, CTLTYPE_INT|CTLFLAG_RW, ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/toedev.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/toedev.h,v 1.4 2007/12/16 05:30:21 kmacy Exp $ + * $FreeBSD: src/sys/netinet/toedev.h,v 1.5 2008/07/20 02:02:50 kmacy Exp $ */ #ifndef _NETINET_TOEDEV_H_ @@ -78,15 +78,35 @@ struct ifnet *tod_lldev; /* first interface */ const struct tom_info *tod_offload_mod; /* TCP offload module */ - int (*tod_open)(struct toedev *dev); - int (*tod_close)(struct toedev *dev); + /* + * This TOE device is capable of offloading the connection for socket so + */ int (*tod_can_offload)(struct toedev *dev, struct socket *so); + + /* + * Establish a connection to nam using the TOE device dev + */ int (*tod_connect)(struct toedev *dev, struct socket *so, struct rtentry *rt, struct sockaddr *nam); + /* + * Send an mbuf down to the toe device + */ int (*tod_send)(struct toedev *dev, struct mbuf *m); + /* + * Receive an array of mbufs from the TOE device dev + */ int (*tod_recv)(struct toedev *dev, struct mbuf **m, int n); + /* + * Device specific ioctl interface + */ int (*tod_ctl)(struct toedev *dev, unsigned int req, void *data); + /* + * Update L2 entry in toedev + */ void (*tod_arp_update)(struct toedev *dev, struct rtentry *neigh); + /* + * Failover from one toe device to another + */ void (*tod_failover)(struct toedev *dev, struct ifnet *bond_ifp, struct ifnet *ndev, int event); void *tod_priv; /* driver private data */ ==== //depot/projects/soc2008/gk_l2filter/sys-netinet/udp_usrreq.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.230 2008/07/10 16:20:18 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.234 2008/07/26 23:07:34 mav Exp $"); #include "opt_ipfw.h" #include "opt_inet6.h" @@ -102,7 +102,7 @@ */ static int udp_cksum = 1; SYSCTL_INT(_net_inet_udp, UDPCTL_CHECKSUM, checksum, CTLFLAG_RW, &udp_cksum, - 0, ""); + 0, "compute udp checksum"); int udp_log_in_vain = 0; SYSCTL_INT(_net_inet_udp, OID_AUTO, log_in_vain, CTLFLAG_RW, @@ -132,7 +132,7 @@ struct inpcbinfo udbinfo; #ifndef UDBHASHSIZE -#define UDBHASHSIZE 16 +#define UDBHASHSIZE 128 #endif struct udpstat udpstat; /* from udp_var.h */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 27 10:57:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE23C1065670; Sun, 27 Jul 2008 10:57:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 825CC106564A for ; Sun, 27 Jul 2008 10:57:02 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A3438FC0C for ; Sun, 27 Jul 2008 10:57:02 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RAv2IH079473 for ; Sun, 27 Jul 2008 10:57:02 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RAv2fm079471 for perforce@freebsd.org; Sun, 27 Jul 2008 10:57:02 GMT (envelope-from gk@FreeBSD.org) Date: Sun, 27 Jul 2008 10:57:02 GMT Message-Id: <200807271057.m6RAv2fm079471@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146035 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 10:57:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=146035 Change 146035 by gk@gk_h1 on 2008/07/27 10:56:36 branch pf man pages Affected files ... .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pf.4#1 branch .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pf.conf.5#1 branch .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pf.os.5#1 branch .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pflog.4#1 branch .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pfsync.4#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 27 11:09:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1EA461065673; Sun, 27 Jul 2008 11:09:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D710E1065671 for ; Sun, 27 Jul 2008 11:09:14 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C8F4E8FC12 for ; Sun, 27 Jul 2008 11:09:14 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RB9EWj081555 for ; Sun, 27 Jul 2008 11:09:14 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RB9ENO081553 for perforce@freebsd.org; Sun, 27 Jul 2008 11:09:14 GMT (envelope-from gk@FreeBSD.org) Date: Sun, 27 Jul 2008 11:09:14 GMT Message-Id: <200807271109.m6RB9ENO081553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 11:09:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=146036 Change 146036 by gk@gk_h1 on 2008/07/27 11:08:24 add per state flag to mark ethernet state check not to derefernce rule pointer on every state check and to improve state dump in user space note. flag is added into local_flags field wich is FreeBSD only Affected files ... .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf.c#8 edit .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#7 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pf.c#8 (text+ko) ==== @@ -706,8 +706,14 @@ { struct pf_addr_ether *src, *dst; +#ifdef __FreeBSD__ + if ((state->local_flags & PFSTATE_ETHER) == 0) + return (1); +#else + /* XXX only FreeBSD is supported */ if ((state->rule.ptr->rule_flag & PFRULE_ETHERSTATE) == 0) return (1); +#endif if (direction == PF_IN) { src = &state->ext.addr_ether; @@ -3549,6 +3555,10 @@ s->proto = IPPROTO_TCP; s->direction = direction; s->af = af; +#ifdef __FreeBSD__ + if (r->rule_flag & PFRULE_ETHERSTATE) + s->local_flags |= PFSTATE_ETHER; +#endif if (direction == PF_OUT) { PF_ACPY(&s->gwy.addr, saddr, af); s->gwy.port = th->th_sport; /* sport */ @@ -3950,6 +3960,10 @@ s->proto = IPPROTO_UDP; s->direction = direction; s->af = af; +#ifdef __FreeBSD__ + if (r->rule_flag & PFRULE_ETHERSTATE) + s->local_flags |= PFSTATE_ETHER; +#endif if (direction == PF_OUT) { PF_ACPY(&s->gwy.addr, saddr, af); s->gwy.port = uh->uh_sport; @@ -4267,6 +4281,10 @@ s->proto = pd->proto; s->direction = direction; s->af = af; +#ifdef __FreeBSD__ + if (r->rule_flag & PFRULE_ETHERSTATE) + s->local_flags |= PFSTATE_ETHER; +#endif if (direction == PF_OUT) { PF_ACPY(&s->gwy.addr, saddr, af); s->gwy.port = nport; @@ -4558,6 +4576,10 @@ s->proto = pd->proto; s->direction = direction; s->af = af; +#ifdef __FreeBSD__ + if (r->rule_flag & PFRULE_ETHERSTATE) + s->local_flags |= PFSTATE_ETHER; +#endif if (direction == PF_OUT) { PF_ACPY(&s->gwy.addr, saddr, af); s->gwy.addr_ether = pd->src_ether; ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#7 (text+ko) ==== @@ -814,6 +814,7 @@ #ifdef __FreeBSD__ u_int8_t local_flags; #define PFSTATE_EXPIRING 0x01 +#define PFSTATE_ETHER 0x02 #else u_int8_t pad; #endif From owner-p4-projects@FreeBSD.ORG Sun Jul 27 11:11:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DA84106568B; Sun, 27 Jul 2008 11:11:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11631106567D for ; Sun, 27 Jul 2008 11:11:17 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 036458FC1C for ; Sun, 27 Jul 2008 11:11:17 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RBBGeG081791 for ; Sun, 27 Jul 2008 11:11:16 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RBBGhG081789 for perforce@freebsd.org; Sun, 27 Jul 2008 11:11:16 GMT (envelope-from gk@FreeBSD.org) Date: Sun, 27 Jul 2008 11:11:16 GMT Message-Id: <200807271111.m6RBBGhG081789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 11:11:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=146037 Change 146037 by gk@gk_h1 on 2008/07/27 11:11:06 'pfctl -vs state' is now capable of printing state ethernet addresses do not print extra space in print_addr_ether Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#5 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_table.c#3 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#5 (text+ko) ==== @@ -120,19 +120,23 @@ printf("/%d", bits); } - print_addr_ether(&addr->v.a.addr_ether, verbose); + putchar(' '); + print_addr_ether(&addr->v.a.addr_ether, 0); } void print_addr_ether(struct pf_addr_ether *addr, int verbose) { - if ((addr->flags & PFAE_CHECK) == 0) + if ((addr->flags & PFAE_CHECK) == 0) { + if (verbose) + printf("ether any"); return; + } if (addr->flags & PFAE_MULTICAST) { - printf(" ether multicast"); + printf("ether multicast"); } else { u_int8_t *ea = addr->octet; - printf(" ether %02x:%02x:%02x:%02x:%02x:%02x", + printf("ether %02x:%02x:%02x:%02x:%02x:%02x", ea[0], ea[1], ea[2], ea[3], ea[4], ea[5]); } } @@ -315,6 +319,28 @@ if (s->nat_src_node != NULL) printf(", sticky-address"); printf("\n"); + if (s->local_flags & PFSTATE_ETHER) { + int left_printed = 0; + + printf(" "); + if (s->lan.addr_ether.flags & PFAE_CHECK) { + print_addr_ether(&s->lan.addr_ether, 1); + if (s->direction == PF_OUT) + printf(" -> "); + else + printf(" <- "); + left_printed = 1; + } + if (!left_printed || (s->gwy.addr_ether.flags & PFAE_CHECK)) { + print_addr_ether(&s->gwy.addr_ether, 1); + if (s->direction == PF_OUT) + printf(" -> "); + else + printf(" <- "); + } + print_addr_ether(&s->ext.addr_ether, 1); + printf("\n"); + } } if (opts & PF_OPT_VERBOSE2) { printf(" id: %016llx creatorid: %08x%s\n", ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_table.c#3 (text+ko) ==== @@ -438,6 +438,7 @@ printf("%c %c%s", ch, (ad->pfra_not?'!':' '), buf); if (ad->pfra_net < hostnet) printf("/%d", ad->pfra_net); + putchar(' '); print_addr_ether(&ad->pfra_ether, 0); if (rad != NULL && fback != PFR_FB_NONE) { if (strlcpy(buf, "{error}", sizeof(buf)) >= sizeof(buf)) From owner-p4-projects@FreeBSD.ORG Sun Jul 27 13:13:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B03001065684; Sun, 27 Jul 2008 13:13:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B9F81065680 for ; Sun, 27 Jul 2008 13:13:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4EBC58FC12 for ; Sun, 27 Jul 2008 13:13:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RDDM9I003109 for ; Sun, 27 Jul 2008 13:13:22 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RDDMwY003107 for perforce@freebsd.org; Sun, 27 Jul 2008 13:13:22 GMT (envelope-from jhb@freebsd.org) Date: Sun, 27 Jul 2008 13:13:22 GMT Message-Id: <200807271313.m6RDDMwY003107@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 13:13:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=146044 Change 146044 by jhb@jhb_zion on 2008/07/27 13:12:26 Better affinity handing: - Set a flag on the thread when a cpuset is applied if the set doesn't include all CPUs. This lets us avoid invoking sched_pickcpu() in the common case in sched_add(). - Handle threads executing on other CPUs and threads that are on a runqueue in sched_affinity(). Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#76 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#76 (text+ko) ==== @@ -97,6 +97,7 @@ /* flags kept in td_flags */ #define TDF_DIDRUN TDF_SCHED0 /* thread actually ran. */ #define TDF_BOUND TDF_SCHED1 /* Bound to one CPU. */ +#define TDF_AFFINITY TDF_SCHED2 /* Has a non-"full" CPU set. */ #define SKE_RUNQ_PCPU(ts) \ ((ts)->ts_runq != 0 && (ts)->ts_runq != &runq) @@ -1165,34 +1166,25 @@ static int sched_pickcpu(struct thread *td) { - int best, cpu, fullset; + int best, cpu; mtx_assert(&sched_lock, MA_OWNED); - fullset = 1; best = NOCPU; for (cpu = 0; cpu <= mp_maxid; cpu++) { if (CPU_ABSENT(cpu)) continue; - if (!THREAD_CAN_SCHED(td, cpu)) { - /* - * At least one available CPU isn't in our - * set, so it isn't a "full" set. - */ - fullset = 0; + if (!THREAD_CAN_SCHED(td, cpu)) continue; - } if (best == NOCPU) best = cpu; else if (runq_length[cpu] < runq_length[best]) best = cpu; } + KASSERT(best != NOCPU, ("no valid CPUs")); - if (fullset) - return (NOCPU); - else - return (best); + return (best); } #endif @@ -1232,25 +1224,25 @@ single_cpu = 1; CTR3(KTR_RUNQ, "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } else if ((td)->td_flags & TDF_BOUND) { + } else if (td->td_flags & TDF_BOUND) { /* Find CPU from bound runq */ KASSERT(SKE_RUNQ_PCPU(ts),("sched_add: bound td_sched not on cpu runq")); cpu = ts->ts_runq - &runq_pcpu[0]; single_cpu = 1; CTR3(KTR_RUNQ, "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } else { + } else if (td->td_flags & TDF_AFFINITY) { /* Find a valid CPU for our cpuset */ cpu = sched_pickcpu(td); - if (cpu == NOCPU) { - CTR2(KTR_RUNQ, + ts->ts_runq = &runq_pcpu[cpu]; + single_cpu = 1; + CTR3(KTR_RUNQ, + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); + } else { + CTR2(KTR_RUNQ, "sched_add: adding td_sched:%p (td:%p) to gbl runq", ts, td); - ts->ts_runq = &runq; - } else { - single_cpu = 1; - CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } + cpu = NOCPU; + ts->ts_runq = &runq; } if (single_cpu && (cpu != PCPU_GET(cpuid))) { @@ -1577,16 +1569,56 @@ sched_affinity(struct thread *td) { #ifdef SMP + struct td_sched *ts; + int cpu; + + THREAD_LOCK_ASSERT(td, MA_OWNED); - THREAD_LOCK_ASSERT(td, MA_OWNED); + /* + * Set the TDF_AFFINITY flag if there is at least one CPU this + * thread can't run on. + */ + td->td_flags &= ~TDF_AFFINITY; + for (cpu = 0; cpu <= mp_maxid; cpu++) { + if (CPU_ABSENT(cpu)) + continue; + if (!THREAD_CAN_SCHED(td, cpu)) { + td->td_flags |= TDF_AFFINITY; + break; + } + } /* - * See if our current CPU is in the set. If not, force a - * context switch. + * If this thread can run on all CPUs, nothing else to do. */ - if (THREAD_CAN_SCHED(td, PCPU_GET(cpuid))) + if (!(td->td_flags & TDF_AFFINITY)) return; - mi_switch(SW_VOL, NULL); + switch (td->td_state) { + case TDS_RUNQ: + /* + * If we are on a per-CPU runqueue that is in the set, + * then nothing needs to be done. + */ + ts = td->td_sched; + if (ts->ts_runq != &runq && + THREAD_CAN_SCHED(td, ts->ts_runq - runq_pcpu)) + return; + + /* Put this thread on a valid per-CPU runqueue. */ + sched_rem(td); + sched_add(td, SRQ_BORING); + break; + case TDS_RUNNING: + /* + * See if our current CPU is in the set. If not, force a + * context switch. + */ + if (THREAD_CAN_SCHED(td, td->td_oncpu)) + return; + + mi_switch(SW_VOL, NULL); + break; + } #endif } From owner-p4-projects@FreeBSD.ORG Sun Jul 27 13:38:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AFB89106566C; Sun, 27 Jul 2008 13:38:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73D48106567A for ; Sun, 27 Jul 2008 13:38:48 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4D5DE8FC17 for ; Sun, 27 Jul 2008 13:38:48 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RDcmOn005189 for ; Sun, 27 Jul 2008 13:38:48 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RDcme7005187 for perforce@freebsd.org; Sun, 27 Jul 2008 13:38:48 GMT (envelope-from jhb@freebsd.org) Date: Sun, 27 Jul 2008 13:38:48 GMT Message-Id: <200807271338.m6RDcme7005187@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146045 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 13:38:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=146045 Change 146045 by jhb@jhb_zion on 2008/07/27 13:38:23 Ignore pinned and bound threads when applying a cpuset. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#77 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#77 (text+ko) ==== @@ -1594,6 +1594,10 @@ if (!(td->td_flags & TDF_AFFINITY)) return; + /* Pinned threads and bound threads should be left alone. */ + if (td->td_pinned != 0 || td->td_flags & TDF_BOUND) + return; + switch (td->td_state) { case TDS_RUNQ: /* From owner-p4-projects@FreeBSD.ORG Sun Jul 27 15:25:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C7AA106567F; Sun, 27 Jul 2008 15:25:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C154106567C for ; Sun, 27 Jul 2008 15:25:37 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F33DB8FC1C for ; Sun, 27 Jul 2008 15:25:36 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RFPaOl016486 for ; Sun, 27 Jul 2008 15:25:36 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RFPaTe016484 for perforce@freebsd.org; Sun, 27 Jul 2008 15:25:36 GMT (envelope-from remko@freebsd.org) Date: Sun, 27 Jul 2008 15:25:36 GMT Message-Id: <200807271525.m6RFPaTe016484@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146047 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 15:25:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=146047 Change 146047 by remko@remko_nakur on 2008/07/27 15:25:25 Finalize the virtualization chapter. Thanks to Rene Ladan for doing this quickly! I'll start reviewing and import it into the official tree asap. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml#5 (text+ko) ==== @@ -94,12 +94,24 @@ Parallels op &macos; - + Parallels Desktop voor &macos; is + een commercieel softwareprodukt voor &intel;-gebaseerde &apple; + &mac; computers die &macos; 10.4.6 of nieuwer draaien. &os; is + een volledig ondersteund gast-besturingssysteem. Nadat + Parallels is geïnstalleerd op + &macos; X dient de gebruiker een virtuele machine in te stellen + en daarna het gewenste gast-besturingssysteem te installeren. + &os; installeren op Parallels/&macos; X - + De eerste stap in het installeren van &os; op &macos; X + Parallels is het aanmaken van een + nieuwe virtuele machine voor het installeren van &os;. + Selecteer &os; als het + Guest OS Type wanneer dit gevraagd + wordt: @@ -107,7 +119,11 @@ - + Kies verder een hoeveelheid aan schijf- en geheugenruimte + afhankelijk van de plannen voor deze virtuele instantie van + &os;. 4GB aan schijfruimte en 512MB aan RAM werken goed voor + de meeste gebruikers van &os; onder Parallels + : @@ -133,7 +149,7 @@ - + Selecteer het type netwerk en een netwerkinterface: @@ -147,7 +163,7 @@ - + Bewaar de instellingen en sluit af: @@ -161,7 +177,17 @@ - + Nadat de virtuele &os;-machine is aangemaakt, dient er + &os; op geïnstalleerd te worden. Dit gaat het beste met + een officiële &os; CDROM of met een ISO-beeld dat is + gedownload van een officiële FTP-site. Wanneer het + juiste ISO-beeld op het plaatselijke &mac;-bestandssysteem of + een CDROM in de CD-drive van de &mac; aanwezig is, dient op + het schijfikoon in de rechteronderhoek van het &os; + Parallels-scherm geklikt te worden. + Dit zal een scherm tonen dat het mogelijk maakt om de + CDROM-drive in de virtuele machine te associëren met een + ISO-bestand op schijf of met een echte CDROM-drive. @@ -169,7 +195,12 @@ - + Nadat deze associatie met de CDROM-bron is gemaakt, dient + de virtuele &os;-machine herstart te worden door op het + herstart-icoon te klikken. Parallels + zal herstarten met een speciale BIOS dat eerst + controleert of er een CDROM aanwezig is, net zoals een normale + BIOS zou doen. @@ -177,7 +208,11 @@ - + In dit geval zal het de installatiemedia van &os; vinden + en een normale installatie gebaseerd op + sysinstall beginnen zoals + beschreven in . X11 kan nu + geïnstalleerd, maar nog niet ingesteld, worden. @@ -185,7 +220,9 @@ - + Nadat de installatie is voltooid, kan naar de nieuw + geïnstalleerde virtuele &os;-machine herstart worden. + @@ -197,30 +234,54 @@ &os; instellen op &macos; X/Parallels - + Nadat &os; succesvol op &macos; X met + Parallels is geïnstalleerd, + zijn er een aantal instellingen die gewijzigd kunnen worden + om het systeem voor virtuele werking te optimaliseren. De variabelen voor de bootloader instellen - + De belangrijkste stap is om de tunable te verlagen om het CPU-gebruik van &os; onder de + Parallels-omgeving te + verminderen. Dit kan bereikt worden door de volgende + regel aan /boot/loader.conf toe te + voegen: kern.hz=100 - + Zonder deze instelling zal een rustend &os; + Parallels + gast-besturingssysteem ongeveer 15% van de CPU van een + enkele &imac;-processor gebruiken. Na deze wijziging zal + het gebruik slechts ongeveer 5% zijn. Een nieuw instellingenbestand voor de kernel aanmaken - + Alle stuurprogramma's voor SCSI, FireWire, en USB + kunnen verwijderd worden. + Parallels biedt een virtuele + netwerkadapter die door het stuurpogramma &man.ed.4; + wordt gebruikt, dus kunnen alle andere netwerkapparaten + behalve &man.ed.4; en &man.miibus.4; uit de kernel + verwijderd worden. Het netwerk instellen - + De eenvoudigste netwerkinstallatie omvat het gebruik + van DHCP om de virtuele machine met hetzelfde LAN te + verbinden als het &mac;-gastheer. Dit kan bereikt worden + door ifconfig_ed0="DHCP" aan + /etc/rc.conf toe te voegen. Meer + geavanceerde netwerkinstallaties staan beschreven in + . @@ -240,7 +301,15 @@ &os; met &xen; op Linux - + De hypervisor van &xen; is een + open-source paravirtualisatieproduct dat nu wordt ondersteund + door het commerciële bedrijf XenSource. + Gast-besturingssystemen staan bekend als domU-domeinen, en het + gastheer-besturingssysteem staat bekend als dom0. De eerste + stap in het virtueel draaien van &os; op Linux is om + &xen; voor Linux dom0 te installeren. + Het gastheer-besturingssysteem zal een Slackware + Linux-distributie zijn. &xen; 3 op Linux dom0 installeren @@ -251,7 +320,8 @@ Download xen-3.0.4_1-src.tgz - van . + van . + @@ -269,8 +339,10 @@ &prompt.root; make &prompt.root; make install - - make ARCH=xen menuconfig + Voor oudere versies van &xen; + kan het nodig zijn om + make ARCH=xen menuconfig te + specificeren. @@ -278,7 +350,8 @@ Een menuregel voor menu.lst van Grub toevoegen - + Voeg de volgende regels aan + /boot/grub/menu.lst toe: title Xen-3.0.4 root (hd0,0) @@ -289,12 +362,13 @@ De computer naar &xen; opstarten - + Voeg als eerste de volgende regel toe aan + /etc/xen/xend-config.sxp toe: (network-script 'network-bridge netdev=eth0') - - &xen;: + Nu kan &xen; gestart + worden: &prompt.root; /etc/init.d/xend start &prompt.root; /etc/init.d/xendomains start @@ -311,7 +385,10 @@ &os; 7-CURRENT domU - + Download de &os; domU-kernel voor &xen; 3.0 + en het schijfimage van http://www.fsmware.com + @@ -327,7 +404,11 @@ - + Sla het instellingenbestand + xmexample1.bsd op in + /etc/xen en pas de regels over waar de + kernel en het schijfimage zijn opgeslagen aan. Het dient er + als volgt uit te zien: kernel = "/opt/kernel-current" memory = 256 @@ -340,9 +421,13 @@ extra += ",kern.hz=100" extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a" - + Het mdroot-7.0.bz2 dient uitgepakt te + worden. - + Vervolgens dient de sectie over __xen_guest in + kernel-current aangepast te worden om de + VIRT_BASE dat &xen; 3.0.3 nodig + heeft toe te voegen: &prompt.root; objcopy kernel-current -R __xen_guest &prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp @@ -360,7 +445,8 @@ 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. - + Nu kan onze eigen domU aangemaakt en gestart worden: + &prompt.root; xm create /etc/xen/xmexample1.bsd -c Using config file "/etc/xen/xmexample1.bsd". @@ -423,13 +509,16 @@ login: - + De domU zou nu de kernel van &os; 7.0-CURRENT moeten + draaien: &prompt.root; uname -a FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386 - + Het netwerk kan nu op de domU ingesteld worden. Het domU + van &os; zal het interface xn0 + gebruiken: &prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0 &prompt.root; ifconfig @@ -441,7 +530,8 @@ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 - + Op dom0 Slackware zouden nu afhankelijke netwerkinterfaces + te zien moeten zijn: &prompt.root; ifconfig eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2 @@ -500,13 +590,24 @@ Virtual PC op &windows; - + Virtual PC voor &windows; is een + softwareprodukt van µsoft; dat gratis gedownload kan worden + . Zie systeemeisen. + Nadat Virtual PC is + geïnstalleerd op µsoft.windows;, dient de gebruiker + een virtuele machine in te stellen en daarna het gewenste + gast-besturingssysteem te installeren. &os; installeren op Virtual PC/µsoft.windows; - + De eerste stap in het installeren van &os; op + µsoft.windows;/Virtual PC is + het aanmaken van een nieuwe virtuele machine voor het + installeren van &os;. Kies Create a virtual + machine wanneer daarom wordt gevraagd: @@ -520,7 +621,9 @@ - + Selecteer Other als het + Operating system wanneer dat + gevraagd wordt: @@ -528,7 +631,11 @@ - + Kies vervolgens een gepaste hoeveelheid aan schijf- en + geheugenruimte afhankelijk van de plannen voor deze virtuele + instantie van &os;. 4GB aan schijfruimte en 512MB aan RAM + werken goed voor de meeste gebruikers van &os; onder + Virtual PC: @@ -542,7 +649,7 @@ - + Bewaar de instellingen en sluit ze af: @@ -550,7 +657,9 @@ - + Selecteer de virtuele &os;-machine en klik op + Settings, stel daarna het type netwerk en + een netwerkinterface in: @@ -564,7 +673,19 @@ - + Nadat de virtuele &os;-machine is aangemaakt, dient &os; + erop geïnstalleerd te worden. Dit gaat het beste met een + officiële &os;-CDROM of met een ISO-beeld dat van een + officiële FTP-site is gedownload. Wanneer het juiste + ISO-beeld op het lokale bestandssysteem van &windows; staat + of er een CDROM in de CD-drive zit, dubbelklik dan op de + virtuele &os;-machine om op te starten. Klik daarna op + CD en kies Capture ISO Image... + in het venster van Virtual PC + . Dit toont een scherm dat het mogelijk maakt + om de CDROM-drive in de virtuele machine te associëren + met een ISO-bestand op schijf of met een echte CDROM-drive. + @@ -578,7 +699,12 @@ - + Start, nadat deze associatie met de CDROM-bron is gemaakt, + de virtuele &os;-machine opnieuw op zoals gewoonlijk door op + Action en Reset te + klikken. Virtual PC zal herstarten + met een speciale BIOS dat eerst controleert of er een CDROM + aanwezig is, net zoals eeen normale BIOS dat zou doen. @@ -586,7 +712,11 @@ - + In dit geval zal het de installatiemedia van &os; vinden + en een normale installatie gebaseerd op + sysinstall beginnen zoals + beschreven in . X11 kan nu + geïnstalleerd, maar nog niet ingesteld, worden. @@ -594,7 +724,9 @@ - + Denk eraan om de CDROM of het ISO-beeld te verwijderen + nadat de installatie voltooid is. Start als laatste op naar + de nieuw geïnstalleerde virtuele &os;-machine. @@ -606,31 +738,54 @@ &os; instellen op µsoft.windows;/Virtual PC - + Nadat &os; succesvol is geïnstalleerd op + µsoft.windows; met Virtual PC + zijn er een aantal instellingen die aangepast kunnen worden om + het system te optimaliseren voor virtueel gebruik. De variabelen voor de bootloader instellen - + De belangrijkste stap is om de tunable te verlagen om zo het CPU-gebruik van &os; in de + omgeving van Virtual PC te + verminderen. Dit kan bereikt worden door de volgende + regel aan /boot/loader.conf toe te + voegen: kern.hz=100 - + Zonder deze instelling zal een &os; als + gast-besturingssysteem voor Virtual PC + in rust ongeveer 40% van de CPU van een + computer met een enkele processor gebruiken. Na deze + verandering zal het gebruik slechts rond de 3% liggen. + Een nieuw instellingenbestand voor de kernel aanmaken - + Alle stuurprogramma's voor SCSI, FireWire, en USB + kunnen verwijderd worden. Virtual PC + beidt een virtuele netwerkadapter dat door + het stuurprogramma &man.de.4; gebruikt wordt, dus kunnen + alle netwerkapparaten behalve &man.de.4; en &man.miibus.4; + uit de kernel verwijderd worden. Het netwerk instellen - - . + De eenvoudigste netwerkinstallatie omvat het gebruik + van DHCP om de virtuele machine met het zelfde LAN te + verbinden als de µsoft.windows;-gastheer. Dit kan + bereikt worden door ifconfig_de0="DHCP" + toe te voegen aan /etc/rc.conf. + Geavanceerdere netwerkinstallaties staan beschreven in + . @@ -639,12 +794,21 @@ VMWare op &macos; - + VMWare Fusion voor &mac; is een + comercieel softwareprodukt beschikbaar voor op &intel; + gebaseeerde &mac;-computers die &macos; 10.4.9 of nieuwer + draaien. &os; is een volledig ondersteund + gast-besturingssysteem. Nadat VMWare Fusion + is geïnstalleerd op &macos; X dient de + gebruiker een virtuele machine in te stellen en daarna het + gewenste gast-besturingssysteem te installeren. &os; installeren op VMWare/&macos; X - + De eerste stap is om VMWare Fusion te laden, de Virtual + Machine Library zal geladen worden. Klik op "New" om de + VM aan te maken: @@ -652,7 +816,8 @@ - + Dit laadt de New Virtual Machine Assistant dat helpt om + de VM aan te maken, klik op Continue om verder te gaan: @@ -660,7 +825,12 @@ - + Selecteer Other als het + Operating System en + &os; of &os; 64-bit + , afhankelijk van de wens voor ondersteuning + voor 64-bit, als de Version + wanneer dat gevraagd wordt: @@ -668,7 +838,8 @@ - + Kies de naam van het VM-beeld en de map waarin het bewaard + dient te worden: @@ -676,7 +847,8 @@ - + Kies de grootte van de virtuele harde schijf voor de VM: + @@ -684,7 +856,8 @@ - + Kies de manier om de VM te installeren, van een ISO-beeld + of van een CD: @@ -692,7 +865,7 @@ - + Nadat op Finish is geklikt, zal de VM opstarten: @@ -700,7 +873,8 @@ - : + Installeer &os; zoals gewoonlijk, of door de aanwijzingen + in op te volgen: @@ -708,10 +882,12 @@ - + Nadat de installatie voltooid is kunnen de instellingen + van de VM aangepast worden, zoals het geheugengebruik: - + De instellingen van de systeemhardware van de VM kunnen + niet veranderd worden zolang de VM draait. @@ -720,7 +896,7 @@ - + Het aantal CPU's waartoe de VM toegang heeft: @@ -728,7 +904,9 @@ - + De status van het CD-ROM-apparaat. Gewoonlijk kan de + CD-ROM of het ISO-beeld van de VM worden losgekoppeld wanneer + het niet meer nodig is. @@ -736,7 +914,15 @@ - + Het laatste om te veranderen is de manier waarop de VM + verbinding met het netwerk maakt. Indien verbindingen naar de + VM van andere machines naast de gastheer gewenst zijn, dient + Connect directly to the physical network + (Bridged) gekozen te worden. In andere + situaties is Share the host's internet connection + (NAT) te verkiezen, zodat de VM toegang kan + hebben tot het Internet, maar dat het netwerk geen toegang + heeft tot de VM. @@ -744,36 +930,59 @@ - + Herstart de nieuw geïnstalleerde virtuele + &os;-machine nadat alle instellingen zijn aangepast. &os; instellen op &macos; X/VMWare - + Nadat &os; succesvol is geïnstalleerd op &macos; X + met VMWare, zijn er een aantal + instellingen die gewijzigd kunnen worden op het systeem te + optimaliseren voor virtueel gebruik. De variabelen voor de bootloader instellen - /boot/loader.conf: + De belangrijkste stap is het verlagen van de + tunable om het CPU-gebruik van + &os; in de omgeving van VMWare + te verminderen. Dit kan bereikt worden door de volgende + regel aan /boot/loader.conf toe te + voegen: kern.hz=100 - + Zonder deze instelling gebruikt &os; als + VMWare gast-besturingssysteem ongeveer 15% + van de CPU van een enkele &imac;-processor. Na deze + verandering zal het gebruik dichter bij 5% liggen. Een nieuw instellingenbestand voor de kernel aanmaken - + Alle stuurprogramma's voor FireWire en USB kunnen + verwijderd worden. VMWare + biedt een virtuele netwerkadapter dat door het + stuurpogramma &man.em.4; gebruikt wordt, dus alle + netwerkapparaten behalve &man.em.4; kunnen uit de kernel + verwijderd worden. Het netwerk instellen - + De eenvoudigste netwerkinstallatie omvat het gebruik + van DHCP om de virtuele machine met hetzelfde LAN te + verbinden als de &mac;-gastheer. Dit kan bereikt worden + door ifconfig_em0="DHCP" toe te voegen + aan /etc/rc.conf. Geavanceerdere + netwerkinstallaties staan beschreven in . From owner-p4-projects@FreeBSD.ORG Sun Jul 27 15:30:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88FD6106567F; Sun, 27 Jul 2008 15:30:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D41D106567A for ; Sun, 27 Jul 2008 15:30:42 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 40C778FC0A for ; Sun, 27 Jul 2008 15:30:42 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RFUgli016862 for ; Sun, 27 Jul 2008 15:30:42 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RFUgMx016860 for perforce@freebsd.org; Sun, 27 Jul 2008 15:30:42 GMT (envelope-from remko@freebsd.org) Date: Sun, 27 Jul 2008 15:30:42 GMT Message-Id: <200807271530.m6RFUgMx016860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 15:30:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146048 Change 146048 by remko@remko_nakur on 2008/07/27 15:29:59 Make sure we can build it again. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#4 (text+ko) ==== @@ -11,6 +11,11 @@ Riondato Bijgedragen door + + Remko + Lodder + Vertaald door + @@ -19,26 +24,141 @@ jails - * Overzicht + Overzicht + + Dit hoofdstuk levert een uitleg van wat &os; jails zijn en + hoe ze gebruikt kunnen worden. Jails, soms ook wel bekend als + een verbeterde vervanging van + chroot omgevingen, zijn een erg krachtige + tool voor systeem beheerders, maar het standaard gedrag kan ook + interessant zijn voor gevorderde gebruikers. + + Na het lezen van dit hoofdstuk weet men: + + + + Wat een jail is, en welk doel het kan dienen in een + &os; installatie. + + + + Hoe men een jail opbouwt, start en stopt. + + + + De basis over jail beheer, zowel van binnen in de + jail, als van buitenaf. + + + + Andere bronnen met nuttige informatie over jails zijn: + + + + De &man.jail.8; handleiding. Hier kan de volledige + referentie gevonden worden van het jail + commando — de administratieve tool die in &os; gebruikt + kan worden om jails te starten en te stoppen, en om er &os; + jails mee te beheren. + - Wordt nog vertaald. + + De mailinglijsten en de archieven hiervan. De archieven + van &a.questions; en andere mailing lijsten die gehost worden + door de &a.mailman.lists; bevatten reeds een rijke bron van + informatie over jails. Het zou altijd aantrekkelijk moeten + zijn om informatie in de archieven te zoeken, of een nieuwe + vraag stellen aan de &a.questions.name; mailinglijst. + + + - * Termen gerelateerd aan jails + Termen gerelateerd aan jails + + Om een beter begrip te geven over de onderdelen van &os; die + gerelateerd zijn aan jails, de werking ervan, en hoe ze omgaan + met de rest van &os; worden de volgende termen gebruikt in het + hoofdstuk: + + + + &man.chroot.2; (commando) + + Een systeem aanroep van &os;, welke de root + directory van een proces en al zijn kinderen wijzigt. + + + + + &man.chroot.2; (omgeving) + + Een omgeving van processen die draaien in een + chroot. Dit is inclusief bronnen die + gebruikt worden, zoals bijvoorbeeld het gedeelte van + het bestandssysteem dat zichtbaar is, de gebruiker en + groep ID's welke beschikbaar zijn, netwerkkaarten + en andere IPC mechanismes, etc. + + + + &man.jail.8; (commando) + + De systeem utility die het mogelijk maakt om processen + binnenin een jail te starten. + + + + + host (systeem, processen, gebruiker, etc.) + + Het controlerende systeem van een jail omgeving. Het + host systeem heeft toegang tot alle beschikbare hardware + bronnen en kan processen controleren zowel buiten als + binnenin een jail. Één van de belangrijkste + verschillen van het host systeem met een jail is dat de + limitaties die van toepassing zijn op super-gebruiker + processen binnenin een jail, niet geforceerd worden voor + processen in het host systeem. + + - Wordt nog vertaald. + + hosted (systeem, processen, gebruiker, etc.) + + Een proces, gebruiker, of andere entiteit wiens toegang + tot bronnen is gelimiteerd door een &os; jail. + + + - * Introductie + Introductie + + Omdat systeem beheer een complexe en enorme taak is, zijn er + vele sterke tools ontwikkeld om het leven van een systeem beheerder + makkelijker te maken. Deze tools leveren meestal verbeteringen op + de manier waarop systemen worden geinstalleerd, geconfigureerd en + onderhouden. Een deel van de taken waarvan verwacht wordt dat die + uitgevoerd wordt door de systeem beheerder is het goed configureren + van de beveiliging van een systeem, zodat het kan blijven doorgaan + met het serveren van de taak, zonder dat er beveiligings problemen + optreden. - Wordt nog vertaald. + Één van de tools welke gebruikt kan worden om + de beveiliging van een &os; systeem te verbeteren zijn + jails. Jails zijn geintroduceerd in + &os; 4.X door &a.phk;, maar zijn grotendeels verbeterd in + &os; 5.X om ze nog sterker en krachtiger te maken. De + ontwikkeling gaat nog steeds door met verbeteringen voor het + gebruik, performance, betrouwbaarheid en beveiliging. - * Wat is een jail + Wat is een jail - Wordt nog vertaald. + BSD achtige systemen From owner-p4-projects@FreeBSD.ORG Sun Jul 27 17:05:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33ECE1065686; Sun, 27 Jul 2008 17:05:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBDAD1065678 for ; Sun, 27 Jul 2008 17:05:17 +0000 (UTC) (envelope-from snb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E064B8FC08 for ; Sun, 27 Jul 2008 17:05:17 +0000 (UTC) (envelope-from snb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RH5HCk041088 for ; Sun, 27 Jul 2008 17:05:17 GMT (envelope-from snb@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RH5H7M041086 for perforce@freebsd.org; Sun, 27 Jul 2008 17:05:17 GMT (envelope-from snb@FreeBSD.org) Date: Sun, 27 Jul 2008 17:05:17 GMT Message-Id: <200807271705.m6RH5H7M041086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snb@FreeBSD.org using -f From: Nick Barkas To: Perforce Change Reviews Cc: Subject: PERFORCE change 146050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 17:05:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146050 Change 146050 by snb@snb_toro on 2008/07/27 17:05:09 Only delete dirhashes until we've freed up 10% of the memory that was in use when the vm_lowmem event handler was called. This amount could very well need some fine tuning, but this will prevent ufsdirhash_lowmem() from deleting gigabytes of dirhashes when only a little bit of memory is needed. Also make the fallback method of deleting just the first dirhash in the TAILQ actually stop after deleting that one rather than going on and removing every dirhash it can. Affected files ... .. //depot/projects/soc2008/snb-dirhash/sys-ufs-ufs/ufs_dirhash.c#7 edit Differences ... ==== //depot/projects/soc2008/snb-dirhash/sys-ufs-ufs/ufs_dirhash.c#7 (text+ko) ==== @@ -113,6 +113,7 @@ /* Protects: ufsdirhash_list, `dh_list' field, ufs_dirhashmem. */ static struct mtx ufsdirhash_mtx; + /* * Locking: * @@ -1172,19 +1173,25 @@ { struct dirhash *dh; int memfreed = 0; + int memwanted = ufs_dirhashmem / 10; ufs_dirhashlowmemcount++; DIRHASHLIST_LOCK(); /* - * Delete all dirhashes not used for more than DH_RECLAIMAGE seconds. - * If we can't get a lock on the dirhash, it will be skipped. + * Delete dirhashes not used for more than DH_RECLAIMAGE seconds. + * If we can't get a lock on the dirhash, it will be skipped. Quit + * when we have freed up 10% or more of the memory currently used by + * dirhashes. + * XXX 10% may need to be adjusted? */ for (dh = TAILQ_FIRST(&ufsdirhash_list); dh != NULL; dh = TAILQ_NEXT(dh, dh_list)) { if (time_second - dh->dh_lastused > DH_RECLAIMAGE && lockmgr(&dh->dh_lock, LK_EXCLUSIVE | LK_NOWAIT, NULL)) memfreed += ufsdirhash_destroy(dh); + if (memfreed >= memwanted) + break; } /* @@ -1198,6 +1205,7 @@ continue; } memfreed += ufsdirhash_destroy(dh); + break; } DIRHASHLIST_UNLOCK(); } From owner-p4-projects@FreeBSD.ORG Sun Jul 27 19:13:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD79E106569A; Sun, 27 Jul 2008 19:13:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 914C51065691 for ; Sun, 27 Jul 2008 19:13:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C51B8FC0A for ; Sun, 27 Jul 2008 19:13:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RJDSkg054033 for ; Sun, 27 Jul 2008 19:13:28 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RJDSKV054031 for perforce@freebsd.org; Sun, 27 Jul 2008 19:13:28 GMT (envelope-from jhb@freebsd.org) Date: Sun, 27 Jul 2008 19:13:28 GMT Message-Id: <200807271913.m6RJDSKV054031@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146058 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 19:13:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146058 Change 146058 by jhb@jhb_zion on 2008/07/27 19:12:58 Appease gcc. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#78 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#78 (text+ko) ==== @@ -1623,6 +1623,8 @@ mi_switch(SW_VOL, NULL); break; + default: + break; } #endif } From owner-p4-projects@FreeBSD.ORG Sun Jul 27 19:20:36 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ED011065697; Sun, 27 Jul 2008 19:20:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E68181065679 for ; Sun, 27 Jul 2008 19:20:35 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB7A58FC18 for ; Sun, 27 Jul 2008 19:20:35 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RJKZ5t054698 for ; Sun, 27 Jul 2008 19:20:35 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RJKZxd054696 for perforce@freebsd.org; Sun, 27 Jul 2008 19:20:35 GMT (envelope-from trasz@freebsd.org) Date: Sun, 27 Jul 2008 19:20:35 GMT Message-Id: <200807271920.m6RJKZxd054696@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 19:20:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=146060 Change 146060 by trasz@trasz_traszkan on 2008/07/27 19:20:34 Simplify alignment. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#4 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#3 (text+ko) ==== @@ -48,10 +48,7 @@ { acl_t aclp; - /* - * XXX: This is not a proper way to strip off low order bits. - */ - aclp = (acl_t)((long)entry - ((long)entry % (long)_ACL_T_ALIGNMENT)); + aclp = (acl_t)(((long)entry >> _ACL_T_ALIGNMENT_BITS) << _ACL_T_ALIGNMENT_BITS); return (aclp); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_init.c#4 (text+ko) ==== @@ -57,8 +57,8 @@ return (NULL); } - assert(_ACL_T_ALIGNMENT > sizeof(struct acl_t_struct)); - error = posix_memalign((void *)&acl, _ACL_T_ALIGNMENT, sizeof(struct acl_t_struct)); + assert(1 << _ACL_T_ALIGNMENT_BITS > sizeof(struct acl_t_struct)); + error = posix_memalign((void *)&acl, 1 << _ACL_T_ALIGNMENT_BITS, sizeof(struct acl_t_struct)); if (error) return (NULL); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#4 (text+ko) ==== @@ -33,7 +33,7 @@ #define _ACL_SUPPORT_H #define _POSIX1E_ACL_STRING_PERM_MAXSIZE 3 /* read, write, exec */ -#define _ACL_T_ALIGNMENT (1 << 12) +#define _ACL_T_ALIGNMENT_BITS 12 int _acl_type_unold(acl_type_t type); int _acl_differs(const acl_t a, const acl_t b); From owner-p4-projects@FreeBSD.ORG Sun Jul 27 20:28:07 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 899E51065676; Sun, 27 Jul 2008 20:28:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C2471065677 for ; Sun, 27 Jul 2008 20:28:07 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 419DB8FC0C for ; Sun, 27 Jul 2008 20:28:07 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RKS7O9062165 for ; Sun, 27 Jul 2008 20:28:07 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RKS7G2062163 for perforce@freebsd.org; Sun, 27 Jul 2008 20:28:07 GMT (envelope-from trasz@freebsd.org) Date: Sun, 27 Jul 2008 20:28:07 GMT Message-Id: <200807272028.m6RKS7G2062163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146062 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 20:28:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146062 Change 146062 by trasz@trasz_traszkan on 2008/07/27 20:27:26 Remove an item from TODO - Linux doesn't have acl_to_text_np. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#15 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#15 (text+ko) ==== @@ -48,9 +48,6 @@ - Make 'struct acl' variable size. -- Check if Linux has acl_to_text_np; make sure we don't end up with something incompatible. - (acl_to_any_text()?) - - Think about how to make libc implementation - branding, in particular - extensible, to allow for adding new ACL types. From owner-p4-projects@FreeBSD.ORG Sun Jul 27 21:56:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 314D11065673; Sun, 27 Jul 2008 21:56:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AA1B106564A for ; Sun, 27 Jul 2008 21:56:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 300268FC0C for ; Sun, 27 Jul 2008 21:56:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RLuc8p081429 for ; Sun, 27 Jul 2008 21:56:38 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RLucJ0081426 for perforce@freebsd.org; Sun, 27 Jul 2008 21:56:38 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 27 Jul 2008 21:56:38 GMT Message-Id: <200807272156.m6RLucJ0081426@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146070 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 21:56:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=146070 Change 146070 by ed@ed_dull on 2008/07/27 21:56:21 Fix formatting when running `pstat -tn'. We should really consider only displaying the raw dev_t. The major <-> minor split-up doesn't make a lot of sense, in my opinion. Affected files ... .. //depot/projects/mpsafetty/usr.sbin/pstat/pstat.c#4 edit Differences ... ==== //depot/projects/mpsafetty/usr.sbin/pstat/pstat.c#4 (text+ko) ==== @@ -326,7 +326,7 @@ errx(1, "struct xtty size mismatch"); if (usenumflag || xt->xt_dev == 0 || (name = devname(xt->xt_dev, S_IFCHR)) == NULL) - printf(" %2d,%-2d", major(xt->xt_dev), minor(xt->xt_dev)); + printf("%5d,%4d ", major(xt->xt_dev), minor(xt->xt_dev)); else printf("%10s ", name); printf("%5zu %4zu %4zu %4zu %5zu %4zu %4zu %5u %5d %5d ", From owner-p4-projects@FreeBSD.ORG Sun Jul 27 22:30:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0E94106566C; Sun, 27 Jul 2008 22:30:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CF6C106564A for ; Sun, 27 Jul 2008 22:30:12 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 424F38FC17 for ; Sun, 27 Jul 2008 22:30:12 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6RMUC4n085278 for ; Sun, 27 Jul 2008 22:30:12 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6RMUCjv085276 for perforce@freebsd.org; Sun, 27 Jul 2008 22:30:12 GMT (envelope-from ed@FreeBSD.org) Date: Sun, 27 Jul 2008 22:30:12 GMT Message-Id: <200807272230.m6RMUCjv085276@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146071 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Jul 2008 22:30:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=146071 Change 146071 by ed@ed_dull on 2008/07/27 22:29:18 Add support for PTY master devices to procstat(1). Affected files ... .. //depot/projects/mpsafetty/sys/dev/pts/pts.c#7 edit .. //depot/projects/mpsafetty/sys/kern/kern_descrip.c#2 edit .. //depot/projects/mpsafetty/sys/sys/tty.h#4 edit .. //depot/projects/mpsafetty/sys/sys/user.h#2 edit .. //depot/projects/mpsafetty/usr.bin/procstat/procstat.1#2 edit .. //depot/projects/mpsafetty/usr.bin/procstat/procstat_files.c#2 edit Differences ... ==== //depot/projects/mpsafetty/sys/dev/pts/pts.c#7 (text+ko) ==== @@ -255,7 +255,7 @@ /* Reverse device name lookups, for ptsname() and ttyname() */ fgn = data; - p = devtoname(tp->t_dev); + p = tty_devname(tp); i = strlen(p) + 1; if (i > fgn->len) return (EINVAL); ==== //depot/projects/mpsafetty/sys/kern/kern_descrip.c#2 (text+ko) ==== @@ -70,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -2564,6 +2565,7 @@ struct vnode *vp; struct file *fp; struct proc *p; + struct tty *tp; int vfslocked; name = (int *)arg1; @@ -2595,6 +2597,7 @@ kif->kf_structsize = sizeof(*kif); vp = NULL; so = NULL; + tp = NULL; kif->kf_fd = i; switch (fp->f_type) { case DTYPE_VNODE: @@ -2637,6 +2640,11 @@ kif->kf_type = KF_TYPE_SEM; break; + case DTYPE_PTS: + kif->kf_type = KF_TYPE_PTS; + tp = fp->f_data; + break; + default: kif->kf_type = KF_TYPE_UNKNOWN; break; @@ -2730,6 +2738,10 @@ kif->kf_sock_type = so->so_type; kif->kf_sock_protocol = so->so_proto->pr_protocol; } + if (tp != NULL) { + strlcpy(kif->kf_path, tty_devname(tp), + sizeof(kif->kf_path)); + } error = SYSCTL_OUT(req, kif, sizeof(*kif)); if (error) break; ==== //depot/projects/mpsafetty/sys/sys/tty.h#4 (text+ko) ==== @@ -182,6 +182,7 @@ #define tty_opened(tp) ((tp)->t_flags & TF_OPENED) #define tty_gone(tp) ((tp)->t_flags & TF_GONE) #define tty_softc(tp) ((tp)->t_softc) +#define tty_devname(tp) devtoname((tp)->t_dev) /* Status line printing */ void tty_info(struct tty *); ==== //depot/projects/mpsafetty/sys/sys/user.h#2 (text+ko) ==== @@ -250,6 +250,7 @@ #define KF_TYPE_MQUEUE 7 #define KF_TYPE_SHM 8 #define KF_TYPE_SEM 9 +#define KF_TYPE_PTS 10 #define KF_TYPE_UNKNOWN 255 #define KF_VTYPE_VNON 0 ==== //depot/projects/mpsafetty/usr.bin/procstat/procstat.1#2 (text+ko) ==== @@ -148,11 +148,13 @@ .It k kqueue .It m -messsage queue +message queue .It p pipe .It s socket +.It t +pseudo-terminal master .It v vnode .El ==== //depot/projects/mpsafetty/usr.bin/procstat/procstat_files.c#2 (text+ko) ==== @@ -222,6 +222,10 @@ str = "h"; break; + case KF_TYPE_PTS: + str = "t"; + break; + case KF_TYPE_SEM: str = "e"; break; @@ -296,6 +300,7 @@ switch (kif->kf_type) { case KF_TYPE_VNODE: case KF_TYPE_FIFO: + case KF_TYPE_PTS: printf("%-3s ", "-"); printf("%-18s", kif->kf_path); break; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 04:20:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 340AE1065675; Mon, 28 Jul 2008 04:20:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1FB11065680 for ; Mon, 28 Jul 2008 04:20:13 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C4F508FC23 for ; Mon, 28 Jul 2008 04:20:13 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6S4KDsL030425 for ; Mon, 28 Jul 2008 04:20:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6S4K9l9030384 for perforce@freebsd.org; Mon, 28 Jul 2008 04:20:09 GMT (envelope-from jb@freebsd.org) Date: Mon, 28 Jul 2008 04:20:09 GMT Message-Id: <200807280420.m6S4K9l9030384@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 146087 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 04:20:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=146087 Change 146087 by jb@freebsd3 on 2008/07/28 04:19:15 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#21 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#84 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#51 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#14 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/l10n/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#25 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#79 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#42 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#10 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/cutting-edge/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/firewalls/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/printing/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/books/handbook/serialcomms/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#6 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/mailing-lists.ent#5 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/glarkin.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgollucci.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#42 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#40 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/rnoland.key#1 branch .. //depot/projects/dtrace/doc/share/sgml/mirrors.xml#14 integrate .. //depot/projects/dtrace/ports/CHANGES#14 integrate .. //depot/projects/dtrace/ports/KNOBS#15 integrate .. //depot/projects/dtrace/ports/LEGAL#40 integrate .. //depot/projects/dtrace/ports/MOVED#101 integrate .. //depot/projects/dtrace/ports/Makefile#5 integrate .. //depot/projects/dtrace/ports/Mk/bsd.database.mk#13 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gcc.mk#10 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gecko.mk#3 integrate .. //depot/projects/dtrace/ports/Mk/bsd.java.mk#7 integrate .. //depot/projects/dtrace/ports/Mk/bsd.ldap.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#20 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.subdir.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.python.mk#17 integrate .. //depot/projects/dtrace/ports/Mk/bsd.ruby.mk#12 integrate .. //depot/projects/dtrace/ports/Tools/make_index#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildenv#7 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildfailure#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildproxy#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildproxy-client#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildsuccess#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/claim-chroot#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/clean-chroot#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/cleanup-chroots#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/client-metrics#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/comparelogs#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/cpdistfiles#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dodistfiles#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages#9 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages.wrapper#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dosetupnode#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/keeprestr#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeduds#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeindex#7 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeparallel#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makerestr#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeworld#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/mkbindist#8 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/packagebuild#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/pdispatch#6 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/pollmachine#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/portbuild#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/processfail#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/prunebad#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/prunefailure#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/releasemachine#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/reportload#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/setupnode#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/stats#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/updatesnap#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/zbackup#1 branch .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/zexpire#1 branch .. //depot/projects/dtrace/ports/UPDATING#83 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#50 integrate .. //depot/projects/dtrace/src/UPDATING#36 integrate .. //depot/projects/dtrace/src/bin/mv/mv.c#6 integrate .. //depot/projects/dtrace/src/bin/ps/ps.c#7 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/ip_fil.c#7 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/ipsend/iptests.c#7 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/ipsend/sock.c#7 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/lib/printnat.c#6 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/n12#4 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/n2#4 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/n5#4 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/ni1.nat#5 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/ni2.nat#4 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/test/regress/ni4.nat#4 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/tools/ipnat_y.y#7 integrate .. //depot/projects/dtrace/src/contrib/tcsh/tc.func.c#5 integrate .. //depot/projects/dtrace/src/crypto/openssh/Makefile.in#6 delete .. //depot/projects/dtrace/src/crypto/openssh/Makefile.inc#4 delete .. //depot/projects/dtrace/src/crypto/openssh/buildpkg.sh.in#6 delete .. //depot/projects/dtrace/src/crypto/openssh/config.sub#4 delete .. //depot/projects/dtrace/src/crypto/openssh/configure.ac#7 delete .. //depot/projects/dtrace/src/crypto/openssh/install-sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/mdoc2man.awk#4 delete .. //depot/projects/dtrace/src/crypto/openssh/nchan.ms#4 delete .. //depot/projects/dtrace/src/crypto/openssh/nchan2.ms#4 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/Makefile.in#5 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/regress/Makefile.in#3 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/regress/closefromtest.c#3 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/regress/snprintftest.c#3 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/regress/strduptest.c#3 delete .. //depot/projects/dtrace/src/crypto/openssh/openbsd-compat/regress/strtonumtest.c#3 delete .. //depot/projects/dtrace/src/crypto/openssh/openssh.xml.in#3 delete .. //depot/projects/dtrace/src/crypto/openssh/opensshd.init.in#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/Makefile#5 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/README.regress#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/agent-getpeereid.sh#5 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/agent-ptrace.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/agent-timeout.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/agent.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/banner.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/broken-pipe.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/brokenkeys.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/bsd.regress.mk#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/cfgmatch.sh#3 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/cipher-speed.sh#3 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/connect-privsep.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/connect.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/copy.1#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/copy.2#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/dsa_ssh2.prv#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/dsa_ssh2.pub#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/dynamic-forward.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/envpass.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/exit-status.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/forcecommand.sh#3 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/forwarding.sh#5 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/keygen-change.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/keyscan.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/login-timeout.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/multiplex.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/proto-mismatch.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/proto-version.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/proxy-connect.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/reconfigure.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/reexec.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/rekey.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/rsa_openssh.prv#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/rsa_openssh.pub#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/rsa_ssh2.prv#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/runtests.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/scp-ssh-wrapper.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/scp.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sftp-badcmds.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sftp-batch.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sftp-cmds.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sftp-glob.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sftp.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/ssh-com-client.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/ssh-com-keygen.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/ssh-com-sftp.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/ssh-com.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/sshd-log-wrapper.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/stderr-after-eof.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/stderr-data.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/t4.ok#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/t5.ok#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/test-exec.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/transfer.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/try-ciphers.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/regress/yes-head.sh#4 delete .. //depot/projects/dtrace/src/crypto/openssh/scard/Makefile.in#5 delete .. //depot/projects/dtrace/src/crypto/openssh/scard/Ssh.bin#4 delete .. //depot/projects/dtrace/src/crypto/openssh/scard/Ssh.bin.uu#4 delete .. //depot/projects/dtrace/src/crypto/openssh/scard/Ssh.java#4 delete .. //depot/projects/dtrace/src/crypto/openssh/ssh_prng_cmds.in#4 delete .. //depot/projects/dtrace/src/crypto/openssh/survey.sh.in#4 delete .. //depot/projects/dtrace/src/etc/ppp/ppp.conf#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/bluetooth#5 integrate .. //depot/projects/dtrace/src/etc/rc.d/serial#4 integrate .. //depot/projects/dtrace/src/etc/rc.resume#5 integrate .. //depot/projects/dtrace/src/etc/rc.suspend#5 integrate .. //depot/projects/dtrace/src/etc/remote#4 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#36 integrate .. //depot/projects/dtrace/src/include/Makefile#18 integrate .. //depot/projects/dtrace/src/include/sgtty.h#5 delete .. //depot/projects/dtrace/src/include/stdlib.h#10 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Makefile.inc#19 integrate .. //depot/projects/dtrace/src/lib/libc/gen/Symbol.map#10 integrate .. //depot/projects/dtrace/src/lib/libc/gen/arc4random.3#4 integrate .. //depot/projects/dtrace/src/lib/libc/gen/arc4random.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/dtrace/src/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/dtrace/src/lib/libc/stdio/mktemp.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/malloc.c#25 integrate .. //depot/projects/dtrace/src/lib/libc/sys/setfib.2#2 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_mips.c#1 branch .. //depot/projects/dtrace/src/lib/libutil/login.conf.5#7 integrate .. //depot/projects/dtrace/src/lib/libutil/login_cap.h#4 integrate .. //depot/projects/dtrace/src/lib/libutil/login_class.3#4 integrate .. //depot/projects/dtrace/src/lib/libutil/login_class.c#5 integrate .. //depot/projects/dtrace/src/lib/msun/Makefile#16 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#25 integrate .. //depot/projects/dtrace/src/sbin/ipfw/ipfw.8#21 integrate .. //depot/projects/dtrace/src/sbin/mksnap_ffs/mksnap_ffs.8#4 integrate .. //depot/projects/dtrace/src/secure/lib/libcrypto/opensslconf-mips.h#1 branch .. //depot/projects/dtrace/src/share/man/man4/ddb.4#19 integrate .. //depot/projects/dtrace/src/share/man/man4/wi.4#8 integrate .. //depot/projects/dtrace/src/share/man/man8/rc.subr.8#11 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#32 integrate .. //depot/projects/dtrace/src/share/man/man9/accept_filter.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/accf_data.9#4 integrate .. //depot/projects/dtrace/src/share/man/man9/accf_dns.9#1 branch .. //depot/projects/dtrace/src/share/man/man9/sysctl.9#7 integrate .. //depot/projects/dtrace/src/share/man/man9/sysctl_add_oid.9#5 integrate .. //depot/projects/dtrace/src/share/misc/bsd-family-tree#17 integrate .. //depot/projects/dtrace/src/share/misc/committers-ports.dot#8 integrate .. //depot/projects/dtrace/src/share/misc/committers-src.dot#14 integrate .. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#13 integrate .. //depot/projects/dtrace/src/sys/Makefile#16 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#51 integrate .. //depot/projects/dtrace/src/sys/amd64/include/param.h#7 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91_pmc.c#7 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/ep80219_machdep.c#10 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq31244_machdep.c#15 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i8134x/crb_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/avila_machdep.c#7 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/Makefile#9 integrate .. //depot/projects/dtrace/src/sys/boot/forth/loader.conf#18 integrate .. //depot/projects/dtrace/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/dtrace/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_ioctl.c#8 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_ioctl.h#7 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#26 integrate .. //depot/projects/dtrace/src/sys/compat/ndis/kern_ndis.c#6 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#62 integrate .. //depot/projects/dtrace/src/sys/conf/files#100 integrate .. //depot/projects/dtrace/src/sys/conf/kern.mk#13 integrate .. //depot/projects/dtrace/src/sys/conf/options#55 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/ip_compat.h#8 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/ip_fil.h#7 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/ip_nat.c#8 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/ip_nat.h#6 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/ip_state.c#9 integrate .. //depot/projects/dtrace/src/sys/contrib/pf/net/pf_ioctl.c#14 integrate .. //depot/projects/dtrace/src/sys/crypto/via/padlock.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi.c#15 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/atkbdc/psm.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_adapter.h#10 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_main.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_osdep.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_sge.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/esp/esp_sbus.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/esp/ncr53c9x.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/esp/ncr53c9xvar.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/hwpmc/hwpmc_mod.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/dtrace/src/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/kbd/kbd.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/kbdmux/kbdmux.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pci.c#21 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pci_pci.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pcivar.h#13 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ehci_pci.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ugen.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/uhid.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/wi/if_wi.c#14 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#14 integrate .. //depot/projects/dtrace/src/sys/geom/part/g_part_apm.c#6 integrate .. //depot/projects/dtrace/src/sys/geom/vinum/geom_vinum_rename.c#4 integrate .. //depot/projects/dtrace/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#8 integrate .. //depot/projects/dtrace/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#42 integrate .. //depot/projects/dtrace/src/sys/i386/include/profile.h#5 integrate .. //depot/projects/dtrace/src/sys/kern/kern_environment.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/kern_exec.c#30 integrate .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#33 integrate .. //depot/projects/dtrace/src/sys/kern/kern_intr.c#22 integrate .. //depot/projects/dtrace/src/sys/kern/kern_lock.c#27 integrate .. //depot/projects/dtrace/src/sys/kern/kern_proc.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/kern_timeout.c#12 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#37 integrate .. //depot/projects/dtrace/src/sys/kern/subr_autoconf.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/subr_lock.c#13 integrate .. //depot/projects/dtrace/src/sys/kern/subr_taskqueue.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/subr_witness.c#21 integrate .. //depot/projects/dtrace/src/sys/kern/tty.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/tty_info.c#1 branch .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#27 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#24 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#25 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#42 integrate .. //depot/projects/dtrace/src/sys/libkern/arc4random.c#4 integrate .. //depot/projects/dtrace/src/sys/modules/Makefile#52 integrate .. //depot/projects/dtrace/src/sys/modules/accf_dns/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/cxgb/cxgb/Makefile#7 integrate .. //depot/projects/dtrace/src/sys/modules/mem/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/dtrace/src/sys/net/if_gre.c#16 integrate .. //depot/projects/dtrace/src/sys/net/route.c#16 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/accf_dns.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#24 integrate .. //depot/projects/dtrace/src/sys/netinet/in_pcb.h#12 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_divert.c#14 integrate .. //depot/projects/dtrace/src/sys/netinet/raw_ip.c#19 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_offload.c#3 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_offload.h#3 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.c#21 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.h#3 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_timer.c#12 integrate .. //depot/projects/dtrace/src/sys/netinet/toedev.h#5 integrate .. //depot/projects/dtrace/src/sys/netinet/udp_usrreq.c#21 integrate .. //depot/projects/dtrace/src/sys/netinet6/icmp6.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet6/raw_ip6.c#13 integrate .. //depot/projects/dtrace/src/sys/netipsec/ipsec.c#13 integrate .. //depot/projects/dtrace/src/sys/netipsec/ipsec6.h#6 integrate .. //depot/projects/dtrace/src/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/dtrace/src/sys/netipx/ipx_usrreq.c#9 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_socket.c#4 integrate .. //depot/projects/dtrace/src/sys/nfs4client/nfs4_vfsops.c#14 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_socket.c#18 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_vfsops.c#23 integrate .. //depot/projects/dtrace/src/sys/rpc/auth_unix.c#4 integrate .. //depot/projects/dtrace/src/sys/rpc/rpcclnt.c#6 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit.c#18 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit.h#11 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_arg.c#14 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm.c#14 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm_klib.c#11 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_bsm_token.c#10 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_private.h#8 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_syscalls.c#14 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_trigger.c#8 integrate .. //depot/projects/dtrace/src/sys/security/audit/audit_worker.c#15 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/autoconf.c#5 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/mem.c#6 integrate .. //depot/projects/dtrace/src/sys/sys/_task.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/interrupt.h#10 integrate .. //depot/projects/dtrace/src/sys/sys/kernel.h#23 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#58 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#46 integrate .. //depot/projects/dtrace/src/sys/sys/refcount.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/socket.h#13 integrate .. //depot/projects/dtrace/src/sys/sys/sysctl.h#17 integrate .. //depot/projects/dtrace/src/sys/sys/taskqueue.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/vmmeter.h#6 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_balloc.c#7 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#25 integrate .. //depot/projects/dtrace/src/sys/vm/vm_kern.c#15 integrate .. //depot/projects/dtrace/src/usr.bin/calendar/calendars/calendar.freebsd#27 integrate .. //depot/projects/dtrace/src/usr.bin/gcore/elfcore.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/gzip.1#3 integrate .. //depot/projects/dtrace/src/usr.bin/gzip/gzip.c#3 integrate .. //depot/projects/dtrace/src/usr.bin/ldd/ldd.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.1#13 integrate .. //depot/projects/dtrace/src/usr.bin/yacc/skeleton.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/Makefile#29 integrate .. //depot/projects/dtrace/src/usr.sbin/ndiscvt/ndisgen.8#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/rtadvd.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/rtsold.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/setfib/setfib.c#3 integrate .. //depot/projects/dtrace/www/en/cgi/cvsweb.conf#4 integrate .. //depot/projects/dtrace/www/en/developers.sgml#41 integrate .. //depot/projects/dtrace/www/en/developers/cvs.sgml#5 integrate .. //depot/projects/dtrace/www/en/releases/index.sgml#10 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#56 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#21 (text+ko) ==== @@ -13,7 +13,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.275 2008/06/20 00:28:50 erwin Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.276 2008/07/22 17:05:47 remko Exp $ 1999 @@ -107,7 +107,7 @@ Core Team monthly reports - /home/core/public/monthly-report + /home/core/public/monthly-reports on the FreeBSD.org cluster. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#84 (text+ko) ==== @@ -1,4 +1,4 @@ - + + @@ -56,20 +56,6 @@ Perl and Python have I18N and wide character handling libraries. Please use them for I18N compliance. - - In older FreeBSD versions, - Perl may give warnings about not having a wide character locale - installed on your system. You can set the - environment variable LD_PRELOAD to - /usr/lib/libxpg4.so in your shell. - - In sh-based shells: - - LD_PRELOAD=/usr/lib/libxpg4.so - - In C-based shells: - - setenv LD_PRELOAD /usr/lib/libxpg4.so ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -57,13 +57,7 @@ Morris Internet worm - effective today. Of the 17 CERT security advisories of 1999, 10 - - - CERTsecurity advisories - - - of them were directly caused by buffer-overflow software bugs. + effective today. By far the most common type of buffer overflow attack is based on corrupting the stack. @@ -258,40 +252,32 @@ Unfortunately there is still a very large assortment of code in public use which blindly copies memory around without using any of the bounded copy routines we just discussed. - Fortunately, there is another solution. Several compiler - add-ons and libraries exist to do Run-time bounds checking in - C/C++. + Fortunately, there is a way to help prevent such attacks — + run-time bounds checking, which is implemented by several + C/C++ compilers. + ProPolice StackGuard gcc - StackGuard is one such add-on that is implemented as a - small patch to the gcc code generator. From the StackGuard - website: + ProPolice is one such compiler feature, and is integrated + into &man.gcc.1; versions 4.1 and later. It replaces and + extends the earlier StackGuard &man.gcc.1; extension. -
"StackGuard detects and defeats stack - smashing attacks by protecting the return address on the stack - from being altered. StackGuard places a "canary" word next to - the return address when a function is called. If the canary - word has been altered when the function returns, then a stack - smashing attack has been attempted, and the program responds - by emitting an intruder alert into syslog, and then - halts."
- -
"StackGuard is implemented as a small patch - to the gcc code generator, specifically the function_prolog() - and function_epilog() routines. function_prolog() has been - enhanced to lay down canaries on the stack when functions - start, and function_epilog() checks canary integrity when the - function exits. Any attempt at corrupting the return address - is thus detected before the function - returns."
-
+ ProPolice helps to protect against stack-based buffer + overflows and other attacks by laying pseudo-random numbers in + key areas of the stack before calling any function. When a + function returns, these canaries are checked + and if they are found to have been changed the executable is + immediately aborted. Thus any attempt to modify the return + address or other variable stored on the stack in an attempt to + get malicious code to run is unlikely to succeed, as the + attacker would have to also manage to leave the pseudo-random + canaries untouched. buffer overflow - Recompiling your application with StackGuard is an + Recompiling your application with ProPolice is an effective means of stopping most buffer-overflow attacks, but it can still be compromised. @@ -378,7 +364,8 @@ should also be noted that a process can easily break out of a chroot environment if it has root privilege. This could be accomplished by creating device nodes to read kernel memory, - attaching a debugger to a process outside of the jail, or in + attaching a debugger to a process outside of the &man.chroot.8; + environment, or in many other creative ways. The behavior of the chroot() system ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#5 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -138,10 +138,10 @@ The Bywater Basic Interpreter can be found in the Ports Collection as - lang/bwbasic + lang/bwbasic and the Phil Cockroft's Basic Interpreter (formerly Rabbit Basic) is available as - lang/pbasic. + lang/pbasic. @@ -163,14 +163,14 @@ Various implementations of Lisp that can run on &unix; systems are available in the Ports Collection for &os;. GNU Common Lisp can be found as - lang/gcl. CLISP + lang/gcl. CLISP by Bruno Haible and Michael Stoll is available as - lang/clisp. + lang/clisp. For CMUCL, which includes a highly-optimizing compiler too, or simpler Lisp implementations like SLisp, which implements most of the Common Lisp constructs in a few hundred lines of C code, - lang/cmucl and - lang/slisp are available + lang/cmucl and + lang/slisp are available respectively. @@ -184,7 +184,7 @@ writing CGI scripts. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 28 07:13:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F30241065672; Mon, 28 Jul 2008 07:13:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2EBB1065670 for ; Mon, 28 Jul 2008 07:13:09 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A558D8FC20 for ; Mon, 28 Jul 2008 07:13:09 +0000 (UTC) (envelope-from strauss@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6S7D90C056724 for ; Mon, 28 Jul 2008 07:13:09 GMT (envelope-from strauss@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6S7D9bu056722 for perforce@freebsd.org; Mon, 28 Jul 2008 07:13:09 GMT (envelope-from strauss@FreeBSD.org) Date: Mon, 28 Jul 2008 07:13:09 GMT Message-Id: <200807280713.m6S7D9bu056722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to strauss@FreeBSD.org using -f From: Anselm Strauss To: Perforce Change Reviews Cc: Subject: PERFORCE change 146092 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 07:13:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=146092 Change 146092 by strauss@strauss_marvelman on 2008/07/28 07:12:22 Cleaner code for archive freeing (Tim) Affected files ... .. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#20 edit Differences ... ==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_zip.c#20 (text+ko) ==== @@ -329,15 +329,14 @@ archive_write_zip_destroy(struct archive_write *a) { struct zip *zip; - struct zip_file_header_link *l1, *l2; + struct zip_file_header_link *l; zip = a->format_data; - l1 = l2 = zip->central_directory; - while (l2 != NULL) { - l2 = l1->next; - free(l1->entry); - free(l1); - l1 = l2; + while (zip->central_directory != NULL) { + l = zip->central_directory; + zip->central_directory = l->next; + archive_entry_free(l->entry); + free(l); } free(zip); a->format_data = NULL; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 09:26:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E9EC1065671; Mon, 28 Jul 2008 09:26:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6217106564A for ; Mon, 28 Jul 2008 09:26:27 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B044C8FC12 for ; Mon, 28 Jul 2008 09:26:27 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6S9QRLx078789 for ; Mon, 28 Jul 2008 09:26:27 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6S9QRS8078787 for perforce@freebsd.org; Mon, 28 Jul 2008 09:26:27 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 09:26:27 GMT Message-Id: <200807280926.m6S9QRS8078787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 09:26:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=146096 Change 146096 by ed@ed_dull on 2008/07/28 09:25:55 IFC my procstat.1 changes. Affected files ... .. //depot/projects/mpsafetty/lib/libc/gen/Makefile.inc#3 integrate .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#6 integrate .. //depot/projects/mpsafetty/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/mpsafetty/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/subr_lock.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/raw_ip.c#4 integrate .. //depot/projects/mpsafetty/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/mpsafetty/usr.bin/procstat/procstat.1#3 integrate Differences ... ==== //depot/projects/mpsafetty/lib/libc/gen/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.6 (Berkeley) 5/4/95 -# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.139 2008/07/22 11:33:49 ache Exp $ +# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.140 2008/07/28 02:22:19 davidxu Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen @@ -56,7 +56,13 @@ getttyent.3 getusershell.3 getvfsbyname.3 \ glob.3 initgroups.3 isgreater.3 ldexp.3 lockf.3 makecontext.3 \ modf.3 msgctl.3 msgget.3 msgrcv.3 msgsnd.3 \ - nice.3 nlist.3 pause.3 popen.3 pselect.3 psignal.3 pwcache.3 \ + nice.3 nlist.3 pause.3 popen.3 \ + posix_spawn.3 posix_spawn_file_actions_addopen.3 \ + posix_spawn_file_actions_init.3 posix_spawnattr_getflags.3 \ + posix_spawnattr_getpgroup.3 posix_spawnattr_getschedparam.3 \ + posix_spawnattr_getschedpolicy.3 posix_spawnattr_init.3 \ + posix_spawnattr_getsigdefault.3 posix_spawnattr_getsigmask.3 \ + pselect.3 psignal.3 pwcache.3 \ 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_timedwait.3 sem_wait.3 \ @@ -124,6 +130,17 @@ MLINKS+=makecontext.3 swapcontext.3 MLINKS+=modf.3 modff.3 modf.3 modfl.3 MLINKS+=popen.3 pclose.3 +MLINKS+=posix_spawn.3 posix_spawnp.3 \ + posix_spawn_file_actions_addopen.3 posix_spawn_file_actions_addclose.3 \ + posix_spawn_file_actions_addopen.3 posix_spawn_file_actions_adddup2.3 \ + posix_spawn_file_actions_init.3 posix_spawn_file_actions_destroy.3 \ + posix_spawnattr_getflags.3 posix_spawnattr_setflags.3 \ + posix_spawnattr_getpgroup.3 posix_spawnattr_setpgroup.3 \ + posix_spawnattr_getschedparam.3 posix_spawnattr_setschedparam.3 \ + posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3 \ + posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ + posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ + posix_spawnattr_init.3 posix_spawnattr_destroy.3 MLINKS+=psignal.3 strsignal.3 psignal.3 sys_siglist.3 psignal.3 sys_signame.3 MLINKS+=pwcache.3 group_from_gid.3 pwcache.3 user_from_uid.3 MLINKS+=rand48.3 _rand48.3 rand48.3 drand48.3 rand48.3 erand48.3 \ ==== //depot/projects/mpsafetty/sys/amd64/amd64/pmap.c#6 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.638 2008/07/28 04:59:48 alc Exp $"); /* * Manages physical address maps. @@ -3350,9 +3350,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3499,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4355,12 +4354,10 @@ } int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; @@ -4368,32 +4365,53 @@ offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0 || (*pdpe & PG_PS)) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their ==== //depot/projects/mpsafetty/sys/dev/jme/if_jme.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.2 2008/07/18 04:20:48 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.3 2008/07/28 02:37:15 yongari Exp $"); #include #include @@ -2346,7 +2346,10 @@ if (jme_newbuf(sc, rxd) != 0) { ifp->if_iqdrops++; /* Reuse buffer. */ - jme_discard_rxbuf(sc, sc->jme_cdata.jme_rx_cons); + for (; count < nsegs; count++) { + jme_discard_rxbuf(sc, cons); + JME_DESC_INC(cons, JME_RX_RING_CNT); + } if (sc->jme_cdata.jme_rxhead != NULL) { m_freem(sc->jme_cdata.jme_rxhead); JME_RXCHAIN_RESET(sc); ==== //depot/projects/mpsafetty/sys/i386/i386/pmap.c#3 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.623 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.626 2008/07/28 05:41:35 alc Exp $"); /* * Manages physical address maps. @@ -3415,9 +3415,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_page_t p; @@ -3545,7 +3544,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4422,10 +4421,7 @@ } int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; pt_entry_t *pte; @@ -4436,8 +4432,10 @@ offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses above the recursive map. + */ + if (base < VM_MIN_KERNEL_ADDRESS) return (EINVAL); /* 4MB pages and pages that aren't mapped aren't supported. */ ==== //depot/projects/mpsafetty/sys/kern/subr_lock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.23 2008/05/15 20:10:06 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.24 2008/07/27 21:45:20 kmacy Exp $"); #include "opt_ddb.h" #include "opt_mprof.h" @@ -152,6 +152,7 @@ const char *name; int line; int ticks; + uintmax_t cnt_wait_max; uintmax_t cnt_max; uintmax_t cnt_tot; uintmax_t cnt_wait; @@ -267,8 +268,8 @@ for (p = lp->file; p != NULL && strncmp(p, "../", 3) == 0; p += 3); sbuf_printf(sb, - "%6ju %12ju %12ju %11ju %5ju %5ju %12ju %12ju %s:%d (%s:%s)\n", - lp->cnt_max / 1000, lp->cnt_tot / 1000, + "%8ju %9ju %11ju %11ju %11ju %6ju %6ju %2ju %6ju %s:%d (%s:%s)\n", + lp->cnt_max / 1000, lp->cnt_wait_max / 1000, lp->cnt_tot / 1000, lp->cnt_wait / 1000, lp->cnt_cur, lp->cnt_cur == 0 ? (uintmax_t)0 : lp->cnt_tot / (lp->cnt_cur * 1000), @@ -304,6 +305,8 @@ l->ticks = t; if (l->cnt_max > dst->cnt_max) dst->cnt_max = l->cnt_max; + if (l->cnt_wait_max > dst->cnt_wait_max) + dst->cnt_wait_max = l->cnt_wait_max; dst->cnt_tot += l->cnt_tot; dst->cnt_wait += l->cnt_wait; dst->cnt_cur += l->cnt_cur; @@ -344,8 +347,8 @@ retry_sbufops: sb = sbuf_new(NULL, NULL, LPROF_SBUF_SIZE * multiplier, SBUF_FIXEDLEN); - sbuf_printf(sb, "\n%6s %12s %12s %11s %5s %5s %12s %12s %s\n", - "max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cnt_lock", "name"); + sbuf_printf(sb, "\n%8s %9s %11s %11s %11s %6s %6s %2s %6s %s\n", + "max", "wait_max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cnt_lock", "name"); enabled = lock_prof_enable; lock_prof_enable = 0; pause("lpreset", hz / 10); @@ -542,6 +545,8 @@ */ if (holdtime > lp->cnt_max) lp->cnt_max = holdtime; + if (l->lpo_waittime > lp->cnt_wait_max) + lp->cnt_wait_max = l->lpo_waittime; lp->cnt_tot += holdtime; lp->cnt_wait += l->lpo_waittime; lp->cnt_contest_locking += l->lpo_contest_locking; ==== //depot/projects/mpsafetty/sys/kern/vfs_subr.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.733 2008/07/21 23:01:09 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.735 2008/07/27 11:48:15 pjd Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -2282,7 +2282,7 @@ vinactive(struct vnode *vp, struct thread *td) { - ASSERT_VOP_LOCKED(vp, "vinactive"); + ASSERT_VOP_ELOCKED(vp, "vinactive"); ASSERT_VI_LOCKED(vp, "vinactive"); VNASSERT((vp->v_iflag & VI_DOINGINACT) == 0, vp, ("vinactive: recursed on VI_DOINGINACT")); @@ -2439,7 +2439,7 @@ { int recycled; - ASSERT_VOP_LOCKED(vp, "vrecycle"); + ASSERT_VOP_ELOCKED(vp, "vrecycle"); recycled = 0; VI_LOCK(vp); if (vp->v_usecount == 0) { @@ -2474,7 +2474,7 @@ struct mount *mp; CTR1(KTR_VFS, "vgonel: vp %p", vp); - ASSERT_VOP_LOCKED(vp, "vgonel"); + ASSERT_VOP_ELOCKED(vp, "vgonel"); ASSERT_VI_LOCKED(vp, "vgonel"); VNASSERT(vp->v_holdcnt, vp, ("vgonel: vp %p has no reference.", vp)); @@ -3581,7 +3581,8 @@ * This only exists to supress warnings from unlocked specfs accesses. It is * no longer ok to have an unlocked VFS. */ -#define IGNORE_LOCK(vp) ((vp)->v_type == VCHR || (vp)->v_type == VBAD) +#define IGNORE_LOCK(vp) (panicstr != NULL || (vp) == NULL || \ + (vp)->v_type == VCHR || (vp)->v_type == VBAD) int vfs_badlock_ddb = 1; /* Drop into debugger on violation. */ SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, ""); @@ -3631,7 +3632,7 @@ assert_vop_locked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == 0) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == 0) vfs_badlock("is not locked but should be", str, vp); } @@ -3639,8 +3640,7 @@ assert_vop_unlocked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && - VOP_ISLOCKED(vp) == LK_EXCLUSIVE) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == LK_EXCLUSIVE) vfs_badlock("is locked but should not be", str, vp); } @@ -3648,8 +3648,7 @@ assert_vop_elocked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && - VOP_ISLOCKED(vp) != LK_EXCLUSIVE) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) != LK_EXCLUSIVE) vfs_badlock("is not exclusive locked but should be", str, vp); } @@ -3658,8 +3657,7 @@ assert_vop_elocked_other(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && - VOP_ISLOCKED(vp) != LK_EXCLOTHER) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) != LK_EXCLOTHER) vfs_badlock("is not exclusive locked by another thread", str, vp); } @@ -3668,8 +3666,7 @@ assert_vop_slocked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && - VOP_ISLOCKED(vp) != LK_SHARED) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) != LK_SHARED) vfs_badlock("is not locked shared but should be", str, vp); } #endif /* 0 */ ==== //depot/projects/mpsafetty/sys/netinet/ip_divert.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/ip_divert.c,v 1.133 2008/04/21 12:03:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/ip_divert.c,v 1.134 2008/07/27 20:48:22 mav Exp $"); #if !defined(KLD_MODULE) #include "opt_inet.h" @@ -268,9 +268,9 @@ nport = htons((u_int16_t)divert_info(mtag)); INP_INFO_RLOCK(&divcbinfo); LIST_FOREACH(inp, &divcb, inp_list) { - INP_RLOCK(inp); /* XXX why does only one socket match? */ if (inp->inp_lport == nport) { + INP_RLOCK(inp); sa = inp->inp_socket; SOCKBUF_LOCK(&sa->so_rcv); if (sbappendaddr_locked(&sa->so_rcv, @@ -283,7 +283,6 @@ INP_RUNLOCK(inp); break; } - INP_RUNLOCK(inp); } INP_INFO_RUNLOCK(&divcbinfo); if (sa == NULL) { ==== //depot/projects/mpsafetty/sys/netinet/raw_ip.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.190 2008/07/26 21:12:00 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/raw_ip.c,v 1.191 2008/07/28 06:57:28 mav Exp $"); #include "opt_inet6.h" #include "opt_ipsec.h" @@ -126,12 +126,13 @@ INP_INFO_WLOCK_ASSERT(pcbinfo); INP_WLOCK_ASSERT(inp); - if (inp->inp_ip_p && inp->inp_laddr.s_addr && inp->inp_faddr.s_addr) { + if (inp->inp_ip_p != 0 && + inp->inp_laddr.s_addr != INADDR_ANY && + inp->inp_faddr.s_addr != INADDR_ANY) { hash = INP_PCBHASH_RAW(inp->inp_ip_p, inp->inp_laddr.s_addr, inp->inp_faddr.s_addr, pcbinfo->ipi_hashmask); - } else { + } else hash = 0; - } pcbhash = &pcbinfo->ipi_hashbase[hash]; LIST_INSERT_HEAD(pcbhash, inp, inp_hash); } @@ -139,7 +140,10 @@ static void rip_delhash(struct inpcb *inp) { + + INP_INFO_WLOCK_ASSERT(inp->inp_pcbinfo); INP_WLOCK_ASSERT(inp); + LIST_REMOVE(inp, inp_hash); } @@ -708,6 +712,8 @@ static void rip_dodisconnect(struct socket *so, struct inpcb *inp) { + + INP_INFO_WLOCK_ASSERT(inp->inp_pcbinfo); INP_WLOCK_ASSERT(inp); rip_delhash(inp); ==== //depot/projects/mpsafetty/sys/netinet6/icmp6.c#2 (text+ko) ==== @@ -61,7 +61,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet6/icmp6.c,v 1.85 2008/07/05 13:10:10 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/icmp6.c,v 1.86 2008/07/27 20:30:34 mav Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -1897,24 +1897,20 @@ INP_INFO_RLOCK(&ripcbinfo); LIST_FOREACH(in6p, &ripcb, inp_list) { - INP_RLOCK(in6p); - if ((in6p->inp_vflag & INP_IPV6) == 0) { - docontinue: - INP_RUNLOCK(in6p); + if ((in6p->inp_vflag & INP_IPV6) == 0) continue; - } if (in6p->in6p_ip6_nxt != IPPROTO_ICMPV6) - goto docontinue; + continue; if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_laddr) && !IN6_ARE_ADDR_EQUAL(&in6p->in6p_laddr, &ip6->ip6_dst)) - goto docontinue; + continue; if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr) && !IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, &ip6->ip6_src)) - goto docontinue; + continue; if (in6p->in6p_icmp6filt && ICMP6_FILTER_WILLBLOCK(icmp6->icmp6_type, in6p->in6p_icmp6filt)) - goto docontinue; + continue; if (last) { struct mbuf *n = NULL; @@ -1974,7 +1970,9 @@ INP_RUNLOCK(last); } last = in6p; + INP_RLOCK(last); } + INP_INFO_RUNLOCK(&ripcbinfo); if (last) { if (last->in6p_flags & IN6P_CONTROLOPTS) ip6_savecontrol(last, m, &opts); @@ -2014,7 +2012,6 @@ m_freem(m); ip6stat.ip6s_delivered--; } - INP_INFO_RUNLOCK(&ripcbinfo); return IPPROTO_DONE; } ==== //depot/projects/mpsafetty/sys/netinet6/raw_ip6.c#3 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/netinet6/raw_ip6.c,v 1.80 2008/07/08 18:41:36 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet6/raw_ip6.c,v 1.81 2008/07/27 20:30:34 mav Exp $"); #include "opt_ipsec.h" #include "opt_inet6.h" @@ -154,27 +154,23 @@ INP_INFO_RLOCK(&ripcbinfo); LIST_FOREACH(in6p, &ripcb, inp_list) { - INP_RLOCK(in6p); - if ((in6p->in6p_vflag & INP_IPV6) == 0) { -docontinue: - INP_RUNLOCK(in6p); + if ((in6p->in6p_vflag & INP_IPV6) == 0) continue; - } if (in6p->in6p_ip6_nxt && in6p->in6p_ip6_nxt != proto) - goto docontinue; + continue; if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_laddr) && !IN6_ARE_ADDR_EQUAL(&in6p->in6p_laddr, &ip6->ip6_dst)) - goto docontinue; + continue; if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr) && !IN6_ARE_ADDR_EQUAL(&in6p->in6p_faddr, &ip6->ip6_src)) - goto docontinue; + continue; if (in6p->in6p_cksum != -1) { rip6stat.rip6s_isum++; if (in6_cksum(m, proto, *offp, m->m_pkthdr.len - *offp)) { rip6stat.rip6s_badsum++; - goto docontinue; + continue; } } if (last) { @@ -210,7 +206,9 @@ INP_RUNLOCK(last); } last = in6p; + INP_RLOCK(last); } + INP_INFO_RUNLOCK(&ripcbinfo); #ifdef IPSEC /* * Check AH/ESP integrity. @@ -252,7 +250,6 @@ } ip6stat.ip6s_delivered--; } - INP_INFO_RUNLOCK(&ripcbinfo); return (IPPROTO_DONE); } ==== //depot/projects/mpsafetty/usr.bin/procstat/procstat.1#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.bin/procstat/procstat.1,v 1.4 2008/04/21 17:09:53 rwatson Exp $ +.\" $FreeBSD: src/usr.bin/procstat/procstat.1,v 1.5 2008/07/28 08:01:24 ed Exp $ .\" .Dd April 19, 2008 .Dt PROCSTAT 1 From owner-p4-projects@FreeBSD.ORG Mon Jul 28 11:38:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 570F41065676; Mon, 28 Jul 2008 11:38:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BBCC1065670 for ; Mon, 28 Jul 2008 11:38:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0420C8FC20 for ; Mon, 28 Jul 2008 11:38:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SBcgCC091422 for ; Mon, 28 Jul 2008 11:38:42 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SBcghj091420 for perforce@freebsd.org; Mon, 28 Jul 2008 11:38:42 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 11:38:42 GMT Message-Id: <200807281138.m6SBcghj091420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 11:38:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=146102 Change 146102 by jhb@jhb_zion on 2008/07/28 11:37:48 - Just force a context switch at the user boundary for running threads that are on an invalid CPU. - Handle running threads on other CPUs via an IPI_AST IPI. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#79 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#79 (text+ko) ==== @@ -1621,7 +1621,9 @@ if (THREAD_CAN_SCHED(td, td->td_oncpu)) return; - mi_switch(SW_VOL, NULL); + td->td_flags |= TDF_NEEDRESCHED; + if (td != curthread) + ipi_selected(1 << cpu, IPI_AST); break; default: break; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 11:40:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B245106567C; Mon, 28 Jul 2008 11:40:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2EDC1065679 for ; Mon, 28 Jul 2008 11:40:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B11828FC19 for ; Mon, 28 Jul 2008 11:40:49 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SBemwY091621 for ; Mon, 28 Jul 2008 11:40:48 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SBeifY091616 for perforce@freebsd.org; Mon, 28 Jul 2008 11:40:44 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 11:40:44 GMT Message-Id: <200807281140.m6SBeifY091616@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146103 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 11:40:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=146103 Change 146103 by jhb@jhb_zion on 2008/07/28 11:40:08 Inherit the TDF_AFFINITY flag when inheriting the cpuset. Hopefully this fixes the 'build world in a cpuset' case. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#80 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#80 (text+ko) ==== @@ -738,6 +738,7 @@ childtd->td_estcpu = td->td_estcpu; childtd->td_lock = &sched_lock; childtd->td_cpuset = cpuset_ref(td->td_cpuset); + childtd->td_flags |= (td->td_flags & TDF_AFFINITY); ts = childtd->td_sched; bzero(ts, sizeof(*ts)); } From owner-p4-projects@FreeBSD.ORG Mon Jul 28 11:55:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A367F106568E; Mon, 28 Jul 2008 11:55:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6658E106567C for ; Mon, 28 Jul 2008 11:55:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3348D8FC2D for ; Mon, 28 Jul 2008 11:55:04 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SBt4pY092721 for ; Mon, 28 Jul 2008 11:55:04 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SBt4qe092719 for perforce@freebsd.org; Mon, 28 Jul 2008 11:55:04 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 11:55:04 GMT Message-Id: <200807281155.m6SBt4qe092719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146104 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 11:55:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=146104 Change 146104 by jhb@jhb_zion on 2008/07/28 11:54:50 Tidy. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#81 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#81 (text+ko) ==== @@ -1622,7 +1622,7 @@ if (THREAD_CAN_SCHED(td, td->td_oncpu)) return; - td->td_flags |= TDF_NEEDRESCHED; + td->td_flags |= TDF_NEEDRESCHED; if (td != curthread) ipi_selected(1 << cpu, IPI_AST); break; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:24:34 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68CC81065672; Mon, 28 Jul 2008 12:24:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D09E106566B for ; Mon, 28 Jul 2008 12:24:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 147718FC08 for ; Mon, 28 Jul 2008 12:24:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCOXA2096289 for ; Mon, 28 Jul 2008 12:24:33 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCOXkf096287 for perforce@freebsd.org; Mon, 28 Jul 2008 12:24:33 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 12:24:33 GMT Message-Id: <200807281224.m6SCOXkf096287@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:24:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=146105 Change 146105 by jhb@jhb_zion on 2008/07/28 12:23:33 Grrrr, fork() clears td_flags after sched_fork() is called, so the TDF_AFFINITY flag was getting lost for new child processes. Move the flag into a new ts_flags field instead. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#82 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#82 (text+ko) ==== @@ -91,13 +91,16 @@ fixpt_t ts_pctcpu; /* (j) %cpu during p_swtime. */ int ts_cpticks; /* (j) Ticks of cpu time. */ int ts_slptime; /* (j) Seconds !RUNNING. */ + int ts_flags; struct runq *ts_runq; /* runq the thread is currently on */ }; /* flags kept in td_flags */ #define TDF_DIDRUN TDF_SCHED0 /* thread actually ran. */ #define TDF_BOUND TDF_SCHED1 /* Bound to one CPU. */ -#define TDF_AFFINITY TDF_SCHED2 /* Has a non-"full" CPU set. */ + +/* flags kept in ts_flags */ +#define TSF_AFFINITY 0x0001 /* Has a non-"full" CPU set. */ #define SKE_RUNQ_PCPU(ts) \ ((ts)->ts_runq != 0 && (ts)->ts_runq != &runq) @@ -738,9 +741,9 @@ childtd->td_estcpu = td->td_estcpu; childtd->td_lock = &sched_lock; childtd->td_cpuset = cpuset_ref(td->td_cpuset); - childtd->td_flags |= (td->td_flags & TDF_AFFINITY); ts = childtd->td_sched; bzero(ts, sizeof(*ts)); + ts->ts_flags |= (td->td_sched->ts_flags & TSF_AFFINITY); } void @@ -1232,7 +1235,7 @@ single_cpu = 1; CTR3(KTR_RUNQ, "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } else if (td->td_flags & TDF_AFFINITY) { + } else if (ts->ts_flags & TSF_AFFINITY) { /* Find a valid CPU for our cpuset */ cpu = sched_pickcpu(td); ts->ts_runq = &runq_pcpu[cpu]; @@ -1576,15 +1579,15 @@ THREAD_LOCK_ASSERT(td, MA_OWNED); /* - * Set the TDF_AFFINITY flag if there is at least one CPU this + * Set the TSF_AFFINITY flag if there is at least one CPU this * thread can't run on. */ - td->td_flags &= ~TDF_AFFINITY; + ts->ts_flags &= ~TSF_AFFINITY; for (cpu = 0; cpu <= mp_maxid; cpu++) { if (CPU_ABSENT(cpu)) continue; if (!THREAD_CAN_SCHED(td, cpu)) { - td->td_flags |= TDF_AFFINITY; + ts->ts_flags |= TSF_AFFINITY; break; } } @@ -1592,7 +1595,7 @@ /* * If this thread can run on all CPUs, nothing else to do. */ - if (!(td->td_flags & TDF_AFFINITY)) + if (!(ts->ts_flags & TSF_AFFINITY)) return; /* Pinned threads and bound threads should be left alone. */ From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:25:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9015C1065674; Mon, 28 Jul 2008 12:25:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 547C81065670 for ; Mon, 28 Jul 2008 12:25:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3C1908FC17 for ; Mon, 28 Jul 2008 12:25:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCPZvn096445 for ; Mon, 28 Jul 2008 12:25:35 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCPZQh096443 for perforce@freebsd.org; Mon, 28 Jul 2008 12:25:35 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 12:25:35 GMT Message-Id: <200807281225.m6SCPZQh096443@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146106 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:25:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=146106 Change 146106 by jhb@jhb_zion on 2008/07/28 12:24:36 Compile. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#83 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#83 (text+ko) ==== @@ -1582,6 +1582,7 @@ * Set the TSF_AFFINITY flag if there is at least one CPU this * thread can't run on. */ + ts = td->td_sched; ts->ts_flags &= ~TSF_AFFINITY; for (cpu = 0; cpu <= mp_maxid; cpu++) { if (CPU_ABSENT(cpu)) @@ -1608,7 +1609,6 @@ * If we are on a per-CPU runqueue that is in the set, * then nothing needs to be done. */ - ts = td->td_sched; if (ts->ts_runq != &runq && THREAD_CAN_SCHED(td, ts->ts_runq - runq_pcpu)) return; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:27:37 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF4D7106567D; Mon, 28 Jul 2008 12:27:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8321D1065679 for ; Mon, 28 Jul 2008 12:27:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A5498FC14 for ; Mon, 28 Jul 2008 12:27:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCRbpq096572 for ; Mon, 28 Jul 2008 12:27:37 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCRbRH096570 for perforce@freebsd.org; Mon, 28 Jul 2008 12:27:37 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:27:37 GMT Message-Id: <200807281227.m6SCRbRH096570@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:27:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=146107 Change 146107 by rpaulo@rpaulo_epsilon on 2008/07/28 12:27:34 verbose param was removed. Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/device.c#4 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/device.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/device.c#3 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/device.c#4 $ */ #include @@ -39,8 +39,6 @@ /** * @brief * List all devices found by pcap. - * - * @param verbose Verbose toggle */ void device_listall(void) From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:29:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1300D106568E; Mon, 28 Jul 2008 12:29:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1BFD106567D for ; Mon, 28 Jul 2008 12:29:39 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 980708FC5D for ; Mon, 28 Jul 2008 12:29:39 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCTdpZ096741 for ; Mon, 28 Jul 2008 12:29:39 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCTdcR096739 for perforce@freebsd.org; Mon, 28 Jul 2008 12:29:39 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:29:39 GMT Message-Id: <200807281229.m6SCTdcR096739@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:29:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=146108 Change 146108 by rpaulo@rpaulo_epsilon on 2008/07/28 12:29:27 Remove includes from tcpad.h Implement timer_stop() and call it from main(). Small style changes, including "look more like tcpdump". Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/main.c#9 edit .. //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#13 edit .. //depot/projects/soc2008/rpaulo-tcpad/timer.c#6 edit .. //depot/projects/soc2008/rpaulo-tcpad/timer.h#2 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/main.c#9 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/main.c#8 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/main.c#9 $ */ #include @@ -32,6 +32,10 @@ #include #include #include +#include +#include +#include +#include #include "tcpad.h" #include "dumper.h" @@ -44,9 +48,10 @@ static void usage(void) { + fprintf(stderr, "tcpad version " TCPAD_VERSION "\n"); fprintf(stderr, "%s\n", pcap_lib_version()); - fprintf(stderr, "%s: [-r file] [-p] [-i interface] [-s snaplen]\n", - getprogname()); + fprintf(stderr, "Usage: %s [-r file] [-p] [-i interface] " + "[-s snaplen]\n", getprogname()); exit(1); } @@ -54,7 +59,6 @@ main(int argc, char *argv[]) { int promisc; - int snaplen; int ch; char *interface; char *readfile; @@ -111,7 +115,8 @@ if (interface == NULL) errx(1, "interface not specified"); else - p = pcap_open_live(interface, snaplen, promisc, 100, errbuf); + p = pcap_open_live(interface, snaplen, promisc, 100, + errbuf); } if (p == NULL) err(1, "pcap_open_live"); @@ -134,5 +139,7 @@ pcap_freecode(&fp); pcap_close(p); + timer_stop(); + return (0); } ==== //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#13 (text+ko) ==== @@ -23,20 +23,20 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#12 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/tcpad.h#13 $ */ #ifndef _TCPAD_H_ #define _TCPAD_H_ -#include -#include -#include -#include -#include +#define TCPAD_VERSION "0.1" +#define TCPAD_MSL 60 /* sec. */ +/* Globals */ pcap_t *p; +int snaplen; +/* Connection structure */ struct tcpc { LIST_ENTRY(tcpc) entries; struct in_addr sv4addr; @@ -51,6 +51,4 @@ LIST_HEAD(tcpchead, tcpc) tcpchead; - -#define TCPAD_MSL 60 /* sec. */ #endif /* _TCPAD_H_ */ ==== //depot/projects/soc2008/rpaulo-tcpad/timer.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#5 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#6 $ */ #include @@ -33,8 +33,12 @@ #include #include #include +#include +#include +#include +#include +#include #include -#include #include "debug.h" #include "tcpad.h" @@ -44,6 +48,8 @@ static void timer_sigalrm(int sig); +struct itimerval itp; + /** * @brief * Timer setup. @@ -52,7 +58,6 @@ timer_setup(void) { static int firstime = 1; - struct itimerval itp; if (firstime) { DPRINTF(DEBUG_TIMER, "setting up signal function\n"); @@ -100,3 +105,22 @@ DPRINTF(DEBUG_TIMER, "connections being tracked: %d\n", nc/2); prevnc = nc; } + +void +timer_stop(void) +{ + struct tcpc *cp, *cp_t; + + /* Disable the timer. */ + itp.it_value.tv_sec = 0; + setitimer(ITIMER_REAL, &itp, NULL); + + LIST_FOREACH_SAFE(cp, &tcpchead, entries, cp_t) { + if (cp->pktshead) + dumper_free(cp); + if (cp->rcp && cp->rcp->pktshead) + cp->rcp->pktshead = NULL; + LIST_REMOVE(cp, entries); + free(cp); + } +} ==== //depot/projects/soc2008/rpaulo-tcpad/timer.h#2 (text+ko) ==== @@ -23,12 +23,13 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.h#1 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.h#2 $ */ #ifndef _TIMER_H_ #define _TIMER_H_ int timer_setup(void); +void timer_stop(void); #endif /* _TIMER_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:32:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A253106569E; Mon, 28 Jul 2008 12:32:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D133E106568B for ; Mon, 28 Jul 2008 12:32:42 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B64A08FC39 for ; Mon, 28 Jul 2008 12:32:42 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCWgoe097002 for ; Mon, 28 Jul 2008 12:32:42 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCWgOp097000 for perforce@freebsd.org; Mon, 28 Jul 2008 12:32:42 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:32:42 GMT Message-Id: <200807281232.m6SCWgOp097000@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146109 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:32:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=146109 Change 146109 by rpaulo@rpaulo_epsilon on 2008/07/28 12:31:58 Move helper.c contents into handler.c Implement TCP option processing. Add more SEQ/ACK validation. Remove some const qualifiers. Dump some RFC1323 variables. Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/Makefile#12 edit .. //depot/projects/soc2008/rpaulo-tcpad/debug.h#5 edit .. //depot/projects/soc2008/rpaulo-tcpad/dumper.c#10 edit .. //depot/projects/soc2008/rpaulo-tcpad/handler.c#16 edit .. //depot/projects/soc2008/rpaulo-tcpad/helper.c#4 delete .. //depot/projects/soc2008/rpaulo-tcpad/helper.h#2 delete .. //depot/projects/soc2008/rpaulo-tcpad/linkhdr.c#9 edit .. //depot/projects/soc2008/rpaulo-tcpad/linkhdr.h#3 edit .. //depot/projects/soc2008/rpaulo-tcpad/verify.c#4 edit .. //depot/projects/soc2008/rpaulo-tcpad/verify.h#3 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/Makefile#12 (text+ko) ==== @@ -1,7 +1,7 @@ -# $P4: //depot/projects/soc2008/rpaulo-tcpad/Makefile#11 $ +# $P4: //depot/projects/soc2008/rpaulo-tcpad/Makefile#12 $ PROG=tcpad -SRCS=main.c device.c linkhdr.c handler.c helper.c dumper.c timer.c verify.c +SRCS=main.c device.c linkhdr.c handler.c dumper.c timer.c verify.c CFLAGS+=-DDEBUG -ggdb CFLAGS+=-DDUMPER_PATH=\"dumpfiles\" WARNS=5 ==== //depot/projects/soc2008/rpaulo-tcpad/debug.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/debug.h#4 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/debug.h#5 $ */ #ifndef _DEBUG_H_ @@ -37,6 +37,7 @@ #define DEBUG_DUMP 0x004 #define DEBUG_LINK 0x008 #define DEBUG_SEQ 0x010 +#define DEBUG_TOPTS 0x020 #define DEBUG_ALL 0xfff #define DPRINTF(level, ...) do { \ ==== //depot/projects/soc2008/rpaulo-tcpad/dumper.c#10 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#9 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#10 $ */ #include @@ -33,8 +33,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include -#include #include #include "tcpad.h" @@ -87,12 +92,14 @@ snprintf(path, sizeof(path), "%s/dump%d.txt", DUMPER_PATH, i); if (access(path, F_OK) != 0) break; + /* XXX: race [1] */ } if (i == 3000) { fprintf(stderr, "%s: %s is full!\n", __func__, DUMPER_PATH); return; } + /* XXX: race [1] */ fp = fopen(path, "w"); if (fp == NULL) { warn("failure to open dump file: %s", path); @@ -111,7 +118,8 @@ pcap_dump((u_char *)pd, &dp->pheader, dp->headers); pcap_dump_close(pd); - fprintf(fp, "tcpad (TCP Anomaly Detector) version xx.xx\n\n"); + fprintf(fp, "tcpad (TCP Anomaly Detector) version " + TCPAD_VERSION "\n\n"); fprintf(fp, "Related pcap file:\t%s\n", cappath); fprintf(fp, "Error message:\t\t"); va_start(ap, fmt); @@ -123,7 +131,7 @@ fprintf(fp, "%18s |\n", inet_ntoa(cp->dv4addr)); fprintf(fp, "TCP Port:\t| %18d | %18d |\n", cp->sport, cp->dport); fprintf(fp, "\n"); -#define DUMPER_TPFIELD(cp, field, name) do { \ +#define DUMPER_TPFIELD(cp, field, name) do { \ fprintf(fp, "%s:\t", name); \ if (strlen(name) < 7) \ fprintf(fp, "\t"); \ @@ -149,6 +157,10 @@ DUMPER_TPFIELD(cp, rcv_nxt, "RCV.NXT"); DUMPER_TPFIELD(cp, rcv_wnd, "RCV.WND"); DUMPER_TPFIELD(cp, rcv_up, "RCV.UP"); + + fprintf(fp, "\nRFC 1323 variables:\n"); + DUMPER_TPFIELD(cp, snd_scale, "SND.SCALE"); + DUMPER_TPFIELD(cp, rcv_scale, "RCV.SCALE"); #undef DUMPER_TPFIELD fclose(fp); } ==== //depot/projects/soc2008/rpaulo-tcpad/handler.c#16 (text+ko) ==== @@ -23,23 +23,19 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/handler.c#15 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/handler.c#16 $ */ -#include #include #include #include #include #include #include -#include -#include +#include #include #include -#include -#include -#include +#include #include #include "tcpad.h" @@ -47,44 +43,97 @@ #include "linkhdr.h" #include "handler.h" #include "dumper.h" -#include "helper.h" -#include "debug.h" + +static struct tcpc * +find_conn(struct in_addr ipsrc, struct in_addr ipdst, unsigned short + sport, unsigned short dport) +{ + struct tcpc *cp; + + LIST_FOREACH(cp, &tcpchead, entries) { + if (memcmp(&cp->sv4addr, &ipsrc, sizeof(struct in_addr)) == 0 && + memcmp(&cp->dv4addr, &ipdst, sizeof(struct in_addr)) == 0 && + cp->sport == sport && cp->dport == dport) { + return (cp); + } + } + return (NULL); +} void tcpad_pcaphandler(unsigned char *user, const struct pcap_pkthdr *ph, const unsigned char *bytes) { - const struct ip *ip; - const struct tcphdr *th; - struct tcphdr tcp; + struct ip *ip; + struct tcphdr *th; int linkhlen; struct tcpc *cp, *rcp; + unsigned char *wirepkt; + unsigned char *inetpkt; + int added; + unsigned char topts[40]; + + /* XXX: make sure the packet is a valid TCP packet */ linkhlen = (int)*user; - ip = (const struct ip *)linkhdr_remove(bytes, linkhlen); - th = (const struct tcphdr *)linkhdr_remove(bytes, - linkhlen + sizeof(struct ip)); + wirepkt = malloc(snaplen); + memcpy(wirepkt, bytes, snaplen); + inetpkt = linkhdr_remove(wirepkt, linkhlen); + ip = (struct ip *)inetpkt; + th = (struct tcphdr *)(inetpkt + sizeof(struct ip)); + memcpy(topts, (inetpkt + sizeof(struct ip) + sizeof(struct tcphdr)), + sizeof(topts)); + + /* Local endpoint */ + cp = find_conn(ip->ip_src, ip->ip_dst, ntohs(th->th_sport), + ntohs(th->th_dport)); - memcpy(&tcp, th, sizeof(tcp)); + /* Remote endpoint */ + rcp = find_conn(ip->ip_dst, ip->ip_src, ntohs(th->th_dport), + ntohs(th->th_sport)); - tcp.th_seq = ntohl(tcp.th_seq); - tcp.th_ack = ntohl(tcp.th_ack); - tcp.th_win = ntohs(tcp.th_win); - tcp.th_urp = ntohs(tcp.th_urp); - tcp.th_sport = ntohs(tcp.th_sport); - tcp.th_dport = ntohs(tcp.th_dport); + /* + * Erase the data in the TCP packet. + * XXX: This breaks the checksum. + * + * Pun intended :-) + */ + memset((inetpkt + sizeof(struct ip) + th->th_off * 4), 'R', + snaplen - (sizeof(struct ip) + th->th_off * 4) - 2); - /* Local endpoint */ - cp = find_conn(ip->ip_src, ip->ip_dst, tcp.th_sport, - tcp.th_dport); + added = 0; + if (cp && cp->pktshead) { + added = 1; + dumper_addpkt(cp, ph, wirepkt); + } - /* Remote endpoint */ - rcp = find_conn(ip->ip_dst, ip->ip_src, tcp.th_dport, - tcp.th_sport); + /* + * We can only do this here because we need to save the bytes in + * network order (above call to dumper_addpkt()). + */ + th->th_seq = ntohl(th->th_seq); + th->th_ack = ntohl(th->th_ack); + th->th_win = ntohs(th->th_win); + th->th_urp = ntohs(th->th_urp); + th->th_sport = ntohs(th->th_sport); + th->th_dport = ntohs(th->th_dport); - if (cp && cp->pktshead) + cp = tcpad_verify_output(cp, rcp, ip, th, topts); + /* + * If we didn't add the packet it was a SYN packet and a connection + * structure was created. Now that we have one, add the packet to the + * dumper. + */ + if (!added && cp && cp->pktshead) { + /* + * We can't use wirepkt buffer because we changed some TCP + * fields to host order. Let's hope there was no sensitive + * data with the SYN. (Pratically all TCP/IP stacks nowadays + * don't send data with the SYN anyway). + */ dumper_addpkt(cp, ph, bytes); + } + tcpad_verify_input(rcp, cp, ip, th, topts); - cp = tcpad_verify_output(cp, rcp, ip, &tcp); - tcpad_verify_input(rcp, cp, ip, &tcp); + free(wirepkt); } ==== //depot/projects/soc2008/rpaulo-tcpad/linkhdr.c#9 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/linkhdr.c#8 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/linkhdr.c#9 $ */ #include @@ -77,8 +77,8 @@ } -const unsigned char * -linkhdr_remove(const unsigned char *bytes, unsigned int skip) +unsigned char * +linkhdr_remove(unsigned char *bytes, unsigned int skip) { /* XXX: more computation needed for some interfaces, e.g.: SLIP, PPP, etc. */ ==== //depot/projects/soc2008/rpaulo-tcpad/linkhdr.h#3 (text+ko) ==== @@ -23,14 +23,14 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/linkhdr.h#2 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/linkhdr.h#3 $ */ #ifndef _LINKHDR_H_ #define _LINKHDR_H_ int linkhdr_headerlen(int dlt); -const unsigned char * - linkhdr_remove(const unsigned char *bytes, unsigned int skip); +unsigned char * + linkhdr_remove(unsigned char *bytes, unsigned int skip); #endif /* _LINKHDR_H_ */ ==== //depot/projects/soc2008/rpaulo-tcpad/verify.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#3 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#4 $ */ #include @@ -32,12 +32,12 @@ #include #include #include -#include -#include +#include #include #include #include #include +#include #include #include @@ -46,9 +46,13 @@ #include "dumper.h" #include "verify.h" + +static void tcpad_verify_topts(const unsigned char *topts, struct tcpcb *tp, + int flags, int direction); + struct tcpc * tcpad_verify_output(struct tcpc *cp, struct tcpc *rcp, const struct ip *ip, - const struct tcphdr *th) + const struct tcphdr *th, const unsigned char *topts) { unsigned int tlen; struct tcpcb *tp; @@ -73,17 +77,19 @@ !(th->th_flags & TH_RST) && !(th->th_flags & TH_FIN)) { if (cp) { if (th->th_seq != tp->iss) { - dumper_error(cp, "connection already being " - "tracked"); + if (tp->t_state != TCPS_TIME_WAIT) { + dumper_error(cp, "connection already " + "being tracked"); + } dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); - return NULL; } else /* It's a SYN retransmit. */ - return cp; + return (cp); } + cp = malloc(sizeof(*cp)); memset(cp, 0, sizeof(*cp)); tp = &cp->tcb; @@ -104,8 +110,13 @@ tp); tp->t_state = TCPS_SYN_SENT; tp->iss = th->th_seq; + tp->snd_una = tp->iss; tp->snd_nxt = tp->iss + 1; tp->snd_wnd = th->th_win; + tp->snd_wl1 = th->th_seq; + tp->snd_wl2 = th->th_ack; + tcpad_verify_topts(topts, tp, th->th_flags, + TCPAD_VERIFY_DIRECTION_OUT); } /* * SYNcronize and ACKnowledge sequence numbers. @@ -113,9 +124,19 @@ else if ((th->th_flags & TH_SYN) && (th->th_flags & TH_ACK)) { switch (tp->t_state) { case TCPS_SYN_RECEIVED: + /* + * tcpcb was already created in the input routine + * when the SYN was transmitted. Fill the remaining + * values. + */ tp->iss = th->th_seq; + tp->snd_una = tp->iss; tp->snd_nxt = tp->iss + 1; tp->snd_wnd = th->th_win; + tp->snd_wl1 = th->th_seq; + tp->snd_wl2 = th->th_ack; + tcpad_verify_topts(topts, tp, th->th_flags, + TCPAD_VERIFY_DIRECTION_OUT); break; } @@ -124,21 +145,24 @@ * ReSeT. ;-) */ else if (th->th_flags & TH_RST) { - if (cp == NULL) return NULL; + /* Ignore unknown RSTs */ + if (cp == NULL) + return (NULL); switch (tp->t_state) { case TCPS_SYN_RECEIVED: - if (SEQ_GEQ(th->th_ack, tp->rcv_nxt)) { - DPRINTF(DEBUG_FSM, "FSM transition: %p " - "SYN_RECEIVED -> CLOSED\n", tp); - LIST_REMOVE(cp, entries); - free(cp); - } else { - dumper_error(cp, "RST: ACK < snd_nxt"); - LIST_REMOVE(cp, entries); - free(cp); - - } + /* + * XXX: We received a RST for a SYN. This end + * was not really in SYN_RECEIVED state, but this + * is a side-effect of creating both virtual endpoints + * when we see a SYN on the wire. + * + * Leave the ACK validation to the input routine. + */ + DPRINTF(DEBUG_FSM, "FSM transition: %p " + "SYN_RECEIVED -> CLOSED\n", tp); + LIST_REMOVE(cp, entries); + free(cp); break; } } @@ -146,6 +170,9 @@ * FINish. */ else if ((th->th_flags & TH_FIN) && (th->th_flags & TH_ACK)) { + if (cp == NULL) + return (NULL); + switch (tp->t_state) { case TCPS_ESTABLISHED: tp->t_state = TCPS_FIN_WAIT_1; @@ -161,6 +188,19 @@ } else if (th->th_flags & TH_ACK) { + if (cp == NULL) + return (NULL); + + switch (tp->t_state) { + case TCPS_ESTABLISHED: + if (th->th_seq != tp->snd_nxt) + printf("wrong seq %u %u\n", th->th_seq, + tp->snd_nxt); + if (th->th_ack != tp->rcv_nxt) + printf("wrong ack %u %u\n", th->th_ack, + tp->rcv_nxt); + break; + } } return (cp); @@ -169,7 +209,7 @@ struct tcpc * tcpad_verify_input(struct tcpc *cp, struct tcpc *rcp, const struct ip *ip, - const struct tcphdr *th) + const struct tcphdr *th, const unsigned char *topts) { struct tcpcb *tp; unsigned int tlen; @@ -212,6 +252,8 @@ tp->irs = th->th_seq; tp->rcv_nxt = tp->irs + 1; tp->rcv_wnd = th->th_win; + tcpad_verify_topts(topts, tp, th->th_flags, + TCPAD_VERIFY_DIRECTION_IN); } /* * SYNcronize and ACKnowledge sequence numbers. @@ -219,18 +261,29 @@ else if ((th->th_flags & TH_SYN) && (th->th_flags & TH_ACK)) { switch (tp->t_state) { case TCPS_SYN_SENT: - if (th->th_ack != tp->iss + 1) { - dumper_error(cp, "ACK != ISS + 1"); + if (SEQ_LEQ(th->th_ack, tp->iss) || + SEQ_GT(th->th_ack, tp->snd_nxt)) { + dumper_error(cp, "SEG.ACK =< ISS or " + "SEG.ACK > SND.NXT"); dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); return (NULL); } - DPRINTF(DEBUG_FSM, "FSM transition: %p SYN_SENT -> " - "ESTABLISHED\n", tp); - tp->t_state = TCPS_ESTABLISHED; + tp->irs = th->th_seq; + tp->rcv_nxt = th->th_seq + 1; tp->rcv_wnd = th->th_win; - tp->irs = th->th_seq; + tp->snd_una = th->th_ack; + if (SEQ_GT(tp->snd_una, tp->iss)) { + tp->t_state = TCPS_ESTABLISHED; + DPRINTF(DEBUG_FSM, "FSM transition: %p " + "SYN_SENT -> ESTABLISHED\n", tp); + } else { + dumper_error(cp, "SYN not acked"); + dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + } break; default: dumper_error(cp, "SYN/ACK received, state != SYN_SENT"); @@ -247,11 +300,14 @@ * ReSeT. ;-) */ else if (th->th_flags & TH_RST) { - if (cp == NULL) return NULL; + /* Ignore unknown RSTs */ + if (cp == NULL) + return (NULL); switch (tp->t_state) { case TCPS_SYN_SENT: - if (SEQ_GEQ(th->th_ack, tp->snd_nxt)) { + if (SEQ_GEQ(th->th_ack, tp->snd_una) && + SEQ_LEQ(th->th_ack, tp->snd_nxt)) { DPRINTF(DEBUG_FSM, "FSM transition: %p " "SYN_SENT -> CLOSED\n", tp); dumper_free(cp); @@ -263,12 +319,18 @@ LIST_REMOVE(cp, entries); free(cp); } + break; + default: + dumper_error(cp, "RST with no known state"); } } /* * FINish. */ else if ((th->th_flags & TH_FIN) && (th->th_flags & TH_ACK)) { + if (cp == NULL) + return (NULL); + switch (tp->t_state) { case TCPS_ESTABLISHED: tp->t_state = TCPS_CLOSE_WAIT; @@ -281,16 +343,30 @@ "FIN_WAIT_2 -> TIME_WAIT\n", tp); break; default: + if (cp) + dumper_error(cp, "FIN with no known state"); break; } } else if (th->th_flags & TH_ACK) { + if (cp == NULL) + return (NULL); + switch (tp->t_state) { case TCPS_SYN_RECEIVED: - tp->t_state = TCPS_ESTABLISHED; - DPRINTF(DEBUG_FSM, "FSM transition: %p SYN_RECEIVED " - "-> ESTABLISHED\n", tp); + if (SEQ_GEQ(th->th_ack, tp->snd_una) && + SEQ_LEQ(th->th_ack, tp->snd_nxt)) { + tp->t_state = TCPS_ESTABLISHED; + DPRINTF(DEBUG_FSM, "FSM transition: %p " + "SYN_RECEIVED -> ESTABLISHED\n", tp); + } else { + dumper_error(cp, "ACK < SND.UNA or " + "ACK > SND.NXT"); + dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + } break; case TCPS_FIN_WAIT_1: tp->t_state = TCPS_FIN_WAIT_2; @@ -309,8 +385,136 @@ LIST_REMOVE(cp, entries); free(cp); break; + case TCPS_ESTABLISHED: + /* SEQ processing */ + if (tlen == 0) { + if (tp->rcv_wnd == 0) { + if (th->th_seq != tp->rcv_nxt) { + dumper_error(cp, "SEQ.SEQ != " + "RCV.NXT"); + dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + } + } else { + if (SEQ_LT(th->th_seq, tp->rcv_nxt) || + SEQ_GEQ(th->th_seq, tp->rcv_nxt + + tp->rcv_wnd)) { + dumper_error(cp, "SEQ.SEQ < " + "RCV.NXT or SEG.SEQ >= " + "RCV.NXT + RCV.WND"); + dumper_free(cp); + } + } + } else { + if (tp->rcv_wnd == 0) { + dumper_error(cp, "SEG.LEN > 0 and " + "RCV.WND == 0"); + dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + return (NULL); + } else { + if (SEQ_LT(th->th_seq + tlen, + tp->rcv_nxt) || + SEQ_GEQ(th->th_seq + tlen, + tp->rcv_nxt + tp->rcv_wnd)) + printf("strange seq\n"); + + + } + + } + /* ACK processing */ + if (SEQ_GEQ(th->th_ack, tp->snd_una) && + SEQ_LEQ(th->th_ack, tp->snd_nxt)) { + tp->snd_una = th->th_ack; + /* update send window */ + if (SEQ_LT(tp->snd_wl1, th->th_seq) || + (tp->snd_wl1 == th->th_seq && + SEQ_LEQ(tp->snd_wl2, th->th_ack))) { + tp->snd_wnd = th->th_win; + tp->snd_wl1 = th->th_seq; + tp->snd_wl2 = th->th_ack; + } + } + break; + default: + if (cp) + dumper_error(cp, "ACK with no known state"); } } return (cp); } + + +static void +tcpad_verify_topts(const unsigned char *topts, struct tcpcb *tp, int flags, + int direction) +{ + int i; + + for (i = 0; i < 40; i++) { + switch (topts[i]) { + case TCPOPT_EOL: + DPRINTF(DEBUG_TOPTS, "EOL option found\n"); + i = 40; + break; + case TCPOPT_NOP: + DPRINTF(DEBUG_TOPTS, "NOP option found\n"); + break; + case TCPOPT_MAXSEG: + if (i < 34 && topts[i+1] == TCPOLEN_MAXSEG) { + uint16_t mss; + + memcpy(&mss, topts+i+2, 2); + mss = ntohs(mss); + DPRINTF(DEBUG_TOPTS, "MSS option " + "found: %d\n", mss); + + if (direction == TCPAD_VERIFY_DIRECTION_OUT && + (flags & (TH_SYN|TH_ACK)) == TH_SYN) { + tp->t_maxseg = mss; + } + + } + i += 3; + break; + case TCPOPT_WINDOW: + if (i < 35 && topts[i+1] == TCPOLEN_WINDOW) { + uint8_t wscale; + memcpy(&wscale, topts+i+2, 1); + DPRINTF(DEBUG_TOPTS, "WSCALE option " + "found: %d\n", wscale); + if (direction == TCPAD_VERIFY_DIRECTION_IN) + tp->rcv_scale = wscale; + else + tp->snd_scale = wscale; + } + i += 2; + break; + case TCPOPT_TIMESTAMP: + if (i < 29 && topts[i+1] == TCPOLEN_TIMESTAMP) { + uint32_t tsval; + uint32_t tsecr; + memcpy(&tsval, topts+i+2, 4); + memcpy(&tsecr, topts+i+6, 4); + DPRINTF(DEBUG_TOPTS, "TIMESTAMP option " + "found: %u %u\n", tsval, tsecr); + } + i += 9; + break; + case TCPOPT_SACK_PERMITTED: + DPRINTF(DEBUG_TOPTS, "SACK_PERM option found\n"); + i += 1; + break; + case TCPOPT_SACK: + DPRINTF(DEBUG_TOPTS, "SACK option found\n"); + i += 1; + break; + default: + DPRINTF(DEBUG_TOPTS, "unkown option: %d\n", topts[i]); + } + } +} ==== //depot/projects/soc2008/rpaulo-tcpad/verify.h#3 (text+ko) ==== @@ -23,10 +23,13 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.h#2 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.h#3 $ */ +#define TCPAD_VERIFY_DIRECTION_IN 0 +#define TCPAD_VERIFY_DIRECTION_OUT 1 + struct tcpc * tcpad_verify_output(struct tcpc *cp, struct tcpc *rcp, - const struct ip *ip, const struct tcphdr *th); + const struct ip *ip, const struct tcphdr *th, const unsigned char *topts); struct tcpc * tcpad_verify_input(struct tcpc *cp, struct tcpc *rcp, - const struct ip *ip, const struct tcphdr *th); + const struct ip *ip, const struct tcphdr *th, const unsigned char *topts); From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:32:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65FED106574C; Mon, 28 Jul 2008 12:32:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFA9F1065699 for ; Mon, 28 Jul 2008 12:32:42 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D6B148FC49 for ; Mon, 28 Jul 2008 12:32:42 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCWguM097007 for ; Mon, 28 Jul 2008 12:32:42 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCWgn9097005 for perforce@freebsd.org; Mon, 28 Jul 2008 12:32:42 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:32:42 GMT Message-Id: <200807281232.m6SCWgn9097005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146110 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:32:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=146110 Change 146110 by rpaulo@rpaulo_epsilon on 2008/07/28 12:32:35 Don't include helper.h Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/timer.c#7 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/timer.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#6 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#7 $ */ #include @@ -43,7 +43,6 @@ #include "debug.h" #include "tcpad.h" #include "timer.h" -#include "helper.h" #include "dumper.h" static void timer_sigalrm(int sig); From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:36:47 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72CDB1065673; Mon, 28 Jul 2008 12:36:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 367221065672 for ; Mon, 28 Jul 2008 12:36:47 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1D2938FC2A for ; Mon, 28 Jul 2008 12:36:47 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCalxQ097395 for ; Mon, 28 Jul 2008 12:36:47 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCal7N097393 for perforce@freebsd.org; Mon, 28 Jul 2008 12:36:47 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:36:47 GMT Message-Id: <200807281236.m6SCal7N097393@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146111 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:36:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=146111 Change 146111 by rpaulo@rpaulo_sigma on 2008/07/28 12:36:07 Add some missing netinet headers. Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/dumper.c#11 edit .. //depot/projects/soc2008/rpaulo-tcpad/handler.c#17 edit .. //depot/projects/soc2008/rpaulo-tcpad/timer.c#8 edit .. //depot/projects/soc2008/rpaulo-tcpad/verify.c#5 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/dumper.c#11 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#10 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/dumper.c#11 $ */ #include @@ -36,6 +36,8 @@ #include #include #include +#include +#include #include #include #include ==== //depot/projects/soc2008/rpaulo-tcpad/handler.c#17 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/handler.c#16 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/handler.c#17 $ */ #include @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include #include ==== //depot/projects/soc2008/rpaulo-tcpad/timer.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#7 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/timer.c#8 $ */ #include @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include #include #include ==== //depot/projects/soc2008/rpaulo-tcpad/verify.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#4 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#5 $ */ #include @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:39:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 443411065678; Mon, 28 Jul 2008 12:39:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 05D84106566C for ; Mon, 28 Jul 2008 12:39:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DEDFB8FC13 for ; Mon, 28 Jul 2008 12:39:53 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCdrCX097596 for ; Mon, 28 Jul 2008 12:39:53 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCdoTs097590 for perforce@freebsd.org; Mon, 28 Jul 2008 12:39:50 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:39:50 GMT Message-Id: <200807281239.m6SCdoTs097590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146112 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:39:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=146112 Change 146112 by rpaulo@rpaulo_zoo on 2008/07/28 12:39:17 IFC Affected files ... .. //depot/projects/tcpecn/Makefile#5 integrate .. //depot/projects/tcpecn/amd64/amd64/bpf_jit_machdep.c#2 integrate .. //depot/projects/tcpecn/amd64/amd64/bpf_jit_machdep.h#2 integrate .. //depot/projects/tcpecn/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/tcpecn/amd64/amd64/machdep.c#5 integrate .. //depot/projects/tcpecn/amd64/amd64/mem.c#3 integrate .. //depot/projects/tcpecn/amd64/amd64/minidump_machdep.c#3 integrate .. //depot/projects/tcpecn/amd64/amd64/mp_machdep.c#4 integrate .. //depot/projects/tcpecn/amd64/amd64/pmap.c#11 integrate .. //depot/projects/tcpecn/amd64/amd64/trap.c#5 integrate .. //depot/projects/tcpecn/amd64/conf/GENERIC#11 integrate .. //depot/projects/tcpecn/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/tcpecn/amd64/include/iodev.h#2 integrate .. //depot/projects/tcpecn/amd64/include/memdev.h#2 integrate .. //depot/projects/tcpecn/amd64/include/param.h#3 integrate .. //depot/projects/tcpecn/amd64/include/pmap.h#4 integrate .. //depot/projects/tcpecn/amd64/include/pmc_mdep.h#3 integrate .. //depot/projects/tcpecn/amd64/include/stack.h#2 integrate .. //depot/projects/tcpecn/amd64/include/vmparam.h#3 integrate .. //depot/projects/tcpecn/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/tcpecn/arm/at91/if_atereg.h#2 integrate .. //depot/projects/tcpecn/arm/include/memdev.h#2 integrate .. //depot/projects/tcpecn/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/tcpecn/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/tcpecn/arm/xscale/i8134x/crb_machdep.c#5 integrate .. //depot/projects/tcpecn/arm/xscale/i8134x/i81342_pci.c#2 integrate .. //depot/projects/tcpecn/arm/xscale/ixp425/avila_machdep.c#3 integrate .. //depot/projects/tcpecn/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/tcpecn/boot/Makefile#3 integrate .. //depot/projects/tcpecn/boot/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/arm/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/efi/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/forth/loader.conf#6 integrate .. //depot/projects/tcpecn/boot/i386/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/tcpecn/boot/i386/libi386/time.c#2 integrate .. //depot/projects/tcpecn/boot/i386/loader/Makefile#2 integrate .. //depot/projects/tcpecn/boot/ia64/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/ia64/common/Makefile#2 integrate .. //depot/projects/tcpecn/boot/ia64/efi/Makefile#2 integrate .. //depot/projects/tcpecn/boot/ia64/ski/Makefile#2 integrate .. //depot/projects/tcpecn/boot/ofw/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/pc98/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/tcpecn/boot/pc98/boot2/README.serial.98#2 delete .. //depot/projects/tcpecn/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/tcpecn/boot/powerpc/Makefile.inc#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#5 integrate .. //depot/projects/tcpecn/boot/sparc64/Makefile.inc#2 integrate .. //depot/projects/tcpecn/boot/sparc64/loader/Makefile#2 integrate .. //depot/projects/tcpecn/boot/uboot/Makefile.inc#1 branch .. //depot/projects/tcpecn/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/tcpecn/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/tcpecn/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/tcpecn/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/tcpecn/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_misc.c#7 integrate .. //depot/projects/tcpecn/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/tcpecn/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/tcpecn/compat/pecoff/imgact_pecoff.c#4 delete .. //depot/projects/tcpecn/compat/pecoff/imgact_pecoff.h#2 delete .. //depot/projects/tcpecn/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/tcpecn/conf/NOTES#12 integrate .. //depot/projects/tcpecn/conf/files#13 integrate .. //depot/projects/tcpecn/conf/files.i386#6 integrate .. //depot/projects/tcpecn/conf/files.pc98#5 integrate .. //depot/projects/tcpecn/conf/kern.mk#4 integrate .. //depot/projects/tcpecn/conf/kern.post.mk#4 integrate .. //depot/projects/tcpecn/conf/kern.pre.mk#5 integrate .. //depot/projects/tcpecn/conf/newvers.sh#3 integrate .. //depot/projects/tcpecn/conf/options#12 integrate .. //depot/projects/tcpecn/conf/options.i386#5 integrate .. //depot/projects/tcpecn/conf/options.pc98#4 integrate .. //depot/projects/tcpecn/contrib/dev/oltr/COPYRIGHT#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/if_oltr.c#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/if_oltr_isa.c#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/if_oltr_pci.c#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/if_oltrvar.h#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/trlld.h#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/trlldbm.c#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/trlldhm.c#2 delete .. //depot/projects/tcpecn/contrib/dev/oltr/trlldmac.c#2 delete .. //depot/projects/tcpecn/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/tcpecn/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/tcpecn/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/tcpecn/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/tcpecn/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/tcpecn/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/tcpecn/crypto/via/padlock.c#2 integrate .. //depot/projects/tcpecn/ddb/db_ps.c#3 integrate .. //depot/projects/tcpecn/dev/aac/aac.c#4 integrate .. //depot/projects/tcpecn/dev/aac/aac_pci.c#4 integrate .. //depot/projects/tcpecn/dev/acpi_support/acpi_asus.c#3 integrate .. //depot/projects/tcpecn/dev/acpica/acpi.c#5 integrate .. //depot/projects/tcpecn/dev/age/if_age.c#3 integrate .. //depot/projects/tcpecn/dev/agp/agp_i810.c#4 integrate .. //depot/projects/tcpecn/dev/amr/amr.c#5 integrate .. //depot/projects/tcpecn/dev/arl/if_arl.c#2 delete .. //depot/projects/tcpecn/dev/arl/if_arl_isa.c#2 delete .. //depot/projects/tcpecn/dev/arl/if_arlreg.h#2 delete .. //depot/projects/tcpecn/dev/ata/ata-chipset.c#7 integrate .. //depot/projects/tcpecn/dev/ata/ata-pci.h#4 integrate .. //depot/projects/tcpecn/dev/atkbdc/psm.c#5 integrate .. //depot/projects/tcpecn/dev/bce/if_bce.c#7 integrate .. //depot/projects/tcpecn/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/tcpecn/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/tcpecn/dev/bm/if_bm.c#2 integrate .. //depot/projects/tcpecn/dev/bm/if_bmreg.h#2 integrate .. //depot/projects/tcpecn/dev/bm/if_bmvar.h#2 integrate .. //depot/projects/tcpecn/dev/ce/ceddk.h#2 integrate .. //depot/projects/tcpecn/dev/ce/if_ce.c#2 integrate .. //depot/projects/tcpecn/dev/ciss/ciss.c#5 integrate .. //depot/projects/tcpecn/dev/ciss/cissio.h#2 integrate .. //depot/projects/tcpecn/dev/ciss/cissreg.h#2 integrate .. //depot/projects/tcpecn/dev/ciss/cissvar.h#2 integrate .. //depot/projects/tcpecn/dev/cnw/if_cnw.c#3 delete .. //depot/projects/tcpecn/dev/cnw/if_cnwioctl.h#2 delete .. //depot/projects/tcpecn/dev/cnw/if_cnwreg.h#2 delete .. //depot/projects/tcpecn/dev/cp/cpddk.h#2 integrate .. //depot/projects/tcpecn/dev/cp/if_cp.c#2 integrate .. //depot/projects/tcpecn/dev/cs/if_cs.c#3 integrate .. //depot/projects/tcpecn/dev/cs/if_csreg.h#3 integrate .. //depot/projects/tcpecn/dev/ctau/ctddk.h#2 integrate .. //depot/projects/tcpecn/dev/ctau/if_ct.c#2 integrate .. //depot/projects/tcpecn/dev/cx/cxddk.h#2 integrate .. //depot/projects/tcpecn/dev/cx/if_cx.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mv88e1xxx.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_tn1010.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#6 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#8 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#7 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_io.c#6 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/tcpecn/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/tcpecn/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/tcpecn/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/tcpecn/dev/esp/ncr53c9xvar.h#2 integrate .. //depot/projects/tcpecn/dev/et/if_et.c#1 branch .. //depot/projects/tcpecn/dev/et/if_etreg.h#1 branch .. //depot/projects/tcpecn/dev/et/if_etvar.h#1 branch .. //depot/projects/tcpecn/dev/ex/if_ex.c#2 integrate .. //depot/projects/tcpecn/dev/ex/if_ex_isa.c#2 integrate .. //depot/projects/tcpecn/dev/ex/if_ex_pccard.c#2 integrate .. //depot/projects/tcpecn/dev/ex/if_exvar.h#2 integrate .. //depot/projects/tcpecn/dev/fe/if_fe.c#3 integrate .. //depot/projects/tcpecn/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/tcpecn/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/tcpecn/dev/fe/if_fe_pccard.c#3 integrate .. //depot/projects/tcpecn/dev/fe/if_fevar.h#3 integrate .. //depot/projects/tcpecn/dev/gem/if_gem.c#5 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/tcpecn/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/tcpecn/dev/iicbus/ds1339.c#1 branch .. //depot/projects/tcpecn/dev/io/iodev.c#2 integrate .. //depot/projects/tcpecn/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/tcpecn/dev/ixgbe/tcp_lro.c#2 delete .. //depot/projects/tcpecn/dev/ixgbe/tcp_lro.h#2 delete .. //depot/projects/tcpecn/dev/jme/if_jme.c#2 integrate .. //depot/projects/tcpecn/dev/k8temp/k8temp.c#3 integrate .. //depot/projects/tcpecn/dev/kbd/kbd.c#3 integrate .. //depot/projects/tcpecn/dev/kbdmux/kbdmux.c#3 integrate .. //depot/projects/tcpecn/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/tcpecn/dev/lmc/if_lmc.h#2 integrate .. //depot/projects/tcpecn/dev/mfi/mfi.c#8 integrate .. //depot/projects/tcpecn/dev/mii/brgphy.c#5 integrate .. //depot/projects/tcpecn/dev/mii/miidevs#9 integrate .. //depot/projects/tcpecn/dev/mii/rgephy.c#3 integrate .. //depot/projects/tcpecn/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/tcpecn/dev/mii/truephy.c#1 branch .. //depot/projects/tcpecn/dev/mii/truephyreg.h#1 branch .. //depot/projects/tcpecn/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/tcpecn/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/tcpecn/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/tcpecn/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/tcpecn/dev/pccard/pccarddevs#3 integrate .. //depot/projects/tcpecn/dev/pci/pci.c#3 integrate .. //depot/projects/tcpecn/dev/pci/pci_pci.c#2 integrate .. //depot/projects/tcpecn/dev/pci/pcivar.h#4 integrate .. //depot/projects/tcpecn/dev/re/if_re.c#7 integrate .. //depot/projects/tcpecn/dev/sbni/if_sbni.c#2 delete .. //depot/projects/tcpecn/dev/sbni/if_sbni_isa.c#2 delete .. //depot/projects/tcpecn/dev/sbni/if_sbni_pci.c#2 delete .. //depot/projects/tcpecn/dev/sbni/if_sbnireg.h#2 delete .. //depot/projects/tcpecn/dev/sbni/if_sbnivar.h#2 delete .. //depot/projects/tcpecn/dev/sbsh/if_sbsh.c#2 delete .. //depot/projects/tcpecn/dev/sbsh/if_sbshreg.h#2 delete .. //depot/projects/tcpecn/dev/smc/if_smc.c#2 integrate .. //depot/projects/tcpecn/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/tcpecn/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/tcpecn/dev/sound/pci/hda/hdac.c#6 integrate .. //depot/projects/tcpecn/dev/syscons/daemon/daemon_saver.c#3 integrate .. //depot/projects/tcpecn/dev/usb/ehci_pci.c#4 integrate .. //depot/projects/tcpecn/dev/usb/if_rum.c#8 integrate .. //depot/projects/tcpecn/dev/usb/ohci.c#4 integrate .. //depot/projects/tcpecn/dev/usb/ugen.c#2 integrate .. //depot/projects/tcpecn/dev/usb/uhid.c#2 integrate .. //depot/projects/tcpecn/dev/usb/usb_ethersubr.c#2 integrate .. //depot/projects/tcpecn/dev/usb/usbdevs#12 integrate .. //depot/projects/tcpecn/dev/usb/uscanner.c#5 integrate .. //depot/projects/tcpecn/dev/vr/if_vr.c#2 integrate .. //depot/projects/tcpecn/dev/vr/if_vrreg.h#2 integrate .. //depot/projects/tcpecn/dev/wi/if_wi.c#4 integrate .. //depot/projects/tcpecn/dev/wpi/if_wpi.c#10 integrate .. //depot/projects/tcpecn/fs/cd9660/cd9660_rrip.c#2 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_rule.c#3 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#8 integrate .. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vnops.c#5 integrate .. //depot/projects/tcpecn/fs/smbfs/smbfs_node.c#5 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/tcpecn/geom/eli/g_eli.c#2 integrate .. //depot/projects/tcpecn/geom/journal/g_journal.c#2 integrate .. //depot/projects/tcpecn/geom/part/g_part.c#5 integrate .. //depot/projects/tcpecn/geom/part/g_part.h#5 integrate .. //depot/projects/tcpecn/geom/part/g_part_apm.c#4 integrate .. //depot/projects/tcpecn/geom/part/g_part_bsd.c#4 integrate .. //depot/projects/tcpecn/geom/part/g_part_gpt.c#4 integrate .. //depot/projects/tcpecn/geom/part/g_part_if.m#3 integrate .. //depot/projects/tcpecn/geom/part/g_part_mbr.c#5 integrate .. //depot/projects/tcpecn/geom/part/g_part_pc98.c#3 integrate .. //depot/projects/tcpecn/geom/part/g_part_vtoc8.c#4 integrate .. //depot/projects/tcpecn/geom/vinum/geom_vinum_drive.c#3 integrate .. //depot/projects/tcpecn/geom/vinum/geom_vinum_rename.c#2 integrate .. //depot/projects/tcpecn/geom/vinum/geom_vinum_subr.c#2 integrate .. //depot/projects/tcpecn/geom/virstor/g_virstor.c#2 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_mountops.c#3 integrate .. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_vnode.c#3 integrate .. //depot/projects/tcpecn/i386/conf/GENERIC#11 integrate .. //depot/projects/tcpecn/i386/conf/GENERIC.hints#4 integrate .. //depot/projects/tcpecn/i386/conf/NOTES#8 integrate .. //depot/projects/tcpecn/i386/i386/bpf_jit_machdep.c#2 integrate .. //depot/projects/tcpecn/i386/i386/bpf_jit_machdep.h#2 integrate .. //depot/projects/tcpecn/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/tcpecn/i386/i386/mp_machdep.c#5 integrate .. //depot/projects/tcpecn/i386/i386/pmap.c#10 integrate .. //depot/projects/tcpecn/i386/ibcs2/ibcs2_socksys.c#2 integrate .. //depot/projects/tcpecn/i386/include/iodev.h#2 integrate .. //depot/projects/tcpecn/i386/include/memdev.h#2 integrate .. //depot/projects/tcpecn/i386/include/pecoff_machdep.h#2 delete .. //depot/projects/tcpecn/i386/include/profile.h#2 integrate .. //depot/projects/tcpecn/ia64/conf/GENERIC#7 integrate .. //depot/projects/tcpecn/ia64/ia64/busdma_machdep.c#3 integrate .. //depot/projects/tcpecn/ia64/ia64/machdep.c#7 integrate .. //depot/projects/tcpecn/ia64/include/ia64_cpu.h#2 integrate .. //depot/projects/tcpecn/ia64/include/memdev.h#2 integrate .. //depot/projects/tcpecn/kern/kern_alq.c#4 integrate .. //depot/projects/tcpecn/kern/kern_conf.c#6 integrate .. //depot/projects/tcpecn/kern/kern_cpuset.c#5 integrate .. //depot/projects/tcpecn/kern/kern_descrip.c#12 integrate .. //depot/projects/tcpecn/kern/kern_dtrace.c#2 integrate .. //depot/projects/tcpecn/kern/kern_environment.c#2 integrate .. //depot/projects/tcpecn/kern/kern_event.c#6 integrate .. //depot/projects/tcpecn/kern/kern_exec.c#7 integrate .. //depot/projects/tcpecn/kern/kern_fork.c#4 integrate .. //depot/projects/tcpecn/kern/kern_intr.c#4 integrate .. //depot/projects/tcpecn/kern/kern_jail.c#6 integrate .. //depot/projects/tcpecn/kern/kern_lock.c#9 integrate .. //depot/projects/tcpecn/kern/kern_lockf.c#5 integrate .. //depot/projects/tcpecn/kern/kern_malloc.c#5 integrate .. //depot/projects/tcpecn/kern/kern_mib.c#6 integrate .. //depot/projects/tcpecn/kern/kern_poll.c#3 integrate .. //depot/projects/tcpecn/kern/kern_proc.c#7 integrate .. //depot/projects/tcpecn/kern/kern_timeout.c#5 integrate .. //depot/projects/tcpecn/kern/kern_umtx.c#7 integrate .. //depot/projects/tcpecn/kern/kern_xxx.c#2 integrate .. //depot/projects/tcpecn/kern/link_elf.c#5 integrate .. //depot/projects/tcpecn/kern/link_elf_obj.c#5 integrate .. //depot/projects/tcpecn/kern/sched_ule.c#9 integrate .. //depot/projects/tcpecn/kern/stack_protector.c#1 branch .. //depot/projects/tcpecn/kern/subr_autoconf.c#4 integrate .. //depot/projects/tcpecn/kern/subr_bus.c#7 integrate .. //depot/projects/tcpecn/kern/subr_lock.c#6 integrate .. //depot/projects/tcpecn/kern/subr_param.c#3 integrate .. //depot/projects/tcpecn/kern/subr_stack.c#3 integrate .. //depot/projects/tcpecn/kern/subr_taskqueue.c#4 integrate .. //depot/projects/tcpecn/kern/subr_witness.c#7 integrate .. //depot/projects/tcpecn/kern/sysv_sem.c#2 integrate .. //depot/projects/tcpecn/kern/tty.c#6 integrate .. //depot/projects/tcpecn/kern/tty_info.c#1 branch .. //depot/projects/tcpecn/kern/uipc_debug.c#3 integrate .. //depot/projects/tcpecn/kern/uipc_sem.c#5 integrate .. //depot/projects/tcpecn/kern/uipc_shm.c#5 integrate .. //depot/projects/tcpecn/kern/uipc_socket.c#6 integrate .. //depot/projects/tcpecn/kern/uipc_usrreq.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_aio.c#4 integrate .. //depot/projects/tcpecn/kern/vfs_bio.c#8 integrate .. //depot/projects/tcpecn/kern/vfs_mount.c#11 integrate .. //depot/projects/tcpecn/kern/vfs_subr.c#12 integrate .. //depot/projects/tcpecn/kern/vfs_syscalls.c#8 integrate .. //depot/projects/tcpecn/libkern/arc4random.c#2 integrate .. //depot/projects/tcpecn/libkern/memset.c#2 integrate .. //depot/projects/tcpecn/mips/adm5120/adm5120_machdep.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/adm5120reg.h#1 branch .. //depot/projects/tcpecn/mips/adm5120/admpci.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/console.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/files.adm5120#1 branch .. //depot/projects/tcpecn/mips/adm5120/if_admsw.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/if_admswreg.h#1 branch .. //depot/projects/tcpecn/mips/adm5120/if_admswvar.h#1 branch .. //depot/projects/tcpecn/mips/adm5120/obio.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/obiovar.h#1 branch .. //depot/projects/tcpecn/mips/adm5120/std.adm5120#1 branch .. //depot/projects/tcpecn/mips/adm5120/uart_bus_adm5120.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/uart_cpu_adm5120.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/uart_dev_adm5120.c#1 branch .. //depot/projects/tcpecn/mips/adm5120/uart_dev_adm5120.h#1 branch .. //depot/projects/tcpecn/mips/idt/files.idt#1 branch .. //depot/projects/tcpecn/mips/idt/idt_machdep.c#1 branch .. //depot/projects/tcpecn/mips/idt/idtpci.c#1 branch .. //depot/projects/tcpecn/mips/idt/idtreg.h#1 branch .. //depot/projects/tcpecn/mips/idt/if_kr.c#1 branch .. //depot/projects/tcpecn/mips/idt/if_krreg.h#1 branch .. //depot/projects/tcpecn/mips/idt/obio.c#1 branch .. //depot/projects/tcpecn/mips/idt/obiovar.h#1 branch .. //depot/projects/tcpecn/mips/idt/std.idt#1 branch .. //depot/projects/tcpecn/mips/idt/uart_bus_rc32434.c#1 branch .. //depot/projects/tcpecn/mips/idt/uart_cpu_rc32434.c#1 branch .. //depot/projects/tcpecn/mips/include/iodev.h#2 integrate .. //depot/projects/tcpecn/mips/include/memdev.h#2 integrate .. //depot/projects/tcpecn/mips/malta/files.malta#1 branch .. //depot/projects/tcpecn/mips/malta/gt.c#1 branch .. //depot/projects/tcpecn/mips/malta/gt_pci.c#1 branch .. //depot/projects/tcpecn/mips/malta/gtreg.h#1 branch .. //depot/projects/tcpecn/mips/malta/gtvar.h#1 branch .. //depot/projects/tcpecn/mips/malta/malta_machdep.c#1 branch .. //depot/projects/tcpecn/mips/malta/maltareg.h#1 branch .. //depot/projects/tcpecn/mips/malta/obio.c#1 branch .. //depot/projects/tcpecn/mips/malta/obiovar.h#1 branch .. //depot/projects/tcpecn/mips/malta/std.malta#1 branch .. //depot/projects/tcpecn/mips/malta/uart_bus_maltausart.c#1 branch .. //depot/projects/tcpecn/mips/malta/uart_cpu_maltausart.c#1 branch .. //depot/projects/tcpecn/mips/malta/yamon.c#1 branch .. //depot/projects/tcpecn/mips/malta/yamon.h#1 branch .. //depot/projects/tcpecn/mips/mips/pmap.c#5 integrate .. //depot/projects/tcpecn/mips/mips32/adm5120/adm5120_machdep.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/adm5120reg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/admpci.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/console.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/files.adm5120#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/if_admsw.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/if_admswreg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/if_admswvar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/obio.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/obiovar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/std.adm5120#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete .. //depot/projects/tcpecn/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/files.idt#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/idt_machdep.c#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/idtpci.c#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/idtreg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/if_kr.c#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/if_krreg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/obio.c#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/obiovar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/std.idt#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/uart_bus_rc32434.c#2 delete .. //depot/projects/tcpecn/mips/mips32/idt/uart_cpu_rc32434.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/files.malta#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/gt.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/gt_pci.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/gtreg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/gtvar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/malta_machdep.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/maltareg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/obio.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/obiovar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/std.malta#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/uart_bus_maltausart.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/uart_cpu_maltausart.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/yamon.c#2 delete .. //depot/projects/tcpecn/mips/mips32/malta/yamon.h#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/files.sentry5#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/obio.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/obiovar.h#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/s5_machdep.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/s5reg.h#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/siba_cc.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/siba_mips.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/siba_sdram.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete .. //depot/projects/tcpecn/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete .. //depot/projects/tcpecn/mips/sentry5/files.sentry5#1 branch .. //depot/projects/tcpecn/mips/sentry5/obio.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/obiovar.h#1 branch .. //depot/projects/tcpecn/mips/sentry5/s5_machdep.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/s5reg.h#1 branch .. //depot/projects/tcpecn/mips/sentry5/siba_cc.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/siba_mips.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/siba_sdram.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/uart_bus_sbusart.c#1 branch .. //depot/projects/tcpecn/mips/sentry5/uart_cpu_sbusart.c#1 branch .. //depot/projects/tcpecn/modules/Makefile#10 integrate .. //depot/projects/tcpecn/modules/accf_dns/Makefile#1 branch .. //depot/projects/tcpecn/modules/arl/Makefile#2 delete .. //depot/projects/tcpecn/modules/ath_rate_amrr/Makefile#3 integrate .. //depot/projects/tcpecn/modules/cnw/Makefile#2 delete .. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#6 integrate .. //depot/projects/tcpecn/modules/et/Makefile#1 branch .. //depot/projects/tcpecn/modules/ixgbe/Makefile#4 integrate .. //depot/projects/tcpecn/modules/mem/Makefile#2 integrate .. //depot/projects/tcpecn/modules/mii/Makefile#5 integrate .. //depot/projects/tcpecn/modules/nfslockd/Makefile#2 integrate .. //depot/projects/tcpecn/modules/oltr/Makefile#2 delete .. //depot/projects/tcpecn/modules/pecoff/Makefile#2 delete .. //depot/projects/tcpecn/modules/ralfw/Makefile#2 integrate .. //depot/projects/tcpecn/modules/sbni/Makefile#2 delete .. //depot/projects/tcpecn/modules/sbsh/Makefile#2 delete .. //depot/projects/tcpecn/modules/sem/Makefile#2 integrate .. //depot/projects/tcpecn/net/bpf.c#8 integrate .. //depot/projects/tcpecn/net/bpf.h#4 integrate .. //depot/projects/tcpecn/net/bpf_buffer.c#2 integrate .. //depot/projects/tcpecn/net/bpf_zerocopy.c#3 integrate .. //depot/projects/tcpecn/net/bpf_zerocopy.h#3 integrate .. //depot/projects/tcpecn/net/if.c#6 integrate .. //depot/projects/tcpecn/net/if_bridge.c#4 integrate .. //depot/projects/tcpecn/net/if_gre.c#4 integrate .. //depot/projects/tcpecn/net/if_gre.h#3 integrate .. //depot/projects/tcpecn/net/if_lagg.c#6 integrate .. //depot/projects/tcpecn/net/if_loop.c#5 integrate .. //depot/projects/tcpecn/net/if_ppp.c#2 integrate .. //depot/projects/tcpecn/net/if_var.h#5 integrate .. //depot/projects/tcpecn/net/if_vlan.c#2 integrate .. //depot/projects/tcpecn/net/netisr.c#3 integrate .. //depot/projects/tcpecn/net/netisr.h#3 integrate .. //depot/projects/tcpecn/net/raw_cb.c#3 integrate .. //depot/projects/tcpecn/net/raw_cb.h#2 integrate .. //depot/projects/tcpecn/net/raw_usrreq.c#2 integrate .. //depot/projects/tcpecn/net/route.c#7 integrate .. //depot/projects/tcpecn/net/rtsock.c#5 integrate .. //depot/projects/tcpecn/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/tcpecn/net80211/ieee80211_ht.c#5 integrate .. //depot/projects/tcpecn/net80211/ieee80211_output.c#5 integrate .. //depot/projects/tcpecn/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/drivers/ubt/TODO#2 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/include/ng_bluetooth.h#3 integrate .. //depot/projects/tcpecn/netgraph/bluetooth/include/ng_btsocket.h#2 integrate .. //depot/projects/tcpecn/netgraph/netgraph.h#5 integrate .. //depot/projects/tcpecn/netgraph/ng_base.c#7 integrate .. //depot/projects/tcpecn/netgraph/ng_iface.c#3 integrate .. //depot/projects/tcpecn/netgraph/ng_ip_input.c#2 integrate .. //depot/projects/tcpecn/netinet/accf_dns.c#1 branch .. //depot/projects/tcpecn/netinet/if_ether.c#5 integrate .. //depot/projects/tcpecn/netinet/in.c#3 integrate .. //depot/projects/tcpecn/netinet/in_pcb.c#6 integrate .. //depot/projects/tcpecn/netinet/in_pcb.h#6 integrate .. //depot/projects/tcpecn/netinet/ip_carp.c#4 integrate .. //depot/projects/tcpecn/netinet/ip_divert.c#3 integrate .. //depot/projects/tcpecn/netinet/ip_gre.c#2 integrate .. //depot/projects/tcpecn/netinet/ip_input.c#5 integrate .. //depot/projects/tcpecn/netinet/libalias/alias.c#5 integrate .. //depot/projects/tcpecn/netinet/libalias/alias_db.c#4 integrate .. //depot/projects/tcpecn/netinet/libalias/alias_ftp.c#3 integrate .. //depot/projects/tcpecn/netinet/raw_ip.c#5 integrate .. //depot/projects/tcpecn/netinet/sctp.h#4 integrate .. //depot/projects/tcpecn/netinet/sctp_asconf.c#4 integrate .. //depot/projects/tcpecn/netinet/sctp_asconf.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_auth.c#3 integrate .. //depot/projects/tcpecn/netinet/sctp_bsd_addr.c#5 integrate .. //depot/projects/tcpecn/netinet/sctp_bsd_addr.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_cc_functions.c#3 integrate .. //depot/projects/tcpecn/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_constants.h#4 integrate .. //depot/projects/tcpecn/netinet/sctp_crc32.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_header.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_indata.c#5 integrate .. //depot/projects/tcpecn/netinet/sctp_indata.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_input.c#5 integrate .. //depot/projects/tcpecn/netinet/sctp_input.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_lock_bsd.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_os_bsd.h#4 integrate .. //depot/projects/tcpecn/netinet/sctp_output.c#6 integrate .. //depot/projects/tcpecn/netinet/sctp_output.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_pcb.c#6 integrate .. //depot/projects/tcpecn/netinet/sctp_pcb.h#4 integrate .. //depot/projects/tcpecn/netinet/sctp_peeloff.c#3 integrate .. //depot/projects/tcpecn/netinet/sctp_sysctl.c#4 integrate .. //depot/projects/tcpecn/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_timer.c#3 integrate .. //depot/projects/tcpecn/netinet/sctp_timer.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_uio.h#3 integrate .. //depot/projects/tcpecn/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/tcpecn/netinet/sctp_var.h#4 integrate .. //depot/projects/tcpecn/netinet/sctputil.c#6 integrate .. //depot/projects/tcpecn/netinet/sctputil.h#4 integrate .. //depot/projects/tcpecn/netinet/tcp_lro.c#1 branch .. //depot/projects/tcpecn/netinet/tcp_lro.h#1 branch .. //depot/projects/tcpecn/netinet/tcp_offload.c#2 integrate .. //depot/projects/tcpecn/netinet/tcp_offload.h#3 integrate .. //depot/projects/tcpecn/netinet/tcp_output.c#6 integrate .. //depot/projects/tcpecn/netinet/tcp_syncache.c#8 integrate .. //depot/projects/tcpecn/netinet/tcp_syncache.h#3 integrate .. //depot/projects/tcpecn/netinet/tcp_timer.c#4 integrate .. //depot/projects/tcpecn/netinet/toedev.h#2 integrate .. //depot/projects/tcpecn/netinet/udp_usrreq.c#5 integrate .. //depot/projects/tcpecn/netinet6/frag6.c#4 integrate .. //depot/projects/tcpecn/netinet6/icmp6.c#5 integrate .. //depot/projects/tcpecn/netinet6/in6.c#6 integrate .. //depot/projects/tcpecn/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/tcpecn/netinet6/in6_pcb.c#5 integrate .. //depot/projects/tcpecn/netinet6/in6_pcb.h#3 integrate .. //depot/projects/tcpecn/netinet6/in6_rmx.c#5 integrate .. //depot/projects/tcpecn/netinet6/in6_src.c#6 integrate .. //depot/projects/tcpecn/netinet6/ip6_forward.c#3 integrate .. //depot/projects/tcpecn/netinet6/ip6_input.c#5 integrate .. //depot/projects/tcpecn/netinet6/ip6_ipsec.c#4 integrate .. //depot/projects/tcpecn/netinet6/ip6_var.h#5 integrate .. //depot/projects/tcpecn/netinet6/raw_ip6.c#6 integrate .. //depot/projects/tcpecn/netinet6/sctp6_usrreq.c#5 integrate .. //depot/projects/tcpecn/netinet6/sctp6_var.h#3 integrate .. //depot/projects/tcpecn/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/tcpecn/netipsec/ipsec.c#6 integrate .. //depot/projects/tcpecn/netipsec/ipsec6.h#3 integrate .. //depot/projects/tcpecn/netipsec/key.c#4 integrate .. //depot/projects/tcpecn/netipsec/keysock.c#2 integrate .. //depot/projects/tcpecn/netipx/ipx_input.c#2 integrate .. //depot/projects/tcpecn/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/tcpecn/netnatm/natm_proto.c#2 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_socket.c#2 integrate .. //depot/projects/tcpecn/nfs4client/nfs4_vfsops.c#7 integrate .. //depot/projects/tcpecn/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/tcpecn/nfsclient/nfs.h#2 integrate .. //depot/projects/tcpecn/nfsclient/nfs_node.c#4 integrate .. //depot/projects/tcpecn/nfsclient/nfs_socket.c#5 integrate .. //depot/projects/tcpecn/nfsclient/nfs_vfsops.c#8 integrate .. //depot/projects/tcpecn/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/tcpecn/nfsclient/nfsmount.h#2 integrate .. //depot/projects/tcpecn/nfsclient/nfsnode.h#4 integrate .. //depot/projects/tcpecn/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/tcpecn/nlm/nlm.h#2 integrate .. //depot/projects/tcpecn/nlm/nlm_advlock.c#1 branch .. //depot/projects/tcpecn/nlm/nlm_prot.h#2 integrate .. //depot/projects/tcpecn/nlm/nlm_prot_clnt.c#2 integrate .. //depot/projects/tcpecn/nlm/nlm_prot_impl.c#4 integrate .. //depot/projects/tcpecn/nlm/nlm_prot_server.c#2 integrate .. //depot/projects/tcpecn/pc98/conf/GENERIC#8 integrate .. //depot/projects/tcpecn/pc98/conf/NOTES#4 integrate .. //depot/projects/tcpecn/pc98/include/bus.h#2 integrate .. //depot/projects/tcpecn/pc98/include/pecoff_machdep.h#2 delete .. //depot/projects/tcpecn/pc98/pc98/busiosubr.c#2 integrate .. //depot/projects/tcpecn/pci/if_rl.c#5 integrate .. //depot/projects/tcpecn/pci/if_rlreg.h#7 integrate .. //depot/projects/tcpecn/pci/nfsmb.c#4 integrate .. //depot/projects/tcpecn/pci/viapm.c#3 integrate .. //depot/projects/tcpecn/powerpc/conf/GENERIC#8 integrate .. //depot/projects/tcpecn/powerpc/include/memdev.h#2 integrate .. //depot/projects/tcpecn/powerpc/powermac/grackle.c#3 integrate .. //depot/projects/tcpecn/powerpc/powermac/macio.c#4 integrate .. //depot/projects/tcpecn/powerpc/powermac/uninorth.c#3 integrate .. //depot/projects/tcpecn/rpc/auth_unix.c#2 integrate .. //depot/projects/tcpecn/rpc/authunix_prot.c#2 integrate .. //depot/projects/tcpecn/rpc/clnt.h#2 integrate .. //depot/projects/tcpecn/rpc/clnt_dg.c#2 integrate .. //depot/projects/tcpecn/rpc/clnt_rc.c#3 integrate .. //depot/projects/tcpecn/rpc/clnt_vc.c#2 integrate .. //depot/projects/tcpecn/rpc/rpcb_clnt.c#2 integrate .. //depot/projects/tcpecn/rpc/rpcclnt.c#3 integrate .. //depot/projects/tcpecn/rpc/svc_vc.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit.c#8 integrate .. //depot/projects/tcpecn/security/audit/audit.h#5 integrate .. //depot/projects/tcpecn/security/audit/audit_arg.c#5 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm.c#5 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm_klib.c#5 integrate .. //depot/projects/tcpecn/security/audit/audit_bsm_token.c#3 integrate .. //depot/projects/tcpecn/security/audit/audit_private.h#3 integrate .. //depot/projects/tcpecn/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/tcpecn/security/audit/audit_trigger.c#4 integrate .. //depot/projects/tcpecn/security/audit/audit_worker.c#8 integrate .. //depot/projects/tcpecn/security/mac/mac_framework.h#4 integrate .. //depot/projects/tcpecn/security/mac/mac_inet.c#4 integrate .. //depot/projects/tcpecn/security/mac/mac_policy.h#4 integrate .. //depot/projects/tcpecn/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/tcpecn/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/tcpecn/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/tcpecn/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/tcpecn/security/mac_stub/mac_stub.c#3 integrate .. //depot/projects/tcpecn/security/mac_test/mac_test.c#4 integrate .. //depot/projects/tcpecn/sparc64/conf/GENERIC#10 integrate .. //depot/projects/tcpecn/sparc64/include/in_cksum.h#2 integrate .. //depot/projects/tcpecn/sparc64/include/memdev.h#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/in_cksum.c#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/tcpecn/sun4v/conf/GENERIC#6 integrate .. //depot/projects/tcpecn/sun4v/include/in_cksum.h#2 integrate .. //depot/projects/tcpecn/sun4v/include/memdev.h#2 integrate .. //depot/projects/tcpecn/sys/_task.h#2 integrate .. //depot/projects/tcpecn/sys/apm.h#2 integrate .. //depot/projects/tcpecn/sys/bus.h#4 integrate .. //depot/projects/tcpecn/sys/conf.h#6 integrate .. //depot/projects/tcpecn/sys/event.h#3 integrate .. //depot/projects/tcpecn/sys/eventhandler.h#4 integrate .. //depot/projects/tcpecn/sys/fcntl.h#4 integrate .. //depot/projects/tcpecn/sys/file.h#5 integrate .. //depot/projects/tcpecn/sys/imgact.h#3 integrate .. //depot/projects/tcpecn/sys/interrupt.h#4 integrate .. //depot/projects/tcpecn/sys/ioctl.h#2 integrate .. //depot/projects/tcpecn/sys/ioctl_compat.h#2 integrate .. //depot/projects/tcpecn/sys/jail.h#3 integrate .. //depot/projects/tcpecn/sys/kernel.h#7 integrate .. //depot/projects/tcpecn/sys/ksem.h#2 integrate .. //depot/projects/tcpecn/sys/libkern.h#2 integrate .. //depot/projects/tcpecn/sys/link_elf.h#2 integrate .. //depot/projects/tcpecn/sys/lockf.h#4 integrate .. //depot/projects/tcpecn/sys/param.h#12 integrate .. //depot/projects/tcpecn/sys/priv.h#4 integrate .. //depot/projects/tcpecn/sys/proc.h#10 integrate .. //depot/projects/tcpecn/sys/refcount.h#2 integrate .. //depot/projects/tcpecn/sys/semaphore.h#2 integrate .. //depot/projects/tcpecn/sys/socket.h#6 integrate .. //depot/projects/tcpecn/sys/socketvar.h#6 integrate .. //depot/projects/tcpecn/sys/sysctl.h#7 integrate .. //depot/projects/tcpecn/sys/systm.h#5 integrate .. //depot/projects/tcpecn/sys/taskqueue.h#3 integrate .. //depot/projects/tcpecn/sys/termios.h#3 integrate .. //depot/projects/tcpecn/sys/ttychars.h#2 delete .. //depot/projects/tcpecn/sys/ttycom.h#3 integrate .. //depot/projects/tcpecn/sys/ttydev.h#2 delete .. //depot/projects/tcpecn/sys/umtx.h#4 integrate .. //depot/projects/tcpecn/sys/user.h#6 integrate .. //depot/projects/tcpecn/sys/vmmeter.h#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_balloc.c#3 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vfsops.c#7 integrate .. //depot/projects/tcpecn/vm/swap_pager.c#5 integrate .. //depot/projects/tcpecn/vm/vm_kern.c#7 integrate .. //depot/projects/tcpecn/vm/vm_kern.h#2 integrate .. //depot/projects/tcpecn/vm/vm_map.c#7 integrate .. //depot/projects/tcpecn/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/tcpecn/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $ +# $FreeBSD: src/sys/Makefile,v 1.51 2008/07/20 09:16:00 maxim Exp $ .include @@ -8,13 +8,16 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom \ - gnu isa kern libkern modules net net80211 netatalk \ +CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \ + geom gnu isa kern libkern modules net net80211 netatalk \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ - netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \ - pci rpc security sys ufs vm ${ARCHDIR} - -ARCHDIR ?= ${MACHINE} + netsmb nfs nfs4client nfsclient nfsserver nlm opencrypto \ + pccard pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR} +.if defined(ALL_ARCH) +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v +.else +CSCOPE_ARCHDIR ?= ${MACHINE} +.endif # Loadable kernel modules ==== //depot/projects/tcpecn/amd64/amd64/bpf_jit_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.4 2006/01/03 20:26:02 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.6 2008/06/24 20:12:12 jkim Exp $"); #include "opt_bpf.h" @@ -132,11 +132,11 @@ /* create the procedure header */ PUSH(RBP); - MOVrq(RBP, RSP); - MOVoqd(RBP, -8, ESI); - MOVoqd(RBP, -12, EDX); + MOVrq(RSP, RBP); + MOVdoq(ESI, -8, RBP); + MOVdoq(EDX, -12, RBP); PUSH(RBX); - MOVrq(RBX, RDI); + MOVrq(RDI, RBX); for (i = 0; i < nins; i++) { stream.bpf_pc++; @@ -146,7 +146,7 @@ return NULL; case BPF_RET|BPF_K: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); POP(RBX); LEAVE_RET(); break; @@ -157,119 +157,119 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_ABS: - ZERO_EAX(); - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LD|BPF_W|BPF_LEN: - MOVodd(EAX, RBP, -8); + MOVoqd(-8, RBP, EAX); break; case BPF_LDX|BPF_W|BPF_LEN: - MOVodd(EDX, RBP, -8); + MOVoqd(-8, RBP, EDX); break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(int)); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(int), ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - MOVobd(EAX, RBX, RSI); + MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; case BPF_LD|BPF_H|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - MOVrd(ESI, ECX); - ADDib(ECX, sizeof(short)); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + MOVrd(ECX, ESI); + ADDib(sizeof(short), ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobw(AX, RBX, RSI); + MOVobw(RBX, RSI, AX); SWAP_AX(); break; case BPF_LD|BPF_B|BPF_IND: - ZERO_EAX(); - MOVid(ECX, ins->k); - ADDrd(ECX, EDX); - CMPodd(ECX, RBP, -12); + ZEROrd(EAX); + MOVid(ins->k, ECX); + ADDrd(EDX, ECX); + CMPoqd(-12, RBP, ECX); JLEb(3); POP(RBX); LEAVE_RET(); - MOVobb(AL, RBX, RCX); + MOVobb(RBX, RCX, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ECX, ins->k); - CMPodd(ECX, RBP, -12); + MOVid(ins->k, ECX); + CMPoqd(-12, RBP, ECX); JLEb(5); - ZERO_EAX(); + ZEROrd(EAX); POP(RBX); LEAVE_RET(); - ZERO_EDX(); - MOVobb(DL, RBX, RCX); - ANDib(DL, 0xf); - SHLib(EDX, 2); + ZEROrd(EDX); + MOVobb(RBX, RCX, DL); + ANDib(0xf, DL); + SHLib(2, EDX); break; case BPF_LD|BPF_IMM: - MOVid(EAX, ins->k); + MOVid(ins->k, EAX); break; case BPF_LDX|BPF_IMM: - MOVid(EDX, ins->k); + MOVid(ins->k, EDX); break; case BPF_LD|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EAX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EAX); break; case BPF_LDX|BPF_MEM: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVobd(EDX, RCX, RSI); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVobd(RCX, RSI, EDX); break; case BPF_ST: @@ -278,15 +278,15 @@ * be optimized if the previous instruction * was already of this type */ - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EAX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EAX, RCX, RSI); break; case BPF_STX: - MOViq(RCX, (uintptr_t)mem); - MOVid(ESI, ins->k * 4); - MOVomd(RCX, RSI, EDX); + MOViq((uintptr_t)mem, RCX); + MOVid(ins->k * 4, ESI); + MOVomd(EDX, RCX, RSI); break; case BPF_JMP|BPF_JA: @@ -295,7 +295,7 @@ break; case BPF_JMP|BPF_JGT|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); /* 5 is the size of the following JMP */ JG(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5 ); @@ -304,7 +304,7 @@ break; case BPF_JMP|BPF_JGE|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JGE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -312,7 +312,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_K: - CMPid(EAX, ins->k); + CMPid(ins->k, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -320,8 +320,8 @@ break; case BPF_JMP|BPF_JSET|BPF_K: - MOVrd(ECX, EAX); - ANDid(ECX, ins->k); + MOVrd(EAX, ECX); + ANDid(ins->k, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -329,7 +329,7 @@ break; case BPF_JMP|BPF_JGT|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JA(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -337,7 +337,7 @@ break; case BPF_JMP|BPF_JGE|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JAE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -345,7 +345,7 @@ break; case BPF_JMP|BPF_JEQ|BPF_X: - CMPrd(EAX, EDX); + CMPrd(EDX, EAX); JE(stream.refs[stream.bpf_pc + ins->jt] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jf] - @@ -353,8 +353,8 @@ break; case BPF_JMP|BPF_JSET|BPF_X: - MOVrd(ECX, EAX); - ANDrd(ECX, EDX); + MOVrd(EAX, ECX); + ANDrd(EDX, ECX); JE(stream.refs[stream.bpf_pc + ins->jf] - stream.refs[stream.bpf_pc] + 5); JMP(stream.refs[stream.bpf_pc + ins->jt] - @@ -362,46 +362,46 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 28 12:42:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75EBC1065674; Mon, 28 Jul 2008 12:42:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 377B81065671 for ; Mon, 28 Jul 2008 12:42:57 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1EB198FC15 for ; Mon, 28 Jul 2008 12:42:57 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SCgvAj097925 for ; Mon, 28 Jul 2008 12:42:57 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SCgvQe097923 for perforce@freebsd.org; Mon, 28 Jul 2008 12:42:57 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 28 Jul 2008 12:42:57 GMT Message-Id: <200807281242.m6SCgvQe097923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146113 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 12:42:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=146113 Change 146113 by rpaulo@rpaulo_zoo on 2008/07/28 12:42:20 Style change. Affected files ... .. //depot/projects/tcpecn/netinet/tcp_var.h#8 edit Differences ... ==== //depot/projects/tcpecn/netinet/tcp_var.h#8 (text+ko) ==== @@ -126,7 +126,7 @@ #define TF_TOE 0x2000000 /* this connection is offloaded */ #define TF_ECN_PERMIT 0x4000000 /* connection ECN-ready */ #define TF_ECN_SND_CWR 0x8000000 /* ECN CWR in queue */ -#define TF_ECN_SND_ECE 0x10000000 /* ECN ECE in queue */ +#define TF_ECN_SND_ECE 0x10000000 /* ECN ECE in queue */ tcp_seq snd_una; /* send unacknowledged */ tcp_seq snd_max; /* highest sequence number sent; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 13:38:54 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F5771065670; Mon, 28 Jul 2008 13:38:54 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42A7F106567E for ; Mon, 28 Jul 2008 13:38:54 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 277468FC19 for ; Mon, 28 Jul 2008 13:38:54 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SDcsAx013199 for ; Mon, 28 Jul 2008 13:38:54 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SDcsuN013197 for perforce@freebsd.org; Mon, 28 Jul 2008 13:38:54 GMT (envelope-from trasz@freebsd.org) Date: Mon, 28 Jul 2008 13:38:54 GMT Message-Id: <200807281338.m6SDcsuN013197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146118 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 13:38:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=146118 Change 146118 by trasz@trasz_traszkan on 2008/07/28 13:37:57 Rework branding, as suggested by rwatson@. There should be no externally visible changes. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#16 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#2 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#16 (text+ko) ==== @@ -48,9 +48,6 @@ - Make 'struct acl' variable size. -- Think about how to make libc implementation - branding, in particular - extensible, - to allow for adding new ACL types. - - Benchmark things. - Add a flag to inode to mark whether the file has ACL; don't try to read ACL extatrr ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_branding.c#4 (text+ko) ==== @@ -54,149 +54,107 @@ } static void -_acl_check_entry(acl_entry_t entry) +_acl_check_entry(const acl_entry_t entry) { assert(entry); assert(entry2acl(entry)->ats_acl.acl_magic == ACL_MAGIC); } +/* + * Return brand of an ACL. + */ int -_acl_is_nfs4(const acl_t acl) +_acl_brand(const acl_t acl) { - if (acl->ats_acl.acl_brand == ACL_BRAND_NFS4) - return (1); - - return (0); + return (acl->ats_acl.acl_brand); } int -_acl_is_posix(const acl_t acl) +_entry_brand(const acl_entry_t entry) { - if (acl->ats_acl.acl_brand == ACL_BRAND_POSIX) - return (1); + _acl_check_entry(entry); - return (0); + return (_acl_brand(entry2acl(entry))); } +/* + * Return 1, iff branding ACL as "brand" is ok. + */ int -_acl_is_unknown(const acl_t acl) +_acl_brand_may_be(const acl_t acl, int brand) { - if (acl->ats_acl.acl_brand == ACL_BRAND_UNKNOWN) + if (_acl_brand(acl) == ACL_BRAND_UNKNOWN) return (1); - return (0); -} - -int -_entry_is_nfs4(const acl_entry_t entry) -{ - _acl_check_entry(entry); - - if (_acl_is_nfs4(entry2acl(entry))) + if (_acl_brand(acl) == brand) return (1); return (0); } int -_entry_is_posix(const acl_entry_t entry) +_entry_brand_may_be(const acl_entry_t entry, int brand) { _acl_check_entry(entry); - if (_acl_is_posix(entry2acl(entry))) - return (1); - - return (0); + return (_acl_brand_may_be(entry2acl(entry), brand)); } -int -_entry_is_unknown(const acl_entry_t entry) +/* + * Brand ACL as "brand". + */ +void +_acl_brand_as(acl_t acl, int brand) { - _acl_check_entry(entry); + assert(_acl_brand_may_be(acl, brand)); - if (_acl_is_unknown(entry2acl(entry))) - return (1); - - return (0); + acl->ats_acl.acl_brand = brand; } -int -_acl_must_be_posix(acl_t acl) +void +_entry_brand_as(const acl_entry_t entry, int brand) { - int type; + _acl_check_entry(entry); - type = acl->ats_acl.acl_brand; - - if (type == ACL_BRAND_POSIX) { - assert(_entry_is_posix(&(acl->ats_acl.acl_entry[3]))); - return (1); - } - - if (type == ACL_BRAND_UNKNOWN) { - acl->ats_acl.acl_brand = ACL_BRAND_POSIX; - assert(_entry_is_posix(&(acl->ats_acl.acl_entry[3]))); - return (1); - } - - return (0); + _acl_brand_as(entry2acl(entry), brand); } int -_acl_must_be_nfs4(acl_t acl) +_acl_type_not_valid_for_acl(const acl_t acl, acl_type_t type) { - int type; + switch (_acl_brand(acl)) { + case ACL_BRAND_NFS4: + if (type == ACL_TYPE_NFS4) + return (0); - type = acl->ats_acl.acl_brand; + break; - if (type == ACL_BRAND_NFS4) { - assert(_entry_is_nfs4(&(acl->ats_acl.acl_entry[3]))); - return (1); - } + case ACL_BRAND_POSIX: + if (type == ACL_TYPE_ACCESS || type == ACL_TYPE_DEFAULT) + return (0); - if (type == ACL_BRAND_UNKNOWN) { - acl->ats_acl.acl_brand = ACL_BRAND_NFS4; - return (1); + break; } - return (0); -} - -int -_entry_must_be_posix(acl_entry_t entry) -{ - _acl_check_entry(entry); - - return (_acl_must_be_posix(entry2acl(entry))); -} - -int -_entry_must_be_nfs4(acl_entry_t entry) -{ - _acl_check_entry(entry); - - return (_acl_must_be_nfs4(entry2acl(entry))); -} - -int -_acl_type_not_valid_for_acl(const acl_t acl, acl_type_t type) -{ - if (_acl_is_nfs4(acl) && type == ACL_TYPE_NFS4) - return (0); - - if (_acl_is_posix(acl) && - (type == ACL_TYPE_ACCESS || type == ACL_TYPE_DEFAULT)) - return (0); - return (-1); } void _acl_brand_from_type(acl_t acl, acl_type_t type) { - if (type == ACL_TYPE_NFS4) { - _acl_must_be_nfs4(acl); - } else { - _acl_must_be_posix(acl); + switch (type) { + case ACL_TYPE_NFS4: + _acl_brand_as(acl, ACL_BRAND_NFS4); + break; + + case ACL_TYPE_ACCESS: + case ACL_TYPE_DEFAULT: + _acl_brand_as(acl, ACL_BRAND_POSIX); + break; + + default: + /* XXX: What to do here? */ + break; } } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_calc_mask.c#3 (text+ko) ==== @@ -50,11 +50,13 @@ acl_t acl_new; int i, mask_mode, mask_num; - if (!_acl_must_be_posix(*acl_p)) { + if (!_acl_brand_may_be(*acl_p, ACL_BRAND_POSIX)) { errno = EINVAL; return (-1); } + _acl_brand_as(*acl_p, ACL_BRAND_POSIX); + /* * (23.4.2.4) requires acl_p to point to a pointer to a valid ACL. * Since one of the primary reasons to use this function would be ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_copy.c#3 (text+ko) ==== @@ -50,19 +50,15 @@ return (-1); } - if (_entry_is_posix(src_d)) { - if (!_entry_must_be_posix(dest_d)) { - errno = EINVAL; - return (-1); - } + /* + * Can we brand the new entry the same as the source entry? + */ + if (!_entry_brand_may_be(dest_d, _entry_brand(src_d))) { + errno = EINVAL; + return (-1); } - if (_entry_is_nfs4(src_d)) { - if (!_entry_must_be_nfs4(dest_d)) { - errno = EINVAL; - return (-1); - } - } + _entry_brand_as(dest_d, _entry_brand(src_d)); dest_d->ae_tag = src_d->ae_tag; dest_d->ae_id = src_d->ae_id; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_delete_entry.c#5 (text+ko) ==== @@ -48,7 +48,8 @@ * * XXX: The proper way would be to remove them by entry number. */ - if (_entry_is_nfs4(a)) { + switch (_entry_brand(a)) { + case ACL_BRAND_NFS4: if (a->ae_tag != b->ae_tag || a->ae_extended != b->ae_extended) return (0); @@ -60,10 +61,10 @@ return (1); - } else { + default: if ((a->ae_tag == b->ae_tag) && (a->ae_id == b->ae_id)) return (1); - } + } return (0); } @@ -85,7 +86,7 @@ acl_int = &acl->ats_acl; - if (_entry_is_nfs4(entry_d) != _acl_is_nfs4(acl)) { + if (_entry_brand(entry_d) != _acl_brand(acl)) { errno = EINVAL; return (-1); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flag.c#2 (text+ko) ==== @@ -111,7 +111,7 @@ return (-1); } - if (!_entry_is_nfs4(entry_d)) { + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { errno = EINVAL; return (-1); } @@ -129,11 +129,13 @@ return (-1); } - if (!_entry_must_be_nfs4(entry_d)) { + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { errno = EINVAL; return (-1); } + _entry_brand_as(entry_d, ACL_BRAND_NFS4); + if (_flag_is_invalid(*flagset_d)) return (-1); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text.c#4 (text+ko) ==== @@ -88,7 +88,7 @@ uid_t id; int error; - assert(_acl_is_posix(aclp)); + assert(_acl_brand(aclp) == ACL_BRAND_POSIX); /* Split into three ':' delimited fields. */ tag = strsep(&entry, ":"); @@ -222,15 +222,26 @@ if (strlen(string_skip_whitespace(entry)) == 0) continue; - if (_acl_is_unknown(acl) && _text_is_nfs4_entry(entry)) - _acl_must_be_nfs4(acl); - else - _acl_must_be_posix(acl); + if (_acl_brand(acl) == ACL_BRAND_UNKNOWN) { + if (_text_is_nfs4_entry(entry)) + _acl_brand_as(acl, ACL_BRAND_NFS4); + else + _acl_brand_as(acl, ACL_BRAND_POSIX); + } - if (_acl_is_nfs4(acl)) + switch (_acl_brand(acl)) { + case ACL_BRAND_NFS4: error = _nfs4_acl_entry_from_text(acl, entry); - else + break; + + case ACL_BRAND_POSIX: error = _posix1e_acl_entry_from_text(acl, entry); + break; + + default: + error = EINVAL; + break; + } if (error) goto error_label; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#3 (text+ko) ==== @@ -205,7 +205,7 @@ if (error) return (error); - assert(_entry_is_nfs4(entry)); + assert(_entry_brand(entry) == ACL_BRAND_NFS4); if (str == NULL) goto truncated_entry; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_get.c#6 (text+ko) ==== @@ -230,7 +230,7 @@ return (-1); } - if (!_entry_is_nfs4(entry_d)) { + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { errno = EINVAL; return (-1); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_set.c#5 (text+ko) ==== @@ -170,10 +170,12 @@ return (-1); } - if (!_entry_must_be_nfs4(entry_d)) { + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { errno = EINVAL; return (-1); } + + _entry_brand_as(entry_d, ACL_BRAND_NFS4); } entry_d->ae_perm = *permset_d; @@ -219,13 +221,25 @@ return (-1); } - if ((tag_type == ACL_OTHER || tag_type == ACL_MASK) && - !_entry_must_be_posix(entry_d)) { - errno = EINVAL; - return (-1); - } else if (tag_type == ACL_EVERYONE && !_entry_must_be_nfs4(entry_d)) { - errno = EINVAL; - return (-1); + switch(tag_type) { + case ACL_OTHER: + case ACL_MASK: + if (!_entry_brand_may_be(entry_d, ACL_BRAND_POSIX)) { + errno = EINVAL; + return (-1); + } + + _entry_brand_as(entry_d, ACL_BRAND_POSIX); + break; + + case ACL_EVERYONE: + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { + errno = EINVAL; + return (-1); + } + + _entry_brand_as(entry_d, ACL_BRAND_NFS4); + break; } switch(tag_type) { @@ -252,11 +266,13 @@ return (-1); } - if (!_entry_must_be_nfs4(entry_d)) { + if (!_entry_brand_may_be(entry_d, ACL_BRAND_NFS4)) { errno = EINVAL; return (-1); } + _entry_brand_as(entry_d, ACL_BRAND_NFS4); + switch (extended) { case ACL_EXTENDED_ALLOW: case ACL_EXTENDED_DENY: ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_strip.c#2 (text+ko) ==== @@ -50,10 +50,7 @@ return (NULL); } - if (_acl_is_nfs4(aclp)) - _acl_must_be_nfs4(newacl); - else - _acl_must_be_posix(newacl); + _acl_brand_as(newacl, ACL_BRAND_NFS4); acl_nfs4_sync_mode_from_acl(&mode, &(aclp->ats_acl)); error = acl_nfs4_sync_acl_from_mode(&(newacl->ats_acl), mode, -1); @@ -74,13 +71,13 @@ acl_tag_t tag; int entry_id, have_mask_entry; - assert(_acl_is_posix(aclp)); + assert(_acl_brand(aclp) == ACL_BRAND_POSIX); acl_old = acl_dup(aclp); if (acl_old == NULL) err(1, "acl_dup() failed"); - assert(_acl_is_posix(aclp)); + assert(_acl_brand(acl_old) == ACL_BRAND_POSIX); have_mask_entry = 0; acl_new = acl_init(ACL_MAX_ENTRIES); @@ -93,7 +90,7 @@ while (acl_get_entry(acl_old, entry_id, &entry) == 1) { entry_id = ACL_NEXT_ENTRY; - assert(_entry_is_posix(entry)); + assert(_entry_brand(entry) == ACL_BRAND_POSIX); if (acl_get_tag_type(entry, &tag) == -1) err(1, "acl_get_tag_type() failed"); @@ -114,7 +111,7 @@ err(1, "acl_get_permset() failed"); if (acl_copy_entry(entry_new, entry) == -1) err(1, "acl_copy_entry() failed"); - assert(_entry_is_posix(entry_new)); + assert(_entry_brand(entry_new) == ACL_BRAND_POSIX); break; case ACL_MASK: have_mask_entry = 1; @@ -124,7 +121,7 @@ } } - assert(_acl_is_posix(acl_new)); + assert(_acl_brand(acl_new) == ACL_BRAND_POSIX); if (have_mask_entry && recalculate_mask) { if (acl_calc_mask(&acl_new) == -1) @@ -137,10 +134,17 @@ acl_t acl_strip_np(const acl_t aclp, int recalculate_mask) { - if (_acl_is_nfs4(aclp)) + switch (_acl_brand(aclp)) { + case ACL_BRAND_NFS4: return (_nfs4_acl_strip_np(aclp, recalculate_mask)); - return (_posix1e_acl_strip_np(aclp, recalculate_mask)); + case ACL_BRAND_POSIX: + return (_posix1e_acl_strip_np(aclp, recalculate_mask)); + + default: + errno = EINVAL; + return (NULL); + } } /* @@ -154,28 +158,36 @@ acl_is_trivial_np(acl_t aclp) { acl_t tmpacl; + int differs; - if (_acl_is_posix(aclp)) { + switch (_acl_brand(aclp)) { + case ACL_BRAND_POSIX: if (aclp->ats_acl.acl_cnt == 3) return (1); return (0); - } + + case ACL_BRAND_NFS4: + /* + * Calculate trivial ACL - using acl_strip_np - and compare + * with the original. + */ + tmpacl = acl_strip_np(aclp, 0); + /* XXX: This sucks. Can this happen at all? */ + if (tmpacl == NULL) + return (0); - /* - * Calculate trivial ACL - using acl_strip_np - and compare - * with the original. - */ - tmpacl = acl_strip_np(aclp, 0); - /* XXX: This sucks. Can this happen at all? */ - if (tmpacl == NULL) - return (0); + differs = _acl_differs(aclp, tmpacl); + acl_free(tmpacl); - if (_acl_differs(aclp, tmpacl)) - return (0); + if (differs) + return (0); - acl_free(tmpacl); + return (1); - return (1); + default: + errno = EINVAL; + return (0); + } } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#4 (text+ko) ==== @@ -77,6 +77,10 @@ int i; struct acl_entry *entrya, *entryb; + assert(_acl_brand(a) == _acl_brand(b)); + assert(_acl_brand(a) != ACL_BRAND_UNKNOWN); + assert(_acl_brand(b) != ACL_BRAND_UNKNOWN); + if (a->ats_acl.acl_cnt != b->ats_acl.acl_cnt) return (1); @@ -106,8 +110,8 @@ static int _posix1e_acl_entry_compare(struct acl_entry *a, struct acl_entry *b) { - assert(_entry_is_posix(a)); - assert(_entry_is_posix(b)); + assert(_entry_brand(a) == ACL_BRAND_POSIX); + assert(_entry_brand(b) == ACL_BRAND_POSIX); /* * First, sort between tags -- conveniently defined in the correct @@ -152,7 +156,7 @@ acl_int = &acl->ats_acl; /* XXX: */ - assert(_entry_is_posix(&(acl->ats_acl.acl_entry[3]))); + assert(_entry_brand(&(acl->ats_acl.acl_entry[3])) == ACL_BRAND_POSIX); qsort(&acl_int->acl_entry[0], acl_int->acl_cnt, sizeof(struct acl_entry), (compare) _posix1e_acl_entry_compare); @@ -168,7 +172,7 @@ int _posix1e_acl(acl_t acl, acl_type_t type) { - if (!_acl_is_posix(acl)) + if (_acl_brand(acl) != ACL_BRAND_POSIX) return (0); return ((type == ACL_TYPE_ACCESS) || (type == ACL_TYPE_DEFAULT)); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#5 (text+ko) ==== @@ -37,18 +37,14 @@ int _acl_type_unold(acl_type_t type); int _acl_differs(const acl_t a, const acl_t b); -int _acl_is_nfs4(const acl_t acl); -int _acl_is_posix(const acl_t acl); -int _acl_is_unknown(const acl_t acl); -int _entry_is_nfs4(const acl_entry_t entry); -int _entry_is_posix(const acl_entry_t entry); -int _entry_is_unknown(const acl_entry_t entry); -int _acl_must_be_posix(acl_t acl); -int _acl_must_be_nfs4(acl_t acl); -int _entry_must_be_posix(acl_entry_t entry); -int _entry_must_be_nfs4(acl_entry_t entry); int _acl_type_not_valid_for_acl(const acl_t acl, acl_type_t type); void _acl_brand_from_type(acl_t acl, acl_type_t type); +int _acl_brand(const acl_t acl); +int _entry_brand(const acl_entry_t entry); +int _acl_brand_may_be(const acl_t acl, int brand); +int _entry_brand_may_be(const acl_entry_t entry, int brand); +void _acl_brand_as(acl_t acl, int brand); +void _entry_brand_as(const acl_entry_t entry, int brand); int _posix1e_acl_check(acl_t acl); int _posix1e_acl_sort(acl_t acl); int _posix1e_acl(acl_t acl, acl_type_t type); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#4 (text+ko) ==== @@ -242,10 +242,17 @@ char * acl_to_text_np(acl_t acl, ssize_t *len_p, int verbose) { - if (_acl_is_nfs4(acl)) + switch (_acl_brand(acl)) { + case ACL_BRAND_POSIX: + return (_posix1e_acl_to_text(acl, len_p)); + + case ACL_BRAND_NFS4: return (_nfs4_acl_to_text_np(acl, len_p, verbose)); - return (_posix1e_acl_to_text(acl, len_p)); + default: + errno = EINVAL; + return (NULL); + } } char * ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#4 (text+ko) ==== @@ -138,7 +138,7 @@ acl_permset_t permset; acl_flagset_t flagset; - assert(_entry_is_nfs4(entry)); + assert(_entry_brand(entry) == ACL_BRAND_NFS4); if (acl_get_flagset_np(entry, &flagset)) return (0); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_valid.c#3 (text+ko) ==== @@ -63,7 +63,7 @@ return (-1); } - if (_acl_is_nfs4(acl)) { + if (!_acl_brand_may_be(acl, ACL_BRAND_POSIX)) { errno = EINVAL; return (-1); } From owner-p4-projects@FreeBSD.ORG Mon Jul 28 13:47:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D013E1065676; Mon, 28 Jul 2008 13:47:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93D401065672 for ; Mon, 28 Jul 2008 13:47:02 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 798338FC12 for ; Mon, 28 Jul 2008 13:47:02 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SDl2ef013868 for ; Mon, 28 Jul 2008 13:47:02 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SDl2ip013866 for perforce@freebsd.org; Mon, 28 Jul 2008 13:47:02 GMT (envelope-from trasz@freebsd.org) Date: Mon, 28 Jul 2008 13:47:02 GMT Message-Id: <200807281347.m6SDl2ip013866@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146119 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 13:47:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=146119 Change 146119 by trasz@trasz_traszkan on 2008/07/28 13:46:56 Rename acl_flags_nfs4.c to acl_support_nfs4.c. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flags_nfs4.c#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_flags_nfs4.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#1 add .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/Makefile.inc#5 (text+ko) ==== @@ -9,7 +9,6 @@ acl_delete_entry.c \ acl_entry.c \ acl_flag.c \ - acl_flags_nfs4.c \ acl_free.c \ acl_from_text.c \ acl_from_text_nfs4.c \ @@ -19,6 +18,7 @@ acl_set.c \ acl_strip.c \ acl_support.c \ + acl_support_nfs4.c \ acl_to_text.c \ acl_to_text_nfs4.c \ acl_valid.c \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_from_text_nfs4.c#4 (text+ko) ==== @@ -39,7 +39,6 @@ #include #include -#include "acl_flags_nfs4.h" #include "acl_support.h" #define MAX_ENTRY_LENGTH 512 ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#6 (text+ko) ==== @@ -45,6 +45,10 @@ int _entry_brand_may_be(const acl_entry_t entry, int brand); void _acl_brand_as(acl_t acl, int brand); void _entry_brand_as(const acl_entry_t entry, int brand); +int _nfs4_format_flags(char *str, size_t size, uint32_t var, int verbose); +int _nfs4_format_access_mask(char *str, size_t size, uint32_t var, int verbose); +int _nfs4_parse_flags(const char *str, uint32_t *var); +int _nfs4_parse_access_mask(const char *str, uint32_t *var); int _posix1e_acl_check(acl_t acl); int _posix1e_acl_sort(acl_t acl); int _posix1e_acl(acl_t acl, acl_type_t type); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#5 (text+ko) ==== @@ -38,7 +38,6 @@ #include #include "acl_support.h" -#include "acl_flags_nfs4.h" #define MAX_ENTRY_LENGTH 512 From owner-p4-projects@FreeBSD.ORG Mon Jul 28 13:57:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDAAD106567F; Mon, 28 Jul 2008 13:57:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C34F1065671 for ; Mon, 28 Jul 2008 13:57:13 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 801288FC2C for ; Mon, 28 Jul 2008 13:57:13 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SDvDWF014704 for ; Mon, 28 Jul 2008 13:57:13 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SDvCrE014702 for perforce@freebsd.org; Mon, 28 Jul 2008 13:57:12 GMT (envelope-from trasz@freebsd.org) Date: Mon, 28 Jul 2008 13:57:12 GMT Message-Id: <200807281357.m6SDvCrE014702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146121 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 13:57:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=146121 Change 146121 by trasz@trasz_traszkan on 2008/07/28 13:56:45 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ipsend/iptests.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ipsend/sock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/lib/printnat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n12#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni1.nat#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni2.nat#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni4.nat#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/tools/ipnat_y.y#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/Makefile.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/Makefile.inc#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/buildpkg.sh.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/config.sub#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/configure.ac#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/install-sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/mdoc2man.awk#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/nchan.ms#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/nchan2.ms#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/Makefile.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/regress/Makefile.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/regress/closefromtest.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/regress/snprintftest.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/regress/strduptest.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openbsd-compat/regress/strtonumtest.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/openssh.xml.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/opensshd.init.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/README.regress#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/agent-getpeereid.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/agent-ptrace.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/agent-timeout.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/agent.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/banner.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/broken-pipe.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/brokenkeys.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/bsd.regress.mk#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/cfgmatch.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/cipher-speed.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/connect-privsep.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/connect.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/copy.1#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/copy.2#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/dsa_ssh2.prv#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/dsa_ssh2.pub#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/dynamic-forward.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/envpass.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/exit-status.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/forcecommand.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/forwarding.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/keygen-change.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/keyscan.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/login-timeout.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/multiplex.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/proto-mismatch.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/proto-version.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/proxy-connect.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/reconfigure.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/reexec.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/rekey.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/rsa_openssh.prv#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/rsa_openssh.pub#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/rsa_ssh2.prv#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/runtests.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/scp-ssh-wrapper.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/scp.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sftp-badcmds.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sftp-batch.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sftp-cmds.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sftp-glob.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sftp.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/ssh-com-client.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/ssh-com-keygen.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/ssh-com-sftp.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/ssh-com.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/sshd-log-wrapper.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/stderr-after-eof.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/stderr-data.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/t4.ok#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/t5.ok#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/test-exec.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/transfer.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/try-ciphers.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/regress/yes-head.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/scard/Makefile.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/scard/Ssh.bin#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/scard/Ssh.bin.uu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/scard/Ssh.java#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/ssh_prng_cmds.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/crypto/openssh/survey.sh.in#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.resume#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/remote#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/sgtty.h#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/include/stdlib.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Makefile.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Symbol.map#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/mktemp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/setfib.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libkvm/kvm_mips.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/login.conf.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/login_cap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/login_class.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ipfw/ipfw.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/mksnap_ffs/mksnap_ffs.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/secure/lib/libcrypto/opensslconf-mips.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ddb.4#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/wi.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/sysctl.9#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/sysctl_add_oid.9#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/bsd-family-tree#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-ports.dot#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-src.dot#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/mk/bsd.sys.mk#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/kern.mk#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/atkbdc/psm.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/esp/ncr53c9xvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/jme/if_jme.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_raid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ugen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/uhid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/profile.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_environment.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exec.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_fork.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_lock.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_proc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_autoconf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_lock.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_info.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/libkern/arc4random.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/mem/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/bpf_buffer.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_gre.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/route.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_offload.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/raw_ip6.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/ipsec.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipx/ipx_input.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs4client/nfs4_socket.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vfsops.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/auth_unix.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/rpcclnt.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm_token.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_syscalls.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_trigger.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/kernel.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/proc.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/refcount.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/socket.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sysctl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendars/calendar.freebsd#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/gzip.1#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/gzip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ldd/ldd.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/procstat/procstat.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.1#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/ndiscvt/ndisgen.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/rtadvd/rtadvd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/rtsold/rtsold.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/setfib/setfib.c#3 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.153 2008/07/19 18:21:52 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.154 2008/07/25 12:37:46 ed Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080725: sgtty.h removed +OLD_FILES+=usr/include/sgtty.h # 20080719: sade(8) removed on all but amd64, i386 and sparc64 .if ${TARGET_ARCH} != "amd64" && ${TARGET_ARCH} != "i386" && \ ${TARGET_ARCH} != "sparc64" ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#5 (text+ko) ==== @@ -26,7 +26,7 @@ The sio(4) driver has been removed from the i386 and amd64 kernel configuration files. This means uart(4) is now the default serial port driver on those platforms as well. - + To prevent collisions with the sio(4) driver, the uart(4) driver uses different names for its device nodes. This means the onboard serial port will now most likely be called "ttyu0" @@ -40,7 +40,7 @@ 20080603: The version that Linuxulator emulates was changed from 2.4.2 to 2.6.16. If you experience any problems with Linux binaries - please try to set sysctl compat.linux.osrelease to 2.4.2 and + please try to set sysctl compat.linux.osrelease to 2.4.2 and if it fixes the problem contact emulation mailing list. 20080525: @@ -49,7 +49,7 @@ 20080509: I have checked in code to support multiple routing tables. - see the man pages setfib(1) and setfib(2). + See the man pages setfib(1) and setfib(2). This is a hopefully backwards compatible version, but to make use of it you need to compile your kernel with options ROUTETABLES=2 (or more up to 16). @@ -343,9 +343,9 @@ replace it as a more portable (and re-entrant) API. 20070224: - To support interrupt filtering a modification to the newbus API + To support interrupt filtering a modification to the newbus API has occurred, ABI was broken and __FreeBSD_version was bumped - to 700031. Please make sure that your kernel and modules are in + to 700031. Please make sure that your kernel and modules are in sync. For more info: http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941 @@ -404,8 +404,8 @@ 'hw.pci.enable_msix' tunables to 0 in the loader. 20061205: - The removal of several facets of the experimental Threading - system from the kernel means that the proc and thread structures + The removal of several facets of the experimental Threading + system from the kernel means that the proc and thread structures have changed quite a bit. I suggest all kernel modules that might reference these structures be recompiled.. Especially the linux module. @@ -457,7 +457,7 @@ The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having a lock_object embedded in it. As a consequence all file system - kernel modules must be re-compiled. The mutex profiling man page + kernel modules must be re-compiled. The mutex profiling man page has not yet been updated to reflect this change. 20061026: @@ -506,7 +506,7 @@ after updating the kernel sources and compiling a new kernel, the i4b user space tools in "/usr/src/usr.sbin/i4b" must also be rebuilt, and vice versa. - + 20060627: The XBOX kernel now defaults to the nfe(4) driver instead of the nve(4) driver. Please update your configuration @@ -588,7 +588,7 @@ 20060201: The kernel ABI to file system modules was changed on i386. Please make sure that your kernel and modules are in sync. - + 20060118: This actually occured some time ago, but installing the kernel now also installs a bunch of symbol files for the kernel modules. @@ -1078,4 +1078,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.535 2008/07/13 07:20:14 ed Exp $ +$FreeBSD: src/UPDATING,v 1.537 2008/07/25 09:30:53 maxim Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.6 2007/10/18 21:52:11 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.7 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 1993-2001 by Darren Reed. @@ -801,3 +801,18 @@ { return 0; } + + +u_32_t ipf_random() +{ + static int seeded = 0; + + /* + * Choose a non-random seed so that "randomness" can be "tested." + */ + if (seeded == 0) { + srand(0); + seeded = 1; + } + return rand(); +} ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ipsend/iptests.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ipsend/iptests.c,v 1.14 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ipsend/iptests.c,v 1.15 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 1993-1998 by Darren Reed. @@ -24,6 +24,7 @@ #if !defined(__osf__) # ifdef __NetBSD__ # include +# include # endif # define _KERNEL # define KERNEL ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ipsend/sock.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ipsend/sock.c,v 1.19 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ipsend/sock.c,v 1.21 2008/07/24 12:35:05 darrenr Exp $ */ /* * sock.c (C) 1995-1998 Darren Reed * @@ -32,16 +32,25 @@ #if !defined(__osf__) # ifdef __NetBSD__ # include +# include +# endif +# ifdef __FreeBSD__ +# define _WANT_FILE +# else +# define _KERNEL +# define KERNEL # endif -# define _KERNEL -# define KERNEL # ifdef ultrix # undef LOCORE # include # endif # include -# undef _KERNEL -# undef KERNEL +# ifdef __FreeBSD__ +# undef _WANT_FILE +# else +# undef _KERNEL +# undef KERNEL +# endif #endif #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/lib/printnat.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/lib/printnat.c,v 1.5 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/lib/printnat.c,v 1.6 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 2002-2005 by Darren Reed. @@ -217,6 +217,8 @@ putchar(' '); printproto(pr, np->in_p, np); } + if (np->in_flags & IPN_SEQUENTIAL) + printf(" sequential"); printf("\n"); if (opts & OPT_DEBUG) { struct in_addr nip; ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n12#2 (text+ko) ==== @@ -1,1 +1,1 @@ -map le0 192.168.126.0/24 -> 0/32 portmap tcp/udp 10000:20000 +map le0 192.168.126.0/24 -> 0/32 portmap tcp/udp 10000:20000 sequential ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n2#2 (text+ko) ==== @@ -1,4 +1,4 @@ -map zx0 10.1.1.1/32 -> 10.2.2.2/32 portmap tcp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 -map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 +map zx0 10.1.1.1/32 -> 10.2.2.2/32 portmap tcp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 sequential +map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 sequential ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/n5#2 (text+ko) ==== @@ -1,6 +1,6 @@ map zx0 10.1.1.1/32 -> 10.2.2.2/32 map zx0 from 10.1.1.0/24 to 10.1.0.0/16 -> 10.3.4.5/32 map zx0 from 10.1.1.0/24 ! to 10.1.0.0/16 -> 10.3.4.0/24 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 -map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 sequential +map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 sequential ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni1.nat#2 (text+ko) ==== @@ -1,3 +1,3 @@ -map df0 from 2.2.2.2/32 port 20000 >< 25000 to any -> 6.6.6.8/32 portmap udp 2000:2500 -map df0 from 2.2.2.2/32 port 2000 >< 2500 to any -> 6.6.6.7/32 portmap udp 20000:25000 +map df0 from 2.2.2.2/32 port 20000 >< 25000 to any -> 6.6.6.8/32 portmap udp 2000:2500 sequential +map df0 from 2.2.2.2/32 port 2000 >< 2500 to any -> 6.6.6.7/32 portmap udp 20000:25000 sequential map df0 from 2.2.2.2/32 to any -> 6.6.6.6/32 ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni2.nat#2 (text+ko) ==== @@ -1,1 +1,1 @@ -map xl0 10.0.0.0/8 -> 1.1.1.1/32 portmap tcp/udp 40000:60000 +map xl0 10.0.0.0/8 -> 1.1.1.1/32 portmap tcp/udp 40000:60000 sequential ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/test/regress/ni4.nat#2 (text+ko) ==== @@ -1,1 +1,1 @@ -map df0 2.2.2.2/32 -> 6.6.6.6/32 portmap tcp/udp 40000:60000 +map df0 2.2.2.2/32 -> 6.6.6.6/32 portmap tcp/udp 40000:60000 sequential ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/tools/ipnat_y.y#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/tools/ipnat_y.y,v 1.6 2007/10/18 21:52:13 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/tools/ipnat_y.y,v 1.7 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 2001-2006 by Darren Reed. @@ -95,7 +95,7 @@ %token IPNY_MAP IPNY_BIMAP IPNY_FROM IPNY_TO IPNY_MASK IPNY_PORTMAP IPNY_ANY %token IPNY_ROUNDROBIN IPNY_FRAG IPNY_AGE IPNY_ICMPIDMAP IPNY_PROXY %token IPNY_TCP IPNY_UDP IPNY_TCPUDP IPNY_STICKY IPNY_MSSCLAMP IPNY_TAG -%token IPNY_TLATE +%token IPNY_TLATE IPNY_SEQUENTIAL %type portspec %type hexnumber compare range proto %type hostname ipv4 @@ -422,11 +422,11 @@ ; mapport: - IPNY_PORTMAP tcpudp portspec ':' portspec + IPNY_PORTMAP tcpudp portspec ':' portspec randport { nat->in_pmin = htons($3); nat->in_pmax = htons($5); } - | IPNY_PORTMAP tcpudp IPNY_AUTO + | IPNY_PORTMAP tcpudp IPNY_AUTO randport { nat->in_flags |= IPN_AUTOPORTMAP; nat->in_pmin = htons(1024); nat->in_pmax = htons(65535); @@ -446,6 +446,10 @@ } ; +randport: + | IPNY_SEQUENTIAL { nat->in_flags |= IPN_SEQUENTIAL; } + ; + sobject: saddr | saddr port portstuff { nat->in_sport = $3.p1; @@ -519,6 +523,7 @@ nattag: | IPNY_TAG YY_STR { strncpy(nat->in_tag.ipt_tag, $2, sizeof(nat->in_tag.ipt_tag)); } + rr: | IPNY_ROUNDROBIN { nat->in_flags |= IPN_ROUNDR; } ; @@ -647,6 +652,7 @@ { "range", IPNY_RANGE }, { "rdr", IPNY_RDR }, { "round-robin",IPNY_ROUNDROBIN }, + { "sequential", IPNY_SEQUENTIAL }, { "sticky", IPNY_STICKY }, { "tag", IPNY_TAG }, { "tcp", IPNY_TCP }, ==== //depot/projects/soc2008/trasz_nfs4acl/etc/rc.resume#2 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.resume,v 1.8 2007/06/21 22:50:36 njl Exp $ +# $FreeBSD: src/etc/rc.resume,v 1.9 2008/07/21 22:55:40 thompsa Exp $ # # sample run command file for APM Resume Event @@ -50,7 +50,7 @@ # If a device driver has problems resuming, try unloading it before # suspend and reloading it on resume. Example: -# kldunload usb +# kldload usb # wpa_supplicant(8) doesn't seem to reassociate during resume. Uncomment # the following to signal it to reassociate. ==== //depot/projects/soc2008/trasz_nfs4acl/etc/remote#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/remote,v 1.17 2008/07/19 19:08:22 marcel Exp $ +# $FreeBSD: src/etc/remote,v 1.18 2008/07/21 22:38:00 marcel Exp $ # # @(#)remote 5.2 (Berkeley) 6/30/90 # @@ -58,11 +58,11 @@ cuau0c|cua0c:dv=/dev/cuau0:br#9600:pa=none: # Finger friendly shortcuts -uart0|sio0|com1:dv=/dev/cuau0:br#9600:pa=none: -uart1|sio1|com2:dv=/dev/cuau1:br#9600:pa=none: -uart2|sio2|com3:dv=/dev/cuau2:br#9600:pa=none: -uart3|sio3|com4:dv=/dev/cuau3:br#9600:pa=none: -uart4|sio4|com5:dv=/dev/cuau4:br#9600:pa=none: -uart5|sio5|com6:dv=/dev/cuau5:br#9600:pa=none: -uart6|sio6|com7:dv=/dev/cuau6:br#9600:pa=none: -uart7|sio7|com8:dv=/dev/cuau7:br#9600:pa=none: +uart0|com1:dv=/dev/cuau0:br#9600:pa=none: +uart1|com2:dv=/dev/cuau1:br#9600:pa=none: +uart2|com3:dv=/dev/cuau2:br#9600:pa=none: +uart3|com4:dv=/dev/cuau3:br#9600:pa=none: +uart4|com5:dv=/dev/cuau4:br#9600:pa=none: +uart5|com6:dv=/dev/cuau5:br#9600:pa=none: +uart6|com7:dv=/dev/cuau6:br#9600:pa=none: +uart7|com8:dv=/dev/cuau7:br#9600:pa=none: ==== //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#6 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.268 2008/07/14 18:45:06 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.269 2008/07/22 14:21:56 maxim Exp $ % ======================================================================= || || @@ -56688,7 +56688,7 @@ -- The Best of Will Rogers % Why don't you fix your little problem... and light this candle? - -- Alan Shepherd, the first man into space, Gemini program + -- Alan Shepard, the first American into space, Gemini program % Why, every one as they like; as the good woman said when she kissed her cow. ==== //depot/projects/soc2008/trasz_nfs4acl/include/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.280 2008/06/17 06:26:29 davidxu Exp $ +# $FreeBSD: src/include/Makefile,v 1.281 2008/07/25 12:37:46 ed Exp $ # # Doing a "make install" builds /usr/include. @@ -18,7 +18,7 @@ netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \ printf.h proc_service.h pthread.h \ pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h regexp.h \ - res_update.h resolv.h runetype.h search.h setjmp.h sgtty.h \ + res_update.h resolv.h runetype.h search.h setjmp.h \ signal.h spawn.h stab.h \ stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \ strings.h sysexits.h tar.h tgmath.h \ ==== //depot/projects/soc2008/trasz_nfs4acl/include/stdlib.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)stdlib.h 8.5 (Berkeley) 5/19/95 - * $FreeBSD: src/include/stdlib.h,v 1.65 2007/07/04 00:00:38 scf Exp $ + * $FreeBSD: src/include/stdlib.h,v 1.67 2008/07/22 11:40:42 ache Exp $ */ #ifndef _STDLIB_H_ @@ -235,8 +235,11 @@ __uint32_t arc4random(void); -void arc4random_addrandom(unsigned char *dat, int datlen); +void arc4random_addrandom(unsigned char *, int); +void arc4random_buf(void *, size_t); void arc4random_stir(void); +__uint32_t + arc4random_uniform(__uint32_t); char *getbsize(int *, long *); /* getcap(3) functions */ char *cgetcap(char *, const char *, int); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.6 (Berkeley) 5/4/95 -# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.137 2008/06/23 05:22:06 ed Exp $ +# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.140 2008/07/28 02:22:19 davidxu Exp $ # machine-independent gen sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen @@ -56,7 +56,13 @@ getttyent.3 getusershell.3 getvfsbyname.3 \ glob.3 initgroups.3 isgreater.3 ldexp.3 lockf.3 makecontext.3 \ modf.3 msgctl.3 msgget.3 msgrcv.3 msgsnd.3 \ - nice.3 nlist.3 pause.3 popen.3 pselect.3 psignal.3 pwcache.3 \ + nice.3 nlist.3 pause.3 popen.3 \ + posix_spawn.3 posix_spawn_file_actions_addopen.3 \ + posix_spawn_file_actions_init.3 posix_spawnattr_getflags.3 \ + posix_spawnattr_getpgroup.3 posix_spawnattr_getschedparam.3 \ + posix_spawnattr_getschedpolicy.3 posix_spawnattr_init.3 \ + posix_spawnattr_getsigdefault.3 posix_spawnattr_getsigmask.3 \ + pselect.3 psignal.3 pwcache.3 \ 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_timedwait.3 sem_wait.3 \ @@ -68,7 +74,8 @@ ttyname.3 tzset.3 ualarm.3 ucontext.3 ulimit.3 uname.3 \ unvis.3 usleep.3 utime.3 valloc.3 vis.3 wordexp.3 -MLINKS+=arc4random.3 arc4random_addrandom.3 arc4random.3 arc4random_stir.3 +MLINKS+=arc4random.3 arc4random_addrandom.3 arc4random.3 arc4random_stir.3 \ + arc4random.3 arc4random_buf.3 arc4random.3 arc4random_uniform.3 MLINKS+=ctermid.3 ctermid_r.3 MLINKS+=devname.3 devname_r.3 MLINKS+=directory.3 closedir.3 directory.3 dirfd.3 directory.3 opendir.3 \ @@ -123,6 +130,17 @@ MLINKS+=makecontext.3 swapcontext.3 MLINKS+=modf.3 modff.3 modf.3 modfl.3 MLINKS+=popen.3 pclose.3 +MLINKS+=posix_spawn.3 posix_spawnp.3 \ + posix_spawn_file_actions_addopen.3 posix_spawn_file_actions_addclose.3 \ + posix_spawn_file_actions_addopen.3 posix_spawn_file_actions_adddup2.3 \ + posix_spawn_file_actions_init.3 posix_spawn_file_actions_destroy.3 \ + posix_spawnattr_getflags.3 posix_spawnattr_setflags.3 \ + posix_spawnattr_getpgroup.3 posix_spawnattr_setpgroup.3 \ + posix_spawnattr_getschedparam.3 posix_spawnattr_setschedparam.3 \ + posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3 \ + posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \ + posix_spawnattr_getsigmask.3 posix_spawnattr_setsigmask.3 \ + posix_spawnattr_init.3 posix_spawnattr_destroy.3 MLINKS+=psignal.3 strsignal.3 psignal.3 sys_siglist.3 psignal.3 sys_signame.3 MLINKS+=pwcache.3 group_from_gid.3 pwcache.3 user_from_uid.3 MLINKS+=rand48.3 _rand48.3 rand48.3 drand48.3 rand48.3 erand48.3 \ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/Symbol.map#3 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.12 2008/06/23 05:22:06 ed Exp $ + * $FreeBSD: src/lib/libc/gen/Symbol.map,v 1.15 2008/07/22 11:33:49 ache Exp $ */ FBSD_1.0 { @@ -329,7 +329,10 @@ }; FBSD_1.1 { + arc4random_buf; + arc4random_uniform; fdopendir; + feature_present; fts_open; fts_close; fts_read; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.3#2 (text+ko) ==== @@ -28,13 +28,15 @@ .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" Manual page, using -mandoc macros -.\" $FreeBSD: src/lib/libc/gen/arc4random.3,v 1.16 2003/07/31 06:18:24 das Exp $ +.\" $FreeBSD: src/lib/libc/gen/arc4random.3,v 1.18 2008/07/22 11:33:49 ache Exp $ .\" .Dd April 15, 1997 .Dt ARC4RANDOM 3 .Os .Sh NAME .Nm arc4random , +.Nm arc4random_buf , +.Nm arc4random_uniform , .Nm arc4random_stir , .Nm arc4random_addrandom .Nd arc4 random number generator @@ -45,6 +47,10 @@ .Ft u_int32_t .Fn arc4random "void" .Ft void +.Fn arc4random_buf "void *buf" "size_t nbytes" +.Ft u_int32_t +.Fn arc4random_uniform "u_int32_t upper_bound" +.Ft void .Fn arc4random_stir "void" .Ft void .Fn arc4random_addrandom "unsigned char *dat" "int datlen" @@ -68,6 +74,21 @@ and .Xr random 3 . .Pp +.Fn arc4random_buf +function fills the region +.Fa buf +of length +.Fa nbytes +with ARC4-derived random data. +.Pp +.Fn arc4random_uniform +will return a uniformly distributed random number less than +.Fa upper_bound . +.Fn arc4random_uniform +is recommended over constructions like +.Dq Li arc4random() % upper_bound +as it avoids "modulo bias" when the upper bound is not a power of two. +.Pp The .Fn arc4random_stir function reads data from @@ -78,10 +99,9 @@ There is no need to call .Fn arc4random_stir before using -.Fn arc4random , -since .Fn arc4random -automatically initializes itself. +functions family, since +they automatically initialize themselves. .Sh EXAMPLES The following produces a drop-in replacement for the traditional .Fn rand ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.c#2 (text+ko) ==== @@ -1,14 +1,23 @@ /* - * Arc4 random number generator for OpenBSD. - * Copyright 1996 David Mazieres . + * Copyright (c) 1996, David Mazieres + * Copyright (c) 2008, Damien Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. * - * Modification and redistribution in source and binary forms is - * permitted provided that due credit is given to the author and the - * OpenBSD project (for instance by leaving this copyright notice - * intact). + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* + * Arc4 random number generator for OpenBSD. + * * This code is derived from section 17.1 of Applied Cryptography, * second edition, which describes a stream cipher allegedly * compatible with RSA Labs "RC4" cipher (the actual description of @@ -24,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.12 2007/05/25 10:40:33 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.23 2008/07/25 15:42:22 ache Exp $"); #include "namespace.h" #include @@ -63,38 +72,39 @@ static int rs_stired; static int arc4_count; -static inline u_int8_t arc4_getbyte(struct arc4_stream *); -static void arc4_stir(struct arc4_stream *); +static inline u_int8_t arc4_getbyte(void); +static void arc4_stir(void); static inline void -arc4_init(struct arc4_stream *as) +arc4_init(void) { int n; for (n = 0; n < 256; n++) - as->s[n] = n; - as->i = 0; - as->j = 0; + rs.s[n] = n; + rs.i = 0; + rs.j = 0; } static inline void -arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen) +arc4_addrandom(u_char *dat, int datlen) { int n; u_int8_t si; - as->i--; + rs.i--; for (n = 0; n < 256; n++) { - as->i = (as->i + 1); - si = as->s[as->i]; - as->j = (as->j + si + dat[n % datlen]); - as->s[as->i] = as->s[as->j]; - as->s[as->j] = si; + rs.i = (rs.i + 1); + si = rs.s[rs.i]; + rs.j = (rs.j + si + dat[n % datlen]); + rs.s[rs.i] = rs.s[rs.j]; + rs.s[rs.j] = si; } + rs.j = rs.i; } static void -arc4_stir(struct arc4_stream *as) +arc4_stir(void) { int fd, n; struct { @@ -113,7 +123,7 @@ /* fd < 0? Ah, what the heck. We'll just take whatever was on the * stack... */ - arc4_addrandom(as, (void *) &rdat, sizeof(rdat)); + arc4_addrandom((void *) &rdat, sizeof(rdat)); /* * Throw away the first N bytes of output, as suggested in the @@ -123,34 +133,34 @@ * by Ilya Mironov. */ for (n = 0; n < 1024; n++) - (void) arc4_getbyte(as); - arc4_count = 400000; + (void) arc4_getbyte(); + arc4_count = 1600000; } static inline u_int8_t -arc4_getbyte(struct arc4_stream *as) +arc4_getbyte(void) { u_int8_t si, sj; - as->i = (as->i + 1); - si = as->s[as->i]; - as->j = (as->j + si); - sj = as->s[as->j]; - as->s[as->i] = sj; - as->s[as->j] = si; + rs.i = (rs.i + 1); + si = rs.s[rs.i]; + rs.j = (rs.j + si); + sj = rs.s[rs.j]; + rs.s[rs.i] = sj; + rs.s[rs.j] = si; - return (as->s[(si + sj) & 0xff]); + return (rs.s[(si + sj) & 0xff]); } static inline u_int32_t -arc4_getword(struct arc4_stream *as) +arc4_getword(void) { u_int32_t val; - val = arc4_getbyte(as) << 24; - val |= arc4_getbyte(as) << 16; - val |= arc4_getbyte(as) << 8; - val |= arc4_getbyte(as); + val = arc4_getbyte() << 24; + val |= arc4_getbyte() << 16; + val |= arc4_getbyte() << 8; + val |= arc4_getbyte(); return (val); } @@ -159,16 +169,16 @@ arc4_check_init(void) { if (!rs_initialized) { - arc4_init(&rs); + arc4_init(); rs_initialized = 1; } } -static void +static inline void arc4_check_stir(void) { - if (!rs_stired || --arc4_count == 0) { - arc4_stir(&rs); + if (!rs_stired || arc4_count <= 0) { + arc4_stir(); rs_stired = 1; } } @@ -178,7 +188,7 @@ { THREAD_LOCK(); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:18:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B296106566B; Mon, 28 Jul 2008 17:18:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DB9F1065675 for ; Mon, 28 Jul 2008 17:18:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3FD9F8FC13 for ; Mon, 28 Jul 2008 17:18:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHIoai051693 for ; Mon, 28 Jul 2008 17:18:50 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHIoKP051690 for perforce@freebsd.org; Mon, 28 Jul 2008 17:18:50 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 17:18:50 GMT Message-Id: <200807281718.m6SHIoKP051690@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146129 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:18:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=146129 Change 146129 by jhb@jhb_mutex on 2008/07/28 17:18:37 IFC @146123 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#82 integrate .. //depot/projects/smpng/sys/conf/files#216 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_nat.c#18 integrate .. //depot/projects/smpng/sys/dev/atkbdc/psm.c#11 integrate .. //depot/projects/smpng/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/smpng/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#88 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#125 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#84 edit .. //depot/projects/smpng/sys/kern/subr_lock.c#13 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#82 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#151 integrate .. //depot/projects/smpng/sys/libkern/arc4random.c#7 integrate .. //depot/projects/smpng/sys/net/bpf_buffer.c#3 integrate .. //depot/projects/smpng/sys/net/route.c#36 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_hostap.c#2 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#57 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#69 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#82 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#43 integrate .. //depot/projects/smpng/sys/netinet6/raw_ip6.c#49 integrate .. //depot/projects/smpng/sys/netipsec/ipsec.c#25 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#21 integrate .. //depot/projects/smpng/sys/netipx/ipx_usrreq.c#30 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#82 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.638 2008/07/28 04:59:48 alc Exp $"); /* * Manages physical address maps. @@ -3350,9 +3350,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_offset_t va; vm_page_t p, pdpg; @@ -3500,7 +3499,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4355,12 +4354,10 @@ } int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; + pdp_entry_t *pdpe; pd_entry_t *pde; pt_entry_t *pte; @@ -4368,32 +4365,53 @@ offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses, including the direct + * map but excluding the recursive map. + */ + if (base < DMAP_MIN_ADDRESS) return (EINVAL); /* - * XXX: We have to support tearing 2MB pages down into 4k pages if - * needed here. + * Pages that aren't mapped aren't supported. Also break down 2MB pages + * into 4KB pages if required. */ - /* Pages that aren't mapped aren't supported. */ - for (tmpva = base; tmpva < (base + size); ) { - pde = pmap_pde(kernel_pmap, tmpva); - if (*pde == 0) + PMAP_LOCK(kernel_pmap); + for (tmpva = base; tmpva < base + size; ) { + pdpe = pmap_pdpe(kernel_pmap, tmpva); + if (*pdpe == 0 || (*pdpe & PG_PS)) { + PMAP_UNLOCK(kernel_pmap); + return (EINVAL); + } + pde = pmap_pdpe_to_pde(pdpe, tmpva); + if (*pde == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } if (*pde & PG_PS) { - /* Handle 2MB pages that are completely contained. */ - if (size >= NBPDR) { + /* + * If the current offset aligns with a 2MB page frame + * and there is at least 2MB left within the range, then + * we need not break down this page into 4KB pages. + */ + if ((tmpva & PDRMASK) == 0 && + tmpva + PDRMASK < base + size) { tmpva += NBPDR; continue; } - return (EINVAL); + if (!pmap_demote_pde(kernel_pmap, pde, tmpva)) { + PMAP_UNLOCK(kernel_pmap); + return (ENOMEM); + } } pte = vtopte(tmpva); - if (*pte == 0) + if (*pte == 0) { + PMAP_UNLOCK(kernel_pmap); return (EINVAL); + } tmpva += PAGE_SIZE; } + PMAP_UNLOCK(kernel_pmap); /* * Ok, all the pages exist, so run through them updating their ==== //depot/projects/smpng/sys/conf/files#216 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1317 2008/07/25 14:31:00 ed Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1318 2008/07/25 19:35:40 stas Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -697,6 +697,7 @@ dev/igb/e1000_82575.c optional igb | em \ compile-with "${NORMAL_C} -I$S/dev/igb" dev/iicbus/ad7418.c optional ad7418 +dev/iicbus/ds1339.c optional ds1339 dev/iicbus/ds1672.c optional ds1672 dev/iicbus/icee.c optional icee dev/iicbus/if_ic.c optional ic ==== //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_nat.c#18 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.45 2008/07/24 12:35:05 darrenr Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.46 2008/07/26 19:46:00 darrenr Exp $ */ /* * Copyright (C) 1995-2003 by Darren Reed. @@ -117,7 +117,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)ip_nat.c 1.11 6/5/96 (C) 1995 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.45 2008/07/24 12:35:05 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_nat.c,v 1.46 2008/07/26 19:46:00 darrenr Exp $"; /* static const char rcsid[] = "@(#)$Id: ip_nat.c,v 2.195.2.102 2007/10/16 10:08:10 darrenr Exp $"; */ #endif @@ -2033,11 +2033,13 @@ * Standard port translation. Select next port. */ if (np->in_flags & IPN_SEQUENTIAL) { - port = htons(np->in_pnext); + port = np->in_pnext; } else { port = ipf_random() % (ntohs(np->in_pmax) - ntohs(np->in_pmin)); + port += ntohs(np->in_pmin); } + port = htons(port); np->in_pnext++; if (np->in_pnext > ntohs(np->in_pmax)) { ==== //depot/projects/smpng/sys/dev/atkbdc/psm.c#11 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/atkbdc/psm.c,v 1.97 2008/06/01 13:44:51 philip Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/atkbdc/psm.c,v 1.98 2008/07/26 00:01:19 trhodes Exp $"); #include "opt_isa.h" #include "opt_psm.h" @@ -2112,26 +2112,34 @@ SYSCTL_NODE(_debug, OID_AUTO, psm, CTLFLAG_RD, 0, "ps/2 mouse"); SYSCTL_NODE(_hw, OID_AUTO, psm, CTLFLAG_RD, 0, "ps/2 mouse"); -SYSCTL_INT(_debug_psm, OID_AUTO, loglevel, CTLFLAG_RW, &verbose, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, loglevel, CTLFLAG_RW, &verbose, 0, + "Verbosity level"); static int psmhz = 20; -SYSCTL_INT(_debug_psm, OID_AUTO, hz, CTLFLAG_RW, &psmhz, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, hz, CTLFLAG_RW, &psmhz, 0, + "Frequency of the softcallout (in hz)"); static int psmerrsecs = 2; -SYSCTL_INT(_debug_psm, OID_AUTO, errsecs, CTLFLAG_RW, &psmerrsecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, errsecs, CTLFLAG_RW, &psmerrsecs, 0, + "Number of seconds during which packets will dropped after a sync error"); static int psmerrusecs = 0; -SYSCTL_INT(_debug_psm, OID_AUTO, errusecs, CTLFLAG_RW, &psmerrusecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, errusecs, CTLFLAG_RW, &psmerrusecs, 0, + "Microseconds to add to psmerrsecs"); static int psmsecs = 0; -SYSCTL_INT(_debug_psm, OID_AUTO, secs, CTLFLAG_RW, &psmsecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, secs, CTLFLAG_RW, &psmsecs, 0, + "Max number of seconds between soft interrupts"); static int psmusecs = 500000; -SYSCTL_INT(_debug_psm, OID_AUTO, usecs, CTLFLAG_RW, &psmusecs, 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, usecs, CTLFLAG_RW, &psmusecs, 0, + "Microseconds to add to psmsecs"); static int pkterrthresh = 2; -SYSCTL_INT(_debug_psm, OID_AUTO, pkterrthresh, CTLFLAG_RW, &pkterrthresh, - 0, ""); +SYSCTL_INT(_debug_psm, OID_AUTO, pkterrthresh, CTLFLAG_RW, &pkterrthresh, 0, + "Number of error packets allowed before reinitializing the mouse"); static int tap_threshold = PSM_TAP_THRESHOLD; -SYSCTL_INT(_hw_psm, OID_AUTO, tap_threshold, CTLFLAG_RW, &tap_threshold, 0, ""); +SYSCTL_INT(_hw_psm, OID_AUTO, tap_threshold, CTLFLAG_RW, &tap_threshold, 0, + "Button tap threshold"); static int tap_timeout = PSM_TAP_TIMEOUT; -SYSCTL_INT(_hw_psm, OID_AUTO, tap_timeout, CTLFLAG_RW, &tap_timeout, 0, ""); +SYSCTL_INT(_hw_psm, OID_AUTO, tap_timeout, CTLFLAG_RW, &tap_timeout, 0, + "Tap timeout for touchpads"); static void psmintr(void *arg) ==== //depot/projects/smpng/sys/dev/jme/if_jme.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.2 2008/07/18 04:20:48 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.3 2008/07/28 02:37:15 yongari Exp $"); #include #include @@ -2346,7 +2346,10 @@ if (jme_newbuf(sc, rxd) != 0) { ifp->if_iqdrops++; /* Reuse buffer. */ - jme_discard_rxbuf(sc, sc->jme_cdata.jme_rx_cons); + for (; count < nsegs; count++) { + jme_discard_rxbuf(sc, cons); + JME_DESC_INC(cons, JME_RX_RING_CNT); + } if (sc->jme_cdata.jme_rxhead != NULL) { m_freem(sc->jme_cdata.jme_rxhead); JME_RXCHAIN_RESET(sc); ==== //depot/projects/smpng/sys/dev/wi/if_wi.c#88 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.218 2008/05/12 00:15:30 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.219 2008/07/26 17:04:30 imp Exp $"); #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -250,19 +250,6 @@ } ic = ifp->if_l2com; - /* - * NB: no locking is needed here; don't put it here - * unless you can prove it! - */ - error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, - NULL, wi_intr, sc, &sc->wi_intrhand); - - if (error) { - device_printf(dev, "bus_setup_intr() failed! (%d)\n", error); - wi_free(dev); - return error; - } - sc->sc_firmware_type = WI_NOTYPE; sc->wi_cmd_count = 500; /* Reset the NIC. */ @@ -473,6 +460,17 @@ if (bootverbose) ieee80211_announce(ic); + error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, + NULL, wi_intr, sc, &sc->wi_intrhand); + if (error) { + device_printf(dev, "bus_setup_intr() failed! (%d)\n", error); + bpfdetach(ifp); + ieee80211_ifdetach(ic); + if_free(sc->sc_ifp); + wi_free(dev); + return error; + } + return (0); } ==== //depot/projects/smpng/sys/i386/i386/pmap.c#125 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.623 2008/07/18 22:05:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.626 2008/07/28 05:41:35 alc Exp $"); /* * Manages physical address maps. @@ -3415,9 +3415,8 @@ * are taken, but the code works. */ void -pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, - vm_object_t object, vm_pindex_t pindex, - vm_size_t size) +pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, + vm_pindex_t pindex, vm_size_t size) { vm_page_t p; @@ -3545,7 +3544,7 @@ void pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, - vm_offset_t src_addr) + vm_offset_t src_addr) { vm_page_t free; vm_offset_t addr; @@ -4422,10 +4421,7 @@ } int -pmap_change_attr(va, size, mode) - vm_offset_t va; - vm_size_t size; - int mode; +pmap_change_attr(vm_offset_t va, vm_size_t size, int mode) { vm_offset_t base, offset, tmpva; pt_entry_t *pte; @@ -4436,8 +4432,10 @@ offset = va & PAGE_MASK; size = roundup(offset + size, PAGE_SIZE); - /* Only supported on kernel virtual addresses. */ - if (base <= VM_MAXUSER_ADDRESS) + /* + * Only supported on kernel virtual addresses above the recursive map. + */ + if (base < VM_MIN_KERNEL_ADDRESS) return (EINVAL); /* 4MB pages and pages that aren't mapped aren't supported. */ ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#84 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.126 2008/05/25 01:44:58 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.127 2008/07/28 15:52:02 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -127,6 +127,7 @@ #ifdef SMP static int sched_pickcpu(struct thread *td); static int forward_wakeup(int cpunum); +static void kick_other_cpu(int pri, int cpuid); #endif static struct kproc_desc sched_kp = { @@ -278,9 +279,7 @@ #ifdef PREEMPTION struct thread *ctd; int cpri, pri; -#endif -#ifdef PREEMPTION /* * The new thread should not preempt the current thread if any of the * following conditions are true: @@ -451,7 +450,7 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { PROC_LOCK(p); - FOREACH_THREAD_IN_PROC(p, td) { + FOREACH_THREAD_IN_PROC(p, td) { awake = 0; thread_lock(td); ts = td->td_sched; @@ -498,11 +497,10 @@ #endif ts->ts_cpticks = 0; } - /* + /* * If there are ANY running threads in this process, * then don't count it as sleeping. -XXX this is broken - + * XXX: this is broken. */ if (awake) { if (ts->ts_slptime > 1) { @@ -528,9 +526,9 @@ resetpriority(td); resetpriority_thread(td); thread_unlock(td); - } /* end of thread loop */ + } PROC_UNLOCK(p); - } /* end of process loop */ + } sx_sunlock(&allproc_lock); } @@ -625,6 +623,7 @@ } /* External interfaces start here */ + /* * Very early in the boot some setup of scheduler-specific * parts of proc0 and of some scheduler resources needs to be done. @@ -653,7 +652,7 @@ #endif } -int +int sched_rr_interval(void) { if (sched_quantum == 0) @@ -700,7 +699,7 @@ } /* - * charge childs scheduling cpu usage to parent. + * Charge child's scheduling CPU usage to parent. */ void sched_exit(struct proc *p, struct thread *td) @@ -775,7 +774,7 @@ sched_priority(struct thread *td, u_char prio) { CTR6(KTR_SCHED, "sched_prio: %p(%s) prio %d newprio %d by %p(%s)", - td, td->td_name, td->td_priority, prio, curthread, + td, td->td_name, td->td_priority, prio, curthread, curthread->td_name); THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -914,7 +913,8 @@ p = td->td_proc; THREAD_LOCK_ASSERT(td, MA_OWNED); - /* + + /* * Switch to the sched lock to fix things up and pick * a new thread. */ @@ -926,13 +926,14 @@ if ((p->p_flag & P_NOLOAD) == 0) sched_load_rem(); - if (newtd) + if (newtd) newtd->td_flags |= (td->td_flags & TDF_NEEDRESCHED); td->td_lastcpu = td->td_oncpu; td->td_flags &= ~TDF_NEEDRESCHED; td->td_owepreempt = 0; td->td_oncpu = NOCPU; + /* * At the last moment, if this thread is still marked RUNNING, * then put it back on the run queue as it has not been suspended @@ -953,12 +954,12 @@ } } if (newtd) { - /* + /* * The thread we are about to run needs to be counted * as if it had been added to the run queue and selected. * It came from: * * A preemption - * * An upcall + * * An upcall * * A followon */ KASSERT((newtd->td_inhibitors == 0), @@ -995,13 +996,14 @@ /* * Where am I? What year is it? * We are in the same thread that went to sleep above, - * but any amount of time may have passed. All out context + * but any amount of time may have passed. All our context * will still be available as will local variables. * PCPU values however may have changed as we may have * changed CPU so don't trust cached values of them. * New threads will go to fork_exit() instead of here * so if you change things here you may need to change * things there too. + * * If the thread above was exiting it will never wake * up again here, so either it has saved everything it * needed to, or the thread_wait() or wait() will @@ -1040,14 +1042,11 @@ } #ifdef SMP -/* enable HTT_2 if you have a 2-way HTT cpu.*/ static int -forward_wakeup(int cpunum) +forward_wakeup(int cpunum) { - cpumask_t map, me, dontuse; - cpumask_t map2; struct pcpu *pc; - cpumask_t id, map3; + cpumask_t dontuse, id, map, map2, map3, me; mtx_assert(&sched_lock, MA_OWNED); @@ -1061,14 +1060,13 @@ forward_wakeups_requested++; -/* - * check the idle mask we received against what we calculated before - * in the old version. - */ + /* + * Check the idle mask we received against what we calculated + * before in the old version. + */ me = PCPU_GET(cpumask); - /* - * don't bother if we should be doing it ourself.. - */ + + /* Don't bother if we should be doing it ourself. */ if ((me & idle_cpus_mask) && (cpunum == NOCPU || me == (1 << cpunum))) return (0); @@ -1077,7 +1075,7 @@ if (forward_wakeup_use_loop) { SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { id = pc->pc_cpumask; - if ( (id & dontuse) == 0 && + if ((id & dontuse) == 0 && pc->pc_curthread == pc->pc_idlethread) { map3 |= id; } @@ -1088,18 +1086,19 @@ map = 0; map = idle_cpus_mask & ~dontuse; - /* If they are both on, compare and use loop if different */ + /* If they are both on, compare and use loop if different. */ if (forward_wakeup_use_loop) { if (map != map3) { - printf("map (%02X) != map3 (%02X)\n", - map, map3); + printf("map (%02X) != map3 (%02X)\n", map, + map3); map = map3; } } } else { map = map3; } - /* If we only allow a specific CPU, then mask off all the others */ + + /* If we only allow a specific CPU, then mask off all the others. */ if (cpunum != NOCPU) { KASSERT((cpunum <= mp_maxcpus),("forward_wakeup: bad cpunum.")); map &= (1 << cpunum); @@ -1112,7 +1111,7 @@ } } - /* set only one bit */ + /* Set only one bit. */ if (forward_wakeup_use_single) { map = map & ((~map) + 1); } @@ -1126,23 +1125,21 @@ printf("forward_wakeup: Idle processor not found\n"); return (0); } -#endif -#ifdef SMP -static void kick_other_cpu(int pri,int cpuid); - static void -kick_other_cpu(int pri,int cpuid) -{ - struct pcpu * pcpu = pcpu_find(cpuid); - int cpri = pcpu->pc_curthread->td_priority; +kick_other_cpu(int pri, int cpuid) +{ + struct pcpu *pcpu; + int cpri; + pcpu = pcpu_find(cpuid); if (idle_cpus_mask & pcpu->pc_cpumask) { forward_wakeups_delivered++; ipi_selected(pcpu->pc_cpumask, IPI_AST); return; } + cpri = pcpu->pc_curthread->td_priority; if (pri >= cpri) return; @@ -1157,16 +1154,12 @@ #endif /* defined(IPI_PREEMPTION) && defined(PREEMPTION) */ pcpu->pc_curthread->td_flags |= TDF_NEEDRESCHED; - ipi_selected( pcpu->pc_cpumask , IPI_AST); + ipi_selected(pcpu->pc_cpumask, IPI_AST); return; } #endif /* SMP */ #ifdef SMP -/* - * Find a CPU for this thread to run on. If it can run on any CPU, then - * this returns NOCPU. - */ static int sched_pickcpu(struct thread *td) { @@ -1212,6 +1205,7 @@ CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", td, td->td_name, td->td_priority, curthread, curthread->td_name); + /* * Now that the thread is moving to the run-queue, set the lock * to the scheduler's lock. @@ -1227,35 +1221,39 @@ ts->ts_runq = &runq_pcpu[cpu]; single_cpu = 1; CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); } else if (td->td_flags & TDF_BOUND) { - /* Find CPU from bound runq */ - KASSERT(SKE_RUNQ_PCPU(ts),("sched_add: bound td_sched not on cpu runq")); + /* Find CPU from bound runq. */ + KASSERT(SKE_RUNQ_PCPU(ts), + ("sched_add: bound td_sched not on cpu runq")); cpu = ts->ts_runq - &runq_pcpu[0]; single_cpu = 1; CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); } else if (ts->ts_flags & TSF_AFFINITY) { /* Find a valid CPU for our cpuset */ cpu = sched_pickcpu(td); ts->ts_runq = &runq_pcpu[cpu]; single_cpu = 1; CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); } else { CTR2(KTR_RUNQ, - "sched_add: adding td_sched:%p (td:%p) to gbl runq", ts, td); + "sched_add: adding td_sched:%p (td:%p) to gbl runq", ts, + td); cpu = NOCPU; ts->ts_runq = &runq; } - + if (single_cpu && (cpu != PCPU_GET(cpuid))) { - kick_other_cpu(td->td_priority,cpu); + kick_other_cpu(td->td_priority, cpu); } else { - if (!single_cpu) { cpumask_t me = PCPU_GET(cpumask); - int idle = idle_cpus_mask & me; + cpumask_t idle = idle_cpus_mask & me; if (!idle && ((flags & SRQ_INTR) == 0) && (idle_cpus_mask & ~(hlt_cpus_mask | me))) @@ -1269,7 +1267,7 @@ maybe_resched(td); } } - + if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_load_add(); runq_add(ts->ts_runq, td, flags); @@ -1279,6 +1277,7 @@ #else /* SMP */ { struct td_sched *ts; + ts = td->td_sched; THREAD_LOCK_ASSERT(td, MA_OWNED); KASSERT((td->td_inhibitors == 0), @@ -1290,6 +1289,7 @@ CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", td, td->td_name, td->td_priority, curthread, curthread->td_name); + /* * Now that the thread is moving to the run-queue, set the lock * to the scheduler's lock. @@ -1302,21 +1302,19 @@ CTR2(KTR_RUNQ, "sched_add: adding td_sched:%p (td:%p) to runq", ts, td); ts->ts_runq = &runq; - /* - * If we are yielding (on the way out anyhow) - * or the thread being saved is US, - * then don't try be smart about preemption - * or kicking off another CPU - * as it won't help and may hinder. - * In the YIEDLING case, we are about to run whoever is - * being put in the queue anyhow, and in the - * OURSELF case, we are puting ourself on the run queue - * which also only happens when we are about to yield. + /* + * If we are yielding (on the way out anyhow) or the thread + * being saved is US, then don't try be smart about preemption + * or kicking off another CPU as it won't help and may hinder. + * In the YIEDLING case, we are about to run whoever is being + * put in the queue anyhow, and in the OURSELF case, we are + * puting ourself on the run queue which also only happens + * when we are about to yield. */ - if((flags & SRQ_YIELDING) == 0) { + if ((flags & SRQ_YIELDING) == 0) { if (maybe_preempt(td)) return; - } + } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_load_add(); runq_add(ts->ts_runq, td, flags); @@ -1350,8 +1348,8 @@ } /* - * Select threads to run. - * Notice that the running threads still consume a slot. + * Select threads to run. Note that running threads still consume a + * slot. */ struct thread * sched_choose(void) @@ -1367,14 +1365,14 @@ td = runq_choose_fuzz(&runq, runq_fuzz); tdcpu = runq_choose(&runq_pcpu[PCPU_GET(cpuid)]); - if (td == NULL || - (tdcpu != NULL && + if (td == NULL || + (tdcpu != NULL && tdcpu->td_priority < td->td_priority)) { CTR2(KTR_RUNQ, "choosing td %p from pcpu runq %d", tdcpu, PCPU_GET(cpuid)); td = tdcpu; rq = &runq_pcpu[PCPU_GET(cpuid)]; - } else { + } else { CTR1(KTR_RUNQ, "choosing td_sched %p from main runq", td); } @@ -1394,7 +1392,7 @@ KASSERT(td->td_flags & TDF_INMEM, ("sched_choose: thread swapped out")); return (td); - } + } return (PCPU_GET(idlethread)); } ==== //depot/projects/smpng/sys/kern/subr_lock.c#13 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.23 2008/05/15 20:10:06 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.24 2008/07/27 21:45:20 kmacy Exp $"); #include "opt_ddb.h" #include "opt_mprof.h" @@ -152,6 +152,7 @@ const char *name; int line; int ticks; + uintmax_t cnt_wait_max; uintmax_t cnt_max; uintmax_t cnt_tot; uintmax_t cnt_wait; @@ -267,8 +268,8 @@ for (p = lp->file; p != NULL && strncmp(p, "../", 3) == 0; p += 3); sbuf_printf(sb, - "%6ju %12ju %12ju %11ju %5ju %5ju %12ju %12ju %s:%d (%s:%s)\n", - lp->cnt_max / 1000, lp->cnt_tot / 1000, + "%8ju %9ju %11ju %11ju %11ju %6ju %6ju %2ju %6ju %s:%d (%s:%s)\n", + lp->cnt_max / 1000, lp->cnt_wait_max / 1000, lp->cnt_tot / 1000, lp->cnt_wait / 1000, lp->cnt_cur, lp->cnt_cur == 0 ? (uintmax_t)0 : lp->cnt_tot / (lp->cnt_cur * 1000), @@ -304,6 +305,8 @@ l->ticks = t; if (l->cnt_max > dst->cnt_max) dst->cnt_max = l->cnt_max; + if (l->cnt_wait_max > dst->cnt_wait_max) + dst->cnt_wait_max = l->cnt_wait_max; dst->cnt_tot += l->cnt_tot; dst->cnt_wait += l->cnt_wait; dst->cnt_cur += l->cnt_cur; @@ -344,8 +347,8 @@ retry_sbufops: sb = sbuf_new(NULL, NULL, LPROF_SBUF_SIZE * multiplier, SBUF_FIXEDLEN); - sbuf_printf(sb, "\n%6s %12s %12s %11s %5s %5s %12s %12s %s\n", - "max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cnt_lock", "name"); + sbuf_printf(sb, "\n%8s %9s %11s %11s %11s %6s %6s %2s %6s %s\n", + "max", "wait_max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cnt_lock", "name"); enabled = lock_prof_enable; lock_prof_enable = 0; pause("lpreset", hz / 10); @@ -542,6 +545,8 @@ */ if (holdtime > lp->cnt_max) lp->cnt_max = holdtime; + if (l->lpo_waittime > lp->cnt_wait_max) + lp->cnt_wait_max = l->lpo_waittime; lp->cnt_tot += holdtime; lp->cnt_wait += l->lpo_waittime; lp->cnt_contest_locking += l->lpo_contest_locking; ==== //depot/projects/smpng/sys/kern/uipc_usrreq.c#82 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.215 2008/07/03 23:26:10 emaste Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.216 2008/07/26 00:55:35 trhodes Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -139,14 +139,15 @@ SYSCTL_NODE(_net_local, SOCK_DGRAM, dgram, CTLFLAG_RW, 0, "SOCK_DGRAM"); SYSCTL_ULONG(_net_local_stream, OID_AUTO, sendspace, CTLFLAG_RW, - &unpst_sendspace, 0, ""); + &unpst_sendspace, 0, "Default stream send space."); SYSCTL_ULONG(_net_local_stream, OID_AUTO, recvspace, CTLFLAG_RW, - &unpst_recvspace, 0, ""); + &unpst_recvspace, 0, "Default stream receive space."); SYSCTL_ULONG(_net_local_dgram, OID_AUTO, maxdgram, CTLFLAG_RW, - &unpdg_sendspace, 0, ""); + &unpdg_sendspace, 0, "Default datagram send space."); SYSCTL_ULONG(_net_local_dgram, OID_AUTO, recvspace, CTLFLAG_RW, - &unpdg_recvspace, 0, ""); -SYSCTL_INT(_net_local, OID_AUTO, inflight, CTLFLAG_RD, &unp_rights, 0, ""); + &unpdg_recvspace, 0, "Default datagram receive space."); +SYSCTL_INT(_net_local, OID_AUTO, inflight, CTLFLAG_RD, &unp_rights, 0, + "File descriptors in flight."); /*- * Locking and synchronization: @@ -1969,10 +1970,12 @@ } static int unp_recycled; -SYSCTL_INT(_net_local, OID_AUTO, recycled, CTLFLAG_RD, &unp_recycled, 0, ""); +SYSCTL_INT(_net_local, OID_AUTO, recycled, CTLFLAG_RD, &unp_recycled, 0, + "Number of unreachable sockets claimed by the garbage collector."); static int unp_taskcount; -SYSCTL_INT(_net_local, OID_AUTO, taskcount, CTLFLAG_RD, &unp_taskcount, 0, ""); +SYSCTL_INT(_net_local, OID_AUTO, taskcount, CTLFLAG_RD, &unp_taskcount, 0, + "Number of times the garbage collector has run."); static void unp_gc(__unused void *arg, int pending) ==== //depot/projects/smpng/sys/kern/vfs_subr.c#151 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.733 2008/07/21 23:01:09 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.735 2008/07/27 11:48:15 pjd Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -2282,7 +2282,7 @@ vinactive(struct vnode *vp, struct thread *td) { - ASSERT_VOP_LOCKED(vp, "vinactive"); + ASSERT_VOP_ELOCKED(vp, "vinactive"); ASSERT_VI_LOCKED(vp, "vinactive"); VNASSERT((vp->v_iflag & VI_DOINGINACT) == 0, vp, ("vinactive: recursed on VI_DOINGINACT")); @@ -2439,7 +2439,7 @@ { int recycled; - ASSERT_VOP_LOCKED(vp, "vrecycle"); + ASSERT_VOP_ELOCKED(vp, "vrecycle"); recycled = 0; VI_LOCK(vp); if (vp->v_usecount == 0) { @@ -2474,7 +2474,7 @@ struct mount *mp; CTR1(KTR_VFS, "vgonel: vp %p", vp); - ASSERT_VOP_LOCKED(vp, "vgonel"); + ASSERT_VOP_ELOCKED(vp, "vgonel"); ASSERT_VI_LOCKED(vp, "vgonel"); VNASSERT(vp->v_holdcnt, vp, ("vgonel: vp %p has no reference.", vp)); @@ -3581,7 +3581,8 @@ * This only exists to supress warnings from unlocked specfs accesses. It is * no longer ok to have an unlocked VFS. */ -#define IGNORE_LOCK(vp) ((vp)->v_type == VCHR || (vp)->v_type == VBAD) +#define IGNORE_LOCK(vp) (panicstr != NULL || (vp) == NULL || \ + (vp)->v_type == VCHR || (vp)->v_type == VBAD) int vfs_badlock_ddb = 1; /* Drop into debugger on violation. */ SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, ""); @@ -3631,7 +3632,7 @@ assert_vop_locked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == 0) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == 0) vfs_badlock("is not locked but should be", str, vp); } @@ -3639,8 +3640,7 @@ assert_vop_unlocked(struct vnode *vp, const char *str) { - if (vp && !IGNORE_LOCK(vp) && - VOP_ISLOCKED(vp) == LK_EXCLUSIVE) + if (!IGNORE_LOCK(vp) && VOP_ISLOCKED(vp) == LK_EXCLUSIVE) vfs_badlock("is locked but should not be", str, vp); } @@ -3648,8 +3648,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:20:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF22C106567A; Mon, 28 Jul 2008 17:20:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A500E1065670 for ; Mon, 28 Jul 2008 17:20:52 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 87C658FC17 for ; Mon, 28 Jul 2008 17:20:52 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHKqZY051917 for ; Mon, 28 Jul 2008 17:20:52 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHKqAT051915 for perforce@freebsd.org; Mon, 28 Jul 2008 17:20:52 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 28 Jul 2008 17:20:52 GMT Message-Id: <200807281720.m6SHKqAT051915@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:20:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=146130 Change 146130 by pgj@disznohal on 2008/07/28 17:19:55 IFC Affected files ... .. //depot/projects/docproj_hu/www/en/cgi/cvsweb.conf#2 integrate .. //depot/projects/docproj_hu/www/en/developers/cvs.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/releases/index.sgml#2 integrate Differences ... ==== //depot/projects/docproj_hu/www/en/cgi/cvsweb.conf#2 (text+ko) ==== @@ -7,7 +7,7 @@ # 2002-2005 V. Skyttä # based on work by Bill Fenner # -# $FreeBSD: www/en/cgi/cvsweb.conf,v 1.42 2007/03/18 17:12:45 simon Exp $ +# $FreeBSD: www/en/cgi/cvsweb.conf,v 1.43 2008/07/24 08:00:15 pav Exp $ # $Id: cvsweb.conf,v 1.29 2001/07/23 09:14:52 hzeller Exp $ # $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 1.27 2001/08/01 09:48:39 knu Exp $ # @@ -74,9 +74,9 @@ # URLs pointing to the corresponding mirrors. # %MIRRORS = ( + 'Czech republic' => 'http://www.cz.FreeBSD.org/cgi/cvsweb.cgi', + 'Denmark' => 'http://www.dk.FreeBSD.org/cgi/cvsweb.cgi', 'Japan' => 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi', - 'Portugal' => 'http://cvsup.pt.FreeBSD.org/cgi-bin/cvsweb/cvsweb.cgi', - 'Spain' => 'http://www.es.FreeBSD.org/cgi/cvsweb.cgi', 'Turkey' => 'http://cvsweb.tr.FreeBSD.org/', 'Ukraine' => 'http://www.FreeBSD.org.ua/cgi/cvsweb.cgi?cvsroot=freebsd', 'USA/California' => 'http://cvsweb.FreeBSD.org/', ==== //depot/projects/docproj_hu/www/en/developers/cvs.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -37,9 +37,9 @@

Mirrors of the CVS web interface are available in - Canada, + Czech republic, + Denmark, Japan, - Portugal, USA/California and Ukraine.

==== //depot/projects/docproj_hu/www/en/releases/index.sgml#2 (text+ko) ==== @@ -1,10 +1,10 @@ - + ]> - + &header; @@ -477,14 +477,10 @@

Release Usage Statistics

-A snapshot of the current FreeBSD release usage +A snapshot of the current and past FreeBSD release usage is available at - -http://www.FreeBSD.org/statistic/release_usage/2006/. -
-FreeBSD release usage statistics of the previous year are available at - -http://www.FreeBSD.org/statistic/release_usage/2005/. + +http://www.FreeBSD.org/statistic/release_usage/.

&footer; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:31:03 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 892D5106567C; Mon, 28 Jul 2008 17:31:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30A0A106566C for ; Mon, 28 Jul 2008 17:31:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 140DA8FC1B for ; Mon, 28 Jul 2008 17:31:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHV3iG052795 for ; Mon, 28 Jul 2008 17:31:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHV3cQ052793 for perforce@freebsd.org; Mon, 28 Jul 2008 17:31:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 28 Jul 2008 17:31:03 GMT Message-Id: <200807281731.m6SHV3cQ052793@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 146132 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:31:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=146132 Change 146132 by hselasky@hselasky_laptop001 on 2008/07/28 17:30:59 Some corrections. Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#7 (text+ko) ==== @@ -95,13 +95,13 @@ .match_flag_dev_protocol = 1, .bDeviceProtocol = (dp) #define USB_IFACE_CLASS(ic) \ - .match_flag_dev_class = 1, .bDeviceClass = (ic) + .match_flag_int_class = 1, .bInterfaceClass = (ic) #define USB_IFACE_SUBCLASS(isc) \ - .match_flag_dev_subclass = 1, .bDeviceSubClass = (isc) + .match_flag_int_subclass = 1, .bInterfaceSubClass = (isc) #define USB_IFACE_PROTOCOL(ip) \ - .match_flag_dev_protocol = 1, .bDeviceProtocol = (ip) + .match_flag_int_protocol = 1, .bInterfaceProtocol = (ip) #define USB_IF_CSI(class,subclass,info) \ USB_IFACE_CLASS(class), USB_IFACE_SUBCLASS(subclass), USB_DRIVER_INFO(info) From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:51:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CDCF1065676; Mon, 28 Jul 2008 17:51:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F2D71065672 for ; Mon, 28 Jul 2008 17:51:24 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0206F8FC17 for ; Mon, 28 Jul 2008 17:51:24 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHpNXS054437 for ; Mon, 28 Jul 2008 17:51:23 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHpNoT054435 for perforce@freebsd.org; Mon, 28 Jul 2008 17:51:23 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 17:51:23 GMT Message-Id: <200807281751.m6SHpNoT054435@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146135 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:51:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=146135 Change 146135 by jhb@jhb_mutex on 2008/07/28 17:50:38 IFC @146133 Affected files ... .. //depot/projects/smpng/sys/dev/wi/if_wi.c#89 integrate .. //depot/projects/smpng/sys/dev/wi/if_wivar.h#27 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#85 integrate Differences ... ==== //depot/projects/smpng/sys/dev/wi/if_wi.c#89 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.219 2008/07/26 17:04:30 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.220 2008/07/28 17:00:37 imp Exp $"); #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -225,6 +225,8 @@ { 0, NULL, 0 }, }; +static char *wi_firmware_names[] = { "none", "Hermes", "Intersil", "Symbol" }; + devclass_t wi_devclass; int @@ -237,6 +239,8 @@ u_int16_t val; u_int8_t ratebuf[2 + IEEE80211_RATE_SIZE]; struct ieee80211_rateset *rs; + struct sysctl_ctx_list *sctx; + struct sysctl_oid *soid; static const u_int8_t empty_macaddr[IEEE80211_ADDR_LEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -278,6 +282,25 @@ return EOPNOTSUPP; } + /* Export info about the device via sysctl */ + sctx = device_get_sysctl_ctx(dev); + soid = device_get_sysctl_tree(dev); + SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, + "firmware_type", CTLFLAG_RD, + wi_firmware_names[sc->sc_firmware_type], 0, + "Firmware type string"); + SYSCTL_ADD_INT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "sta_version", + CTLFLAG_RD, &sc->sc_sta_firmware_ver, 0, + "Station Firmware version"); + if (sc->sc_firmware_type == WI_INTERSIL) + SYSCTL_ADD_INT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, + "pri_version", CTLFLAG_RD, &sc->sc_pri_firmware_ver, 0, + "Primary Firmware version"); + SYSCTL_ADD_XINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "nic_id", + CTLFLAG_RD, &sc->sc_nic_id, 0, "NIC id"); + SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "nic_name", + CTLFLAG_RD, sc->sc_nic_name, 0, "NIC name"); + mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); callout_init_mtx(&sc->sc_watchdog, &sc->sc_mtx, 0); @@ -1633,25 +1656,26 @@ memset(ver, 0, sizeof(ver)); len = sizeof(ver); wi_read_rid(sc, WI_RID_CARD_ID, ver, &len); - device_printf(sc->sc_dev, "using "); sc->sc_firmware_type = WI_NOTYPE; + sc->sc_nic_id = le16toh(ver[0]); for (id = wi_card_ident; id->card_name != NULL; id++) { - if (le16toh(ver[0]) == id->card_id) { - printf("%s", id->card_name); + if (sc->sc_nic_id == id->card_id) { + sc->sc_nic_name = id->card_name; sc->sc_firmware_type = id->firm_type; break; } } if (sc->sc_firmware_type == WI_NOTYPE) { - if (le16toh(ver[0]) & 0x8000) { - printf("Unknown PRISM2 chip"); + if (sc->sc_nic_id & 0x8000) { sc->sc_firmware_type = WI_INTERSIL; + sc->sc_nic_name = "Unknown Prism chip"; } else { - printf("Unknown Lucent chip"); sc->sc_firmware_type = WI_LUCENT; + sc->sc_nic_name = "Unknown Lucent chip"; } } + device_printf(sc->sc_dev, "using %s\n", sc->sc_nic_name); /* get primary firmware version (Only Prism chips) */ if (sc->sc_firmware_type != WI_LUCENT) { @@ -1684,19 +1708,19 @@ (p[6] - '0') * 10 + (p[7] - '0'); } } - printf("\n"); - device_printf(sc->sc_dev, "%s Firmware: ", - sc->sc_firmware_type == WI_LUCENT ? "Lucent" : - (sc->sc_firmware_type == WI_SYMBOL ? "Symbol" : "Intersil")); - if (sc->sc_firmware_type != WI_LUCENT) /* XXX */ - printf("Primary (%u.%u.%u), ", - sc->sc_pri_firmware_ver / 10000, - (sc->sc_pri_firmware_ver % 10000) / 100, - sc->sc_pri_firmware_ver % 100); - printf("Station (%u.%u.%u)\n", - sc->sc_sta_firmware_ver / 10000, - (sc->sc_sta_firmware_ver % 10000) / 100, - sc->sc_sta_firmware_ver % 100); + if (bootverbose) { + device_printf(sc->sc_dev, "%s Firmware: ", + wi_firmware_names[sc->sc_firmware_type]); + if (sc->sc_firmware_type != WI_LUCENT) /* XXX */ + printf("Primary (%u.%u.%u), ", + sc->sc_pri_firmware_ver / 10000, + (sc->sc_pri_firmware_ver % 10000) / 100, + sc->sc_pri_firmware_ver % 100); + printf("Station (%u.%u.%u)\n", + sc->sc_sta_firmware_ver / 10000, + (sc->sc_sta_firmware_ver % 10000) / 100, + sc->sc_sta_firmware_ver % 100); + } } static int ==== //depot/projects/smpng/sys/dev/wi/if_wivar.h#27 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.32 2008/04/20 20:35:38 sam Exp $ + * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.33 2008/07/28 17:00:37 imp Exp $ */ /* @@ -87,6 +87,8 @@ #define WI_SYMBOL 3 int sc_pri_firmware_ver; /* Primary firmware */ int sc_sta_firmware_ver; /* Station firmware */ + unsigned int sc_nic_id; /* Type of NIC */ + char * sc_nic_name; int wi_bus_type; /* Bus attachment type */ struct resource * local; ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#85 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.127 2008/07/28 15:52:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.128 2008/07/28 17:25:24 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:54:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E0A9D106567F; Mon, 28 Jul 2008 17:54:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5021106567C for ; Mon, 28 Jul 2008 17:54:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E9398FC20 for ; Mon, 28 Jul 2008 17:54:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHsRf5054620 for ; Mon, 28 Jul 2008 17:54:27 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHsRBl054618 for perforce@freebsd.org; Mon, 28 Jul 2008 17:54:27 GMT (envelope-from jhb@freebsd.org) Date: Mon, 28 Jul 2008 17:54:27 GMT Message-Id: <200807281754.m6SHsRBl054618@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 146136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:54:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=146136 Change 146136 by jhb@jhb_mutex on 2008/07/28 17:53:48 Prefer the last CPU we ran on if all else is equal. Affected files ... .. //depot/projects/smpng/sys/kern/sched_4bsd.c#86 edit Differences ... ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#86 (text+ko) ==== @@ -1167,7 +1167,10 @@ mtx_assert(&sched_lock, MA_OWNED); - best = NOCPU; + if (THREAD_CAN_SCHED(td, td->td_lastcpu)) + best = td->td_lastcpu; + else + best = NOCPU; for (cpu = 0; cpu <= mp_maxid; cpu++) { if (CPU_ABSENT(cpu)) continue; From owner-p4-projects@FreeBSD.ORG Mon Jul 28 17:54:28 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC6C4106573C; Mon, 28 Jul 2008 17:54:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F9CB10656F0 for ; Mon, 28 Jul 2008 17:54:27 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D67478FC25 for ; Mon, 28 Jul 2008 17:54:27 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SHsRso054625 for ; Mon, 28 Jul 2008 17:54:27 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SHsR64054623 for perforce@freebsd.org; Mon, 28 Jul 2008 17:54:27 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 28 Jul 2008 17:54:27 GMT Message-Id: <200807281754.m6SHsR64054623@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146137 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 17:54:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146137 Change 146137 by pgj@disznohal on 2008/07/28 17:54:25 MFen: 1.60 -> 1.61 hu_HU.ISO8859-2/share/sgml/mailing-lists.ent Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#10 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#10 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -430,11 +430,11 @@ freebsd-vendors"> -Discussion of various virtualization techniques supported by FreeBSD levelezési lista"> +Discussion of various virtualization techniques supported by FreeBSD levelezési lista"> freebsd-virtualization"> -FreeBSD VuXML levelezési lista"> +FreeBSD VuXML levelezési lista"> freebsd-vuxml"> From owner-p4-projects@FreeBSD.ORG Mon Jul 28 18:08:42 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 598D31065675; Mon, 28 Jul 2008 18:08:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D7481065670 for ; Mon, 28 Jul 2008 18:08:42 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 012278FC12 for ; Mon, 28 Jul 2008 18:08:42 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SI8fn4056941 for ; Mon, 28 Jul 2008 18:08:41 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SI8fTY056939 for perforce@freebsd.org; Mon, 28 Jul 2008 18:08:41 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 18:08:41 GMT Message-Id: <200807281808.m6SI8fTY056939@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146139 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 18:08:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=146139 Change 146139 by ed@ed_dull on 2008/07/28 18:08:12 I forgot to realize /dev/console also picks up Giant. This means we can actually recurse on the TTY lock, if it's Giant. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty.c#8 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty.c#8 (text+ko) ==== @@ -1168,7 +1168,11 @@ int error; int revokecnt = tp->t_revokecnt; +#if 0 + /* XXX: /dev/console also picks up Giant */ tty_lock_assert(tp, MA_OWNED|MA_NOTRECURSED); +#endif + tty_lock_assert(tp, MA_OWNED); if (tp->t_mtx == &Giant) { /* @@ -1200,7 +1204,11 @@ int error; int revokecnt = tp->t_revokecnt; +#if 0 + /* XXX: /dev/console also picks up Giant */ tty_lock_assert(tp, MA_OWNED|MA_NOTRECURSED); +#endif + tty_lock_assert(tp, MA_OWNED); if (tp->t_mtx == &Giant) { /* From owner-p4-projects@FreeBSD.ORG Mon Jul 28 18:11:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB432106566B; Mon, 28 Jul 2008 18:11:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6EFAD1065680 for ; Mon, 28 Jul 2008 18:11:45 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 513898FC30 for ; Mon, 28 Jul 2008 18:11:45 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SIBjMB057251 for ; Mon, 28 Jul 2008 18:11:45 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SIBjFm057249 for perforce@freebsd.org; Mon, 28 Jul 2008 18:11:45 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 18:11:45 GMT Message-Id: <200807281811.m6SIBjFm057249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146140 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 18:11:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=146140 Change 146140 by ed@ed_dull on 2008/07/28 18:10:59 Introduce a new resource limit: RLIMIT_NPTS. We can now place limits on pseudo-terminals. Unfortunately, OpenSSH doesn't want to play along, but applications like screen and xterm should behave nicely. Affected files ... .. //depot/projects/mpsafetty/bin/sh/miscbltin.c#2 edit .. //depot/projects/mpsafetty/etc/login.conf#2 edit .. //depot/projects/mpsafetty/lib/libc/sys/getrlimit.2#2 edit .. //depot/projects/mpsafetty/lib/libutil/login_class.c#3 edit .. //depot/projects/mpsafetty/sys/dev/pts/pts.c#8 edit .. //depot/projects/mpsafetty/sys/dev/pts/pts.h#3 edit .. //depot/projects/mpsafetty/sys/dev/ptycompat/ptycompat.c#5 edit .. //depot/projects/mpsafetty/sys/kern/kern_resource.c#2 edit .. //depot/projects/mpsafetty/sys/sys/resource.h#2 edit .. //depot/projects/mpsafetty/sys/sys/resourcevar.h#2 edit Differences ... ==== //depot/projects/mpsafetty/bin/sh/miscbltin.c#2 (text+ko) ==== @@ -342,6 +342,9 @@ #ifdef RLIMIT_SBSIZE { "sbsize", "bytes", RLIMIT_SBSIZE, 1, 'b' }, #endif +#ifdef RLIMIT_NPTS + { "pseudo-terminals", (char *)0, RLIMIT_NPTS, 1, 'p' }, +#endif { (char *) 0, (char *)0, 0, 0, '\0' } }; @@ -358,7 +361,7 @@ struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlb")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbp")) != '\0') switch (optc) { case 'H': how = HARD; ==== //depot/projects/mpsafetty/etc/login.conf#2 (text+ko) ==== @@ -40,6 +40,7 @@ :maxproc=unlimited:\ :sbsize=unlimited:\ :vmemoryuse=unlimited:\ + :pseudoterminals=unlimited:\ :priority=0:\ :ignoretime@:\ :umask=022: ==== //depot/projects/mpsafetty/lib/libc/sys/getrlimit.2#2 (text+ko) ==== @@ -97,6 +97,8 @@ The maximum size (in bytes) of the stack segment for a process; this defines how far a program's stack segment may be extended. Stack extension is performed automatically by the system. +.It Dv RLIMIT_NPTS +The maximum number of pseudo-terminals created by this user id. .El .Pp A resource limit is specified as a soft limit and a hard limit. ==== //depot/projects/mpsafetty/lib/libutil/login_class.c#3 (text+ko) ==== @@ -50,18 +50,19 @@ rlim_t (*who)(login_cap_t *, const char *, rlim_t, rlim_t); int why; } resources[] = { - { "cputime", login_getcaptime, RLIMIT_CPU }, - { "filesize", login_getcapsize, RLIMIT_FSIZE }, - { "datasize", login_getcapsize, RLIMIT_DATA }, - { "stacksize", login_getcapsize, RLIMIT_STACK }, - { "memoryuse", login_getcapsize, RLIMIT_RSS }, - { "memorylocked", login_getcapsize, RLIMIT_MEMLOCK }, - { "maxproc", login_getcapnum, RLIMIT_NPROC }, - { "openfiles", login_getcapnum, RLIMIT_NOFILE }, - { "coredumpsize", login_getcapsize, RLIMIT_CORE }, - { "sbsize", login_getcapsize, RLIMIT_SBSIZE }, - { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, - { NULL, 0, 0 } + { "cputime", login_getcaptime, RLIMIT_CPU }, + { "filesize", login_getcapsize, RLIMIT_FSIZE }, + { "datasize", login_getcapsize, RLIMIT_DATA }, + { "stacksize", login_getcapsize, RLIMIT_STACK }, + { "memoryuse", login_getcapsize, RLIMIT_RSS }, + { "memorylocked", login_getcapsize, RLIMIT_MEMLOCK }, + { "maxproc", login_getcapnum, RLIMIT_NPROC }, + { "openfiles", login_getcapnum, RLIMIT_NOFILE }, + { "coredumpsize", login_getcapsize, RLIMIT_CORE }, + { "sbsize", login_getcapsize, RLIMIT_SBSIZE }, + { "vmemoryuse", login_getcapsize, RLIMIT_VMEM }, + { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, + { NULL, 0, 0 } }; ==== //depot/projects/mpsafetty/sys/dev/pts/pts.c#8 (text+ko) ==== @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -89,19 +90,20 @@ */ struct pts_softc { int pts_unit; /* (c) Device unit number */ + unsigned int pts_flags; /* (t) Device flags */ +#define PTS_PKT 0x1 /* Packet mode */ struct cv pts_inwait; /* (t) Blocking write() on master */ struct selinfo pts_inpoll; /* (t) Select queue for write() */ struct cv pts_outwait; /* (t) Blocking read() on master */ struct selinfo pts_outpoll; /* (t) Select queue for read() */ - unsigned int pts_flags; /* (t) Device flags */ -#define PTS_PKT 0x1 /* Packet mode */ - #ifdef PTS_EXTERNAL pts_external_free_t *pts_external_free; /* (c) Destructor callback */ void *pts_external_softc; /* (c) Destructor softc */ #endif /* PTS_EXTERNAL */ + + struct uidinfo *pts_uidinfo; /* (c) Resource limit */ }; /* @@ -489,6 +491,9 @@ mtx_unlock(&pts_lock); } + chgptscnt(psc->pts_uidinfo, -1, 0); + uifree(psc->pts_uidinfo); + #ifdef PTS_EXTERNAL /* Call shutdown hook */ if (psc->pts_external_free != NULL) @@ -509,15 +514,25 @@ static int pts_alloc(int fflags, struct thread *td, struct file *fp) { - int unit; + int unit, ok; struct tty *tp; struct pts_softc *psc; + struct proc *p = td->td_proc; + struct uidinfo *uid = td->td_ucred->cr_ruidinfo; + /* Resource limiting */ + PROC_LOCK(p); + ok = chgptscnt(uid, 1, lim_cur(p, RLIMIT_NPTS)); + PROC_UNLOCK(p); + if (!ok) + return (EAGAIN); + /* Try to allocate a new pts unit number */ mtx_lock(&pts_lock); unit = alloc_unrl(pts_pool); if (unit < 0) { mtx_unlock(&pts_lock); + chgptscnt(uid, -1, 0); return (EAGAIN); } pts_ndevs++; @@ -529,6 +544,8 @@ cv_init(&psc->pts_outwait, "pts outwait"); psc->pts_unit = unit; + psc->pts_uidinfo = uid; + uihold(uid); tp = tty_alloc(&pts_class, psc, NULL); @@ -541,12 +558,22 @@ } #ifdef PTS_EXTERNAL -void +int pts_alloc_external(int fflags, struct thread *td, struct file *fp, pts_external_free_t freefunc, void *softc, const char *name) { + int ok; struct tty *tp; struct pts_softc *psc; + struct proc *p = td->td_proc; + struct uidinfo *uid = td->td_ucred->cr_ruidinfo; + + /* Resource limiting */ + PROC_LOCK(p); + ok = chgptscnt(uid, 1, lim_cur(p, RLIMIT_NPTS)); + PROC_UNLOCK(p); + if (!ok) + return (EAGAIN); /* Allocate TTY and softc */ psc = malloc(sizeof(struct pts_softc), M_PTS, M_WAITOK|M_ZERO); @@ -556,6 +583,8 @@ psc->pts_unit = -1; psc->pts_external_free = freefunc; psc->pts_external_softc = softc; + psc->pts_uidinfo = uid; + uihold(uid); tp = tty_alloc(&pts_class, psc, NULL); @@ -563,6 +592,8 @@ tty_makedev(tp, td->td_ucred, "%s", name); finit(fp, fflags, DTYPE_PTS, tp, &ptsdev_ops); + + return (0); } #endif /* PTS_EXTERNAL */ ==== //depot/projects/mpsafetty/sys/dev/pts/pts.h#3 (text+ko) ==== @@ -41,7 +41,7 @@ typedef void pts_external_free_t(void *softc); -void pts_alloc_external(int, struct thread *, struct file *, +int pts_alloc_external(int, struct thread *, struct file *, pts_external_free_t, void *, const char *); #endif /* _PTS_H_ */ ==== //depot/projects/mpsafetty/sys/dev/ptycompat/ptycompat.c#5 (text+ko) ==== @@ -62,7 +62,7 @@ static int ptydev_fdopen(struct cdev *dev, int fflags, struct thread *td, struct file *fp) { - int u; + int u, error; char name[] = "ttyXX"; if (!atomic_cmpset_ptr((uintptr_t *)&dev->si_drv1, 0, 1)) @@ -72,8 +72,13 @@ u = minor2unit(minor(dev)); name[3] = u >> 8; name[4] = u; - pts_alloc_external(fflags & (FREAD|FWRITE), td, fp, + + error = pts_alloc_external(fflags & (FREAD|FWRITE), td, fp, ptydev_free, dev, name); + if (error != 0) { + destroy_dev_sched(dev); + return (error); + } /* Raise a warning when a legacy PTY has been allocated */ if (pty_warningcnt > 0) { ==== //depot/projects/mpsafetty/sys/kern/kern_resource.c#2 (text+ko) ==== @@ -1329,3 +1329,28 @@ *hiwat = to; return (1); } + +/* + * Change the count associated with number of pseudo-terminals + * a given user is using. When 'max' is 0, don't enforce a limit + */ +int +chgptscnt(uip, diff, max) + struct uidinfo *uip; + int diff; + rlim_t max; +{ + + /* Don't allow them to exceed max, but allow subtraction. */ + if (diff > 0 && max != 0) { + if (atomic_fetchadd_long(&uip->ui_ptscnt, (long)diff) + diff > max) { + atomic_subtract_long(&uip->ui_ptscnt, (long)diff); + return (0); + } + } else { + atomic_add_long(&uip->ui_ptscnt, (long)diff); + if (uip->ui_ptscnt < 0) + printf("negative ptscnt for uid = %d\n", uip->ui_uid); + } + return (1); +} ==== //depot/projects/mpsafetty/sys/sys/resource.h#2 (text+ko) ==== @@ -93,8 +93,9 @@ #define RLIMIT_SBSIZE 9 /* maximum size of all socket buffers */ #define RLIMIT_VMEM 10 /* virtual process size (inclusive of mmap) */ #define RLIMIT_AS RLIMIT_VMEM /* standard name for RLIMIT_VMEM */ +#define RLIMIT_NPTS 11 /* pseudo-terminals */ -#define RLIM_NLIMITS 11 /* number of resource limits */ +#define RLIM_NLIMITS 12 /* number of resource limits */ #define RLIM_INFINITY ((rlim_t)(((uint64_t)1 << 63) - 1)) /* XXX Missing: RLIM_SAVED_MAX, RLIM_SAVED_CUR */ ==== //depot/projects/mpsafetty/sys/sys/resourcevar.h#2 (text+ko) ==== @@ -91,6 +91,7 @@ LIST_ENTRY(uidinfo) ui_hash; /* (c) hash chain of uidinfos */ long ui_sbsize; /* (b) socket buffer space consumed */ long ui_proccnt; /* (b) number of processes */ + long ui_ptscnt; /* (a) number of pseudo-terminals */ uid_t ui_uid; /* (a) uid */ u_int ui_ref; /* (b) reference count */ }; @@ -106,6 +107,7 @@ int chgproccnt(struct uidinfo *uip, int diff, rlim_t maxval); int chgsbsize(struct uidinfo *uip, u_int *hiwat, u_int to, rlim_t maxval); +int chgptscnt(struct uidinfo *uip, int diff, rlim_t maxval); int fuswintr(void *base); struct plimit *lim_alloc(void); From owner-p4-projects@FreeBSD.ORG Mon Jul 28 18:14:49 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F7C51065671; Mon, 28 Jul 2008 18:14:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6509106564A for ; Mon, 28 Jul 2008 18:14:48 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A801B8FC0C for ; Mon, 28 Jul 2008 18:14:48 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SIEmw2057489 for ; Mon, 28 Jul 2008 18:14:48 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SIEm9X057487 for perforce@freebsd.org; Mon, 28 Jul 2008 18:14:48 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 18:14:48 GMT Message-Id: <200807281814.m6SIEm9X057487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 18:14:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=146141 Change 146141 by ed@ed_dull on 2008/07/28 18:14:18 IFC, before I create another diff. Affected files ... .. //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#2 integrate .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawn.3#2 integrate .. //depot/projects/mpsafetty/lib/libc/gen/posix_spawn_file_actions_addopen.3#2 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/mpsafetty/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/mpsafetty/sys/modules/et/Makefile#2 integrate .. //depot/projects/mpsafetty/usr.bin/ldd/ldd.c#3 integrate .. //depot/projects/mpsafetty/usr.sbin/config/config.y#2 integrate .. //depot/projects/mpsafetty/usr.sbin/config/lang.l#2 integrate Differences ... ==== //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#2 (text+ko) ==== @@ -12,11 +12,7 @@ @emph{ ... } emphasis - warnings, stress, etc. This will be bracketed by underline characters in info files (_ ... _) and in italics in PDF & probably in - postscript & HTML. -@strong{ ... } Similar to @emph{}, but the effect is to - bracket with asterisks in info files (* ... *) - and in bold in PDF & probably in postscript & - HTML. + postscript & HTML. @noindent Suppresses indentation of the following paragraph. This can ocassionally be useful after examples and the like. @@ -26,7 +22,7 @@ Preformatted text should be marked as such (use @example... there may be other ways) since many of the final output formats can use relational fonts otherwise -and marking it as formatted should restrict it to a fixed width font. Keep +and marking it as formatted should restrict it to a fixed wiidth font. Keep this sort of text to 80 characters or less per line since larger may not be properly viewable for some info users. @@ -37,10 +33,5 @@ Use lots of index markers. Scan the index for the current style. Try to reuse an existing entry if the meaning is similar. -`makeinfo' 3.11 or greater is required for output generation since earlier -versions do not support the @ifnottex & @ifnothtml commands. There may be -other commands used in `cvs.texinfo' that are unsupported by earlier versions -of `makeinfo' by the time you read this. - For more on using texinfo docs, see the `info texinfo' documentation or http://www.gnu.org/manual/texinfo/texinfo.html . ==== //depot/projects/mpsafetty/lib/libc/gen/posix_spawn.3#2 (text+ko) ==== @@ -32,7 +32,7 @@ .\" the referee document. The original Standard can be obtained online at .\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/gen/posix_spawn.3,v 1.1 2008/07/28 02:22:19 davidxu Exp $ +.\" $FreeBSD: src/lib/libc/gen/posix_spawn.3,v 1.2 2008/07/28 09:36:56 ed Exp $ .\" .Dd Mar 24, 2008 .Dt POSIX_SPAWN 3 @@ -452,4 +452,4 @@ functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Ed Schouten ed@FreeBSD.org +.An Ed Schouten Aq ed@FreeBSD.org ==== //depot/projects/mpsafetty/lib/libc/gen/posix_spawn_file_actions_addopen.3#2 (text+ko) ==== @@ -32,7 +32,7 @@ .\" the referee document. The original Standard can be obtained online at .\" http://www.opengroup.org/unix/online.html. .\" -.\" $FreeBSD: src/lib/libc/gen/posix_spawn_file_actions_addopen.3,v 1.1 2008/07/28 02:22:19 davidxu Exp $ +.\" $FreeBSD: src/lib/libc/gen/posix_spawn_file_actions_addopen.3,v 1.2 2008/07/28 09:36:56 ed Exp $ .\" .Dd Mar 24, 2008 .Dt POSIX_SPAWN_FILE_ACTIONS_ADDOPEN 3 @@ -179,4 +179,4 @@ functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Ed Schouten ed@FreeBSD.org +.An Ed Schouten Aq ed@FreeBSD.org ==== //depot/projects/mpsafetty/sys/dev/wi/if_wi.c#3 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.219 2008/07/26 17:04:30 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.220 2008/07/28 17:00:37 imp Exp $"); #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -225,6 +225,8 @@ { 0, NULL, 0 }, }; +static char *wi_firmware_names[] = { "none", "Hermes", "Intersil", "Symbol" }; + devclass_t wi_devclass; int @@ -237,6 +239,8 @@ u_int16_t val; u_int8_t ratebuf[2 + IEEE80211_RATE_SIZE]; struct ieee80211_rateset *rs; + struct sysctl_ctx_list *sctx; + struct sysctl_oid *soid; static const u_int8_t empty_macaddr[IEEE80211_ADDR_LEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -278,6 +282,25 @@ return EOPNOTSUPP; } + /* Export info about the device via sysctl */ + sctx = device_get_sysctl_ctx(dev); + soid = device_get_sysctl_tree(dev); + SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, + "firmware_type", CTLFLAG_RD, + wi_firmware_names[sc->sc_firmware_type], 0, + "Firmware type string"); + SYSCTL_ADD_INT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "sta_version", + CTLFLAG_RD, &sc->sc_sta_firmware_ver, 0, + "Station Firmware version"); + if (sc->sc_firmware_type == WI_INTERSIL) + SYSCTL_ADD_INT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, + "pri_version", CTLFLAG_RD, &sc->sc_pri_firmware_ver, 0, + "Primary Firmware version"); + SYSCTL_ADD_XINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "nic_id", + CTLFLAG_RD, &sc->sc_nic_id, 0, "NIC id"); + SYSCTL_ADD_STRING(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "nic_name", + CTLFLAG_RD, sc->sc_nic_name, 0, "NIC name"); + mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); callout_init_mtx(&sc->sc_watchdog, &sc->sc_mtx, 0); @@ -1633,25 +1656,26 @@ memset(ver, 0, sizeof(ver)); len = sizeof(ver); wi_read_rid(sc, WI_RID_CARD_ID, ver, &len); - device_printf(sc->sc_dev, "using "); sc->sc_firmware_type = WI_NOTYPE; + sc->sc_nic_id = le16toh(ver[0]); for (id = wi_card_ident; id->card_name != NULL; id++) { - if (le16toh(ver[0]) == id->card_id) { - printf("%s", id->card_name); + if (sc->sc_nic_id == id->card_id) { + sc->sc_nic_name = id->card_name; sc->sc_firmware_type = id->firm_type; break; } } if (sc->sc_firmware_type == WI_NOTYPE) { - if (le16toh(ver[0]) & 0x8000) { - printf("Unknown PRISM2 chip"); + if (sc->sc_nic_id & 0x8000) { sc->sc_firmware_type = WI_INTERSIL; + sc->sc_nic_name = "Unknown Prism chip"; } else { - printf("Unknown Lucent chip"); sc->sc_firmware_type = WI_LUCENT; + sc->sc_nic_name = "Unknown Lucent chip"; } } + device_printf(sc->sc_dev, "using %s\n", sc->sc_nic_name); /* get primary firmware version (Only Prism chips) */ if (sc->sc_firmware_type != WI_LUCENT) { @@ -1684,19 +1708,19 @@ (p[6] - '0') * 10 + (p[7] - '0'); } } - printf("\n"); - device_printf(sc->sc_dev, "%s Firmware: ", - sc->sc_firmware_type == WI_LUCENT ? "Lucent" : - (sc->sc_firmware_type == WI_SYMBOL ? "Symbol" : "Intersil")); - if (sc->sc_firmware_type != WI_LUCENT) /* XXX */ - printf("Primary (%u.%u.%u), ", - sc->sc_pri_firmware_ver / 10000, - (sc->sc_pri_firmware_ver % 10000) / 100, - sc->sc_pri_firmware_ver % 100); - printf("Station (%u.%u.%u)\n", - sc->sc_sta_firmware_ver / 10000, - (sc->sc_sta_firmware_ver % 10000) / 100, - sc->sc_sta_firmware_ver % 100); + if (bootverbose) { + device_printf(sc->sc_dev, "%s Firmware: ", + wi_firmware_names[sc->sc_firmware_type]); + if (sc->sc_firmware_type != WI_LUCENT) /* XXX */ + printf("Primary (%u.%u.%u), ", + sc->sc_pri_firmware_ver / 10000, + (sc->sc_pri_firmware_ver % 10000) / 100, + sc->sc_pri_firmware_ver % 100); + printf("Station (%u.%u.%u)\n", + sc->sc_sta_firmware_ver / 10000, + (sc->sc_sta_firmware_ver % 10000) / 100, + sc->sc_sta_firmware_ver % 100); + } } static int ==== //depot/projects/mpsafetty/sys/dev/wi/if_wivar.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.32 2008/04/20 20:35:38 sam Exp $ + * $FreeBSD: src/sys/dev/wi/if_wivar.h,v 1.33 2008/07/28 17:00:37 imp Exp $ */ /* @@ -87,6 +87,8 @@ #define WI_SYMBOL 3 int sc_pri_firmware_ver; /* Primary firmware */ int sc_sta_firmware_ver; /* Station firmware */ + unsigned int sc_nic_id; /* Type of NIC */ + char * sc_nic_name; int wi_bus_type; /* Bus attachment type */ struct resource * local; ==== //depot/projects/mpsafetty/sys/kern/sched_4bsd.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.126 2008/05/25 01:44:58 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.128 2008/07/28 17:25:24 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -91,6 +91,7 @@ fixpt_t ts_pctcpu; /* (j) %cpu during p_swtime. */ int ts_cpticks; /* (j) Ticks of cpu time. */ int ts_slptime; /* (j) Seconds !RUNNING. */ + int ts_flags; struct runq *ts_runq; /* runq the thread is currently on */ }; @@ -98,9 +99,15 @@ #define TDF_DIDRUN TDF_SCHED0 /* thread actually ran. */ #define TDF_BOUND TDF_SCHED1 /* Bound to one CPU. */ +/* flags kept in ts_flags */ +#define TSF_AFFINITY 0x0001 /* Has a non-"full" CPU set. */ + #define SKE_RUNQ_PCPU(ts) \ ((ts)->ts_runq != 0 && (ts)->ts_runq != &runq) +#define THREAD_CAN_SCHED(td, cpu) \ + CPU_ISSET((cpu), &(td)->td_cpuset->cs_mask) + static struct td_sched td_sched0; struct mtx sched_lock; @@ -118,7 +125,9 @@ static void resetpriority(struct thread *td); static void resetpriority_thread(struct thread *td); #ifdef SMP -static int forward_wakeup(int cpunum); +static int sched_pickcpu(struct thread *td); +static int forward_wakeup(int cpunum); +static void kick_other_cpu(int pri, int cpuid); #endif static struct kproc_desc sched_kp = { @@ -140,6 +149,7 @@ * Per-CPU run queues */ static struct runq runq_pcpu[MAXCPU]; +long runq_length[MAXCPU]; #endif static void @@ -269,9 +279,7 @@ #ifdef PREEMPTION struct thread *ctd; int cpri, pri; -#endif -#ifdef PREEMPTION /* * The new thread should not preempt the current thread if any of the * following conditions are true: @@ -442,7 +450,7 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { PROC_LOCK(p); - FOREACH_THREAD_IN_PROC(p, td) { + FOREACH_THREAD_IN_PROC(p, td) { awake = 0; thread_lock(td); ts = td->td_sched; @@ -489,11 +497,10 @@ #endif ts->ts_cpticks = 0; } - /* + /* * If there are ANY running threads in this process, * then don't count it as sleeping. -XXX this is broken - + * XXX: this is broken. */ if (awake) { if (ts->ts_slptime > 1) { @@ -519,9 +526,9 @@ resetpriority(td); resetpriority_thread(td); thread_unlock(td); - } /* end of thread loop */ + } PROC_UNLOCK(p); - } /* end of process loop */ + } sx_sunlock(&allproc_lock); } @@ -616,6 +623,7 @@ } /* External interfaces start here */ + /* * Very early in the boot some setup of scheduler-specific * parts of proc0 and of some scheduler resources needs to be done. @@ -644,7 +652,7 @@ #endif } -int +int sched_rr_interval(void) { if (sched_quantum == 0) @@ -691,7 +699,7 @@ } /* - * charge childs scheduling cpu usage to parent. + * Charge child's scheduling CPU usage to parent. */ void sched_exit(struct proc *p, struct thread *td) @@ -734,6 +742,7 @@ childtd->td_cpuset = cpuset_ref(td->td_cpuset); ts = childtd->td_sched; bzero(ts, sizeof(*ts)); + ts->ts_flags |= (td->td_sched->ts_flags & TSF_AFFINITY); } void @@ -765,7 +774,7 @@ sched_priority(struct thread *td, u_char prio) { CTR6(KTR_SCHED, "sched_prio: %p(%s) prio %d newprio %d by %p(%s)", - td, td->td_name, td->td_priority, prio, curthread, + td, td->td_name, td->td_priority, prio, curthread, curthread->td_name); THREAD_LOCK_ASSERT(td, MA_OWNED); @@ -904,7 +913,8 @@ p = td->td_proc; THREAD_LOCK_ASSERT(td, MA_OWNED); - /* + + /* * Switch to the sched lock to fix things up and pick * a new thread. */ @@ -916,13 +926,14 @@ if ((p->p_flag & P_NOLOAD) == 0) sched_load_rem(); - if (newtd) + if (newtd) newtd->td_flags |= (td->td_flags & TDF_NEEDRESCHED); td->td_lastcpu = td->td_oncpu; td->td_flags &= ~TDF_NEEDRESCHED; td->td_owepreempt = 0; td->td_oncpu = NOCPU; + /* * At the last moment, if this thread is still marked RUNNING, * then put it back on the run queue as it has not been suspended @@ -943,12 +954,12 @@ } } if (newtd) { - /* + /* * The thread we are about to run needs to be counted * as if it had been added to the run queue and selected. * It came from: * * A preemption - * * An upcall + * * An upcall * * A followon */ KASSERT((newtd->td_inhibitors == 0), @@ -985,13 +996,14 @@ /* * Where am I? What year is it? * We are in the same thread that went to sleep above, - * but any amount of time may have passed. All out context + * but any amount of time may have passed. All our context * will still be available as will local variables. * PCPU values however may have changed as we may have * changed CPU so don't trust cached values of them. * New threads will go to fork_exit() instead of here * so if you change things here you may need to change * things there too. + * * If the thread above was exiting it will never wake * up again here, so either it has saved everything it * needed to, or the thread_wait() or wait() will @@ -1030,14 +1042,11 @@ } #ifdef SMP -/* enable HTT_2 if you have a 2-way HTT cpu.*/ static int -forward_wakeup(int cpunum) +forward_wakeup(int cpunum) { - cpumask_t map, me, dontuse; - cpumask_t map2; struct pcpu *pc; - cpumask_t id, map3; + cpumask_t dontuse, id, map, map2, map3, me; mtx_assert(&sched_lock, MA_OWNED); @@ -1051,14 +1060,13 @@ forward_wakeups_requested++; -/* - * check the idle mask we received against what we calculated before - * in the old version. - */ + /* + * Check the idle mask we received against what we calculated + * before in the old version. + */ me = PCPU_GET(cpumask); - /* - * don't bother if we should be doing it ourself.. - */ + + /* Don't bother if we should be doing it ourself. */ if ((me & idle_cpus_mask) && (cpunum == NOCPU || me == (1 << cpunum))) return (0); @@ -1067,7 +1075,7 @@ if (forward_wakeup_use_loop) { SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { id = pc->pc_cpumask; - if ( (id & dontuse) == 0 && + if ((id & dontuse) == 0 && pc->pc_curthread == pc->pc_idlethread) { map3 |= id; } @@ -1078,18 +1086,19 @@ map = 0; map = idle_cpus_mask & ~dontuse; - /* If they are both on, compare and use loop if different */ + /* If they are both on, compare and use loop if different. */ if (forward_wakeup_use_loop) { if (map != map3) { - printf("map (%02X) != map3 (%02X)\n", - map, map3); + printf("map (%02X) != map3 (%02X)\n", map, + map3); map = map3; } } } else { map = map3; } - /* If we only allow a specific CPU, then mask off all the others */ + + /* If we only allow a specific CPU, then mask off all the others. */ if (cpunum != NOCPU) { KASSERT((cpunum <= mp_maxcpus),("forward_wakeup: bad cpunum.")); map &= (1 << cpunum); @@ -1102,7 +1111,7 @@ } } - /* set only one bit */ + /* Set only one bit. */ if (forward_wakeup_use_single) { map = map & ((~map) + 1); } @@ -1116,23 +1125,21 @@ printf("forward_wakeup: Idle processor not found\n"); return (0); } -#endif -#ifdef SMP -static void kick_other_cpu(int pri,int cpuid); - static void -kick_other_cpu(int pri,int cpuid) -{ - struct pcpu * pcpu = pcpu_find(cpuid); - int cpri = pcpu->pc_curthread->td_priority; +kick_other_cpu(int pri, int cpuid) +{ + struct pcpu *pcpu; + int cpri; + pcpu = pcpu_find(cpuid); if (idle_cpus_mask & pcpu->pc_cpumask) { forward_wakeups_delivered++; ipi_selected(pcpu->pc_cpumask, IPI_AST); return; } + cpri = pcpu->pc_curthread->td_priority; if (pri >= cpri) return; @@ -1147,11 +1154,37 @@ #endif /* defined(IPI_PREEMPTION) && defined(PREEMPTION) */ pcpu->pc_curthread->td_flags |= TDF_NEEDRESCHED; - ipi_selected( pcpu->pc_cpumask , IPI_AST); + ipi_selected(pcpu->pc_cpumask, IPI_AST); return; } #endif /* SMP */ +#ifdef SMP +static int +sched_pickcpu(struct thread *td) +{ + int best, cpu; + + mtx_assert(&sched_lock, MA_OWNED); + + best = NOCPU; + for (cpu = 0; cpu <= mp_maxid; cpu++) { + if (CPU_ABSENT(cpu)) + continue; + if (!THREAD_CAN_SCHED(td, cpu)) + continue; + + if (best == NOCPU) + best = cpu; + else if (runq_length[cpu] < runq_length[best]) + best = cpu; + } + KASSERT(best != NOCPU, ("no valid CPUs")); + + return (best); +} +#endif + void sched_add(struct thread *td, int flags) #ifdef SMP @@ -1172,6 +1205,7 @@ CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", td, td->td_name, td->td_priority, curthread, curthread->td_name); + /* * Now that the thread is moving to the run-queue, set the lock * to the scheduler's lock. @@ -1187,28 +1221,39 @@ ts->ts_runq = &runq_pcpu[cpu]; single_cpu = 1; CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } else if ((td)->td_flags & TDF_BOUND) { - /* Find CPU from bound runq */ - KASSERT(SKE_RUNQ_PCPU(ts),("sched_add: bound td_sched not on cpu runq")); + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); + } else if (td->td_flags & TDF_BOUND) { + /* Find CPU from bound runq. */ + KASSERT(SKE_RUNQ_PCPU(ts), + ("sched_add: bound td_sched not on cpu runq")); cpu = ts->ts_runq - &runq_pcpu[0]; single_cpu = 1; CTR3(KTR_RUNQ, - "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, cpu); - } else { + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); + } else if (ts->ts_flags & TSF_AFFINITY) { + /* Find a valid CPU for our cpuset */ + cpu = sched_pickcpu(td); + ts->ts_runq = &runq_pcpu[cpu]; + single_cpu = 1; + CTR3(KTR_RUNQ, + "sched_add: Put td_sched:%p(td:%p) on cpu%d runq", ts, td, + cpu); + } else { CTR2(KTR_RUNQ, - "sched_add: adding td_sched:%p (td:%p) to gbl runq", ts, td); + "sched_add: adding td_sched:%p (td:%p) to gbl runq", ts, + td); cpu = NOCPU; ts->ts_runq = &runq; } - + if (single_cpu && (cpu != PCPU_GET(cpuid))) { - kick_other_cpu(td->td_priority,cpu); + kick_other_cpu(td->td_priority, cpu); } else { - if (!single_cpu) { cpumask_t me = PCPU_GET(cpumask); - int idle = idle_cpus_mask & me; + cpumask_t idle = idle_cpus_mask & me; if (!idle && ((flags & SRQ_INTR) == 0) && (idle_cpus_mask & ~(hlt_cpus_mask | me))) @@ -1222,14 +1267,17 @@ maybe_resched(td); } } - + if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_load_add(); runq_add(ts->ts_runq, td, flags); + if (cpu != NOCPU) + runq_length[cpu]++; } #else /* SMP */ { struct td_sched *ts; + ts = td->td_sched; THREAD_LOCK_ASSERT(td, MA_OWNED); KASSERT((td->td_inhibitors == 0), @@ -1241,6 +1289,7 @@ CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", td, td->td_name, td->td_priority, curthread, curthread->td_name); + /* * Now that the thread is moving to the run-queue, set the lock * to the scheduler's lock. @@ -1253,21 +1302,19 @@ CTR2(KTR_RUNQ, "sched_add: adding td_sched:%p (td:%p) to runq", ts, td); ts->ts_runq = &runq; - /* - * If we are yielding (on the way out anyhow) - * or the thread being saved is US, - * then don't try be smart about preemption - * or kicking off another CPU - * as it won't help and may hinder. - * In the YIEDLING case, we are about to run whoever is - * being put in the queue anyhow, and in the - * OURSELF case, we are puting ourself on the run queue - * which also only happens when we are about to yield. + /* + * If we are yielding (on the way out anyhow) or the thread + * being saved is US, then don't try be smart about preemption + * or kicking off another CPU as it won't help and may hinder. + * In the YIEDLING case, we are about to run whoever is being + * put in the queue anyhow, and in the OURSELF case, we are + * puting ourself on the run queue which also only happens + * when we are about to yield. */ - if((flags & SRQ_YIELDING) == 0) { + if ((flags & SRQ_YIELDING) == 0) { if (maybe_preempt(td)) return; - } + } if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_load_add(); runq_add(ts->ts_runq, td, flags); @@ -1292,13 +1339,17 @@ if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_load_rem(); +#ifdef SMP + if (ts->ts_runq != &runq) + runq_length[ts->ts_runq - runq_pcpu]--; +#endif runq_remove(ts->ts_runq, td); TD_SET_CAN_RUN(td); } /* - * Select threads to run. - * Notice that the running threads still consume a slot. + * Select threads to run. Note that running threads still consume a + * slot. */ struct thread * sched_choose(void) @@ -1314,14 +1365,14 @@ td = runq_choose_fuzz(&runq, runq_fuzz); tdcpu = runq_choose(&runq_pcpu[PCPU_GET(cpuid)]); - if (td == NULL || - (tdcpu != NULL && + if (td == NULL || + (tdcpu != NULL && tdcpu->td_priority < td->td_priority)) { CTR2(KTR_RUNQ, "choosing td %p from pcpu runq %d", tdcpu, PCPU_GET(cpuid)); td = tdcpu; rq = &runq_pcpu[PCPU_GET(cpuid)]; - } else { + } else { CTR1(KTR_RUNQ, "choosing td_sched %p from main runq", td); } @@ -1331,13 +1382,17 @@ #endif if (td) { +#ifdef SMP + if (td == tdcpu) + runq_length[PCPU_GET(cpuid)]--; +#endif runq_remove(rq, td); td->td_flags |= TDF_DIDRUN; KASSERT(td->td_flags & TDF_INMEM, ("sched_choose: thread swapped out")); return (td); - } + } return (PCPU_GET(idlethread)); } @@ -1515,4 +1570,65 @@ void sched_affinity(struct thread *td) { +#ifdef SMP + struct td_sched *ts; + int cpu; + + THREAD_LOCK_ASSERT(td, MA_OWNED); + + /* + * Set the TSF_AFFINITY flag if there is at least one CPU this + * thread can't run on. + */ + ts = td->td_sched; + ts->ts_flags &= ~TSF_AFFINITY; + for (cpu = 0; cpu <= mp_maxid; cpu++) { + if (CPU_ABSENT(cpu)) + continue; + if (!THREAD_CAN_SCHED(td, cpu)) { + ts->ts_flags |= TSF_AFFINITY; + break; + } + } + + /* + * If this thread can run on all CPUs, nothing else to do. + */ + if (!(ts->ts_flags & TSF_AFFINITY)) + return; + + /* Pinned threads and bound threads should be left alone. */ + if (td->td_pinned != 0 || td->td_flags & TDF_BOUND) + return; + + switch (td->td_state) { + case TDS_RUNQ: + /* + * If we are on a per-CPU runqueue that is in the set, + * then nothing needs to be done. + */ + if (ts->ts_runq != &runq && + THREAD_CAN_SCHED(td, ts->ts_runq - runq_pcpu)) + return; + + /* Put this thread on a valid per-CPU runqueue. */ + sched_rem(td); + sched_add(td, SRQ_BORING); + break; + case TDS_RUNNING: + /* + * See if our current CPU is in the set. If not, force a + * context switch. + */ + if (THREAD_CAN_SCHED(td, td->td_oncpu)) + return; + + td->td_flags |= TDF_NEEDRESCHED; + if (td != curthread) + ipi_selected(1 << cpu, IPI_AST); + break; + default: + break; + } +#endif } ==== //depot/projects/mpsafetty/sys/modules/et/Makefile#2 (text+ko) ==== @@ -1,10 +1,10 @@ # $DragonFly: src/sys/dev/netif/et/Makefile,v 1.1 2007/10/12 14:12:42 sephe Exp $ -# $FreeBSD: src/sys/modules/et/Makefile,v 1.1 2008/06/20 19:28:33 delphij Exp $ +# $FreeBSD: src/sys/modules/et/Makefile,v 1.2 2008/07/28 17:56:37 antoine Exp $ .PATH: ${.CURDIR}/../../dev/et KMOD= if_et SRCS= if_et.c -SRCS+= opt_et.h bus_if.h pci_if.h device_if.h miibus_if.h +SRCS+= bus_if.h pci_if.h device_if.h miibus_if.h .include ==== //depot/projects/mpsafetty/usr.bin/ldd/ldd.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/ldd/ldd.c,v 1.37 2008/07/21 02:13:14 edwin Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/ldd/ldd.c,v 1.38 2008/07/28 12:49:16 edwin Exp $"); #include @@ -49,15 +49,12 @@ #include "extern.h" /* - * Elf32_xhdr structures can only be used if sys/elf32.h is included, so - * check for the existence of one of the macros defined in sys/elf32.h. - * - * The presense of the ELF32_R_TYPE macro via machine/elf.h has been verified - * on amd64 6.3, ia64 7.0 and sparc64 7.0. The absence of the macro has been - * verified on alpha 6.2. + * 32-bit ELF data structures can only be used if the system header[s] declare + * them. There is no official macro for determining whether they are declared, + * so check for the existence of one of the 32-macros defined in elf(5). */ -#if defined(ELF32_R_TYPE) -#define ELF32_SUPPORTED +#ifdef ELF32_R_TYPE +#define ELF32_SUPPORTED #endif static int is_executable(const char *fname, int fd, int *is_shlib, ==== //depot/projects/mpsafetty/usr.sbin/config/config.y#2 (text+ko) ==== @@ -31,6 +31,7 @@ %type Save_id %type Opt_value %type Dev +%token PATH %{ @@ -67,7 +68,7 @@ * SUCH DAMAGE. * * @(#)config.y 8.1 (Berkeley) 6/6/93 - * $FreeBSD: src/usr.sbin/config/config.y,v 1.79 2007/12/25 06:22:33 imp Exp $ + * $FreeBSD: src/usr.sbin/config/config.y,v 1.80 2008/07/28 17:11:57 obrien Exp $ */ #include @@ -128,6 +129,11 @@ | Config_spec SEMICOLON | + INCLUDE PATH SEMICOLON { + if (incignore == 0) + include($2, 0); + }; + | INCLUDE ID SEMICOLON { if (incignore == 0) include($2, 0); ==== //depot/projects/mpsafetty/usr.sbin/config/lang.l#2 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * @(#)lang.l 8.1 (Berkeley) 6/6/93 - * $FreeBSD: src/usr.sbin/config/lang.l,v 1.45 2007/05/12 19:38:18 wkoszek Exp $ + * $FreeBSD: src/usr.sbin/config/lang.l,v 1.46 2008/07/28 17:11:57 obrien Exp $ */ #include @@ -96,6 +96,7 @@ %} ID [A-Za-z_][-A-Za-z_0-9]* +PATH [./][-/.%^A-Za-z_0-9]+ %START TOEOL %% {ID} { @@ -165,6 +166,11 @@ return tok; /* otherwise continue scanning */ } +{PATH} { + BEGIN 0; + yylval.str = strdup(yytext); + return PATH; + } . { return yytext[0]; } %% From owner-p4-projects@FreeBSD.ORG Mon Jul 28 18:22:57 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BB9F1065682; Mon, 28 Jul 2008 18:22:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E9EC1065680 for ; Mon, 28 Jul 2008 18:22:57 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E65A18FC16 for ; Mon, 28 Jul 2008 18:22:56 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SIMu5l058610 for ; Mon, 28 Jul 2008 18:22:56 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SIMuP0058608 for perforce@freebsd.org; Mon, 28 Jul 2008 18:22:56 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 18:22:56 GMT Message-Id: <200807281822.m6SIMuP0058608@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146143 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 18:22:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=146143 Change 146143 by ed@ed_dull on 2008/07/28 18:21:56 Don't forget to document the "pseudoterminals" switch in login.conf. Affected files ... .. //depot/projects/mpsafetty/lib/libutil/login.conf.5#3 edit Differences ... ==== //depot/projects/mpsafetty/lib/libutil/login.conf.5#3 (text+ko) ==== @@ -176,7 +176,7 @@ .Em tc=value notation may be used. .Sh RESOURCE LIMITS -.Bl -column coredumpsize indent indent +.Bl -column pseudoterminals indent indent .It Sy "Name Type Notes Description .It "coredumpsize size Maximum coredump size limit. .It "cputime time CPU usage limit. @@ -189,6 +189,7 @@ .It "sbsize size Maximum permitted socketbuffer size. .It "vmemoryuse size Maximum permitted total VM usage per process. .It "stacksize size Maximum stack size limit. +.It "pseudoterminals size Maximum number of pseudo-terminals. .El .Pp These resource limit entries actually specify both the maximum From owner-p4-projects@FreeBSD.ORG Mon Jul 28 18:24:59 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79C7C1065678; Mon, 28 Jul 2008 18:24:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D942106564A for ; Mon, 28 Jul 2008 18:24:59 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 209F88FC12 for ; Mon, 28 Jul 2008 18:24:59 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SIOxTN058735 for ; Mon, 28 Jul 2008 18:24:59 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SIOxc9058733 for perforce@freebsd.org; Mon, 28 Jul 2008 18:24:59 GMT (envelope-from ed@FreeBSD.org) Date: Mon, 28 Jul 2008 18:24:59 GMT Message-Id: <200807281824.m6SIOxc9058733@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146144 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 18:24:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=146144 Change 146144 by ed@ed_dull on 2008/07/28 18:24:47 "pseudoterminals" is a number, not a size. Affected files ... .. //depot/projects/mpsafetty/lib/libutil/login.conf.5#4 edit Differences ... ==== //depot/projects/mpsafetty/lib/libutil/login.conf.5#4 (text+ko) ==== @@ -189,7 +189,7 @@ .It "sbsize size Maximum permitted socketbuffer size. .It "vmemoryuse size Maximum permitted total VM usage per process. .It "stacksize size Maximum stack size limit. -.It "pseudoterminals size Maximum number of pseudo-terminals. +.It "pseudoterminals number Maximum number of pseudo-terminals. .El .Pp These resource limit entries actually specify both the maximum From owner-p4-projects@FreeBSD.ORG Mon Jul 28 20:18:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F24EE106568B; Mon, 28 Jul 2008 20:18:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5FA71065684 for ; Mon, 28 Jul 2008 20:18:55 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 97D978FC08 for ; Mon, 28 Jul 2008 20:18:55 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SKIt0r072060 for ; Mon, 28 Jul 2008 20:18:55 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SKItoC072058 for perforce@freebsd.org; Mon, 28 Jul 2008 20:18:55 GMT (envelope-from remko@freebsd.org) Date: Mon, 28 Jul 2008 20:18:55 GMT Message-Id: <200807282018.m6SKItoC072058@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 20:18:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=146154 Change 146154 by remko@remko_nakur on 2008/07/28 20:18:17 more WIP Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#5 (text+ko) ==== @@ -158,14 +158,222 @@ Wat is een jail - BSD achtige systemen + BSD achtige systemen hebben sinds 4.2-BSD ondersteuning van + &man.chroot.2;. De &man.chroot.8; utility kan gebruikt worden om + de root directory van een set processen te wijzigen waardoor een + veilige omgeving wordt gecreeërd voor de rest van het + systeem. Processen die gemaakt worden in een chroot omgeving + kunnen bestanden en bronnen daarbuiten niet benaderen. Daardoor + zou een doorbraak van een dienst die in een chroot omgeving + draait, niet direct moeten betekenen dat het hele systeem + doorbroken is. De &man.chroot.8; utility is goed genoeg voor + simpele taken, waarbij flexibiliteit en geavanceerde en complexe + opties niet nodig zijn. Sinds het uitvinden van het chroot + concept, zijn er vele mogelijkheden gevonden om hieruit te + breken en, alhoewel ze gerepareerd zijn in moderne versies + van &os;, werd het duidelijk dat &man.chroot.2; niet de meest + ideale oplossing was voor het beveiligen van diensten. Er moest + een nieuw subsysteem ontwikkeld worden. + + Dit is één van de redenen waarom jails zijn + ontwikkeld. + + Jails zijn een verbeterd concept van de &man.chroot.2; + omgeving, in verschillende opzichten. In een traditionele + &man.chroot.2; omgeving worden processen alleen gelimiteerd + in het deel van het bestandssysteem wat ze kunnen benaderen. + De rest van de systeem bronnen (zoals de set van systeem + gebruikers, de draaiende processen of het netwerk subsysteem) + worden gedeeld door het chrooted proces en de processen op het + host systeem. Jails breiden dit model uit door het niet + alleen virtualizeren van de toegang tot het bestandssysteem maar + ook tot de set van gebruikers, het netwerk subsysteem van de + &os; kernel en een aantal andere delen. Een meer complete set + van gespecificeerde controle mogelijkheden die beschikbaar zijn + voor het personaliseren van de toegang tot een jail omgeving + wordt beschreven in . + + Een jail heeft vier kenmerken: + + + + Een aparte subtak van een directory — het startpunt + van waaruit een jail benaderd wordt. Zodra men in de jail + zit, mogen processen niet buiten deze subtak komen. + Traditionele problemen die &man.chroot.2;'s ontwerp geplaagd + hebben, hebben geen invloed op &os; jails. + + + + Een hostname — de hostnaam die gebruikt wordt in + de jail. Jails worden met name gebruikt voor het hosten van + netwerk diensten, daardoor kan het de systeembeheerder heel erg + helpen als er beschrijvende hostnames worden gekozen. + + + + Een IP adres — deze wordt + gekoppeld aan de jail en kan op geen enkele manier worden + gewijzigd tijdens het leven van de jail. Het IP adres van + een jail is meestal een alias op een reeds bestaande + netwerk interface, maar dit is niet noodzakelijk. + + + + Een commando — het padnaam van een uitvoerbaar + bestand in de jail. Deze is relatief aan de rootdirectory + van de jail omgeving en kan heel erg wisselen, afhankelijk + van het type van de specifieke jail omgeving. + + + + Buiten deze kenmerken, kunnen jails hun eigen set aan + gebruikers, en root gebruiker hebben. + Uiteraard zijn de mogelijkheden van de root + gebruiker beperkt tot de jail omgeving en, vanuit het host systeem + gezien, is de root gebruiker geen opper + gebruiker. Daarnaast is het de root + gebruiker in een jail omgeving niet toegestaan om kritieke + operaties uit te voeren op het systeem buiten de gedefinieerde + jail omgeving. Meer informatie over de mogelijkheden en + beperkingen van de root gebruiker kan + gevonden worden in hieronder. - * Creeëren en controleren van jails + Creeëren en controleren van jails + + Sommige beheerders kiezen ervoor om jails op te delen in + de volgende twee types: complete jails, welke + een volledig &os; systeem nabootsen en service + jails, gericht op één applicatie of dienst, + mogelijkerwijs draaiende met privileges. Dit is alleen een + conceptuele splitsing en het proces van het bouwen van een + jail is hierdoor niet geraakt. De &man.jail.8; handleiding + is heel duidelijk over de procedure voor het maken van een + jail: + + &prompt.root; setenv D /here/is/the/jail +&prompt.root; mkdir -p $D +&prompt.root; cd /usr/src +&prompt.root; make world DESTDIR=$D +&prompt.root; cd etc/ Deze stap +s niet benodigd onder &os; 6.0 en later. +&prompt.root; make distribution DESTDIR=$D +&prompt.root; mount -t devfs devfs $D/dev + + + + Het selecteren van een locatie voor een jail is het beste + begin punt. Hier zal de jail fysiek te vinden zijn binnen + het bestandssysteem van het host systeem. Een goede keuze + kan zijn + /usr/jailjailnaam, + waar jailnaam de naam is welke + de jail beschrijft. Het + /usr + bestandssysteem heeft meestal genoeg ruimte voor het jail + bestandssysteem, wat voor een complete jail + eigenlijk een replicatie is van elk bestand dat aanwezig + is in de standaard installatie van een &os; basis systeem. + + + + Dit commando zal de gekozen fysieke directory vullen + met de benodigde binaire bestanden, bibliotheken, + handleidingen, etc. Alles wordt gedaan op de typische + &os; manier, eerst wordt het systeem gebouwd, daarna + wordt het geinstalleerd in de doel directory. + + + + Het distribution doel voor + make installeert elk benodigd + configuratie bestand. In simpelere termen, het installeert + alle installeerbare bestanden in + /usr/src/etc naar de + /etc directory van + de jail omgeving: + $D/etc. + + + + Het koppelen van het &man.devfs.8; bestands systeem + is niet vereist in een jail. Aan de andere kant, vrijwel + elke applicatie heeft toegang nodig tot minstens + één apparaat, afhankelijk van het doel van + het programma. Het is erg belangrijk om toegang tot + apparaten te controleren binnenin een jail, omdat incorrecte + instellingen een aanvaller de mogelijkheid kunnen geven om + vervelende dingen in de jail te doen. De controle over + &man.defvs.8; wordt gedaan door middel van rulesets, welke + beschreven worden in de &man.devfs.8; en &man.devfs.conf.5; + handleidingen. + + + + Zodra een jail is geinstalleerd, kan het opgestart worden + door de &man.jail.8; applicatie. De &man.jail.8; applicatie + heeft vier benodigde argumenten welke beschreven worden in + . Er kunnen ook andere argumenten + gebruikt worden, om bijvoorbeeld de jail et starten met de + credenties van een specifieke gebruiker. Het + argument + hangt af van het type jail, voor een + virtueel systeem is + /etc/rc een goede keuze, omdat het de + reguliere opstart procedure nabootst van een &os; systeem. + Voor een dienst jail is het geheel afhankelijk + van de dienst of applicatie die in de jail gaat draaien. + + Jails worden over het algemeen gestart, tegelijkertijd met de + systeem start, het &os; rc mechanisme levert + een makkelijke manier om dat te doen: + + + + Een lijst van jails die opgestart moeten worden tijdens het + opstarten van het systeem, moeten worden toegevoegd aan het + &man.rc.conf.5; bestand: + + jail_enable="YES" # Stel dit in op NO om te voorkomen dat er jails gestart worden +jail_list="www" # Door spaties gescheiden lijst van namen van jails + + + + Voor elke jail die gespecificeerd is in + jail_list moet een groep van &man.rc.conf.5; + instellingen worden toegevoegd: + + jail_www_rootdir="/usr/jail/www" # de hoofd directory van de jail +jail_www_hostname="www.example.org" # de hostnaam van de jail +jail_www_ip="192.168.0.10" # het IP adres van de jail +jail_www_devfs_enable="YES" # moet devfs wel of niet gekoppeld worden in de jail +jail_www_devfs_ruleset="www_ruleset" # welke devfs ruleset moet worden gebruikt voor de jail + + De standaard opstart variabelen in &man.rc.conf.5; + gebruiken het /etc/rc bestand om de jail + op te starten, wat er vanuit gaat dat de jail een compleet + virtueel systeem is. Voor service jails moet het standaard + opstart commando worden gewijzigd door het aanpassen van de + jail_jailname_exec_start + optie. + + + Voor een complete lijst van beschikbare opties, zie de + &man.rc.conf.5; handleiding. + + + + Het /etc/rc.d/jail bestand kan worden + gebruikt om jails handmatig te starten en te stoppen, mits er + een overeenkomstige set regels bestaat in + /etc/rc.conf. + + &prompt.root; /etc/rc.d/jail start www +&prompt.root; /etc/rc.d/jail stop www - Wordt nog vertaald. From owner-p4-projects@FreeBSD.ORG Mon Jul 28 20:31:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B61F1065676; Mon, 28 Jul 2008 20:31:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F7F01065675 for ; Mon, 28 Jul 2008 20:31:08 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 31BBA8FC1D for ; Mon, 28 Jul 2008 20:31:08 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SKV88d073063 for ; Mon, 28 Jul 2008 20:31:08 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SKV8X1073061 for perforce@freebsd.org; Mon, 28 Jul 2008 20:31:08 GMT (envelope-from trasz@freebsd.org) Date: Mon, 28 Jul 2008 20:31:08 GMT Message-Id: <200807282031.m6SKV8X1073061@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 20:31:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=146156 Change 146156 by trasz@trasz_traszkan on 2008/07/28 20:30:29 Implement ACL_DELETE and ACL_DELETE_CHILD. Note - it should be reviewed by someone who understands ufs_lookup(). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#17 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#10 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_lookup.c#6 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#17 (text+ko) ==== @@ -22,26 +22,6 @@ acl_set_extended_np, acl_set_flagset_np, acl_to_text_np, acl_is_trivial_np, acl_strip_np. -- Make access control more granular. The following are done: - - ACL_READ_DATA - ACL_WRITE_DATA - ACL_APPEND_DATA - ACL_EXECUTE - ACL_READ_ATTRIBUTES - ACL_WRITE_ATTRIBUTES - ACL_READ_NAMED_ATTRS (implemented, #ifdefed out for SunOS compatibility) - ACL_WRITE_NAMED_ATTRS (implemented, #ifdefed out for SunOS compatibility) - ACL_READ_ACL - ACL_WRITE_ACL - ACL_WRITE_OWNER - ACL_SYNCHRONIZE (not used) - - The following are left: - - ACL_DELETE_CHILD - ACL_DELETE - - Add granular access control to ZFS. - Write code to do the same operations on UFS and ZFS and compare results. ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#10 (text+ko) ==== @@ -88,18 +88,19 @@ } /* - * Return 1, if access is explicitly denied, -1, if its implicitly - * denied (not allowed), or 0, if allowed. + * Return 0, iff access is allowed, 1 otherwise. * - * XXX: There just cannot be a worse name than this one. */ static int -_match_acl(const struct acl *aclp, int needed_bits, struct ucred *cred, - int file_uid, int file_gid) +_acl_denies(const struct acl *aclp, int needed_bits, struct ucred *cred, + int file_uid, int file_gid, int *denied_explicitly) { int i; const struct acl_entry *entry; + if (denied_explicitly) + *denied_explicitly = 0; + for (i = 0; i < aclp->acl_cnt; i++) { entry = &(aclp->acl_entry[i]); @@ -134,8 +135,12 @@ } if (entry->ae_extended == ACL_EXTENDED_DENY) { - if (entry->ae_perm & needed_bits) + if (entry->ae_perm & needed_bits) { + if (denied_explicitly) + *denied_explicitly = 1; + return (1); + } } needed_bits &= ~(entry->ae_perm); @@ -144,7 +149,7 @@ return (0); } - return (-1); + return (1); } int @@ -153,7 +158,7 @@ int *privused) { mode_t priv_granted = 0; - int denied, is_directory; + int denied, explicitly_denied, is_directory; if (privused != NULL) *privused = 0; @@ -174,10 +179,16 @@ needed_bits &= ~(ACL_READ_ACL | ACL_WRITE_ACL | ACL_READ_ATTRIBUTES | ACL_WRITE_ATTRIBUTES); - denied = _match_acl(aclp, needed_bits, cred, file_uid, file_gid); + denied = _acl_denies(aclp, needed_bits, cred, file_uid, file_gid, + &explicitly_denied); if (!denied) return (0); + if ((acc_mode & VEXPLICIT_DENY) && explicitly_denied == 0) + return (0); + + acc_mode &= ~VEXPLICIT_DENY; + /* * If we want to append data to the file, either one of ACL_APPEND_DATA * or ACL_WRITE_DATA is sufficient. We just tested for the former @@ -187,7 +198,8 @@ needed_bits |= ACL_WRITE_DATA; needed_bits &= ~ACL_APPEND_DATA; - denied = _match_acl(aclp, needed_bits, cred, file_uid, file_gid); + denied = _acl_denies(aclp, needed_bits, cred, file_uid, + file_gid, NULL); if (!denied) return (0); } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#4 (text+ko) ==== @@ -310,15 +310,16 @@ /* * Modes. Some values same as Ixxx entries from inode.h for now. */ -#define VEXEC 000100 /* execute/search permission */ -#define VWRITE 000200 /* write permission */ -#define VREAD 000400 /* read permission */ -#define VSVTX 001000 /* save swapped text even after use */ -#define VSGID 002000 /* set group id on execution */ -#define VSUID 004000 /* set user id on execution */ -#define VADMIN 010000 /* permission to administer */ -#define VSTAT 020000 /* permission to retrieve attrs */ -#define VAPPEND 040000 /* permission to write/append */ +#define VEXEC 0000100 /* execute/search permission */ +#define VWRITE 0000200 /* write permission */ +#define VREAD 0000400 /* read permission */ +#define VSVTX 0001000 /* save swapped text even after use */ +#define VSGID 0002000 /* set group id on execution */ +#define VSUID 0004000 /* set user id on execution */ +#define VADMIN 0010000 /* permission to administer */ +#define VSTAT 0020000 /* permission to retrieve attrs */ +#define VAPPEND 0040000 /* permission to write/append */ +#define VEXPLICIT_DENY 0100000 /* return EPERM only if permission was denied explicitly */ #define VALLPERM (VEXEC | VWRITE | VREAD | VADMIN | VSTAT | VAPPEND) /* ==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_lookup.c#6 (text+ko) ==== @@ -77,6 +77,59 @@ /* true if old FS format...*/ #define OFSFMT(vp) ((vp)->v_mount->mnt_maxsymlinklen <= 0) +static int +ufs_delete_denied(struct vnode *vdp, struct vnode *tdp, struct ucred *cred, + struct thread *td) +{ + int error; + + /* + * NFSv4 Minor Version 1, draft-ietf-nfsv4-minorversion1-03.txt + * + * 3.16.2.1. ACE4_DELETE vs. ACE4_DELETE_CHILD + */ + + /* + * XXX: Is this check required? + */ + error = VOP_GRANULAR(vdp, VEXEC, ACL_EXECUTE, cred, td); + if (error) + return (error); + + error = VOP_GRANULAR(tdp, VADMIN, ACL_DELETE, cred, td); + if (error == 0) + return (0); + + error = VOP_GRANULAR(vdp, VWRITE, ACL_DELETE_CHILD, cred, td); + if (error == 0) + return (0); + + error = VOP_GRANULAR(vdp, VWRITE | VEXPLICIT_DENY, ACL_DELETE_CHILD, + cred, td); + if (error) + return (error); + + /* + * Standard Unix access control - delete access requires VWRITE. + */ + error = VOP_GRANULAR(vdp, VWRITE, ACL_WRITE_DATA, cred, td); + if (error) + return (error); + + /* + * If directory is "sticky", then user must own + * the directory, or the file in it, else she + * may not delete it (unless she's root). This + * implements append-only directories. + */ + if ((VTOI(vdp)->i_mode & ISVTX) && + VOP_ACCESS(vdp, VADMIN, cred, td) && + VOP_ACCESS(tdp, VADMIN, cred, td)) + return (EPERM); + + return (0); +} + /* * Convert a component of a pathname into a pointer to a locked inode. * This is a very central and rather complicated routine. @@ -495,12 +548,17 @@ */ if (nameiop == DELETE && (flags & ISLASTCN)) { ASSERT_VOP_ELOCKED(vdp, __FUNCTION__); - /* - * Write access to directory required to delete files. - */ - error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_thread); - if (error) + if ((error = VFS_VGET(vdp->v_mount, ino, + LK_EXCLUSIVE, &tdp)) != 0) + return (error); + + error = ufs_delete_denied(vdp, tdp, cred, cnp->cn_thread); + if (error) { + vput(tdp); return (error); + } + + /* * Return pointer to current entry in dp->i_offset, * and distance past previous entry (if there @@ -514,23 +572,10 @@ if (dp->i_number == ino) { VREF(vdp); *vpp = vdp; + vput(tdp); return (0); } - if ((error = VFS_VGET(vdp->v_mount, ino, - LK_EXCLUSIVE, &tdp)) != 0) - return (error); - /* - * If directory is "sticky", then user must own - * the directory, or the file in it, else she - * may not delete it (unless she's root). This - * implements append-only directories. - */ - if ((dp->i_mode & ISVTX) && - VOP_ACCESS(vdp, VADMIN, cred, cnp->cn_thread) && - VOP_ACCESS(tdp, VADMIN, cred, cnp->cn_thread)) { - vput(tdp); - return (EPERM); - } + *vpp = tdp; return (0); } From owner-p4-projects@FreeBSD.ORG Mon Jul 28 21:33:12 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9E211065676; Mon, 28 Jul 2008 21:33:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADC2B1065673 for ; Mon, 28 Jul 2008 21:33:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9169F8FC0A for ; Mon, 28 Jul 2008 21:33:11 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SLXBxA089110 for ; Mon, 28 Jul 2008 21:33:11 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SLXB8S089108 for perforce@freebsd.org; Mon, 28 Jul 2008 21:33:11 GMT (envelope-from sam@freebsd.org) Date: Mon, 28 Jul 2008 21:33:11 GMT Message-Id: <200807282133.m6SLXB8S089108@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146161 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 21:33:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=146161 Change 146161 by sam@sam_ebb on 2008/07/28 21:33:05 correct decap of of AppleTalk and IPX frames; don't strip the SNAP header as they have one natively Submitted by: Chris Zimmermann Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_input.c#31 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_input.c#31 (text+ko) ==== @@ -239,7 +239,10 @@ llc = (struct llc *)(mtod(m, caddr_t) + hdrlen); if (llc->llc_dsap == LLC_SNAP_LSAP && llc->llc_ssap == LLC_SNAP_LSAP && llc->llc_control == LLC_UI && llc->llc_snap.org_code[0] == 0 && - llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0) { + llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0 && + /* NB: preserve AppleTalk frames that have a native SNAP hdr */ + !(llc->llc_snap.ether_type == htons(ETHERTYPE_AARP) || + llc->llc_snap.ether_type == htons(ETHERTYPE_IPX))) { m_adj(m, hdrlen + sizeof(struct llc) - sizeof(*eh)); llc = NULL; } else { From owner-p4-projects@FreeBSD.ORG Mon Jul 28 21:49:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C87C7106566B; Mon, 28 Jul 2008 21:49:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8CD4A1065672 for ; Mon, 28 Jul 2008 21:49:28 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 657188FC13 for ; Mon, 28 Jul 2008 21:49:28 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6SLnSLV090438 for ; Mon, 28 Jul 2008 21:49:28 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6SLnSxs090436 for perforce@freebsd.org; Mon, 28 Jul 2008 21:49:28 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 28 Jul 2008 21:49:28 GMT Message-Id: <200807282149.m6SLnSxs090436@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146164 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2008 21:49:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146164 Change 146164 by pgj@disznohal on 2008/07/28 21:49:03 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#11 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#12 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#11 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -31,24 +31,24 @@ LPD spooling system printing - FreeBSD can be used to print with a wide variety of printers, from the + &os; can be used to print with a wide variety of printers, from the oldest impact printer to the latest laser printers, and everything in between, allowing you to produce high-quality printed output from the applications you run. - FreeBSD can also be configured to act as a print server on a - network; in this capacity FreeBSD can receive print jobs from a variety - of other computers, including other FreeBSD computers, &windows; and &macos; - hosts. FreeBSD will ensure that one job at a time is printed, and can - keep statistics on which users and machines are doing the most printing, - produce banner pages showing who's printout is who's, and - more. + &os; can also be configured to act as a print server on a + network; in this capacity &os; can receive print jobs from a variety + of other computers, including other &os; computers, &windows; and + &macos; hosts. &os; will ensure that one job at a time is printed, and + can keep statistics on which users and machines are doing the most + printing, produce banner pages showing who's printout is + who's, and more. After reading this chapter, you will know: - How to configure the FreeBSD print spooler. + How to configure the &os; print spooler. @@ -89,7 +89,7 @@ - Know how to configure and install a new kernel + Know how to configure and install a new kernel (). @@ -98,20 +98,20 @@ Introduction - In order to use printers with FreeBSD, you may set + In order to use printers with &os; you may set them up to work with the Berkeley line printer spooling system, also known as the LPD spooling system, or just LPD. - It is the standard printer control system in FreeBSD. This + It is the standard printer control system in &os;. This chapter introduces LPD and will guide you through its configuration. - If you are already familiar with + If you are already familiar with LPD or another printer spooling system, you may wish to skip to section Basic Setup. + linkend="printing-intro-setup">Basic Setup. - LPD controls everything about a + LPD controls everything about a host's printers. It is responsible for a number of things: @@ -145,7 +145,7 @@ - It can send jobs over the network to a + It can send jobs over the network to a LPD spooler on another host. @@ -162,14 +162,14 @@ Through a configuration file (/etc/printcap), and by providing the special filter programs, you can enable the LPD - system to do all or some - subset of the above for a great variety of printer hardware. + system to do all or some subset of the above for a great variety of + printer hardware. Why You Should Use the Spooler If you are the sole user of your system, you may be wondering - why you should bother with the spooler when you do not need access + why you should bother with the spooler when you do not need access control, header pages, or printer accounting. While it is possible to enable direct access to a printer, you should use the spooler anyway since: @@ -177,17 +177,16 @@ LPD prints jobs in the background; - you do not have to wait - for data to be copied to the printer. + you do not have to wait for data to be copied to the + printer. &tex; - LPD can conveniently run a job - to be printed through - filters to add date/time headers or convert a special file - format (such as a &tex; DVI file) into a format the printer will - understand. You will not have to do these steps + LPD can conveniently run a job + to be printed through filters to add date/time headers or convert + a special file format (such as a &tex; DVI file) into a format + the printer will understand. You will not have to do these steps manually. @@ -206,26 +205,23 @@ Basic Setup To use printers with the LPD spooling - system, you will need to - set up both your printer hardware and the - LPD software. This - document describes two levels of setup: + system, you will need to set up both your printer hardware and the + LPD software. This document describes two + levels of setup: See section Simple Printer - Setup to learn how to connect a printer, tell - LPD how to - communicate with it, and print plain text files to the - printer. + Setup to learn how to connect a printer, tell + LPD how to communicate with it, and + print plain text files to the printer. - See section Advanced - Printer Setup to learn how to print a variety of - special file formats, to print header pages, to print across a - network, to control access to printers, and to do printer - accounting. + See section Advanced Printer + Setup to learn how to print a variety of special file + formats, to print header pages, to print across a network, to + control access to printers, and to do printer accounting. @@ -233,7 +229,7 @@ Simple Printer Setup This section tells how to configure printer hardware and the - LPD software to use the printer. + LPD software to use the printer. It teaches the basics: @@ -245,7 +241,7 @@ Section Software - Setup shows how to set up the + Setup shows how to set up the LPD spooler configuration file (/etc/printcap). @@ -259,9 +255,9 @@ Although this section is called Simple Printer Setup, it is actually fairly complex. Getting the printer to work with your computer and the LPD - spooler is the hardest - part. The advanced options like header pages and accounting are - fairly easy once you get the printer working. + spooler is the hardest part. The advanced options like header pages + and accounting are fairly easy once you get the printer + working. Hardware Setup @@ -269,12 +265,12 @@ This section tells about the various ways you can connect a printer to your PC. It talks about the kinds of ports and cables, and also the kernel configuration you may need to enable - FreeBSD to speak to the printer. + &os; to speak to the printer. If you have already connected your printer and have successfully printed with it under another operating system, you can probably skip to section Software Setup. + linkend="printing-software">Software Setup. Ports and Cables @@ -284,9 +280,9 @@ - printers - serial - + printers + serial + Serial interfaces, also known as RS-232 or COM ports, use a serial port @@ -296,14 +292,14 @@ interfaces sometimes need special cables and might require you to configure somewhat complex communications options. Most PC serial ports have a maximum - transmission rate of 115200 bps, which makes printing - large graphic print jobs with them impractical. + transmission rate of 115200 bps, which makes printing + large graphic print jobs with them impractical. - printers - parallel - + printers + parallel + Parallel interfaces use a parallel port on your computer to send data to the @@ -315,7 +311,7 @@ configuration exceedingly simple. - centronics + centronics parallel printers Parallel interfaces are sometimes known as @@ -324,54 +320,52 @@ - printers - USB - + printers + USB + USB interfaces, named for the Universal Serial - Bus, can run at even faster speeds than parallel or - RS-232 serial interfaces. Cables are simple and cheap. - USB is superior to RS-232 Serial and to Parallel for - printing, but it is not as well supported under &unix; - systems. A way to avoid this problem is to purchase a - printer that has both a USB interface and a Parallel - interface, as many printers do. + Bus, can run at even faster speeds than parallel or + RS-232 serial interfaces. Cables are simple and cheap. + USB is superior to RS-232 Serial and to Parallel for + printing, but it is not as well supported under &unix; + systems. A way to avoid this problem is to purchase a + printer that has both a USB interface and a Parallel + interface, as many printers do. In general, Parallel interfaces usually offer just one-way communication (computer to printer) while serial - and USB gives you two-way. Newer parallel ports (EPP and - ECP) and printers - can communicate in both directions under FreeBSD when a - IEEE-1284-compliant cable is used. + and USB gives you two-way. Newer parallel ports (EPP and + ECP) and printers can communicate in both directions under &os; + when a IEEE-1284-compliant cable is used. PostScript Two-way communication to the printer over a parallel port is generally done in one of two ways. The first method - uses a custom-built printer driver for FreeBSD that speaks + uses a custom-built printer driver for &os; that speaks the proprietary language used by the printer. This is common with inkjet printers and can be used for reporting ink levels and other status information. The second method is used when the printer supports &postscript;. - &postscript; jobs are - actually programs sent to the printer; they need not produce - paper at all and may return results directly to the computer. - &postscript; also uses two-way communication to tell the - computer about problems, such as errors in the &postscript; - program or paper jams. Your users may be appreciative of such - information. Furthermore, the best way to do effective - accounting with a &postscript; printer requires two-way - communication: you ask the printer for its page count (how + &postscript; jobs are actually programs sent to the printer; + they need not produce paper at all and may return results + directly to the computer. &postscript; also uses two-way + communication to tell the computer about problems, such as errors + in the &postscript; program or paper jams. Your users may be + appreciative of such information. Furthermore, the best way to + do effective accounting with a &postscript; printer requires + two-way communication: you ask the printer for its page count (how many pages it has printed in its lifetime), then send the user's job, then ask again for its page count. Subtract the two values and you know how much paper to charge to the user. - + Parallel Ports @@ -381,11 +375,12 @@ both should give you complete guidance. Remember which parallel port you used on the computer. - The first parallel port is ppc0 to - FreeBSD; the second is ppc1, and so - on. The printer device name uses the same scheme: - /dev/lpt0 for the printer on the first - parallel ports etc. + The first parallel port is + ppc0 to &os;; the second + is ppc1, and so on. The + printer device name uses the same scheme: + /dev/lpt0 for the printer + on the first parallel ports etc. @@ -436,7 +431,7 @@ baud rate) that both your computer and the printer can support. Choose 7 or 8 data bits; none, even, or odd parity; and 1 or 2 stop bits. Also choose a flow - control protocol: either none, or XON/XOFF (also known as + control protocol: either none, or XON/XOFF (also known as in-band or software) flow control. Remember these settings for the software configuration that follows. @@ -447,7 +442,7 @@ Software Setup This section describes the software setup necessary to print - with the LPD spooling system in FreeBSD. + with the LPD spooling system in &os;. Here is an outline of the steps involved: @@ -456,15 +451,15 @@ Configure your kernel, if necessary, for the port you are using for the printer; section Kernel Configuration tells + linkend="printing-kernel">Kernel Configuration tells you what you need to do. Set the communications mode for the parallel port, if you are using a parallel port; section Setting the - Communication Mode for the Parallel Port gives + linkend="printing-parallel-port-mode">Setting the + Communication Mode for the Parallel Port gives details. @@ -476,10 +471,9 @@
- Set up LPD for the printer by - modifying the file - /etc/printcap. You will find out how - to do this later in this chapter. + Set up LPD for the printer by + modifying the file /etc/printcap. You + will find out how to do this later in this chapter. @@ -495,7 +489,7 @@ To find out if the kernel you are currently using supports a serial interface, type: - &prompt.root; grep sioN /var/run/dmesg.boot + &prompt.root; grep sioN /var/run/dmesg.boot Where N is the number of the serial port, starting from zero. If you see output similar to @@ -509,17 +503,17 @@ To find out if the kernel supports a parallel interface, type: - &prompt.root; grep ppcN /var/run/dmesg.boot + &prompt.root; grep ppcN /var/run/dmesg.boot Where N is the number of the parallel port, starting from zero. If you see output similar to the following: - - ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 + + ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold - - then the kernel supports the port. + + then the kernel supports the port. You might have to reconfigure your kernel in order for the operating system to recognize and use the parallel or serial @@ -531,328 +525,327 @@ follows.
- - Setting the Communication Mode for the Parallel - Port - When you are using the parallel interface, you can choose - whether FreeBSD should use interrupt-driven or polled - communication with the printer. The generic printer - device driver (&man.lpt.4;) on FreeBSD - uses the &man.ppbus.4; system, which controls the port - chipset with the &man.ppc.4; driver. + + Setting the Communication Mode for the Parallel + Port - - - The interrupt-driven method is - the default with the GENERIC kernel. With this method, - the operating system uses an IRQ line to determine when - the printer is ready for data. - + When you are using the parallel interface, you can choose + whether &os; should use interrupt-driven or polled + communication with the printer. The generic printer + device driver (&man.lpt.4;) on &os; + uses the &man.ppbus.4; system, which controls the port + chipset with the &man.ppc.4; driver. - - The polled method directs the - operating system to repeatedly ask the printer if it is - ready for more data. When it responds ready, the kernel - sends more data. - - + + + The interrupt-driven method is + the default with the GENERIC kernel. With this method, + the operating system uses an IRQ line to determine when + the printer is ready for data. + - The interrupt-driven method is usually somewhat faster - but uses up a precious IRQ line. Some newer HP printers - are claimed not to work correctly in interrupt mode, - apparently due to some (not yet exactly understood) timing - problem. These printers need polled mode. You should use - whichever one works. Some printers will work in both - modes, but are painfully slow in interrupt mode. + + The polled method directs the + operating system to repeatedly ask the printer if it is + ready for more data. When it responds ready, the kernel + sends more data. + + - You can set the communications mode in two ways: by - configuring the kernel or by using the &man.lptcontrol.8; - program. + The interrupt-driven method is usually somewhat faster + but uses up a precious IRQ line. Some newer HP printers + are claimed not to work correctly in interrupt mode, + apparently due to some (not yet exactly understood) timing + problem. These printers need polled mode. You should use + whichever one works. Some printers will work in both + modes, but are painfully slow in interrupt mode. - To set the communications mode by configuring - the kernel: + You can set the communications mode in two ways: by + configuring the kernel or by using the &man.lptcontrol.8; + program. - - - Edit your kernel configuration file. Look for - an ppc0 entry. If you are setting up - the second parallel port, use ppc1 - instead. Use ppc2 for the third port, - and so on. + To set the communications mode by configuring + the kernel: - - - If you want interrupt-driven mode, edit the following line: + + + Edit your kernel configuration file. Look for + an ppc0 entry. If you are setting up + the second parallel port, use ppc1 + instead. Use ppc2 for the third port, + and so on. - hint.ppc.0.irq="N" + + + If you want interrupt-driven mode, edit the following + line: - in the /boot/device.hints file - and replace N with the right - IRQ number. The kernel configuration file must - also contain the &man.ppc.4; driver: + hint.ppc.0.irq="N" - device ppc + in the /boot/device.hints file + and replace N with the right + IRQ number. The kernel configuration file must + also contain the &man.ppc.4; driver: - + device ppc + - - If you want polled mode, remove in your - /boot/device.hints file, the - following line: + + If you want polled mode, remove in your + /boot/device.hints file, the + following line: - hint.ppc.0.irq="N" + hint.ppc.0.irq="N" - In some cases, this is not enough to put the - port in polled mode under FreeBSD. Most of - time it comes from &man.acpi.4; driver, this latter - is able to probe and attach devices, and therefore, - control the access mode to the printer port. You - should check your &man.acpi.4; configuration to - correct this problem. - - - + In some cases, this is not enough to put the + port in polled mode under &os;. Most of + time it comes from &man.acpi.4; driver, this latter + is able to probe and attach devices, and therefore, + control the access mode to the printer port. You + should check your &man.acpi.4; configuration to + correct this problem. + + + - - Save the file. Then configure, build, and install the - kernel, then reboot. See kernel configuration for - more details. - - + + Save the file. Then configure, build, and install the + kernel, then reboot. See kernel + configuration for more details. + + - To set the communications mode with - &man.lptcontrol.8;: + To set the communications mode with + &man.lptcontrol.8;: - - - Type: + + + Type: - &prompt.root; lptcontrol -i -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN - to set interrupt-driven mode for - lptN. - + to set interrupt-driven mode for + lptN. + - - Type: + + Type: - &prompt.root; lptcontrol -p -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN - to set polled-mode for + to set polled-mode for lptN. - - + + - You could put these commands in your - /etc/rc.local file to set the mode each - time your system boots. See &man.lptcontrol.8; for more - information. - + You could put these commands in your + /etc/rc.local file to set the mode each + time your system boots. See &man.lptcontrol.8; for more + information. + - - Checking Printer Communications + + Checking Printer Communications - Before proceeding to configure the spooling system, you - should make sure the operating system can successfully send - data to your printer. It is a lot easier to debug printer - communication and the spooling system separately. + Before proceeding to configure the spooling system, you + should make sure the operating system can successfully send + data to your printer. It is a lot easier to debug printer + communication and the spooling system separately. - To test the printer, we will send some text to it. For - printers that can immediately print characters sent to them, - the program &man.lptest.1; is perfect: it generates all 96 - printable ASCII characters in 96 lines. + To test the printer, we will send some text to it. For + printers that can immediately print characters sent to them, + the program &man.lptest.1; is perfect: it generates all 96 + printable ASCII characters in 96 lines. - PostScript - For a &postscript; (or other language-based) printer, we - will need a more sophisticated test. A small &postscript; - program, such as the following, will suffice: + PostScript + For a &postscript; (or other language-based) printer, we + will need a more sophisticated test. A small &postscript; + program, such as the following, will suffice: - %!PS + %!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage - The above &postscript; code can be placed into a file and - used as shown in the examples appearing in the following - sections. + The above &postscript; code can be placed into a file and + used as shown in the examples appearing in the following + sections. - PCL - - When this document refers to a printer language, it is - assuming a language like &postscript;, and not Hewlett - Packard's PCL. Although PCL has great functionality, you - can intermingle plain text with its escape sequences. - &postscript; cannot directly print plain text, and that is the - kind of printer language for which we must make special - accommodations. - + PCL + + When this document refers to a printer language, it is + assuming a language like &postscript;, and not Hewlett + Packard's PCL. Although PCL has great functionality, you + can intermingle plain text with its escape sequences. + &postscript; cannot directly print plain text, and that is the + kind of printer language for which we must make special + accommodations. + - - Checking a Parallel Printer + + Checking a Parallel Printer - - printers - parallel - - This section tells you how to check if FreeBSD can - communicate with a printer connected to a parallel - port. + + printers + parallel + + This section tells you how to check if &os; can + communicate with a printer connected to a parallel + port. - To test a printer on a parallel - port: + To test a printer on a parallel + port: - - - Become root with &man.su.1;. - + + + Become root with &man.su.1;. + - - Send data to the printer. + + Send data to the printer. - - - If the printer can print plain text, then use - &man.lptest.1;. Type: + + + If the printer can print plain text, then use + &man.lptest.1;. Type: - &prompt.root; lptest > /dev/lptN + &prompt.root; lptest > /dev/lptN - Where N is the number - of the parallel port, starting from zero. - + Where N is the number + of the parallel port, starting from zero. + - - If the printer understands &postscript; or other - printer language, then send a small program to the - printer. Type: + + If the printer understands &postscript; or other + printer language, then send a small program to the + printer. Type: - &prompt.root; cat > /dev/lptN + &prompt.root; cat > /dev/lptN - Then, line by line, type the program - carefully as you cannot edit a - line once you have pressed RETURN - or ENTER. When you have finished - entering the program, press - CONTROL+D, or whatever your end - of file key is. + Then, line by line, type the program + carefully as you cannot edit a + line once you have pressed RETURN + or ENTER. When you have finished + entering the program, press + CONTROL+D, or whatever your end + of file key is. - Alternatively, you can put the program in a file - and type: + Alternatively, you can put the program in a file + and type: - &prompt.root; cat file > /dev/lptN + &prompt.root; cat file > /dev/lptN - Where file is the - name of the file containing the program you want to - send to the printer. - - - - + Where file is the + name of the file containing the program you want to + send to the printer. + + + + - You should see something print. Do not worry if the - text does not look right; we will fix such things - later. - + You should see something print. Do not worry if the + text does not look right; we will fix such things + later. + - - Checking a Serial Printer + + Checking a Serial Printer - - printers - serial - - This section tells you how to check if FreeBSD can - communicate with a printer on a serial port. + + printers + serial + + This section tells you how to check if &os; can + communicate with a printer on a serial port. - To test a printer on a serial - port: + To test a printer on a serial + port: - - - Become root with &man.su.1;. - + + + Become root with &man.su.1;. + - - Edit the file /etc/remote. Add - the following entry: + + Edit the file /etc/remote. Add + the following entry: - printer:dv=/dev/port:br#bps-rate:pa=parity + printer:dv=/dev/port:br#bps-rate:pa=parity - bits-per-second - serial port - parity - Where port is the device - entry for the serial port (ttyd0, - ttyd1, etc.), - bps-rate is the - bits-per-second rate at which the printer communicates, - and parity is the parity - required by the printer (either even, - odd, none, or - zero). + bits-per-second + serial port + parity + Where port is the device + entry for the serial port (ttyd0, + ttyd1, etc.), + bps-rate is the + bits-per-second rate at which the printer communicates, + and parity is the parity + required by the printer (either even, + odd, none, or + zero). - Here is a sample entry for a printer connected via - a serial line to the third serial port at 19200 bps with - no parity: + Here is a sample entry for a printer connected via + a serial line to the third serial port at 19200 bps + with no parity: - printer:dv=/dev/ttyd2:br#19200:pa=none - + printer:dv=/dev/ttyd2:br#19200:pa=none + - - Connect to the printer with &man.tip.1;. - Type: + + Connect to the printer with &man.tip.1;. + Type: - &prompt.root; tip printer + &prompt.root; tip printer - If this step does not work, edit the file - /etc/remote again and try using - /dev/cuaaN - instead of - /dev/ttydN. - + If this step does not work, edit the file + /etc/remote again and try using + /dev/cuaaN instead of + /dev/ttydN. + - - Send data to the printer. + + Send data to the printer. - - - If the printer can print plain text, then use >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 29 10:34:38 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A675106567E; Tue, 29 Jul 2008 10:34:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D25871065677 for ; Tue, 29 Jul 2008 10:34:37 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C57CB8FC21 for ; Tue, 29 Jul 2008 10:34:37 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TAYbXN097434 for ; Tue, 29 Jul 2008 10:34:37 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TAYbaW097432 for perforce@freebsd.org; Tue, 29 Jul 2008 10:34:37 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 10:34:37 GMT Message-Id: <200807291034.m6TAYbaW097432@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 10:34:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=146198 Change 146198 by trasz@trasz_traszkan on 2008/07/29 10:33:51 Fix granting VSTAT to superuser. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#11 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#11 (text+ko) ==== @@ -228,7 +228,7 @@ if ((acc_mode & VADMIN) && !priv_check_cred(cred, PRIV_VFS_ADMIN, 0)) priv_granted |= VADMIN; - if (priv_granted != 0) + if ((acc_mode & VSTAT) && !priv_check_cred(cred, PRIV_VFS_READ, 0)) priv_granted |= VSTAT; if ((acc_mode & priv_granted) == acc_mode) { From owner-p4-projects@FreeBSD.ORG Tue Jul 29 12:02:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9DCE106567A; Tue, 29 Jul 2008 12:02:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A2501065679 for ; Tue, 29 Jul 2008 12:02:06 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6AE8D8FC34 for ; Tue, 29 Jul 2008 12:02:06 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TC26T9005712 for ; Tue, 29 Jul 2008 12:02:06 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TC26a9005710 for perforce@freebsd.org; Tue, 29 Jul 2008 12:02:06 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 12:02:06 GMT Message-Id: <200807291202.m6TC26a9005710@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146200 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 12:02:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=146200 Change 146200 by trasz@trasz_traszkan on 2008/07/29 12:01:56 Implement removing entries by number. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#19 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#3 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#2 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#19 (text+ko) ==== @@ -1,7 +1,5 @@ Things to do, in no particular order: -- Add the ability to remove ACE by number to setfacl(1), - - Add the ability to add ACE at a given position in ACL to setfacl(1), - Add the ability to parse ACLs in verbose form, e.g. instead of ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/remove.c#3 (text+ko) ==== @@ -87,6 +87,63 @@ return (0); } +int +remove_by_number(uint entry_number, acl_t *prev_acl) +{ + acl_entry_t entry; + acl_t acl_new; + acl_tag_t tag; + int carried_error, entry_id; + uint i; + + carried_error = 0; + + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) + acl_new = acl_dup(prev_acl[ACCESS_ACL]); + else + acl_new = acl_dup(prev_acl[DEFAULT_ACL]); + if (acl_new == NULL) + err(1, "acl_dup() failed"); + + tag = ACL_UNDEFINED_TAG; + + /* + * Find out whether we're removing the mask entry, + * to behave the same as the routine above. + * + * XXX: Is this loop actually needed? + */ + entry_id = ACL_FIRST_ENTRY; + i = 0; + while (acl_get_entry(acl_new, entry_id, &entry) == 1) { + entry_id = ACL_NEXT_ENTRY; + if (i != entry_number) + continue; + if (acl_get_tag_type(entry, &tag) == -1) + err(1, "acl_get_tag_type() failed"); + if (tag == ACL_MASK) + have_mask++; + } + + if (acl_delete_entry_np(acl_new, entry_number) == -1) { + carried_error++; + warnx("cannot remove non-existent acl entry"); + } + + if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) { + acl_free(prev_acl[ACCESS_ACL]); + prev_acl[ACCESS_ACL] = acl_new; + } else { + acl_free(prev_acl[DEFAULT_ACL]); + prev_acl[DEFAULT_ACL] = acl_new; + } + + if (carried_error) + return (-1); + + return (0); +} + /* * remove default entries */ ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#4 (text+ko) ==== @@ -112,10 +112,11 @@ { acl_t *acl, final_acl; char filename[PATH_MAX]; - int local_error, carried_error, ch, i; + int local_error, carried_error, ch, i, entry_number; struct sf_file *file; struct sf_entry *entry; const char *fn_dup; + char *end; acl_type = ACL_TYPE_ACCESS; carried_error = local_error = 0; @@ -169,10 +170,18 @@ break; case 'x': entry = zmalloc(sizeof(struct sf_entry)); - entry->acl = acl_from_text(optarg); - if (entry->acl == NULL) - err(1, "%s", optarg); - entry->op = OP_REMOVE_ACL; + entry_number = strtol(optarg, &end, 10); + if (end - optarg == (int)strlen(optarg)) { + if (entry_number < 0) + errx(1, "Entry number cannot be less than zero"); + entry->entry_number = entry_number; + entry->op = OP_REMOVE_BY_NUMBER; + } else { + entry->acl = acl_from_text(optarg); + if (entry->acl == NULL) + err(1, "%s", optarg); + entry->op = OP_REMOVE_ACL; + } TAILQ_INSERT_TAIL(&entrylist, entry, next); break; default: @@ -247,6 +256,10 @@ local_error += remove_acl(entry->acl, acl); need_mask = 1; break; + case OP_REMOVE_BY_NUMBER: + local_error += remove_by_number(entry->entry_number, acl); + need_mask = 1; + break; } } ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#2 (text+ko) ==== @@ -38,6 +38,7 @@ #define OP_REMOVE_DEF 0x01 /* remove default acl's (-k) */ #define OP_REMOVE_EXT 0x02 /* remove extended acl's (-b) */ #define OP_REMOVE_ACL 0x03 /* remove acl's (-xX) */ +#define OP_REMOVE_BY_NUMBER 0x04 /* remove acl's (-xX) by acl entry number */ /* ACL types for the acl array */ #define ACCESS_ACL 0 @@ -47,6 +48,7 @@ struct sf_entry { uint op; acl_t acl; + uint entry_number; TAILQ_ENTRY(sf_entry) next; }; TAILQ_HEAD(, sf_entry) entrylist; @@ -64,6 +66,7 @@ int merge_acl(acl_t acl, acl_t *prev_acl); /* remove.c */ int remove_acl(acl_t acl, acl_t *prev_acl); +int remove_by_number(uint entry_number, acl_t *prev_acl); int remove_default(acl_t *prev_acl); void remove_ext(acl_t *prev_acl); /* mask.c */ From owner-p4-projects@FreeBSD.ORG Tue Jul 29 12:22:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8303D106567D; Tue, 29 Jul 2008 12:22:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46C63106564A for ; Tue, 29 Jul 2008 12:22:27 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 366808FC1D for ; Tue, 29 Jul 2008 12:22:27 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TCMRun008509 for ; Tue, 29 Jul 2008 12:22:27 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TCMR3h008507 for perforce@freebsd.org; Tue, 29 Jul 2008 12:22:27 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 12:22:27 GMT Message-Id: <200807291222.m6TCMR3h008507@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146202 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 12:22:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=146202 Change 146202 by trasz@trasz_traszkan on 2008/07/29 12:21:28 Change the last argument for acl_to_text_np into proper flags field. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#13 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#7 (text+ko) ==== @@ -222,7 +222,10 @@ } } - acl_text = acl_to_text_np(acl, 0, vflag); + if (vflag) + acl_text = acl_to_text_np(acl, 0, ACL_TEXT_VERBOSE); + else + acl_text = acl_to_text_np(acl, 0, 0); if (!acl_text) { warn("%s", path); return(-1); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#5 (text+ko) ==== @@ -51,7 +51,7 @@ * a non-POSIX.1e semantics ACL. */ -char *_nfs4_acl_to_text_np(const acl_t acl, ssize_t *len_p, int verbose); +char *_nfs4_acl_to_text_np(const acl_t acl, ssize_t *len_p, int flags); static char * _posix1e_acl_to_text(acl_t acl, ssize_t *len_p) @@ -240,14 +240,14 @@ } char * -acl_to_text_np(acl_t acl, ssize_t *len_p, int verbose) +acl_to_text_np(acl_t acl, ssize_t *len_p, int flags) { switch (_acl_brand(acl)) { case ACL_BRAND_POSIX: return (_posix1e_acl_to_text(acl, len_p)); case ACL_BRAND_NFS4: - return (_nfs4_acl_to_text_np(acl, len_p, verbose)); + return (_nfs4_acl_to_text_np(acl, len_p, flags)); default: errno = EINVAL; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#7 (text+ko) ==== @@ -131,14 +131,17 @@ } static int -format_entry(char *str, size_t size, const acl_entry_t entry, int verbose) +format_entry(char *str, size_t size, const acl_entry_t entry, int flags) { size_t off = 0, padding_length, maximum_who_field_length = 18; acl_permset_t permset; acl_flagset_t flagset; - int error, len; + int error, len, verbose = 0; char buf[MAX_ENTRY_LENGTH + 1]; + if (flags & ACL_TEXT_VERBOSE) + verbose = 1; + assert(_entry_brand(entry) == ACL_BRAND_NFS4); error = acl_get_flagset_np(entry, &flagset); @@ -182,7 +185,7 @@ } char * -_nfs4_acl_to_text_np(const acl_t aclp, ssize_t *len_p, int verbose) +_nfs4_acl_to_text_np(const acl_t aclp, ssize_t *len_p, int flags) { int error, off = 0, size, entry_id = ACL_FIRST_ENTRY; char *str; @@ -201,7 +204,7 @@ assert(off < size); - error = format_entry(str + off, size - off, entry, verbose); + error = format_entry(str + off, size - off, entry, flags); if (error) { errno = EINVAL; return (NULL); ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#13 (text+ko) ==== @@ -225,6 +225,10 @@ */ #define ACL_UNDEFINED_ID ((uid_t)-1) +/* + * Possible values for _flags parameter in acl_to_text_np(3). + */ +#define ACL_TEXT_VERBOSE 1 #ifdef _KERNEL @@ -346,7 +350,7 @@ int acl_set_tag_type(acl_entry_t _entry_d, acl_tag_t _tag_type); ssize_t acl_size(acl_t _acl); char *acl_to_text(acl_t _acl, ssize_t *_len_p); -char *acl_to_text_np(acl_t _acl, ssize_t *_len_p, int _verbose); +char *acl_to_text_np(acl_t _acl, ssize_t *_len_p, int _flags); int acl_valid(acl_t _acl); int acl_valid_fd_np(int _fd, acl_type_t _type, acl_t _acl); int acl_valid_file_np(const char *_path_p, acl_type_t _type, acl_t _acl); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 12:23:29 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA48E106567B; Tue, 29 Jul 2008 12:23:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BA62106564A for ; Tue, 29 Jul 2008 12:23:28 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 618268FC13 for ; Tue, 29 Jul 2008 12:23:28 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TCNS5m008577 for ; Tue, 29 Jul 2008 12:23:28 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TCNSgp008575 for perforce@freebsd.org; Tue, 29 Jul 2008 12:23:28 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 12:23:28 GMT Message-Id: <200807291223.m6TCNSgp008575@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146203 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 12:23:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=146203 Change 146203 by trasz@trasz_traszkan on 2008/07/29 12:23:20 Fix "getfacl -v" formatting problem introduced in 146166. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#3 (text+ko) ==== @@ -100,6 +100,8 @@ /* ... then remove the last slash. */ assert(str[off] == '/'); str[off] = '\0'; + } else { + str[0] = '\0'; } return (0); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 15:05:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49A721065687; Tue, 29 Jul 2008 15:05:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9A1C1065682 for ; Tue, 29 Jul 2008 15:05:18 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D77F38FC0A for ; Tue, 29 Jul 2008 15:05:18 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TF5Iv5034484 for ; Tue, 29 Jul 2008 15:05:18 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TF5I1W034482 for perforce@freebsd.org; Tue, 29 Jul 2008 15:05:18 GMT (envelope-from gk@FreeBSD.org) Date: Tue, 29 Jul 2008 15:05:18 GMT Message-Id: <200807291505.m6TF5I1W034482@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146205 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 15:05:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=146205 Change 146205 by gk@gk_h1 on 2008/07/29 15:04:56 support ether addr only for PF_ADDR_ADDRMASK and PF_ADDR_DYNIFTL add ether addr check for PF_ADDR_DYNIFTL kernel support move addr_ether field on top of pf_addr_wrap struct propogate ethernet addr for all addreses in a list (aliases, dns lookup etc) exit on ether addr parsing error Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/parse.y#5 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#6 edit .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.c#6 edit .. //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#8 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/parse.y#5 (text+ko) ==== @@ -2477,7 +2477,13 @@ ether : /* empty */ { $$ = NULL; } | ETHER ANY { $$ = NULL; } - | ETHER STRING { $$ = host_ether($2); free($2); } + | ETHER STRING { + $$ = host_ether($2); + free($2); + if ($$ == NULL) { + YYERROR; + } + } ; xhost : not host ether { @@ -2487,8 +2493,19 @@ n->not = $1; $$ = $2; if ($3) { - $$->addr.v.a.addr_ether = $3->addr.v.a.addr_ether; - free($3); + for (n = $$; n != NULL; n = n->next) { + if (n->addr.type != PF_ADDR_ADDRMASK && + n->addr.type != PF_ADDR_DYNIFTL) { + yyerror("ethernet address can be specified only for host or interface name"); + free($3); + $3 = NULL; + YYERROR; + } else { + n->addr.addr_ether = $3->addr.addr_ether; + } + } + if ($3) + free($3); } } | not NOROUTE { ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pf_print_state.c#6 (text+ko) ==== @@ -121,7 +121,7 @@ } putchar(' '); - print_addr_ether(&addr->v.a.addr_ether, 0); + print_addr_ether(&addr->addr_ether, 0); } void ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl_parser.c#6 (text+ko) ==== @@ -1440,7 +1440,7 @@ h = calloc(1, sizeof(*h)); if (h == NULL) err(1, "host_ether: malloc"); - addr = &h->addr.v.a.addr_ether; + addr = &h->addr.addr_ether; if (strcmp(s, "multicast") == 0) { addr->flags = PFAE_CHECK | PFAE_MULTICAST; @@ -1661,19 +1661,21 @@ s_ether++; h = host_ether(s_ether); if (h) { - addr_ether = h->addr.v.a.addr_ether; + addr_ether = h->addr.addr_ether; free(h); h = NULL; } for (p--; p >= rs && isspace(*p); p--) - *p = 0; + *p = '\0'; } } if ((n = host(rs)) == NULL) { errno = 0; return (-1); } - n->addr.v.a.addr_ether = addr_ether; + for (h = n; h != NULL; h = h->next) + h->addr.addr_ether = addr_ether; + h = NULL; free(rs); rv = append_addr_host(b, n, test, not); do { @@ -1720,7 +1722,7 @@ errno = EINVAL; return (-1); } - addr.pfra_ether = n->addr.v.a.addr_ether; + addr.pfra_ether = n->addr.addr_ether; if (pfr_buf_add(b, &addr)) return (-1); } while ((n = n->next) != NULL); ==== //depot/projects/soc2008/gk_l2filter/sys-pf/net/pfvar.h#8 (text+ko) ==== @@ -178,7 +178,6 @@ struct { struct pf_addr addr; struct pf_addr mask; - struct pf_addr_ether addr_ether; } a; char ifname[IFNAMSIZ]; char tblname[PF_TABLE_NAME_SIZE]; @@ -194,6 +193,7 @@ int dyncnt; int tblcnt; } p; + struct pf_addr_ether addr_ether; u_int8_t type; /* PF_ADDR_* */ u_int8_t iflags; /* PFI_AFLAG_* */ }; @@ -422,12 +422,14 @@ !pfr_match_addr_ether((aw)->p.tbl, (x), \ (af), (xl2))) || \ ((aw)->type == PF_ADDR_DYNIFTL && \ - !pfi_match_addr((aw)->p.dyn, (x), (af))) || \ + !(pfi_match_addr((aw)->p.dyn, (x), (af)) && \ + pf_match_addr_ether(&(aw)->addr_ether, \ + (xl2), 0))) || \ ((aw)->type == PF_ADDR_ADDRMASK && \ !PF_AZERO(&(aw)->v.a.mask, (af)) && \ !(PF_MATCHA(0, &(aw)->v.a.addr, \ &(aw)->v.a.mask, (x), (af)) && \ - pf_match_addr_ether(&(aw)->v.a.addr_ether, \ + pf_match_addr_ether(&(aw)->addr_ether, \ (xl2), 0))))) != \ (neg) \ ) From owner-p4-projects@FreeBSD.ORG Tue Jul 29 15:07:21 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B02F71065673; Tue, 29 Jul 2008 15:07:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BFC41065696 for ; Tue, 29 Jul 2008 15:07:21 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 49DE98FC1B for ; Tue, 29 Jul 2008 15:07:21 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TF7KjC034621 for ; Tue, 29 Jul 2008 15:07:20 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TF7K8n034619 for perforce@freebsd.org; Tue, 29 Jul 2008 15:07:20 GMT (envelope-from gk@FreeBSD.org) Date: Tue, 29 Jul 2008 15:07:20 GMT Message-Id: <200807291507.m6TF7K8n034619@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146206 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 15:07:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146206 Change 146206 by gk@gk_h1 on 2008/07/29 15:06:31 update pf.conf.5 man page Affected files ... .. //depot/projects/soc2008/gk_l2filter/share-man-pf/pf.conf.5#2 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/share-man-pf/pf.conf.5#2 (text+ko) ==== @@ -123,6 +123,7 @@ rules and in the routing options of filter rules, but only for .Ar round-robin pools. +Table entry can contain optional ethernet address (MAC address). .Pp Tables can be defined with any of the following .Xr pfctl 8 @@ -1485,6 +1486,10 @@ This is especially useful with .Ar nat . .Pp +Optional ethernet address (MAC address) can be assigned to addresses +specified in CIDR notation (matching netblocks), as symbolic host names or +interface names. +.Pp Ports can be specified either by number or by name. For example, port 80 can be specified as .Em www . @@ -2044,6 +2049,10 @@ must be specified explicitly to apply options to a rule. .Pp .Bl -tag -width xxxx -compact +.It Ar ether +Enable layer 2 stateful filtering for a rule. Source and destination ethernet +addresses (MAC addresses) are used create a state entry and to check if packet +matches any state entry. .It Ar max Aq Ar number Limits the number of concurrent states the rule may create. When this limit is reached, further packets matching the rule that would @@ -2735,6 +2744,9 @@ block in on $ext_if proto tcp from any os {"Windows 95", "Windows 98"} \e to any port smtp +pass in on $bridge_if proto tcp from 10.1.1.1 ether 00:11:11:11:11:11 \e + to ($int_if) ether 00:22:22:22:22:22 keep state (ether) + # IPv6 # pass in/out all IPv6 traffic: note that we have to enable this in two # different ways, on both our physical interface and our tunnel @@ -2835,7 +2847,7 @@ tableopts = "persist" | "const" | "file" string | "{" [ tableaddr-list ] "}" tableaddr-list = tableaddr-list [ "," ] tableaddr-spec | tableaddr-spec -tableaddr-spec = [ "!" ] tableaddr [ "/" mask-bits ] +tableaddr-spec = [ "!" ] tableaddr [ "/" mask-bits ] [ "ether" ether-addr ] tableaddr = hostname | ipv4-dotted-quad | ipv6-coloned-hex | interface-name | "self" @@ -2890,7 +2902,7 @@ redirhost = address [ "/" mask-bits ] routehost = "(" interface-name [ address [ "/" mask-bits ] ] ")" address = ( interface-name | "(" interface-name ")" | hostname | - ipv4-dotted-quad | ipv6-coloned-hex ) + ipv4-dotted-quad | ipv6-coloned-hex ) [ "ether" ether-addr ] host-list = host [ [ "," ] host-list ] redirhost-list = redirhost [ [ "," ] redirhost-list ] routehost-list = routehost [ [ "," ] routehost-list ] @@ -2923,7 +2935,7 @@ [ "0x" ] number ) state-opts = state-opt [ [ "," ] state-opts ] -state-opt = ( "max" number | "no-sync" | timeout | +state-opt = ( "ether" | "max" number | "no-sync" | timeout | "source-track" [ ( "rule" | "global" ) ] | "max-src-nodes" number | "max-src-states" number | "max-src-conn" number | From owner-p4-projects@FreeBSD.ORG Tue Jul 29 15:59:14 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26FF71065670; Tue, 29 Jul 2008 15:59:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFA4D106566B for ; Tue, 29 Jul 2008 15:59:13 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CD1E38FC13 for ; Tue, 29 Jul 2008 15:59:13 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TFxDiW038963 for ; Tue, 29 Jul 2008 15:59:13 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TFxDXW038961 for perforce@freebsd.org; Tue, 29 Jul 2008 15:59:13 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 15:59:13 GMT Message-Id: <200807291559.m6TFxDXW038961@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 15:59:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=146208 Change 146208 by sam@sam_ebb on 2008/07/29 15:58:58 connect IEEE80211_IOC_TXPOWER Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#87 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#87 (text+ko) ==== @@ -1560,7 +1560,23 @@ static int ath_reset_vap(struct ieee80211vap *vap, u_long cmd) { - return ath_reset(vap->iv_ic->ic_ifp); + struct ieee80211com *ic = vap->iv_ic; + struct ifnet *ifp = ic->ic_ifp; + struct ath_softc *sc = ifp->if_softc; + struct ath_hal *ah = sc->sc_ah; + + switch (cmd) { + case IEEE80211_IOC_TXPOWER: + /* + * If per-packet TPC is enabled, then we have nothing + * to do; otherwise we need to force the global limit. + * All this can happen directly; no need to reset. + */ + if (!ath_hal_gettpc(ah)) + ath_hal_settxpowlimit(ah, ic->ic_txpowlimit); + return 0; + } + return ath_reset(ifp); } static int From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:01:16 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 56A111065678; Tue, 29 Jul 2008 16:01:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A7BE1065676 for ; Tue, 29 Jul 2008 16:01:16 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 077B98FC12 for ; Tue, 29 Jul 2008 16:01:16 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TG1Fi7039195 for ; Tue, 29 Jul 2008 16:01:15 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TG1FXh039193 for perforce@freebsd.org; Tue, 29 Jul 2008 16:01:15 GMT (envelope-from gabor@freebsd.org) Date: Tue, 29 Jul 2008 16:01:15 GMT Message-Id: <200807291601.m6TG1FXh039193@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 146209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 16:01:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=146209 Change 146209 by gabor@gabor_server on 2008/07/29 16:01:05 - Just handle some command line options as noop. They seem to be rarely used based on the resources describing them. From now on let's concentrate on the really practical features instead of these ones. Affected files ... .. //depot/projects/soc2008/gabor_textproc/diff/diff.c#15 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/diff/diff.c#15 (text+ko) ==== @@ -63,10 +63,10 @@ FROMFILE_OPT, TOFILE_OPT, UNIDIR_OPT, - SPEEDLF_OPT + NOOP_OPT }; -#define OPTIONS "0123456789abC:cdD:efhI:iL:lnNPpqrS:sTtU:uvwX:x:" +#define OPTIONS "0123456789abC:cdD:eF:fhI:iL:lnNPpqrS:sTtU:uvwW:X:x:y" static struct option longopts[] = { { "ignore-file-name-case", no_argument, NULL, FCASE_IGNORE_OPT }, { "no-ignore-file-name-case", no_argument, NULL, FCASE_SENSITIVE_OPT }, @@ -74,18 +74,10 @@ { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, */ { "normal", no_argument, NULL, NORMAL_OPT }, /* XXX: UNIMPLEMENTED - { "left-column", no_argument, NULL, OPT_LEFTC }, - { "suppress-common-lines", no_argument, NULL, OT_SUPCL }, - { "GTYPE-group-format", required_argument, NULL, OPT_GTYPE }, - { "line-format", required_argument, NULL, OPT_LF }, - { "LTYPE-line-format", required_argument, NULL, OPT_LLF }, { "tabsize", optional_argument, NULL, OPT_TSIZE }, */ { "unidirectional-new-file", no_argument, NULL, UNIDIR_OPT }, { "from-file", required_argument, NULL, FROMFILE_OPT }, { "to-file", required_argument, NULL, TOFILE_OPT }, -/* XXX: UNIMPLEMENTED - { "horizon-lines", required_argument, NULL, OPT_HLINES }, */ - { "speed-large-files", no_argument, NULL, SPEEDLF_OPT }, { "help", no_argument, NULL, HELP_OPT }, { "text", no_argument, NULL, 'a' }, /* XXX: UNIMPLEMENTED @@ -97,8 +89,6 @@ /* XXX: UNIMPLEMENTED { "ignore-tab-expansion", no_argument, NULL, 'E' }, */ { "ed", no_argument, NULL, 'e' }, -/* XXX: UNIMPLEMENTED - { "show-function-line", required_argument, NULL, 'F' }, */ { "forward-ed", no_argument, NULL, 'f' }, { "ignore-matching-lines", required_argument, NULL, 'I' }, { "ignore-case", no_argument, NULL, 'i' }, @@ -116,13 +106,25 @@ { "expand-tabs", no_argument, NULL, 't' }, { "unified", optional_argument, NULL, 'U' }, { "version", no_argument, NULL, 'v' }, -/* XXX: UNIMPLEMENTED - { "width", optional_argument, NULL, 'W' }, */ { "ignore-all-space", no_argument, NULL, 'w' }, { "exclude-from", required_argument, NULL, 'X' }, { "exclude", required_argument, NULL, 'x' }, -/* XXX: UNIMPLEMENTED - { "side-by-side", no_argument, NULL, 'y' }, */ +/* Compatibility options, which are noop. We only pretend to support them. */ + { "horizon-lines", required_argument, NULL, NOOP_OPT }, + { "left-column", no_argument, NULL, NOOP_OPT }, + { "line-format", required_argument, NULL, NOOP_OPT }, + { "show-function-line", required_argument, NULL, 'F' }, + { "side-by-side", no_argument, NULL, 'y' }, + { "speed-large-files", no_argument, NULL, NOOP_OPT }, + { "suppress-common-lines", no_argument, NULL, NOOP_OPT }, + { "width", optional_argument, NULL, 'W' }, + { "unchanged-group-format", required_argument, NULL, NOOP_OPT }, + { "old-group-format", required_argument, NULL, NOOP_OPT }, + { "new-group-format", required_argument, NULL, NOOP_OPT }, + { "changed-group-format", required_argument, NULL, NOOP_OPT }, + { "unchanged-line-format", required_argument, NULL, NOOP_OPT }, + { "old-line-format", required_argument, NULL, NOOP_OPT }, + { "new-line-format", required_argument, NULL, NOOP_OPT }, { NULL, 0, NULL, '\0'} }; @@ -279,7 +281,10 @@ case FCASE_IGNORE_OPT: fcase_behave = FCASE_IGNORE; break; - case SPEEDLF_OPT: + case 'F': + case 'y': + case 'W': + case NOOP_OPT: /* noop, compatibility */ break; case NORMAL_OPT: From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:19:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECF3B1065675; Tue, 29 Jul 2008 16:19:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0F3E106564A for ; Tue, 29 Jul 2008 16:19:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9D45A8FC15 for ; Tue, 29 Jul 2008 16:19:34 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TGJYQp041741 for ; Tue, 29 Jul 2008 16:19:34 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TGJYed041739 for perforce@freebsd.org; Tue, 29 Jul 2008 16:19:34 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 16:19:34 GMT Message-Id: <200807291619.m6TGJYed041739@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146210 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 16:19:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=146210 Change 146210 by sam@sam_ebb on 2008/07/29 16:19:17 Change callback api to allocate driver resources for a crypto key: o de-const the key parameter so drivers can muck with the flags o on callback failure don't automatically try to setup s/w crypto; instead the driver must now mark the key entry for s/w crypto and the caller will re-attach the cipher module o update drivers to match new api This change is experimental. It permits drivers more control over fallback to s/w crypto (e.g. based on a limited number of h/w key slots). Affected files ... .. //depot/projects/vap/sys/dev/ath/if_ath.c#88 edit .. //depot/projects/vap/sys/dev/mwl/if_mwl.c#12 edit .. //depot/projects/vap/sys/net80211/ieee80211_crypto.c#19 edit .. //depot/projects/vap/sys/net80211/ieee80211_var.h#48 edit Differences ... ==== //depot/projects/vap/sys/dev/ath/if_ath.c#88 (text+ko) ==== @@ -135,7 +135,7 @@ static int ath_keyset(struct ath_softc *, const struct ieee80211_key *, struct ieee80211_node *); static int ath_key_alloc(struct ieee80211vap *, - const struct ieee80211_key *, + struct ieee80211_key *, ieee80211_keyix *, ieee80211_keyix *); static int ath_key_delete(struct ieee80211vap *, const struct ieee80211_key *); @@ -2397,7 +2397,7 @@ * 64 entries. */ static int -ath_key_alloc(struct ieee80211vap *vap, const struct ieee80211_key *k, +ath_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix) { struct ath_softc *sc = vap->iv_ic->ic_ifp->if_softc; ==== //depot/projects/vap/sys/dev/mwl/if_mwl.c#12 (text+ko) ==== @@ -117,7 +117,7 @@ static void mwl_chanswitch_proc(void *, int); static void mwl_bawatchdog_proc(void *, int); static int mwl_key_alloc(struct ieee80211vap *, - const struct ieee80211_key *, + struct ieee80211_key *, ieee80211_keyix *, ieee80211_keyix *); static int mwl_key_delete(struct ieee80211vap *, const struct ieee80211_key *); @@ -1884,11 +1884,11 @@ /* * Allocate a key cache slot for a unicast key. The - * firmware handles key allocation so we just return - * whatever is needed to keep the net80211 layer happy. + * firmware handles key allocation and every station is + * guaranteed key space so we are always successful. */ static int -mwl_key_alloc(struct ieee80211vap *vap, const struct ieee80211_key *k, +mwl_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix) { struct mwl_softc *sc = vap->iv_ic->ic_ifp->if_softc; @@ -1905,8 +1905,7 @@ *keyix = *rxkeyix = k - vap->iv_nw_keys; } else { /* - * Firmware handles key allocation; just set this to - * something so the upper layers are happy. + * Firmware handles key allocation. */ *keyix = *rxkeyix = 0; } ==== //depot/projects/vap/sys/net80211/ieee80211_crypto.c#19 (text+ko) ==== @@ -59,7 +59,7 @@ * Default "null" key management routines. */ static int -null_key_alloc(struct ieee80211vap *vap, const struct ieee80211_key *k, +null_key_alloc(struct ieee80211vap *vap, struct ieee80211_key *k, ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix) { if (!(&vap->iv_nw_keys[0] <= k && @@ -116,7 +116,7 @@ */ static __inline int dev_key_alloc(struct ieee80211vap *vap, - const struct ieee80211_key *key, + struct ieee80211_key *key, ieee80211_keyix *keyix, ieee80211_keyix *rxkeyix) { return vap->iv_key_alloc(vap, key, keyix, rxkeyix); @@ -335,15 +335,11 @@ * whether or not it needs to do the cipher work. */ if (key->wk_cipher != cip || key->wk_flags != flags) { -again: /* * Fillin the flags so cipher modules can see s/w * crypto requirements and potentially allocate * different state and/or attach different method * pointers. - * - * XXX this is not right when s/w crypto fallback - * fails and we try to restore previous state. */ key->wk_flags = flags; keyctx = cip->ic_attach(vap, key); @@ -375,31 +371,39 @@ if ((key->wk_flags & IEEE80211_KEY_DEVKEY) == 0) { if (!dev_key_alloc(vap, key, &keyix, &rxkeyix)) { /* - * Driver has no room; fallback to doing crypto - * in the host. We change the flags and start the - * procedure over. If we get back here then there's - * no hope and we bail. Note that this can leave - * the key in a inconsistent state if the caller - * continues to use it. + * Unable to setup driver state. */ - if ((key->wk_flags & IEEE80211_KEY_SWCRYPT) == 0) { - vap->iv_stats.is_crypto_swfallback++; - IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, - "%s: no h/w resources for cipher %s, " - "falling back to s/w\n", __func__, - cip->ic_name); - oflags = key->wk_flags; - flags |= IEEE80211_KEY_SWCRYPT; - if (cipher == IEEE80211_CIPHER_TKIP) - flags |= IEEE80211_KEY_SWMIC; - goto again; - } vap->iv_stats.is_crypto_keyfail++; IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, "%s: unable to setup cipher %s\n", __func__, cip->ic_name); return 0; } + if (key->wk_flags != flags) { + /* + * Driver overrode flags we setup; typically because + * resources were unavailable to handle _this_ key. + * Re-attach the cipher context to allow cipher + * modules to handle differing requirements. + */ + IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, + "%s: driver override for cipher %s, flags " + "0x%x -> 0x%x\n", __func__, cip->ic_name, + oflags, key->wk_flags); + keyctx = cip->ic_attach(vap, key); + if (keyctx == NULL) { + IEEE80211_DPRINTF(vap, IEEE80211_MSG_CRYPTO, + "%s: unable to attach cipher %s with " + "flags 0x%x\n", __func__, cip->ic_name, + key->wk_flags); + key->wk_flags = oflags; /* restore old flags */ + vap->iv_stats.is_crypto_attachfail++; + return 0; + } + cipher_detach(key); + key->wk_cipher = cip; /* XXX refcnt? */ + key->wk_private = keyctx; + } key->wk_keyix = keyix; key->wk_rxkeyix = rxkeyix; key->wk_flags |= IEEE80211_KEY_DEVKEY; ==== //depot/projects/vap/sys/net80211/ieee80211_var.h#48 (text+ko) ==== @@ -370,7 +370,7 @@ ieee80211_keyix iv_def_txkey; /* default/group tx key index */ struct ieee80211_key iv_nw_keys[IEEE80211_WEP_NKID]; int (*iv_key_alloc)(struct ieee80211vap *, - const struct ieee80211_key *, + struct ieee80211_key *, ieee80211_keyix *, ieee80211_keyix *); int (*iv_key_delete)(struct ieee80211vap *, const struct ieee80211_key *); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:24:40 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EDF71065673; Tue, 29 Jul 2008 16:24:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42D201065672 for ; Tue, 29 Jul 2008 16:24:40 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DE0FD8FC15 for ; Tue, 29 Jul 2008 16:24:39 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TGOd3q042165 for ; Tue, 29 Jul 2008 16:24:39 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TGOdLq042163 for perforce@freebsd.org; Tue, 29 Jul 2008 16:24:39 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 16:24:39 GMT Message-Id: <200807291624.m6TGOdLq042163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 16:24:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=146211 Change 146211 by sam@sam_ebb on 2008/07/29 16:24:34 Changes to support devices that require the phase 1 ttak: o add new key flags IEEE80211_KEY_CIPHER[01] for use by cipher modules (and drivers) o change TKIP to use IEEE80211_KEY_CIPHER0 to calculate the phase 1 ttak on transmit and pre-calculate the initial receive hash on key change; this enables use by devices such as the Intel 4965 Affected files ... .. //depot/projects/vap/sys/net80211/ieee80211_crypto.h#19 edit .. //depot/projects/vap/sys/net80211/ieee80211_crypto_tkip.c#14 edit Differences ... ==== //depot/projects/vap/sys/net80211/ieee80211_crypto.h#19 (text+ko) ==== @@ -83,6 +83,8 @@ #define IEEE80211_KEY_SWENMIC 0x0040 /* host-based enmic */ #define IEEE80211_KEY_SWDEMIC 0x0080 /* host-based demic */ #define IEEE80211_KEY_DEVKEY 0x0100 /* device key request completed */ +#define IEEE80211_KEY_CIPHER0 0x1000 /* cipher-specific action 0 */ +#define IEEE80211_KEY_CIPHER1 0x2000 /* cipher-specific action 1 */ ieee80211_keyix wk_keyix; /* h/w key index */ ieee80211_keyix wk_rxkeyix; /* optional h/w rx key index */ uint8_t wk_key[IEEE80211_KEYBUF_SIZE+IEEE80211_MICBUF_SIZE]; ==== //depot/projects/vap/sys/net80211/ieee80211_crypto_tkip.c#14 (text+ko) ==== @@ -96,10 +96,14 @@ static void michael_mic(struct tkip_ctx *, const u8 *key, struct mbuf *m, u_int off, size_t data_len, u8 mic[IEEE80211_WEP_MICLEN]); -static int tkip_encrypt(struct tkip_ctx *, struct ieee80211_key *, - struct mbuf *, int hdr_len); -static int tkip_decrypt(struct tkip_ctx *, struct ieee80211_key *, - struct mbuf *, int hdr_len); + +static void tkip_mixing_phase1(u16 *TTAK, const u8 *TK, const u8 *TA, + u32 IV32); +static void tkip_mixing_phase2(u8 *WEPSeed, const u8 *TK, const u16 *TTAK, + u16 IV16); +static void wep_encrypt(u8 *key, struct mbuf *m0, u_int off, size_t data_len, + uint8_t icv[IEEE80211_WEP_CRCLEN]); +static int wep_decrypt(u8 *key, struct mbuf *m, u_int off, size_t data_len); /* number of references from net80211 layer */ static int nrefs = 0; @@ -144,6 +148,20 @@ return 0; } k->wk_keytsc = 1; /* TSC starts at 1 */ + if (k->wk_flags & IEEE80211_KEY_CIPHER0) { + /* + * We're responsible for Phase 1 calcs for transmit but + * for receive the hardware needs an initial value + * pre-calculated. + * + * NB: this only works for unicast keys + * NB: we assume the rsc is the same for all tid's + */ + KASSERT((k->wk_flags & IEEE80211_KEY_SWDECRYPT) == 0, + ("CIPHER0+SWDECRYPT not supported")); + tkip_mixing_phase1(ctx->rx_ttak, k->wk_key, k->wk_macaddr, + (u32)(k->wk_keyrsc[0] >> 16)); + } return 1; } @@ -196,10 +214,33 @@ /* * Finally, do software encrypt if neeed. */ - if (k->wk_flags & IEEE80211_KEY_SWENCRYPT) { - if (!tkip_encrypt(ctx, k, m, hdrlen)) - return 0; - /* NB: tkip_encrypt handles wk_keytsc */ + if (k->wk_flags & (IEEE80211_KEY_SWENCRYPT | IEEE80211_KEY_CIPHER0)) { + struct ieee80211_frame *wh; + + wh = mtod(m, struct ieee80211_frame *); + if (!ctx->tx_phase1_done) { + tkip_mixing_phase1(ctx->tx_ttak, k->wk_key, + wh->i_addr2, (u32)(k->wk_keytsc >> 16)); + ctx->tx_phase1_done = 1; + } + if (k->wk_flags & IEEE80211_KEY_SWENCRYPT) { + uint8_t icv[IEEE80211_WEP_CRCLEN]; + + tkip_mixing_phase2(ctx->tx_rc4key, k->wk_key, + ctx->tx_ttak, (u16) k->wk_keytsc); + + vap->iv_stats.is_crypto_tkip++; + + wep_encrypt(ctx->tx_rc4key, + m, hdrlen + tkip.ic_header, + m->m_pkthdr.len - (hdrlen + tkip.ic_header), + icv); + /* XXX check return */ + (void) m_append(m, IEEE80211_WEP_CRCLEN, icv); + } + k->wk_keytsc++; + if ((u16)(k->wk_keytsc) == 0) + ctx->tx_phase1_done = 0; } else k->wk_keytsc++; @@ -302,9 +343,46 @@ * If so we just strip the header; otherwise we need to * handle the decrypt in software. */ - if ((k->wk_flags & IEEE80211_KEY_SWDECRYPT) && - !tkip_decrypt(ctx, k, m, hdrlen)) - return 0; + if (k->wk_flags & IEEE80211_KEY_SWDECRYPT) { + u32 iv32; + + /* NB: already verified header and left seq # in rx_rsc */ + iv32 = (u32) (ctx->rx_rsc >> 16); + + if (iv32 != (u32)(k->wk_keyrsc[tid] >> 16) || + !ctx->rx_phase1_done) { + tkip_mixing_phase1(ctx->rx_ttak, k->wk_key, + wh->i_addr2, iv32); + ctx->rx_phase1_done = 1; + } + + tkip_mixing_phase2(ctx->rx_rc4key, k->wk_key, + ctx->rx_ttak, (u16) ctx->rx_rsc); + + vap->iv_stats.is_crypto_tkip++; + + /* + * NB: m is unstripped; deduct headers + ICV + * to get payload + */ + if (wep_decrypt(ctx->rx_rc4key, + m, hdrlen + tkip.ic_header, + m->m_pkthdr.len - (hdrlen + tkip.ic_header + tkip.ic_trailer))) { + if (iv32 != (u32)(k->wk_keyrsc[tid] >> 16)) { + /* + * Previously cached Phase1 result was + * already lost, so it needs to be + * recalculated for the next packet. + */ + ctx->rx_phase1_done = 0; + } + IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, + wh->i_addr2, + "%s", "TKIP ICV mismatch on decrypt"); + vap->iv_stats.is_rx_tkipicv++; + return 0; + } + } /* * Copy up 802.11 header and strip crypto bits. @@ -509,7 +587,8 @@ #define PHASE1_LOOP_COUNT 8 -static void tkip_mixing_phase1(u16 *TTAK, const u8 *TK, const u8 *TA, u32 IV32) +static void +tkip_mixing_phase1(u16 *TTAK, const u8 *TK, const u8 *TA, u32 IV32) { int i, j; @@ -901,78 +980,6 @@ put_le32(mic + 4, r); } -static int -tkip_encrypt(struct tkip_ctx *ctx, struct ieee80211_key *key, - struct mbuf *m, int hdrlen) -{ - struct ieee80211_frame *wh; - uint8_t icv[IEEE80211_WEP_CRCLEN]; - - ctx->tc_vap->iv_stats.is_crypto_tkip++; - - wh = mtod(m, struct ieee80211_frame *); - if (!ctx->tx_phase1_done) { - tkip_mixing_phase1(ctx->tx_ttak, key->wk_key, wh->i_addr2, - (u32)(key->wk_keytsc >> 16)); - ctx->tx_phase1_done = 1; - } - tkip_mixing_phase2(ctx->tx_rc4key, key->wk_key, ctx->tx_ttak, - (u16) key->wk_keytsc); - - wep_encrypt(ctx->tx_rc4key, - m, hdrlen + tkip.ic_header, - m->m_pkthdr.len - (hdrlen + tkip.ic_header), - icv); - (void) m_append(m, IEEE80211_WEP_CRCLEN, icv); /* XXX check return */ - - key->wk_keytsc++; - if ((u16)(key->wk_keytsc) == 0) - ctx->tx_phase1_done = 0; - return 1; -} - -static int -tkip_decrypt(struct tkip_ctx *ctx, struct ieee80211_key *key, - struct mbuf *m, int hdrlen) -{ - struct ieee80211_frame *wh; - struct ieee80211vap *vap = ctx->tc_vap; - u32 iv32; - u16 iv16; - u8 tid; - - vap->iv_stats.is_crypto_tkip++; - - wh = mtod(m, struct ieee80211_frame *); - /* NB: tkip_decap already verified header and left seq in rx_rsc */ - iv16 = (u16) ctx->rx_rsc; - iv32 = (u32) (ctx->rx_rsc >> 16); - - tid = ieee80211_gettid(wh); - if (iv32 != (u32)(key->wk_keyrsc[tid] >> 16) || !ctx->rx_phase1_done) { - tkip_mixing_phase1(ctx->rx_ttak, key->wk_key, - wh->i_addr2, iv32); - ctx->rx_phase1_done = 1; - } - tkip_mixing_phase2(ctx->rx_rc4key, key->wk_key, ctx->rx_ttak, iv16); - - /* NB: m is unstripped; deduct headers + ICV to get payload */ - if (wep_decrypt(ctx->rx_rc4key, - m, hdrlen + tkip.ic_header, - m->m_pkthdr.len - (hdrlen + tkip.ic_header + tkip.ic_trailer))) { - if (iv32 != (u32)(key->wk_keyrsc[tid] >> 16)) { - /* Previously cached Phase1 result was already lost, so - * it needs to be recalculated for the next packet. */ - ctx->rx_phase1_done = 0; - } - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, - "%s", "TKIP ICV mismatch on decrypt"); - vap->iv_stats.is_rx_tkipicv++; - return 0; - } - return 1; -} - /* * Module glue. */ From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:53:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13D0E1065676; Tue, 29 Jul 2008 16:53:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C96691065672; Tue, 29 Jul 2008 16:53:47 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0416F8FC17; Tue, 29 Jul 2008 16:53:45 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <488F4B1A.3000207@FreeBSD.org> Date: Tue, 29 Jul 2008 18:53:46 +0200 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 To: Gabor Kovesdan References: <200807291601.m6TG1FXh039193@repoman.freebsd.org> In-Reply-To: <200807291601.m6TG1FXh039193@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 146209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 16:53:48 -0000 Gabor Kovesdan wrote: > http://perforce.freebsd.org/chv.cgi?CH=146209 > > Change 146209 by gabor@gabor_server on 2008/07/29 16:01:05 > > - Just handle some command line options as noop. They seem to be > rarely used based on the resources describing them. From now on > let's concentrate on the really practical features instead of > these ones. I don't think it's a good idea to "implement" options as NOPs unless they really are NOPs. This will just cause silent failure and/or script misbehaviour, which may be very hard to track down. Kris From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:06:22 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 875871065677; Tue, 29 Jul 2008 17:06:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B3EB1065673 for ; Tue, 29 Jul 2008 17:06:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37D6B8FC1D for ; Tue, 29 Jul 2008 17:06:22 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TH6MZH055892 for ; Tue, 29 Jul 2008 17:06:22 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TH6MhP055890 for perforce@freebsd.org; Tue, 29 Jul 2008 17:06:22 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 17:06:22 GMT Message-Id: <200807291706.m6TH6MhP055890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:06:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=146213 Change 146213 by sam@sam_ebb on 2008/07/29 17:06:01 missed IFC Affected files ... .. //depot/projects/vap/sys/dev/usb/ohci.c#8 integrate Differences ... ==== //depot/projects/vap/sys/dev/usb/ohci.c#8 (text+ko) ==== @@ -13,7 +13,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.172 2008/05/13 20:58:08 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ohci.c,v 1.173 2008/07/17 22:40:23 luoqi Exp $"); /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -815,20 +815,19 @@ ohci_controller_init(ohci_softc_t *sc) { int i; - u_int32_t s, ctl, ival, hcr, fm, per, desca; + u_int32_t ctl, ival, hcr, fm, per, desca; /* Determine in what context we are running. */ ctl = OREAD4(sc, OHCI_CONTROL); if (ctl & OHCI_IR) { /* SMM active, request change */ DPRINTF(("ohci_init: SMM active, request owner change\n")); - s = OREAD4(sc, OHCI_COMMAND_STATUS); - OWRITE4(sc, OHCI_COMMAND_STATUS, s | OHCI_OCR); + OWRITE4(sc, OHCI_COMMAND_STATUS, OHCI_OCR); for (i = 0; i < 100 && (ctl & OHCI_IR); i++) { usb_delay_ms(&sc->sc_bus, 1); ctl = OREAD4(sc, OHCI_CONTROL); } - if ((ctl & OHCI_IR) == 0) { + if (ctl & OHCI_IR) { printf("%s: SMM does not respond, resetting\n", device_get_nameunit(sc->sc_bus.bdev)); OWRITE4(sc, OHCI_CONTROL, OHCI_HCFS_RESET); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:07:23 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE8D11065674; Tue, 29 Jul 2008 17:07:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 731411065679 for ; Tue, 29 Jul 2008 17:07:23 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5FAA38FC0A for ; Tue, 29 Jul 2008 17:07:23 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TH7NK9055960 for ; Tue, 29 Jul 2008 17:07:23 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TH7NZZ055958 for perforce@freebsd.org; Tue, 29 Jul 2008 17:07:23 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 17:07:23 GMT Message-Id: <200807291707.m6TH7NZZ055958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146214 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:07:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=146214 Change 146214 by sam@sam_ebb on 2008/07/29 17:06:23 missed IFC Affected files ... .. //depot/projects/vap/lib/libc/gen/signal.3#3 integrate Differences ... ==== //depot/projects/vap/lib/libc/gen/signal.3#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)signal.3 8.3 (Berkeley) 4/19/94 -.\" $FreeBSD: src/lib/libc/gen/signal.3,v 1.42 2007/01/09 00:27:55 imp Exp $ +.\" $FreeBSD: src/lib/libc/gen/signal.3,v 1.43 2008/07/17 21:54:23 simon Exp $ .\" .Dd June 7, 2004 .Dt SIGNAL 3 @@ -181,10 +181,12 @@ For some system calls, if a signal is caught while the call is executing and the call is prematurely terminated, the call is automatically restarted. -(The handler is installed using the +Any handler installed with +.Xr signal 3 +will have the .Dv SA_RESTART -flag with -.Xr sigaction 2 . ) +flag set, meaning that any restartable system call will not return on +receipt of a signal. The affected system calls include .Xr read 2 , .Xr write 2 , From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:12:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D1C6E1065671; Tue, 29 Jul 2008 17:12:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78BFD1065679 for ; Tue, 29 Jul 2008 17:12:29 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 62C988FC13 for ; Tue, 29 Jul 2008 17:12:29 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6THCT41056375 for ; Tue, 29 Jul 2008 17:12:29 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6THCS2n056373 for perforce@freebsd.org; Tue, 29 Jul 2008 17:12:28 GMT (envelope-from sam@freebsd.org) Date: Tue, 29 Jul 2008 17:12:28 GMT Message-Id: <200807291712.m6THCS2n056373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 146215 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:12:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=146215 Change 146215 by sam@sam_ebb on 2008/07/29 17:12:12 IFC @ 146212 Affected files ... .. //depot/projects/vap/ObsoleteFiles.inc#15 integrate .. //depot/projects/vap/UPDATING#16 integrate .. //depot/projects/vap/bin/mv/mv.c#4 integrate .. //depot/projects/vap/bin/ps/ps.c#3 integrate .. //depot/projects/vap/contrib/cvs/doc/HACKING.DOCS#2 integrate .. //depot/projects/vap/contrib/ipfilter/ip_fil.c#3 integrate .. //depot/projects/vap/contrib/ipfilter/ipsend/iptests.c#3 integrate .. //depot/projects/vap/contrib/ipfilter/ipsend/sock.c#3 integrate .. //depot/projects/vap/contrib/ipfilter/lib/printnat.c#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/n12#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/n2#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/n5#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/ni1.nat#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/ni2.nat#3 integrate .. //depot/projects/vap/contrib/ipfilter/test/regress/ni4.nat#3 integrate .. //depot/projects/vap/contrib/ipfilter/tools/ipnat_y.y#3 integrate .. //depot/projects/vap/contrib/tcsh/tc.func.c#3 integrate .. //depot/projects/vap/contrib/telnet/telnetd/state.c#3 integrate .. //depot/projects/vap/contrib/telnet/telnetd/telnetd.c#3 integrate .. //depot/projects/vap/crypto/openssh/Makefile.in#3 delete .. //depot/projects/vap/crypto/openssh/Makefile.inc#3 delete .. //depot/projects/vap/crypto/openssh/buildpkg.sh.in#3 delete .. //depot/projects/vap/crypto/openssh/config.sub#3 delete .. //depot/projects/vap/crypto/openssh/configure.ac#3 delete .. //depot/projects/vap/crypto/openssh/install-sh#3 delete .. //depot/projects/vap/crypto/openssh/mdoc2man.awk#3 delete .. //depot/projects/vap/crypto/openssh/nchan.ms#3 delete .. //depot/projects/vap/crypto/openssh/nchan2.ms#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/Makefile.in#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/regress/Makefile.in#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/regress/closefromtest.c#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/regress/snprintftest.c#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/regress/strduptest.c#3 delete .. //depot/projects/vap/crypto/openssh/openbsd-compat/regress/strtonumtest.c#3 delete .. //depot/projects/vap/crypto/openssh/openssh.xml.in#3 delete .. //depot/projects/vap/crypto/openssh/opensshd.init.in#3 delete .. //depot/projects/vap/crypto/openssh/regress/Makefile#3 delete .. //depot/projects/vap/crypto/openssh/regress/README.regress#3 delete .. //depot/projects/vap/crypto/openssh/regress/agent-getpeereid.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/agent-ptrace.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/agent-timeout.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/agent.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/banner.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/broken-pipe.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/brokenkeys.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/bsd.regress.mk#3 delete .. //depot/projects/vap/crypto/openssh/regress/cfgmatch.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/cipher-speed.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/connect-privsep.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/connect.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/copy.1#3 delete .. //depot/projects/vap/crypto/openssh/regress/copy.2#3 delete .. //depot/projects/vap/crypto/openssh/regress/dsa_ssh2.prv#3 delete .. //depot/projects/vap/crypto/openssh/regress/dsa_ssh2.pub#3 delete .. //depot/projects/vap/crypto/openssh/regress/dynamic-forward.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/envpass.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/exit-status.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/forcecommand.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/forwarding.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/keygen-change.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/keyscan.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/login-timeout.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/multiplex.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/proto-mismatch.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/proto-version.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/proxy-connect.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/reconfigure.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/reexec.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/rekey.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/rsa_openssh.prv#3 delete .. //depot/projects/vap/crypto/openssh/regress/rsa_openssh.pub#3 delete .. //depot/projects/vap/crypto/openssh/regress/rsa_ssh2.prv#3 delete .. //depot/projects/vap/crypto/openssh/regress/runtests.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/scp-ssh-wrapper.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/scp.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sftp-badcmds.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sftp-batch.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sftp-cmds.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sftp-glob.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sftp.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/ssh-com-client.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/ssh-com-keygen.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/ssh-com-sftp.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/ssh-com.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/sshd-log-wrapper.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/stderr-after-eof.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/stderr-data.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/t4.ok#3 delete .. //depot/projects/vap/crypto/openssh/regress/t5.ok#3 delete .. //depot/projects/vap/crypto/openssh/regress/test-exec.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/transfer.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/try-ciphers.sh#3 delete .. //depot/projects/vap/crypto/openssh/regress/yes-head.sh#3 delete .. //depot/projects/vap/crypto/openssh/scard/Makefile.in#3 delete .. //depot/projects/vap/crypto/openssh/scard/Ssh.bin#3 delete .. //depot/projects/vap/crypto/openssh/scard/Ssh.bin.uu#3 delete .. //depot/projects/vap/crypto/openssh/scard/Ssh.java#3 delete .. //depot/projects/vap/crypto/openssh/ssh_prng_cmds.in#3 delete .. //depot/projects/vap/crypto/openssh/survey.sh.in#3 delete .. //depot/projects/vap/etc/mtree/BSD.usr.dist#4 integrate .. //depot/projects/vap/etc/ppp/ppp.conf#3 integrate .. //depot/projects/vap/etc/rc.d/bluetooth#3 integrate .. //depot/projects/vap/etc/rc.d/serial#3 integrate .. //depot/projects/vap/etc/rc.resume#3 integrate .. //depot/projects/vap/etc/rc.suspend#3 integrate .. //depot/projects/vap/etc/remote#3 integrate .. //depot/projects/vap/games/fortune/datfiles/fortunes#12 integrate .. //depot/projects/vap/include/Makefile#6 integrate .. //depot/projects/vap/include/sgtty.h#4 delete .. //depot/projects/vap/include/stdlib.h#3 integrate .. //depot/projects/vap/lib/libc/gen/Makefile.inc#10 integrate .. //depot/projects/vap/lib/libc/gen/Symbol.map#7 integrate .. //depot/projects/vap/lib/libc/gen/arc4random.3#3 integrate .. //depot/projects/vap/lib/libc/gen/arc4random.c#3 integrate .. //depot/projects/vap/lib/libc/gen/popen.c#3 integrate .. //depot/projects/vap/lib/libc/gen/posix_spawn.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawn_file_actions_addopen.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawn_file_actions_init.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getflags.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getpgroup.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getschedparam.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getschedpolicy.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getsigdefault.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_getsigmask.3#1 branch .. //depot/projects/vap/lib/libc/gen/posix_spawnattr_init.3#1 branch .. //depot/projects/vap/lib/libc/stdio/mktemp.c#3 integrate .. //depot/projects/vap/lib/libc/stdlib/malloc.c#11 integrate .. //depot/projects/vap/lib/libc/sys/setfib.2#2 integrate .. //depot/projects/vap/lib/libkvm/kvm_mips.c#1 branch .. //depot/projects/vap/lib/libutil/login.conf.5#3 integrate .. //depot/projects/vap/lib/libutil/login_cap.h#3 integrate .. //depot/projects/vap/lib/libutil/login_class.3#3 integrate .. //depot/projects/vap/lib/libutil/login_class.c#3 integrate .. //depot/projects/vap/lib/msun/Makefile#9 integrate .. //depot/projects/vap/release/doc/en_US.ISO8859-1/relnotes/article.sgml#12 integrate .. //depot/projects/vap/sbin/ipfw/ipfw.8#6 integrate .. //depot/projects/vap/sbin/mksnap_ffs/mksnap_ffs.8#3 integrate .. //depot/projects/vap/secure/lib/libcrypto/opensslconf-mips.h#1 branch .. //depot/projects/vap/share/colldef/Makefile#4 integrate .. //depot/projects/vap/share/colldef/no_NO.ISO8859-1.src#1 branch .. //depot/projects/vap/share/colldef/no_NO.ISO8859-15.src#1 branch .. //depot/projects/vap/share/man/man4/ddb.4#9 integrate .. //depot/projects/vap/share/man/man4/wi.4#6 integrate .. //depot/projects/vap/share/man/man8/rc.subr.8#4 integrate .. //depot/projects/vap/share/man/man9/Makefile#11 integrate .. //depot/projects/vap/share/man/man9/accept_filter.9#3 integrate .. //depot/projects/vap/share/man/man9/accf_data.9#3 integrate .. //depot/projects/vap/share/man/man9/accf_dns.9#1 branch .. //depot/projects/vap/share/man/man9/sysctl.9#3 integrate .. //depot/projects/vap/share/man/man9/sysctl_add_oid.9#3 integrate .. //depot/projects/vap/share/misc/bsd-family-tree#7 integrate .. //depot/projects/vap/share/misc/committers-ports.dot#8 integrate .. //depot/projects/vap/share/misc/committers-src.dot#9 integrate .. //depot/projects/vap/share/mk/bsd.sys.mk#4 integrate .. //depot/projects/vap/share/syscons/keymaps/fr.macbook.acc.kbd#3 integrate .. //depot/projects/vap/share/timedef/Makefile#3 integrate .. //depot/projects/vap/share/timedef/nb_NO.ISO8859-1.src#1 branch .. //depot/projects/vap/share/timedef/nb_NO.UTF-8.src#1 branch .. //depot/projects/vap/share/timedef/no_NO.ISO8859-1.src#4 delete .. //depot/projects/vap/share/timedef/no_NO.UTF-8.src#4 delete .. //depot/projects/vap/sys/Makefile#9 integrate .. //depot/projects/vap/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/vap/sys/amd64/include/param.h#7 integrate .. //depot/projects/vap/sys/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/vap/sys/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/vap/sys/arm/xscale/i80321/iq31244_machdep.c#8 integrate .. //depot/projects/vap/sys/arm/xscale/i8134x/crb_machdep.c#7 integrate .. //depot/projects/vap/sys/arm/xscale/ixp425/avila_machdep.c#5 integrate .. //depot/projects/vap/sys/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/vap/sys/boot/Makefile#6 integrate .. //depot/projects/vap/sys/boot/forth/loader.conf#10 integrate .. //depot/projects/vap/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/vap/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/vap/sys/compat/linux/linux_ioctl.c#6 integrate .. //depot/projects/vap/sys/compat/linux/linux_ioctl.h#5 integrate .. //depot/projects/vap/sys/compat/linux/linux_misc.c#13 integrate .. //depot/projects/vap/sys/compat/ndis/kern_ndis.c#8 integrate .. //depot/projects/vap/sys/conf/NOTES#24 integrate .. //depot/projects/vap/sys/conf/files#45 integrate .. //depot/projects/vap/sys/conf/kern.mk#9 integrate .. //depot/projects/vap/sys/conf/options#25 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_compat.h#6 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_fil.h#6 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_nat.c#6 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_nat.h#6 integrate .. //depot/projects/vap/sys/contrib/ipfilter/netinet/ip_state.c#6 integrate .. //depot/projects/vap/sys/contrib/pf/net/pf_ioctl.c#9 integrate .. //depot/projects/vap/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/vap/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/vap/sys/dev/age/if_age.c#3 integrate .. //depot/projects/vap/sys/dev/amr/amr.c#8 integrate .. //depot/projects/vap/sys/dev/atkbdc/psm.c#6 integrate .. //depot/projects/vap/sys/dev/bfe/if_bfe.c#8 integrate .. //depot/projects/vap/sys/dev/bfe/if_bfereg.h#6 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_ael1002.c#5 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_mc5.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_t3_hw.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_vsc8211.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/vap/sys/dev/cxgb/cxgb_sge.c#8 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#8 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/vap/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 integrate .. //depot/projects/vap/sys/dev/esp/esp_sbus.c#6 integrate .. //depot/projects/vap/sys/dev/esp/ncr53c9x.c#6 integrate .. //depot/projects/vap/sys/dev/esp/ncr53c9xvar.h#6 integrate .. //depot/projects/vap/sys/dev/hwpmc/hwpmc_mod.c#6 integrate .. //depot/projects/vap/sys/dev/iicbus/ds1339.c#1 branch .. //depot/projects/vap/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/vap/sys/dev/kbd/kbd.c#6 integrate .. //depot/projects/vap/sys/dev/kbdmux/kbdmux.c#4 integrate .. //depot/projects/vap/sys/dev/mpt/mpt_raid.c#4 integrate .. //depot/projects/vap/sys/dev/pci/pci.c#7 integrate .. //depot/projects/vap/sys/dev/pci/pci_pci.c#6 integrate .. //depot/projects/vap/sys/dev/pci/pcivar.h#8 integrate .. //depot/projects/vap/sys/dev/usb/ehci_pci.c#9 integrate .. //depot/projects/vap/sys/dev/usb/ugen.c#5 integrate .. //depot/projects/vap/sys/dev/usb/uhid.c#5 integrate .. //depot/projects/vap/sys/dev/wi/if_wi.c#35 integrate .. //depot/projects/vap/sys/dev/wi/if_wivar.h#18 integrate .. //depot/projects/vap/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/vap/sys/geom/part/g_part_apm.c#6 integrate .. //depot/projects/vap/sys/geom/vinum/geom_vinum_rename.c#3 integrate .. //depot/projects/vap/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#4 integrate .. //depot/projects/vap/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#4 integrate .. //depot/projects/vap/sys/i386/i386/pmap.c#17 integrate .. //depot/projects/vap/sys/i386/include/profile.h#6 integrate .. //depot/projects/vap/sys/kern/kern_environment.c#6 integrate .. //depot/projects/vap/sys/kern/kern_exec.c#11 integrate .. //depot/projects/vap/sys/kern/kern_fork.c#10 integrate .. //depot/projects/vap/sys/kern/kern_intr.c#13 integrate .. //depot/projects/vap/sys/kern/kern_lock.c#15 integrate .. //depot/projects/vap/sys/kern/kern_proc.c#10 integrate .. //depot/projects/vap/sys/kern/kern_timeout.c#11 integrate .. //depot/projects/vap/sys/kern/sched_4bsd.c#14 integrate .. //depot/projects/vap/sys/kern/sched_ule.c#17 integrate .. //depot/projects/vap/sys/kern/subr_autoconf.c#7 integrate .. //depot/projects/vap/sys/kern/subr_lock.c#6 integrate .. //depot/projects/vap/sys/kern/subr_sleepqueue.c#13 integrate .. //depot/projects/vap/sys/kern/subr_taskqueue.c#10 integrate .. //depot/projects/vap/sys/kern/subr_witness.c#15 integrate .. //depot/projects/vap/sys/kern/tty.c#10 integrate .. //depot/projects/vap/sys/kern/tty_info.c#1 branch .. //depot/projects/vap/sys/kern/uipc_socket.c#13 integrate .. //depot/projects/vap/sys/kern/uipc_usrreq.c#9 integrate .. //depot/projects/vap/sys/kern/vfs_bio.c#13 integrate .. //depot/projects/vap/sys/kern/vfs_subr.c#19 integrate .. //depot/projects/vap/sys/libkern/arc4random.c#3 integrate .. //depot/projects/vap/sys/modules/Makefile#34 integrate .. //depot/projects/vap/sys/modules/accf_dns/Makefile#1 branch .. //depot/projects/vap/sys/modules/cxgb/cxgb/Makefile#5 integrate .. //depot/projects/vap/sys/modules/et/Makefile#2 integrate .. //depot/projects/vap/sys/modules/mem/Makefile#5 integrate .. //depot/projects/vap/sys/net/bpf_buffer.c#3 integrate .. //depot/projects/vap/sys/net/if_gre.c#10 integrate .. //depot/projects/vap/sys/net/route.c#9 integrate .. //depot/projects/vap/sys/net80211/ieee80211_hostap.c#21 integrate .. //depot/projects/vap/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#6 integrate .. //depot/projects/vap/sys/netgraph/ng_l2tp.c#8 integrate .. //depot/projects/vap/sys/netinet/accf_dns.c#1 branch .. //depot/projects/vap/sys/netinet/in_pcb.c#16 integrate .. //depot/projects/vap/sys/netinet/in_pcb.h#11 integrate .. //depot/projects/vap/sys/netinet/ip_divert.c#7 integrate .. //depot/projects/vap/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/vap/sys/netinet/sctp_asconf.c#7 integrate .. //depot/projects/vap/sys/netinet/sctp_bsd_addr.c#8 integrate .. //depot/projects/vap/sys/netinet/sctp_constants.h#6 integrate .. //depot/projects/vap/sys/netinet/sctp_input.c#9 integrate .. //depot/projects/vap/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/vap/sys/netinet/sctputil.c#9 integrate .. //depot/projects/vap/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/vap/sys/netinet/tcp_offload.h#3 integrate .. //depot/projects/vap/sys/netinet/tcp_syncache.c#12 integrate .. //depot/projects/vap/sys/netinet/tcp_syncache.h#4 integrate .. //depot/projects/vap/sys/netinet/tcp_timer.c#7 integrate .. //depot/projects/vap/sys/netinet/toedev.h#2 integrate .. //depot/projects/vap/sys/netinet/udp_usrreq.c#11 integrate .. //depot/projects/vap/sys/netinet6/icmp6.c#10 integrate .. //depot/projects/vap/sys/netinet6/ip6_output.c#11 integrate .. //depot/projects/vap/sys/netinet6/raw_ip6.c#12 integrate .. //depot/projects/vap/sys/netipsec/ipsec.c#9 integrate .. //depot/projects/vap/sys/netipsec/ipsec6.h#6 integrate .. //depot/projects/vap/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/vap/sys/netipx/ipx_usrreq.c#5 integrate .. //depot/projects/vap/sys/nfs4client/nfs4_socket.c#3 integrate .. //depot/projects/vap/sys/nfs4client/nfs4_vfsops.c#11 integrate .. //depot/projects/vap/sys/nfsclient/nfs_socket.c#9 integrate .. //depot/projects/vap/sys/nfsclient/nfs_vfsops.c#14 integrate .. //depot/projects/vap/sys/rpc/auth_unix.c#3 integrate .. //depot/projects/vap/sys/rpc/rpcclnt.c#7 integrate .. //depot/projects/vap/sys/security/audit/audit.c#10 integrate .. //depot/projects/vap/sys/security/audit/audit.h#6 integrate .. //depot/projects/vap/sys/security/audit/audit_arg.c#8 integrate .. //depot/projects/vap/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/vap/sys/security/audit/audit_bsm_klib.c#7 integrate .. //depot/projects/vap/sys/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/vap/sys/security/audit/audit_private.h#5 integrate .. //depot/projects/vap/sys/security/audit/audit_syscalls.c#6 integrate .. //depot/projects/vap/sys/security/audit/audit_trigger.c#5 integrate .. //depot/projects/vap/sys/security/audit/audit_worker.c#10 integrate .. //depot/projects/vap/sys/sparc64/sparc64/autoconf.c#6 integrate .. //depot/projects/vap/sys/sparc64/sparc64/mem.c#5 integrate .. //depot/projects/vap/sys/sys/_task.h#4 integrate .. //depot/projects/vap/sys/sys/interrupt.h#8 integrate .. //depot/projects/vap/sys/sys/kernel.h#12 integrate .. //depot/projects/vap/sys/sys/param.h#25 integrate .. //depot/projects/vap/sys/sys/proc.h#19 integrate .. //depot/projects/vap/sys/sys/refcount.h#3 integrate .. //depot/projects/vap/sys/sys/sockbuf.h#1 branch .. //depot/projects/vap/sys/sys/socket.h#10 integrate .. //depot/projects/vap/sys/sys/socketvar.h#12 integrate .. //depot/projects/vap/sys/sys/sockopt.h#1 branch .. //depot/projects/vap/sys/sys/sockstate.h#1 branch .. //depot/projects/vap/sys/sys/sysctl.h#9 integrate .. //depot/projects/vap/sys/sys/taskqueue.h#8 integrate .. //depot/projects/vap/sys/sys/vmmeter.h#5 integrate .. //depot/projects/vap/sys/ufs/ffs/ffs_balloc.c#7 integrate .. //depot/projects/vap/sys/ufs/ffs/ffs_vfsops.c#13 integrate .. //depot/projects/vap/sys/vm/vm_kern.c#10 integrate .. //depot/projects/vap/tools/build/mk/OptionalObsoleteFiles.inc#9 integrate .. //depot/projects/vap/usr.bin/calendar/calendars/calendar.freebsd#12 integrate .. //depot/projects/vap/usr.bin/cpio/cmdline.c#3 integrate .. //depot/projects/vap/usr.bin/cpio/cpio.c#4 integrate .. //depot/projects/vap/usr.bin/cpio/cpio.h#3 integrate .. //depot/projects/vap/usr.bin/gcore/elfcore.c#3 integrate .. //depot/projects/vap/usr.bin/gzip/gzip.1#4 integrate .. //depot/projects/vap/usr.bin/gzip/gzip.c#4 integrate .. //depot/projects/vap/usr.bin/ldd/ldd.c#4 integrate .. //depot/projects/vap/usr.bin/procstat/procstat.1#4 integrate .. //depot/projects/vap/usr.bin/tar/bsdtar.1#9 integrate .. //depot/projects/vap/usr.bin/yacc/skeleton.c#3 integrate .. //depot/projects/vap/usr.sbin/Makefile#10 integrate .. //depot/projects/vap/usr.sbin/config/config.y#4 integrate .. //depot/projects/vap/usr.sbin/config/lang.l#3 integrate .. //depot/projects/vap/usr.sbin/ndiscvt/ndisgen.8#3 integrate .. //depot/projects/vap/usr.sbin/rtadvd/rtadvd.c#3 integrate .. //depot/projects/vap/usr.sbin/rtsold/rtsold.c#3 integrate .. //depot/projects/vap/usr.sbin/setfib/setfib.c#3 integrate Differences ... ==== //depot/projects/vap/ObsoleteFiles.inc#15 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.152 2008/07/13 17:17:35 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.154 2008/07/25 12:37:46 ed Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,14 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080725: sgtty.h removed +OLD_FILES+=usr/include/sgtty.h +# 20080719: sade(8) removed on all but amd64, i386 and sparc64 +.if ${TARGET_ARCH} != "amd64" && ${TARGET_ARCH} != "i386" && \ + ${TARGET_ARCH} != "sparc64" +OLD_FILES+=usr/sbin/sade +OLD_FILES+=usr/share/man/man8/sade.8.gz +.endif # 20080706: bsdlabel(8) removed on powerpc .if ${TARGET_ARCH} == "powerpc" OLD_FILES+=sbin/bsdlabel ==== //depot/projects/vap/UPDATING#16 (text+ko) ==== @@ -26,7 +26,7 @@ The sio(4) driver has been removed from the i386 and amd64 kernel configuration files. This means uart(4) is now the default serial port driver on those platforms as well. - + To prevent collisions with the sio(4) driver, the uart(4) driver uses different names for its device nodes. This means the onboard serial port will now most likely be called "ttyu0" @@ -40,7 +40,7 @@ 20080603: The version that Linuxulator emulates was changed from 2.4.2 to 2.6.16. If you experience any problems with Linux binaries - please try to set sysctl compat.linux.osrelease to 2.4.2 and + please try to set sysctl compat.linux.osrelease to 2.4.2 and if it fixes the problem contact emulation mailing list. 20080525: @@ -49,7 +49,7 @@ 20080509: I have checked in code to support multiple routing tables. - see the man pages setfib(1) and setfib(2). + See the man pages setfib(1) and setfib(2). This is a hopefully backwards compatible version, but to make use of it you need to compile your kernel with options ROUTETABLES=2 (or more up to 16). @@ -343,9 +343,9 @@ replace it as a more portable (and re-entrant) API. 20070224: - To support interrupt filtering a modification to the newbus API + To support interrupt filtering a modification to the newbus API has occurred, ABI was broken and __FreeBSD_version was bumped - to 700031. Please make sure that your kernel and modules are in + to 700031. Please make sure that your kernel and modules are in sync. For more info: http://docs.freebsd.org/cgi/mid.cgi?20070221233124.GA13941 @@ -404,8 +404,8 @@ 'hw.pci.enable_msix' tunables to 0 in the loader. 20061205: - The removal of several facets of the experimental Threading - system from the kernel means that the proc and thread structures + The removal of several facets of the experimental Threading + system from the kernel means that the proc and thread structures have changed quite a bit. I suggest all kernel modules that might reference these structures be recompiled.. Especially the linux module. @@ -457,7 +457,7 @@ The MUTEX_PROFILING option has been renamed to LOCK_PROFILING. The lockmgr object layout has been changed as a result of having a lock_object embedded in it. As a consequence all file system - kernel modules must be re-compiled. The mutex profiling man page + kernel modules must be re-compiled. The mutex profiling man page has not yet been updated to reflect this change. 20061026: @@ -506,7 +506,7 @@ after updating the kernel sources and compiling a new kernel, the i4b user space tools in "/usr/src/usr.sbin/i4b" must also be rebuilt, and vice versa. - + 20060627: The XBOX kernel now defaults to the nfe(4) driver instead of the nve(4) driver. Please update your configuration @@ -588,7 +588,7 @@ 20060201: The kernel ABI to file system modules was changed on i386. Please make sure that your kernel and modules are in sync. - + 20060118: This actually occured some time ago, but installing the kernel now also installs a bunch of symbol files for the kernel modules. @@ -1078,4 +1078,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.535 2008/07/13 07:20:14 ed Exp $ +$FreeBSD: src/UPDATING,v 1.537 2008/07/25 09:30:53 maxim Exp $ ==== //depot/projects/vap/bin/mv/mv.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/mv/mv.c,v 1.50 2007/12/27 11:33:42 dds Exp $"); +__FBSDID("$FreeBSD: src/bin/mv/mv.c,v 1.51 2008/07/19 00:13:26 delphij Exp $"); #include #include @@ -70,10 +70,10 @@ int fflg, iflg, nflg, vflg; -int copy(char *, char *); -int do_move(char *, char *); -int fastcopy(char *, char *, struct stat *); -void usage(void); +static int copy(const char *, const char *); +static int do_move(const char *, const char *); +static int fastcopy(const char *, const char *, struct stat *); +static void usage(void); int main(int argc, char *argv[]) @@ -154,8 +154,8 @@ exit(rval); } -int -do_move(char *from, char *to) +static int +do_move(const char *from, const char *to) { struct stat sb; int ask, ch, first; @@ -254,8 +254,8 @@ fastcopy(from, to, &sb) : copy(from, to)); } -int -fastcopy(char *from, char *to, struct stat *sbp) +static int +fastcopy(const char *from, const char *to, struct stat *sbp) { struct timeval tval[2]; static u_int blen; @@ -360,8 +360,8 @@ return (0); } -int -copy(char *from, char *to) +static int +copy(const char *from, const char *to) { struct stat sb; int pid, status; @@ -438,7 +438,7 @@ return (0); } -void +static void usage(void) { ==== //depot/projects/vap/bin/ps/ps.c#3 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.113 2007/11/08 22:31:28 jhb Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.114 2008/07/18 14:55:22 kevlo Exp $"); #include #include @@ -213,7 +213,7 @@ init_list(&uidlist, addelem_uid, sizeof(uid_t), "user"); memf = nlistf = _PATH_DEVNULL; while ((ch = getopt(argc, argv, PS_ARGS)) != -1) - switch ((char)ch) { + switch (ch) { case 'A': /* * Exactly the same as `-ax'. This has been ==== //depot/projects/vap/contrib/cvs/doc/HACKING.DOCS#2 (text+ko) ==== @@ -12,11 +12,7 @@ @emph{ ... } emphasis - warnings, stress, etc. This will be bracketed by underline characters in info files (_ ... _) and in italics in PDF & probably in - postscript & HTML. -@strong{ ... } Similar to @emph{}, but the effect is to - bracket with asterisks in info files (* ... *) - and in bold in PDF & probably in postscript & - HTML. + postscript & HTML. @noindent Suppresses indentation of the following paragraph. This can ocassionally be useful after examples and the like. @@ -26,7 +22,7 @@ Preformatted text should be marked as such (use @example... there may be other ways) since many of the final output formats can use relational fonts otherwise -and marking it as formatted should restrict it to a fixed width font. Keep +and marking it as formatted should restrict it to a fixed wiidth font. Keep this sort of text to 80 characters or less per line since larger may not be properly viewable for some info users. @@ -37,10 +33,5 @@ Use lots of index markers. Scan the index for the current style. Try to reuse an existing entry if the meaning is similar. -`makeinfo' 3.11 or greater is required for output generation since earlier -versions do not support the @ifnottex & @ifnothtml commands. There may be -other commands used in `cvs.texinfo' that are unsupported by earlier versions -of `makeinfo' by the time you read this. - For more on using texinfo docs, see the `info texinfo' documentation or http://www.gnu.org/manual/texinfo/texinfo.html . ==== //depot/projects/vap/contrib/ipfilter/ip_fil.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.6 2007/10/18 21:52:11 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.7 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 1993-2001 by Darren Reed. @@ -801,3 +801,18 @@ { return 0; } + + +u_32_t ipf_random() +{ + static int seeded = 0; + + /* + * Choose a non-random seed so that "randomness" can be "tested." + */ + if (seeded == 0) { + srand(0); + seeded = 1; + } + return rand(); +} ==== //depot/projects/vap/contrib/ipfilter/ipsend/iptests.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ipsend/iptests.c,v 1.14 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ipsend/iptests.c,v 1.15 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 1993-1998 by Darren Reed. @@ -24,6 +24,7 @@ #if !defined(__osf__) # ifdef __NetBSD__ # include +# include # endif # define _KERNEL # define KERNEL ==== //depot/projects/vap/contrib/ipfilter/ipsend/sock.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/ipsend/sock.c,v 1.19 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/ipsend/sock.c,v 1.21 2008/07/24 12:35:05 darrenr Exp $ */ /* * sock.c (C) 1995-1998 Darren Reed * @@ -32,16 +32,25 @@ #if !defined(__osf__) # ifdef __NetBSD__ # include +# include +# endif +# ifdef __FreeBSD__ +# define _WANT_FILE +# else +# define _KERNEL +# define KERNEL # endif -# define _KERNEL -# define KERNEL # ifdef ultrix # undef LOCORE # include # endif # include -# undef _KERNEL -# undef KERNEL +# ifdef __FreeBSD__ +# undef _WANT_FILE +# else +# undef _KERNEL +# undef KERNEL +# endif #endif #include #include ==== //depot/projects/vap/contrib/ipfilter/lib/printnat.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/lib/printnat.c,v 1.5 2007/10/18 21:52:12 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/lib/printnat.c,v 1.6 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 2002-2005 by Darren Reed. @@ -217,6 +217,8 @@ putchar(' '); printproto(pr, np->in_p, np); } + if (np->in_flags & IPN_SEQUENTIAL) + printf(" sequential"); printf("\n"); if (opts & OPT_DEBUG) { struct in_addr nip; ==== //depot/projects/vap/contrib/ipfilter/test/regress/n12#3 (text+ko) ==== @@ -1,1 +1,1 @@ -map le0 192.168.126.0/24 -> 0/32 portmap tcp/udp 10000:20000 +map le0 192.168.126.0/24 -> 0/32 portmap tcp/udp 10000:20000 sequential ==== //depot/projects/vap/contrib/ipfilter/test/regress/n2#3 (text+ko) ==== @@ -1,4 +1,4 @@ -map zx0 10.1.1.1/32 -> 10.2.2.2/32 portmap tcp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 -map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 +map zx0 10.1.1.1/32 -> 10.2.2.2/32 portmap tcp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 sequential +map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 sequential ==== //depot/projects/vap/contrib/ipfilter/test/regress/n5#3 (text+ko) ==== @@ -1,6 +1,6 @@ map zx0 10.1.1.1/32 -> 10.2.2.2/32 map zx0 from 10.1.1.0/24 to 10.1.0.0/16 -> 10.3.4.5/32 map zx0 from 10.1.1.0/24 ! to 10.1.0.0/16 -> 10.3.4.0/24 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 -map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 -map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap udp 10000:20000 sequential +map zx0 10.1.0.0/16 -> 10.3.4.0/24 portmap tcp/udp 10000:20000 sequential +map zx0 10.1.1.0/24 -> 10.3.4.5/32 portmap tcp/udp 40000:40001 sequential ==== //depot/projects/vap/contrib/ipfilter/test/regress/ni1.nat#3 (text+ko) ==== @@ -1,3 +1,3 @@ -map df0 from 2.2.2.2/32 port 20000 >< 25000 to any -> 6.6.6.8/32 portmap udp 2000:2500 -map df0 from 2.2.2.2/32 port 2000 >< 2500 to any -> 6.6.6.7/32 portmap udp 20000:25000 +map df0 from 2.2.2.2/32 port 20000 >< 25000 to any -> 6.6.6.8/32 portmap udp 2000:2500 sequential +map df0 from 2.2.2.2/32 port 2000 >< 2500 to any -> 6.6.6.7/32 portmap udp 20000:25000 sequential map df0 from 2.2.2.2/32 to any -> 6.6.6.6/32 ==== //depot/projects/vap/contrib/ipfilter/test/regress/ni2.nat#3 (text+ko) ==== @@ -1,1 +1,1 @@ -map xl0 10.0.0.0/8 -> 1.1.1.1/32 portmap tcp/udp 40000:60000 +map xl0 10.0.0.0/8 -> 1.1.1.1/32 portmap tcp/udp 40000:60000 sequential ==== //depot/projects/vap/contrib/ipfilter/test/regress/ni4.nat#3 (text+ko) ==== @@ -1,1 +1,1 @@ -map df0 2.2.2.2/32 -> 6.6.6.6/32 portmap tcp/udp 40000:60000 +map df0 2.2.2.2/32 -> 6.6.6.6/32 portmap tcp/udp 40000:60000 sequential ==== //depot/projects/vap/contrib/ipfilter/tools/ipnat_y.y#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/ipfilter/tools/ipnat_y.y,v 1.6 2007/10/18 21:52:13 darrenr Exp $ */ +/* $FreeBSD: src/contrib/ipfilter/tools/ipnat_y.y,v 1.7 2008/07/24 12:35:05 darrenr Exp $ */ /* * Copyright (C) 2001-2006 by Darren Reed. @@ -95,7 +95,7 @@ %token IPNY_MAP IPNY_BIMAP IPNY_FROM IPNY_TO IPNY_MASK IPNY_PORTMAP IPNY_ANY %token IPNY_ROUNDROBIN IPNY_FRAG IPNY_AGE IPNY_ICMPIDMAP IPNY_PROXY %token IPNY_TCP IPNY_UDP IPNY_TCPUDP IPNY_STICKY IPNY_MSSCLAMP IPNY_TAG -%token IPNY_TLATE +%token IPNY_TLATE IPNY_SEQUENTIAL %type portspec %type hexnumber compare range proto %type hostname ipv4 @@ -422,11 +422,11 @@ ; mapport: - IPNY_PORTMAP tcpudp portspec ':' portspec + IPNY_PORTMAP tcpudp portspec ':' portspec randport { nat->in_pmin = htons($3); nat->in_pmax = htons($5); } - | IPNY_PORTMAP tcpudp IPNY_AUTO + | IPNY_PORTMAP tcpudp IPNY_AUTO randport { nat->in_flags |= IPN_AUTOPORTMAP; nat->in_pmin = htons(1024); nat->in_pmax = htons(65535); @@ -446,6 +446,10 @@ } ; +randport: + | IPNY_SEQUENTIAL { nat->in_flags |= IPN_SEQUENTIAL; } + ; + sobject: saddr | saddr port portstuff { nat->in_sport = $3.p1; @@ -519,6 +523,7 @@ nattag: | IPNY_TAG YY_STR { strncpy(nat->in_tag.ipt_tag, $2, sizeof(nat->in_tag.ipt_tag)); } + rr: | IPNY_ROUNDROBIN { nat->in_flags |= IPN_ROUNDR; } ; @@ -647,6 +652,7 @@ { "range", IPNY_RANGE }, { "rdr", IPNY_RDR }, { "round-robin",IPNY_ROUNDROBIN }, + { "sequential", IPNY_SEQUENTIAL }, { "sticky", IPNY_STICKY }, { "tag", IPNY_TAG }, { "tcp", IPNY_TCP }, ==== //depot/projects/vap/contrib/tcsh/tc.func.c#3 (text+ko) ==== @@ -632,7 +632,7 @@ } strbuf_terminate(&pass); - cleanup_until(&sa); + cleanup_until(&osa); return pass.s; } ==== //depot/projects/vap/contrib/telnet/telnetd/state.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.14 2003/05/04 02:54:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.15 2008/07/28 18:58:16 jhb Exp $"); #include #include "telnetd.h" @@ -553,8 +553,10 @@ #ifdef AUTHENTICATION case TELOPT_AUTHENTICATION: - func = auth_request; - changeok++; + if (auth_level >= 0) { + func = auth_request; + changeok++; + } break; #endif ==== //depot/projects/vap/contrib/telnet/telnetd/telnetd.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.29 2006/09/26 21:46:11 ru Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.30 2008/07/28 18:58:16 jhb Exp $"); #include "telnetd.h" #include "pathnames.h" @@ -481,11 +481,13 @@ /* * Handle the Authentication option before we do anything else. */ - send_do(TELOPT_AUTHENTICATION, 1); - while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) - ttloop(); - if (his_state_is_will(TELOPT_AUTHENTICATION)) { - retval = auth_wait(name); + if (auth_level >= 0) { + send_do(TELOPT_AUTHENTICATION, 1); + while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) + ttloop(); + if (his_state_is_will(TELOPT_AUTHENTICATION)) { + retval = auth_wait(name); + } } #endif ==== //depot/projects/vap/etc/mtree/BSD.usr.dist#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.334 2008/05/26 10:39:46 bz Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.335 2008/07/28 17:42:37 antoine Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -297,8 +297,6 @@ .. tcsh .. - wpa_supplicant - .. .. games fortune ==== //depot/projects/vap/etc/ppp/ppp.conf#3 (text+ko) ==== @@ -5,7 +5,7 @@ # # See /usr/share/examples/ppp/ for some examples # -# $FreeBSD: src/etc/ppp/ppp.conf,v 1.10 2004/11/19 17:12:56 obrien Exp $ +# $FreeBSD: src/etc/ppp/ppp.conf,v 1.11 2008/07/19 20:00:18 marcel Exp $ ################################################################# default: @@ -13,9 +13,9 @@ ident user-ppp VERSION (built COMPILATIONDATE) # Ensure that "device" references the correct serial port - # for your modem. (cuad0 = COM1, cuad1 = COM2) + # for your modem. (cuau0 = COM1, cuau1 = COM2) # - set device /dev/cuad1 + set device /dev/cuau1 set speed 115200 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ ==== //depot/projects/vap/etc/rc.d/bluetooth#3 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/bluetooth,v 1.3 2006/12/31 10:37:18 yar Exp $ +# $FreeBSD: src/etc/rc.d/bluetooth,v 1.4 2008/07/19 20:11:33 marcel Exp $ # PROVIDE: bluetooth # REQUIRE: DAEMON @@ -234,19 +234,19 @@ # Try to figure out device type by looking at device name case "${dev}" in - # sioX - serial/UART Bluetooth device - sio*) + # uartX - serial/UART Bluetooth device + uart*) load_kld ng_h4 || return 1 hook="hook" # Obtain unit number from device. - unit=`expr ${dev} : 'sio\([0-9]\{1,\}\)'` + unit=`expr ${dev} : 'uart\([0-9]\{1,\}\)'` if [ -z "${unit}" ]; then - err 1 "Unable to get sio unit number: ${dev}" + err 1 "Unable to get uart unit number: ${dev}" fi - ${hcseriald} -f /dev/cuad${unit} -n ${dev} + ${hcseriald} -f /dev/cuau${unit} -n ${dev} sleep 1 # wait a little bit if [ ! -f "/var/run/hcseriald.${dev}.pid" ]; then @@ -326,8 +326,8 @@ # Try to figure out device type by looking at device name case "${dev}" in - # sioX - serial/UART Bluetooth device - sio*) + # uartX - serial/UART Bluetooth device + uart*) if [ -f "/var/run/hcseriald.${dev}.pid" ]; then kill `cat /var/run/hcseriald.${dev}.pid` sleep 1 # wait a little bit ==== //depot/projects/vap/etc/rc.d/serial#3 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/serial,v 1.25 2006/03/23 08:48:38 ru Exp $ +# $FreeBSD: src/etc/rc.d/serial,v 1.26 2008/07/19 20:12:02 marcel Exp $ # # PROVIDE: serial @@ -151,12 +151,12 @@ # $1 is the device identifier, and the remainder of the line # lists the device numbers. -# Initialize assorted 8250-16550 (sio) ports. -# maybe d 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v -# mouse d 2 -# modem d 1 -# terminal d 0 -# 3wire d 0 +# Initialize assorted 8250-16550 (uart) ports. +# maybe u 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v +# mouse u 2 +# modem u 1 +# terminal u 0 +# 3wire u 0 # Initialize all ports on a Cyclades-8yo. # modem c 00 01 02 03 04 05 06 07 ==== //depot/projects/vap/etc/rc.resume#3 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.resume,v 1.8 2007/06/21 22:50:36 njl Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:24:32 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D39FA106567E; Tue, 29 Jul 2008 17:24:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 978E91065674 for ; Tue, 29 Jul 2008 17:24:32 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from server.mypc.hu (server.mypc.hu [87.229.73.95]) by mx1.freebsd.org (Postfix) with ESMTP id 4DDAD8FC23 for ; Tue, 29 Jul 2008 17:24:32 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by server.mypc.hu (Postfix) with ESMTP id D481F14D66F6; Tue, 29 Jul 2008 19:09:19 +0200 (CEST) X-Virus-Scanned: amavisd-new at t-hosting.hu Received: from server.mypc.hu ([127.0.0.1]) by localhost (server.mypc.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BOERvM667vTr; Tue, 29 Jul 2008 19:09:17 +0200 (CEST) Received: from [192.168.2.177] (catv-50629c59.catv.broadband.hu [80.98.156.89]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.mypc.hu (Postfix) with ESMTPSA id 9ADF014D66F1; Tue, 29 Jul 2008 19:09:17 +0200 (CEST) Message-ID: <488F4EB8.5010308@FreeBSD.org> Date: Tue, 29 Jul 2008 19:09:12 +0200 From: =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Kris Kennaway References: <200807291601.m6TG1FXh039193@repoman.freebsd.org> <488F4B1A.3000207@FreeBSD.org> In-Reply-To: <488F4B1A.3000207@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: Perforce Change Reviews , Max Khon Subject: Re: PERFORCE change 146209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:24:33 -0000 Kris Kennaway escribió: > Gabor Kovesdan wrote: >> http://perforce.freebsd.org/chv.cgi?CH=146209 >> >> Change 146209 by gabor@gabor_server on 2008/07/29 16:01:05 >> >> - Just handle some command line options as noop. They seem to be >> rarely used based on the resources describing them. From now on >> let's concentrate on the really practical features instead of >> these ones. > > I don't think it's a good idea to "implement" options as NOPs unless > they really are NOPs. This will just cause silent failure and/or > script misbehaviour, which may be very hard to track down. I've been also thinking of this, and I'm still a bit unsure. It would be bad if scripts failed due to this, but it would be also bad if scripts didn't run because of a e.g. --side-by-side argument, which rarely (or never?) makes any difference. I've played with the options a bit and a lot of them made no difference in the output neither with normal diff nor with context diff nor with unified diff. Maybe the best way to investigate what are they for would be to dig deeply in the GNU code, which is a mess. I haven't even found info about them on Google, thus I don't think they worth the effort. My mentor added to CC. Best, -- Gabor Kovesdan EMAIL: gabor@FreeBSD.org WWW: http://www.kovesdan.org From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:45:02 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C588A1065670; Tue, 29 Jul 2008 17:45:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8824D106567E for ; Tue, 29 Jul 2008 17:45:02 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 735068FC37 for ; Tue, 29 Jul 2008 17:45:02 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6THj2Gw065089 for ; Tue, 29 Jul 2008 17:45:02 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6THj2OX065087 for perforce@freebsd.org; Tue, 29 Jul 2008 17:45:02 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 17:45:02 GMT Message-Id: <200807291745.m6THj2OX065087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146217 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:45:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=146217 Change 146217 by trasz@trasz_traszkan on 2008/07/29 17:44:26 Add "-n" option to getfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#7 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#4 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#6 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#8 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.c#5 (text+ko) ==== @@ -302,7 +302,8 @@ * MAY HAVE SIDE-EFFECTS */ int -_posix1e_acl_id_to_name(acl_tag_t tag, uid_t id, ssize_t buf_len, char *buf) +_posix1e_acl_id_to_name(acl_tag_t tag, uid_t id, ssize_t buf_len, char *buf, + int flags) { struct group *g; struct passwd *p; @@ -310,7 +311,10 @@ switch(tag) { case ACL_USER: - p = getpwuid(id); + if (flags & ACL_TEXT_NUMERIC_IDS) + p = NULL; + else + p = getpwuid(id); if (!p) i = snprintf(buf, buf_len, "%d", id); else @@ -323,7 +327,10 @@ return (0); case ACL_GROUP: - g = getgrgid(id); + if (flags & ACL_TEXT_NUMERIC_IDS) + g = NULL; + else + g = getgrgid(id); if (g == NULL) i = snprintf(buf, buf_len, "%d", id); else ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support.h#7 (text+ko) ==== @@ -53,7 +53,7 @@ int _posix1e_acl_sort(acl_t acl); int _posix1e_acl(acl_t acl, acl_type_t type); int _posix1e_acl_id_to_name(acl_tag_t tag, uid_t id, ssize_t buf_len, - char *buf); + char *buf, int flags); int _posix1e_acl_perm_to_string(acl_perm_t perm, ssize_t buf_len, char *buf); int _posix1e_acl_string_to_perm(char *string, acl_perm_t *perm); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#4 (text+ko) ==== @@ -99,10 +99,9 @@ off--; /* ... then remove the last slash. */ assert(str[off] == '/'); - str[off] = '\0'; - } else { - str[0] = '\0'; - } + } + + str[off] = '\0'; return (0); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text.c#6 (text+ko) ==== @@ -54,7 +54,7 @@ char *_nfs4_acl_to_text_np(const acl_t acl, ssize_t *len_p, int flags); static char * -_posix1e_acl_to_text(acl_t acl, ssize_t *len_p) +_posix1e_acl_to_text(acl_t acl, ssize_t *len_p, int flags) { struct acl *acl_int; char *buf, *tmpbuf; @@ -108,7 +108,7 @@ goto error_label; error = _posix1e_acl_id_to_name(ae_tag, ae_id, - UT_NAMESIZE+1, name_buf); + UT_NAMESIZE+1, name_buf, flags); if (error) goto error_label; @@ -168,7 +168,7 @@ goto error_label; error = _posix1e_acl_id_to_name(ae_tag, ae_id, - UT_NAMESIZE+1, name_buf); + UT_NAMESIZE+1, name_buf, flags); if (error) goto error_label; @@ -244,7 +244,7 @@ { switch (_acl_brand(acl)) { case ACL_BRAND_POSIX: - return (_posix1e_acl_to_text(acl, len_p)); + return (_posix1e_acl_to_text(acl, len_p, flags)); case ACL_BRAND_NFS4: return (_nfs4_acl_to_text_np(acl, len_p, flags)); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_to_text_nfs4.c#8 (text+ko) ==== @@ -42,7 +42,7 @@ #define MAX_ENTRY_LENGTH 512 static int -format_who(char *str, size_t size, const acl_entry_t entry) +format_who(char *str, size_t size, const acl_entry_t entry, int numeric) { int error; acl_tag_t tag; @@ -62,7 +62,10 @@ id = (id_t *)acl_get_qualifier(entry); assert(id); /* XXX: Thread-unsafe. */ - pwd = getpwuid(*id); + if (!numeric) + pwd = getpwuid(*id); + else + pwd = NULL; if (pwd == NULL) snprintf(str, size, "user:%d", (unsigned int)*id); else @@ -77,7 +80,10 @@ id = (id_t *)acl_get_qualifier(entry); assert(id); /* XXX: Thread-unsafe. */ - grp = getgrgid(*id); + if (!numeric) + grp = getgrgid(*id); + else + grp = NULL; if (grp == NULL) snprintf(str, size, "group:%d", (unsigned int)*id); else @@ -136,12 +142,9 @@ size_t off = 0, padding_length, maximum_who_field_length = 18; acl_permset_t permset; acl_flagset_t flagset; - int error, len, verbose = 0; + int error, len; char buf[MAX_ENTRY_LENGTH + 1]; - if (flags & ACL_TEXT_VERBOSE) - verbose = 1; - assert(_entry_brand(entry) == ACL_BRAND_NFS4); error = acl_get_flagset_np(entry, &flagset); @@ -152,7 +155,8 @@ if (error) return (error); - error = format_who(buf, sizeof(buf), entry); + error = format_who(buf, sizeof(buf), entry, + flags & ACL_TEXT_NUMERIC_IDS); if (error) return (error); len = strlen(buf); @@ -163,12 +167,14 @@ } off += snprintf(str + off, size - off, "%s:", buf); - error = _nfs4_format_access_mask(buf, sizeof(buf), *permset, verbose); + error = _nfs4_format_access_mask(buf, sizeof(buf), *permset, + flags & ACL_TEXT_VERBOSE); if (error) return (error); off += snprintf(str + off, size - off, "%s:", buf); - error = _nfs4_format_flags(buf, sizeof(buf), *flagset, verbose); + error = _nfs4_format_flags(buf, sizeof(buf), *flagset, + flags & ACL_TEXT_VERBOSE); if (error) return (error); off += snprintf(str + off, size - off, "%s:", buf); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 17:48:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 052A01065670; Tue, 29 Jul 2008 17:48:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC42F106564A for ; Tue, 29 Jul 2008 17:48:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A77148FC0A for ; Tue, 29 Jul 2008 17:48:05 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6THm5tr066846 for ; Tue, 29 Jul 2008 17:48:05 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6THm5mE066844 for perforce@freebsd.org; Tue, 29 Jul 2008 17:48:05 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 17:48:05 GMT Message-Id: <200807291748.m6THm5mE066844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146218 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 17:48:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=146218 Change 146218 by trasz@trasz_traszkan on 2008/07/29 17:47:44 Really add "-n" option to getfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#8 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#14 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.c#8 (text+ko) ==== @@ -54,7 +54,7 @@ usage(void) { - fprintf(stderr, "getfacl [-dhqv] [file ...]\n"); + fprintf(stderr, "getfacl [-dhnqv] [file ...]\n"); } static char * @@ -175,12 +175,12 @@ } static int -print_acl(char *path, acl_type_t type, int hflag, int qflag, int vflag) +print_acl(char *path, acl_type_t type, int hflag, int nflag, int qflag, int vflag) { struct stat sb; acl_t acl; char *acl_text; - int error; + int error, flags = 0; if (hflag) error = lstat(path, &sb); @@ -223,9 +223,12 @@ } if (vflag) - acl_text = acl_to_text_np(acl, 0, ACL_TEXT_VERBOSE); - else - acl_text = acl_to_text_np(acl, 0, 0); + flags |= ACL_TEXT_VERBOSE; + + if (nflag) + flags |= ACL_TEXT_NUMERIC_IDS; + + acl_text = acl_to_text_np(acl, 0, flags); if (!acl_text) { warn("%s", path); return(-1); @@ -240,7 +243,7 @@ } static int -print_acl_from_stdin(acl_type_t type, int hflag, int qflag, int vflag) +print_acl_from_stdin(acl_type_t type, int hflag, int nflag, int qflag, int vflag) { char *p, pathname[PATH_MAX]; int carried_error = 0; @@ -248,7 +251,7 @@ while (fgets(pathname, (int)sizeof(pathname), stdin)) { if ((p = strchr(pathname, '\n')) != NULL) *p = '\0'; - if (print_acl(pathname, type, hflag, qflag, vflag) == -1) { + if (print_acl(pathname, type, hflag, nflag, qflag, vflag) == -1) { carried_error = -1; } } @@ -262,12 +265,13 @@ acl_type_t type = ACL_TYPE_ACCESS; int carried_error = 0; int ch, error, i; - int hflag, qflag, vflag; + int hflag, qflag, nflag, vflag; hflag = 0; qflag = 0; + nflag = 0; vflag = 0; - while ((ch = getopt(argc, argv, "dhqv")) != -1) + while ((ch = getopt(argc, argv, "dhnqv")) != -1) switch(ch) { case 'd': type = ACL_TYPE_DEFAULT; @@ -275,6 +279,9 @@ case 'h': hflag = 1; break; + case 'n': + nflag = 1; + break; case 'q': qflag = 1; break; @@ -289,17 +296,19 @@ argv += optind; if (argc == 0) { - error = print_acl_from_stdin(type, hflag, qflag, vflag); + error = print_acl_from_stdin(type, hflag, nflag, qflag, vflag); return(error ? 1 : 0); } for (i = 0; i < argc; i++) { if (!strcmp(argv[i], "-")) { - error = print_acl_from_stdin(type, hflag, qflag, vflag); + error = print_acl_from_stdin(type, hflag, nflag, qflag, + vflag); if (error == -1) carried_error = -1; } else { - error = print_acl(argv[i], type, hflag, qflag, vflag); + error = print_acl(argv[i], type, hflag, nflag, qflag, + vflag); if (error == -1) carried_error = -1; } ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#14 (text+ko) ==== @@ -228,7 +228,8 @@ /* * Possible values for _flags parameter in acl_to_text_np(3). */ -#define ACL_TEXT_VERBOSE 1 +#define ACL_TEXT_VERBOSE 0x01 +#define ACL_TEXT_NUMERIC_IDS 0x02 #ifdef _KERNEL From owner-p4-projects@FreeBSD.ORG Tue Jul 29 19:51:17 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAEB01065674; Tue, 29 Jul 2008 19:51:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 638AB1065672 for ; Tue, 29 Jul 2008 19:51:17 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4DDEF8FC15 for ; Tue, 29 Jul 2008 19:51:17 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TJpH0P090739 for ; Tue, 29 Jul 2008 19:51:17 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TJpHj9090737 for perforce@freebsd.org; Tue, 29 Jul 2008 19:51:17 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 19:51:17 GMT Message-Id: <200807291951.m6TJpHj9090737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 19:51:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146225 Change 146225 by trasz@trasz_traszkan on 2008/07/29 19:50:49 Add "-a" option to setfacl(1). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#20 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#5 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#20 (text+ko) ==== @@ -1,7 +1,5 @@ Things to do, in no particular order: -- Add the ability to add ACE at a given position in ACL to setfacl(1), - - Add the ability to parse ACLs in verbose form, e.g. instead of owner@:rwx:f:allow ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/merge.c#5 (text+ko) ==== @@ -93,7 +93,7 @@ acl_tag_t tag, tag_new; acl_extended_t extended, extended_new; acl_flagset_t flagset; - int entry_id, entry_id_new, have_entry; + int entry_id, entry_id_new, have_entry, entry_number = 0; if (acl_type == ACL_TYPE_ACCESS || acl_type == ACL_TYPE_NFS4) acl_new = acl_dup(prev_acl[ACCESS_ACL]); @@ -186,12 +186,21 @@ * in most cases they wouldn't even get evaluated. */ if (acl_type == ACL_TYPE_NFS4) { - if (acl_create_entry_np(&acl_new, &entry_new, 0) == -1) { + if (acl_create_entry_np(&acl_new, &entry_new, entry_number) == -1) { + warnx("acl_create_entry_np() failed"); acl_free(acl_new); return (-1); } + /* + * Without this increment, adding several + * entries at once, for example + * "setfacl -m user:1:r:allow,user:2:r:allow", + * would make them appear in reverse order. + */ + entry_number++; } else { if (acl_create_entry(&acl_new, &entry_new) == -1) { + warnx("acl_create_entry() failed"); acl_free(acl_new); return (-1); } @@ -211,3 +220,48 @@ return (0); } + +int +add_acl(acl_t acl, uint entry_number, acl_t *prev_acl) +{ + acl_entry_t entry, entry_new; + acl_t acl_new; + int entry_id; + + if (acl_type != ACL_TYPE_NFS4) { + warnx("The '-a' option is only applicable to NFS4 ACLs"); + return (-1); + } + + acl_new = acl_dup(prev_acl[ACCESS_ACL]); + if (acl_new == NULL) + err(1, "acl_dup() failed"); + + entry_id = ACL_FIRST_ENTRY; + + while (acl_get_entry(acl, entry_id, &entry) == 1) { + entry_id = ACL_NEXT_ENTRY; + + if (acl_create_entry_np(&acl_new, &entry_new, entry_number) == -1) { + warnx("acl_create_entry_np() failed"); + acl_free(acl_new); + return (-1); + } + + /* + * Without this increment, adding several + * entries at once, for example + * "setfacl -m user:1:r:allow,user:2:r:allow", + * would make them appear in reverse order. + */ + entry_number++; + + if (acl_copy_entry(entry_new, entry) == -1) + err(1, "acl_copy_entry() failed"); + } + + acl_free(prev_acl[ACCESS_ACL]); + prev_acl[ACCESS_ACL] = acl_new; + + return (0); +} ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.c#5 (text+ko) ==== @@ -125,7 +125,7 @@ TAILQ_INIT(&entrylist); TAILQ_INIT(&filelist); - while ((ch = getopt(argc, argv, "M:X:bdhkm:nx:")) != -1) + while ((ch = getopt(argc, argv, "M:X:a:bdhkm:nx:")) != -1) switch(ch) { case 'M': entry = zmalloc(sizeof(struct sf_entry)); @@ -141,6 +141,25 @@ entry->op = OP_REMOVE_ACL; TAILQ_INSERT_TAIL(&entrylist, entry, next); break; + case 'a': + entry = zmalloc(sizeof(struct sf_entry)); + + entry_number = strtol(optarg, &end, 10); + if (end - optarg != (int)strlen(optarg)) + errx(1, "%s: Invalid entry number", optarg); + if (entry_number < 0) + errx(1, "%s: Entry number cannot be less than zero", optarg); + entry->entry_number = entry_number; + + if (argv[optind] == NULL) + errx(1, "Missing ACL"); + entry->acl = acl_from_text(argv[optind]); + if (entry->acl == NULL) + err(1, "%s", argv[optind]); + optind++; + entry->op = OP_ADD_ACL; + TAILQ_INSERT_TAIL(&entrylist, entry, next); + break; case 'b': entry = zmalloc(sizeof(struct sf_entry)); entry->op = OP_REMOVE_EXT; @@ -173,7 +192,7 @@ entry_number = strtol(optarg, &end, 10); if (end - optarg == (int)strlen(optarg)) { if (entry_number < 0) - errx(1, "Entry number cannot be less than zero"); + errx(1, "%s: Entry number cannot be less than zero", optarg); entry->entry_number = entry_number; entry->op = OP_REMOVE_BY_NUMBER; } else { @@ -236,6 +255,9 @@ continue; switch(entry->op) { + case OP_ADD_ACL: + local_error += add_acl(entry->acl, entry->entry_number, acl); + break; case OP_MERGE_ACL: local_error += merge_acl(entry->acl, acl); need_mask = 1; ==== //depot/projects/soc2008/trasz_nfs4acl/bin/setfacl/setfacl.h#3 (text+ko) ==== @@ -39,6 +39,7 @@ #define OP_REMOVE_EXT 0x02 /* remove extended acl's (-b) */ #define OP_REMOVE_ACL 0x03 /* remove acl's (-xX) */ #define OP_REMOVE_BY_NUMBER 0x04 /* remove acl's (-xX) by acl entry number */ +#define OP_ADD_ACL 0x05 /* add acls entries at a given position */ /* ACL types for the acl array */ #define ACCESS_ACL 0 @@ -64,6 +65,7 @@ acl_t get_acl_from_file(const char *filename); /* merge.c */ int merge_acl(acl_t acl, acl_t *prev_acl); +int add_acl(acl_t acl, uint entry_number, acl_t *prev_acl); /* remove.c */ int remove_acl(acl_t acl, acl_t *prev_acl); int remove_by_number(uint entry_number, acl_t *prev_acl); From owner-p4-projects@FreeBSD.ORG Tue Jul 29 20:08:35 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F8951065675; Tue, 29 Jul 2008 20:08:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 437C21065672 for ; Tue, 29 Jul 2008 20:08:35 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2CDEB8FC17 for ; Tue, 29 Jul 2008 20:08:35 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TK8ZRG094415 for ; Tue, 29 Jul 2008 20:08:35 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TK8ZRQ094413 for perforce@freebsd.org; Tue, 29 Jul 2008 20:08:35 GMT (envelope-from pgj@FreeBSD.org) Date: Tue, 29 Jul 2008 20:08:35 GMT Message-Id: <200807292008.m6TK8ZRQ094413@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146227 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 20:08:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=146227 Change 146227 by pgj@disznohal on 2008/07/29 20:08:03 Another piece of rework in www/hu Affected files ... .. //depot/projects/docproj_hu/www/hu/applications.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/art.sgml#4 edit .. //depot/projects/docproj_hu/www/hu/community.xsl#5 edit .. //depot/projects/docproj_hu/www/hu/docs.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/applications.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -14,169 +14,191 @@ &header; -

Tapasztalatok és lehetõségek a FreeBSD-vel

- -

A FreeBSD szinte minden feladatra képes, amit egy &unix; - munkaállomástól elvárhat, és - még annál is többre:

- -

A FreeBSD egy igazi nyílt rendszer teljes forráskóddal

- -

Nem kétséges, hogy az úgynevezett nyílt - rendszerek koncepciója követelmény a mai - számítástechnikában. A FreeBSD egy - ingyenes megoldás, amely még az egész - operációs rendszer forrását is - magában foglalja, beleértve a kernelt, a - rendszerprogramokat és segédeszközoket. Az - egész rendszert módosíthatja, hogy megfeleljen - személyi, szervezeti, vagy akár vállalati - igényeinek.

+

Tapasztaljuk meg a &os; által nyújtott + lehetõségeket!

+ +

A &os; szinte minden olyan feladatra képes, amelyet egy + &unix; munkaállomástól elvárhatunk, + sõt még annál is többre:

+ +

A &os; egy igazi nyílt rendszer, teljes + forráskóddal

+ +

Kétség sem férhet hozzá, hogy az + úgynevezett nyílt rendszereket napjaink + számítástechnikájához + találták ki, hiszen egyetlen kereskedelmi + szintû megoldás sem lehetne annál nyitottabb, + mint amelyik tartalmazza a teljes operációs + rendszer forrásait, beleértve a rendszermag, az + összes rendszerszintû démon, program és + segédprogram forráskódját. A &os; + bármelyik része tetszõlegesen + módosítható a személyes, szervezeti + vagy akár vállalati igényeinknek + megfelelõen.

+ +

A &os; nagyvonalú licencfeltételeinek + köszönhetõen számos ingyenes, vagy + kereskedelmi termék alapja is lehet.

-

A nagyvonalú licenszfeltételeivel, - a FreeBSD számos ingyenes, vagy akár - kereskedelmi termék alapja lehet.

+

A &os; alatt alkalmazások ezrei futnak

-

A FreeBSD alkalmazások ezreit - futtatja

- -

Mivel a FreeBSD a 4.4BSD rendszerre épül, amely a &unix; - egy ipari változata, ezért könnyen - lefordíthatóak és futtathatóak alatta a - programok. A FreeBSD ezen kívül rendelkezik egy terjedelmes - csomag- és - port gyûjteménnyel, - amelyek lefordított, illetve könnyen - fordítható szoftvereket biztosítanak desktop - gépekre és vállalati szerverekre egyaránt. - Emellett a FreeBSD-re írt - kereskedelmi alkalmazások - száma is növekszik.

+

Mivel a &os; a &unix; egyik ipari változatát + képezõ 4.4BSD rendszerre épül, + könnyen lefordíthatóak és + futtathatóak rajta a programok. A &os; + ezenkívül még rendelkezik egy terjedelmes Csomag- és Portgyûjteménnyel, + ahol elõre lefordított, illetve magunk által + is könnyen fordítható szoftvereket + találhatunk az asztali gépekre és + vállalati szerverekhez egyaránt. Emellett a + &os;-re írt kereskedelmi + alkalmazások száma is növekszik.

-

Itt olvashatja a FreeBSD felhasználásának - néhány területét:

+

Íme néhány példa a &os; + lehetséges felhasználási + területeire:

    -
  • Internetes szolgáltatások. Rengeteg - internetszolgáltató (ISP) ideális rendszernek - találja a FreeBSD-t WWW, Usenet, FTP, E-mail és - egyéb szolgáltatások - megvalósítására. Az olyan, FreeBSD - alatt is futtatható szoftverek, mint az - Apache - webkiszolgáló vagy a - ProFTPD FTP szerver - megkönnyítik az üzleti, vagy - közösségi ISP-k létrehozását. - A FreeBSD verhetetlen Internetes szolgáltatások. Rengeteg + internetszolgáltató (ISP) ideális + rendszernek találja a &os;-t WWW, Usenet, FTP, e-mail + és más hasonló + szolgáltatások + megvalósítására. Az üzleti + és közösségi + szolgáltatók létrehozását + megkönnyítõ Apache + webkiszolgáló vagy a ProFTPD FTP szerver is minden + gond nélkül futtatható. A &os; verhetetlen + hálózatkezelésével - a felhasználók nagy sebességet és - megbízható szolgáltatásokat nyernek.
  • + a felhasználók nagy sebességet + és megbízható + szolgáltatásokat nyernek. -
  • X Window munkaállomások. Az olcsó X - termináltól kezdve a fejlett X - megjelenítésig, a FreeBSD igazán jól - teljesít. Az ingyenes X szoftver, az X Window munkaállomások. A &os; + igazán jól teljesít az olcsó X + termináltól kezdve, egészen a fejlett X + megjelenítõkig. Az szabad X szoftverek, mint + például az X.Org™, a rendszer - részét képezi. Az - nVidia natív - eszközmeghajtókat kínál a - nagy teljesítményû grafikus hardvereihez, amelyek - támogatják az ipari szabvány - Motif® és - OpenGL® - könyvtárakat. A KDE - és a GNOME grafikus - felületek is teljes támogatást élveznek. - Az irodai célokra történõ - felhasználásban az OpenOffice.Org és - TextMaker - termékek nyújtanak nagy segítséget.
  • + részeit képezik. Az nVidia natív + eszközmeghajtókat kínál a nagy + teljesítményû grafikus hardvereihez, + amelyek támogatják a Motif® + és az OpenGL® + ipari szabványokhoz tartozó + könyvtárakat. Emellett még a KDE és a GNOME grafikus + felületek is teljes támogatást + élveznek. Az irodai felhasználásban az + OpenOffice.Org + és TextMaker + termékek nyújtanak nagy + segítséget. -
  • Hálózatkezelés. - Csomagszûréstõl kezdve, - útválasztáson át a névszerverig, - a FreeBSD minden PC-bõl képes internetes tûzfalat, - e-mail kiszolgálót, nyomtatószervert, PC/NFS - szervert faragni, és még ennél is - többet...
  • +
  • Hálózatkezelés. A + csomagszûréstõl kezdve, + útválasztáson át a + névszerverig, a &os; minden PC-bõl képes + internetes tûzfalat, e-mail kiszolgálót, + nyomtatószervert, PC/NFS szervert faragni, és + még ennél is többet...
  • -
  • Szoftverfejlesztés. Olyan - fejlesztõeszközök települnek a FreeBSD-vel, mint - például a GNU C/C++ fordító és - hibakeresõ. &java; és Tcl/Tk használata is - lehetséges. Közkedvelt szerkesztõk, mint az XEmacs, - és kevésbé elterjedt programozási - nyelvek, mint az Icon is remekül mûködnek. - Ezenkívül a FreeBSD megosztott könyvtárai - mindig is könnyen létrehozhatóak és - jól használhatóak voltak. Továbbá - olyan hatékony és elterjedt szerkesztõket is - használhat, mint a XEmacs, vagy a Vim.
  • +
  • Szoftverfejlesztés. A &os;-vel olyan + fejlesztõeszközök települnek, mint + például a GNU C/C++ fordító vagy + debugger. &java; és Tcl/Tk használata is + lehetséges. A közkedvelt szerkesztõk, mint + az XEmacs, és kevésbé elterjedt + programozási nyelvek, mint az Icon is remekül + mûködnek. Ezenkívül a &os; osztott + könyvtárai mindig is könnyen + létrehozhatóak és jól + használhatóak voltak. Továbbá + olyan hatékony és elterjedt szerkesztõket + is használhat, mint a XEmacs vagy éppen a + Vim.
  • -
  • Szörfölés a Neten. Az igazi &unix; - munkaállomás egy remek szörfdeszka. A - Firefox - és Opera - böngészõk a FreeBSD alatt is elérhetõek - a web felhasználói számára. - Szörföljön a weben, publikálja saját - weboldalait, olvasson Usenet híreket és - küldjön e-maileket a FreeBSD rendszerrel az - asztalán!
  • +
  • Szörfölés a neten. Az igazi &unix; + munkaállomások remek szörfdeszkák. + A világháló szerelmesei &os; alatt is + elérhetik a Firefox + és az Opera + böngészõket. Szörföljünk az + interneten, publikáljuk saját honlapjainkat, + olvassunk Usenet híreket és küldjünk + e-maileket egy &os; rendszerrel az asztalunkon!
  • -
  • Oktatás és kutatás. A FreeBSD - kiválóan alkalmas kutatási platformnak, mivel a - teljes forráskódja elérhetõ. +
  • Oktatás és kutatás. A &os; + kiválóan alkalmas kutatási platformnak, + mivel a teljes forráskódja elérhetõ. Operációs rendszereket tanulók és kutatók, vagy a számítástechnika - más területén tevékenykedõk nagy is - hasznát vehetik egy ilyen nyílt és - jól-dokumentált rendszernek.
  • + más területén tevékenykedõk is + nagy hasznát vehetik egy ilyen nyílt és + jóldokumentált rendszernek.
  • Egyéb felhasználás. - Számlázás, akciójátékok, - MIS adatbázisok, tudományos - megjelenítés, video beszélgetés, - Internet relay chat (IRC), otthoni automatizáció, - többfelhasználós igények, bulletin board - rendszerek, képfeldolgozás, és minden - egyéb mai felhasználási terület.
  • + Számlázás, + akciójátékok, MIS-adatbázisok, + tudományos prezentációk, + videobeszélgetések, csevegés az internet + (IRC), otthoni automatizáció, MUD, + virtuális hirdetõtáblák, + képfeldolgozás, és még sok minden + más, amire a &os;-t használni lehet.
- -

A FreeBSD egy olyan operációs rendszer, amely az Ön - igényeinek megfelelõen fejlõdik.

+ +

A &os; egy olyan operációs rendszer, amely az + igényeinknek megfelelõen fejlõdik.

-

Habár a FreeBSD ingyenes szoftver, a - felhasználók által támogatott. Ha - bármilyen kérdése van, fejlesztõk és - felhasználók ezreinek küldheti el e-mailen a Habár a &os; egy szabad szoftver, a + felhasználók is támogatják. + Ha bármilyen kérdésünk lenne, a freebsd-questions@FreeBSD.org - levelezési listára (angol nyelven).

+ levelezési listára e-mailen keresztül (angol + nyelven) fejlesztõk és felhasználók + százainak küldhetjük el.

-

A FreeBSD ezenkívül egy egész világra - kiterjedõ programozó és író csoporttal - rendelkezik, akik hibákat javítanak, új - funkciókat valósítanak meg és +

A &os; ezenkívül programozók és + írók egy egész világra kiterjedõ + csoportjával rendelkezik, akik hibákat + javítanak, új funkciókat + valósítanak meg és dokumentálják a rendszert. Az új - eszközök támogatása, vagy a speciális - featúrák fejlesztése egy szinte - állandó munka, de a csapat különösen nagy - figyelmet fordít a rendszer stabilitását - veszélyeztetõ hibákra. A FreeBSD - felhasználói büszkék rá, hogy - rendszerük nemcsak nagyon gyors, hanem nagyon - megbízható is.

- -

Amit a szakértõk mondanak . . .

- -

"FreeBSD handles [our] heavy load quite well and it is nothing - short of amazing. Salutations to the FreeBSD team."

+ eszközök támogatása, vagy a + speciális újítások + fejlesztése egy szinte állandó munka, de a + csapat különösen nagy figyelmet fordít a + rendszer stabilitását veszélyeztetõ + hibákra. A &os; felhasználói + büszkék rá, hogy rendszerük nemcsak + nagyon gyors, hanem nagyon megbízható is.

+ +

Amit a szakértõk mondanak . . .

+ +

"A &os; remekül elbír az itteni + terheléssel, és nincs hozzá foghatóan + csodálatos dolog. Minden elismerésem a &os; + csapatának!"

-

---Mark Hittinger, a WinNet - Communications, Inc. adminisztrátora

+

-- Mark Hittinger, a WinNet Communications, + Inc. rendszergazdája

&footer; ==== //depot/projects/docproj_hu/www/hu/art.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; ]> @@ -16,53 +16,57 @@ &header; -

Ez az oldal különféle FreeBSD - illusztrációkat tartalmaz. - Javaslatok az oldal bõvítéséhez a www@FreeBSD.org e-mail címre küldhetõk. - Kérem olvassa el a grafikák - felhasználási feltételeit.

+

Ez az oldal különféle, &os;-hez + köthetõ illusztrációkat + tartalmaz. Az oldal bõvítésével + kapcsolatos javaslatok a www@FreeBSD.org + e-mail címre küldhetõek. Ne felejtsük el + elolvasni a grafikák felhasználási + feltételeit.

BSD - Démon

+ démon + Démon" width="191" height="208" border="0">  - - - -
BSD
-	      Démon 
Készítette: &a.phk;
Forrás: - /usr/share/examples/BSD_daemon/ FreeBSD + /usr/share/examples/BSD_daemon/ &os; rendszereken.
BSD Démon kalapáccsalBSD Démon felszolgálBSD Démon felszolgál
BSD Démon híreket szerkesztBSD Démon híreket szerkesztBSD Démon dokumentációt olvasBSD Démon dokumentációt olvasBSD Démon az új kiadást terjesztiBSD Démon az új kiadást terjeszti
-

Powered by FreeBSD Logok

+

Powered by FreeBSD logók

@@ -95,7 +99,7 @@

FreeBSD The
 	Power To Serve Logo

-

Régi reklámbannerek

+

Régi reklámok

@@ -109,25 +113,28 @@
-

Grafikák használata

+

A grafikák felhasználása

-

A fenti Powered by FreeBSD Logok letölthetõk - és elhelyezhetõk FreeBSD rendszerek által - kiszolgált személyes vagy kereskedelmi honlapokon. A - logok vagy a BSD Démonok - pénzszerzési célra való - felhasználásához szûkséges - Brian - Tao (a power logo készítõje) és Marshall Kirk McKusick - (a BSD Démon védjegyének tulajdonosa) - hozzájárulása.

+

A fenti Powered by FreeBSD logók letölthetõek + és elhelyezhetõek minden olyan személyes vagy + kereskedelmi honlapon, amelyet FreeBSD rendszer szolgál ki. + A logók vagy a BSD démon + pénzszerzésre irányuló + felhasználásához azonban + szûkséges Brian Tao (a power + logó készítõjének) és Marshall Kirk McKusick + (a BSD démon védjegyének + tulajdonosának) hozzájárulása.

-

&a.phk; BSD Démonjai a THE - BEER-WARE LICENSE alatt lettek kiadva. Tekintse meg a &a.phk; BSD démonjára a THE BEER-WARE + LICENSE vonatkozik. Erre vonatkozóan ez a README - fájlt bõvebb információért.

+ állomány ad bõvebb + felvilágosítást.

&footer; ==== //depot/projects/docproj_hu/www/hu/community.xsl#5 (text+ko) ==== @@ -1,7 +1,7 @@ + ]> @@ -49,7 +49,8 @@ &header3;

A &os; mögött egy aktív - fejlesztõi közösség áll.

+ fejlesztõi közösség + áll.

Több mint száz levelezési ==== //depot/projects/docproj_hu/www/hu/docs.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -14,11 +14,11 @@ &header; - BSD Démon
-     dokumentációt olvas -

Számos dokumentáció létezik a FreeBSD-hez, +

A &os;-hez számos dokumentáció létezik, ezen az oldalon és más oldalakon egyaránt.

&footer; From owner-p4-projects@FreeBSD.ORG Tue Jul 29 22:20:51 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 768E5106567C; Tue, 29 Jul 2008 22:20:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A8781065674 for ; Tue, 29 Jul 2008 22:20:51 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 245628FC08 for ; Tue, 29 Jul 2008 22:20:51 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6TMKp4S016395 for ; Tue, 29 Jul 2008 22:20:51 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6TMKouc016393 for perforce@freebsd.org; Tue, 29 Jul 2008 22:20:50 GMT (envelope-from trasz@freebsd.org) Date: Tue, 29 Jul 2008 22:20:50 GMT Message-Id: <200807292220.m6TMKouc016393@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 22:20:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=146230 Change 146230 by trasz@trasz_traszkan on 2008/07/29 22:20:23 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/contrib/cvs/doc/HACKING.DOCS#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/telnet/telnetd/state.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/telnet/telnetd/telnetd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/popen.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/mktemp.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/relnotes/article.sgml#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/colldef/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/colldef/no_NO.ISO8859-1.src#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/colldef/no_NO.ISO8859-15.src#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/syscons/keymaps/fr.macbook.acc.kbd#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/timedef/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/timedef/nb_NO.ISO8859-1.src#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/timedef/nb_NO.UTF-8.src#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/share/timedef/no_NO.ISO8859-1.src#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/timedef/no_NO.UTF-8.src#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/et/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_asconf.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_constants.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_input.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctp_timer.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/sctputil.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_output.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sockbuf.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/socketvar.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sockopt.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sockstate.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/build/mk/OptionalObsoleteFiles.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/netinet6/icmp6_filter/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/netinet6/icmp6_filter/icmp6_filter.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/bluetooth/btsockstat/btsockstat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cmdline.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/config/config.y#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/config/lang.l#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/cvs/doc/HACKING.DOCS#2 (text+ko) ==== @@ -12,11 +12,7 @@ @emph{ ... } emphasis - warnings, stress, etc. This will be bracketed by underline characters in info files (_ ... _) and in italics in PDF & probably in - postscript & HTML. -@strong{ ... } Similar to @emph{}, but the effect is to - bracket with asterisks in info files (* ... *) - and in bold in PDF & probably in postscript & - HTML. + postscript & HTML. @noindent Suppresses indentation of the following paragraph. This can ocassionally be useful after examples and the like. @@ -26,7 +22,7 @@ Preformatted text should be marked as such (use @example... there may be other ways) since many of the final output formats can use relational fonts otherwise -and marking it as formatted should restrict it to a fixed width font. Keep +and marking it as formatted should restrict it to a fixed wiidth font. Keep this sort of text to 80 characters or less per line since larger may not be properly viewable for some info users. @@ -37,10 +33,5 @@ Use lots of index markers. Scan the index for the current style. Try to reuse an existing entry if the meaning is similar. -`makeinfo' 3.11 or greater is required for output generation since earlier -versions do not support the @ifnottex & @ifnothtml commands. There may be -other commands used in `cvs.texinfo' that are unsupported by earlier versions -of `makeinfo' by the time you read this. - For more on using texinfo docs, see the `info texinfo' documentation or http://www.gnu.org/manual/texinfo/texinfo.html . ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/telnet/telnetd/state.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.14 2003/05/04 02:54:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.15 2008/07/28 18:58:16 jhb Exp $"); #include #include "telnetd.h" @@ -553,8 +553,10 @@ #ifdef AUTHENTICATION case TELOPT_AUTHENTICATION: - func = auth_request; - changeok++; + if (auth_level >= 0) { + func = auth_request; + changeok++; + } break; #endif ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/telnet/telnetd/telnetd.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.29 2006/09/26 21:46:11 ru Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.30 2008/07/28 18:58:16 jhb Exp $"); #include "telnetd.h" #include "pathnames.h" @@ -481,11 +481,13 @@ /* * Handle the Authentication option before we do anything else. */ - send_do(TELOPT_AUTHENTICATION, 1); - while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) - ttloop(); - if (his_state_is_will(TELOPT_AUTHENTICATION)) { - retval = auth_wait(name); + if (auth_level >= 0) { + send_do(TELOPT_AUTHENTICATION, 1); + while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) + ttloop(); + if (his_state_is_will(TELOPT_AUTHENTICATION)) { + retval = auth_wait(name); + } } #endif ==== //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.usr.dist#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.334 2008/05/26 10:39:46 bz Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.335 2008/07/28 17:42:37 antoine Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -297,8 +297,6 @@ .. tcsh .. - wpa_supplicant - .. .. games fortune ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/popen.c#2 (text+ko) ==== @@ -34,10 +34,11 @@ static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 5/3/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/popen.c,v 1.19 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/popen.c,v 1.20 2008/07/29 16:29:59 ed Exp $"); #include "namespace.h" #include +#include #include #include @@ -53,11 +54,12 @@ extern char **environ; -static struct pid { - struct pid *next; +struct pid { + SLIST_ENTRY(pid) next; FILE *fp; pid_t pid; -} *pidlist; +}; +static SLIST_HEAD(, pid) pidlist = SLIST_HEAD_INITIALIZER(pidlist); static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; #define THREAD_LOCK() if (__isthreaded) _pthread_mutex_lock(&pidlist_mutex) @@ -133,9 +135,8 @@ } (void)_close(pdes[1]); } - for (p = pidlist; p; p = p->next) { + SLIST_FOREACH(p, &pidlist, next) (void)_close(fileno(p->fp)); - } _execve(_PATH_BSHELL, argv, environ); _exit(127); /* NOTREACHED */ @@ -155,8 +156,7 @@ cur->fp = iop; cur->pid = pid; THREAD_LOCK(); - cur->next = pidlist; - pidlist = cur; + SLIST_INSERT_HEAD(&pidlist, cur, next); THREAD_UNLOCK(); return (iop); @@ -171,7 +171,7 @@ pclose(iop) FILE *iop; { - struct pid *cur, *last; + struct pid *cur, *last = NULL; int pstat; pid_t pid; @@ -179,17 +179,19 @@ * Find the appropriate file pointer and remove it from the list. */ THREAD_LOCK(); - for (last = NULL, cur = pidlist; cur; last = cur, cur = cur->next) + SLIST_FOREACH(cur, &pidlist, next) { if (cur->fp == iop) break; + last = cur; + } if (cur == NULL) { THREAD_UNLOCK(); return (-1); } if (last == NULL) - pidlist = cur->next; + SLIST_REMOVE_HEAD(&pidlist, next); else - last->next = cur->next; + SLIST_REMOVE_NEXT(&pidlist, last, next); THREAD_UNLOCK(); (void)fclose(iop); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/mktemp.c#3 (text+ko) ==== @@ -31,10 +31,10 @@ static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/mktemp.c,v 1.30 2008/07/22 15:08:50 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/mktemp.c,v 1.31 2008/07/28 21:18:59 jhb Exp $"); #include "namespace.h" -#include +#include #include #include #include @@ -102,13 +102,14 @@ int domkdir; int slen; { - char *start, *trv, *suffp; + char *start, *trv, *suffp, *carryp; char *pad; struct stat sbuf; int rval; uint32_t rand; + char carrybuf[MAXPATHLEN]; - if (doopen != NULL && domkdir) { + if ((doopen != NULL && domkdir) || slen < 0) { errno = EINVAL; return (0); } @@ -118,7 +119,7 @@ trv -= slen; suffp = trv; --trv; - if (trv < path) { + if (trv < path || NULL != strchr(suffp, '/')) { errno = EINVAL; return (0); } @@ -130,6 +131,9 @@ } start = trv + 1; + /* save first combination of random characters */ + memcpy(carrybuf, start, suffp - start); + /* * check the target directory. */ @@ -166,14 +170,25 @@ return (errno == ENOENT); /* If we have a collision, cycle through the space of filenames */ - for (trv = start;;) { - if (*trv == '\0' || trv == suffp) + for (trv = start, carryp = carrybuf;;) { + /* have we tried all possible permutations? */ + if (trv == suffp) + return (0); /* yes - exit with EEXIST */ + pad = strchr(padchar, *trv); + if (pad == NULL) { + /* this should never happen */ + errno = EIO; return (0); - pad = strchr(padchar, *trv); - if (pad == NULL || *++pad == '\0') - *trv++ = padchar[0]; - else { - *trv++ = *pad; + } + /* increment character */ + *trv = (*++pad == '\0') ? padchar[0] : *pad; + /* carry to next position? */ + if (*trv == *carryp) { + /* increment position and loop */ + ++trv; + ++carryp; + } else { + /* try with new name */ break; } } ==== //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/relnotes/article.sgml#4 (text+ko) ==== @@ -17,7 +17,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1091 2008/07/22 05:02:46 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1092 2008/07/29 04:23:18 bmah Exp $ 2000 @@ -171,7 +171,7 @@ Backwards compatibility for applications using KSE threading will be provided via &man.libmap.conf.5; for dynamically linked binaries. The &os; Project greatly appreciates the work of - &a.julian; and &a.deischen; on KSE support.
+ &a.julian;, &a.deischen;, and &a.davidxu; on KSE support. The &os; kernel now exports information about certain kernel features via the kern.features sysctl tree. ==== //depot/projects/soc2008/trasz_nfs4acl/share/colldef/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/colldef/Makefile,v 1.72 2007/12/24 10:30:08 ache Exp $ +# $FreeBSD: src/share/colldef/Makefile,v 1.73 2008/07/28 21:33:34 des Exp $ LOCALES= bg_BG.CP1251 \ be_BY.CP1131 \ @@ -23,6 +23,8 @@ la_LN.ISO8859-2 \ la_LN.ISO8859-4 \ la_LN.US-ASCII \ + no_NO.ISO8859-1 \ + no_NO.ISO8859-15 \ lt_LT.ISO8859-4 \ lt_LT.ISO8859-13 \ pl_PL.ISO8859-2 \ @@ -65,9 +67,11 @@ ISO8859-1_ISO8859-1= ${ISO8859-15_ISO8859-15} pt_PT:pt_BR LATIN1LINKS= af_ZA da_DK en_AU en_CA en_GB en_NZ en_US eu_ES fi_FI \ - fr_BE fr_CA fr_CH fr_FR it_CH it_IT nb_NO nl_BE nl_NL \ - nn_NO no_NO pt_PT -ISO8859-15_ISO8859-15= de_DE:de_AT de_DE:de_CH ${LATIN1LINKS:C/^/la_LN:/} + fr_BE fr_CA fr_CH fr_FR it_CH it_IT nl_BE nl_NL pt_PT +ISO8859-15_ISO8859-15= \ + de_DE:de_AT de_DE:de_CH \ + no_NO:nb_NO no_NO:nn_NO \ + ${LATIN1LINKS:C/^/la_LN:/} LATIN2LINKS= hr_HR hu_HU ro_RO sr_YU ISO8859-2_ISO8859-2= ${LATIN2LINKS:C/^/la_LN:/} cs_CZ:sk_SK ==== //depot/projects/soc2008/trasz_nfs4acl/share/syscons/keymaps/fr.macbook.acc.kbd#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/syscons/keymaps/fr.macbook.acc.kbd,v 1.1 2007/07/13 08:29:24 roberto Exp $ +# $FreeBSD: src/share/syscons/keymaps/fr.macbook.acc.kbd,v 1.2 2008/07/29 08:07:27 roberto Exp $ # alt # scan cntrl alt alt cntrl lock # code base shift cntrl shift alt shift cntrl shift state @@ -52,7 +52,7 @@ 046 'c' 'C' etx etx 169 'C' etx etx C 047 'v' 'V' syn syn 'v' 'V' syn syn C 048 'b' 'B' stx stx 223 'B' stx stx C - 049 'n' 'N' so so 'n' '~' so so C + 049 'n' 'N' so so '~' 'N' so so C 050 ',' '?' nop nop nop nop nop nop O 051 ';' '.' nop nop ',' '<' nop nop O 052 ':' '/' nop nop '.' '\' nop nop O ==== //depot/projects/soc2008/trasz_nfs4acl/share/timedef/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/timedef/Makefile,v 1.50 2006/11/09 18:10:34 des Exp $ +# $FreeBSD: src/share/timedef/Makefile,v 1.52 2008/07/29 11:32:42 des Exp $ LOCALES= am_ET.UTF-8 \ be_BY.CP1131 \ @@ -54,11 +54,11 @@ lt_LT.ISO8859-13 \ lt_LT.UTF-8 \ mn_MN.UTF-8 \ + nb_NO.ISO8859-1 \ + nb_NO.UTF-8 \ nl_NL.ISO8859-1 \ nn_NO.ISO8859-1 \ nn_NO.UTF-8 \ - no_NO.ISO8859-1 \ - no_NO.UTF-8 \ pl_PL.ISO8859-2 \ pl_PL.UTF-8 \ pt_BR.ISO8859-1 \ @@ -118,7 +118,7 @@ FR_LINKS= fr_FR:fr_BE fr_FR:fr_CA fr_FR:fr_CH IT_LINKS= it_IT:it_CH NL_LINKS= nl_NL:nl_BE -NO_LINKS= no_NO:nb_NO +NO_LINKS= nb_NO:no_NO GB_LINKS= en_GB:en_AU en_GB:en_CA en_GB:en_NZ eucKR_CP949= ko_KR ==== //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1499 2008/07/18 14:44:51 dwmalone Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1501 2008/07/29 01:15:11 yongari Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1774,6 +1774,7 @@ # 88E8055, 88E8056 and D-Link 560T/550SX. # lmc: Support for the LMC/SBE wide-area network interface cards. # my: Myson Fast Ethernet (MTD80X, MTD89X) +# nfe: NVIDIA nForce MCP(Media and Communications Processors) Ethernet # nge: Support for PCI gigabit ethernet adapters based on the National # Semiconductor DP83820 and DP83821 chipset. This includes the # SMC EZ Card 1000 (SMC9462TX), D-Link DGE-500T, Asante FriendlyNet @@ -1785,6 +1786,7 @@ # pcn(4) driver is left out of the kernel. The le(4) driver does not # support the additional features like the MII bus and burst mode of # the PCnet-FAST and greater chipsets though. +# re: RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter # rl: Support for PCI fast ethernet adapters based on the RealTek 8129/8139 # chipset. Note that the RealTek driver defaults to using programmed # I/O to do register accesses because memory mapped mode seems to cause @@ -1879,15 +1881,20 @@ hint.fxp.0.prefer_iomap="0" device gem # Apple GMAC/Sun ERI/Sun GEM device hme # Sun HME (Happy Meal Ethernet) +device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device lge # Level 1 LXT1001 gigabit Ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device my # Myson Fast Ethernet (MTD80X, MTD89X) +device nfe # nVidia nForce MCP on-board Ethernet device nge # NatSemi DP83820 gigabit Ethernet +device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device pcn # AMD Am79C97x PCI 10/100 NICs device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) +device stge # Sundance/Tamarack TC9021 gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vr # VIA Rhine, Rhine II @@ -1896,8 +1903,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -#device em # Intel Pro/1000 Gigabit Ethernet -#device igb # Intel Pro/1000 PCIE Gigabit Ethernet +device em # Intel Pro/1000 Gigabit Ethernet +device igb # Intel Pro/1000 PCIE Gigabit Ethernet #device ixgbe # Intel Pro/10Gbe PCIE Ethernet device le # AMD Am7900 LANCE and Am79C9xx PCnet device mxge # Myricom Myri-10G 10GbE NIC ==== //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1318 2008/07/25 19:35:40 stas Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1319 2008/07/28 21:47:04 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -836,8 +836,6 @@ dev/ixgb/ixgb_hw.c optional ixgb dev/ixgbe/ixgbe.c optional ixgbe \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" -dev/ixgbe/tcp_lro.c optional ixgbe \ - compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_phy.c optional ixgbe \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_api.c optional ixgbe \ ==== //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bfe/if_bfe.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.45 2008/04/30 02:49:24 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.48 2008/07/29 09:02:00 yongari Exp $"); #include #include @@ -171,18 +171,14 @@ bfe_probe(device_t dev) { struct bfe_type *t; - struct bfe_softc *sc; + uint16_t vendor, devid; t = bfe_devs; + vendor = pci_get_vendor(dev); + devid = pci_get_device(dev); - sc = device_get_softc(dev); - bzero(sc, sizeof(struct bfe_softc)); - sc->bfe_unit = device_get_unit(dev); - sc->bfe_dev = dev; - - while(t->bfe_name != NULL) { - if ((pci_get_vendor(dev) == t->bfe_vid) && - (pci_get_device(dev) == t->bfe_did)) { + while (t->bfe_name != NULL) { + if (vendor == t->bfe_vid && devid == t->bfe_did) { device_set_desc_copy(dev, t->bfe_name); return (BUS_PROBE_DEFAULT); } @@ -294,7 +290,7 @@ error = bus_dmamem_alloc(sc->bfe_rx_tag, (void *)&sc->bfe_rx_list, BUS_DMA_NOWAIT, &sc->bfe_rx_map); - if(error) + if (error) return (ENOMEM); bzero(sc->bfe_rx_list, BFE_RX_LIST_SIZE); @@ -302,7 +298,7 @@ sc->bfe_rx_list, sizeof(struct bfe_desc), bfe_dma_map, &sc->bfe_rx_dma, BUS_DMA_NOWAIT); - if(error) + if (error) return (ENOMEM); bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); @@ -316,7 +312,7 @@ error = bus_dmamap_load(sc->bfe_tx_tag, sc->bfe_tx_map, sc->bfe_tx_list, sizeof(struct bfe_desc), bfe_dma_map, &sc->bfe_tx_dma, BUS_DMA_NOWAIT); - if(error) + if (error) return (ENOMEM); bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE); @@ -330,16 +326,14 @@ { struct ifnet *ifp = NULL; struct bfe_softc *sc; - int unit, error = 0, rid; + int error = 0, rid; sc = device_get_softc(dev); mtx_init(&sc->bfe_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF); callout_init_mtx(&sc->bfe_stat_co, &sc->bfe_mtx, 0); - unit = device_get_unit(dev); sc->bfe_dev = dev; - sc->bfe_unit = unit; /* * Map control/status registers. @@ -350,7 +344,7 @@ sc->bfe_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->bfe_res == NULL) { - printf ("bfe%d: couldn't map memory\n", unit); + device_printf(dev, "couldn't map memory\n"); error = ENXIO; goto fail; } @@ -365,14 +359,13 @@ sc->bfe_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_SHAREABLE | RF_ACTIVE); if (sc->bfe_irq == NULL) { - printf("bfe%d: couldn't map interrupt\n", unit); + device_printf(dev, "couldn't map interrupt\n"); error = ENXIO; goto fail; } if (bfe_dma_alloc(dev)) { - printf("bfe%d: failed to allocate DMA resources\n", - sc->bfe_unit); + device_printf(dev, "failed to allocate DMA resources\n"); error = ENXIO; goto fail; } @@ -380,7 +373,7 @@ /* Set up ifnet structure */ ifp = sc->bfe_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { - printf("bfe%d: failed to if_alloc()\n", sc->bfe_unit); + device_printf(dev, "failed to if_alloc()\n"); error = ENOSPC; goto fail; } @@ -404,7 +397,7 @@ if (mii_phy_probe(dev, &sc->bfe_miibus, bfe_ifmedia_upd, bfe_ifmedia_sts)) { - printf("bfe%d: MII without any PHY!\n", sc->bfe_unit); + device_printf(dev, "MII without any PHY!\n"); error = ENXIO; goto fail; } @@ -425,7 +418,7 @@ NULL, bfe_intr, sc, &sc->bfe_intrhand); if (error) { - printf("bfe%d: couldn't set up irq\n", unit); + device_printf(dev, "couldn't set up irq\n"); goto fail; } fail: @@ -458,7 +451,7 @@ bfe_chip_reset(sc); bus_generic_detach(dev); - if(sc->bfe_miibus != NULL) + if (sc->bfe_miibus != NULL) device_delete_child(dev, sc->bfe_miibus); bfe_release_resources(sc); @@ -526,7 +519,7 @@ u_int32_t ret; sc = device_get_softc(dev); - if(phy != sc->bfe_phyaddr) + if (phy != sc->bfe_phyaddr) return (0); bfe_readphy(sc, reg, &ret); @@ -539,7 +532,7 @@ struct bfe_softc *sc; sc = device_get_softc(dev); - if(phy != sc->bfe_phyaddr) + if (phy != sc->bfe_phyaddr) return (0); bfe_writephy(sc, reg, val); @@ -593,7 +586,7 @@ int i; for(i = 0; i < BFE_TX_LIST_CNT; i++) { - if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) { + if (sc->bfe_tx_ring[i].bfe_mbuf != NULL) { m_freem(sc->bfe_tx_ring[i].bfe_mbuf); sc->bfe_tx_ring[i].bfe_mbuf = NULL; bus_dmamap_unload(sc->bfe_tag, @@ -627,7 +620,7 @@ int i; for(i = 0; i < BFE_RX_LIST_CNT; i++) { - if(bfe_list_newbuf(sc, i, NULL) == ENOBUFS) + if (bfe_list_newbuf(sc, i, NULL) == ENOBUFS) return (ENOBUFS); } @@ -652,9 +645,9 @@ return (EINVAL); allocated = 0; - if(m == NULL) { + if (m == NULL) { m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); - if(m == NULL) + if (m == NULL) return (ENOBUFS); m->m_len = m->m_pkthdr.len = MCLBYTES; allocated++; @@ -676,15 +669,15 @@ if (allocated != 0) m_free(m); if (error != ENOMEM) - printf("bfe%d: failed to map RX buffer, error %d\n", - sc->bfe_unit, error); + device_printf(sc->bfe_dev, + "failed to map RX buffer, error %d\n", error); return (ENOBUFS); } bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE); ctrl = ETHER_MAX_LEN + 32; - if(c == BFE_RX_LIST_CNT - 1) + if (c == BFE_RX_LIST_CNT - 1) ctrl |= BFE_DESC_EOT; d->bfe_ctrl = ctrl; @@ -757,7 +750,7 @@ DELAY(100); bfe_readphy(sc, 0, &val); if (val & BMCR_RESET) { - printf("bfe%d: PHY Reset would not complete.\n", sc->bfe_unit); + device_printf(sc->bfe_dev, "PHY Reset would not complete.\n"); return (ENXIO); } return (0); @@ -820,9 +813,9 @@ /* Internal or external PHY? */ val = CSR_READ_4(sc, BFE_DEVCTRL); - if(!(val & BFE_IPP)) + if (!(val & BFE_IPP)) CSR_WRITE_4(sc, BFE_ENET_CTRL, BFE_ENET_EPSEL); - else if(CSR_READ_4(sc, BFE_DEVCTRL) & BFE_EPR) { + else if (CSR_READ_4(sc, BFE_DEVCTRL) & BFE_EPR) { BFE_AND(sc, BFE_DEVCTRL, ~BFE_EPR); DELAY(100); } @@ -867,7 +860,7 @@ static void bfe_core_disable(struct bfe_softc *sc) { - if((CSR_READ_4(sc, BFE_SBTMSLOW)) & BFE_RESET) + if ((CSR_READ_4(sc, BFE_SBTMSLOW)) & BFE_RESET) return; /* @@ -1023,7 +1016,7 @@ if (sc->bfe_ifp != NULL) if_free(sc->bfe_ifp); - if(sc->bfe_tx_tag != NULL) { + if (sc->bfe_tx_tag != NULL) { bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map); bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list, sc->bfe_tx_map); @@ -1031,7 +1024,7 @@ sc->bfe_tx_tag = NULL; } - if(sc->bfe_rx_tag != NULL) { + if (sc->bfe_rx_tag != NULL) { bus_dmamap_unload(sc->bfe_rx_tag, sc->bfe_rx_map); bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list, sc->bfe_rx_map); @@ -1039,7 +1032,7 @@ sc->bfe_rx_tag = NULL; } - if(sc->bfe_tag != NULL) { + if (sc->bfe_tag != NULL) { for(i = 0; i < BFE_TX_LIST_CNT; i++) { bus_dmamap_destroy(sc->bfe_tag, sc->bfe_tx_ring[i].bfe_map); @@ -1052,7 +1045,7 @@ sc->bfe_tag = NULL; } - if(sc->bfe_parent_tag != NULL) + if (sc->bfe_parent_tag != NULL) bus_dma_tag_destroy(sc->bfe_parent_tag); return; @@ -1084,9 +1077,9 @@ DELAY(10); } if (i == timeout) { - printf("bfe%d: BUG! Timeout waiting for bit %08x of register " - "%x to %s.\n", sc->bfe_unit, bit, reg, - (clear ? "clear" : "set")); + device_printf(sc->bfe_dev, + "BUG! Timeout waiting for bit %08x of register " + "%x to %s.\n", bit, reg, (clear ? "clear" : "set")); return (-1); } return (0); @@ -1179,9 +1172,9 @@ i = sc->bfe_tx_cons; /* Go through the mbufs and free those that have been transmitted */ - while(i != chipidx) { + while (i != chipidx) { struct bfe_data *r = &sc->bfe_tx_ring[i]; - if(r->bfe_mbuf != NULL) { + if (r->bfe_mbuf != NULL) { ifp->if_opackets++; m_freem(r->bfe_mbuf); r->bfe_mbuf = NULL; @@ -1191,7 +1184,7 @@ BFE_INC(i, BFE_TX_LIST_CNT); } - if(i != sc->bfe_tx_cons) { + if (i != sc->bfe_tx_cons) { /* we freed up some mbufs */ sc->bfe_tx_cons = i; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -1219,7 +1212,7 @@ ifp = sc->bfe_ifp; - while(current != cons) { + while (current != cons) { r = &sc->bfe_rx_ring[cons]; m = r->bfe_mbuf; rxheader = mtod(m, struct bfe_rxheader*); @@ -1288,33 +1281,34 @@ CSR_READ_4(sc, BFE_ISTAT); /* not expecting this interrupt, disregard it */ - if(istat == 0) { + if (istat == 0) { BFE_UNLOCK(sc); return; } - if(istat & BFE_ISTAT_ERRORS) { + if (istat & BFE_ISTAT_ERRORS) { if (istat & BFE_ISTAT_DSCE) { - printf("if_bfe Descriptor Error\n"); + device_printf(sc->bfe_dev, "Descriptor Error\n"); bfe_stop(sc); BFE_UNLOCK(sc); return; } if (istat & BFE_ISTAT_DPE) { - printf("if_bfe Descriptor Protocol Error\n"); + device_printf(sc->bfe_dev, + "Descriptor Protocol Error\n"); bfe_stop(sc); BFE_UNLOCK(sc); return; } flag = CSR_READ_4(sc, BFE_DMATX_STAT); - if(flag & BFE_STAT_EMASK) + if (flag & BFE_STAT_EMASK) ifp->if_oerrors++; flag = CSR_READ_4(sc, BFE_DMARX_STAT); - if(flag & BFE_RX_FLAG_ERRORS) + if (flag & BFE_RX_FLAG_ERRORS) ifp->if_ierrors++; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; @@ -1322,11 +1316,11 @@ } /* A packet was received */ - if(istat & BFE_ISTAT_RX) + if (istat & BFE_ISTAT_RX) bfe_rxeof(sc); /* A packet was sent */ - if(istat & BFE_ISTAT_TX) + if (istat & BFE_ISTAT_TX) bfe_txeof(sc); /* We have packets pending, fire them out */ @@ -1347,7 +1341,7 @@ int chainlen = 0; int error; - if(BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2) + if (BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2) return (ENOBUFS); /* @@ -1377,8 +1371,8 @@ cnt = 0; for(m = *m_head; m != NULL; m = m->m_next) { - if(m->m_len != 0) { - if((BFE_TX_LIST_CNT - (sc->bfe_tx_cnt + cnt)) < 2) + if (m->m_len != 0) { + if ((BFE_TX_LIST_CNT - (sc->bfe_tx_cnt + cnt)) < 2) return (ENOBUFS); d = &sc->bfe_tx_list[cur]; @@ -1386,10 +1380,10 @@ d->bfe_ctrl = BFE_DESC_LEN & m->m_len; /* always intterupt on completion */ d->bfe_ctrl |= BFE_DESC_IOC; - if(cnt == 0) + if (cnt == 0) /* Set start of frame */ d->bfe_ctrl |= BFE_DESC_SOF; - if(cur == BFE_TX_LIST_CNT - 1) + if (cur == BFE_TX_LIST_CNT - 1) /* * Tell the chip to wrap to the start of * the descriptor list @@ -1459,16 +1453,16 @@ IFF_DRV_RUNNING) return; - while(sc->bfe_tx_ring[idx].bfe_mbuf == NULL) { + while (sc->bfe_tx_ring[idx].bfe_mbuf == NULL) { IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); - if(m_head == NULL) + if (m_head == NULL) break; /* * Pack the data into the tx ring. If we dont have * enough room, let the chip drain the ring. */ - if(bfe_encap(sc, &m_head, &idx)) { + if (bfe_encap(sc, &m_head, &idx)) { IFQ_DRV_PREPEND(&ifp->if_snd, m_head); ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; @@ -1522,8 +1516,8 @@ bfe_chip_reset(sc); if (bfe_list_rx_init(sc) == ENOBUFS) { - printf("bfe%d: bfe_init: Not enough memory for list buffers\n", - sc->bfe_unit); + device_printf(sc->bfe_dev, + "%s: Not enough memory for list buffers\n", __func__); bfe_stop(sc); return; } @@ -1596,34 +1590,33 @@ struct mii_data *mii; int error = 0; - switch(command) { - case SIOCSIFFLAGS: - BFE_LOCK(sc); - if(ifp->if_flags & IFF_UP) - if(ifp->if_drv_flags & IFF_DRV_RUNNING) - bfe_set_rx_mode(sc); - else - bfe_init_locked(sc); - else if(ifp->if_drv_flags & IFF_DRV_RUNNING) - bfe_stop(sc); - BFE_UNLOCK(sc); - break; - case SIOCADDMULTI: - case SIOCDELMULTI: - BFE_LOCK(sc); - if(ifp->if_drv_flags & IFF_DRV_RUNNING) + switch (command) { + case SIOCSIFFLAGS: + BFE_LOCK(sc); + if (ifp->if_flags & IFF_UP) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); - BFE_UNLOCK(sc); - break; - case SIOCGIFMEDIA: - case SIOCSIFMEDIA: - mii = device_get_softc(sc->bfe_miibus); - error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, - command); - break; - default: - error = ether_ioctl(ifp, command, data); - break; + else + bfe_init_locked(sc); + else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + bfe_stop(sc); + BFE_UNLOCK(sc); + break; + case SIOCADDMULTI: + case SIOCDELMULTI: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 01:10:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0017106567D; Wed, 30 Jul 2008 01:10:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79EE01065670 for ; Wed, 30 Jul 2008 01:10:44 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 660B58FC18 for ; Wed, 30 Jul 2008 01:10:44 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6U1Ai3R045858 for ; Wed, 30 Jul 2008 01:10:44 GMT (envelope-from diego@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6U1AiYi045856 for perforce@freebsd.org; Wed, 30 Jul 2008 01:10:44 GMT (envelope-from diego@FreeBSD.org) Date: Wed, 30 Jul 2008 01:10:44 GMT Message-Id: <200807300110.m6U1AiYi045856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to diego@FreeBSD.org using -f From: Diego Giagio To: Perforce Change Reviews Cc: Subject: PERFORCE change 146237 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 01:10:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146237 Change 146237 by diego@diego_black on 2008/07/30 01:09:46 Use port from struct sockaddr_* instead of passing it by value. Simplify API. Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/bsm/audit_record.h#3 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#13 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_arg.c#4 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm.c#5 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm_token.c#3 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#10 edit .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_private.h#4 edit Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/bsm/audit_record.h#3 (text) ==== @@ -296,10 +296,10 @@ #if defined(_KERNEL) || defined(KERNEL) token_t *au_to_socket(struct socket *so); -token_t *au_to_socket_ex_32(uint16_t domain, uint16_t type, uint16_t lp, - uint16_t rp, struct sockaddr *la, struct sockaddr *ta); -token_t *au_to_socket_ex_128(uint16_t domain, uint16_t type, uint16_t lp, - uint16_t rp, struct sockaddr *la, struct sockaddr *ta); +token_t *au_to_socket_ex_32(uint16_t domain, uint16_t type, + struct sockaddr *la, struct sockaddr *ta); +token_t *au_to_socket_ex_128(uint16_t domain, uint16_t type, + struct sockaddr *la, struct sockaddr *ta); #endif token_t *au_to_sock_inet(struct sockaddr_in *so); ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#13 (text) ==== @@ -183,8 +183,8 @@ void audit_arg_process(struct proc *p); void audit_arg_signum(u_int signum); void audit_arg_socket(int sodomain, int sotype, int soprotocol); -void audit_arg_socket_ex(int sodomain, int sotype, int lport, int rport, - struct sockaddr *la, struct sockaddr *ra); +void audit_arg_socket_ex(int sodomain, int sotype, struct sockaddr *la, + struct sockaddr *ra); void audit_arg_sockaddr(struct thread *td, struct sockaddr *sa); void audit_arg_auid(uid_t auid); void audit_arg_auditinfo(struct auditinfo *au_info); ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_arg.c#4 (text) ==== @@ -609,7 +609,7 @@ void audit_record_arg_socket_ex(struct kaudit_record *ar, int sodomain, int sotype, - int lport, int rport, struct sockaddr *la, struct sockaddr *ra) + struct sockaddr *la, struct sockaddr *ra) { KASSERT(ar != NULL, ("audit_record_arg_socket_ex: ar == NULL")); KASSERT(la != NULL, ("audit_record_arg_socket_ex: la == NULL")); @@ -617,16 +617,14 @@ ar->k_ar.ar_arg_sockconn.sc_domain = sodomain; ar->k_ar.ar_arg_sockconn.sc_type = sotype; - ar->k_ar.ar_arg_sockconn.sc_lport = lport; - ar->k_ar.ar_arg_sockconn.sc_rport = rport; bcopy(la, &ar->k_ar.ar_arg_sockconn.sc_laddr, la->sa_len); bcopy(ra, &ar->k_ar.ar_arg_sockconn.sc_raddr, ra->sa_len); ARG_SET_VALID(ar, ARG_SOCKCONN); } void -audit_arg_socket_ex(int sodomain, int sotype, int lport, int rport, - struct sockaddr *la, struct sockaddr *ra) +audit_arg_socket_ex(int sodomain, int sotype, struct sockaddr *la, + struct sockaddr *ra) { struct kaudit_record *ar; @@ -634,7 +632,7 @@ if (ar == NULL) return; - audit_record_arg_socket_ex(ar, sodomain, sotype, lport, rport, la, ra); + audit_record_arg_socket_ex(ar, sodomain, sotype, la, ra); } void ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm.c#5 (text) ==== @@ -1444,15 +1444,11 @@ tok = au_to_socket_ex_32( ar->ar_arg_sockconn.sc_domain, ar->ar_arg_sockconn.sc_type, - ar->ar_arg_sockconn.sc_lport, - ar->ar_arg_sockconn.sc_rport, laddr, raddr); } else { tok = au_to_socket_ex_128( ar->ar_arg_sockconn.sc_domain, ar->ar_arg_sockconn.sc_type, - ar->ar_arg_sockconn.sc_lport, - ar->ar_arg_sockconn.sc_rport, laddr, raddr); } kau_write(rec, tok); ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm_token.c#3 (text) ==== @@ -855,11 +855,13 @@ * remote address 4 bytes/16 bytes (IPv4/IPv6 address) */ token_t * -au_to_socket_ex_32(u_int16_t domain, u_int16_t type, u_int16_t lp, u_int16_t rp, - struct sockaddr *la, struct sockaddr *ra) +au_to_socket_ex_32(u_int16_t domain, u_int16_t type, struct sockaddr *la, + struct sockaddr *ra) { token_t *t; u_char *dptr = NULL; + struct sockaddr_in *lai = (struct sockaddr_in*)la; + struct sockaddr_in *rai = (struct sockaddr_in*)ra; GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + sizeof(u_int16_t) + sizeof(u_int16_t) + sizeof(u_int16_t) + @@ -869,20 +871,22 @@ ADD_U_INT16(dptr, domain); ADD_U_INT16(dptr, type); ADD_U_INT16(dptr, AU_IPv4); - ADD_U_INT16(dptr, lp); - ADD_MEM(dptr, &la->sa_data, AU_IPv4); - ADD_U_INT16(dptr, rp); - ADD_MEM(dptr, &ra->sa_data, AU_IPv4); + ADD_U_INT16(dptr, lai->sin_port); + ADD_U_INT32(dptr, lai->sin_addr.s_addr); + ADD_U_INT16(dptr, rai->sin_port); + ADD_U_INT32(dptr, rai->sin_addr.s_addr); return (t); } token_t * -au_to_socket_ex_128(u_int16_t domain, u_int16_t type, u_int16_t lp, - u_int16_t rp, struct sockaddr *la, struct sockaddr *ra) +au_to_socket_ex_128(u_int16_t domain, u_int16_t type, struct sockaddr *la, + struct sockaddr *ra) { token_t *t; u_char *dptr = NULL; + struct sockaddr_in6 *lai = (struct sockaddr_in6*)la; + struct sockaddr_in6 *rai = (struct sockaddr_in6*)ra; GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + sizeof(u_int16_t) + sizeof(u_int16_t) + sizeof(u_int16_t) + @@ -892,10 +896,10 @@ ADD_U_INT16(dptr, domain); ADD_U_INT16(dptr, type); ADD_U_INT16(dptr, AU_IPv6); - ADD_U_INT16(dptr, lp); - ADD_MEM(dptr, &la->sa_data, AU_IPv6); - ADD_U_INT16(dptr, rp); - ADD_MEM(dptr, &ra->sa_data, AU_IPv6); + ADD_U_INT16(dptr, lai->sin6_port); + ADD_MEM(dptr, &lai->sin6_addr, 4 * sizeof(u_int32_t)); + ADD_U_INT16(dptr, rai->sin6_port); + ADD_MEM(dptr, &rai->sin6_addr, 4 * sizeof(u_int32_t)); return (t); } ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#10 (text+ko) ==== @@ -322,11 +322,11 @@ } static void -addr_to_sin(u_int32_t addr, struct sockaddr_in *sin) +addr_port_to_sin(u_int32_t addr, u_int16_t port, struct sockaddr_in *sin) { sin->sin_len = sizeof(struct sockaddr_in); sin->sin_family = PF_INET; - sin->sin_port = 0; + sin->sin_port = port; sin->sin_addr.s_addr = addr; } @@ -347,11 +347,11 @@ * * TODO: check MATCH_FORWARD / MATCH_REVERSE on ip_fw2.c */ - addr_to_sin(src, &lsin); - addr_to_sin(dst, &rsin); + addr_port_to_sin(src, src_port, &lsin); + addr_port_to_sin(dst, dst_port, &rsin); audit_record_arg_text(ar, "ipfw"); - audit_record_arg_socket_ex(ar, PF_INET, SOCK_STREAM, src_port, dst_port, + audit_record_arg_socket_ex(ar, PF_INET, SOCK_STREAM, (struct sockaddr*)&lsin, (struct sockaddr*)&rsin); audit_commit(ar, error, 0); } ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_private.h#4 (text) ==== @@ -121,8 +121,6 @@ struct sockconn_au_info { int sc_domain; int sc_type; - u_short sc_lport; - u_short sc_rport; struct sockaddr_storage sc_laddr; struct sockaddr_storage sc_raddr; }; @@ -288,7 +286,7 @@ void audit_record_arg_socket(struct kaudit_record *ar, int sodomain, int sotype, int soprotocol); void audit_record_arg_socket_ex(struct kaudit_record *ar, int sodomain, - int sotype, int lport, int rport, struct sockaddr *la, struct sockaddr *ra); + int sotype, struct sockaddr *la, struct sockaddr *ra); void audit_record_arg_sockaddr(struct kaudit_record *ar, struct thread *td, struct sockaddr *sa); void audit_record_arg_auid(struct kaudit_record *ar, uid_t auid); From owner-p4-projects@FreeBSD.ORG Wed Jul 30 01:49:24 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D6DE1065677; Wed, 30 Jul 2008 01:49:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5DF61065675 for ; Wed, 30 Jul 2008 01:49:23 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AADA98FC1A for ; Wed, 30 Jul 2008 01:49:23 +0000 (UTC) (envelope-from diego@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6U1nNWt048806 for ; Wed, 30 Jul 2008 01:49:23 GMT (envelope-from diego@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6U1nNm7048804 for perforce@freebsd.org; Wed, 30 Jul 2008 01:49:23 GMT (envelope-from diego@FreeBSD.org) Date: Wed, 30 Jul 2008 01:49:23 GMT Message-Id: <200807300149.m6U1nNm7048804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to diego@FreeBSD.org using -f From: Diego Giagio To: Perforce Change Reviews Cc: Subject: PERFORCE change 146239 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 01:49:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=146239 Change 146239 by diego@diego_black on 2008/07/30 01:49:06 Missing break... Oops! Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm.c#6 edit Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_bsm.c#6 (text) ==== @@ -1453,6 +1453,7 @@ } kau_write(rec, tok); } + break; case AUE_NULL: default: From owner-p4-projects@FreeBSD.ORG Wed Jul 30 09:28:08 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A9FA106567D; Wed, 30 Jul 2008 09:28:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E6E4106567C for ; Wed, 30 Jul 2008 09:28:08 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3561B8FC17 for ; Wed, 30 Jul 2008 09:28:08 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6U9S87q026370 for ; Wed, 30 Jul 2008 09:28:08 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6U9S8XP026368 for perforce@freebsd.org; Wed, 30 Jul 2008 09:28:08 GMT (envelope-from trasz@freebsd.org) Date: Wed, 30 Jul 2008 09:28:08 GMT Message-Id: <200807300928.m6U9S8XP026368@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146244 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 09:28:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=146244 Change 146244 by trasz@trasz_traszkan on 2008/07/30 09:27:40 Update getfacl(1) manual page. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#21 edit .. //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.1#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#21 (text+ko) ==== @@ -8,7 +8,7 @@ owner@:read_data/write_data/execute:file_inherit:allow -- Update getfacl(1) and setfacl(1) manual pages. +- Update setfacl(1) manual page. - Either add or extend existing manual pages for new API routines: acl_add_flag_np, acl_clear_flags_np, acl_create_entry_np, acl_delete_entry_np, ==== //depot/projects/soc2008/trasz_nfs4acl/bin/getfacl/getfacl.1#5 (text+ko) ==== @@ -38,7 +38,7 @@ .Nd get ACL information .Sh SYNOPSIS .Nm -.Op Fl dhq +.Op Fl dhnqv .Op Ar .Sh DESCRIPTION The @@ -61,13 +61,20 @@ access ACL. An error is generated if a default ACL cannot be associated with .Ar file . +This option is not valid for NFS4 ACLs. .It Fl h If the target of the operation is a symbolic link, return the ACL from the symbolic link itself rather than following the link. +.It Fl n +Display user and group IDs numerically rather than converting to +a user or group name. .It Fl q Do not write commented information about file name and ownership. This is useful when dealing with filenames with unprintable characters. +.It Fl v +For NFS4 ACLs, display access mask and flags in a verbose form. +For POSIX.1e ACLs, this option does nothing. .El .Pp The following operand is available: From owner-p4-projects@FreeBSD.ORG Wed Jul 30 10:02:43 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B06B41065680; Wed, 30 Jul 2008 10:02:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 700DF106567D for ; Wed, 30 Jul 2008 10:02:43 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 670688FC2D for ; Wed, 30 Jul 2008 10:02:43 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UA2hsp029075 for ; Wed, 30 Jul 2008 10:02:43 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UA2hGt029073 for perforce@freebsd.org; Wed, 30 Jul 2008 10:02:43 GMT (envelope-from trasz@freebsd.org) Date: Wed, 30 Jul 2008 10:02:43 GMT Message-Id: <200807301002.m6UA2hGt029073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146245 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 10:02:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=146245 Change 146245 by trasz@trasz_traszkan on 2008/07/30 10:02:29 Implement parsing ACLs in verbose form. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#22 edit .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#5 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#22 (text+ko) ==== @@ -1,13 +1,5 @@ Things to do, in no particular order: -- Add the ability to parse ACLs in verbose form, e.g. instead of - - owner@:rwx:f:allow - - it would be - - owner@:read_data/write_data/execute:file_inherit:allow - - Update setfacl(1) manual page. - Either add or extend existing manual pages for new API routines: ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/posix1e/acl_support_nfs4.c#5 (text+ko) ==== @@ -26,6 +26,8 @@ */ #include +#include +#include #include #include #include @@ -126,6 +128,43 @@ } static int +parse_flags_verbose(const char *strp, uint32_t *var, + const struct flagnames_struct *flags, int *try_compact) +{ + int i, found, ever_found = 0; + char *str, *flag; + + str = strdup(strp); + *try_compact = 0; + *var = 0; + + while (str != NULL) { + flag = strsep(&str, "/:"); + + found = 0; + for (i = 0; flags[i].name != NULL; i++) { + if (strcmp(flags[i].name, flag) == 0) { + *var |= flags[i].flag; + found = 1; + ever_found = 1; + } + } + + if (!found) { + if (ever_found) + warnx("Invalid flag: %s.", flag); + else + *try_compact = 1; + free(str); + return (-1); + } + } + + free(str); + return (0); +} + +static int parse_flags_compact(const char *str, uint32_t *var, const struct flagnames_struct *flags) { @@ -179,12 +218,24 @@ int _nfs4_parse_flags(const char *str, uint32_t *var) { - return (parse_flags_compact(str, var, a_flags)); + int error, try_compact; + + error = parse_flags_verbose(str, var, a_flags, &try_compact); + if (error && try_compact) + error = parse_flags_compact(str, var, a_flags); + + return (error); } int _nfs4_parse_access_mask(const char *str, uint32_t *var) { - return (parse_flags_compact(str, var, a_access_masks)); + int error, try_compact; + + error = parse_flags_verbose(str, var, a_access_masks, &try_compact); + if (error && try_compact) + error = parse_flags_compact(str, var, a_access_masks); + + return (error); } From owner-p4-projects@FreeBSD.ORG Wed Jul 30 10:33:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E411A1065692; Wed, 30 Jul 2008 10:33:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A696C1065670 for ; Wed, 30 Jul 2008 10:33:14 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9C1EA8FC4F for ; Wed, 30 Jul 2008 10:33:14 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UAXEeQ032584 for ; Wed, 30 Jul 2008 10:33:14 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UAXEhS032582 for perforce@freebsd.org; Wed, 30 Jul 2008 10:33:14 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 30 Jul 2008 10:33:14 GMT Message-Id: <200807301033.m6UAXEhS032582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146246 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 10:33:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=146246 Change 146246 by ed@ed_flippo on 2008/07/30 10:32:40 IFC. Affected files ... .. //depot/projects/mpsafetty/contrib/telnet/telnetd/state.c#2 integrate .. //depot/projects/mpsafetty/contrib/telnet/telnetd/telnetd.c#2 integrate .. //depot/projects/mpsafetty/etc/mtree/BSD.usr.dist#2 integrate .. //depot/projects/mpsafetty/lib/libc/gen/popen.c#2 integrate .. //depot/projects/mpsafetty/lib/libc/stdio/mktemp.c#3 integrate .. //depot/projects/mpsafetty/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/mpsafetty/sbin/routed/routed.8#2 integrate .. //depot/projects/mpsafetty/share/colldef/Makefile#2 integrate .. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-1.src#1 branch .. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-15.src#1 branch .. //depot/projects/mpsafetty/share/syscons/keymaps/fr.macbook.acc.kbd#2 integrate .. //depot/projects/mpsafetty/share/timedef/Makefile#2 integrate .. //depot/projects/mpsafetty/share/timedef/nb_NO.ISO8859-1.src#1 branch .. //depot/projects/mpsafetty/share/timedef/nb_NO.UTF-8.src#1 branch .. //depot/projects/mpsafetty/share/timedef/no_NO.ISO8859-1.src#2 delete .. //depot/projects/mpsafetty/share/timedef/no_NO.UTF-8.src#2 delete .. //depot/projects/mpsafetty/sys/conf/NOTES#3 integrate .. //depot/projects/mpsafetty/sys/conf/files#6 integrate .. //depot/projects/mpsafetty/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/bfe/if_bfereg.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/mpsafetty/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/sctp_bsd_addr.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/mpsafetty/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet/sctputil.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet6/icmp6.c#3 integrate .. //depot/projects/mpsafetty/sys/netinet6/ip6_output.c#2 integrate .. //depot/projects/mpsafetty/sys/netinet6/raw_ip6.c#4 integrate .. //depot/projects/mpsafetty/sys/sys/sockbuf.h#1 branch .. //depot/projects/mpsafetty/sys/sys/socketvar.h#2 integrate .. //depot/projects/mpsafetty/sys/sys/sockopt.h#1 branch .. //depot/projects/mpsafetty/sys/sys/sockstate.h#1 branch .. //depot/projects/mpsafetty/tools/build/mk/OptionalObsoleteFiles.inc#2 integrate .. //depot/projects/mpsafetty/tools/regression/netinet6/icmp6_filter/Makefile#1 branch .. //depot/projects/mpsafetty/tools/regression/netinet6/icmp6_filter/icmp6_filter.c#1 branch .. //depot/projects/mpsafetty/usr.bin/bluetooth/btsockstat/btsockstat.c#2 integrate .. //depot/projects/mpsafetty/usr.bin/cpio/cmdline.c#2 integrate .. //depot/projects/mpsafetty/usr.bin/cpio/cpio.c#2 integrate .. //depot/projects/mpsafetty/usr.bin/cpio/cpio.h#2 integrate .. //depot/projects/mpsafetty/usr.bin/netstat/inet.c#2 integrate Differences ... ==== //depot/projects/mpsafetty/contrib/telnet/telnetd/state.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.14 2003/05/04 02:54:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/state.c,v 1.15 2008/07/28 18:58:16 jhb Exp $"); #include #include "telnetd.h" @@ -553,8 +553,10 @@ #ifdef AUTHENTICATION case TELOPT_AUTHENTICATION: - func = auth_request; - changeok++; + if (auth_level >= 0) { + func = auth_request; + changeok++; + } break; #endif ==== //depot/projects/mpsafetty/contrib/telnet/telnetd/telnetd.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ #endif #endif #include -__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.29 2006/09/26 21:46:11 ru Exp $"); +__FBSDID("$FreeBSD: src/contrib/telnet/telnetd/telnetd.c,v 1.30 2008/07/28 18:58:16 jhb Exp $"); #include "telnetd.h" #include "pathnames.h" @@ -481,11 +481,13 @@ /* * Handle the Authentication option before we do anything else. */ - send_do(TELOPT_AUTHENTICATION, 1); - while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) - ttloop(); - if (his_state_is_will(TELOPT_AUTHENTICATION)) { - retval = auth_wait(name); + if (auth_level >= 0) { + send_do(TELOPT_AUTHENTICATION, 1); + while (his_will_wont_is_changing(TELOPT_AUTHENTICATION)) + ttloop(); + if (his_state_is_will(TELOPT_AUTHENTICATION)) { + retval = auth_wait(name); + } } #endif ==== //depot/projects/mpsafetty/etc/mtree/BSD.usr.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.334 2008/05/26 10:39:46 bz Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.335 2008/07/28 17:42:37 antoine Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -297,8 +297,6 @@ .. tcsh .. - wpa_supplicant - .. .. games fortune ==== //depot/projects/mpsafetty/lib/libc/gen/popen.c#2 (text+ko) ==== @@ -34,10 +34,11 @@ static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 5/3/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/popen.c,v 1.19 2007/01/09 00:27:54 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/popen.c,v 1.20 2008/07/29 16:29:59 ed Exp $"); #include "namespace.h" #include +#include #include #include @@ -53,11 +54,12 @@ extern char **environ; -static struct pid { - struct pid *next; +struct pid { + SLIST_ENTRY(pid) next; FILE *fp; pid_t pid; -} *pidlist; +}; +static SLIST_HEAD(, pid) pidlist = SLIST_HEAD_INITIALIZER(pidlist); static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; #define THREAD_LOCK() if (__isthreaded) _pthread_mutex_lock(&pidlist_mutex) @@ -133,9 +135,8 @@ } (void)_close(pdes[1]); } - for (p = pidlist; p; p = p->next) { + SLIST_FOREACH(p, &pidlist, next) (void)_close(fileno(p->fp)); - } _execve(_PATH_BSHELL, argv, environ); _exit(127); /* NOTREACHED */ @@ -155,8 +156,7 @@ cur->fp = iop; cur->pid = pid; THREAD_LOCK(); - cur->next = pidlist; - pidlist = cur; + SLIST_INSERT_HEAD(&pidlist, cur, next); THREAD_UNLOCK(); return (iop); @@ -171,7 +171,7 @@ pclose(iop) FILE *iop; { - struct pid *cur, *last; + struct pid *cur, *last = NULL; int pstat; pid_t pid; @@ -179,17 +179,19 @@ * Find the appropriate file pointer and remove it from the list. */ THREAD_LOCK(); - for (last = NULL, cur = pidlist; cur; last = cur, cur = cur->next) + SLIST_FOREACH(cur, &pidlist, next) { if (cur->fp == iop) break; + last = cur; + } if (cur == NULL) { THREAD_UNLOCK(); return (-1); } if (last == NULL) - pidlist = cur->next; + SLIST_REMOVE_HEAD(&pidlist, next); else - last->next = cur->next; + SLIST_REMOVE_NEXT(&pidlist, last, next); THREAD_UNLOCK(); (void)fclose(iop); ==== //depot/projects/mpsafetty/lib/libc/stdio/mktemp.c#3 (text+ko) ==== @@ -31,10 +31,10 @@ static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/mktemp.c,v 1.30 2008/07/22 15:08:50 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/mktemp.c,v 1.31 2008/07/28 21:18:59 jhb Exp $"); #include "namespace.h" -#include +#include #include #include #include @@ -102,13 +102,14 @@ int domkdir; int slen; { - char *start, *trv, *suffp; + char *start, *trv, *suffp, *carryp; char *pad; struct stat sbuf; int rval; uint32_t rand; + char carrybuf[MAXPATHLEN]; - if (doopen != NULL && domkdir) { + if ((doopen != NULL && domkdir) || slen < 0) { errno = EINVAL; return (0); } @@ -118,7 +119,7 @@ trv -= slen; suffp = trv; --trv; - if (trv < path) { + if (trv < path || NULL != strchr(suffp, '/')) { errno = EINVAL; return (0); } @@ -130,6 +131,9 @@ } start = trv + 1; + /* save first combination of random characters */ + memcpy(carrybuf, start, suffp - start); + /* * check the target directory. */ @@ -166,14 +170,25 @@ return (errno == ENOENT); /* If we have a collision, cycle through the space of filenames */ - for (trv = start;;) { - if (*trv == '\0' || trv == suffp) + for (trv = start, carryp = carrybuf;;) { + /* have we tried all possible permutations? */ + if (trv == suffp) + return (0); /* yes - exit with EEXIST */ + pad = strchr(padchar, *trv); + if (pad == NULL) { + /* this should never happen */ + errno = EIO; return (0); - pad = strchr(padchar, *trv); - if (pad == NULL || *++pad == '\0') - *trv++ = padchar[0]; - else { - *trv++ = *pad; + } + /* increment character */ + *trv = (*++pad == '\0') ? padchar[0] : *pad; + /* carry to next position? */ + if (*trv == *carryp) { + /* increment position and loop */ + ++trv; + ++carryp; + } else { + /* try with new name */ break; } } ==== //depot/projects/mpsafetty/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 (text+ko) ==== @@ -17,7 +17,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1091 2008/07/22 05:02:46 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1092 2008/07/29 04:23:18 bmah Exp $ 2000 @@ -171,7 +171,7 @@ Backwards compatibility for applications using KSE threading will be provided via &man.libmap.conf.5; for dynamically linked binaries. The &os; Project greatly appreciates the work of - &a.julian; and &a.deischen; on KSE support. + &a.julian;, &a.deischen;, and &a.davidxu; on KSE support. The &os; kernel now exports information about certain kernel features via the kern.features sysctl tree. ==== //depot/projects/mpsafetty/sbin/routed/routed.8#2 (text+ko) ==== @@ -28,7 +28,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)routed.8 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/sbin/routed/routed.8,v 1.34 2005/01/18 10:09:37 ru Exp $ +.\" $FreeBSD: src/sbin/routed/routed.8,v 1.35 2008/07/29 23:22:06 phk Exp $ .\" .Dd June 1, 1996 .Dt ROUTED 8 @@ -87,7 +87,7 @@ deletes all pre-existing non-static routes in kernel table. Static routes in the kernel table are preserved and -included in RIP responses if they have a valid RIP metric +included in RIP responses if they have a valid RIP -hopcount (see .Xr route 8 ) . .Pp ==== //depot/projects/mpsafetty/share/colldef/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/colldef/Makefile,v 1.72 2007/12/24 10:30:08 ache Exp $ +# $FreeBSD: src/share/colldef/Makefile,v 1.73 2008/07/28 21:33:34 des Exp $ LOCALES= bg_BG.CP1251 \ be_BY.CP1131 \ @@ -23,6 +23,8 @@ la_LN.ISO8859-2 \ la_LN.ISO8859-4 \ la_LN.US-ASCII \ + no_NO.ISO8859-1 \ + no_NO.ISO8859-15 \ lt_LT.ISO8859-4 \ lt_LT.ISO8859-13 \ pl_PL.ISO8859-2 \ @@ -65,9 +67,11 @@ ISO8859-1_ISO8859-1= ${ISO8859-15_ISO8859-15} pt_PT:pt_BR LATIN1LINKS= af_ZA da_DK en_AU en_CA en_GB en_NZ en_US eu_ES fi_FI \ - fr_BE fr_CA fr_CH fr_FR it_CH it_IT nb_NO nl_BE nl_NL \ - nn_NO no_NO pt_PT -ISO8859-15_ISO8859-15= de_DE:de_AT de_DE:de_CH ${LATIN1LINKS:C/^/la_LN:/} + fr_BE fr_CA fr_CH fr_FR it_CH it_IT nl_BE nl_NL pt_PT +ISO8859-15_ISO8859-15= \ + de_DE:de_AT de_DE:de_CH \ + no_NO:nb_NO no_NO:nn_NO \ + ${LATIN1LINKS:C/^/la_LN:/} LATIN2LINKS= hr_HR hu_HU ro_RO sr_YU ISO8859-2_ISO8859-2= ${LATIN2LINKS:C/^/la_LN:/} cs_CZ:sk_SK ==== //depot/projects/mpsafetty/share/syscons/keymaps/fr.macbook.acc.kbd#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/syscons/keymaps/fr.macbook.acc.kbd,v 1.1 2007/07/13 08:29:24 roberto Exp $ +# $FreeBSD: src/share/syscons/keymaps/fr.macbook.acc.kbd,v 1.2 2008/07/29 08:07:27 roberto Exp $ # alt # scan cntrl alt alt cntrl lock # code base shift cntrl shift alt shift cntrl shift state @@ -52,7 +52,7 @@ 046 'c' 'C' etx etx 169 'C' etx etx C 047 'v' 'V' syn syn 'v' 'V' syn syn C 048 'b' 'B' stx stx 223 'B' stx stx C - 049 'n' 'N' so so 'n' '~' so so C + 049 'n' 'N' so so '~' 'N' so so C 050 ',' '?' nop nop nop nop nop nop O 051 ';' '.' nop nop ',' '<' nop nop O 052 ':' '/' nop nop '.' '\' nop nop O ==== //depot/projects/mpsafetty/share/timedef/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/timedef/Makefile,v 1.50 2006/11/09 18:10:34 des Exp $ +# $FreeBSD: src/share/timedef/Makefile,v 1.52 2008/07/29 11:32:42 des Exp $ LOCALES= am_ET.UTF-8 \ be_BY.CP1131 \ @@ -54,11 +54,11 @@ lt_LT.ISO8859-13 \ lt_LT.UTF-8 \ mn_MN.UTF-8 \ + nb_NO.ISO8859-1 \ + nb_NO.UTF-8 \ nl_NL.ISO8859-1 \ nn_NO.ISO8859-1 \ nn_NO.UTF-8 \ - no_NO.ISO8859-1 \ - no_NO.UTF-8 \ pl_PL.ISO8859-2 \ pl_PL.UTF-8 \ pt_BR.ISO8859-1 \ @@ -118,7 +118,7 @@ FR_LINKS= fr_FR:fr_BE fr_FR:fr_CA fr_FR:fr_CH IT_LINKS= it_IT:it_CH NL_LINKS= nl_NL:nl_BE -NO_LINKS= no_NO:nb_NO +NO_LINKS= nb_NO:no_NO GB_LINKS= en_GB:en_AU en_GB:en_CA en_GB:en_NZ eucKR_CP949= ko_KR ==== //depot/projects/mpsafetty/sys/conf/NOTES#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1499 2008/07/18 14:44:51 dwmalone Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1502 2008/07/30 00:39:25 yongari Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1783,6 +1783,7 @@ # pcn(4) driver is left out of the kernel. The le(4) driver does not # support the additional features like the MII bus and burst mode of # the PCnet-FAST and greater chipsets though. +# re: RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter # rl: Support for PCI fast ethernet adapters based on the RealTek 8129/8139 # chipset. Note that the RealTek driver defaults to using programmed # I/O to do register accesses because memory mapped mode seems to cause @@ -1877,15 +1878,19 @@ hint.fxp.0.prefer_iomap="0" device gem # Apple GMAC/Sun ERI/Sun GEM device hme # Sun HME (Happy Meal Ethernet) +device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device lge # Level 1 LXT1001 gigabit Ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device my # Myson Fast Ethernet (MTD80X, MTD89X) device nge # NatSemi DP83820 gigabit Ethernet +device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device pcn # AMD Am79C97x PCI 10/100 NICs device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) +device stge # Sundance/Tamarack TC9021 gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vr # VIA Rhine, Rhine II @@ -1894,8 +1899,8 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') -#device em # Intel Pro/1000 Gigabit Ethernet -#device igb # Intel Pro/1000 PCIE Gigabit Ethernet +device em # Intel Pro/1000 Gigabit Ethernet +device igb # Intel Pro/1000 PCIE Gigabit Ethernet #device ixgbe # Intel Pro/10Gbe PCIE Ethernet device le # AMD Am7900 LANCE and Am79C9xx PCnet device mxge # Myricom Myri-10G 10GbE NIC ==== //depot/projects/mpsafetty/sys/conf/files#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1318 2008/07/25 19:35:40 stas Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1319 2008/07/28 21:47:04 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -836,8 +836,6 @@ dev/ixgb/ixgb_hw.c optional ixgb dev/ixgbe/ixgbe.c optional ixgbe \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" -dev/ixgbe/tcp_lro.c optional ixgbe \ - compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_phy.c optional ixgbe \ compile-with "${NORMAL_C} -I$S/dev/ixgbe" dev/ixgbe/ixgbe_api.c optional ixgbe \ ==== //depot/projects/mpsafetty/sys/dev/bfe/if_bfe.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.45 2008/04/30 02:49:24 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.48 2008/07/29 09:02:00 yongari Exp $"); #include #include @@ -171,18 +171,14 @@ bfe_probe(device_t dev) { struct bfe_type *t; - struct bfe_softc *sc; + uint16_t vendor, devid; t = bfe_devs; + vendor = pci_get_vendor(dev); + devid = pci_get_device(dev); - sc = device_get_softc(dev); - bzero(sc, sizeof(struct bfe_softc)); - sc->bfe_unit = device_get_unit(dev); - sc->bfe_dev = dev; - - while(t->bfe_name != NULL) { - if ((pci_get_vendor(dev) == t->bfe_vid) && - (pci_get_device(dev) == t->bfe_did)) { + while (t->bfe_name != NULL) { + if (vendor == t->bfe_vid && devid == t->bfe_did) { device_set_desc_copy(dev, t->bfe_name); return (BUS_PROBE_DEFAULT); } @@ -294,7 +290,7 @@ error = bus_dmamem_alloc(sc->bfe_rx_tag, (void *)&sc->bfe_rx_list, BUS_DMA_NOWAIT, &sc->bfe_rx_map); - if(error) + if (error) return (ENOMEM); bzero(sc->bfe_rx_list, BFE_RX_LIST_SIZE); @@ -302,7 +298,7 @@ sc->bfe_rx_list, sizeof(struct bfe_desc), bfe_dma_map, &sc->bfe_rx_dma, BUS_DMA_NOWAIT); - if(error) + if (error) return (ENOMEM); bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); @@ -316,7 +312,7 @@ error = bus_dmamap_load(sc->bfe_tx_tag, sc->bfe_tx_map, sc->bfe_tx_list, sizeof(struct bfe_desc), bfe_dma_map, &sc->bfe_tx_dma, BUS_DMA_NOWAIT); - if(error) + if (error) return (ENOMEM); bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE); @@ -330,16 +326,14 @@ { struct ifnet *ifp = NULL; struct bfe_softc *sc; - int unit, error = 0, rid; + int error = 0, rid; sc = device_get_softc(dev); mtx_init(&sc->bfe_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF); callout_init_mtx(&sc->bfe_stat_co, &sc->bfe_mtx, 0); - unit = device_get_unit(dev); sc->bfe_dev = dev; - sc->bfe_unit = unit; /* * Map control/status registers. @@ -350,7 +344,7 @@ sc->bfe_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); if (sc->bfe_res == NULL) { - printf ("bfe%d: couldn't map memory\n", unit); + device_printf(dev, "couldn't map memory\n"); error = ENXIO; goto fail; } @@ -365,14 +359,13 @@ sc->bfe_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_SHAREABLE | RF_ACTIVE); if (sc->bfe_irq == NULL) { - printf("bfe%d: couldn't map interrupt\n", unit); + device_printf(dev, "couldn't map interrupt\n"); error = ENXIO; goto fail; } if (bfe_dma_alloc(dev)) { - printf("bfe%d: failed to allocate DMA resources\n", - sc->bfe_unit); + device_printf(dev, "failed to allocate DMA resources\n"); error = ENXIO; goto fail; } @@ -380,7 +373,7 @@ /* Set up ifnet structure */ ifp = sc->bfe_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { - printf("bfe%d: failed to if_alloc()\n", sc->bfe_unit); + device_printf(dev, "failed to if_alloc()\n"); error = ENOSPC; goto fail; } @@ -404,7 +397,7 @@ if (mii_phy_probe(dev, &sc->bfe_miibus, bfe_ifmedia_upd, bfe_ifmedia_sts)) { - printf("bfe%d: MII without any PHY!\n", sc->bfe_unit); + device_printf(dev, "MII without any PHY!\n"); error = ENXIO; goto fail; } @@ -425,7 +418,7 @@ NULL, bfe_intr, sc, &sc->bfe_intrhand); if (error) { - printf("bfe%d: couldn't set up irq\n", unit); + device_printf(dev, "couldn't set up irq\n"); goto fail; } fail: @@ -458,7 +451,7 @@ bfe_chip_reset(sc); bus_generic_detach(dev); - if(sc->bfe_miibus != NULL) + if (sc->bfe_miibus != NULL) device_delete_child(dev, sc->bfe_miibus); bfe_release_resources(sc); @@ -526,7 +519,7 @@ u_int32_t ret; sc = device_get_softc(dev); - if(phy != sc->bfe_phyaddr) + if (phy != sc->bfe_phyaddr) return (0); bfe_readphy(sc, reg, &ret); @@ -539,7 +532,7 @@ struct bfe_softc *sc; sc = device_get_softc(dev); - if(phy != sc->bfe_phyaddr) + if (phy != sc->bfe_phyaddr) return (0); bfe_writephy(sc, reg, val); @@ -593,7 +586,7 @@ int i; for(i = 0; i < BFE_TX_LIST_CNT; i++) { - if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) { + if (sc->bfe_tx_ring[i].bfe_mbuf != NULL) { m_freem(sc->bfe_tx_ring[i].bfe_mbuf); sc->bfe_tx_ring[i].bfe_mbuf = NULL; bus_dmamap_unload(sc->bfe_tag, @@ -627,7 +620,7 @@ int i; for(i = 0; i < BFE_RX_LIST_CNT; i++) { - if(bfe_list_newbuf(sc, i, NULL) == ENOBUFS) + if (bfe_list_newbuf(sc, i, NULL) == ENOBUFS) return (ENOBUFS); } @@ -652,9 +645,9 @@ return (EINVAL); allocated = 0; - if(m == NULL) { + if (m == NULL) { m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); - if(m == NULL) + if (m == NULL) return (ENOBUFS); m->m_len = m->m_pkthdr.len = MCLBYTES; allocated++; @@ -676,15 +669,15 @@ if (allocated != 0) m_free(m); if (error != ENOMEM) - printf("bfe%d: failed to map RX buffer, error %d\n", - sc->bfe_unit, error); + device_printf(sc->bfe_dev, + "failed to map RX buffer, error %d\n", error); return (ENOBUFS); } bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE); ctrl = ETHER_MAX_LEN + 32; - if(c == BFE_RX_LIST_CNT - 1) + if (c == BFE_RX_LIST_CNT - 1) ctrl |= BFE_DESC_EOT; d->bfe_ctrl = ctrl; @@ -757,7 +750,7 @@ DELAY(100); bfe_readphy(sc, 0, &val); if (val & BMCR_RESET) { - printf("bfe%d: PHY Reset would not complete.\n", sc->bfe_unit); + device_printf(sc->bfe_dev, "PHY Reset would not complete.\n"); return (ENXIO); } return (0); @@ -820,9 +813,9 @@ /* Internal or external PHY? */ val = CSR_READ_4(sc, BFE_DEVCTRL); - if(!(val & BFE_IPP)) + if (!(val & BFE_IPP)) CSR_WRITE_4(sc, BFE_ENET_CTRL, BFE_ENET_EPSEL); - else if(CSR_READ_4(sc, BFE_DEVCTRL) & BFE_EPR) { + else if (CSR_READ_4(sc, BFE_DEVCTRL) & BFE_EPR) { BFE_AND(sc, BFE_DEVCTRL, ~BFE_EPR); DELAY(100); } @@ -867,7 +860,7 @@ static void bfe_core_disable(struct bfe_softc *sc) { - if((CSR_READ_4(sc, BFE_SBTMSLOW)) & BFE_RESET) + if ((CSR_READ_4(sc, BFE_SBTMSLOW)) & BFE_RESET) return; /* @@ -1023,7 +1016,7 @@ if (sc->bfe_ifp != NULL) if_free(sc->bfe_ifp); - if(sc->bfe_tx_tag != NULL) { + if (sc->bfe_tx_tag != NULL) { bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map); bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list, sc->bfe_tx_map); @@ -1031,7 +1024,7 @@ sc->bfe_tx_tag = NULL; } - if(sc->bfe_rx_tag != NULL) { + if (sc->bfe_rx_tag != NULL) { bus_dmamap_unload(sc->bfe_rx_tag, sc->bfe_rx_map); bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list, sc->bfe_rx_map); @@ -1039,7 +1032,7 @@ sc->bfe_rx_tag = NULL; } - if(sc->bfe_tag != NULL) { + if (sc->bfe_tag != NULL) { for(i = 0; i < BFE_TX_LIST_CNT; i++) { bus_dmamap_destroy(sc->bfe_tag, sc->bfe_tx_ring[i].bfe_map); @@ -1052,7 +1045,7 @@ sc->bfe_tag = NULL; } - if(sc->bfe_parent_tag != NULL) + if (sc->bfe_parent_tag != NULL) bus_dma_tag_destroy(sc->bfe_parent_tag); return; @@ -1084,9 +1077,9 @@ DELAY(10); } if (i == timeout) { - printf("bfe%d: BUG! Timeout waiting for bit %08x of register " - "%x to %s.\n", sc->bfe_unit, bit, reg, - (clear ? "clear" : "set")); + device_printf(sc->bfe_dev, + "BUG! Timeout waiting for bit %08x of register " + "%x to %s.\n", bit, reg, (clear ? "clear" : "set")); return (-1); } return (0); @@ -1179,9 +1172,9 @@ i = sc->bfe_tx_cons; /* Go through the mbufs and free those that have been transmitted */ - while(i != chipidx) { + while (i != chipidx) { struct bfe_data *r = &sc->bfe_tx_ring[i]; - if(r->bfe_mbuf != NULL) { + if (r->bfe_mbuf != NULL) { ifp->if_opackets++; m_freem(r->bfe_mbuf); r->bfe_mbuf = NULL; @@ -1191,7 +1184,7 @@ BFE_INC(i, BFE_TX_LIST_CNT); } - if(i != sc->bfe_tx_cons) { + if (i != sc->bfe_tx_cons) { /* we freed up some mbufs */ sc->bfe_tx_cons = i; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -1219,7 +1212,7 @@ ifp = sc->bfe_ifp; - while(current != cons) { + while (current != cons) { r = &sc->bfe_rx_ring[cons]; m = r->bfe_mbuf; rxheader = mtod(m, struct bfe_rxheader*); @@ -1288,33 +1281,34 @@ CSR_READ_4(sc, BFE_ISTAT); /* not expecting this interrupt, disregard it */ - if(istat == 0) { + if (istat == 0) { BFE_UNLOCK(sc); return; } - if(istat & BFE_ISTAT_ERRORS) { + if (istat & BFE_ISTAT_ERRORS) { if (istat & BFE_ISTAT_DSCE) { - printf("if_bfe Descriptor Error\n"); + device_printf(sc->bfe_dev, "Descriptor Error\n"); bfe_stop(sc); BFE_UNLOCK(sc); return; } if (istat & BFE_ISTAT_DPE) { - printf("if_bfe Descriptor Protocol Error\n"); + device_printf(sc->bfe_dev, + "Descriptor Protocol Error\n"); bfe_stop(sc); BFE_UNLOCK(sc); return; } flag = CSR_READ_4(sc, BFE_DMATX_STAT); - if(flag & BFE_STAT_EMASK) + if (flag & BFE_STAT_EMASK) ifp->if_oerrors++; flag = CSR_READ_4(sc, BFE_DMARX_STAT); - if(flag & BFE_RX_FLAG_ERRORS) + if (flag & BFE_RX_FLAG_ERRORS) ifp->if_ierrors++; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; @@ -1322,11 +1316,11 @@ } /* A packet was received */ - if(istat & BFE_ISTAT_RX) + if (istat & BFE_ISTAT_RX) bfe_rxeof(sc); /* A packet was sent */ - if(istat & BFE_ISTAT_TX) + if (istat & BFE_ISTAT_TX) bfe_txeof(sc); /* We have packets pending, fire them out */ @@ -1347,7 +1341,7 @@ int chainlen = 0; int error; - if(BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2) + if (BFE_TX_LIST_CNT - sc->bfe_tx_cnt < 2) return (ENOBUFS); /* @@ -1377,8 +1371,8 @@ cnt = 0; for(m = *m_head; m != NULL; m = m->m_next) { - if(m->m_len != 0) { - if((BFE_TX_LIST_CNT - (sc->bfe_tx_cnt + cnt)) < 2) + if (m->m_len != 0) { + if ((BFE_TX_LIST_CNT - (sc->bfe_tx_cnt + cnt)) < 2) return (ENOBUFS); d = &sc->bfe_tx_list[cur]; @@ -1386,10 +1380,10 @@ d->bfe_ctrl = BFE_DESC_LEN & m->m_len; /* always intterupt on completion */ d->bfe_ctrl |= BFE_DESC_IOC; - if(cnt == 0) + if (cnt == 0) /* Set start of frame */ d->bfe_ctrl |= BFE_DESC_SOF; - if(cur == BFE_TX_LIST_CNT - 1) + if (cur == BFE_TX_LIST_CNT - 1) /* * Tell the chip to wrap to the start of * the descriptor list @@ -1459,16 +1453,16 @@ IFF_DRV_RUNNING) return; - while(sc->bfe_tx_ring[idx].bfe_mbuf == NULL) { + while (sc->bfe_tx_ring[idx].bfe_mbuf == NULL) { IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); - if(m_head == NULL) + if (m_head == NULL) break; /* * Pack the data into the tx ring. If we dont have * enough room, let the chip drain the ring. */ - if(bfe_encap(sc, &m_head, &idx)) { + if (bfe_encap(sc, &m_head, &idx)) { IFQ_DRV_PREPEND(&ifp->if_snd, m_head); ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; @@ -1522,8 +1516,8 @@ bfe_chip_reset(sc); if (bfe_list_rx_init(sc) == ENOBUFS) { - printf("bfe%d: bfe_init: Not enough memory for list buffers\n", - sc->bfe_unit); + device_printf(sc->bfe_dev, + "%s: Not enough memory for list buffers\n", __func__); bfe_stop(sc); return; } @@ -1596,34 +1590,33 @@ struct mii_data *mii; int error = 0; - switch(command) { - case SIOCSIFFLAGS: - BFE_LOCK(sc); - if(ifp->if_flags & IFF_UP) - if(ifp->if_drv_flags & IFF_DRV_RUNNING) - bfe_set_rx_mode(sc); - else - bfe_init_locked(sc); - else if(ifp->if_drv_flags & IFF_DRV_RUNNING) - bfe_stop(sc); - BFE_UNLOCK(sc); - break; - case SIOCADDMULTI: - case SIOCDELMULTI: - BFE_LOCK(sc); - if(ifp->if_drv_flags & IFF_DRV_RUNNING) + switch (command) { + case SIOCSIFFLAGS: + BFE_LOCK(sc); + if (ifp->if_flags & IFF_UP) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); - BFE_UNLOCK(sc); - break; - case SIOCGIFMEDIA: - case SIOCSIFMEDIA: - mii = device_get_softc(sc->bfe_miibus); - error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, - command); - break; - default: - error = ether_ioctl(ifp, command, data); - break; + else + bfe_init_locked(sc); + else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + bfe_stop(sc); + BFE_UNLOCK(sc); + break; + case SIOCADDMULTI: + case SIOCDELMULTI: + BFE_LOCK(sc); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) + bfe_set_rx_mode(sc); + BFE_UNLOCK(sc); + break; + case SIOCGIFMEDIA: + case SIOCSIFMEDIA: + mii = device_get_softc(sc->bfe_miibus); + error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); + break; + default: + error = ether_ioctl(ifp, command, data); + break; } return (error); @@ -1641,7 +1634,7 @@ ifp = sc->bfe_ifp; - printf("bfe%d: watchdog timeout -- resetting\n", sc->bfe_unit); + device_printf(sc->bfe_dev, "watchdog timeout -- resetting\n"); ifp->if_oerrors++; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; ==== //depot/projects/mpsafetty/sys/dev/bfe/if_bfereg.h#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 10:36:18 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 725021065675; Wed, 30 Jul 2008 10:36:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36A491065673 for ; Wed, 30 Jul 2008 10:36:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 13AA48FC17 for ; Wed, 30 Jul 2008 10:36:18 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UAaHur032907 for ; Wed, 30 Jul 2008 10:36:17 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UAaHxu032905 for perforce@freebsd.org; Wed, 30 Jul 2008 10:36:17 GMT (envelope-from trasz@freebsd.org) Date: Wed, 30 Jul 2008 10:36:17 GMT Message-Id: <200807301036.m6UAaHxu032905@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 10:36:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=146247 Change 146247 by trasz@trasz_traszkan on 2008/07/30 10:35:30 Update TODO - no future for VOP_GRANULAR. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/TODO#23 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/TODO#23 (text+ko) ==== @@ -10,6 +10,8 @@ - Add granular access control to ZFS. +- Get rid of the VOP_GRANULAR; merge its functionality back into VOP_ACCESS. + - Write code to do the same operations on UFS and ZFS and compare results. - Make 'struct acl' variable size. From owner-p4-projects@FreeBSD.ORG Wed Jul 30 10:48:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D8EB1065674; Wed, 30 Jul 2008 10:48:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50C2F106566B for ; Wed, 30 Jul 2008 10:48:30 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 484F28FC25 for ; Wed, 30 Jul 2008 10:48:30 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UAmUDn033787 for ; Wed, 30 Jul 2008 10:48:30 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UAmUqt033785 for perforce@freebsd.org; Wed, 30 Jul 2008 10:48:30 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 30 Jul 2008 10:48:30 GMT Message-Id: <200807301048.m6UAmUqt033785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146248 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 10:48:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=146248 Change 146248 by ed@ed_flippo on 2008/07/30 10:47:59 Be sure to assert the high water mark flag before actually going to sleep. Drivers that process data synchronously may cause TTY's to block, even if there is enough room to write new data. Affected files ... .. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#4 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#4 (text+ko) ==== @@ -507,7 +507,15 @@ goto done; } + /* + * The driver may write back the data + * synchronously. Be sure to check the high + * water mark before going to sleep. + */ ttydevsw_outwakeup(tp); + if ((tp->t_flags & TF_HIWAT_OUT) == 0) + continue; + error = tty_wait(tp, &tp->t_outwait); if (error) goto done; From owner-p4-projects@FreeBSD.ORG Wed Jul 30 12:32:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8028E106567C; Wed, 30 Jul 2008 12:32:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42F041065678; Wed, 30 Jul 2008 12:32:27 +0000 (UTC) (envelope-from olli@fromme.com) Received: from haluter.fromme.com (haluter.fromme.com [212.17.241.231]) by mx1.freebsd.org (Postfix) with ESMTP id B81B88FC0C; Wed, 30 Jul 2008 12:32:26 +0000 (UTC) (envelope-from olli@fromme.com) Received: from haluter.fromme.com (irc_sucks@localhost [127.0.0.1]) by haluter.fromme.com (8.13.4/8.13.4) with ESMTP id m6UCBrZi088073; Wed, 30 Jul 2008 14:11:53 +0200 (CEST) (envelope-from olli@fromme.com) Received: (from olli@localhost) by haluter.fromme.com (8.13.4/8.12.9/Submit) id m6UCBqUK088071; Wed, 30 Jul 2008 14:11:52 +0200 (CEST) From: Oliver Fromme Message-Id: <200807301211.m6UCBqUK088071@haluter.fromme.com> To: gabor@FreeBSD.org (=?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?=) Date: Wed, 30 Jul 2008 14:11:52 +0200 (CEST) In-Reply-To: <488F4EB8.5010308@FreeBSD.org> from "=?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?=" at Jul 29, 2008 07:09:12 PM X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.2 (haluter.fromme.com [127.0.0.1]); Wed, 30 Jul 2008 14:11:53 +0200 (CEST) Cc: Kris Kennaway , Perforce Change Reviews , Max Khon Subject: Re: PERFORCE change 146209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 12:32:27 -0000 Gábor Kövesdán wrote: > Kris Kennaway escribió: > > Gabor Kovesdan wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=146209 > > > > > > Change 146209 by gabor@gabor_server on 2008/07/29 16:01:05 > > > > > > - Just handle some command line options as noop. They seem to be > > > rarely used based on the resources describing them. From now on > > > let's concentrate on the really practical features instead of > > > these ones. > > > > I don't think it's a good idea to "implement" options as NOPs unless > > they really are NOPs. This will just cause silent failure and/or > > script misbehaviour, which may be very hard to track down. > > I've been also thinking of this, and I'm still a bit unsure. It would be > bad if scripts failed due to this, but it would be also bad if scripts > didn't run because of a e.g. --side-by-side argument, which rarely (or > never?) makes any difference. How about printing a fat warning message on stderr that the option is unsupported and ignored, and then continue normally? Best regards Oliver -- Oliver Fromme, Bunsenstr. 13, 81735 Muenchen, Germany ``We are all but compressed light'' (Albert Einstein) From owner-p4-projects@FreeBSD.ORG Wed Jul 30 14:44:04 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A214E1065677; Wed, 30 Jul 2008 14:44:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 662791065673 for ; Wed, 30 Jul 2008 14:44:04 +0000 (UTC) (envelope-from fjoe@samodelkin.net) Received: from h2o.riss-telecom.ru (h2o.riss-telecom.ru [80.66.66.11]) by mx1.freebsd.org (Postfix) with SMTP id 80A5D8FC13 for ; Wed, 30 Jul 2008 14:44:03 +0000 (UTC) (envelope-from fjoe@samodelkin.net) Received: (qmail 87774 invoked from network); 30 Jul 2008 21:17:22 +0700 Received: from atlas49.myplace.ru (HELO atlas57.myplace.ru) (80.66.68.49) by h2o.riss-telecom.ru with SMTP; 30 Jul 2008 21:17:21 +0700 Received: (qmail 28049 invoked from network); 30 Jul 2008 00:28:29 +0700 Received: from host89-251-107-5.hnet.ru (HELO husky.fjoe.local) (89.251.107.5) by atlas57.myplace.ru with (DHE-RSA-AES256-SHA encrypted) SMTP; 30 Jul 2008 00:28:29 +0700 Message-ID: <488F5344.7060807@samodelkin.net> Date: Wed, 30 Jul 2008 00:28:36 +0700 From: Max Khon User-Agent: Thunderbird 2.0.0.12 (X11/20080326) MIME-Version: 1.0 To: =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= References: <200807291601.m6TG1FXh039193@repoman.freebsd.org> <488F4B1A.3000207@FreeBSD.org> <488F4EB8.5010308@FreeBSD.org> In-Reply-To: <488F4EB8.5010308@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: Kris Kennaway , Perforce Change Reviews Subject: Re: PERFORCE change 146209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 14:44:04 -0000 Hello! Gábor Kövesdán wrote: >>> http://perforce.freebsd.org/chv.cgi?CH=146209 >>> >>> Change 146209 by gabor@gabor_server on 2008/07/29 16:01:05 >>> >>> - Just handle some command line options as noop. They seem to be >>> rarely used based on the resources describing them. From now on >>> let's concentrate on the really practical features instead of >>> these ones. >> >> I don't think it's a good idea to "implement" options as NOPs unless >> they really are NOPs. This will just cause silent failure and/or >> script misbehaviour, which may be very hard to track down. > I've been also thinking of this, and I'm still a bit unsure. It would be > bad if scripts failed due to this, but it would be also bad if scripts > didn't run because of a e.g. --side-by-side argument, which rarely (or > never?) makes any difference. I've played with the options a bit and a > lot of them made no difference in the output neither with normal diff > nor with context diff nor with unified diff. Maybe the best way to > investigate what are they for would be to dig deeply in the GNU code, > which is a mess. I haven't even found info about them on Google, thus I > don't think they worth the effort. I think that you should not implement options as NOPs unless they are really NOPs too. /fjoe From owner-p4-projects@FreeBSD.ORG Wed Jul 30 15:25:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31D3110656C8; Wed, 30 Jul 2008 15:25:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9C4110656C5 for ; Wed, 30 Jul 2008 15:25:09 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C6BBF8FC19 for ; Wed, 30 Jul 2008 15:25:09 +0000 (UTC) (envelope-from snagg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UFP9k9076850 for ; Wed, 30 Jul 2008 15:25:09 GMT (envelope-from snagg@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UFP9iJ076848 for perforce@freebsd.org; Wed, 30 Jul 2008 15:25:09 GMT (envelope-from snagg@FreeBSD.org) Date: Wed, 30 Jul 2008 15:25:09 GMT Message-Id: <200807301525.m6UFP9iJ076848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to snagg@FreeBSD.org using -f From: Vincenzo Iozzo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146249 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 15:25:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=146249 Change 146249 by snagg@snagg_macosx on 2008/07/30 15:25:00 Added per-pid patch Affected files ... .. //depot/projects/soc2008/snagg-audit/sys/security/audit/patch#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jul 30 16:25:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA1DE1065685; Wed, 30 Jul 2008 16:25:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D1011065675 for ; Wed, 30 Jul 2008 16:25:10 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 712628FC1E for ; Wed, 30 Jul 2008 16:25:10 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UGPAl9082725 for ; Wed, 30 Jul 2008 16:25:10 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UGPABP082723 for perforce@freebsd.org; Wed, 30 Jul 2008 16:25:10 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 30 Jul 2008 16:25:10 GMT Message-Id: <200807301625.m6UGPABP082723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146250 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 16:25:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=146250 Change 146250 by pgj@disznohal on 2008/07/30 16:24:54 A drip of rework in www/hu Affected files ... .. //depot/projects/docproj_hu/www/hu/features.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/features.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -13,366 +13,448 @@ &header; - -

A FreeBSD sok remek adottsággal rendelkezik.

- -

Mindegy mire használja a - számítógépét, bizonyára azt - szeretné, ha a rendszer erõforrásait - maximálisan kihasználhatná. A FreeBSD - teljesítményre, hálózatkezelésre - és adattárolásra koncentráló - törekvései a könnyû - rendszeradminisztrációval és kiváló - dokumentációval kombinálva nyújtják - Önnek ezt.

+ +

A &os; számos remek adottsággal rendelkezik.

+ +

Függetlenül attól, hogy mire is + használjuk a + számítógépünket, + nyilvánvaló, hogy a rendszer + erõforrásait maximálisan ki szeretnénk + használni. A &os; pontosan ennek + eléréséhez a teljesítményre, + hálózatkezelésre és + adattárolásra összpontosít, + kényelmes hangolhatósággal és + kiváló dokumentációval + rendelkezik.

-

Egy teljes operációs rendszer a 4.4BSD alapjain.

+

Egy teljes operációs rendszer a 4.4BSD + alapjain.

-

A FreeBSD kiváló gyökerei a BSD - kiadásból származnak, amelyet a - kaliforniai Berkeley egyetemen mûködõ Computer Systems - Research Group adott ki. A több, mint tíz évi - fejlesztõi munka eredményeként a BSD rendelkezik - az ipari vezetõ SMP képességgel, - többszálú és hálózati - teljesítménnyel, ahogyan új menedzsment - eszközökkel, fájlrendszerekkel és - biztonsági funkciókkal. Ennek - eredményeképp, a FreeBSD megtalálható - szerte az Interneten, routerek belsõ operációs - rendszereként, root névszervereken, jelentõs - weboldalak kiszolgálójaként, ezen - kívü széleskörûen használt - asztali gépek operációs rendszereként - is. Ez csak a FreeBSD Projekt sokoldalúságának - és az egész világra kiterjedõ - elismertségének köszönhetõen - valósulhatott meg.

+

A &os; elõkelõ gyökerei abból a + BSD kiadásból származnak, amelyet + annak idején a kaliforniai Berkeley Egyetemen + mûködõ Computer Systems Research Group adott ki. + A BSD továbbfejlesztésére szánt + több, mint tíz évnyi fejlesztõi munka + eredménye a rendszerben megtalálható + és az iparban egyedülálló + többprocesszoros, többszálú és + hálózati teljesítmény, ahogyan az + új karbantartási eszközök, + állományrendszerek és biztonsági + funkciók. Ennek eredményeképpen a &os; + szerte az interneten megtalálható, + útválasztók belsõ + operációs rendszereként, központi + névszervereken, a jelentõsebb honlapok + kiszolgálójaként, valamint + széleskörben használt asztali gépek + operációs rendszereként egyaránt. + Ez viszont csak a &os; Projekt + sokoldalúságának és az egész + világra kiterjedõ elismertségének + köszönhetõen valósulhatott meg.

-

A FreeBSD rendelkezik a fejlett operációs rendszerek - adottságaival, így ideális mindenféle - rendszerhez, a beágyazott rendszerektõl kezdve a - felsõkategóriás multiprocesszoros szerverekig.

+

A &os; rendelkezik a fejlett operációs rendszerek + összes adottságával, így + ideális mindenféle rendszerhez, a + beágyazott rendszerektõl kezdve a + felsõkategóriás többprocesszoros + szerverekkel bezárólag.

-

A FreeBSD 7.0, amely 2008 februárjában - jelent meg, rengeteg új funkcióval és - megnövelt teljesítménnyel rendelkezik. Az - adattárolásra és a multiprocesszoros +

A 2008 februárjában megjelent + &os; 7.0 rengeteg új funkciót és + további teljesítménybeli + fejlõdést tudhat magáénak. Az + adattárolásra és a többprocesszoros teljesítményre irányuló - törekvéseknek köszönhetõen a FreeBSD 7.0 - támogatja a Sun ZFS fájlrendszerét - és jól skálázható - multiprocesszoros teljesítménnyel bír. A - mérések kimutatták, hogy a FreeBSD kétszer - nagyobb teljesítményt nyújt MySQL és - PostgreSQL rendszerekkel egy 8-magos szerveren, mint a jelenlegi - Linux rendszerek.

+ törekvéseknek köszönhetõen a + &os; 7.0 támogatja a Sun ZFS + állományrendszerét és + jól skálázható + többprocesszoros teljesítménnyel + bír. A mérések kimutatták, hogy a + &os; MySQL és PostgreSQL rendszerekkel nyolcmagos + szervereken a jelenlegi Linux rendszereknél + kétszer nagyobb teljesítményt + nyújt.

    -
  • SMPng: A fejlett SMP támogatás hét - évi fejlesztése után a FreeBSD 7.0 - megvalósította a jól kidolgozott lineáris - skálázhatóságot a legtöbb - feladathoz, több mint 8 processzormag esetén is. - A FreeBSD 7.0-ban majdnem teljesen eltávolításra - került a Giant Lock; el lett távolítva a +
  • SMPng: A fejlett SMP-támogatás + közel hét évnyi fejlesztése + után a &os; 7.0 végre valóban egy + finomhangolt zárolási rendszert + valósít meg, így még 8 + processzormagnál több esetén is + lineáris skálázhatóságot + kínál a legtöbb feladathoz. A + &os; 7.0-ban már majdnem teljesen + eltávolításra került a + rendszerbõl az ún. Giant Lock: kikerült a CAM tárolási rétegbõl és az - NFS kliensbõl, és a munka folytatódik egy - jobban kidolgozott zárolási folyamat - érdekében a hálózati alrendszerhez. + NFS kliensbõl, a munka a hálózati + alrendszerben folytatódik a zárolási + folyamatok még jobb kidolgozásához. Szintén jelentõs fejlesztések - történtek a kernel ütemezõjében - és a zárolási primitívekben, - az opcionális ULE ütemezõ pedig - megvalósítja a szálak CPU - affinitását és a processzoronkénti - futási sorokat, hogy csökkentse a terhelést - és növelje a gyorsítótár - kihasználását. Az 1:1 szálazást - biztosító libthr szálkezelõ csomag - alapértelmezetté vált. A mérések - drámai elõnyöket mutatnak más &unix; - rendszerek teljesítményével szemben azonos - hardveren, és tükrözik a FreeBSD kernel SMP - technológia irányába történõ - fejlõdését.
  • + történtek a rendszermag + ütemezõjében és a + zárolási primitívekben, az + opcionális ULE ütemezõ pedig + lehetõvé teszi a szálak processzorokhoz + kötését és a + processzoronkénti futási sorok + kezelését, ezzel is igyekszik csökkenteni a + terhelést és növelni a + gyorsítótár + kihasználását. Az 1:1 + szálkezelést megvalósító + libthr szálkezelõ csomag + alapértelmezetté vált. A + mérések más &unix; rendszerek + teljesítményével szemben azonos hardveren + drámai elõnyöket mutatnak, ezáltal + remekül tükrözik a &os; rendszermagjának + fejlõdését a többprocesszoros + technológiák irányába. -
  • ZFS fájlrendszer: A Sun korszerû ZFS - fájlrendszere egyszerû adminisztrációt, - tranzakcionális szemantikát, egymáshoz - illesztett adatintegritást és rendkívüli +
  • ZFS állományrendszer: A Sun + korszerû ZFS állományrendszere egyszerû + adminisztrációt, tranzakcionális + szemantikát, végpontok közti + adatintegritást és rendkívüli skálázhatóságot nyújt. Az önkorrekció, a beépített - tömörítés, a RAID, a pillanatképek - és a kötetkezelés - segítségével a FreeBSD - rendszeradminisztrátorok könnyen kezelhetik a nagy - adattároló köteteket.
  • + tömörítés, a RAID, a + pillanatképek és a kötetkezelés + segítségével a &os;-t + használó rendszergazdák + könnyedén képesek kezelni a nagyobb + adattároló tömböket is. -
  • 10Gbps hálózati optimizáció: - Az összes jelentõs 10Gbps hálózati - gyártó optimizált meghajtóival a - FreeBSD 7.0 nagymértékû - optimizációval rendelkezik nagy - terhelésnél a hálózati vermet - illetõen, beleértve az automatikus - skálázású socket puffereket, a - TCP Segment Offload-ot (TSO), a Large Receive Offload-ot (LRO), - a közvetlen hálózati verem elküldést - és a TCP/IP terheléselosztást a több - processzor között, vagy a több hálózati - interfész között, ha egyszerre több van - használatban. Teljes terjesztõi támogatás - elérhetõ a Chelsio, Intel, Myricom és Neterion - cégektõl.
  • +
  • 10 Gbps-es hálózati + optimizáció: A &os; 7.0-ben + megtalálható hálózati + protokollkészlet az összes jelentõs + 10 Gbps sebességû hálózati + eszközt támogató optimizált + meghajtóinak köszönhetõen nagyobb + terhelésnél is sokkal jobban teljesít, + beleértve az automatikus méretezésû + socket puffereket, a TCP Segment Offloadot (TSO), a Large + Receive Offloadot (LRO), a közvetlen + hálózati szintû küldést, vagy a + TCP/IP terhelés elosztását több + processzor, esetleg több hálózati + interfész között. A Chelsio, Intel, Myricom + és Neterion cégek teljes körû + támogatást nyújtanak + termékeikhez.
  • -
  • SCTP: A FreeBSD 7.0 az új IETF Stream Control - Transmission Protocol (SCTP) protokoll referencia - implementációja, amely a VoIP - szolgáltatást, a telekommunikációt, - és egyéb olyan felhasználási - területeket hivatott támogatni, amelyek nagy - megbízhatóságot és változó - minõségû átvitelt igényelnek olyan - szolgáltatásokkal együltt, mint a - többutas átvitel, a hibatûrés és a - multi-streaming.
  • +
  • SCTP: A &os; 7.0 az IETF által + kidolgozott új Stream Control Transmission Protocol + (SCTP) protokoll referencia implementációja VoIP + szolgáltatásokat, + telekommunikációt és egyéb olyan + felhasználási területeket hivatott + támogatni, amelyek nagy + megbízhatóságot és + változó minõségû + átvitelt igényelnek olyan + szolgáltatásokkal együtt, mint a + többutas átvitel, a hibatûrés + és a többsávos streamelés.
  • -
  • Vezetéknélküli - hálózatkezelés: A FreeBSD 7.0 - jelentõsen javítt vezetéknélküli - hálózatkezelést tartalmaz, beleértve +
  • Vezeték nélküli + hálózatok: A &os; 7.0 vezeték + nélküli hálózatkezelése + jelentõsen javult, többek közt támogatja a nagy teljesítményû Atheros alapú - kártyák kezelését, új - meghajtókat a Ralink, Intel és ZyDAS - kártyákhoz, WPA támogatás, - keresés és roaming a háttérben, - illetve 802.11n támogatás.
  • + kártyák kezelését, illetve + további új meghajtókat tartalmaz a + Ralink, Intel és ZyDAS kártyákhoz, + és megtalálható benne a + WPA-támogatás, keresés és roaming + a háttérben, a 802.11n + támogatás. -
  • Új hardver architektúrák: A - FreeBSD 7.0 jelentõsen javított - támogatással rendelkezik a beágyazott - ARM architektúrához és kezdetleges - támogatással a Sun Ultrasparc T1 - platformjához.
  • +
  • Új hardverarchitektúrák: A + &os; 7.0 különösen fejlett módon + támogatja a beágyazott ARM + architektúrákat, a Sun Ultrasparc T1 platform + pedig még bevezetés alatt áll.
-

A FreeBSD nagy múlttal rendelkezik a fejlett - operációs rendszer adottságok - kifejlesztésében, néhány - ilyen adottságról alább olvashat:

- +

A &os; nagy múlttal rendelkezik a fejlett + operációs rendszerekre jellemzõ + adottságok kifejlesztésében, íme + közülük néhány:

+
    -
  • Az összevont virtuális memória és - fájlrendszer gyorstárazó rendszer - folyamatosan szabályozza a szoftverek által +
  • Az összevont virtuális memória + és állományrendszer + gyorsítótár folyamatosan + szabályozza a szoftverek által felhasznált memóriát és a lemez - gyorstárát. Ennek eredményeképpen - a szoftverei kiváló memóriakezelésben - és nagy teljesítményû - lemezhasználatban részesülnek, így - a rendszergazda mentesül a gyorstárak - finomhangolásából eredõ teher + gyorsítótárát. Ennek + eredményeképpen a szoftverek + kiváló memóriakezelést és + nagy teljesítményû + lemezhozzáférést nyernek, aminek + köszönhetõen a rendszergazda mentesül ezen + gyorsítótárak + finomhangolásából eredõ terhek alól.
  • - +
  • A kompatibilitási modulok lehetõvé teszik, hogy Linux, SCO UNIX és System V Release 4 - szoftvereket futtasson a FreeBSD rendszerén.
  • - -
  • A Soft Updates rendszer fejlett fájlrendszer - teljesítményt nyújt a biztonság - és stabilitás feláldozása - nélkül. A fájlrendszer meta-adatokkal - végzendõ mûveleteit elemzi, hogy ne kelljen - minden ilyen mûveletet szinkronban kezelnie. - Egy belsõ nyomkövetést végez - a meta-adatok változásairól, ezzel - egyfajta gyorstárat létrehozva a meta-adatok - számára. Az azonos fájlhoz - érkezõ késõbbi meta-adatokat - újraírja a gyorstárban, majd úgy - rendezi azt, hogy hatékonyabban feldolgozható - legyen. Az olyan funkciók, mint a háttérben - történõ fájlrendszer-ellenõrzés, - vagy a pillanatkép (snapshot) készítés - a fájlrendszerrõl, a Soft Updates rendszerrel - való együttmûködés és - teljesítményi megfontolások alapkán - készültek.
  • + szoftvereket futtassunk a &os; rendszereken. + +
  • A Soft Updates rendszer fejlett + állományrendszeri teljesítményt + nyújt a biztonság és stabilitás + feláldozása nélkül. Az + állományrendszer a metaadatokra vonatkozó + végzendõ mûveleteit elemzi, ezzel igyekszik + elkerülni azt, hogy ne kelljen minden ilyen + mûveletet szinkronban kezelnie. Egy belsõ + nyomkövetést végez a metaadatok + változásairól, ezzel egyfajta + gyorsítótárat létrehozva a + metaadatok számára. Az azonos + állományokhoz érkezõ + késõbbi metaadatokat közvetlenül a + gyorsítótárban frissíti, majd + úgy rendezi azokat, hogy hatékonyabban + feldolgozhatóak legyenenk. Az + állományrendszer háttérben + végezhetõ ellenõrzése vagy + éppen az állományrendszerbeli + pillanatképek készítése, illetve a + további hasonló funkciók a Soft Updates + rendszerrel együttmûködve és annak + teljesítménybeli megfontolásai + alapján készültek.
  • -
  • A fájlrendszer pillanatképek (snapshotok) - lehetõvé teszik a rendszergazda számára, - hogy a fájlrendszer szabad területét - kihasználva pillanatképeket készítsen - biztonsági mentés céljából. - Szintén lehetséges az fsck háttérben - való futtatása, ezzel a rendszer - többfelhasználós módba léphet, - anélkül, hogy a - fájlrendszer-ellenõrzés kimaradást - okozna.
  • +
  • Az állományrendszerek + pillanatképei lehetõvé teszik a + rendszergazdák számára, hogy az + állományrendszer szabad területét + kihasználva biztonsági mentés + céljából pillanatképeket + készítsen, de emellett ezen a módon + lehetõvé válik az + állományrendszer ellenõrzése a + háttérben, így a rendszer egy nagyobb + vizsgálat elvégzésekor + anélkül léphet + többfelhasználós módba, hogy ezzel + fennakadást okozna.
  • Az IP Security (IPsec) protokoll fejlett - hálózati biztonságot kínál, - és támogatja a következõ - generációs Internet Protokollt, az IPv6-ot. A FreeBSD - IPsec implementációja emellett támogat sok - kriptografikus gyorsító hardvert.
  • + hálózati biztonságot kínál + és támogatja az internet következõ + generációs protokollját, az IPv6-ot. A + &os; IPsec implementációja emellett + kriptografikus gyorsító hardverek + széles választékát + támogatja. -
  • Az IPv6 támogatás az alaprendszerben a - KAME IPv6 stack-en keresztül biztosítja, hogy a - FreeBSD minden nehézség nélkül - integrálható legyen a következõ - generációs hálózati környezetekbe. - Ezenkívül a FreeBSD mellé sok olyan szoftver - jár, amelyek támogatják az IPv6 - protokollt!
  • +
  • Az alaprendszerben található IPv6 + támogatás a KAME IPv6 + protokollkészleten keresztül biztosítja, + hogy a &os; minden nehézség nélkül + integrálható a jövõ + hálózati környezeteibe. + Ezenkívül a &os; mellé sok olyan szoftver + jár, amely támogatja az IPv6 protokollt!
  • A többszálú SMP technológia - támogatása képessé teszi a - rendszert arra, hogy párhuzamosan több processzoron - fusson a kernel, és a kernel preemption - segítségével a magas - priorítású kernel feladatok - elsõbbséget nyerhetnek a többi folyamattal szemben, - csökkentve ezzel a késedelmet. Ebbe beletartozik a - többszálas hálózati stack és - a többszálas virtuális memória - alrendszer. A FreeBSD 6.X óta a teljesen - párhuzamos VFS rendszerrel az UFS fájlrendszer - folyamatai is több processzoron futhatnak egyszerre, ezzel - megosztva a CPU-intenzív I/O folyamatokat.
  • + támogatásával a rendszer + képessé válik arra, hogy + párhuzamosan több processzoron futtassa a + rendszermagot, és a rendszermag + megszakíthatóságának + támogatásával a nagyobb + fontosságú rendszegmagbeli feladatok + elsõbbséget nyerhetnek a többi magbeli + folyamattal szemben, ezzel a csökkentve a korábban + ebbõl fakadó késedelmeket. Ide tartozik + többek közt a többszálon futó + hálózati protokollkészlet és a + többszálú virtuális + memória alrendszer. A &os; 6.X változata + óta a teljesen párhuzamos VFS rendszernek + köszönhetõen az UFS + állományrendszer folyamatai is képesek + egyszerre több processzoron futhatni, ezáltal is + lehetõvé téve a processzort + igénybevevõ I/O folyamatok + szétosztását. -
  • Az M:N szálazásnak (pthreads) - köszönhetõen a szálak - skálázható módon - futhatnak több processzoron, a szálakat - feltérképezve kis számú - Kernel Schedulable Entity-be. A Scheduler Activation - modell adoptálásával a szálazásos - megközelítés számos alkalmazás +
  • Az M:N típusú szálkezelés + (pthreads) révén a szálak + futtatása több processzoron is jól + skálázódik, leképezve a + felhasználói szintû szálakat kis + számú Kernel Schedulable Entity-kbe. A + Scheduler Activation modell + átvételével ez a típusú + szálkezelés számos alkalmazás speciális igényeinek eleget tesz.
  • -
  • A Netgraph hálózati stack - segítségével a fejlesztõk könnyen és - dinamikusan kibõvíthetik a hálózati - stacket egy különálló réteggel. - A Netgraph csomópontok új hálózati +
  • A Netgraph hálózati + protokollkészlet segítségével a + fejlesztõk egy jól átlátható + felépítésen keresztül könnyen + és dinamikusan képesek bõvíteni a + hálózati protokollokat. A Netgraph + csomópontok új hálózati szolgáltatások széles körét támogatják, mint például az encapsulation, tunneling szolgáltatásokat, a - titkosítást és a teljesítmény - átdolgozását. Ennek eredményeként - gyorsan és kevesebb hibával készülhet - prototípus és kereskedelmi telepítés a - kifejlesztett hálózati + titkosítást és a + teljesítmény átdolgozását. + Ennek eredményeként gyorsan és kevesebb + hibával készülhet prototípus + és kereskedelmi célú + telepítés a kifejlesztett hálózati szolgáltatásokból.
  • -
  • A megnövelt biztonság a TrustedBSD MAC - keretrendszerrel lehetõvé teszi, hogy - az operációs rendszer biztonsági - modelljét testreszabjuk specifikus környezetek - számára, a megerõsítõ - szabályoktól kezdve az elrendelt bizalmassági - címkézésig. Ezekbe a szabályokba - beletartozik például a Multi-Level Security - (MLS), vagy a Biba Integritásvédelem. - A kiegészítõ modulok közt - megtalálható a SEBSD, a Type Enforcement - egy FLASK alapú implementációja.
  • +
  • A TrustedBSD MAC keretrendszerrel + bõvíthetõ rendszermag szintû + védelem lehetõvé teszi, hogy az + operációs rendszer aktuális + biztonsági modelljét a + különbözõ környezetek szerint szabjuk + testre, a megerõsítõ + szabályoktól kezdve a kötelezõen + elrendelt bizalmassági címkézésig. + Ezekbe a szabályokba beletartozik például + a Multi-Level Security (MLS) vagy a Biba + integritásvédelem. A + kiegészítõ modulok közt + továbbá megtalálható még a + SEBSD és a Type Enforcement egy FLASK + alapú változata.
  • -
  • A TrustedBSD Audit egy biztonsági eseményeket - naplózó rendszer, amely jól - testreszabható, biztonságos és +
  • A TrustedBSD Audit egy biztonsági + eseményeket naplózó rendszer, amely + jól testreszabható, biztonságos és megbízható naplózó - szolgáltatást nyújt az audit szervizen - keresztül. Az adminisztrátorok - beállíhatják a naplózás - módját és részletességét - a felhasználók, a fájlmûveletek, a - végrehajtott parancsok, a hálózati - aktivitás, a bejelntkezések, és rengeteg - egyéb folyamat nyomonkövetéséhez. - Az audit csõvezetékek lehetõvé teszik az IDS - eszközök számára, hogy a kernel audit - szolgáltatásához csatlakozzanak és - feliratkozzanak az eseményekhez, amelyekre - szükségük van a biztonsági - monitorozáshoz. A FreeBSD támogatja az ipari - szabvány BSM audit fájlformátumot és - API-t, lehetõvé téve, hogy a meglévõ - BSM eszközöket használjuk - módosítás nélkül, vagy kis - mödosítással. Ez a formátum - használt Solaris és Mac OS X rendszereken, - biztosítva így az interoperabilitást és - az egységesített elemzést.
  • + szolgáltatást nyújt az audit + szolgáltatáson keresztül. A + rendszergazdák a felhasználók, az + állománymûveletek, a végrehajtott + parancsok, a hálózati aktivitás, a + bejelntkezések és rengeteg egyéb folyamat + nyomonkövetéséhez be tudják + állítani a naplózás + módját és + részletességét. Az + audit-csõvezetékek lehetõvé teszik az + IDS eszközök számára, hogy a + rendszermag audit szolgáltatásához + csatlakozzanak és feliratkozzanak olyan + eseményekhez, amelyekre szükségük van + a biztonsági felügyelet + ellátásához. A &os; támogatja az + ipari szabványnak számító BSM + audit állományformátumot és API-t, + ezáltal lehetõvé teszi, hogy + meglévõ BSM eszközöket + használjunk módosítás + nélkül, vagy éppen kisebb + mödosításokkal. Ezt a formátumot + használjuk Solaris és Mac OS X + rendszereken is, így biztosítják az + iménti rendszerek közti + átjárhatóságot és az + egységesített elemzést. -
  • A GEOM moduláris lemezkezelõ réteg - segítségével gyorsan kifejleszthetõk - új lemezkezelõ szolgáltatások és - könnyen integrálhatók a FreeBSD lemezkezelõ - alrendszerébe. A GEOM egy megbízható modellt - biztosít a lemezek felfedezéséhez és - rétegezéséhez, könnyûvé - téve ezzel az olyan szolgáltatások - használatát, mint a RAID, vagy a - kötetkezelés.
  • +
  • A GEOM moduláris lemezkezelõ réteg + alkalmazásával új lemezkezelõ + szolgáltatásokat tudunk kifejleszteni és + könnyedén beilleszteni a &os; lemezkezelõ + alrendszerébe. A GEOM egy megbízható + modellt biztosít a lemezek + felderítéséhez és rétegbe + szervezéséhez, amivel így + egyszerûsíti az olyan szolgáltatások + használatát, mint például a RAID, + vagy éppen a kötetek kezelését.
  • -
  • A GEOM-Based Disk Encryption (GBDE) egy erõs - kriptográfiai védelmet nyújt a GEOM - keretrendszer használatával. Képes - védeni fájlrendszereket, swap eszközöket, - vagy egyéb tároló médiát.
  • +
  • A GEOM-alapú lemeztitkosítás + (GBDE) a GEOM keretrendszer használatán + keresztül nyújt egy erõs kriptográfiai + védelmet. Képes + állományrendszerek, + lapozóeszközök vagy más egyéb + tárolóeszközök védelmét + ellátni.
  • -
  • A Kernel Queues segítségével - az alkalmazások hatékonyabban válaszolhatnak sok - aszinkron eseményre, mint például a - fájl- és socket I/O, növelve ezzel az - alkalmazás és a rendszer - teljesítményét.
  • +
  • A Kernel Queues segítségével az + alkalmazások hatékonyabban képesek + válaszolni a különbözõ + típusú aszinkron eseményekre, mint + például az állomány- és + socket I/O, ezzel is növelve az adott alkalmazás + és a rendszer teljesítményét.
  • -
  • Az Accept Filters alrendszer a kapcsolat-intenzív - szolgáltatások, mint pl. - webszerverek számára lehetõvé teszi, hogy - a funkcionalitásuk egy részét a kernelben +
  • Az Accept Filters alrendszer az olyan + kapcsolatintenzív szolgáltatások, mint + például webszerverek számára + lehetõvé teszi, hogy a feladataik egy + részét a rendszermagon belül futtassák, növelve ezzel a teljesítményt.
-

A FreeBSD rengeteg biztonsági funkcióval rendelkezik, - hogy megvédje a hálózatokat és a - kiszolgálókat.

+

A &os; rengeteg biztonsági funkcióval rendelkezik + a hálózatok és kiszolgálók + védelmére.

-

A FreeBSD fejlesztõk ugyanúgy törõdnek a - biztonsággal is, mint a teljesítménnyel és - a stabilitással. A FreeBSD a kernel szintjén - támogatja az alapos IP tûzfalazást és - egyéb szolgáltatásokat is, mint +

A &os; fejlesztõi ugyanúgy törõdnek a + biztonsággal akár a teljesítménnyel + vagy a megbízhatósággal. A &os; + rendszermag szintjén támogatja az + állapottartó IP-tûzfalakat és + más egyéb szolgáltatásokat is, mint például az IP proxy - átjárókat, hozzáférési - listákat, mandatory acces controlt, jail - alapú virtuális hosztok kezelését - és kriptográfiával védett lemezeket. - Ezek a funkciók felhasználhatók magas - biztonsági igényû szolgáltatások - védelmére a kölcsönösen bizalmatlan - szolgáltatók és ügyfelek között, - a hálózati szegmensek erõs - szeparálására, és - biztonságos információ-áramlást + átjárókat, + hozzáférés-vezérlési + listákat, a kötelezõ + hozzáférés-vezérlést, + jail alapú virtuális rendszerek + kezelését és a + titkosítással védett lemezeket. + Ezek a funkciók olyan magas biztonsági + igényû szolgáltatások + védelmére használhatóak fel, + például a kölcsönösen bizalmatlan + szolgáltatók és ügyfelek + között, vagy a hálózati szegmensek + megerõsített + elkülönítésére és + biztonságos + információáramlást biztosító csatornák létrehozására.

-

A FreeBSD ezenkívül támogat kriptográfiai - szoftvereket, biztonságos shelleket, Kerberos - authentikációt, jail-ekkel megvalósított - virtuális szervereket, chroot szolgáltatást a - szoftverek fájlrendszerhez való - hozzáférésének - korlátozására, biztonságos RPC - szolgáltatást és hozzáférési +

A &os; ezenkívül támogat + különbözõ kriptográfiai szoftvereket; + biztonságos shelleket; Kerberos alapú + hitelesítést; jailekkel + megvalósított ,,virtuális szervereket''; a + szolgáltatások chroot környezetbe + zárását, amellyel így + korlátozni tudjuk az állományrendszerek + elérést a szoftverek felõl; + biztonságos RPC szolgáltatást; a TCP + wrappereket támogató szoftverek + számára pedig + hozzáférés-vezérlési listákat a TCP wrappers-t támogató alkalmazások számára.

From owner-p4-projects@FreeBSD.ORG Wed Jul 30 17:08:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A0D01065672; Wed, 30 Jul 2008 17:08:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1779106567E for ; Wed, 30 Jul 2008 17:08:54 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E59718FC1A for ; Wed, 30 Jul 2008 17:08:54 +0000 (UTC) (envelope-from remko@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UH8sZZ096428 for ; Wed, 30 Jul 2008 17:08:54 GMT (envelope-from remko@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UH8sYN096426 for perforce@freebsd.org; Wed, 30 Jul 2008 17:08:54 GMT (envelope-from remko@freebsd.org) Date: Wed, 30 Jul 2008 17:08:54 GMT Message-Id: <200807301708.m6UH8sYN096426@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to remko@freebsd.org using -f From: Remko Lodder To: Perforce Change Reviews Cc: Subject: PERFORCE change 146251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 17:08:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=146251 Change 146251 by remko@remko_nakur on 2008/07/30 17:07:58 latest work in progress. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#6 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/jails/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -298,7 +298,7 @@ $D/etc.
- + Het koppelen van het &man.devfs.8; bestands systeem is niet vereist in een jail. Aan de andere kant, vrijwel elke applicatie heeft toegang nodig tot minstens @@ -307,7 +307,7 @@ apparaten te controleren binnenin een jail, omdat incorrecte instellingen een aanvaller de mogelijkheid kunnen geven om vervelende dingen in de jail te doen. De controle over - &man.defvs.8; wordt gedaan door middel van rulesets, welke + &man.devfs.8; wordt gedaan door middel van rulesets, welke beschreven worden in de &man.devfs.8; en &man.devfs.conf.5; handleidingen. @@ -364,28 +364,123 @@ Voor een complete lijst van beschikbare opties, zie de &man.rc.conf.5; handleiding. -
+ +
- Het /etc/rc.d/jail bestand kan worden - gebruikt om jails handmatig te starten en te stoppen, mits er - een overeenkomstige set regels bestaat in - /etc/rc.conf. + Het /etc/rc.d/jail bestand kan worden + gebruikt om jails handmatig te starten en te stoppen, mits er + een overeenkomstige set regels bestaat in + /etc/rc.conf. - &prompt.root; /etc/rc.d/jail start www + &prompt.root; /etc/rc.d/jail start www &prompt.root; /etc/rc.d/jail stop www + Er is op dit moment geen nette methode om een jail te + stoppen. Dit komt omdat de benodigde applicaties die een + nette afsluiting verzorgen, niet beschikbaar zijn in een + jail. De beste manier om een jail af te sluiten is door + het volgende commando van binnenin de jail uit te voeren + of door middel van het &man.jexec.8; commando: + + &prompt.root; sh /etc/rc.shutdown + + Meer informatie over dit alles kan gevonden worden in de + &man.jail.8; handleiding. - * Optimaliseren en administratie + Optimaliseren en administratie + + Er zijn meerdere opties beschikbaar die ingesteld kunnen + worden voor elke jail, en er zijn meerdere mogelijkheden om een + &os; host systeem te combineren met jails om een hoger nivo van + applicaties te verkrijgen. Deze sectie presenteert: + + + + Een aantal opties zijn beschikbaar voor het optimaliseren + van het gedrag en beveiligings beperkingen die geimplementeerd + worden in een jail. + - Wordt nog vertaald. + + Een aantal hoger nivo applicaties die gebruikt worden voor + het beheren van jails, welke beschikbaar zijn via de &os; Ports + Collectie en kunnen gebruikt worden om een complete + jail-gebaseerde oplossing te creeëren. + + - * Systeem applicaties voor het optimaliser van jails onder + <title>Systeem applicaties voor het optimaliseren van jails onder &os; - Wordt nog vertaald. + Het goed kunnen optimaliseren een jail configuratie wordt + veelal gedaan door het instellen van &man.sysctl.8; variabelen. + Er bestaat een speciale subtak van sysctl voor het organiseren + van alle relevante opties: de security.jail.* + hierarchie binnen de &os; kernel opties. Hieronder staat een + lijst van de belangrijkste jail-gerelateerde sysctl variabelen, + met informatie over de standaard waardes. De benaming zou + zelf beschrijvend moeten zijn, maar voor meer informatie + kunnen de &man.jail.8; en &man.sysctl.8; handleidingen + geraadpleegd worden. + + + + security.jail.set_hostname_allowed: + 1 + + + + security.jail.socket_unixiproute_only: + 1 + + + + security.jail.sysvipc_allowed: + 1 + + + + security.jail.enforce_statfs: + 2 + + + + security.jail.allow_raw_sockets: + 0 + + + + security.jail.chflags_allowed: + 0 + + + + security.jail.jailed: 0 + + + + Deze variabelen kunnen door de systeem beheerder gebruikt + worden op het host systeem om limitaties + toe te voegen of te verwijderen, welke standaard opgedwongen + worden aan de root gebruiker. Let op, + een aantal beperkingen kan niet worden aangepast. De + root gebruiker mag geen bestandssystemen + koppelen of ontkoppelen binnenin een &man.jail.8;. De + root gebruiker mag ook geen &man.devfs.8; + rulesets laden of ontladen, firewall rules plaatsen of andere + taken uitvoeren die vereisen dat de in-kernel data wordt + aangepast, zoals het aanpassen van de + securelevel variabele in de kernel. + + Het basis systeem van &os; bevat een basis set van + applicaties voor het inzien van de actieve jails, en voor + het uitvoeren van administratieve commando's in een jail. + De &man.jls.8; en &man.jexec.8; commando's zijn onderdeel van + het basis systeem en kunnen gebruikt worden voor het + uitvoeren van de volgende simpele taken: From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:02:50 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5368106567E; Wed, 30 Jul 2008 19:02:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68E04106567B for ; Wed, 30 Jul 2008 19:02:50 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B5138FC1A for ; Wed, 30 Jul 2008 19:02:50 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJ2oLc008011 for ; Wed, 30 Jul 2008 19:02:50 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJ2oWl008009 for perforce@freebsd.org; Wed, 30 Jul 2008 19:02:50 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 30 Jul 2008 19:02:50 GMT Message-Id: <200807301902.m6UJ2oWl008009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146255 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:02:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=146255 Change 146255 by ed@ed_dull on 2008/07/30 19:02:00 IFC my clist changes. Affected files ... .. //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#3 integrate .. //depot/projects/mpsafetty/crypto/openssh/monitor_fdpass.c#2 integrate .. //depot/projects/mpsafetty/lib/libthread_db/libpthread_db.c#2 integrate .. //depot/projects/mpsafetty/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/mpsafetty/lib/libthread_db/thread_db.c#2 integrate .. //depot/projects/mpsafetty/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/mpsafetty/lib/libthread_db/thread_db_int.h#2 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/mpsafetty/sbin/routed/defs.h#2 integrate .. //depot/projects/mpsafetty/sbin/routed/if.c#2 integrate .. //depot/projects/mpsafetty/sbin/routed/main.c#2 integrate .. //depot/projects/mpsafetty/sbin/routed/output.c#2 integrate .. //depot/projects/mpsafetty/sbin/routed/rdisc.c#2 integrate .. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-1.src#2 integrate .. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-15.src#2 integrate .. //depot/projects/mpsafetty/share/misc/committers-ports.dot#3 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/mpsafetty/sys/amd64/ia32/ia32_signal.c#2 integrate .. //depot/projects/mpsafetty/sys/amd64/include/pcb.h#2 integrate .. //depot/projects/mpsafetty/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/mpsafetty/sys/kern/subr_clist.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/mpsafetty/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/mpsafetty/sys/pci/if_sis.c#2 integrate .. //depot/projects/mpsafetty/sys/sys/procfs.h#2 integrate .. //depot/projects/mpsafetty/sys/vm/vnode_pager.c#2 integrate .. //depot/projects/mpsafetty/tools/tools/editing/freebsd.vim#2 integrate .. //depot/projects/mpsafetty/usr.bin/cpio/cpio.c#3 integrate Differences ... ==== //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#3 (text+ko) ==== @@ -12,7 +12,11 @@ @emph{ ... } emphasis - warnings, stress, etc. This will be bracketed by underline characters in info files (_ ... _) and in italics in PDF & probably in - postscript & HTML. + postscript & HTML. +@strong{ ... } Similar to @emph{}, but the effect is to + bracket with asterisks in info files (* ... *) + and in bold in PDF & probably in postscript & + HTML. @noindent Suppresses indentation of the following paragraph. This can ocassionally be useful after examples and the like. @@ -22,7 +26,7 @@ Preformatted text should be marked as such (use @example... there may be other ways) since many of the final output formats can use relational fonts otherwise -and marking it as formatted should restrict it to a fixed wiidth font. Keep +and marking it as formatted should restrict it to a fixed width font. Keep this sort of text to 80 characters or less per line since larger may not be properly viewable for some info users. @@ -33,5 +37,10 @@ Use lots of index markers. Scan the index for the current style. Try to reuse an existing entry if the meaning is similar. +`makeinfo' 3.11 or greater is required for output generation since earlier +versions do not support the @ifnottex & @ifnothtml commands. There may be +other commands used in `cvs.texinfo' that are unsupported by earlier versions +of `makeinfo' by the time you read this. + For more on using texinfo docs, see the `info texinfo' documentation or http://www.gnu.org/manual/texinfo/texinfo.html . ==== //depot/projects/mpsafetty/crypto/openssh/monitor_fdpass.c#2 (text+ko) ==== @@ -49,7 +49,10 @@ char ch = '\0'; ssize_t n; #ifndef HAVE_ACCRIGHTS_IN_MSGHDR - char tmp[CMSG_SPACE(sizeof(int))]; + union { + struct cmsghdr hdr; + char buf[CMSG_SPACE(sizeof(int))]; + } cmsgbuf; struct cmsghdr *cmsg; #endif @@ -58,8 +61,8 @@ msg.msg_accrights = (caddr_t)&fd; msg.msg_accrightslen = sizeof(fd); #else - msg.msg_control = (caddr_t)tmp; - msg.msg_controllen = CMSG_LEN(sizeof(int)); + msg.msg_control = (caddr_t)&cmsgbuf.buf; + msg.msg_controllen = sizeof(cmsgbuf.buf); cmsg = CMSG_FIRSTHDR(&msg); cmsg->cmsg_len = CMSG_LEN(sizeof(int)); cmsg->cmsg_level = SOL_SOCKET; @@ -94,7 +97,10 @@ char ch; int fd; #ifndef HAVE_ACCRIGHTS_IN_MSGHDR - char tmp[CMSG_SPACE(sizeof(int))]; + union { + struct cmsghdr hdr; + char buf[CMSG_SPACE(sizeof(int))]; + } cmsgbuf; struct cmsghdr *cmsg; #endif @@ -107,8 +113,8 @@ msg.msg_accrights = (caddr_t)&fd; msg.msg_accrightslen = sizeof(fd); #else - msg.msg_control = tmp; - msg.msg_controllen = sizeof(tmp); + msg.msg_control = &cmsgbuf.buf; + msg.msg_controllen = sizeof(cmsgbuf.buf); #endif if ((n = recvmsg(sock, &msg, 0)) == -1) ==== //depot/projects/mpsafetty/lib/libthread_db/libpthread_db.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.16 2008/03/23 09:38:11 jeff Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.17 2008/07/30 00:59:19 marcel Exp $"); #include #include @@ -240,8 +240,7 @@ * mapped to user thread. */ while (pt != 0) { - ret = ps_pread(ta->ph, - pt + ta->thread_off_tcb, + ret = ps_pread(ta->ph, pt + ta->thread_off_tcb, &tcb_addr, sizeof(tcb_addr)); if (ret != 0) return (P2T(ret)); @@ -1075,16 +1074,15 @@ } td_err_e -pt_thr_tls_get_addr(const td_thrhandle_t *th, void *_linkmap, size_t offset, - void **address) +pt_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t _linkmap, size_t offset, + psaddr_t *address) { - char *obj_entry; const td_thragent_t *ta = th->th_ta; - psaddr_t tcb_addr, *dtv_addr; + psaddr_t dtv_addr, obj_entry, tcb_addr; int tls_index, ret; /* linkmap is a member of Obj_Entry */ - obj_entry = (char *)_linkmap - ta->thread_off_linkmap; + obj_entry = _linkmap - ta->thread_off_linkmap; /* get tlsindex of the object file */ ret = ps_pread(ta->ph, @@ -1106,8 +1104,8 @@ if (ret != 0) return (P2T(ret)); /* now get the object's tls block base address */ - ret = ps_pread(ta->ph, &dtv_addr[tls_index+1], address, - sizeof(*address)); + ret = ps_pread(ta->ph, dtv_addr + sizeof(void *) * (tls_index + 1), + address, sizeof(*address)); if (ret != 0) return (P2T(ret)); ==== //depot/projects/mpsafetty/lib/libthread_db/libthr_db.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.13 2008/03/22 05:40:44 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.14 2008/07/30 00:59:19 marcel Exp $"); #include #include @@ -216,7 +216,7 @@ return (P2T(ret)); /* Iterate through thread list to find pthread */ pt = (psaddr_t)thread_list.tqh_first; - while (pt != NULL) { + while (pt != 0) { ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp)); if (ret != 0) @@ -230,7 +230,7 @@ if (ret != 0) return (P2T(ret)); } - if (pt == NULL) + if (pt == 0) return (TD_NOTHR); th->th_ta = ta; th->th_tid = id; @@ -389,13 +389,13 @@ ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt, sizeof(pt)); if (ret != 0) return (P2T(ret)); - if (pt == NULL) + if (pt == 0) return (TD_NOMSG); /* * Take the event pointer, at the time, libthr only reports event * once a time, so it is not a link list. */ - pt_temp = NULL; + pt_temp = 0; ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); /* Read event info */ @@ -684,7 +684,7 @@ * once a time, so it is not a link list. */ if (pt == pt_temp) { - pt_temp = NULL; + pt_temp = 0; ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); } /* Clear event */ @@ -714,22 +714,21 @@ pt_validate(const td_thrhandle_t *th) { - if (th->th_tid == 0 || th->th_thread == NULL) + if (th->th_tid == 0 || th->th_thread == 0) return (TD_ERR); return (TD_OK); } static td_err_e -pt_thr_tls_get_addr(const td_thrhandle_t *th, void *_linkmap, size_t offset, - void **address) +pt_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t _linkmap, size_t offset, + psaddr_t *address) { - char *obj_entry; const td_thragent_t *ta = th->th_ta; - psaddr_t tcb_addr, *dtv_addr; + psaddr_t dtv_addr, obj_entry, tcb_addr; int tls_index, ret; /* linkmap is a member of Obj_Entry */ - obj_entry = (char *)_linkmap - ta->thread_off_linkmap; + obj_entry = _linkmap - ta->thread_off_linkmap; /* get tlsindex of the object file */ ret = ps_pread(ta->ph, @@ -750,8 +749,8 @@ if (ret != 0) return (P2T(ret)); /* now get the object's tls block base address */ - ret = ps_pread(ta->ph, &dtv_addr[tls_index+1], address, - sizeof(*address)); + ret = ps_pread(ta->ph, dtv_addr + sizeof(void *) * (tls_index+1), + address, sizeof(*address)); if (ret != 0) return (P2T(ret)); ==== //depot/projects/mpsafetty/lib/libthread_db/thread_db.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.5 2008/03/22 05:40:44 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.6 2008/07/30 00:59:19 marcel Exp $"); #include #include @@ -244,8 +244,8 @@ } td_err_e -td_thr_tls_get_addr(const td_thrhandle_t *th, void *linkmap, size_t offset, - void **address) +td_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t linkmap, size_t offset, + psaddr_t *address) { const td_thragent_t *ta = th->th_ta; return (ta->ta_ops->to_thr_tls_get_addr(th, linkmap, offset, address)); ==== //depot/projects/mpsafetty/lib/libthread_db/thread_db.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.6 2005/05/31 09:43:03 dfr Exp $ + * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.7 2008/07/30 00:59:19 marcel Exp $ */ #ifndef _THREAD_DB_H_ @@ -239,7 +239,8 @@ td_err_e td_thr_setfpregs(const td_thrhandle_t *, const prfpregset_t *); td_err_e td_thr_setgregs(const td_thrhandle_t *, const prgregset_t); td_err_e td_thr_validate(const td_thrhandle_t *); -td_err_e td_thr_tls_get_addr(const td_thrhandle_t *, void *, size_t, void **); +td_err_e td_thr_tls_get_addr(const td_thrhandle_t *, psaddr_t, size_t, + psaddr_t *); /* FreeBSD specific extensions. */ td_err_e td_thr_sstep(const td_thrhandle_t *, int); ==== //depot/projects/mpsafetty/lib/libthread_db/thread_db_int.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthread_db/thread_db_int.h,v 1.3 2005/05/31 09:43:03 dfr Exp $ + * $FreeBSD: src/lib/libthread_db/thread_db_int.h,v 1.4 2008/07/30 00:59:19 marcel Exp $ */ #ifndef _THREAD_DB_INT_H_ @@ -74,8 +74,8 @@ const prfpregset_t *); td_err_e (*to_thr_setgregs)(const td_thrhandle_t *, const prgregset_t); td_err_e (*to_thr_validate)(const td_thrhandle_t *); - td_err_e (*to_thr_tls_get_addr)(const td_thrhandle_t *, - void *, size_t, void **); + td_err_e (*to_thr_tls_get_addr)(const td_thrhandle_t *, psaddr_t, + size_t, psaddr_t *); /* FreeBSD specific extensions. */ td_err_e (*to_thr_sstep)(const td_thrhandle_t *, int); ==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#2 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.148 2008/06/20 17:26:34 thompsa Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.149 2008/07/30 16:22:52 sam Exp $ .\" -.Dd June 20, 2008 +.Dd July 30, 2008 .Dt IFCONFIG 8 .Os .Sh NAME @@ -848,13 +848,11 @@ depends on the region your adaptor was manufactured for. Setting the channel to -.Li 0 , -.Cm any , +.Li any , or .Cm - -will give you the default for your adaptor. -Some -adapters ignore this setting unless you are in ad-hoc mode. +will clear any desired channel and, if the device is marked up, +force a scan for a channel to operate on. Alternatively the frequency, in megahertz, may be specified instead of the channel number. .Pp ==== //depot/projects/mpsafetty/sbin/routed/defs.h#2 (text+ko) ==== @@ -28,11 +28,11 @@ * * @(#)defs.h 8.1 (Berkeley) 6/5/93 * - * $FreeBSD: src/sbin/routed/defs.h,v 1.18 2004/06/16 05:08:57 bms Exp $ + * $FreeBSD: src/sbin/routed/defs.h,v 1.19 2008/07/30 11:56:15 phk Exp $ */ #ifdef sgi -#ident "$FreeBSD: src/sbin/routed/defs.h,v 1.18 2004/06/16 05:08:57 bms Exp $" +#ident "$FreeBSD: src/sbin/routed/defs.h,v 1.19 2008/07/30 11:56:15 phk Exp $" #endif /* Definitions for RIPv2 routing process. @@ -121,21 +121,6 @@ #define _HAVE_SIN_LEN #endif -/* Turn on if IP_{ADD,DROP}_MEMBERSHIP and IP_MULTICAST_IF considers address - * within 0.0.0.0/8 as interface index. - */ -#ifdef __FreeBSD__ -#define MCAST_IFINDEX -#endif - -/* Turn on if IP_DROP_MEMBERSHIP and IP_ADD_MEMBERSHIP do not look at - * the dstaddr of point-to-point interfaces. - * #define MCAST_PPP_BUG - */ -#ifdef MCAST_IFINDEX -#undef MCAST_PPP_BUG -#endif - #define DAY (24*60*60) #define NEVER DAY /* a long time */ #define EPOCH NEVER /* bias time by this to avoid <0 */ ==== //depot/projects/mpsafetty/sbin/routed/if.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/routed/if.c,v 1.16 2005/12/20 18:18:37 maxim Exp $ + * $FreeBSD: src/sbin/routed/if.c,v 1.17 2008/07/30 11:56:15 phk Exp $ */ #include "defs.h" @@ -35,7 +35,7 @@ #ifdef __NetBSD__ __RCSID("$NetBSD$"); #elif defined(__FreeBSD__) -__RCSID("$FreeBSD: src/sbin/routed/if.c,v 1.16 2005/12/20 18:18:37 maxim Exp $"); +__RCSID("$FreeBSD: src/sbin/routed/if.c,v 1.17 2008/07/30 11:56:15 phk Exp $"); #else __RCSID("$Revision: 2.27 $"); #ident "$Revision: 2.27 $" @@ -452,7 +452,6 @@ static void ifdel(struct interface *ifp) { - struct ip_mreq m; struct interface *ifp1; @@ -491,25 +490,23 @@ ifdel(ifp1); } - if ((ifp->int_if_flags & IFF_MULTICAST) -#ifdef MCAST_PPP_BUG - && !(ifp->int_if_flags & IFF_POINTOPOINT) + if ((ifp->int_if_flags & IFF_MULTICAST) && rip_sock >= 0) { + struct group_req gr; + struct sockaddr_in *sin; + + memset(&gr, 0, sizeof(gr)); + gr.gr_interface = ifp->int_index; + sin = (struct sockaddr_in *)&gr.gr_group; + sin->sin_family = AF_INET; +#ifdef _HAVE_SIN_LEN + sin->sin_len = sizeof(struct sockaddr_in); #endif - && rip_sock >= 0) { - m.imr_multiaddr.s_addr = htonl(INADDR_RIP_GROUP); -#ifdef MCAST_IFINDEX - m.imr_interface.s_addr = htonl(ifp->int_index); -#else - m.imr_interface.s_addr = ((ifp->int_if_flags - & IFF_POINTOPOINT) - ? ifp->int_dstaddr - : ifp->int_addr); -#endif - if (setsockopt(rip_sock,IPPROTO_IP,IP_DROP_MEMBERSHIP, - &m, sizeof(m)) < 0 + sin->sin_addr.s_addr = htonl(INADDR_RIP_GROUP); + if (setsockopt(rip_sock, IPPROTO_IP, MCAST_LEAVE_GROUP, + &gr, sizeof(gr)) < 0 && errno != EADDRNOTAVAIL && !TRACEACTIONS) - LOGERR("setsockopt(IP_DROP_MEMBERSHIP RIP)"); + LOGERR("setsockopt(MCAST_LEAVE_GROUP RIP)"); if (rip_sock_mcast == ifp) rip_sock_mcast = 0; } ==== //depot/projects/mpsafetty/sbin/routed/main.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/routed/main.c,v 1.19 2006/11/05 14:49:47 trhodes Exp $ + * $FreeBSD: src/sbin/routed/main.c,v 1.20 2008/07/30 11:56:15 phk Exp $ */ #include "defs.h" @@ -45,7 +45,7 @@ __RCSID("$NetBSD$"); #include #elif defined(__FreeBSD__) -__RCSID("$FreeBSD: src/sbin/routed/main.c,v 1.19 2006/11/05 14:49:47 trhodes Exp $"); +__RCSID("$FreeBSD: src/sbin/routed/main.c,v 1.20 2008/07/30 11:56:15 phk Exp $"); #else __RCSID("$Revision: 2.31 $"); #ident "$Revision: 2.31 $" @@ -713,25 +713,23 @@ static void rip_mcast_on(struct interface *ifp) { - struct ip_mreq m; + struct group_req gr; + struct sockaddr_in *sin; if (!IS_RIP_IN_OFF(ifp->int_state) && (ifp->int_if_flags & IFF_MULTICAST) -#ifdef MCAST_PPP_BUG - && !(ifp->int_if_flags & IFF_POINTOPOINT) -#endif && !(ifp->int_state & IS_ALIAS)) { - m.imr_multiaddr.s_addr = htonl(INADDR_RIP_GROUP); -#ifdef MCAST_IFINDEX - m.imr_interface.s_addr = htonl(ifp->int_index); -#else - m.imr_interface.s_addr = ((ifp->int_if_flags & IFF_POINTOPOINT) - ? ifp->int_dstaddr - : ifp->int_addr); + memset(&gr, 0, sizeof(gr)); + gr.gr_interface = ifp->int_index; + sin = (struct sockaddr_in *)&gr.gr_group; + sin->sin_family = AF_INET; +#ifdef _HAVE_SIN_LEN + sin->sin_len = sizeof(struct sockaddr_in); #endif - if (setsockopt(rip_sock,IPPROTO_IP, IP_ADD_MEMBERSHIP, - &m, sizeof(m)) < 0) - LOGERR("setsockopt(IP_ADD_MEMBERSHIP RIP)"); + sin->sin_addr.s_addr = htonl(INADDR_RIP_GROUP); + if (setsockopt(rip_sock, IPPROTO_IP, MCAST_JOIN_GROUP, + &gr, sizeof(gr)) < 0) + LOGERR("setsockopt(MCAST_JOIN_GROUP RIP)"); } } ==== //depot/projects/mpsafetty/sbin/routed/output.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/routed/output.c,v 1.12 2005/05/31 20:28:48 stefanf Exp $ + * $FreeBSD: src/sbin/routed/output.c,v 1.13 2008/07/30 11:56:15 phk Exp $ */ #include "defs.h" @@ -34,7 +34,7 @@ #ifdef __NetBSD__ __RCSID("$NetBSD$"); #elif defined(__FreeBSD__) -__RCSID("$FreeBSD: src/sbin/routed/output.c,v 1.12 2005/05/31 20:28:48 stefanf Exp $"); +__RCSID("$FreeBSD: src/sbin/routed/output.c,v 1.13 2008/07/30 11:56:15 phk Exp $"); #else __RCSID("$Revision: 2.27 $"); #ident "$Revision: 2.27 $" @@ -104,7 +104,6 @@ int flags; const char *msg; int res; - naddr tgt_mcast; int soc; int serrno; @@ -150,31 +149,17 @@ } else { msg = "Send mcast"; if (rip_sock_mcast != ifp) { -#ifdef MCAST_IFINDEX - /* specify ifindex */ - tgt_mcast = htonl(ifp->int_index); -#else -#ifdef MCAST_PPP_BUG - /* Do not specify the primary interface - * explicitly if we have the multicast - * point-to-point kernel bug, since the - * kernel will do the wrong thing if the - * local address of a point-to-point link - * is the same as the address of an ordinary - * interface. - */ - if (ifp->int_addr == myaddr) { - tgt_mcast = 0; - } else -#endif - tgt_mcast = ifp->int_addr; -#endif + struct ip_mreqn mreqn; + + memset(&mreqn, 0, sizeof(struct ip_mreqn)); + mreqn.imr_ifindex = ifp->int_index; if (0 > setsockopt(rip_sock, - IPPROTO_IP, IP_MULTICAST_IF, - &tgt_mcast, - sizeof(tgt_mcast))) { + IPPROTO_IP, + IP_MULTICAST_IF, + &mreqn, + sizeof(mreqn))) { serrno = errno; - LOGERR("setsockopt(rip_sock," + LOGERR("setsockopt(rip_sock, " "IP_MULTICAST_IF)"); errno = serrno; ifp = 0; ==== //depot/projects/mpsafetty/sbin/routed/rdisc.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sbin/routed/rdisc.c,v 1.11 2005/05/31 20:28:49 stefanf Exp $ + * $FreeBSD: src/sbin/routed/rdisc.c,v 1.12 2008/07/30 11:56:15 phk Exp $ */ #include "defs.h" @@ -37,7 +37,7 @@ #ifdef __NetBSD__ __RCSID("$NetBSD$"); #elif defined(__FreeBSD__) -__RCSID("$FreeBSD: src/sbin/routed/rdisc.c,v 1.11 2005/05/31 20:28:49 stefanf Exp $"); +__RCSID("$FreeBSD: src/sbin/routed/rdisc.c,v 1.12 2008/07/30 11:56:15 phk Exp $"); #else __RCSID("$Revision: 2.27 $"); #ident "$Revision: 2.27 $" @@ -168,7 +168,8 @@ set_rdisc_mg(struct interface *ifp, int on) /* 0=turn it off */ { - struct ip_mreq m; + struct group_req gr; + struct sockaddr_in *sin; if (rdisc_sock < 0) { /* Create the raw socket so that we can hear at least @@ -185,39 +186,35 @@ return; } -#ifdef MCAST_PPP_BUG - if (ifp->int_if_flags & IFF_POINTOPOINT) - return; + memset(&gr, 0, sizeof(gr)); + gr.gr_interface = ifp->int_index; + sin = (struct sockaddr_in *)&gr.gr_group; + sin->sin_family = AF_INET; +#ifdef _HAVE_SIN_LEN + sin->sin_len = sizeof(struct sockaddr_in); #endif - memset(&m, 0, sizeof(m)); -#ifdef MCAST_IFINDEX - m.imr_interface.s_addr = htonl(ifp->int_index); -#else - m.imr_interface.s_addr = ((ifp->int_if_flags & IFF_POINTOPOINT) - ? ifp->int_dstaddr - : ifp->int_addr); -#endif + if (supplier || (ifp->int_state & IS_NO_ADV_IN) || !on) { /* stop listening to advertisements */ if (ifp->int_state & IS_ALL_HOSTS) { - m.imr_multiaddr.s_addr = htonl(INADDR_ALLHOSTS_GROUP); + sin->sin_addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP); if (setsockopt(rdisc_sock, IPPROTO_IP, - IP_DROP_MEMBERSHIP, - &m, sizeof(m)) < 0) - LOGERR("IP_DROP_MEMBERSHIP ALLHOSTS"); + MCAST_LEAVE_GROUP, + &gr, sizeof(gr)) < 0) + LOGERR("MCAST_LEAVE_GROUP ALLHOSTS"); ifp->int_state &= ~IS_ALL_HOSTS; } } else if (!(ifp->int_state & IS_ALL_HOSTS)) { /* start listening to advertisements */ - m.imr_multiaddr.s_addr = htonl(INADDR_ALLHOSTS_GROUP); - if (setsockopt(rdisc_sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, - &m, sizeof(m)) < 0) { - LOGERR("IP_ADD_MEMBERSHIP ALLHOSTS"); + sin->sin_addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP); + if (setsockopt(rdisc_sock, IPPROTO_IP, MCAST_JOIN_GROUP, + &gr, sizeof(gr)) < 0) { + LOGERR("MCAST_JOIN_GROUP ALLHOSTS"); } else { ifp->int_state |= IS_ALL_HOSTS; } @@ -229,21 +226,21 @@ /* stop listening to solicitations */ if (ifp->int_state & IS_ALL_ROUTERS) { - m.imr_multiaddr.s_addr=htonl(INADDR_ALLROUTERS_GROUP); + sin->sin_addr.s_addr = htonl(INADDR_ALLROUTERS_GROUP); if (setsockopt(rdisc_sock, IPPROTO_IP, - IP_DROP_MEMBERSHIP, - &m, sizeof(m)) < 0) - LOGERR("IP_DROP_MEMBERSHIP ALLROUTERS"); + MCAST_LEAVE_GROUP, + &gr, sizeof(gr)) < 0) + LOGERR("MCAST_LEAVE_GROUP ALLROUTERS"); ifp->int_state &= ~IS_ALL_ROUTERS; } } else if (!(ifp->int_state & IS_ALL_ROUTERS)) { /* start hearing solicitations */ - m.imr_multiaddr.s_addr=htonl(INADDR_ALLROUTERS_GROUP); - if (setsockopt(rdisc_sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, - &m, sizeof(m)) < 0) { - LOGERR("IP_ADD_MEMBERSHIP ALLROUTERS"); + sin->sin_addr.s_addr = htonl(INADDR_ALLROUTERS_GROUP); + if (setsockopt(rdisc_sock, IPPROTO_IP, MCAST_JOIN_GROUP, + &gr, sizeof(gr)) < 0) { + LOGERR("MCAST_JOIN_GROUP ALLROUTERS"); } else { ifp->int_state |= IS_ALL_ROUTERS; } @@ -699,7 +696,6 @@ struct sockaddr_in rsin; int flags; const char *msg; - naddr tgt_mcast; memset(&rsin, 0, sizeof(rsin)); @@ -736,27 +732,14 @@ } if (rdisc_sock_mcast != ifp) { /* select the right interface. */ -#ifdef MCAST_IFINDEX - /* specify ifindex */ - tgt_mcast = htonl(ifp->int_index); -#else -#ifdef MCAST_PPP_BUG - /* Do not specify the primary interface explicitly - * if we have the multicast point-to-point kernel - * bug, since the kernel will do the wrong thing - * if the local address of a point-to-point link - * is the same as the address of an ordinary - * interface. - */ - if (ifp->int_addr == myaddr) { - tgt_mcast = 0; - } else -#endif - tgt_mcast = ifp->int_addr; -#endif + struct ip_mreqn mreqn; + + memset(&mreqn, 0, sizeof(struct ip_mreqn)); + mreqn.imr_ifindex = ifp->int_index; if (0 > setsockopt(rdisc_sock, IPPROTO_IP, IP_MULTICAST_IF, - &tgt_mcast, sizeof(tgt_mcast))) { + &mreqn, + sizeof(mreqn))) { LOGERR("setsockopt(rdisc_sock," "IP_MULTICAST_IF)"); rdisc_sock_mcast = 0; ==== //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-1.src#2 (text+ko) ==== @@ -2,7 +2,7 @@ # # (Based on the Swedish sv_SE.ISO_8859-1) # -# $FreeBSD: src/share/colldef/no_NO.ISO8859-1.src,v 1.1 2008/07/28 21:33:34 des Exp $ +# $FreeBSD: src/share/colldef/no_NO.ISO8859-1.src,v 1.2 2008/07/30 15:37:13 des Exp $ # charmap map.ISO8859-1 order \ @@ -21,9 +21,10 @@ B;(C,);(D,);(E,,,>,);\ F;G;H;(I,,,>,);\ J;...;M;(N,);(O,,,,>);\ - P;...;T;(U,,,>,);\ - V;W;X;(Y,);Z;(,);(,);;\ + P;...;T;(U,,,>);\ + V;W;X;(Y,,);Z;\ ;\ + (,);(,);;\ # [;\\;];^;<':>;_;<'m>;<''>;`;\ # small @@ -31,9 +32,10 @@ b;(c,);(d,);(e,,,>,);\ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,,>);\ - p;...;t;(u,,,>,);\ - v;w;x;(y,,);z;(,);(,);;\ + p;...;t;(u,,,>);\ + v;w;x;(y,,,);z;\ ;\ + (,);(,);;\ # \{;;|;;\};~;<.M>;;;
;\ # remains ==== //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-15.src#2 (text+ko) ==== @@ -2,7 +2,7 @@ # # (Based on the Swedish sv_SE.ISO_8859-15) # -# $FreeBSD: src/share/colldef/no_NO.ISO8859-15.src,v 1.1 2008/07/28 21:33:34 des Exp $ +# $FreeBSD: src/share/colldef/no_NO.ISO8859-15.src,v 1.2 2008/07/30 15:37:13 des Exp $ # charmap map.ISO8859-15 order \ @@ -21,9 +21,10 @@ B;(C,);(D,);(E,,,>,);\ F;G;H;(I,,,>,);\ J;...;M;(N,);(O,,,,>,);\ - P;Q;R;(S,);T;(U,,,>,);\ - V;W;X;(Y,,);(Z,);(,);(,);;\ + P;Q;R;(S,);T;(U,,,>);\ + V;W;X;(Y,,,);(Z,);\ ;\ + (,);(,);;\ # [;\\;];^;_;<'m>;`;\ # small @@ -31,9 +32,10 @@ b;(c,);(d,);(e,,,>,);\ f;g;h;(i,,,>,);\ j;...;m;(n,);(o,,,,>,);\ - p;q;r;(s,,);t;(u,,,>,);\ - v;w;x;(y,,);(z,);(,);(,);;\ + p;q;r;(s,,);t;(u,,,>);\ + v;w;x;(y,,,);(z,);\ ;\ + (,);(,);;\ # \{;;|;\};~;<.M>;;;
;\ # remains ==== //depot/projects/mpsafetty/share/misc/committers-ports.dot#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.72 2008/07/23 01:37:04 pgollucci Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.73 2008/07/30 01:05:13 rnoland Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -127,6 +127,7 @@ philip [label="Philip Paeps\nphilip@FreeBSD.org\n2005/10/19"] pgollucci [label="Philip M. Gollucci\npgollucci@FreeBSD.org\n2008/07/21"] rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"] +rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"] sat [label="Andrew Pantyukhin\nsat@FreeBSD.org\n2006/05/06"] sem [label="Sergey Matveychuk\nsem@FreeBSD.org\n2004/07/07"] sergei [label="Sergei Kolobov\nsergei@FreeBSD.org\n2003/10/21"] @@ -211,6 +212,7 @@ garga -> acm garga -> alepulver garga -> mm +garga -> rnoland garga -> vd garga -> wxs garga -> xride ==== //depot/projects/mpsafetty/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $ */ #include @@ -113,8 +113,8 @@ movq PCB_GSBASE(%r8),%r10 testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz store_gs /* static predict not taken */ -done_store_gs: + jnz store_seg +done_store_seg: testl $PCB_DBREGS,PCB_FLAGS(%r8) jnz store_dr /* static predict not taken */ @@ -176,6 +176,10 @@ testl $TDP_KTHREAD,TD_PFLAGS(%rsi) jnz do_kthread + testl $PCB_32BIT,PCB_FLAGS(%r8) + jnz load_seg +done_load_seg: + cmpq PCB_FSBASE(%r8),%r9 jz 1f /* Restore userland %fs */ @@ -184,7 +188,6 @@ movl PCB_FSBASE+4(%r8),%edx wrmsr 1: - cmpq PCB_GSBASE(%r8),%r10 jz 2f /* Restore userland %gs */ @@ -193,8 +196,8 @@ movl PCB_GSBASE+4(%r8),%edx wrmsr 2: + do_tss: - /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax movq %r8, PCPU(RSP0) @@ -208,10 +211,6 @@ jnz load_dr /* static predict not taken */ done_load_dr: - testl $PCB_32BIT,PCB_FLAGS(%r8) - jnz load_gs /* static predict not taken */ -done_load_gs: - /* Restore context. */ movq PCB_R15(%r8),%r15 movq PCB_R14(%r8),%r14 @@ -243,23 +242,35 @@ movq %r10,PCB_GSBASE(%r8) jmp do_tss -store_gs: +store_seg: movl %gs,PCB_GS(%r8) - movq PCB_GS32P(%r8),%rax + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + jmp done_store_seg +2: movq PCB_GS32P(%r8),%rax movq (%rax),%rax movq %rax,PCB_GS32SD(%r8) - jmp done_store_gs + jmp 1b -load_gs: +load_seg: + testl $PCB_GS32BIT,PCB_FLAGS(%r8) + jnz 2f +1: movl $MSR_GSBASE,%ecx + rdmsr + movl PCB_GS(%r8),%gs + wrmsr + movl PCB_DS(%r8),%ds + movl PCB_ES(%r8),%es + movl PCB_FS(%r8),%fs + jmp done_load_seg /* Restore userland %gs while preserving kernel gsbase */ - movq PCB_GS32P(%r8),%rax +2: movq PCB_GS32P(%r8),%rax movq PCB_GS32SD(%r8),%rcx movq %rcx,(%rax) - movl $MSR_GSBASE,%ecx - rdmsr - movl PCB_GS(%r8),%gs - wrmsr - jmp done_load_gs + jmp 1b store_dr: movq %dr7,%rax /* yes, do the save */ ==== //depot/projects/mpsafetty/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -140,6 +140,7 @@ ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:07:56 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5AB71065678; Wed, 30 Jul 2008 19:07:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A97361065674 for ; Wed, 30 Jul 2008 19:07:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9CD528FC20 for ; Wed, 30 Jul 2008 19:07:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJ7tYZ009555 for ; Wed, 30 Jul 2008 19:07:55 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJ7tGK009553 for perforce@freebsd.org; Wed, 30 Jul 2008 19:07:55 GMT (envelope-from trasz@freebsd.org) Date: Wed, 30 Jul 2008 19:07:55 GMT Message-Id: <200807301907.m6UJ7tGK009553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 146256 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:07:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=146256 Change 146256 by trasz@trasz_traszkan on 2008/07/30 19:07:29 Style fixes, as suggested by pjd@. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 (text+ko) ==== @@ -3555,7 +3555,7 @@ /* Mostly taken from common/syscall/acl.c. */ vsecattr.vsa_mask = VSA_ACE | VSA_ACECNT; - if (error = zfs_getsecattr(ap->a_vp, &vsecattr, 0, CRED())) + if (error = zfs_getsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred)) return (error); aclbsize = vsecattr.vsa_aclcnt * sizeof (ace_t); @@ -3566,16 +3566,16 @@ } error = acl_from_aces(ap->a_aclp, vsecattr.vsa_aclentp, vsecattr.vsa_aclcnt); - if (error) + if (error != 0) goto errout; - if (vsecattr.vsa_aclcnt) + if (vsecattr.vsa_aclcnt != NULL) kmem_free(vsecattr.vsa_aclentp, vsecattr.vsa_aclentsz); return (0); errout: - if (aclbsize && vsecattr.vsa_aclentp) + if (aclbsize != NULL && vsecattr.vsa_aclentp != NULL) kmem_free(vsecattr.vsa_aclentp, aclbsize); return (error); } @@ -3601,39 +3601,30 @@ /* Mostly taken from common/syscall/acl.c. */ error = VOP_ACCESS(ap->a_vp, VADMIN, ap->a_cred, ap->a_td); - if (error) + if (error != 0) return (error); if (ap->a_aclp->acl_cnt < 1 || ap->a_aclp->acl_cnt > MAX_ACL_ENTRIES) return (EINVAL); vsecattr.vsa_mask = VSA_ACE; - aclbsize = ap->a_aclp->acl_cnt * sizeof (ace_t); + aclbsize = ap->a_aclp->acl_cnt * sizeof(ace_t); vsecattr.vsa_aclentp = kmem_alloc(aclbsize, KM_SLEEP); aaclp = vsecattr.vsa_aclentp; vsecattr.vsa_aclentsz = aclbsize; - error = aces_from_acl(vsecattr.vsa_aclentp, &(vsecattr.vsa_aclcnt), ap->a_aclp); - if (error) { + error = aces_from_acl(vsecattr.vsa_aclentp, &vsecattr.vsa_aclcnt, ap->a_aclp); + if (error != 0) { kmem_free(aaclp, aclbsize); return (EINVAL); } -#if 0 - (void) VOP_RWLOCK(ap->a_vp, V_WRITELOCK_TRUE, NULL); -#endif - if (error = zfs_setsecattr(ap->a_vp, &vsecattr, 0, CRED())) { + if (error = zfs_setsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred)) { kmem_free(aaclp, aclbsize); -#if 0 - VOP_RWUNLOCK(ap->a_vp, V_WRITELOCK_TRUE, NULL); -#endif return (error); } + kmem_free(aaclp, aclbsize); -#if 0 - VOP_RWUNLOCK(ap->a_vp, V_WRITELOCK_TRUE, NULL); -#endif - return (0); } From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:12:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 469F3106567C; Wed, 30 Jul 2008 19:12:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A6A71065677 for ; Wed, 30 Jul 2008 19:12:00 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D82728FC13 for ; Wed, 30 Jul 2008 19:11:59 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJBx3H009907 for ; Wed, 30 Jul 2008 19:11:59 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJBxVr009905 for perforce@freebsd.org; Wed, 30 Jul 2008 19:11:59 GMT (envelope-from ed@FreeBSD.org) Date: Wed, 30 Jul 2008 19:11:59 GMT Message-Id: <200807301911.m6UJBxVr009905@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 146257 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:12:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=146257 Change 146257 by ed@ed_dull on 2008/07/30 19:11:00 In mpsafetty, we don't make use of lbolt anymore. Remove it in this branch, so I can integrate it during the mpsafetty import. Affected files ... .. //depot/projects/mpsafetty/sys/kern/kern_synch.c#2 edit .. //depot/projects/mpsafetty/sys/sys/kernel.h#3 edit Differences ... ==== //depot/projects/mpsafetty/sys/kern/kern_synch.c#2 (text+ko) ==== @@ -70,11 +70,9 @@ NULL); int hogticks; -int lbolt; static int pause_wchan; static struct callout loadav_callout; -static struct callout lbolt_callout; struct loadavg averunnable = { {0, 0, 0}, FSCALE }; /* load average, of runnable procs */ @@ -93,7 +91,6 @@ SYSCTL_INT(_kern, OID_AUTO, fscale, CTLFLAG_RD, 0, FSCALE, ""); static void loadav(void *arg); -static void lboltcb(void *arg); void sleepinit(void) @@ -136,8 +133,8 @@ #endif WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Sleeping on \"%s\"", wmesg); - KASSERT(timo != 0 || mtx_owned(&Giant) || lock != NULL || - ident == &lbolt, ("sleeping without a lock")); + KASSERT(timo != 0 || mtx_owned(&Giant) || lock != NULL, + ("sleeping without a lock")); KASSERT(p != NULL, ("msleep1")); KASSERT(ident != NULL && TD_IS_RUNNING(td), ("msleep")); if (lock != NULL) @@ -198,7 +195,7 @@ * stopped, then td will no longer be on a sleep queue upon * return from cursig(). */ - sleepq_add(ident, ident == &lbolt ? NULL : lock, wmesg, flags, 0); + sleepq_add(ident, lock, wmesg, flags, 0); if (timo) sleepq_set_timeout(ident, timo); if (lock != NULL && class->lc_flags & LC_SLEEPABLE) { @@ -509,23 +506,14 @@ loadav, NULL); } -static void -lboltcb(void *arg) -{ - wakeup(&lbolt); - callout_reset(&lbolt_callout, hz, lboltcb, NULL); -} - /* ARGSUSED */ static void synch_setup(void *dummy) { callout_init(&loadav_callout, CALLOUT_MPSAFE); - callout_init(&lbolt_callout, CALLOUT_MPSAFE); /* Kick off timeout driven events by calling first time. */ loadav(NULL); - lboltcb(NULL); } /* ==== //depot/projects/mpsafetty/sys/sys/kernel.h#3 (text+ko) ==== @@ -69,7 +69,6 @@ extern int profhz; /* profiling clock's frequency */ extern int profprocs; /* number of process's profiling */ extern int ticks; -extern int lbolt; /* once a second sleep address */ #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:26:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF4A3106567E; Wed, 30 Jul 2008 19:26:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B33EF1065678 for ; Wed, 30 Jul 2008 19:26:14 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6D5A8FC15 for ; Wed, 30 Jul 2008 19:26:14 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJQEQ5011113 for ; Wed, 30 Jul 2008 19:26:14 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJQErF011111 for perforce@freebsd.org; Wed, 30 Jul 2008 19:26:14 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 30 Jul 2008 19:26:14 GMT Message-Id: <200807301926.m6UJQErF011111@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146260 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:26:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=146260 Change 146260 by rpaulo@rpaulo_zoo on 2008/07/30 19:25:30 Don't break ABI more than we need. Style changes. Affected files ... .. //depot/projects/tcpecn/netinet/tcp_syncache.c#9 edit .. //depot/projects/tcpecn/netinet/tcp_var.h#9 edit Differences ... ==== //depot/projects/tcpecn/netinet/tcp_syncache.c#9 (text+ko) ==== @@ -129,7 +129,9 @@ u_int8_t sc_ip_tos; /* IPv4 TOS */ u_int8_t sc_requested_s_scale:4, sc_requested_r_scale:4; + u_int_8_t _pad1; u_int16_t sc_flags; + u_int16_t _pad2; #define SCF_NOOPT 0x01 /* no TCP options */ #define SCF_WINSCALE 0x02 /* negotiated window scaling */ #define SCF_TIMESTAMP 0x04 /* negotiated timestamps */ @@ -1237,7 +1239,7 @@ sc->sc_flags |= SCF_NOOPT; if ((th->th_flags & (TH_ECE|TH_CWR)) && tcp_do_ecn) sc->sc_flags |= SCF_ECN; - + if (tcp_syncookies) { syncookie_generate(sch, sc, &flowtmp); #ifdef INET6 @@ -1379,7 +1381,7 @@ th->th_flags |= TH_ECE; tcpstat.tcps_ecn_shs++; } - + /* Tack on the TCP options. */ if ((sc->sc_flags & SCF_NOOPT) == 0) { to.to_flags = 0; ==== //depot/projects/tcpecn/netinet/tcp_var.h#9 (text+ko) ==== @@ -100,7 +100,7 @@ struct inpcb *t_inpcb; /* back pointer to internet pcb */ int t_state; /* state of this connection */ - u_long t_flags; + u_int t_flags; #define TF_ACKNOW 0x000001 /* ack peer immediately */ #define TF_DELACK 0x000002 /* ack, but try to delay it */ #define TF_NODELAY 0x000004 /* don't delay packets to coalesce */ From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:41:30 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5BB11065672; Wed, 30 Jul 2008 19:41:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69AE4106564A for ; Wed, 30 Jul 2008 19:41:30 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5D0A78FC20 for ; Wed, 30 Jul 2008 19:41:30 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJfUNh012409 for ; Wed, 30 Jul 2008 19:41:30 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJfURr012407 for perforce@freebsd.org; Wed, 30 Jul 2008 19:41:30 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 30 Jul 2008 19:41:30 GMT Message-Id: <200807301941.m6UJfURr012407@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 146262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:41:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=146262 Change 146262 by rpaulo@rpaulo_epsilon on 2008/07/30 19:40:33 Add a missing call to tcpad_verify_topts(). Add missing returns. s/SACK_PERM/SACKOK/ Affected files ... .. //depot/projects/soc2008/rpaulo-tcpad/verify.c#6 edit Differences ... ==== //depot/projects/soc2008/rpaulo-tcpad/verify.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#5 $ + * $P4: //depot/projects/soc2008/rpaulo-tcpad/verify.c#6 $ */ #include @@ -285,7 +285,10 @@ dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); + return (NULL); } + tcpad_verify_topts(topts, tp, th->th_flags, + TCPAD_VERIFY_DIRECTION_IN); break; default: dumper_error(cp, "SYN/ACK received, state != SYN_SENT"); @@ -315,11 +318,13 @@ dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); + return (NULL); } else { dumper_error(cp, "RST: ACK < snd_nxt"); dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); + return (NULL); } break; default: @@ -368,6 +373,7 @@ dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); + return (NULL); } break; case TCPS_FIN_WAIT_1: @@ -397,15 +403,19 @@ dumper_free(cp); LIST_REMOVE(cp, entries); free(cp); + return (NULL); } } else { if (SEQ_LT(th->th_seq, tp->rcv_nxt) || SEQ_GEQ(th->th_seq, tp->rcv_nxt + tp->rcv_wnd)) { - dumper_error(cp, "SEQ.SEQ < " + dumper_error(cp, "SEG.SEQ < " "RCV.NXT or SEG.SEQ >= " "RCV.NXT + RCV.WND"); dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + return (NULL); } } } else { @@ -431,6 +441,7 @@ if (SEQ_GEQ(th->th_ack, tp->snd_una) && SEQ_LEQ(th->th_ack, tp->snd_nxt)) { tp->snd_una = th->th_ack; + tp->rcv_nxt = tp->snd_una + 1; /* update send window */ if (SEQ_LT(tp->snd_wl1, th->th_seq) || (tp->snd_wl1 == th->th_seq && @@ -439,6 +450,13 @@ tp->snd_wl1 = th->th_seq; tp->snd_wl2 = th->th_ack; } + } else { + dumper_error(cp, "SEG.ACK < SND.UNA or " + "SEG.ACK > SND.NXT"); + dumper_free(cp); + LIST_REMOVE(cp, entries); + free(cp); + return (NULL); } break; default: @@ -508,7 +526,7 @@ i += 9; break; case TCPOPT_SACK_PERMITTED: - DPRINTF(DEBUG_TOPTS, "SACK_PERM option found\n"); + DPRINTF(DEBUG_TOPTS, "SACKOK option found\n"); i += 1; break; case TCPOPT_SACK: From owner-p4-projects@FreeBSD.ORG Wed Jul 30 19:49:39 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07552106568A; Wed, 30 Jul 2008 19:49:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF65E1065681 for ; Wed, 30 Jul 2008 19:49:38 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B2EBB8FC08 for ; Wed, 30 Jul 2008 19:49:38 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UJncW1012999 for ; Wed, 30 Jul 2008 19:49:38 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UJncwW012997 for perforce@freebsd.org; Wed, 30 Jul 2008 19:49:38 GMT (envelope-from gk@FreeBSD.org) Date: Wed, 30 Jul 2008 19:49:38 GMT Message-Id: <200807301949.m6UJncwW012997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Cc: Subject: PERFORCE change 146263 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 19:49:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=146263 Change 146263 by gk@gk_h1 on 2008/07/30 19:48:56 print that annoying 'No ALTQ support in kernel.' message only if verbose option specified use one line instead of two. Affected files ... .. //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.c#2 edit Differences ... ==== //depot/projects/soc2008/gk_l2filter/sbin-pfctl/pfctl.c#2 (text+ko) ==== @@ -1902,8 +1902,8 @@ if (ioctl(dev, DIOCGETALTQS, &pa)) { if (errno == ENODEV) { - if (!(opts & PF_OPT_QUIET)) - fprintf(stderr, "No ALTQ support in kernel\n" + if (opts & PF_OPT_VERBOSE) + fprintf(stderr, "No ALTQ support in kernel. " "ALTQ related functions disabled\n"); return (0); } else From owner-p4-projects@FreeBSD.ORG Wed Jul 30 20:54:45 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64482106567D; Wed, 30 Jul 2008 20:54:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E87A1065671 for ; Wed, 30 Jul 2008 20:54:45 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0021F8FC17 for ; Wed, 30 Jul 2008 20:54:44 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m6UKsiqj043244 for ; Wed, 30 Jul 2008 20:54:44 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6UKsiZC043241 for perforce@freebsd.org; Wed, 30 Jul 2008 20:54:44 GMT (envelope-from pgj@FreeBSD.org) Date: Wed, 30 Jul 2008 20:54:44 GMT Message-Id: <200807302054.m6UKsiZC043241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 146267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2008 20:54:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=146267 Change 146267 by pgj@disznohal on 2008/07/30 20:53:44 Further rework in www/hu Affected files ... .. //depot/projects/docproj_hu/www/hu/index.xsl#7 edit .. //depot/projects/docproj_hu/www/hu/internet.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/index.xsl#7 (text+ko) ==== @@ -1,7 +1,7 @@ + ]> @@ -26,7 +26,7 @@ - + @@ -44,9 +44,9 @@ + title="FreeBSD Projekt Hírek" href="&base;/news/rss.xml" /> + title="FreeBSD Biztonsági Bejelentések" href="&enbase;/security/rss.xml" /> @@ -68,24 +68,32 @@ @@ -98,27 +106,29 @@
.
- +
-

Nyelvi Linkek

+

Nyelvek

@@ -163,7 +173,7 @@
-

+



: -

:
+

:


: + adott kimenete):


:


- :
+ :


:
+ megtaláltuk a megoldást:


- : + :
-