From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:12:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C6CC116A4D0; Sun, 23 Nov 2003 11:12:38 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A10C416A4CE for ; Sun, 23 Nov 2003 11:12:38 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B32B43F93 for ; Sun, 23 Nov 2003 11:12:37 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJCbXJ015281 for ; Sun, 23 Nov 2003 11:12:37 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJCa2R015278 for perforce@freebsd.org; Sun, 23 Nov 2003 11:12:36 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:12:36 -0800 (PST) Message-Id: <200311231912.hANJCa2R015278@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42959 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:12:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=42959 Change 42959 by rwatson@rwatson_powerbook on 2003/11/23 11:12:05 Remove earlier notes. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#10 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#10 (text+ko) ==== @@ -29,19 +29,6 @@ Libstreams-23 cctools-435.4 - bootstrap_cmds-35 - make ; sudo make install - Libstreams-23 - cctools-435.4 - Edit COMMON_SUBDIRS to libstuff libmacho misc - make RC_OS=macos - sudo cp misc/seg_hack.NEW /usr/local/bin/seg_hack - cd ld - make RC_OS=macos kld_build - sudo cp static_kld/libkld.a /usr/local/lib - sudo ranlib /usr/local/lib/libkld.a - - These may also be checked out and installed from the TrustedBSD Perforce repository using the following paths: From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:25:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9127516A4D0; Sun, 23 Nov 2003 11:25:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6CCB516A4CE for ; Sun, 23 Nov 2003 11:25:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C919E43FD7 for ; Sun, 23 Nov 2003 11:25:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJPtXJ016213 for ; Sun, 23 Nov 2003 11:25:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJPtLK016210 for perforce@freebsd.org; Sun, 23 Nov 2003 11:25:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:25:55 -0800 (PST) Message-Id: <200311231925.hANJPtLK016210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42962 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:25:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=42962 Change 42962 by rwatson@rwatson_powerbook on 2003/11/23 11:25:05 Includes are now installed earlier for libsebsd, not in the library build/install stage. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#11 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#11 (text+ko) ==== @@ -138,7 +138,7 @@ make ; sudo make install cd .. - Build the SEBSD support library (also includes): + Build the SEBSD support library: cd libsebsd make ; sudo make install From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:29:02 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9EB916A4D1; Sun, 23 Nov 2003 11:29:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9312416A4CE for ; Sun, 23 Nov 2003 11:29:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DDF343FDF for ; Sun, 23 Nov 2003 11:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJT0XJ016417 for ; Sun, 23 Nov 2003 11:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJSxwu016414 for perforce@freebsd.org; Sun, 23 Nov 2003 11:28:59 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:28:59 -0800 (PST) Message-Id: <200311231928.hANJSxwu016414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42963 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:29:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=42963 Change 42963 by rwatson@rwatson_powerbook on 2003/11/23 11:28:04 Imperfect common Makefile for mac_cmds with all and install targets. Affected files ... .. //depot/projects/trustedbsd/sedarwin/mac_cmds/Makefile#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:29:02 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E28A916A4D0; Sun, 23 Nov 2003 11:29:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B754F16A4CF for ; Sun, 23 Nov 2003 11:29:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A54CD4401A for ; Sun, 23 Nov 2003 11:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJT0XJ016427 for ; Sun, 23 Nov 2003 11:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJT04S016420 for perforce@freebsd.org; Sun, 23 Nov 2003 11:29:00 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:29:00 -0800 (PST) Message-Id: <200311231929.hANJT04S016420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42964 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:29:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=42964 Change 42964 by rwatson@rwatson_powerbook on 2003/11/23 11:28:50 Simplify install instructions for mac_cmds, there's now a central Makefile for it. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#12 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#12 (text+ko) ==== @@ -152,17 +152,9 @@ Step 8: Build, Install MAC Label Tools - cd mac_cmds/getfmac + cd mac_cmds make ; sudo make install - cd ../getpmac - make ; sudo make install - cd ../mexec - make ; sudo make install - cd ../setfmac - make ; sudo make install - cd ../setfsmac - make ; sudo make install - cd ../.. + cd .. Step 9: Build, Install SEBSD Tools From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:32:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEB5416A4D0; Sun, 23 Nov 2003 11:32:05 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9ACE116A4CE for ; Sun, 23 Nov 2003 11:32:05 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 008CB43FCB for ; Sun, 23 Nov 2003 11:32:05 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJW4XJ016562 for ; Sun, 23 Nov 2003 11:32:04 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJW4E2016559 for perforce@freebsd.org; Sun, 23 Nov 2003 11:32:04 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:32:04 -0800 (PST) Message-Id: <200311231932.hANJW4E2016559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42965 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:32:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=42965 Change 42965 by rwatson@rwatson_powerbook on 2003/11/23 11:31:39 Add a central sebsd_cmds Makefile with all and install targets; update directions. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#13 edit .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/Makefile#1 add Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#13 (text+ko) ==== @@ -158,12 +158,9 @@ Step 9: Build, Install SEBSD Tools - cd sebsd_cmds/checkpolicy + cd sebsd_cmds make ; sudo make install - cd ../loadpolicy - make ; sudo make install - cd ../newrole - make ; sudo make install + cd .. Step 9: Build, Install wslogin and WindowServer wrapper From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:36:11 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88D9F16A4D0; Sun, 23 Nov 2003 11:36:11 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 62E8516A4CE for ; Sun, 23 Nov 2003 11:36:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCD1643FBD for ; Sun, 23 Nov 2003 11:36:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJaAXJ016740 for ; Sun, 23 Nov 2003 11:36:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJaAhh016737 for perforce@freebsd.org; Sun, 23 Nov 2003 11:36:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:36:10 -0800 (PST) Message-Id: <200311231936.hANJaAhh016737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42966 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:36:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=42966 Change 42966 by rwatson@rwatson_powerbook on 2003/11/23 11:35:20 No need to run the Project Builder GUI, just use pbxbuild. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#14 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#14 (text+ko) ==== @@ -176,8 +176,11 @@ cd sebsd_system/wslogin make - Next, build the wsloginui dialog using Project Builder (command line - ommitted). Install the library and wsloginui dialog tool using: + Next, build the wslogin dialog using Project Builder: + + pbxbuild + + Install the library and wsloginui dialog tool using: sudo make install From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:46:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63E0516A4D0; Sun, 23 Nov 2003 11:46:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3F47316A4CE for ; Sun, 23 Nov 2003 11:46:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A720543F93 for ; Sun, 23 Nov 2003 11:46:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJkNXJ017167 for ; Sun, 23 Nov 2003 11:46:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJkN7g017164 for perforce@freebsd.org; Sun, 23 Nov 2003 11:46:23 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:46:23 -0800 (PST) Message-Id: <200311231946.hANJkN7g017164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:46:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=42967 Change 42967 by rwatson@rwatson_powerbook on 2003/11/23 11:45:29 Attempt to improve the window server wrapper stuff a bit. There are two make targets: rotate-out-old-server, which renames the WindowServer to RealWindowServer. The second target, install-window-server-wrapper, installs our locally built WindowServer wrapper. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#15 edit .. //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/Makefile#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#15 (text+ko) ==== @@ -171,19 +171,12 @@ as LoginWindow appears not to offer any convenient hooks to allow this to be done without some subversion of its mechanisms. - First, build the wslogin dynamic library: + First, build and install the wslogin dynamic library and wsloginui.app + dialog: cd sebsd_system/wslogin - make - - Next, build the wslogin dialog using Project Builder: - - pbxbuild + make ; sudo make install - Install the library and wsloginui dialog tool using: - - sudo make install - In order to run the WindowServer in our modified environment, you must replace the existing WindowServer binary with our wrapper. NOTE: It is extremely important that these commands be executed cautiously: @@ -191,9 +184,9 @@ you really don't want to fail to rename before you install the new one, or you end up with no WindowServer at all: - sudo mv /System/Library/CoreServices/WindowServer \ - /System/Library/CoreServices/RealWindowServer + sudo make rotate-out-old-server # run exactly once sudo make install-window-server-wrapper + cd ../.. Step 9: Build SEDarwin Sample Policy ==== //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/Makefile#4 (text+ko) ==== @@ -6,6 +6,9 @@ wslogin.dylib: $(OBJS) gcc -dynamiclib -o $@ $(OBJS) ../../libsebsd/libsebsd.a ../../libmac/*.o +wsloginui.app: LabelChooser.m LabelChooser.h main.m + pbxbuild + install: install -m 644 -o root -g wheel wslogin.dylib /usr/lib cd build ; tar -cf - wsloginui.app | (cd /System/Library/CoreServices \ @@ -16,8 +19,14 @@ # Really be careful here! I wonder if we can make Make fail if it's already # there...? # +rotate-out-old-server: + sudo mv /System/Library/CoreServices/WindowServer \ + /System/Library/CoreServices/RealWindowServer + install-window-server-wrapper: - install -m 755 -o root -g wheel WindowServer /System/Library/Coreservices + install -m 755 -o root -g wheel WindowServer \ + /System/Library/CoreServices clean: rm -f $(OBJS) wslogin.dylib + rm -Rf wsloginui.app From owner-p4-projects@FreeBSD.ORG Sun Nov 23 11:59:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C4BE16A4D1; Sun, 23 Nov 2003 11:59:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C5E716A4CE for ; Sun, 23 Nov 2003 11:59:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B40E43FA3 for ; Sun, 23 Nov 2003 11:59:40 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANJxeXJ017646 for ; Sun, 23 Nov 2003 11:59:40 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANJxdSE017643 for perforce@freebsd.org; Sun, 23 Nov 2003 11:59:39 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 11:59:39 -0800 (PST) Message-Id: <200311231959.hANJxdSE017643@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42968 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 19:59:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=42968 Change 42968 by rwatson@rwatson_powerbook on 2003/11/23 11:58:55 Say a bit more about how to add a user to the SEBSD policy file. Wax poetic on the virtues of nvram and Open Firmware. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#16 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#16 (text+ko) ==== @@ -195,10 +195,13 @@ (yes, this is just temporary!). When the policy is built, you end up with a policy.h file that will get copied into the XNU tree for the kernel build. - XXX: Add yourself to the user list! + Our sample policy file ships with three users: root, andrew, and rwatson. + Chances are, you'll want to add a line for your own user based on one of + those lines. cd policy make ; make install + cd .. Until we have this fixed, remember that when you change the policy, you need to re-install and remake the XNU kernel. @@ -211,6 +214,36 @@ cd apsl/xnu make + sudo cp BUILD/obj/RELEASE_PPC/mach_kernel /mach_kernel.sedarwin + sudo chown root:wheel /mach_kernel.sedarwin + sudo chmod 644 /mach_kernel.sedarwin + cd ../.. + + Once you have a new kernel in place, you'll need to use the nvram + command to set that kernel as the active kernel by modifying the + bootfile variable: + + % nvram -p | grep boot + boot-script + boot-file + boot-command mac-boot + boot-args + boot-device mac-io/ata-4@1f000/@0:5,\\:tbxi + auto-boot? true + boot-screen + % sudo nvram boot-file=mac-io/ata-4@1f00/@0:5,/mach_kernel.sedarwin + + Note that the boot-file variable consists if {bootdevice},{filename}, + and that the bootdevice is extracted from the more confusing + boot-device OF variable as found above. + + As a quick note here: next time you boot, Open Firmware will boot + /mach_kernel.sedarwin. You can reset it using the nvram command, or + on boot you can press Command-Option-O-F to interactively set OF + variables, or press Command-Option-P-R to clear the PRAM in the event + of serious problems. Finally, you may want to set the boot-args flag + to "-v" to get a text-based boot with console messages, rather than the + pretty but less informative Apple logo, etc. Step 10: Build, Install "Libkvm" From owner-p4-projects@FreeBSD.ORG Sun Nov 23 12:02:46 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E244416A4D1; Sun, 23 Nov 2003 12:02:45 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC60E16A4CE for ; Sun, 23 Nov 2003 12:02:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A379D43F3F for ; Sun, 23 Nov 2003 12:02:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANK2iXJ017762 for ; Sun, 23 Nov 2003 12:02:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANK2iVT017759 for perforce@freebsd.org; Sun, 23 Nov 2003 12:02:44 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 12:02:44 -0800 (PST) Message-Id: <200311232002.hANK2iVT017759@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42969 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 20:02:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=42969 Change 42969 by rwatson@rwatson_powerbook on 2003/11/23 12:02:01 Correct a typo in sample nvram command. Talk about the virtues of a backup kernel. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#17 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#17 (text+ko) ==== @@ -231,7 +231,7 @@ boot-device mac-io/ata-4@1f000/@0:5,\\:tbxi auto-boot? true boot-screen - % sudo nvram boot-file=mac-io/ata-4@1f00/@0:5,/mach_kernel.sedarwin + % sudo nvram boot-file=mac-io/ata-4@1f000/@0:5,/mach_kernel.sedarwin Note that the boot-file variable consists if {bootdevice},{filename}, and that the bootdevice is extracted from the more confusing @@ -245,6 +245,15 @@ to "-v" to get a text-based boot with console messages, rather than the pretty but less informative Apple logo, etc. + We've found that boot-time failure modes with Darwin are a bit hard + to diagnose, and problems booting a new kernel frequent result in a + hang with the Apple logo showing. This can be a result of + incorrect permissions for the kernel file, among other things. We + recommend keeping a safe backup of your original mach_kernel in case + of accidental overwrite: + + sudo cp /mach_kernel /mach_kernel.safe + Step 10: Build, Install "Libkvm" cd apsl/Libkvm From owner-p4-projects@FreeBSD.ORG Sun Nov 23 12:09:56 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 910B116A4D1; Sun, 23 Nov 2003 12:09:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 537C716A4CE for ; Sun, 23 Nov 2003 12:09:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C43B743FA3 for ; Sun, 23 Nov 2003 12:09:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANK9sXJ018936 for ; Sun, 23 Nov 2003 12:09:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANK9sb5018933 for perforce@freebsd.org; Sun, 23 Nov 2003 12:09:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 12:09:54 -0800 (PST) Message-Id: <200311232009.hANK9sb5018933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42971 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 20:09:57 -0000 X-List-Received-Date: Sun, 23 Nov 2003 20:09:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=42971 Change 42971 by rwatson@rwatson_powerbook on 2003/11/23 12:08:53 Renumber sections, explain some steps, remove sysctl step since it seems unnecessary currently. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#18 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#18 (text+ko) ==== @@ -162,7 +162,7 @@ make ; sudo make install cd .. -Step 9: Build, Install wslogin and WindowServer wrapper +Step 10: Build, Install wslogin and WindowServer wrapper In order to allow users to select roles during GUI login, you must install our WindowServer wrapper. This will cause a dialog box @@ -188,7 +188,7 @@ sudo make install-window-server-wrapper cd ../.. -Step 9: Build SEDarwin Sample Policy +Step 11: Build SEDarwin Sample Policy We provide a minimal sample policy; due to current limitations in loading the policy at boot-time, we link the sample policy directly into the Darwin kernel @@ -206,7 +206,7 @@ Until we have this fixed, remember that when you change the policy, you need to re-install and remake the XNU kernel. -Step 10: Build XNU +Step 12: Build XNU NOTE: If you skipped the long and tedious elements of Step 2 above, the chances are good this step will fail with a variety of hard to @@ -254,41 +254,49 @@ sudo cp /mach_kernel /mach_kernel.safe -Step 10: Build, Install "Libkvm" +Step 13: Build, Install "Libkvm" + + This will make sure that ps and related commands can read the new layout + of kernel memory due to changes in the size of kernel structures such + as processes and credentials. cd apsl/Libkvm make ; sudo make install cd ../.. -Step 11: Build, Install "file_cmds" +Step 14: Build, Install "file_cmds" + + This will build commands like ls with MAC label support. cd apsl/file_cmds make ; sudo make install cd ../.. -Step 12: Build, Install "system_cmds" +Step 15: Build, Install "adv_cmds" - cd apsl/system_cmds - make ; sudo make install - cd ../.. + This will build commands like ps with MAC label support. -Step 10: Build, Install "adv_cmds" - cd other/adv_cmds make ; sudo make install cd ../.. -Step 13: Create extended attribute backing files +Step 16: Create extended attribute backing files + + This will allocate storage space for MAC labels on the root file system. + You may wish to run similar commands on other file systems. Replace the + "/" in this command with the root of the file systme in question, and + insert the same directory in front of "/.attribute/system/sebsd" to + store the attributes in that file system. extattrctl initattr -p / 256 /.attribute/system/sebsd -Step 14: Install mac.conf +Step 17: Install mac.conf cd etc make ; sudo make install cd .. -Step 15: Reboot +Step 18: Reboot At this point, you should now have a new Darwin kernel, support libraries, command line tools, and configuration files installed. Reboot. From owner-p4-projects@FreeBSD.ORG Sun Nov 23 12:09:57 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCE6F16A4F1; Sun, 23 Nov 2003 12:09:56 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69B1B16A4CF for ; Sun, 23 Nov 2003 12:09:56 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4621743FCB for ; Sun, 23 Nov 2003 12:09:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANK9tXJ018942 for ; Sun, 23 Nov 2003 12:09:55 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANK9s5X018939 for perforce@freebsd.org; Sun, 23 Nov 2003 12:09:54 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 12:09:54 -0800 (PST) Message-Id: <200311232009.hANK9s5X018939@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 20:09:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=42972 Change 42972 by rwatson@rwatson_powerbook on 2003/11/23 12:09:32 Try again to remove sysctl Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#19 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#19 (text+ko) ==== @@ -162,7 +162,7 @@ make ; sudo make install cd .. -Step 10: Build, Install wslogin and WindowServer wrapper +Step 9: Build, Install wslogin and WindowServer wrapper In order to allow users to select roles during GUI login, you must install our WindowServer wrapper. This will cause a dialog box @@ -188,7 +188,7 @@ sudo make install-window-server-wrapper cd ../.. -Step 11: Build SEDarwin Sample Policy +Step 9: Build SEDarwin Sample Policy We provide a minimal sample policy; due to current limitations in loading the policy at boot-time, we link the sample policy directly into the Darwin kernel @@ -206,7 +206,7 @@ Until we have this fixed, remember that when you change the policy, you need to re-install and remake the XNU kernel. -Step 12: Build XNU +Step 10: Build XNU NOTE: If you skipped the long and tedious elements of Step 2 above, the chances are good this step will fail with a variety of hard to @@ -254,49 +254,35 @@ sudo cp /mach_kernel /mach_kernel.safe -Step 13: Build, Install "Libkvm" +Step 10: Build, Install "Libkvm" - This will make sure that ps and related commands can read the new layout - of kernel memory due to changes in the size of kernel structures such - as processes and credentials. - cd apsl/Libkvm make ; sudo make install cd ../.. -Step 14: Build, Install "file_cmds" - - This will build commands like ls with MAC label support. +Step 11: Build, Install "file_cmds" cd apsl/file_cmds make ; sudo make install cd ../.. -Step 15: Build, Install "adv_cmds" - - This will build commands like ps with MAC label support. +Step 12: Build, Install "adv_cmds" cd other/adv_cmds make ; sudo make install cd ../.. -Step 16: Create extended attribute backing files - - This will allocate storage space for MAC labels on the root file system. - You may wish to run similar commands on other file systems. Replace the - "/" in this command with the root of the file systme in question, and - insert the same directory in front of "/.attribute/system/sebsd" to - store the attributes in that file system. +Step 13: Create extended attribute backing files extattrctl initattr -p / 256 /.attribute/system/sebsd -Step 17: Install mac.conf +Step 14: Install mac.conf cd etc make ; sudo make install cd .. -Step 18: Reboot +Step 15: Reboot At this point, you should now have a new Darwin kernel, support libraries, command line tools, and configuration files installed. Reboot. From owner-p4-projects@FreeBSD.ORG Sun Nov 23 12:13:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C31E916A4D0; Sun, 23 Nov 2003 12:13:00 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8751F16A4CE for ; Sun, 23 Nov 2003 12:13:00 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA2A943FBD for ; Sun, 23 Nov 2003 12:12:59 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANKCxXJ019107 for ; Sun, 23 Nov 2003 12:12:59 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANKCxMh019104 for perforce@freebsd.org; Sun, 23 Nov 2003 12:12:59 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 12:12:59 -0800 (PST) Message-Id: <200311232012.hANKCxMh019104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42973 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 20:13:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=42973 Change 42973 by rwatson@rwatson_powerbook on 2003/11/23 12:12:24 Oops, revert last change. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#20 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#20 (text+ko) ==== @@ -162,7 +162,7 @@ make ; sudo make install cd .. -Step 9: Build, Install wslogin and WindowServer wrapper +Step 10: Build, Install wslogin and WindowServer wrapper In order to allow users to select roles during GUI login, you must install our WindowServer wrapper. This will cause a dialog box @@ -188,7 +188,7 @@ sudo make install-window-server-wrapper cd ../.. -Step 9: Build SEDarwin Sample Policy +Step 11: Build SEDarwin Sample Policy We provide a minimal sample policy; due to current limitations in loading the policy at boot-time, we link the sample policy directly into the Darwin kernel @@ -206,7 +206,7 @@ Until we have this fixed, remember that when you change the policy, you need to re-install and remake the XNU kernel. -Step 10: Build XNU +Step 12: Build XNU NOTE: If you skipped the long and tedious elements of Step 2 above, the chances are good this step will fail with a variety of hard to @@ -254,35 +254,49 @@ sudo cp /mach_kernel /mach_kernel.safe -Step 10: Build, Install "Libkvm" +Step 13: Build, Install "Libkvm" + + This will make sure that ps and related commands can read the new layout + of kernel memory due to changes in the size of kernel structures such + as processes and credentials. cd apsl/Libkvm make ; sudo make install cd ../.. -Step 11: Build, Install "file_cmds" +Step 14: Build, Install "file_cmds" + + This will build commands like ls with MAC label support. cd apsl/file_cmds make ; sudo make install cd ../.. -Step 12: Build, Install "adv_cmds" +Step 15: Build, Install "adv_cmds" + + This will build commands like ps with MAC label support. cd other/adv_cmds make ; sudo make install cd ../.. -Step 13: Create extended attribute backing files +Step 16: Create extended attribute backing files + + This will allocate storage space for MAC labels on the root file system. + You may wish to run similar commands on other file systems. Replace the + "/" in this command with the root of the file systme in question, and + insert the same directory in front of "/.attribute/system/sebsd" to + store the attributes in that file system. extattrctl initattr -p / 256 /.attribute/system/sebsd -Step 14: Install mac.conf +Step 17: Install mac.conf cd etc make ; sudo make install cd .. -Step 15: Reboot +Step 18: Reboot At this point, you should now have a new Darwin kernel, support libraries, command line tools, and configuration files installed. Reboot. From owner-p4-projects@FreeBSD.ORG Sun Nov 23 12:16:05 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8A0316A4D0; Sun, 23 Nov 2003 12:16:04 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A389E16A4CE for ; Sun, 23 Nov 2003 12:16:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 09F8C43FDD for ; Sun, 23 Nov 2003 12:16:04 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hANKG3XJ019295 for ; Sun, 23 Nov 2003 12:16:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hANKG315019292 for perforce@freebsd.org; Sun, 23 Nov 2003 12:16:03 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 12:16:03 -0800 (PST) Message-Id: <200311232016.hANKG315019292@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42974 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Nov 2003 20:16:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=42974 Change 42974 by rwatson@rwatson_powerbook on 2003/11/23 12:15:46 No need to run make for mac.conf. Run extattrctl using sudo. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#21 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#21 (text+ko) ==== @@ -288,12 +288,12 @@ insert the same directory in front of "/.attribute/system/sebsd" to store the attributes in that file system. - extattrctl initattr -p / 256 /.attribute/system/sebsd + sudo extattrctl initattr -p / 256 /.attribute/system/sebsd Step 17: Install mac.conf cd etc - make ; sudo make install + sudo make install cd .. Step 18: Reboot From owner-p4-projects@FreeBSD.ORG Sun Nov 23 20:01:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E5EE16A4D0; Sun, 23 Nov 2003 20:01:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 031A016A4CE for ; Sun, 23 Nov 2003 20:01:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E132E43F93 for ; Sun, 23 Nov 2003 20:01:25 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAO41PXJ052378 for ; Sun, 23 Nov 2003 20:01:25 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAO41PsI052375 for perforce@freebsd.org; Sun, 23 Nov 2003 20:01:25 -0800 (PST) (envelope-from peter@freebsd.org) Date: Sun, 23 Nov 2003 20:01:25 -0800 (PST) Message-Id: <200311240401.hAO41PsI052375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 42978 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 04:01:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=42978 Change 42978 by peter@peter_overcee on 2003/11/23 20:00:44 IFC @42977 Affected files ... .. //depot/projects/hammer/etc/mtree/BSD.include.dist#13 integrate .. //depot/projects/hammer/include/Makefile#17 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#48 integrate .. //depot/projects/hammer/sbin/idmapd/idmapd.8#2 integrate .. //depot/projects/hammer/sbin/idmapd/idmapd.c#2 integrate .. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#2 integrate .. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.c#2 integrate .. //depot/projects/hammer/sbin/newfs/mkfs.c#13 integrate .. //depot/projects/hammer/share/man/man7/hier.7#11 integrate .. //depot/projects/hammer/sys/alpha/alpha/mp_machdep.c#7 integrate .. //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#43 integrate .. //depot/projects/hammer/sys/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/hammer/sys/conf/majors#16 integrate .. //depot/projects/hammer/sys/conf/newvers.sh#7 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/dsmthdat.c#6 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/exfldio.c#7 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/utdelete.c#5 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#19 integrate .. //depot/projects/hammer/sys/dev/led/led.c#2 integrate .. //depot/projects/hammer/sys/dev/vinum/vinuminterrupt.c#5 integrate .. //depot/projects/hammer/sys/dev/vinum/vinumio.c#11 integrate .. //depot/projects/hammer/sys/dev/vinum/vinumrequest.c#9 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#22 integrate .. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#8 integrate .. //depot/projects/hammer/sys/kern/subr_smp.c#10 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#19 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#16 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.c#16 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#20 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#3 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#6 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#12 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#9 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#20 integrate .. //depot/projects/hammer/sys/nfsclient/nfsmount.h#4 integrate .. //depot/projects/hammer/sys/nfsclient/nfsnode.h#4 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/mp_machdep.c#9 integrate .. //depot/projects/hammer/sys/sys/smp.h#3 integrate .. //depot/projects/hammer/sys/sys/soundcard.h#6 integrate .. //depot/projects/hammer/sys/sys/timepps.h#2 integrate Differences ... ==== //depot/projects/hammer/etc/mtree/BSD.include.dist#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.76 2003/11/22 06:08:59 scottl Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -58,6 +58,8 @@ .. smbfs .. + udf + .. umapfs .. unionfs ==== //depot/projects/hammer/include/Makefile#17 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.206 2003/10/29 00:32:25 peter Exp $ +# $FreeBSD: src/include/Makefile,v 1.207 2003/11/22 06:08:59 scottl Exp $ # # Doing a "make install" builds /usr/include. @@ -34,7 +34,7 @@ LSUBDIRS= cam/scsi dev/an dev/ic dev/iicbus dev/firewire dev/ofw \ dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ - fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \ + fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#48 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.655 2003/11/21 01:23:20 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.656 2003/11/23 09:53:13 brueffer Exp $ 2000 @@ -394,7 +394,7 @@ Multicast routing (&man.pim.4;). &merged; To reduce information leakage, IPv4 packets no longer have - a ip_id field set unless fragmentation is + an ip_id field set unless fragmentation is being done. The &os; Bluetooth protocol stack has been updated: @@ -402,29 +402,29 @@ libsdp has been re-implemented - under BSD style license. This is because the Linux BlueZ code is - distributed under GPL. + under a BSD style license. This is because the Linux BlueZ code is + distributed under the GPL. - &man.hccontrol.8; utility now supports four new commands: + The &man.hccontrol.8; utility now supports four new commands: Read/Write_Page_Scan_Mode and Read/Write_Page_Scan_Period_Mode. - &man.hcsecd.8; daemon now stores link keys on a disk. + The &man.hcsecd.8; daemon now stores link keys on a disk. It is no longer required to pair devices every time. - A netgraph timeout problem in &man.ng.hci.4; and + A netgraph timeout problem in the &man.ng.hci.4; and &man.ng.l2cap.4; kernel modules, which could cause access to a data structure that was already freed, has been fixed. - &man.ng.ubt.4; module, which cannot be build on + The &man.ng.ubt.4; module, which cannot be build on &os; &release.prev;, has been fixed. @@ -436,7 +436,7 @@ - &man.sdpcontrol.8; utility, which is analogous to the sdptool utility in + The &man.sdpcontrol.8; utility, which is analogous to the sdptool utility in the Linux BlueZ SDP package, has been added. @@ -462,7 +462,7 @@ A major rework of the &man.ata.4; driver has been committed. One of the more notable changes is that the - &man.ata.4; driver has now out from under the Giant kernel + &man.ata.4; driver is now out from under the Giant kernel lock. Note that ATA software RAID systems must now include device ataraid in their kernel configuration files, as it is no longer automatically implied @@ -599,8 +599,8 @@ option for an interface, which disables the sending of ARP requests for that interface. - &man.ipfw.8; list and show - command now support ranges of rule numbers. + The &man.ipfw.8; list and show + commands now support ranges of rule numbers. &merged; &man.ipfw.8; now supports a flag @@ -636,7 +636,7 @@ The &man.mount.8; utility now supports to display the filesystem ID for each file system in addition to the normal information when a flag is specified, - and &man.umount.8; utility now accepts the filesystem ID + and the &man.umount.8; utility now accepts the filesystem ID as well as the usual device and path names. This allows to unambiguously specify which file system is to be unmounted even when two or more file systems share @@ -655,7 +655,7 @@ option to specify MS-DOS codepages and a option to specify local character sets. They are used to convert character sets of filenames. The - /usr/libdata/msdosfs tables have + /usr/libdata/msdosfs tables have been retired. The &man.mount.nwfs.8;, &man.mount.portalfs.8;, and ==== //depot/projects/hammer/sbin/idmapd/idmapd.8#2 (text+ko) ==== @@ -1,2 +1,64 @@ -.\" $FreeBSD: src/sbin/idmapd/idmapd.8,v 1.1 2003/11/14 21:04:33 alfred Exp $ +.\" copyright (c) 2003 +.\" the regents of the university of michigan +.\" all rights reserved +.\" +.\" permission is granted to use, copy, create derivative works and redistribute +.\" this software and such derivative works for any purpose, so long as the name +.\" of the university of michigan is not used in any advertising or publicity +.\" pertaining to the use or distribution of this software without specific, +.\" written prior authorization. if the above copyright notice or any other +.\" identification of the university of michigan is included in any copy of any +.\" portion of this software, then the disclaimer below must also be included. +.\" +.\" this software is provided as is, without representation from the university +.\" of michigan as to its fitness for any purpose, and without warranty by the +.\" university of michigan of any kind, either express or implied, including +.\" without limitation the implied warranties of merchantability and fitness for +.\" a particular purpose. the regents of the university of michigan shall not be +.\" liable for any damages, including special, indirect, incidental, or +.\" consequential damages, with respect to any claim arising out of or in +.\" connection with the use of the software, even if it has been or is hereafter +.\" advised of the possibility of such damages. +.\" +.\" $FreeBSD: src/sbin/idmapd/idmapd.8,v 1.2 2003/11/22 02:16:53 alfred Exp $ man +.\" +.Dd November 14, 2003 +.Dt IDMAPD 8 +.Os +.Sh NAME +.Nm idmapd +.Nd name/uid mapper for NFSv4 +.Sh SYNOPSIS +.Nm +.Op Fl v +.Op Fl d Ar domainname +.Sh DESCRIPTION +The +.Nm +daemon normally runs in the background and services uid/gid-to-name and +name-to-uid/gid mapping +requests from the NFSv4 client. +.Pp +The options are: +.Bl -tag -width indent +.It Fl v +Be verbose, and do not run in the background. +.It Fl d +Set the domain part of the name string to the specified string. +.El +.Sh FILES +.Bl -tag -width /etc/master.passwd -compact +.It Pa /etc/pwd.db +The insecure password database file +.It Pa /etc/spwd.db +The secure password database file +.It Pa /etc/master.passwd +The current password file +.It Pa /etc/passwd +A Version 7 format password file +.El +.Sh SEE ALSO +.Xr getpwnam 2 , +.Xr getpwuid 2 , +.Xr mount_nfs 8 ==== //depot/projects/hammer/sbin/idmapd/idmapd.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.1 2003/11/14 21:04:33 alfred Exp $ */ +/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.2 2003/11/22 02:16:53 alfred Exp $ */ /* $Id: idmapd.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */ /* @@ -25,7 +25,7 @@ * advised of the possibility of such damages. */ -/* XXX ignores the domain of recieved names. */ +/* XXX ignores the domain of received names. */ #include #include @@ -52,7 +52,7 @@ #define DEV_PATH "/dev/nfs4" -#define DOMAIN "@citi.umich.edu" +#define DOMAIN "@FreeBSD.org" #define BADUSER "nobody" #define BADGROUP "nogroup" #define BADUID (-2) ==== //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#2 (text+ko) ==== @@ -30,17 +30,17 @@ .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95 -.\" $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.8,v 1.1 2003/11/14 21:04:33 alfred Exp $ +.\" $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.8,v 1.2 2003/11/22 02:18:30 alfred Exp $ .\" -.Dd May 11, 2003 -.Dt MOUNT_NFS 8 +.Dd November 14, 2003 +.Dt MOUNT_NFS4 8 .Os .Sh NAME -.Nm mount_nfs -.Nd mount NFS file systems +.Nm mount_nfs4 +.Nd mount NFSv4 file systems .Sh SYNOPSIS .Nm -.Op Fl 23NPTUbcdiLls +.Op Fl NPTUbcdiLls .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl R Ar retrycnt @@ -57,30 +57,16 @@ .Nm utility calls the .Xr mount 2 -system call to prepare and graft a remote NFS file system +system call to prepare and graft a remote NFSv4 file system .Pq Ar rhost : Ns Ar path on to the file system tree at the point .Ar node . This command is normally executed by .Xr mount 8 . -It implements the mount protocol as described in RFC 1094, Appendix A and -.%T "NFS: Network File System Version 3 Protocol Specification" , -Appendix I. +It implements the NFSv4 protocol as described in RFC 3530, +.%T "NFS version 4 Protocol." .Pp -By default, -.Nm -keeps retrying until the mount succeeds. -This behaviour is intended for file systems listed in -.Xr fstab 5 -that are critical to the boot process. -For non-critical file systems, the -.Fl b -and -.Fl R -flags provide mechanisms to prevent the boot process from hanging -if the server is unavailable. -.Pp -If the server becomes unresponsive while an NFS file system is +If the server becomes unresponsive while an NFSv4 file system is mounted, any new or outstanding file operations on that file system will hang uninterruptibly until the server comes back. To modify this default behaviour, see the @@ -91,12 +77,6 @@ .Pp The options are: .Bl -tag -width indent -.It Fl 2 -Use the NFS Version 2 protocol (the default is to try version 3 first -then version 2). -Note that NFS version 2 has a file size limit of 2 gigabytes. -.It Fl 3 -Use the NFS Version 3 protocol. .It Fl D Set the .Dq "dead server threshold" @@ -109,24 +89,6 @@ be a multiple of .Dv DIRBLKSIZ that is <= the read size for the mount. -.It Fl L -Do -.Em not -forward -.Xr fcntl 2 -locks over the wire. -All locks will be local and not seen by the server -and likewise not seen by other NFS clients. -This removes the need to run the -.Xr rpcbind 8 -service and the -.Xr rpc.statd 8 -and -.Xr rpc.lockd 8 -servers on the client. -Note that this option will only be honored when performing the -initial mount, it will be silently ignored if used while updating -the mount options. .It Fl N Do .Em not @@ -144,17 +106,11 @@ forever. There is a 60 second delay between each attempt. .It Fl T -Use TCP transport instead of UDP. -This is recommended for servers that are not on the same LAN cable as -the client. -(NB: This is NOT supported by most -.No non- Ns Bx -servers.) +Use TCP transport. This is the default. .It Fl U -Force the mount protocol to use UDP transport, even for TCP NFS mounts. -(Necessary for some old -.Bx -servers.) +Force the mount protocol to use UDP transport. +This is not supported by the version 4 protocol and is provided only for +debugging purposes. .It Fl a Set the read-ahead count to the specified value. This may be in the range of 0 - 4, and determines how many blocks @@ -167,41 +123,10 @@ Useful for .Xr fstab 5 , where the file system mount is not critical to multiuser operation. -.It Fl c -For UDP mount points, do not do a -.Xr connect 2 . -This must be used if the server does not reply to requests from the standard -NFS port number 2049 or replies to requests using a different IP address -(which can occur if the server is multi-homed). -Setting the -.Va vfs.nfs.nfs_ip_paranoia -sysctl to 0 will make this option the default. -.It Fl d -Turn off the dynamic retransmit timeout estimator. -This may be useful for UDP mounts that exhibit high retry rates, -since it is possible that the dynamically estimated timeout interval is too -short. -.It Fl g -Set the maximum size of the group list for the credentials to the -specified value. -This should be used for mounts on old servers that cannot handle a -group list size of 16, as specified in RFC 1057. -Try 8, if users in a lot of groups cannot get response from the mount -point. .It Fl i Make the mount interruptible, which implies that file system calls that are delayed due to an unresponsive server will fail with EINTR when a termination signal is posted for the process. -.It Fl l -Used with NQNFS and NFSV3 to specify that the \fBReaddirPlus\fR RPC should -be used. -This option reduces RPC traffic for cases such as -.Dq "ls -l" , -but tends to flood the attribute and name caches with prefetched entries. -Try this option and see whether performance improves or degrades. -Probably -most useful for client to server network interconnects with a large bandwidth -times delay product. .It Fl o Options are specified with a .Fl o @@ -212,8 +137,9 @@ The following NFS specific options are also available: .Bl -tag -width indent .It Cm port Ns = Ns Aq Ar port_number -Use specified port number for NFS requests. -The default is to query the portmapper for the NFS port. +Use specified port number for NFSv4 requests. +The default is to use port 2049. +Set this to 0 to query the portmapper for the NFSv4 port. .It Cm acregmin Ns = Ns Aq Ar seconds .It Cm acregmax Ns = Ns Aq Ar seconds .It Cm acdirmin Ns = Ns Aq Ar seconds @@ -239,64 +165,6 @@ Useful for hosts that have both an A record and an AAAA record for the same name. .El -.Bl -tag -width ".Cm dumbtimer" -.Ss Historic Fl o Ss Options -Use of these options is deprecated, they are only mentioned here for -compatibility with historic versions of -.Nm . -.It Cm bg -Same as -.Fl b . -.It Cm conn -Same as not specifying -.Fl c . -.It Cm dumbtimer -Same as -.Fl d . -.It Cm intr -Same as -.Fl i . -.It Cm lockd -Same as not specifying -.Fl L . -.It Cm nfsv2 -Same as -.Fl 2 . -.It Cm nfsv3 -Same as -.Fl 3 . -.It Cm rdirplus -Same as -.Fl l . -.It Cm mntudp -Same as -.Fl U . -.It Cm resvport -Same as -.Fl P . -.It Cm soft -Same as -.Fl s . -.It Cm tcp -Same as -.Fl T . -.El -.It Fl r -Set the read data size to the specified value. -It should normally be a power of 2 greater than or equal to 1024. -This should be used for UDP mounts when the -.Dq "fragments dropped due to timeout" -value is getting large while actively using a mount point. -(Use -.Xr netstat 1 -with the -.Fl s -option to see what the -.Dq "fragments dropped due to timeout" -value is.) -See the -.Fl w -option as well. .It Fl s A soft mount, which implies that file system calls will fail after @@ -315,19 +183,6 @@ option should be specified when using this option to manually tune the timeout interval.) -.It Fl w -Set the write data size to the specified value. -Ditto the comments w.r.t. the -.Fl r -option, but using the -.Dq "fragments dropped due to timeout" -value on the server instead of the client. -Note that both the -.Fl r -and -.Fl w -options should only be used as a last ditch effort at improving performance -when mounting servers that do not support TCP mounts. .It Fl x Set the retransmit timeout count for soft mounts to the specified value. .El @@ -335,17 +190,12 @@ .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , +.Xr idmapd 8 , .Xr mount 8 , +.Xr mount_nfs 8 , .Xr nfsd 8 , -.Xr nfsiod 8 , -.Xr showmount 8 +.Xr nfsiod 8 .Sh BUGS -Due to the way that Sun RPC is implemented on top of UDP (unreliable datagram) -transport, tuning such mounts is really a black art that can only be expected -to have limited success. -For clients mounting servers that are not on the same -LAN cable or that tend to be overloaded, -TCP transport is strongly recommended, -but unfortunately this is restricted to mostly -.Bx 4.4 -servers. +This version of the NFSv4 client, while functional, is a long way +from compliance with RFC 3530. It lacks lock state, reboot recovery, +delegation, gss, and many other mandatory items from the RFC. ==== //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.1 2003/11/14 21:04:33 alfred Exp $ */ +/* $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.2 2003/11/22 02:18:30 alfred Exp $ */ /* $Id: mount_nfs.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */ /* @@ -73,7 +73,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.1 2003/11/14 21:04:33 alfred Exp $"); +__FBSDID("$FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.2 2003/11/22 02:18:30 alfred Exp $"); #include #include @@ -290,14 +290,8 @@ nfsargs = nfsdefargs; nfsargsp = &nfsargs; while ((c = getopt(argc, argv, - "23a:bcdD:g:I:iLl:No:PR:r:sTt:w:x:U")) != -1) + "a:bcdD:I:iNo:PR:sTt:x:U")) != -1) switch (c) { - case '2': - mountmode = V2; - break; - case '3': - mountmode = V3; - break; case 'a': num = strtol(optarg, &p, 10); if (*p || num < 0) @@ -308,9 +302,6 @@ case 'b': opflags |= BGRND; break; - case 'c': - nfsargsp->flags |= NFSMNT_NOCONN; - break; case 'D': num = strtol(optarg, &p, 10); if (*p || num <= 0) @@ -318,19 +309,6 @@ nfsargsp->deadthresh = num; nfsargsp->flags |= NFSMNT_DEADTHRESH; break; - case 'd': - nfsargsp->flags |= NFSMNT_DUMBTIMR; - break; -#if 0 /* XXXX */ - case 'g': - num = strtol(optarg, &p, 10); - if (*p || num <= 0) - errx(1, "illegal -g value -- %s", optarg); - set_rpc_maxgrouplist(num); - nfsargsp->maxgrouplist = num; - nfsargsp->flags |= NFSMNT_MAXGRPS; - break; -#endif case 'I': num = strtol(optarg, &p, 10); if (*p || num <= 0) @@ -341,12 +319,6 @@ case 'i': nfsargsp->flags |= NFSMNT_INT; break; - case 'L': - nfsargsp->flags |= NFSMNT_NOLOCKD; - break; - case 'l': - nfsargsp->flags |= NFSMNT_RDIRPLUS; - break; case 'N': nfsargsp->flags &= ~NFSMNT_RESVPORT; break; @@ -422,13 +394,6 @@ errx(1, "illegal -R value -- %s", optarg); retrycnt = num; break; - case 'r': - num = strtol(optarg, &p, 10); - if (*p || num <= 0) - errx(1, "illegal -r value -- %s", optarg); - nfsargsp->rsize = num; - nfsargsp->flags |= NFSMNT_RSIZE; - break; case 's': nfsargsp->flags |= NFSMNT_SOFT; break; @@ -443,13 +408,6 @@ nfsargsp->timeo = num; nfsargsp->flags |= NFSMNT_TIMEO; break; - case 'w': - num = strtol(optarg, &p, 10); - if (*p || num <= 0) - errx(1, "illegal -w value -- %s", optarg); - nfsargsp->wsize = num; - nfsargsp->flags |= NFSMNT_WSIZE; - break; case 'x': num = strtol(optarg, &p, 10); if (*p || num <= 0) @@ -667,47 +625,6 @@ } } -#if 0 - /* Check that the server (nfsd) responds on the port we have chosen. */ - clp = clnt_tli_create(RPC_ANYFD, nconf, &nfs_nb, RPCPROG_NFS, nfsvers, - 0, 0); - if (clp == NULL) { - snprintf(errbuf, sizeof errbuf, "[%s] %s:%s: %s", netid, - hostp, spec, clnt_spcreateerror("nfsd: RPCPROG_NFS")); - return (returncode(rpc_createerr.cf_stat, - &rpc_createerr.cf_error)); - } - if (nfsargsp->sotype == SOCK_DGRAM && - !(nfsargsp->flags & NFSMNT_NOCONN)) { - /* - * Use connect(), to match what the kernel does. This - * catches cases where the server responds from the - * wrong source address. - */ - doconnect = 1; - if (!clnt_control(clp, CLSET_CONNECT, (char *)&doconnect)) { - clnt_destroy(clp); - snprintf(errbuf, sizeof errbuf, - "[%s] %s:%s: CLSET_CONNECT failed", netid, hostp, - spec); - return (TRYRET_LOCALERR); - } - } - - try.tv_sec = 10; - try.tv_usec = 0; - stat = clnt_call(clp, NFSPROC_NULL, (xdrproc_t)xdr_void, NULL, - (xdrproc_t)xdr_void, NULL, try); - if (stat != RPC_SUCCESS) { - clnt_geterr(clp, &rpcerr); - snprintf(errbuf, sizeof errbuf, "[%s] %s:%s: %s", netid, - hostp, spec, clnt_sperror(clp, "NFSPROC_NULL")); - clnt_destroy(clp); - return (returncode(stat, &rpcerr)); - } - clnt_destroy(clp); -#endif - /* * Store the filehandle and server address in nfsargsp, making * sure to copy any locally allocated structures. @@ -865,9 +782,9 @@ usage() { (void)fprintf(stderr, "%s\n%s\n%s\n%s\n", -"usage: mount_nfs [-23KNPTUbcdilqs] [-D deadthresh] [-I readdirsize]", +"usage: mount_nfs [-KNPTUbiqs] [-D deadthresh] [-I readdirsize]", " [-R retrycnt] [-a maxreadahead]", -" [-g maxgroups] [-m realm] [-o options] [-r readsize]", -" [-t timeout] [-w writesize] [-x retrans] rhost:path node"); +" [-m realm] [-o options]", +" [-t timeout] [-x retrans] rhost:path node"); exit(1); } ==== //depot/projects/hammer/sbin/newfs/mkfs.c#13 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/newfs/mkfs.c,v 1.81 2003/11/16 07:17:30 wes Exp $"); +__FBSDID("$FreeBSD: src/sbin/newfs/mkfs.c,v 1.82 2003/11/23 08:29:01 wes Exp $"); #include #include @@ -457,7 +457,7 @@ } if (Eflag == 2) printf("** Leaving BAD MAGIC on Eflag 2\n"); - else + else if( Oflag != 1 ) sblock.fs_magic = FS_UFS2_MAGIC; /* ==== //depot/projects/hammer/share/man/man7/hier.7#11 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man7/hier.7,v 1.90 2003/11/17 17:29:04 gordon Exp $ +.\" $FreeBSD: src/share/man/man7/hier.7,v 1.91 2003/11/22 06:08:59 scottl Exp $ .\" .Dd June 5, 1993 .Dt HIER 7 @@ -233,6 +233,8 @@ process file system .It Pa smbfs/ SMB/CIFS file system +.It Pa udf/ +UDF file system .It Pa umapfs/ alternate uid/gid mappings file system .It Pa unionfs ==== //depot/projects/hammer/sys/alpha/alpha/mp_machdep.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.48 2003/08/17 06:42:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.49 2003/11/21 22:23:25 jhb Exp $"); #include "opt_kstack_pages.h" @@ -64,6 +64,7 @@ u_int boot_cpu_id; static void release_aps(void *dummy); +static int smp_cpu_enabled(struct pcs *pcsp); extern void smp_init_secondary_glue(void); static int smp_send_secondary_command(const char *command, int cpuid); static int smp_start_secondary(int cpuid); @@ -301,10 +302,50 @@ /* Other stuff */ +static int +smp_cpu_enabled(struct pcs *pcsp) +{ + + /* Is this CPU present? */ + if ((pcsp->pcs_flags & PCS_PP) == 0) + return (0); + + /* Is this CPU available? */ + if ((pcsp->pcs_flags & PCS_PA) == 0) + /* + * The TurboLaser PCS_PA bit doesn't seem to be set + * correctly. + */ + if (hwrpb->rpb_type != ST_DEC_21000) + return (0); + + /* Is this CPU's PALcode valid? */ + if ((pcsp->pcs_flags & PCS_PV) == 0) + return (0); + + return (1); +} + +void +cpu_mp_setmaxid(void) +{ + int i; + + mp_maxid = 0; + for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) { + if (i == PCPU_GET(cpuid)) + continue; + if (!smp_cpu_enabled(LOCATE_PCS(hwrpb, i))) + continue; + if (i > MAXCPU) + continue; + mp_maxid = i; + } +} + int cpu_mp_probe(void) { - struct pcs *pcsp; int i, cpus; /* XXX: Need to check for valid platforms here. */ @@ -315,33 +356,16 @@ all_cpus = 1 << boot_cpu_id; mp_ncpus = 1; - mp_maxid = 0; /* Make sure we have at least one secondary CPU. */ cpus = 0; for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) { if (i == PCPU_GET(cpuid)) continue; - pcsp = (struct pcs *)((char *)hwrpb + hwrpb->rpb_pcs_off + - (i * hwrpb->rpb_pcs_size)); - if ((pcsp->pcs_flags & PCS_PP) == 0) { + if (!smp_cpu_enabled(LOCATE_PCS(hwrpb, i))) continue; - } - if ((pcsp->pcs_flags & PCS_PA) == 0) { - /* - * The TurboLaser PCS_PA bit doesn't seem to be set - * correctly. - */ - if (hwrpb->rpb_type != ST_DEC_21000) - continue; - } - if ((pcsp->pcs_flags & PCS_PV) == 0) { + if (i > MAXCPU) continue; - } - if (i > MAXCPU) { - continue; - } - mp_maxid = i; cpus++; } return (cpus); @@ -359,8 +383,7 @@ if (i == boot_cpu_id) continue; - pcsp = (struct pcs *)((char *)hwrpb + hwrpb->rpb_pcs_off + - (i * hwrpb->rpb_pcs_size)); + pcsp = LOCATE_PCS(hwrpb, i); if ((pcsp->pcs_flags & PCS_PP) == 0) continue; if ((pcsp->pcs_flags & PCS_PA) == 0) { ==== //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.22 2003/10/21 18:28:33 silby Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.23 2003/11/22 01:11:07 peter Exp $"); #include #include @@ -214,13 +214,13 @@ msrv = rdmsr(msr); mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) | amd64_mtrr2mrt(msrv & 0xff); - mrd->mr_base = msrv & 0x000ffffffffff000L; + mrd->mr_base = msrv & 0x000000fffffff000L; msrv = rdmsr(msr + 1); mrd->mr_flags = (msrv & 0x800) ? (mrd->mr_flags | MDF_ACTIVE) : (mrd->mr_flags & ~MDF_ACTIVE); /* Compute the range from the mask. Ick. */ - mrd->mr_len = (~(msrv & 0x000ffffffffff000L) & 0x000fffffffffffffL) + 1; + mrd->mr_len = (~(msrv & 0x000000fffffff000L) & 0x000000ffffffffffL) + 1; if (!mrvalid(mrd->mr_base, mrd->mr_len)) mrd->mr_flags |= MDF_BOGUS; /* If unclaimed and active, must be the BIOS */ @@ -348,7 +348,7 @@ /* base/type register */ omsrv = rdmsr(msr); if (mrd->mr_flags & MDF_ACTIVE) { - msrv = mrd->mr_base & 0x000ffffffffff000L; + msrv = mrd->mr_base & 0x000000fffffff000L; msrv |= amd64_mrt2mtrr(mrd->mr_flags, omsrv); } else { msrv = 0; @@ -357,7 +357,7 @@ /* mask/active register */ if (mrd->mr_flags & MDF_ACTIVE) { - msrv = 0x800 | (~(mrd->mr_len - 1) & 0x000ffffffffff000L); + msrv = 0x800 | (~(mrd->mr_len - 1) & 0x000000fffffff000L); } else { msrv = 0; } @@ -553,7 +553,6 @@ return; } nmdesc = mtrrcap & 0xff; - printf("Pentium Pro MTRR support enabled\n"); /* If fixed MTRRs supported and enabled */ if ((mtrrcap & 0x100) && (mtrrdef & 0x400)) { ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#43 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.227 2003/11/21 03:01:59 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.228 2003/11/21 22:23:25 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -187,6 +187,26 @@ } +void +cpu_mp_setmaxid(void) +{ + + /* + * mp_maxid should be already set by calls to cpu_add(). + * Just sanity check its value here. + */ + if (mp_ncpus == 0) + KASSERT(mp_maxid == 0, + ("%s: mp_ncpus is zero, but mp_maxid is not", __func__)); + else if (mp_ncpus == 1) + mp_maxid = 0; + else + KASSERT(mp_maxid >= mp_ncpus - 1, + ("%s: counters out of sync: max %d, count %d", __func__, + mp_maxid, mp_ncpus)); + +} + int cpu_mp_probe(void) { @@ -202,8 +222,6 @@ * the variables to represent a system with a single CPU * with an id of 0. */ - KASSERT(mp_maxid == 0, - ("%s: mp_ncpus is zero, but mp_maxid is not", __func__)); mp_ncpus = 1; return (0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 23 20:02:29 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B1A2116A4D0; Sun, 23 Nov 2003 20:02:29 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 89D4F16A4CE for ; Sun, 23 Nov 2003 20:02:29 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC03943F75 for ; Sun, 23 Nov 2003 20:02:28 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAO42SXJ052461 for ; Sun, 23 Nov 2003 20:02:28 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAO42RnL052458 for perforce@freebsd.org; Sun, 23 Nov 2003 20:02:27 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 20:02:27 -0800 (PST) Message-Id: <200311240402.hAO42RnL052458@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42980 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 04:02:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=42980 Change 42980 by rwatson@rwatson_paprika on 2003/11/23 20:01:33 Also create setfmac. Affected files ... .. //depot/projects/trustedbsd/sedarwin/mac_cmds/setfsmac/Makefile#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/mac_cmds/setfsmac/Makefile#3 (text+ko) ==== @@ -5,5 +5,6 @@ gcc -o setfsmac setfsmac.o ../../libmac/libmac.a install: install -m 755 -o root -g wheel setfsmac /usr/sbin + ln /usr/sbin/setfsmac /usr/sbin/setfmac clean: rm -f setfsmac setfsmac.o From owner-p4-projects@FreeBSD.ORG Sun Nov 23 20:11:43 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4655E16A4D0; Sun, 23 Nov 2003 20:11:43 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F18AA16A4CE for ; Sun, 23 Nov 2003 20:11:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51C7B43FE1 for ; Sun, 23 Nov 2003 20:11:42 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAO4BgXJ053697 for ; Sun, 23 Nov 2003 20:11:42 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAO4Bfhd053694 for perforce@freebsd.org; Sun, 23 Nov 2003 20:11:41 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 20:11:41 -0800 (PST) Message-Id: <200311240411.hAO4Bfhd053694@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42983 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 04:11:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=42983 Change 42983 by rwatson@rwatson_paprika on 2003/11/23 20:10:56 Add instructions to set the label on RealWindowServer after booting tin single-user mode, or you won't be able to log in when in enforcing mode. Affected files ... .. //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#22 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/bootstrap_instructions.txt#22 (text+ko) ==== @@ -299,4 +299,17 @@ Step 18: Reboot At this point, you should now have a new Darwin kernel, support libraries, - command line tools, and configuration files installed. Reboot. + command line tools, and configuration files installed. Reboot to single- + user mode by pressing Command-S during the boot. Check the file system + and mount the root file system writable: + + /sbin/fsck -y + /sbin/mount -uw / + + Now set the label on the WindowServer binary so that it can transition + during login: + + setfmac sebsd/system_u:object_r:login_exec_t \ + /System/Library/CoreServices/RealWindowServer + + Missing this step will result in login attempts failing. From owner-p4-projects@FreeBSD.ORG Sun Nov 23 20:46:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF4B216A4D0; Sun, 23 Nov 2003 20:46:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E37616A4CE for ; Sun, 23 Nov 2003 20:46:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B567A43F3F for ; Sun, 23 Nov 2003 20:46:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAO4kOXJ055136 for ; Sun, 23 Nov 2003 20:46:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAO4kOlW055133 for perforce@freebsd.org; Sun, 23 Nov 2003 20:46:24 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 23 Nov 2003 20:46:24 -0800 (PST) Message-Id: <200311240446.hAO4kOlW055133@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42984 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 04:46:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=42984 Change 42984 by rwatson@rwatson_powerbook on 2003/11/23 20:45:52 Modify wsloginui bits some. Affected files ... .. //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/English.lproj/MainMenu.nib/info.nib#3 edit .. //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/English.lproj/MainMenu.nib/objects.nib#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/English.lproj/MainMenu.nib/info.nib#3 (text+ko) ==== @@ -3,13 +3,11 @@ IBDocumentLocation - 69 28 356 240 0 0 1024 746 + 95 33 356 240 0 0 1280 832 IBFramework Version 291.0 IBLockedObjects - - 200 - + IBOpenObjects 197 ==== //depot/projects/trustedbsd/sedarwin/sebsd_system/wslogin/English.lproj/MainMenu.nib/objects.nib#3 (binary) ==== From owner-p4-projects@FreeBSD.ORG Mon Nov 24 06:21:14 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7712616A4D0; Mon, 24 Nov 2003 06:21:14 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4DDC916A4CE for ; Mon, 24 Nov 2003 06:21:14 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 97C6243F75 for ; Mon, 24 Nov 2003 06:21:13 -0800 (PST) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOELDXJ099115 for ; Mon, 24 Nov 2003 06:21:13 -0800 (PST) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOELDHh099112 for perforce@freebsd.org; Mon, 24 Nov 2003 06:21:13 -0800 (PST) (envelope-from cvance@nailabs.com) Date: Mon, 24 Nov 2003 06:21:13 -0800 (PST) Message-Id: <200311241421.hAOELDHh099112@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 42992 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 14:21:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=42992 Change 42992 by cvance@cvance_osx_laptop on 2003/11/24 06:21:07 Add myself to the users file Affected files ... .. //depot/projects/trustedbsd/sedarwin/policy/users#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/policy/users#3 (text+ko) ==== @@ -3,3 +3,4 @@ user root roles { user_r sysadm_r }; user andrew roles { user_r user_secret_r }; user rwatson roles { user_r user_secret_r }; +user cvance roles { user_r user_secret_r }; From owner-p4-projects@FreeBSD.ORG Mon Nov 24 07:42:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D6F716A4D0; Mon, 24 Nov 2003 07:42:39 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C32F16A4D3 for ; Mon, 24 Nov 2003 07:42:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5331943FA3 for ; Mon, 24 Nov 2003 07:42:38 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOFgbXJ003039 for ; Mon, 24 Nov 2003 07:42:38 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOFgbcF003036 for perforce@freebsd.org; Mon, 24 Nov 2003 07:42:37 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 24 Nov 2003 07:42:37 -0800 (PST) Message-Id: <200311241542.hAOFgbcF003036@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 42995 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 15:42:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=42995 Change 42995 by rwatson@rwatson_powerbook on 2003/11/24 07:41:38 First pass at fixing hfs_readdirattr() problem: the MAC Framework desires to control stat()-like operations, but readdirattr() provides an optimized interface to query a list of files and their attributes from a directory. Unlike other vnode interfaces, this one doesn't expose the file list involved at the VFS layer, with all computation being performed in the file system, and the results being returned in a buffer to userspace. This means we need controls in the file system itself. However, life is not that simple: in HFS+, it's possible to query the list and attributes without actually creating a vnode for each listed object, which is arguably a nice optimization. However, since we manage MAC labels at the vnode layer, we have to force each considered cnode to gain a vnode so we can compare MAC labels. However, life isn't that simple either: forcing a vnode for each cnode appears to work fine, but if I enable the "continue" following the MAC check (and the vput()), I get a spinning process and deadlock. Unfortunately, since Darwin doesn't support wchan, it's difficult to say what the cause is. I've committed the printf of the proposed MAC error, but right now it's non-enforcing. Also, I've added a counter variable that tests to make sure we didn't hit any cnodes without vnodes, which should never happen in the MAC case. I likely misunderstand the looping logic in this call resulting in it spinning in kernel, am causing a slipped vnode lock, or the calling thread from userspace is misbehaving, and fair/ ordered queuing on a lock is not implemented in Darwin, which seems unlikely. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_attrlist.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_attrlist.c#2 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -659,6 +660,7 @@ struct cat_desc prevdesc; char * prevnamebuf = NULL; struct cat_entrylist *ce_list = NULL; + int no_vnode_count = 0; dir_entries = dcp->c_entries; if (dcp->c_attr.ca_fileid == kHFSRootFolderID && hfsmp->jnl) { @@ -777,8 +779,34 @@ /* * Get in memory cnode data (if any). */ +#ifdef MAC + /* + * XXXMAC: Try forcing the vnode into memory so that + * we can perform MAC checks against it. + */ + if (1) { + error = hfs_getcnode(hfsmp, cattrp->ca_fileid, NULL, 0, NULL, NULL, &vp); + if (error) { + printf("hfs_readdirattr(): warning got %d\n", error); + cp = hfs_chashget(dcp->c_dev, cattrp->ca_fileid, 0, &vp, &rvp); + } else { + error = mac_check_vnode_stat(current_proc()->p_ucred, ap->a_cred, vp); + if (error) { +#if 0 + vput(vp); +#endif + printf("hfs_readdirattr(): FYI, failed with %d\n", error); +#if 0 + continue; +#endif + } + cp = vp->v_data; + rvp = NULL; + } +#else if (!(ap->a_options & FSOPT_NOINMEMUPDATE)) { cp = hfs_chashget(dcp->c_dev, cattrp->ca_fileid, 0, &vp, &rvp); +#endif if (cp != NULL) { /* Only use cnode's decriptor for non-hardlinks */ if (!(cp->c_flag & C_HARDLINK)) @@ -809,6 +837,8 @@ currattrbufsize = ((char *)varptr - (char *)attrbufptr); /* All done with cnode. */ + if (vp == NULL && rvp == NULL) + no_vnode_count++; if (vp) { vput(vp); vp = NULL; @@ -889,7 +919,10 @@ FREE(ce_list, M_TEMP); if (prevnamebuf) FREE(prevnamebuf, M_TEMP); - + + if (no_vnode_count != 0) + printf("hfs_readdirattr: no_vnode_count of %d\n", no_vnode_count); + return (error); } From owner-p4-projects@FreeBSD.ORG Mon Nov 24 09:51:19 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F255E16A4D0; Mon, 24 Nov 2003 09:51:18 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C1BD816A4CE for ; Mon, 24 Nov 2003 09:51:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8121543FE1 for ; Mon, 24 Nov 2003 09:51:17 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOHpHXJ014887 for ; Mon, 24 Nov 2003 09:51:17 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOHpGv7014884 for perforce@freebsd.org; Mon, 24 Nov 2003 09:51:16 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 09:51:16 -0800 (PST) Message-Id: <200311241751.hAOHpGv7014884@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 Subject: PERFORCE change 42999 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 17:51:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=42999 Change 42999 by sam@sam_ebb on 2003/11/24 09:50:24 IFC @ 42998 Affected files ... .. //depot/projects/netperf/sys/dev/ata/ata-raid.c#7 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#15 integrate .. //depot/projects/netperf/sys/dev/led/led.c#2 integrate .. //depot/projects/netperf/sys/dev/vinum/vinuminterrupt.c#3 integrate .. //depot/projects/netperf/sys/dev/vinum/vinumio.c#3 integrate .. //depot/projects/netperf/sys/dev/vinum/vinumrequest.c#4 integrate .. //depot/projects/netperf/sys/kern/vfs_mount.c#7 integrate .. //depot/projects/netperf/sys/netinet/ip_dummynet.c#18 integrate .. //depot/projects/netperf/sys/netinet/ip_fw2.c#18 integrate .. //depot/projects/netperf/sys/netinet6/ip6_output.c#27 integrate .. //depot/projects/netperf/sys/sys/mbuf.h#8 integrate .. //depot/projects/netperf/sys/sys/timepps.h#2 integrate Differences ... ==== //depot/projects/netperf/sys/dev/ata/ata-raid.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.71 2003/11/08 09:56:34 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.73 2003/11/24 14:54:41 sos Exp $"); #include "opt_ata.h" #include @@ -774,17 +774,24 @@ return; } if (bp->bio_cmd == BIO_READ) { + int src_online = + (rdp->disks[buf1->drive].flags & AR_DF_ONLINE); + int mir_online = + (rdp->disks[buf1->drive+rdp->width].flags & AR_DF_ONLINE); + /* if mirror gone or close to last access on source */ - if (!(rdp->disks[buf1->drive+rdp->width].flags & AR_DF_ONLINE)|| - (buf1->bp.bio_pblkno >= + if (!mir_online || + ((src_online) && + buf1->bp.bio_pblkno >= (rdp->disks[buf1->drive].last_lba - AR_PROXIMITY) && buf1->bp.bio_pblkno <= (rdp->disks[buf1->drive].last_lba + AR_PROXIMITY))) { rdp->flags &= ~AR_F_TOGGLE; } /* if source gone or close to last access on mirror */ - else if (!(rdp->disks[buf1->drive].flags & AR_DF_ONLINE) || - (buf1->bp.bio_pblkno >= + else if (!src_online || + ((mir_online) && + buf1->bp.bio_pblkno >= (rdp->disks[buf1->drive + rdp->width].last_lba - AR_PROXIMITY) && buf1->bp.bio_pblkno <= ==== //depot/projects/netperf/sys/dev/ata/atapi-cd.c#15 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.155 2003/11/18 15:23:37 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.156 2003/11/24 14:20:19 sos Exp $"); #include "opt_ata.h" #include @@ -1000,6 +1000,11 @@ return; } + if (bp->bio_cmd == BIO_READ && cdp->disk_size == -1) { + g_io_deliver(bp, EIO); + return; + } + /* GEOM classes must do their own request limiting */ if (bp->bio_length <= cdp->iomax) { mtx_lock(&cdp->queue_mtx); ==== //depot/projects/netperf/sys/dev/led/led.c#2 (text+ko) ==== @@ -9,7 +9,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/led/led.c,v 1.2 2003/11/03 15:45:42 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/led/led.c,v 1.3 2003/11/23 10:22:51 phk Exp $"); #include #include @@ -254,7 +254,8 @@ mtx_lock(&led_mtx); LIST_REMOVE(sc, list); mtx_unlock(&led_mtx); - sbuf_delete(sc->spec); + if (sc->spec != NULL) + sbuf_delete(sc->spec); destroy_dev(dev); free(sc, M_LED); } ==== //depot/projects/netperf/sys/dev/vinum/vinuminterrupt.c#3 (text+ko) ==== @@ -1,7 +1,7 @@ /* vinuminterrupt.c: bottom half of the driver */ #include -__FBSDID("$FreeBSD: src/sys/dev/vinum/vinuminterrupt.c,v 1.41 2003/08/24 17:55:56 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vinum/vinuminterrupt.c,v 1.43 2003/11/24 04:06:56 grog Exp $"); /*- * Copyright (c) 1997, 1998, 1999 @@ -42,7 +42,7 @@ * otherwise) arising in any way out of the use of this software, even if * advised of the possibility of such damage. * - * $Id: vinuminterrupt.c,v 1.14 2001/05/23 23:03:37 grog Exp grog $ + * $Id: vinuminterrupt.c,v 1.41 2003/08/24 17:55:56 obrien Exp $ */ #include @@ -398,6 +398,8 @@ rqe->b.b_bufsize = rqe->b.b_bcount; /* don't claim more */ rqe->b.b_resid = rqe->b.b_bcount; /* nothing transferred */ rqe->b.b_blkno += rqe->dataoffset; /* point to the correct block */ + rqe->b.b_offset = rqe->b.b_blkno << DEV_BSHIFT; + rqe->b.b_iooffset = rqe->b.b_offset; rqg->active++; /* another active request */ drive = &DRIVE[rqe->driveno]; /* drive to access */ @@ -434,6 +436,8 @@ rqe->b.b_iodone = complete_rqe; /* call us here when done */ rqg->flags &= ~XFR_PARITYOP; /* reset flags that brought us here */ rqe->b.b_bcount = rqe->buflen << DEV_BSHIFT; /* length to write */ + rqe->b.b_offset = rqe->b.b_blkno << DEV_BSHIFT; + rqe->b.b_iooffset = rqe->b.b_offset; rqe->b.b_bufsize = rqe->b.b_bcount; /* don't claim we have more */ rqe->b.b_resid = rqe->b.b_bcount; /* nothing transferred */ rqg->active++; /* another active request */ ==== //depot/projects/netperf/sys/dev/vinum/vinumio.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ * advised of the possibility of such damage. * * $Id: vinumio.c,v 1.39 2003/05/23 00:59:53 grog Exp grog $ - * $FreeBSD: src/sys/dev/vinum/vinumio.c,v 1.93 2003/08/15 17:56:44 rwatson Exp $ + * $FreeBSD: src/sys/dev/vinum/vinumio.c,v 1.95 2003/11/24 04:06:56 grog Exp $ */ #include @@ -255,6 +255,8 @@ bp->b_iocmd = flag; bp->b_dev = drive->dev; /* device */ bp->b_blkno = offset / drive->sectorsize; /* block number */ + bp->b_offset = offset; + bp->b_iooffset = offset; bp->b_saveaddr = bp->b_data; bp->b_data = buf; bp->b_bcount = len; ==== //depot/projects/netperf/sys/dev/vinum/vinumrequest.c#4 (text+ko) ==== @@ -37,11 +37,11 @@ * otherwise) arising in any way out of the use of this software, even if * advised of the possibility of such damage. * - * $Id: vinumrequest.c,v 1.36 2003/05/08 04:34:55 grog Exp grog $ + * $Id: vinumrequest.c,v 1.69 2003/10/18 17:57:48 phk Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumrequest.c,v 1.69 2003/10/18 17:57:48 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumrequest.c,v 1.71 2003/11/24 04:06:56 grog Exp $"); #include #include @@ -447,6 +447,8 @@ } #endif /* fire off the request */ + rqe->b.b_offset = rqe->b.b_blkno << DEV_BSHIFT; + rqe->b.b_iooffset = rqe->b.b_offset; DEV_STRATEGY(&rqe->b); } } @@ -991,6 +993,8 @@ if (debug & DEBUG_LASTREQS) logrq(loginfo_sdiol, (union rqinfou) &sbp->b, &sbp->b); #endif + sbp->b.b_offset = sbp->b.b_blkno << DEV_BSHIFT; + sbp->b.b_iooffset = sbp->b.b_offset; DEV_STRATEGY(&sbp->b); splx(s); } ==== //depot/projects/netperf/sys/kern/vfs_mount.c#7 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.115 2003/11/14 05:27:41 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.116 2003/11/23 17:13:48 kan Exp $"); #include #include @@ -533,7 +533,7 @@ #ifdef MAC mac_destroy_mount(mp); #endif - if (mp->mnt_op->vfs_mount == NULL) + if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); crfree(mp->mnt_cred); free(mp, M_MOUNT); ==== //depot/projects/netperf/sys/netinet/ip_dummynet.c#18 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.73 2003/11/08 23:36:31 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.74 2003/11/23 18:13:41 sam Exp $ */ #define DUMMYNET_DEBUG @@ -1995,7 +1995,7 @@ ip_dn_io_ptr = dummynet_io; ip_dn_ruledel_ptr = dn_rule_delete; - callout_init(&dn_timeout, CALLOUT_MPSAFE); + callout_init(&dn_timeout, debug_mpsafenet ? CALLOUT_MPSAFE : 0); callout_reset(&dn_timeout, 1, dummynet, NULL); } ==== //depot/projects/netperf/sys/netinet/ip_fw2.c#18 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.47 2003/11/20 20:07:37 andre Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.49 2003/11/24 03:57:03 sam Exp $ */ #define DEB(x) @@ -82,12 +82,16 @@ #include /* XXX for in_cksum */ /* - * XXX This one should go in sys/mbuf.h. It is used to avoid that - * a firewall-generated packet loops forever through the firewall. + * This is used to avoid that a firewall-generated packet + * loops forever through the firewall. Note that it must + * be a flag that is unused by other protocols that might + * be called from ip_output (e.g. IPsec) and it must be + * listed in M_COPYFLAGS in mbuf.h so that if the mbuf chain + * is altered on the way through ip_output it is not lost. + * It might be better to add an m_tag since the this happens + * infrequently. */ -#ifndef M_SKIP_FIREWALL -#define M_SKIP_FIREWALL 0x4000 -#endif +#define M_SKIP_FIREWALL M_PROTO6 /* * set_disable contains one bit per set value (0..31). @@ -2924,7 +2928,7 @@ layer3_chain.rules = NULL; IPFW_LOCK_INIT(&layer3_chain); IPFW_DYN_LOCK_INIT(); - callout_init(&ipfw_timeout, CALLOUT_MPSAFE); + callout_init(&ipfw_timeout, debug_mpsafenet ? CALLOUT_MPSAFE : 0); bzero(&default_rule, sizeof default_rule); ==== //depot/projects/netperf/sys/netinet6/ip6_output.c#27 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.70 2003/11/20 20:07:39 andre Exp $ */ +/* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.71 2003/11/24 01:53:36 ume Exp $ */ /* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ /* @@ -2417,6 +2417,9 @@ { int needfree; + if (pktopt == NULL) + return; + needfree = pktopt->needfree; if (optname == -1 || optname == IPV6_PKTINFO) { ==== //depot/projects/netperf/sys/sys/mbuf.h#8 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mbuf.h 8.5 (Berkeley) 2/19/95 - * $FreeBSD: src/sys/sys/mbuf.h,v 1.127 2003/11/14 23:58:01 bde Exp $ + * $FreeBSD: src/sys/sys/mbuf.h,v 1.128 2003/11/24 03:57:03 sam Exp $ */ #ifndef _SYS_MBUF_H_ @@ -153,6 +153,7 @@ #define M_PROTO3 0x0040 /* protocol-specific */ #define M_PROTO4 0x0080 /* protocol-specific */ #define M_PROTO5 0x0100 /* protocol-specific */ +#define M_PROTO6 0x4000 /* protocol-specific (avoid M_BCAST conflict) */ #define M_FREELIST 0x8000 /* mbuf is on the free list */ /* @@ -178,8 +179,8 @@ * Flags copied when copying m_pkthdr. */ #define M_COPYFLAGS (M_PKTHDR|M_EOR|M_RDONLY|M_PROTO1|M_PROTO1|M_PROTO2|\ - M_PROTO3|M_PROTO4|M_PROTO5|M_BCAST|M_MCAST|\ - M_FRAG|M_FIRSTFRAG|M_LASTFRAG) + M_PROTO3|M_PROTO4|M_PROTO5|M_PROTO6|\ + M_BCAST|M_MCAST|M_FRAG|M_FIRSTFRAG|M_LASTFRAG) /* * Flags indicating hw checksum support and sw checksum requirements. ==== //depot/projects/netperf/sys/sys/timepps.h#2 (text+ko) ==== @@ -6,10 +6,10 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/sys/timepps.h,v 1.17 2002/04/30 19:46:20 phk Exp $ + * $FreeBSD: src/sys/sys/timepps.h,v 1.18 2003/11/23 18:52:23 phk Exp $ * - * The is a FreeBSD protype version of the "draft-mogul-pps-api-05.txt" - * specification for Pulse Per Second timing interfaces. + * The is a FreeBSD version of the RFC 2783 API for Pulse Per Second + * timing interfaces. */ #ifndef _SYS_TIMEPPS_H_ From owner-p4-projects@FreeBSD.ORG Mon Nov 24 10:47:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C90316A4D0; Mon, 24 Nov 2003 10:47:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3314016A4CE for ; Mon, 24 Nov 2003 10:47:28 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8836B43FE0 for ; Mon, 24 Nov 2003 10:47:25 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOIlPXJ018007 for ; Mon, 24 Nov 2003 10:47:25 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOIlPen018004 for perforce@freebsd.org; Mon, 24 Nov 2003 10:47:25 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 10:47:25 -0800 (PST) Message-Id: <200311241847.hAOIlPen018004@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 Subject: PERFORCE change 43000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 18:47:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=43000 Change 43000 by sam@sam_ebb on 2003/11/24 10:47:10 replace MT_TAG use in dummynet with m_tag's Affected files ... .. //depot/projects/netperf/sys/net/if_ethersubr.c#12 edit .. //depot/projects/netperf/sys/netinet/ip_dummynet.c#19 edit .. //depot/projects/netperf/sys/netinet/ip_dummynet.h#4 edit .. //depot/projects/netperf/sys/netinet/ip_input.c#25 edit .. //depot/projects/netperf/sys/netinet/ip_output.c#18 edit Differences ... ==== //depot/projects/netperf/sys/net/if_ethersubr.c#12 (text+ko) ==== @@ -323,12 +323,7 @@ int ether_output_frame(struct ifnet *ifp, struct mbuf *m) { - struct ip_fw *rule = NULL; - - /* Extract info from dummynet tag, ignore others */ - for (; m->m_type == MT_TAG; m = m->m_next) - if (m->m_flags == PACKET_TAG_DUMMYNET) - rule = ((struct dn_pkt *)m)->rule; + struct ip_fw *rule = ip_dn_find_rule(m); if (rule == NULL && BDG_ACTIVE(ifp)) { /* @@ -613,14 +608,7 @@ #if defined(NETATALK) struct llc *l; #endif - struct ip_fw *rule = NULL; - - /* Extract info from dummynet tag, ignore others */ - for (;m->m_type == MT_TAG; m = m->m_next) - if (m->m_flags == PACKET_TAG_DUMMYNET) { - rule = ((struct dn_pkt *)m)->rule; - ifp = m->m_next->m_pkthdr.rcvif; - } + struct ip_fw *rule = ip_dn_find_rule(m); KASSERT(ifp != NULL, ("ether_demux: NULL interface pointer")); ==== //depot/projects/netperf/sys/netinet/ip_dummynet.c#19 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.74 2003/11/23 18:13:41 sam Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.73 2003/11/08 23:36:31 sam Exp $ */ #define DUMMYNET_DEBUG @@ -405,6 +405,22 @@ */ /* + * Return the mbuf tag holding the dummynet state. As an optimization + * this is assumed to be the first tag on the list. If this turns out + * wrong we'll need to search the list. + */ +static struct dn_pkt_tag * +dn_tag_get(struct mbuf *m) +{ + struct m_tag *mtag = m_tag_first(m); + KASSERT(mtag != NULL && + mtag->m_tag_cookie == MTAG_ABI_COMPAT && + mtag->m_tag_id == PACKET_TAG_DUMMYNET, + ("packet on dummynet queue w/o dummynet tag!")); + return (struct dn_pkt_tag *)(mtag+1); +} + +/* * Scheduler functions: * * transmit_event() is called when the delay-line needs to enter @@ -425,87 +441,85 @@ static void transmit_event(struct dn_pipe *pipe) { - struct dn_pkt *pkt ; + struct mbuf *m ; + struct dn_pkt_tag *pkt ; DUMMYNET_LOCK_ASSERT(); - while ( (pkt = pipe->head) && DN_KEY_LEQ(pkt->output_time, curr_time) ) { + while ( (m = pipe->head) ) { + pkt = dn_tag_get(m); + if ( !DN_KEY_LEQ(pkt->output_time, curr_time) ) + break; /* * first unlink, then call procedures, since ip_input() can invoke * ip_output() and viceversa, thus causing nested calls */ - pipe->head = DN_NEXT(pkt) ; + pipe->head = m->m_nextpkt ; /* XXX: drop the lock for now to avoid LOR's */ DUMMYNET_UNLOCK(); - /* - * The actual mbuf is preceded by a struct dn_pkt, resembling an mbuf - * (NOT A REAL one, just a small block of malloc'ed memory) with - * m_type = MT_TAG, m_flags = PACKET_TAG_DUMMYNET - * dn_m (m_next) = actual mbuf to be processed by ip_input/output - * and some other fields. - * The block IS FREED HERE because it contains parameters passed - * to the called routine. - */ switch (pkt->dn_dir) { case DN_TO_IP_OUT: - (void)ip_output((struct mbuf *)pkt, NULL, NULL, 0, NULL, NULL); - rt_unref (pkt->ro.ro_rt, __func__) ; + (void)ip_output(m, NULL, NULL, pkt->flags, NULL, NULL); break ; case DN_TO_IP_IN : - ip_input((struct mbuf *)pkt) ; + ip_input(m) ; break ; case DN_TO_BDG_FWD : - if (!BDG_LOADED) { + /* + * The bridge requires/assumes the Ethernet header is + * contiguous in the first mbuf header. Insure this is true. + */ + if (BDG_LOADED) { + if (m->m_len < ETHER_HDR_LEN && + (m = m_pullup(m, ETHER_HDR_LEN)) == NULL) { + printf("dummynet/bridge: pullup fail, dropping pkt\n"); + break; + } + m = bdg_forward_ptr(m, pkt->ifp); + } else { /* somebody unloaded the bridge module. Drop pkt */ /* XXX rate limit */ printf("dummynet: dropping bridged packet trapped in pipe\n"); - m_freem(pkt->dn_m); + } + if (m) + m_freem(m); + break; + + case DN_TO_ETH_DEMUX: + /* + * The Ethernet code assumes the Ethernet header is + * contiguous in the first mbuf header. Insure this is true. + */ + if (m->m_len < ETHER_HDR_LEN && + (m = m_pullup(m, ETHER_HDR_LEN)) == NULL) { + printf("dummynet/ether: pullup fail, dropping pkt\n"); break; - } /* fallthrough */ - case DN_TO_ETH_DEMUX: - { - struct mbuf *m = (struct mbuf *)pkt ; - - if (pkt->dn_m->m_len < ETHER_HDR_LEN && - (pkt->dn_m = m_pullup(pkt->dn_m, ETHER_HDR_LEN)) == NULL) { - printf("dummynet/bridge: pullup fail, dropping pkt\n"); - break; - } - /* - * bdg_forward() wants a pointer to the pseudo-mbuf-header, but - * on return it will supply the pointer to the actual packet - * (originally pkt->dn_m, but could be something else now) if - * it has not consumed it. - */ - if (pkt->dn_dir == DN_TO_BDG_FWD) { - m = bdg_forward_ptr(m, pkt->ifp); - if (m) - m_freem(m); - } else - ether_demux(NULL, m); /* which consumes the mbuf */ } + ether_demux(m->m_pkthdr.rcvif, m); /* which consumes the mbuf */ break ; + case DN_TO_ETH_OUT: - ether_output_frame(pkt->ifp, (struct mbuf *)pkt); + ether_output_frame(pkt->ifp, m); break; default: printf("dummynet: bad switch %d!\n", pkt->dn_dir); - m_freem(pkt->dn_m); + m_freem(m); break ; } - free(pkt, M_DUMMYNET); DUMMYNET_LOCK(); } /* if there are leftover packets, put into the heap for next event */ - if ( (pkt = pipe->head) ) - heap_insert(&extract_heap, pkt->output_time, pipe ) ; - /* XXX should check errors on heap_insert, by draining the - * whole pipe p and hoping in the future we are more successful - */ + if ( (m = pipe->head) ) { + pkt = dn_tag_get(m) ; + /* XXX should check errors on heap_insert, by draining the + * whole pipe p and hoping in the future we are more successful + */ + heap_insert(&extract_heap, pkt->output_time, pipe ) ; + } } /* @@ -513,8 +527,8 @@ * before being able to transmit a packet. The credit is taken from * either a pipe (WF2Q) or a flow_queue (per-flow queueing) */ -#define SET_TICKS(pkt, q, p) \ - (pkt->dn_m->m_pkthdr.len*8*hz - (q)->numbytes + p->bandwidth - 1 ) / \ +#define SET_TICKS(_m, q, p) \ + ((_m)->m_pkthdr.len*8*hz - (q)->numbytes + p->bandwidth - 1 ) / \ p->bandwidth ; /* @@ -522,21 +536,23 @@ * and put into delay line (p_queue) */ static void -move_pkt(struct dn_pkt *pkt, struct dn_flow_queue *q, +move_pkt(struct mbuf *pkt, struct dn_flow_queue *q, struct dn_pipe *p, int len) { - q->head = DN_NEXT(pkt) ; + struct dn_pkt_tag *dt = dn_tag_get(pkt); + + q->head = pkt->m_nextpkt ; q->len-- ; q->len_bytes -= len ; - pkt->output_time = curr_time + p->delay ; + dt->output_time = curr_time + p->delay ; if (p->head == NULL) p->head = pkt; else - DN_NEXT(p->tail) = pkt; + p->tail->m_nextpkt = pkt; p->tail = pkt; - DN_NEXT(p->tail) = NULL; + p->tail->m_nextpkt = NULL; } /* @@ -549,7 +565,7 @@ static void ready_event(struct dn_flow_queue *q) { - struct dn_pkt *pkt; + struct mbuf *pkt; struct dn_pipe *p = q->fs->pipe ; int p_was_empty ; @@ -571,7 +587,7 @@ */ q->numbytes += ( curr_time - q->sched_time ) * p->bandwidth; while ( (pkt = q->head) != NULL ) { - int len = pkt->dn_m->m_pkthdr.len; + int len = pkt->m_pkthdr.len; int len_scaled = p->bandwidth ? len*8*hz : 0 ; if (len_scaled > q->numbytes ) break ; @@ -639,9 +655,9 @@ while ( p->numbytes >=0 && (sch->elements>0 || neh->elements >0) ) { if (sch->elements > 0) { /* have some eligible pkts to send out */ struct dn_flow_queue *q = sch->p[0].object ; - struct dn_pkt *pkt = q->head; + struct mbuf *pkt = q->head; struct dn_flow_set *fs = q->fs; - u_int64_t len = pkt->dn_m->m_pkthdr.len; + u_int64_t len = pkt->m_pkthdr.len; int len_scaled = p->bandwidth ? len*8*hz : 0 ; heap_extract(sch, NULL); /* remove queue from heap */ @@ -658,7 +674,7 @@ * update F and position in backlogged queue, then * put flow in not_eligible_heap (we will fix this later). */ - len = (q->head)->dn_m->m_pkthdr.len; + len = (q->head)->m_pkthdr.len; q->F += (len<weight ; if (DN_KEY_LEQ(q->S, p->V)) heap_insert(neh, q->S, q); @@ -713,7 +729,7 @@ if (p->bandwidth > 0) t = ( p->bandwidth -1 - p->numbytes) / p->bandwidth ; - p->tail->output_time += t ; + dn_tag_get(p->tail)->output_time += t ; p->sched_time = curr_time ; heap_insert(&wfq_ready_heap, curr_time + t, (void *)p); /* XXX should check errors on heap_insert, and drain the whole @@ -1116,7 +1132,8 @@ static int dummynet_io(struct mbuf *m, int pipe_nr, int dir, struct ip_fw_args *fwa) { - struct dn_pkt *pkt; + struct dn_pkt_tag *pkt; + struct m_tag *mtag; struct dn_flow_set *fs; struct dn_pipe *pipe ; u_int64_t len = m->m_pkthdr.len ; @@ -1124,7 +1141,9 @@ int is_pipe; #if IPFW2 ipfw_insn *cmd = fwa->rule->cmd + fwa->rule->act_ofs; +#endif +#if IPFW2 if (cmd->opcode == O_LOG) cmd += F_LEN(cmd); is_pipe = (cmd->opcode == O_PIPE); @@ -1175,16 +1194,17 @@ goto dropit ; /* XXX expensive to zero, see if we can remove it*/ - pkt = (struct dn_pkt *)malloc(sizeof (*pkt), M_DUMMYNET, M_NOWAIT|M_ZERO); - if ( pkt == NULL ) + mtag = m_tag_get(PACKET_TAG_DUMMYNET, + sizeof(struct dn_pkt_tag), M_NOWAIT|M_ZERO); + if ( mtag == NULL ) goto dropit ; /* cannot allocate packet header */ + m_tag_prepend(m, mtag); /* attach to mbuf chain */ + m->m_nextpkt = NULL; + + pkt = (struct dn_pkt_tag *)(mtag+1); /* ok, i can handle the pkt now... */ /* build and enqueue packet + parameters */ - pkt->hdr.mh_type = MT_TAG; - pkt->hdr.mh_flags = PACKET_TAG_DUMMYNET; pkt->rule = fwa->rule ; - DN_NEXT(pkt) = NULL; - pkt->dn_m = m; pkt->dn_dir = dir ; pkt->ifp = fwa->oif; @@ -1206,14 +1226,14 @@ pkt->flags = fwa->flags; } if (q->head == NULL) - q->head = pkt; + q->head = m; else - DN_NEXT(q->tail) = pkt; - q->tail = pkt; + q->tail->m_nextpkt = m; + q->tail = m; q->len++; q->len_bytes += len ; - if ( q->head != pkt ) /* flow was not idle, we are done */ + if ( q->head != m ) /* flow was not idle, we are done */ goto done; /* * If we reach this point the flow was previously idle, so we need @@ -1226,7 +1246,7 @@ */ dn_key t = 0 ; if (pipe->bandwidth) - t = SET_TICKS(pkt, q, pipe); + t = SET_TICKS(m, q, pipe); q->sched_time = curr_time ; if (t == 0) /* must process it now */ ready_event( q ); @@ -1300,12 +1320,10 @@ * Below, the rt_unref is only needed when (pkt->dn_dir == DN_TO_IP_OUT) * Doing this would probably save us the initial bzero of dn_pkt */ -#define DN_FREE_PKT(pkt) { \ - struct dn_pkt *n = pkt ; \ - rt_unref ( n->ro.ro_rt, __func__ ) ; \ - m_freem(n->dn_m); \ - pkt = DN_NEXT(n) ; \ - free(n, M_DUMMYNET) ; } +#define DN_FREE_PKT(_m) do { \ + rt_unref(dn_tag_get(_m)->ro.ro_rt, __func__); \ + m_freem(_m); \ +} while (0) /* * Dispose all packets and flow_queues on a flow_set. @@ -1316,7 +1334,6 @@ static void purge_flow_set(struct dn_flow_set *fs, int all) { - struct dn_pkt *pkt ; struct dn_flow_queue *q, *qn ; int i ; @@ -1324,8 +1341,13 @@ for (i = 0 ; i <= fs->rq_size ; i++ ) { for (q = fs->rq[i] ; q ; q = qn ) { - for (pkt = q->head ; pkt ; ) - DN_FREE_PKT(pkt) ; + struct mbuf *m, *mnext; + + mnext = q->head; + while ((m = mnext) != NULL) { + mnext = m->m_nextpkt; + DN_FREE_PKT(m); + } qn = q->next ; free(q, M_DUMMYNET); } @@ -1352,12 +1374,15 @@ static void purge_pipe(struct dn_pipe *pipe) { - struct dn_pkt *pkt ; + struct mbuf *m, *mnext; purge_flow_set( &(pipe->fs), 1 ); - for (pkt = pipe->head ; pkt ; ) - DN_FREE_PKT(pkt) ; + mnext = pipe->head; + while ((m = mnext) != NULL) { + mnext = m->m_nextpkt; + DN_FREE_PKT(m); + } heap_free( &(pipe->scheduler_heap) ); heap_free( &(pipe->not_eligible_heap) ); @@ -1412,13 +1437,15 @@ { int i ; struct dn_flow_queue *q ; - struct dn_pkt *pkt ; + struct mbuf *m ; for (i = 0 ; i <= fs->rq_size ; i++) /* last one is ovflow */ for (q = fs->rq[i] ; q ; q = q->next ) - for (pkt = q->head ; pkt ; pkt = DN_NEXT(pkt) ) + for (m = q->head ; m ; m = m->m_nextpkt ) { + struct dn_pkt_tag *pkt = dn_tag_get(m) ; if (pkt->rule == r) pkt->rule = ip_fw_default_rule ; + } } /* * when a firewall rule is deleted, scan all queues and remove the flow-id @@ -1428,8 +1455,9 @@ dn_rule_delete(void *r) { struct dn_pipe *p ; - struct dn_pkt *pkt ; struct dn_flow_set *fs ; + struct dn_pkt_tag *pkt ; + struct mbuf *m ; DUMMYNET_LOCK(); /* @@ -1442,9 +1470,11 @@ for ( p = all_pipes ; p ; p = p->next ) { fs = &(p->fs) ; dn_rule_delete_fs(fs, r); - for (pkt = p->head ; pkt ; pkt = DN_NEXT(pkt) ) + for (m = p->head ; m ; m = m->m_nextpkt ) { + pkt = dn_tag_get(m) ; if (pkt->rule == r) pkt->rule = ip_fw_default_rule ; + } } DUMMYNET_UNLOCK(); } @@ -1718,7 +1748,7 @@ { struct dn_flow_set *fs; struct dn_pipe *p; - struct dn_pkt *pkt; + struct mbuf *m, *mnext; DUMMYNET_LOCK_ASSERT(); @@ -1731,8 +1761,12 @@ for (p = all_pipes; p; p= p->next ) { purge_flow_set(&(p->fs), 0); - for (pkt = p->head ; pkt ; ) - DN_FREE_PKT(pkt) ; + + mnext = p->head; + while ((m = mnext) != NULL) { + mnext = m->m_nextpkt; + DN_FREE_PKT(m); + } p->head = p->tail = NULL ; } } ==== //depot/projects/netperf/sys/netinet/ip_dummynet.h#4 (text+ko) ==== @@ -111,24 +111,12 @@ #ifdef _KERNEL /* - * struct dn_pkt identifies a packet in the dummynet queue, but - * is also used to tag packets passed back to the various destinations - * (ip_input(), ip_output(), bdg_forward() and so on). - * As such the first part of the structure must be a struct m_hdr, - * followed by dummynet-specific parameters. The m_hdr must be - * initialized with - * mh_type = MT_TAG; - * mh_flags = PACKET_TYPE_DUMMYNET; - * mh_next = - * - * mh_nextpkt, mh_data are free for dummynet use (mh_nextpkt is used to - * build a linked list of packets in a dummynet queue). + * Packets processed by dummynet have an mbuf tag associated with + * them that carries their dummynet state. This is used within + * the dummynet code as well as outside when checking for special + * processing requirements. */ -struct dn_pkt { - struct m_hdr hdr ; -#define DN_NEXT(x) (struct dn_pkt *)(x)->hdr.mh_nextpkt -#define dn_m hdr.mh_next /* packet to be forwarded */ - +struct dn_pkt_tag { struct ip_fw *rule; /* matching rule */ int dn_dir; /* action when packet comes out. */ #define DN_TO_IP_OUT 1 @@ -217,7 +205,7 @@ struct dn_flow_queue *next ; struct ipfw_flow_id id ; - struct dn_pkt *head, *tail ; /* queue of packets */ + struct mbuf *head, *tail ; /* queue of packets */ u_int len ; u_int len_bytes ; u_long numbytes ; /* credit for transmission (dynamic queues) */ @@ -330,7 +318,7 @@ int bandwidth; /* really, bytes/tick. */ int delay ; /* really, ticks */ - struct dn_pkt *head, *tail ; /* packets in delay line */ + struct mbuf *head, *tail ; /* packets in delay line */ /* WF2Q+ */ struct dn_heap scheduler_heap ; /* top extract - key Finish time*/ @@ -365,4 +353,13 @@ #define DUMMYNET_LOADED (ip_dn_io_ptr != NULL) #endif +/* + * Return the IPFW rule associated with the dummynet tag; if any. + */ +static __inline struct ip_fw * +ip_dn_find_rule(struct mbuf *m) +{ + struct m_tag *mtag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL); + return mtag ? ((struct dn_pkt_tag *)(mtag+1))->rule : NULL; +} #endif /* _IP_DUMMYNET_H */ ==== //depot/projects/netperf/sys/netinet/ip_input.c#25 (text+ko) ==== @@ -318,7 +318,6 @@ args.eh = NULL; args.oif = NULL; - args.rule = NULL; args.divert_rule = 0; /* divert cookie */ args.next_hop = NULL; @@ -340,10 +339,6 @@ m->_m_tag_id); break; - case PACKET_TAG_DUMMYNET: - args.rule = ((struct dn_pkt *)m)->rule; - break; - case PACKET_TAG_DIVERT: args.divert_rule = (intptr_t)m->m_hdr.mh_data & 0xffff; break; @@ -363,6 +358,7 @@ if (m0->m_nextpkt == (struct mbuf *)1) m_free(m0); } + args.rule = ip_dn_find_rule(m); M_ASSERTPKTHDR(m); ==== //depot/projects/netperf/sys/netinet/ip_output.c#18 (text+ko) ==== @@ -143,6 +143,7 @@ int isbroadcast, sw_csum; struct in_addr pkt_dst; struct route iproute; + struct m_tag *dummytag; /* dummynet packet tag */ #ifdef IPSEC struct socket *so; struct secpolicy *sp = NULL; @@ -169,21 +170,6 @@ m0->_m_tag_id); break; - case PACKET_TAG_DUMMYNET: - /* - * the packet was already tagged, so part of the - * processing was already done, and we need to go down. - * Get parameters from the header. - */ - args.rule = ((struct dn_pkt *)m0)->rule; - opt = NULL ; - ro = & ( ((struct dn_pkt *)m0)->ro ) ; - imo = NULL ; - dst = ((struct dn_pkt *)m0)->dn_dst ; - ifp = ((struct dn_pkt *)m0)->ifp ; - flags = ((struct dn_pkt *)m0)->flags ; - break; - case PACKET_TAG_DIVERT: args.divert_rule = (intptr_t)m0->m_data & 0xffff; break; @@ -210,7 +196,34 @@ if (inp != NULL) INP_LOCK_ASSERT(inp); - if (args.rule != NULL) { /* dummynet already saw us */ + /* + * When packet comes from dummynet restore state from + * previous processing instead of the header. Yech! + * + * XXX add conditional compilation? + */ + dummytag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL); + if (dummytag != NULL) { + struct dn_pkt_tag *dt = (struct dn_pkt_tag *)(dummytag+1); + + /* + * NB: the route in the tag is known to have a + * reference that must be free'd, but doing this + * before the storage is reclaimed is painful due + * to some of the contorted code in this routine. + * So instead unlink the tag from the mbuf so it + * doesn't get reclaimed and do the cleanup explicitly + * below. We should be able to do this automatically + * using a uma dtor method when m_tag's can be + * allocated from zones. + */ + m_tag_unlink(m, dummytag); + + args.rule = dt->rule; + ro = &dt->ro; + dst = dt->dn_dst; + ifp = dt->ifp; + ip = mtod(m, struct ip *); hlen = ip->ip_hl << 2 ; if (ro->ro_rt) @@ -1081,6 +1094,12 @@ RTFREE(ro->ro_rt); ro->ro_rt = NULL; } + if (dummytag) { + struct dn_pkt_tag *dt = (struct dn_pkt_tag *)(dummytag+1); + if (dt->ro.ro_rt) + RTFREE(dt->ro.ro_rt); + m_tag_free(dummytag); + } #ifdef IPSEC if (sp != NULL) { KEYDEBUG(KEYDEBUG_IPSEC_STAMP, From owner-p4-projects@FreeBSD.ORG Mon Nov 24 11:34:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E00316A4E6; Mon, 24 Nov 2003 11:34:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC20F16A4DA for ; Mon, 24 Nov 2003 11:34:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E90E43FE9 for ; Mon, 24 Nov 2003 11:34:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOJYNXJ020487 for ; Mon, 24 Nov 2003 11:34:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOJYMro020484 for perforce@freebsd.org; Mon, 24 Nov 2003 11:34:22 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 11:34:22 -0800 (PST) Message-Id: <200311241934.hAOJYMro020484@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 Subject: PERFORCE change 43002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 19:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=43002 Change 43002 by sam@sam_ebb on 2003/11/24 11:34:18 workaround LOR in rt_setgate Affected files ... .. //depot/projects/netperf/sys/net/route.c#29 edit Differences ... ==== //depot/projects/netperf/sys/net/route.c#29 (text+ko) ==== @@ -1111,8 +1111,10 @@ arg.rnh = rnh; arg.rt0 = rt; - /* XXX LOR here */ + /* XXX workaround LOR */ + RT_UNLOCK(rt); RADIX_NODE_HEAD_LOCK(rnh); + RT_LOCK(rt); rnh->rnh_walktree_from(rnh, rt_key(rt), rt_mask(rt), rt_fixchange, &arg); RADIX_NODE_HEAD_UNLOCK(rnh); From owner-p4-projects@FreeBSD.ORG Mon Nov 24 12:54:01 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B10F16A4D0; Mon, 24 Nov 2003 12:54:01 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E42216A4CE for ; Mon, 24 Nov 2003 12:54:01 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 62CFF43FA3 for ; Mon, 24 Nov 2003 12:54:00 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAOKs0XJ029615 for ; Mon, 24 Nov 2003 12:54:00 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAOKrxo0029612 for perforce@freebsd.org; Mon, 24 Nov 2003 12:53:59 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 12:53:59 -0800 (PST) Message-Id: <200311242053.hAOKrxo0029612@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 Subject: PERFORCE change 43004 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Nov 2003 20:54:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=43004 Change 43004 by sam@sam_ebb on 2003/11/24 12:53:14 split the "inp" mutex class into separate classes for each of divert, raw, tcp, udp, raw6, and udp6 sockets to avoid spurious witness complaints Affected files ... .. //depot/projects/netperf/sys/netinet/in_pcb.c#20 edit .. //depot/projects/netperf/sys/netinet/in_pcb.h#16 edit .. //depot/projects/netperf/sys/netinet/ip_divert.c#17 edit .. //depot/projects/netperf/sys/netinet/raw_ip.c#13 edit .. //depot/projects/netperf/sys/netinet/tcp_usrreq.c#8 edit .. //depot/projects/netperf/sys/netinet/udp_usrreq.c#14 edit .. //depot/projects/netperf/sys/netinet6/raw_ip6.c#11 edit .. //depot/projects/netperf/sys/netinet6/udp6_usrreq.c#7 edit Differences ... ==== //depot/projects/netperf/sys/netinet/in_pcb.c#20 (text+ko) ==== @@ -157,10 +157,11 @@ * Allocate a PCB and associate it with the socket. */ int -in_pcballoc(so, pcbinfo, td) +in_pcballoc(so, pcbinfo, td, type) struct socket *so; struct inpcbinfo *pcbinfo; struct thread *td; + const char *type; { register struct inpcb *inp; int error; @@ -198,7 +199,7 @@ LIST_INSERT_HEAD(pcbinfo->listhead, inp, inp_list); pcbinfo->ipi_count++; so->so_pcb = (caddr_t)inp; - INP_LOCK_INIT(inp, "inp"); + INP_LOCK_INIT(inp, "inp", type); #ifdef INET6 if (ip6_auto_flowlabel) inp->inp_flags |= IN6P_AUTOFLOWLABEL; ==== //depot/projects/netperf/sys/netinet/in_pcb.h#16 (text+ko) ==== @@ -242,8 +242,8 @@ * this code is shared by both IPv4 and IPv6 and IPv6 is * not properly locked. */ -#define INP_LOCK_INIT(inp, d) \ - mtx_init(&(inp)->inp_mtx, (d), NULL, MTX_DEF | MTX_RECURSE | MTX_DUPOK) +#define INP_LOCK_INIT(inp, d, t) \ + mtx_init(&(inp)->inp_mtx, (d), (t), MTX_DEF | MTX_RECURSE | MTX_DUPOK) #define INP_LOCK_DESTROY(inp) mtx_destroy(&(inp)->inp_mtx) #define INP_LOCK(inp) mtx_lock(&(inp)->inp_mtx) #define INP_UNLOCK(inp) mtx_unlock(&(inp)->inp_mtx) @@ -337,7 +337,8 @@ extern int ipport_hilastauto; void in_pcbpurgeif0(struct inpcbinfo *, struct ifnet *); -int in_pcballoc(struct socket *, struct inpcbinfo *, struct thread *); +int in_pcballoc(struct socket *, struct inpcbinfo *, struct thread *, + const char *); int in_pcbbind(struct inpcb *, struct sockaddr *, struct thread *); int in_pcbbind_setup(struct inpcb *, struct sockaddr *, in_addr_t *, u_short *, struct thread *); ==== //depot/projects/netperf/sys/netinet/ip_divert.c#17 (text+ko) ==== @@ -393,7 +393,7 @@ INP_INFO_WUNLOCK(&divcbinfo); return error; } - error = in_pcballoc(so, &divcbinfo, td); + error = in_pcballoc(so, &divcbinfo, td, "divinp"); if (error) { INP_INFO_WUNLOCK(&divcbinfo); return error; ==== //depot/projects/netperf/sys/netinet/raw_ip.c#13 (text+ko) ==== @@ -541,7 +541,7 @@ INP_INFO_WUNLOCK(&ripcbinfo); return error; } - error = in_pcballoc(so, &ripcbinfo, td); + error = in_pcballoc(so, &ripcbinfo, td, "rawinp"); if (error) { INP_INFO_WUNLOCK(&ripcbinfo); return error; ==== //depot/projects/netperf/sys/netinet/tcp_usrreq.c#8 (text+ko) ==== @@ -1175,7 +1175,7 @@ if (error) return (error); } - error = in_pcballoc(so, &tcbinfo, td); + error = in_pcballoc(so, &tcbinfo, td, "tcpinp"); if (error) return (error); inp = sotoinpcb(so); ==== //depot/projects/netperf/sys/netinet/udp_usrreq.c#14 (text+ko) ==== @@ -943,7 +943,7 @@ return error; } s = splnet(); - error = in_pcballoc(so, &udbinfo, td); + error = in_pcballoc(so, &udbinfo, td, "udpinp"); splx(s); if (error) { INP_INFO_WUNLOCK(&udbinfo); ==== //depot/projects/netperf/sys/netinet6/raw_ip6.c#11 (text+ko) ==== @@ -580,7 +580,7 @@ if (error) return error; s = splnet(); - error = in_pcballoc(so, &ripcbinfo, td); + error = in_pcballoc(so, &ripcbinfo, td, "raw6inp"); splx(s); if (error) return error; ==== //depot/projects/netperf/sys/netinet6/udp6_usrreq.c#7 (text+ko) ==== @@ -560,7 +560,7 @@ return error; } s = splnet(); - error = in_pcballoc(so, &udbinfo, td); + error = in_pcballoc(so, &udbinfo, td, "udp6inp"); splx(s); if (error) return error; From owner-p4-projects@FreeBSD.ORG Mon Nov 24 16:38:04 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E04216A4D1; Mon, 24 Nov 2003 16:38:04 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3721B16A4CE for ; Mon, 24 Nov 2003 16:38:04 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C5994400D for ; Mon, 24 Nov 2003 16:37:46 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAP0bjXJ040786 for ; Mon, 24 Nov 2003 16:37:45 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAP0bjqu040783 for perforce@freebsd.org; Mon, 24 Nov 2003 16:37:45 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 16:37:45 -0800 (PST) Message-Id: <200311250037.hAP0bjqu040783@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 Subject: PERFORCE change 43019 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 00:38:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=43019 Change 43019 by sam@sam_ebb on 2003/11/24 16:37:31 replace MT_TAG mbufs by m_tag's for divert sockets; move divert-related definitions to a new ip_divert.h file Affected files ... .. //depot/projects/netperf/sys/net/if_ethersubr.c#13 edit .. //depot/projects/netperf/sys/netinet/in_proto.c#7 edit .. //depot/projects/netperf/sys/netinet/ip_divert.c#18 edit .. //depot/projects/netperf/sys/netinet/ip_divert.h#1 add .. //depot/projects/netperf/sys/netinet/ip_fastfwd.c#4 edit .. //depot/projects/netperf/sys/netinet/ip_fw.h#5 edit .. //depot/projects/netperf/sys/netinet/ip_fw2.c#19 edit .. //depot/projects/netperf/sys/netinet/ip_input.c#26 edit .. //depot/projects/netperf/sys/netinet/ip_output.c#19 edit .. //depot/projects/netperf/sys/netinet/ip_var.h#14 edit Differences ... ==== //depot/projects/netperf/sys/net/if_ethersubr.c#13 (text+ko) ==== @@ -393,7 +393,6 @@ args.m = m; /* the packet we are looking at */ args.oif = dst; /* destination, if any */ - args.divert_rule = 0; /* we do not support divert yet */ args.rule = *rule; /* matching rule to restart */ args.next_hop = NULL; /* we do not support forward yet */ args.eh = &save_eh; /* MAC header for bridged/MAC packets */ ==== //depot/projects/netperf/sys/netinet/in_proto.c#7 (text+ko) ==== @@ -57,6 +57,7 @@ #include #include #include +#include #include #ifdef PIM #include ==== //depot/projects/netperf/sys/netinet/ip_divert.c#18 (text+ko) ==== @@ -68,6 +68,7 @@ #include #include #include +#include #include /* @@ -150,17 +151,21 @@ * then pass them along with mbuf chain. */ void -divert_packet(struct mbuf *m, int incoming, int port, int rule) +divert_packet(struct mbuf *m, int incoming) { struct ip *ip; struct inpcb *inp; struct socket *sa; u_int16_t nport; struct sockaddr_in divsrc; + struct m_tag *mtag; - /* Sanity check */ - KASSERT(port != 0, ("%s: port=0", __func__)); - + mtag = m_tag_find(m, PACKET_TAG_DIVERT, NULL); + if (mtag == NULL) { + printf("%s: no divert tag\n", __func__); + m_freem(m); + return; + } /* Assure header */ if (m->m_len < sizeof(struct ip) && (m = m_pullup(m, sizeof(struct ip))) == 0) @@ -174,7 +179,7 @@ bzero(&divsrc, sizeof(divsrc)); divsrc.sin_len = sizeof(divsrc); divsrc.sin_family = AF_INET; - divsrc.sin_port = rule; /* record matching rule */ + divsrc.sin_port = divert_cookie(mtag); /* record matching rule */ if (incoming) { struct ifaddr *ifa; @@ -234,7 +239,7 @@ mtx_lock(&Giant); /* Put packet on socket queue, if any */ sa = NULL; - nport = htons((u_int16_t)port); + nport = htons((u_int16_t)divert_info(mtag)); INP_INFO_RLOCK(&divcbinfo); LIST_FOREACH(inp, &divcb, inp_list) { INP_LOCK(inp); @@ -273,19 +278,8 @@ struct sockaddr_in *sin, struct mbuf *control) { int error = 0; - struct m_hdr divert_tag; - /* - * Prepare the tag for divert info. Note that a packet - * with a 0 tag in mh_data is effectively untagged, - * so we could optimize that case. - */ - divert_tag.mh_type = MT_TAG; - divert_tag.mh_flags = PACKET_TAG_DIVERT; - divert_tag.mh_next = m; - divert_tag.mh_data = 0; /* the matching rule # */ - divert_tag.mh_nextpkt = NULL; - m->m_pkthdr.rcvif = NULL; /* XXX is it necessary ? */ + KASSERT(m->m_pkthdr.rcvif == NULL, ("rcvif not null")); #ifdef MAC mac_create_mbuf_from_socket(so, m); @@ -296,9 +290,21 @@ /* Loopback avoidance and state recovery */ if (sin) { + struct m_tag *mtag; + struct divert_tag *dt; int i; - divert_tag.mh_data = (caddr_t)(uintptr_t)sin->sin_port; + mtag = m_tag_get(PACKET_TAG_DIVERT, + sizeof(struct divert_tag), M_NOWAIT); + if (mtag == NULL) { + error = ENOBUFS; + goto cantsend; + } + dt = (struct divert_tag *)(mtag+1); + dt->info = 0; + dt->cookie = sin->sin_port; + m_tag_prepend(m, mtag); + /* * Find receive interface with the given name, stuffed * (if it exists) in the sin_zero[] field. @@ -335,7 +341,7 @@ /* Send packet to output processing */ ipstat.ips_rawout++; /* XXX */ - error = ip_output((struct mbuf *)&divert_tag, + error = ip_output(m, inp->inp_options, NULL, (so->so_options & SO_DONTROUTE) | IP_ALLOWBROADCAST | IP_RAWOUTPUT, @@ -362,7 +368,7 @@ m->m_pkthdr.rcvif = ifa->ifa_ifp; } /* Send packet to input processing */ - ip_input((struct mbuf *)&divert_tag); + ip_input(m); } return error; @@ -372,6 +378,27 @@ return error; } +/* + * Return a copy of the specified packet, but without + * the divert tag. This is used when packets are ``tee'd'' + * and we want the cloned copy to not have divert processing. + */ +struct mbuf * +divert_clone(struct mbuf *m) +{ + struct mbuf *clone; + struct m_tag *mtag; + + clone = m_dup(m, M_DONTWAIT); + if (clone != NULL) { + /* strip divert tag from copy */ + mtag = m_tag_find(clone, PACKET_TAG_DIVERT, NULL); + if (mtag != NULL) + m_tag_delete(clone, mtag); + } + return clone; +} + static int div_attach(struct socket *so, int proto, struct thread *td) { ==== //depot/projects/netperf/sys/netinet/ip_fastfwd.c#4 (text+ko) ==== @@ -110,6 +110,7 @@ #include #include +#include #include static int ipfastforward_active = 0; @@ -373,25 +374,13 @@ /* * See if this is a fragment */ - if (ip->ip_off & (IP_MF | IP_OFFMASK)) { - MGETHDR(tag, M_DONTWAIT, MT_TAG); - if (tag == NULL) - goto drop; - tag->m_flags = PACKET_TAG_DIVERT; - tag->m_data = (caddr_t)(intptr_t)args.divert_rule; - tag->m_next = m; - /* XXX: really bloody hack, see ip_input */ - tag->m_nextpkt = (struct mbuf *)1; - m = tag; - tag = NULL; - + if (ip->ip_off & (IP_MF | IP_OFFMASK)) goto droptoours; - } /* * Tee packet */ if ((ipfw & IP_FW_PORT_TEE_FLAG) != 0) - teem = m_dup(m, M_DONTWAIT); + teem = divert_clone(m); else teem = m; if (teem == NULL) @@ -413,7 +402,7 @@ /* * Deliver packet to divert input routine */ - divert_packet(teem, 0, ipfw & 0xffff, args.divert_rule); + divert_packet(teem, 0); /* * If this was not tee, we are done */ @@ -560,27 +549,13 @@ /* * See if this is a fragment */ - if (ip->ip_off & (IP_MF | IP_OFFMASK)) { - MGETHDR(tag, M_DONTWAIT, MT_TAG); - if (tag == NULL) { - RTFREE(ro.ro_rt); - goto drop; - } - tag->m_flags = PACKET_TAG_DIVERT; - tag->m_data = (caddr_t)(intptr_t)args.divert_rule; - tag->m_next = m; - /* XXX: really bloody hack, see ip_input */ - tag->m_nextpkt = (struct mbuf *)1; - m = tag; - tag = NULL; - + if (ip->ip_off & (IP_MF | IP_OFFMASK)) goto droptoours; - } /* * Tee packet */ if ((ipfw & IP_FW_PORT_TEE_FLAG) != 0) - teem = m_dup(m, M_DONTWAIT); + teem = divert_clone(m); else teem = m; if (teem == NULL) @@ -602,7 +577,7 @@ /* * Deliver packet to divert input routine */ - divert_packet(teem, 0, ipfw & 0xffff, args.divert_rule); + divert_packet(teem, 0); /* * If this was not tee, we are done */ ==== //depot/projects/netperf/sys/netinet/ip_fw.h#5 (text+ko) ==== @@ -400,7 +400,6 @@ int flags; /* for dummynet */ struct ipfw_flow_id f_id; /* grabbed from IP header */ - u_int16_t divert_rule; /* divert cookie */ u_int32_t retval; }; ==== //depot/projects/netperf/sys/netinet/ip_fw2.c#19 (text+ko) ==== @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -1462,6 +1463,7 @@ int dyn_dir = MATCH_UNKNOWN; ipfw_dyn_rule *q = NULL; struct ip_fw_chain *chain = &layer3_chain; + struct m_tag *mtag; if (m->m_flags & M_SKIP_FIREWALL) return 0; /* accept */ @@ -1550,6 +1552,7 @@ after_ip_checks: IPFW_LOCK(chain); /* XXX expensive? can we run lock free? */ + mtag = m_tag_find(m, PACKET_TAG_DIVERT, NULL); if (args->rule) { /* * Packet has already been tagged. Look for the next rule @@ -1572,7 +1575,7 @@ * Find the starting rule. It can be either the first * one, or the one after divert_rule if asked so. */ - int skipto = args->divert_rule; + int skipto = mtag ? divert_cookie(mtag) : 0; f = chain->rules; if (args->eh == NULL && skipto != 0) { @@ -1588,7 +1591,9 @@ } } } - args->divert_rule = 0; /* reset to avoid confusion later */ + /* reset divert rule to avoid confusion later */ + if (mtag) + m_tag_delete(m, mtag); /* * Now scan the rules, and parse microinstructions for each rule. @@ -2023,14 +2028,29 @@ goto done; case O_DIVERT: - case O_TEE: + case O_TEE: { + struct divert_tag *dt; + if (args->eh) /* not on layer 2 */ break; - args->divert_rule = f->rulenum; - retval = (cmd->opcode == O_DIVERT) ? + mtag = m_tag_get(PACKET_TAG_DIVERT, + sizeof(struct divert_tag), + M_NOWAIT); + if (mtag == NULL) { + /* XXX statistic */ + /* drop packet */ + IPFW_UNLOCK(chain); + return IP_FW_PORT_DENY_FLAG; + } + dt = (struct divert_tag *)(mtag+1); + dt->cookie = f->rulenum; + dt->info = (cmd->opcode == O_DIVERT) ? cmd->arg1 : cmd->arg1 | IP_FW_PORT_TEE_FLAG; + m_tag_prepend(m, mtag); + retval = dt->info; goto done; + } case O_COUNT: case O_SKIPTO: ==== //depot/projects/netperf/sys/netinet/ip_input.c#26 (text+ko) ==== @@ -78,6 +78,7 @@ #include #include +#include #include #ifdef IPSEC @@ -239,8 +240,7 @@ static void ip_forward(struct mbuf *m, int srcrt, struct sockaddr_in *next_hop); static void ip_freef(struct ipqhead *, struct ipq *); -static struct mbuf *ip_reass(struct mbuf *, struct ipqhead *, - struct ipq *, u_int32_t *, u_int16_t *); +static struct mbuf *ip_reass(struct mbuf *, struct ipqhead *, struct ipq *); /* * IP initialization: fill in IP protocol switch table. @@ -303,7 +303,9 @@ int ours = 0; u_short sum; struct in_addr pkt_dst; - u_int32_t divert_info = 0; /* packet divert/tee info */ +#ifdef IPDIVERT + u_int32_t divert_info; /* packet divert/tee info */ +#endif struct ip_fw_args args; int dchg = 0; /* dest changed after fw */ #ifdef PFIL_HOOKS @@ -318,7 +320,6 @@ args.eh = NULL; args.oif = NULL; - args.divert_rule = 0; /* divert cookie */ args.next_hop = NULL; /* @@ -339,10 +340,6 @@ m->_m_tag_id); break; - case PACKET_TAG_DIVERT: - args.divert_rule = (intptr_t)m->m_hdr.mh_data & 0xffff; - break; - case PACKET_TAG_IPFORWARD: args.next_hop = (struct sockaddr_in *)m->m_hdr.mh_data; break; @@ -527,7 +524,6 @@ #ifdef IPDIVERT if (i != 0 && (i & IP_FW_PORT_DYNT_FLAG) == 0) { /* Divert or tee packet */ - divert_info = i; goto ours; } #endif @@ -835,13 +831,11 @@ /* * Attempt reassembly; if it succeeds, proceed. - * ip_reass() will return a different mbuf, and update - * the divert info in divert_info and args.divert_rule. + * ip_reass() will return a different mbuf. */ ipstat.ips_fragments++; m->m_pkthdr.header = ip; - m = ip_reass(m, - &ipq[sum], fp, &divert_info, &args.divert_rule); + m = ip_reass(m, &ipq[sum], fp); IPQ_UNLOCK(); if (m == 0) return; @@ -851,7 +845,7 @@ hlen = ip->ip_hl << 2; #ifdef IPDIVERT /* Restore original checksum before diverting packet */ - if (divert_info != 0) { + if (divert_find_info(m) != 0) { ip->ip_len += hlen; ip->ip_len = htons(ip->ip_len); ip->ip_off = htons(ip->ip_off); @@ -872,12 +866,15 @@ /* * Divert or tee packet to the divert protocol if required. */ + divert_info = divert_find_info(m); if (divert_info != 0) { - struct mbuf *clone = NULL; + struct mbuf *clone; /* Clone packet if we're doing a 'tee' */ if ((divert_info & IP_FW_PORT_TEE_FLAG) != 0) - clone = m_dup(m, M_DONTWAIT); + clone = divert_clone(m); + else + clone = NULL; /* Restore packet header fields to original values */ ip->ip_len += hlen; @@ -885,7 +882,7 @@ ip->ip_off = htons(ip->ip_off); /* Deliver packet to divert input routine */ - divert_packet(m, 1, divert_info & 0xffff, args.divert_rule); + divert_packet(m, 1); ipstat.ips_delivered++; /* If 'tee', continue with original packet */ @@ -896,12 +893,11 @@ ip->ip_len += hlen; /* * Jump backwards to complete processing of the - * packet. But first clear divert_info to avoid - * entering this block again. - * We do not need to clear args.divert_rule - * or args.next_hop as they will not be used. + * packet. We do not need to clear args.next_hop + * as that will not be used again and the cloned packet + * doesn't contain a divert packet tag so we won't + * re-entry this block. */ - divert_info = 0; goto pass; } #endif @@ -995,8 +991,7 @@ */ static struct mbuf * -ip_reass(struct mbuf *m, struct ipqhead *head, struct ipq *fp, - u_int32_t *divinfo, u_int16_t *divert_rule) +ip_reass(struct mbuf *m, struct ipqhead *head, struct ipq *fp) { struct ip *ip = mtod(m, struct ip *); register struct mbuf *p, *q, *nq; @@ -1038,10 +1033,6 @@ fp->ipq_dst = ip->ip_dst; fp->ipq_frags = m; m->m_nextpkt = NULL; -#ifdef IPDIVERT - fp->ipq_div_info = 0; - fp->ipq_div_cookie = 0; -#endif goto inserted; } else { fp->ipq_nfrags++; @@ -1125,16 +1116,15 @@ inserted: #ifdef IPDIVERT - /* - * Transfer firewall instructions to the fragment structure. - * Only trust info in the fragment at offset 0. - */ - if (ip->ip_off == 0) { - fp->ipq_div_info = *divinfo; - fp->ipq_div_cookie = *divert_rule; + if (ip->ip_off != 0) { + /* + * Strip any divert information; only the info + * on the first fragment is used/kept. + */ + struct m_tag *mtag = m_tag_find(m, PACKET_TAG_DIVERT, NULL); + if (mtag) + m_tag_delete(m, mtag); } - *divinfo = 0; - *divert_rule = 0; #endif /* @@ -1200,15 +1190,7 @@ mac_destroy_ipq(fp); #endif -#ifdef IPDIVERT /* - * Extract firewall instructions from the fragment structure. - */ - *divinfo = fp->ipq_div_info; - *divert_rule = fp->ipq_div_cookie; -#endif - - /* * Create header for new ip packet by * modifying header of first packet; * dequeue and discard fragment reassembly header. @@ -1228,10 +1210,6 @@ return (m); dropfrag: -#ifdef IPDIVERT - *divinfo = 0; - *divert_rule = 0; -#endif ipstat.ips_fragdropped++; if (fp != NULL) fp->ipq_nfrags--; ==== //depot/projects/netperf/sys/netinet/ip_output.c#19 (text+ko) ==== @@ -90,6 +90,7 @@ #endif /*FAST_IPSEC*/ #include +#include #include #define print_ip(x, a, y) printf("%s %d.%d.%d.%d%s",\ @@ -160,7 +161,6 @@ args.eh = NULL; args.rule = NULL; args.next_hop = NULL; - args.divert_rule = 0; /* divert cookie */ /* Grab info from MT_TAG mbufs prepended to the chain. */ for (; m0 && m0->m_type == MT_TAG; m0 = m0->m_next) { @@ -170,10 +170,6 @@ m0->_m_tag_id); break; - case PACKET_TAG_DIVERT: - args.divert_rule = (intptr_t)m0->m_data & 0xffff; - break; - case PACKET_TAG_IPFORWARD: args.next_hop = (struct sockaddr_in *)m0->m_data; break; @@ -819,11 +815,13 @@ } #ifdef IPDIVERT if (off != 0 && (off & IP_FW_PORT_DYNT_FLAG) == 0) { - struct mbuf *clone = NULL; + struct mbuf *clone; /* Clone packet if we're doing a 'tee' */ if ((off & IP_FW_PORT_TEE_FLAG) != 0) - clone = m_dup(m, M_DONTWAIT); + clone = divert_clone(m); + else + clone = NULL; /* * XXX @@ -840,7 +838,7 @@ ip->ip_off = htons(ip->ip_off); /* Deliver packet to divert input routine */ - divert_packet(m, 0, off & 0xffff, args.divert_rule); + divert_packet(m, 0); /* If 'tee', continue with original packet */ if (clone != NULL) { ==== //depot/projects/netperf/sys/netinet/ip_var.h#14 (text+ko) ==== @@ -65,8 +65,6 @@ struct mbuf *ipq_frags; /* to ip headers of fragments */ struct in_addr ipq_src,ipq_dst; u_char ipq_nfrags; /* # frags in this packet */ - u_int32_t ipq_div_info; /* ipfw divert port & flags */ - u_int16_t ipq_div_cookie; /* ipfw divert cookie */ struct label *ipq_label; /* MAC label */ }; #endif /* _KERNEL */ @@ -198,14 +196,6 @@ extern void (*rsvp_input_p)(struct mbuf *m, int off); -#ifdef IPDIVERT -void div_init(void); -void div_input(struct mbuf *, int); -void div_ctlinput(int, struct sockaddr *, void *); -void divert_packet(struct mbuf *m, int incoming, int port, int rule); -extern struct pr_usrreqs div_usrreqs; -#endif - #ifdef PFIL_HOOKS extern struct pfil_head inet_pfil_hook; #endif From owner-p4-projects@FreeBSD.ORG Mon Nov 24 17:29:51 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C50B16A4D0; Mon, 24 Nov 2003 17:29:51 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57D3716A4CE for ; Mon, 24 Nov 2003 17:29:51 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B6AEC43F75 for ; Mon, 24 Nov 2003 17:29:50 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAP1ToXJ048943 for ; Mon, 24 Nov 2003 17:29:50 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAP1ToKR048940 for perforce@freebsd.org; Mon, 24 Nov 2003 17:29:50 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 17:29:50 -0800 (PST) Message-Id: <200311250129.hAP1ToKR048940@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 Subject: PERFORCE change 43022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 01:29:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=43022 Change 43022 by sam@sam_ebb on 2003/11/24 17:29:23 fixup a dummynet MT_TAG reference that is now an m_tag Affected files ... .. //depot/projects/netperf/sys/net/bridge.c#14 edit Differences ... ==== //depot/projects/netperf/sys/net/bridge.c#14 (text+ko) ==== @@ -920,14 +920,11 @@ DDB(quad_t ticks; ticks = rdtsc();) - args.rule = NULL; /* did we match a firewall rule ? */ - /* Fetch state from dummynet tag, ignore others */ - for (;m0->m_type == MT_TAG; m0 = m0->m_next) - if (m0->_m_tag_id == PACKET_TAG_DUMMYNET) { - args.rule = ((struct dn_pkt *)m0)->rule; - shared = 0; /* For sure this is our own mbuf. */ - } - if (args.rule == NULL) + /* did we match a firewall rule ? */ + args.rule = ip_dn_find_rule(m0); + if (args.rule) + shared = 0; /* For sure this is our own mbuf. */ + else bdg_thru++; /* count 1st time through bdg_forward */ /* @@ -1046,7 +1043,6 @@ args.m = m0; /* the packet we are looking at */ args.oif = NULL; /* this is an input packet */ - args.divert_rule = 0; /* we do not support divert yet */ args.next_hop = NULL; /* we do not support forward yet */ args.eh = &save_eh; /* MAC header for bridged/MAC packets */ i = ip_fw_chk_ptr(&args); From owner-p4-projects@FreeBSD.ORG Mon Nov 24 20:24:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1237016A4D0; Mon, 24 Nov 2003 20:24:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C717416A4CE for ; Mon, 24 Nov 2003 20:24:27 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E74443FE3 for ; Mon, 24 Nov 2003 20:24:26 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAP4OQXJ057183 for ; Mon, 24 Nov 2003 20:24:26 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAP4OPol057180 for perforce@freebsd.org; Mon, 24 Nov 2003 20:24:25 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 20:24:25 -0800 (PST) Message-Id: <200311250424.hAP4OPol057180@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 Subject: PERFORCE change 43027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 04:24:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=43027 Change 43027 by sam@sam_ebb on 2003/11/24 20:23:57 Poof! MT_TAG is gone. Replace the last vestiges with m_tag's or, in the case of PACKET_TAG_IPFASTFWD_OURS (which should never have been created) use an mbuf proto flag. Affected files ... .. //depot/projects/netperf/sys/netinet/ip_fastfwd.c#5 edit .. //depot/projects/netperf/sys/netinet/ip_input.c#27 edit .. //depot/projects/netperf/sys/netinet/ip_output.c#20 edit .. //depot/projects/netperf/sys/netinet/ip_var.h#15 edit .. //depot/projects/netperf/sys/netinet/tcp_input.c#14 edit .. //depot/projects/netperf/sys/sys/mbuf.h#9 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_fastfwd.c#5 (text+ko) ==== @@ -133,7 +133,7 @@ struct ip *tip; struct mbuf *teem = NULL; #endif - struct mbuf *tag = NULL; + struct m_tag *mtag; struct route ro; struct sockaddr_in *dst = NULL; struct in_ifaddr *ia = NULL; @@ -151,16 +151,6 @@ if (!ipfastforward_active || !ipforwarding) return 0; - /* - * If there is any MT_TAG we fall back to ip_input because we can't - * handle TAGs here. Should never happen as we get directly called - * from the if_output routines. - */ - if (m->m_type == MT_TAG) { - KASSERT(0, ("%s: packet with MT_TAG not expected", __func__)); - return 0; - } - M_ASSERTVALID(m); M_ASSERTPKTHDR(m); @@ -613,38 +603,24 @@ if (IA_SIN(ia)->sin_addr.s_addr == ip->ip_dst.s_addr) { forwardlocal: if (args.next_hop) { - /* XXX leak */ - MGETHDR(tag, M_DONTWAIT, MT_TAG); - if (tag == NULL) { + mtag = m_tag_get(PACKET_TAG_IPFORWARD, + sizeof(struct sockaddr_in *), + M_NOWAIT); + if (mtag == NULL) { + /* XXX statistic */ if (ro.ro_rt) RTFREE(ro.ro_rt); goto drop; } - tag->m_flags = PACKET_TAG_IPFORWARD; - tag->m_data = (caddr_t)args.next_hop; - tag->m_next = m; - /* XXX: really bloody hack, - * see ip_input */ - tag->m_nextpkt = (struct mbuf *)1; - m = tag; - tag = NULL; + *(struct sockaddr_in **)(mtag+1) = + args.next_hop; + m_tag_prepend(m, mtag); } #ifdef IPDIVERT droptoours: /* Used for DIVERT */ #endif - MGETHDR(tag, M_DONTWAIT, MT_TAG); - if (tag == NULL) { - if (ro.ro_rt) - RTFREE(ro.ro_rt); - goto drop; - } - tag->m_flags = PACKET_TAG_IPFASTFWD_OURS; - tag->m_data = NULL; - tag->m_next = m; - /* XXX: really bloody hack, see ip_input */ - tag->m_nextpkt = (struct mbuf *)1; - m = tag; - tag = NULL; + /* NB: ip_input understands this */ + m->m_flags |= M_FASTFWD_OURS; /* ip still points to the real packet */ ip->ip_len = htons(ip->ip_len); ==== //depot/projects/netperf/sys/netinet/ip_input.c#27 (text+ko) ==== @@ -300,9 +300,9 @@ struct in_ifaddr *ia = NULL; struct ifaddr *ifa; int i, checkif, hlen = 0; - int ours = 0; u_short sum; struct in_addr pkt_dst; + struct m_tag *mtag; #ifdef IPDIVERT u_int32_t divert_info; /* packet divert/tee info */ #endif @@ -312,7 +312,6 @@ struct in_addr odst; /* original dst address */ #endif #ifdef FAST_IPSEC - struct m_tag *mtag; struct tdb_ident *tdbi; struct secpolicy *sp; int s, error; @@ -320,48 +319,15 @@ args.eh = NULL; args.oif = NULL; - args.next_hop = NULL; - - /* - * Grab info from MT_TAG mbufs prepended to the chain. - * - * XXX: This is ugly. These pseudo mbuf prepend tags should really - * be real m_tags. Before these have always been allocated on the - * callers stack, so we didn't have to free them. Now with - * ip_fastforward they are true mbufs and we have to free them - * otherwise we have a leak. Must rewrite ipfw to use m_tags. - */ - for (; m && m->m_type == MT_TAG;) { - struct mbuf *m0; - - switch(m->_m_tag_id) { - default: - printf("ip_input: unrecognised MT_TAG tag %d\n", - m->_m_tag_id); - break; - - case PACKET_TAG_IPFORWARD: - args.next_hop = (struct sockaddr_in *)m->m_hdr.mh_data; - break; - - case PACKET_TAG_IPFASTFWD_OURS: - ours = 1; - break; - } - - m0 = m; - m = m->m_next; - /* XXX: This is set by ip_fastforward */ - if (m0->m_nextpkt == (struct mbuf *)1) - m_free(m0); - } + args.next_hop = ip_claim_next_hop(m); args.rule = ip_dn_find_rule(m); M_ASSERTPKTHDR(m); - if (ours) /* ip_fastforward firewall changed dest to local */ + if (m->m_flags & M_FASTFWD_OURS) { + /* ip_fastforward firewall changed dest to local */ goto ours; - + } if (args.rule) { /* dummynet already filtered us */ ip = mtod(m, struct ip *); hlen = ip->ip_hl << 2; @@ -960,19 +926,18 @@ ipstat.ips_delivered++; NET_PICKUP_GIANT(); if (args.next_hop && ip->ip_p == IPPROTO_TCP) { - /* TCP needs IPFORWARD info if available */ - struct m_hdr tag; - - tag.mh_type = MT_TAG; - tag.mh_flags = PACKET_TAG_IPFORWARD; - tag.mh_data = (caddr_t)args.next_hop; - tag.mh_next = m; - tag.mh_nextpkt = NULL; - - (*inetsw[ip_protox[ip->ip_p]].pr_input)( - (struct mbuf *)&tag, hlen); - } else - (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen); + /* attach next hop info for TCP */ + mtag = m_tag_get(PACKET_TAG_IPFORWARD, + sizeof(struct sockaddr_in *), M_NOWAIT); + if (mtag == NULL) { + /* XXX statistic */ + NET_DROP_GIANT(); + goto bad; + } + *(struct sockaddr_in **)(mtag+1) = args.next_hop; + m_tag_prepend(m, mtag); + } + (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen); NET_DROP_GIANT(); return; bad: @@ -1755,6 +1720,7 @@ struct in_ifaddr *ia; int error, type = 0, code = 0; struct mbuf *mcopy; + struct m_tag *mtag; n_long dest; struct in_addr pkt_dst; struct ifnet *destifp; @@ -1887,21 +1853,18 @@ RTFREE(rt); } - { - struct m_hdr tag; - if (next_hop) { - /* Pass IPFORWARD info if available */ - - tag.mh_type = MT_TAG; - tag.mh_flags = PACKET_TAG_IPFORWARD; - tag.mh_data = (caddr_t)next_hop; - tag.mh_next = m; - tag.mh_nextpkt = NULL; - m = (struct mbuf *)&tag; + mtag = m_tag_get(PACKET_TAG_IPFORWARD, + sizeof(struct sockaddr_in *), M_NOWAIT); + if (mtag == NULL) { + /* XXX statistic */ + m_freem(m); + return; + } + *(struct sockaddr_in **)(mtag+1) = next_hop; + m_tag_prepend(m, mtag); } error = ip_output(m, (struct mbuf *)0, NULL, IP_FORWARDING, 0, NULL); - } if (error) ipstat.ips_cantforward++; else { ==== //depot/projects/netperf/sys/netinet/ip_output.c#20 (text+ko) ==== @@ -131,12 +131,11 @@ * inserted, so must have a NULL opt pointer. */ int -ip_output(struct mbuf *m0, struct mbuf *opt, struct route *ro, +ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags, struct ip_moptions *imo, struct inpcb *inp) { struct ip *ip; struct ifnet *ifp = NULL; /* keep compiler happy */ - struct mbuf *m; int hlen = sizeof (struct ip); int len, off, error = 0; struct sockaddr_in *dst = NULL; /* keep compiler happy */ @@ -145,12 +144,13 @@ struct in_addr pkt_dst; struct route iproute; struct m_tag *dummytag; /* dummynet packet tag */ + struct m_tag *mtag; + struct mbuf *m0; /* XXX */ #ifdef IPSEC struct socket *so; struct secpolicy *sp = NULL; #endif #ifdef FAST_IPSEC - struct m_tag *mtag; struct secpolicy *sp = NULL; struct tdb_ident *tdbi; int s; @@ -160,22 +160,7 @@ args.eh = NULL; args.rule = NULL; - args.next_hop = NULL; - - /* Grab info from MT_TAG mbufs prepended to the chain. */ - for (; m0 && m0->m_type == MT_TAG; m0 = m0->m_next) { - switch(m0->_m_tag_id) { - default: - printf("ip_output: unrecognised MT_TAG tag %d\n", - m0->_m_tag_id); - break; - - case PACKET_TAG_IPFORWARD: - args.next_hop = (struct sockaddr_in *)m0->m_data; - break; - } - } - m = m0; + args.next_hop = ip_claim_next_hop(m); #ifdef IPSEC so = ipsec_getsocket(m); @@ -916,26 +901,31 @@ break; } if (ia) { /* tell ip_input "dont filter" */ - struct m_hdr tag; + mtag = m_tag_get(PACKET_TAG_IPFORWARD, + sizeof(struct sockaddr_in *), + M_NOWAIT); + if (mtag == NULL) { + /* XXX statistic */ + error = ENOBUFS; /* XXX */ + goto bad; + } + *(struct sockaddr_in **)(mtag+1) = + args.next_hop; + m_tag_prepend(m, mtag); - tag.mh_type = MT_TAG; - tag.mh_flags = PACKET_TAG_IPFORWARD; - tag.mh_data = (caddr_t)args.next_hop; - tag.mh_next = m; - tag.mh_nextpkt = NULL; - if (m->m_pkthdr.rcvif == NULL) m->m_pkthdr.rcvif = ifunit("lo0"); if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) { m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m0->m_pkthdr.csum_data = 0xffff; + m->m_pkthdr.csum_data = 0xffff; } m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED | CSUM_IP_VALID; ip->ip_len = htons(ip->ip_len); ip->ip_off = htons(ip->ip_off); - ip_input((struct mbuf *)&tag); + /* XXX netisr_queue(NETISR_IP, m); */ + ip_input(m); goto done; } /* ==== //depot/projects/netperf/sys/netinet/ip_var.h#15 (text+ko) ==== @@ -195,6 +195,23 @@ extern void (*ip_rsvp_force_done)(struct socket *); extern void (*rsvp_input_p)(struct mbuf *m, int off); +#define M_FASTFWD_OURS M_PROTO1 /* sent by ip_fastforward to ip_input */ + +/* + * Return the next hop address associated with the mbuf; if any. + * If a tag is present it is also removed. + */ +static __inline struct sockaddr_in * +ip_claim_next_hop(struct mbuf *m) +{ + struct m_tag *mtag = m_tag_find(m, PACKET_TAG_IPFORWARD, NULL); + if (mtag) { + struct sockaddr_in *sin = *(struct sockaddr_in **)(mtag+1); + m_tag_delete(m, mtag); + return sin; + } else + return NULL; +} #ifdef PFIL_HOOKS extern struct pfil_head inet_pfil_hook; ==== //depot/projects/netperf/sys/netinet/tcp_input.c#14 (text+ko) ==== @@ -359,7 +359,7 @@ struct tcpopt to; /* options in this segment */ struct rmxp_tao tao; /* our TAO cache entry */ int headlocked = 0; - struct sockaddr_in *next_hop = NULL; + struct sockaddr_in *next_hop; int rstreason; /* For badport_bandlim accounting purposes */ struct ip6_hdr *ip6 = NULL; @@ -379,11 +379,7 @@ short ostate = 0; #endif - /* Grab info from MT_TAG mbufs prepended to the chain. */ - for (;m && m->m_type == MT_TAG; m = m->m_next) { - if (m->_m_tag_id == PACKET_TAG_IPFORWARD) - next_hop = (struct sockaddr_in *)m->m_hdr.mh_data; - } + next_hop = ip_claim_next_hop(m); #ifdef INET6 isipv6 = (mtod(m, struct ip *)->ip_v == 6) ? 1 : 0; #endif ==== //depot/projects/netperf/sys/sys/mbuf.h#9 (text+ko) ==== @@ -220,8 +220,8 @@ #if 0 #define MT_RIGHTS 12 /* access rights */ #define MT_IFADDR 13 /* interface address */ +#define MT_TAG 13 /* deprecated: use m_tag's instead */ #endif -#define MT_TAG 13 /* volatile metadata associated to pkts */ #define MT_CONTROL 14 /* extra-data protocol message */ #define MT_OOBDATA 15 /* expedited data */ #define MT_NTYPES 16 /* number of mbuf types for mbtypes[] */ @@ -538,28 +538,11 @@ #define PACKET_TAG_IPSEC_SOCKET 12 /* IPSEC socket ref */ #define PACKET_TAG_IPSEC_HISTORY 13 /* IPSEC history */ #define PACKET_TAG_IPV6_INPUT 14 /* IPV6 input processing */ - -/* - * As a temporary and low impact solution to replace the even uglier - * approach used so far in some parts of the network stack (which relies - * on global variables), packet tag-like annotations are stored in MT_TAG - * mbufs (or lookalikes) prepended to the actual mbuf chain. - * - * m_type = MT_TAG - * m_flags = m_tag_id - * m_next = next buffer in chain. - * - * BE VERY CAREFUL not to pass these blocks to the mbuf handling routines. - */ -#define _m_tag_id m_hdr.mh_flags - -/* Packet tags used in the FreeBSD network stack. */ #define PACKET_TAG_DUMMYNET 15 /* dummynet info */ #define PACKET_TAG_IPFW 16 /* ipfw classification */ #define PACKET_TAG_DIVERT 17 /* divert info */ #define PACKET_TAG_IPFORWARD 18 /* ipforward info */ #define PACKET_TAG_MACLABEL (19 | MTAG_PERSISTENT) /* MAC label */ -#define PACKET_TAG_IPFASTFWD_OURS 20 /* IP fastforward dropback */ /* Packet tag routines. */ struct m_tag *m_tag_alloc(u_int32_t, int, int, int); From owner-p4-projects@FreeBSD.ORG Mon Nov 24 20:30:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55C5016A4D0; Mon, 24 Nov 2003 20:30:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 30B0B16A4CE for ; Mon, 24 Nov 2003 20:30:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 98D4D43FD7 for ; Mon, 24 Nov 2003 20:30:34 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAP4UYXJ057432 for ; Mon, 24 Nov 2003 20:30:34 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAP4UYrH057429 for perforce@freebsd.org; Mon, 24 Nov 2003 20:30:34 -0800 (PST) (envelope-from sam@freebsd.org) Date: Mon, 24 Nov 2003 20:30:34 -0800 (PST) Message-Id: <200311250430.hAP4UYrH057429@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 Subject: PERFORCE change 43028 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 04:30:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=43028 Change 43028 by sam@sam_ebb on 2003/11/24 20:29:44 Be conservative: clear the M_FASTFWD_OURS flag from the mbuf after using it. This insures it doesn't get passed further and/or come backm 'round to us. Affected files ... .. //depot/projects/netperf/sys/netinet/ip_input.c#28 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_input.c#28 (text+ko) ==== @@ -326,6 +326,7 @@ if (m->m_flags & M_FASTFWD_OURS) { /* ip_fastforward firewall changed dest to local */ + m->m_flags &= ~M_FASTFWD_OURS; /* just in case... */ goto ours; } if (args.rule) { /* dummynet already filtered us */ From owner-p4-projects@FreeBSD.ORG Tue Nov 25 08:11:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D93F16A4D0; Tue, 25 Nov 2003 08:11:47 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 20ECF16A4CE for ; Tue, 25 Nov 2003 08:11:47 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B31443FB1 for ; Tue, 25 Nov 2003 08:11:45 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPGBjXJ007798 for ; Tue, 25 Nov 2003 08:11:45 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPGBi2V007795 for perforce@freebsd.org; Tue, 25 Nov 2003 08:11:44 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Tue, 25 Nov 2003 08:11:44 -0800 (PST) Message-Id: <200311251611.hAPGBi2V007795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 16:11:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=43036 Change 43036 by areisse@areisse_ibook on 2003/11/25 08:11:44 chdir and exec permission checks execve handles script labels Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_exec.c#4 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#33 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/mac.h#8 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/mac_policy.h#7 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#12 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#19 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_exec.c#4 (text+ko) ==== @@ -212,8 +212,8 @@ char *ws_cache_name = NULL; /* used for pre-heat */ int cred_change = 0; #ifdef MAC - struct label execlabel; - struct label *execlabelp; + struct label execlabel, scriptlabel; + struct label *execlabelp, *scriptlabelp = NULL; int no_trans = 0; int will_transition = 0; #endif @@ -247,7 +247,7 @@ error = execargs_alloc(&execargs); if (error) - return(error); + goto free_execl; savedpath = execargs; @@ -267,7 +267,7 @@ error = copyinstr(uap->fname, savedpath, MAXPATHLEN, &savedpathlen); if (error) - return (error); + goto free_execl; /* * copyinstr will put in savedpathlen, the count of * characters (including NULL) in the path. @@ -319,6 +319,11 @@ *(&vattr) = *(&origvattr); again: +#ifdef MAC + error = mac_check_vnode_exec (p->p_ucred, vp, execlabelp); + if (error) + goto bad; +#endif error = check_exec_access(p, vp, &vattr); if (error) goto bad; @@ -415,6 +420,14 @@ /* Save the name aside for future use */ execargsp = (vm_offset_t *)((char *)(execargs) + savedpathlen); + /* Copy the script label for later use. Note that + the label can be different when the script is actually + read by the interpreter. */ +#ifdef MAC + scriptlabelp = &scriptlabel; + mac_init_vnode_label (&scriptlabel); + mac_copy_vnode_label (&vp->v_label, &scriptlabel); +#endif indir = 1; vput(vp); nd.ni_cnd.cn_nameiop = LOOKUP; @@ -602,7 +615,7 @@ /* Transitions */ #ifdef MAC - will_transition = mac_execve_will_transition (p->p_ucred, vp, NULL, + will_transition = mac_execve_will_transition (p->p_ucred, vp, scriptlabelp, execlabelp); cred_change |= will_transition; #endif @@ -645,7 +658,7 @@ #ifdef MAC if (will_transition && !no_trans) - mac_execve_transition (cred, p->p_ucred, vp, NULL, execlabelp); + mac_execve_transition (cred, p->p_ucred, vp, scriptlabelp, execlabelp); #endif crfree (cred); @@ -884,8 +897,14 @@ if (!error && vfexec) { vfork_return(current_act(), p->p_pptr, p, retval); (void) thread_resume(thr_act); - return(0); } +free_execl: +#ifdef MAC + if (execlabelp) + mac_destroy_cred_label (execlabelp); + if (scriptlabelp) + mac_destroy_vnode_label (scriptlabelp); +#endif return(error); } ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/kern/kern_mac.c#33 (text+ko) ==== @@ -1095,7 +1095,7 @@ MAC_DEBUG_COUNTER_DEC(&nmacbpfdescs); } -static void +void mac_destroy_cred_label(struct label *label) { @@ -1593,7 +1593,7 @@ void mac_execve_transition(struct ucred *old, struct ucred *new, struct vnode *vp, - struct label *interpvnodelabel, struct label *execl) + struct label *scriptvnodelabel, struct label *execl) { ASSERT_VOP_LOCKED(vp, "mac_execve_transition"); @@ -1601,13 +1601,17 @@ if (!mac_enforce_process && !mac_enforce_fs) return; - MAC_PERFORM(execve_transition, old, new, vp, &vp->v_label, - interpvnodelabel, execl); + if (scriptvnodelabel) + MAC_PERFORM(execve_transition, old, new, vp, &vp->v_label, + scriptvnodelabel, execl); + else + MAC_PERFORM(execve_transition, old, new, vp, &vp->v_label, + NULL, execl); } int mac_execve_will_transition(struct ucred *old, struct vnode *vp, - struct label *interpvnodelabel, struct label *execlabel) + struct label *scriptvnodelabel, struct label *execlabel) { int result; @@ -1617,8 +1621,12 @@ return (0); result = 0; - MAC_BOOLEAN(execve_will_transition, ||, old, vp, &vp->v_label, - interpvnodelabel, execlabel); + if (scriptvnodelabel) + MAC_BOOLEAN(execve_will_transition, ||, old, vp, &vp->v_label, + scriptvnodelabel, execlabel); + else + MAC_BOOLEAN(execve_will_transition, ||, old, vp, &vp->v_label, + NULL, execlabel); return (result); } @@ -1729,10 +1737,8 @@ } #endif -#if 0 int -mac_check_vnode_exec(struct ucred *cred, struct vnode *vp, - struct image_params *imgp) +mac_check_vnode_exec(struct ucred *cred, struct vnode *vp, struct label *execl) { int error; @@ -1741,12 +1747,10 @@ if (!mac_enforce_process && !mac_enforce_fs) return (0); - MAC_CHECK(check_vnode_exec, cred, vp, &vp->v_label, imgp, - imgp->execlabel); + MAC_CHECK(check_vnode_exec, cred, vp, &vp->v_label, execl); return (error); } -#endif #if 0 int ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/mac.h#8 (text+ko) ==== @@ -107,7 +107,6 @@ struct devnode; struct ifnet; struct ifreq; -struct image_params; struct ipq; struct m_tag; struct mbuf; @@ -227,10 +226,10 @@ struct label *execlabel); void mac_execve_exit(struct image_params *imgp); void mac_execve_transition(struct ucred *old, struct ucred *new, - struct vnode *vp, struct label *interpvnodelabel, + struct vnode *vp, struct label *scriptvnodelabel, struct label *execlabel); int mac_execve_will_transition(struct ucred *old, struct vnode *vp, - struct label *interpvnodelabel, struct label *execlabel); + struct label *scriptvnodelabel, struct label *execlabel); void mac_create_proc0(struct ucred *cred); void mac_create_proc1(struct ucred *cred); #if 0 @@ -294,7 +293,7 @@ acl_type_t type); #endif int mac_check_vnode_exec(struct ucred *cred, struct vnode *vp, - struct image_params *imgp); + struct label *execlabel); #if 0 int mac_check_vnode_getacl(struct ucred *cred, struct vnode *vp, acl_type_t type); ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/sys/mac_policy.h#7 (text+ko) ==== @@ -395,12 +395,11 @@ struct componentname *cnp); int (*mpo_check_vnode_deleteextattr)(struct ucred *cred, struct vnode *vp, int attrnamespace, const char *name); + int (*mpo_check_vnode_exec)(struct ucred *cred, struct vnode *vp, + struct label *label, struct label *execlabel); #if 0 int (*mpo_check_vnode_deleteacl)(struct ucred *cred, struct vnode *vp, struct label *label, acl_type_t type); - int (*mpo_check_vnode_exec)(struct ucred *cred, struct vnode *vp, - struct label *label, struct image_params *imgp, - struct label *execlabel); int (*mpo_check_vnode_getacl)(struct ucred *cred, struct vnode *vp, struct label *label, acl_type_t type); #endif ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#12 (text+ko) ==== @@ -998,7 +998,13 @@ if (vp->v_type != VDIR) error = ENOTDIR; else + { +#ifdef MAC + error = mac_check_vnode_chdir (p->p_ucred, ndp->ni_vp); + if (0 == error) +#endif error = VOP_ACCESS(vp, VEXEC, p->p_ucred, p); + } if (error) vput(vp); else ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd.c#19 (text+ko) ==== @@ -1528,10 +1528,9 @@ } #endif -#ifdef HAS_IMAGE_PARAMS static int sebsd_check_vnode_exec(struct ucred *cred, struct vnode *vp, - struct label *label, struct image_params *imgp, struct label *execlabel) + struct label *label, struct label *execlabel) { struct task_security_struct *task; struct vnode_security_struct *file; @@ -1590,7 +1589,6 @@ return (0); } -#endif #ifdef HAS_ACLS static int @@ -2203,12 +2201,11 @@ .mpo_check_vnode_access = sebsd_check_vnode_access, .mpo_check_vnode_chdir = sebsd_check_vnode_chdir, .mpo_check_vnode_chroot = sebsd_check_vnode_chroot, - //.mpo_check_vnode_create = sebsd_check_vnode_create, + .mpo_check_vnode_create = sebsd_check_vnode_create, .mpo_check_vnode_delete = sebsd_check_vnode_delete, + .mpo_check_vnode_exec = sebsd_check_vnode_exec, #ifdef EXTATTR - .mpo_check_vnode_exec = sebsd_check_vnode_exec, - .mpo_check_vnode_getextattr = sebsd_check_vnode_getextattr, .mpo_check_vnode_listextattr = NOT_IMPLEMENTED, .mpo_check_vnode_deleteextattr = NOT_IMPLEMENTED, From owner-p4-projects@FreeBSD.ORG Tue Nov 25 10:33:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BE2616A4D0; Tue, 25 Nov 2003 10:33:37 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 117AA16A4CE for ; Tue, 25 Nov 2003 10:33:37 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6424143FDD for ; Tue, 25 Nov 2003 10:33:36 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPIXaXJ019828 for ; Tue, 25 Nov 2003 10:33:36 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPIXZDv019825 for perforce@freebsd.org; Tue, 25 Nov 2003 10:33:35 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 25 Nov 2003 10:33:35 -0800 (PST) Message-Id: <200311251833.hAPIXZDv019825@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 Subject: PERFORCE change 43037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 18:33:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=43037 Change 43037 by sam@sam_ebb on 2003/11/25 10:33:09 purge leftover crud Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_input.c#17 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_input.c#17 (text+ko) ==== @@ -435,9 +435,6 @@ goto out; } } - m = ieee80211_reass(ic, ni, m); - if (m == NULL) - goto out; (*ic->ic_recv_mgmt)(ic, m, ni, subtype, rssi, rstamp); m_freem(m); return; From owner-p4-projects@FreeBSD.ORG Tue Nov 25 11:48:08 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 405E716A4D0; Tue, 25 Nov 2003 11:48:08 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F19EA16A4CE for ; Tue, 25 Nov 2003 11:48:07 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9C7543FAF for ; Tue, 25 Nov 2003 11:48:06 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPJm6XJ023279 for ; Tue, 25 Nov 2003 11:48:06 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPJm6rv023276 for perforce@freebsd.org; Tue, 25 Nov 2003 11:48:06 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 25 Nov 2003 11:48:06 -0800 (PST) Message-Id: <200311251948.hAPJm6rv023276@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 Subject: PERFORCE change 43038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 19:48:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=43038 Change 43038 by sam@sam_ebb on 2003/11/25 11:47:59 Change the rx process descriptor API to allow the HAL to properly check for a "done frame". Because of the self-linked descriptors we need to carefully verify the current descriptor is done as the hardware may be in middle of processing it even if the done bit is marked. Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#39 edit .. //depot/projects/netperf/sys/dev/ath/if_athvar.h#8 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#39 (text+ko) ==== @@ -1615,6 +1615,9 @@ static void ath_rx_proc(void *arg, int npending) { +#define PA2DESC(_sc, _pa) \ + ((struct ath_desc *)((caddr_t)(_sc)->sc_desc + \ + ((_pa) - (_sc)->sc_desc_paddr))) struct ath_softc *sc = arg; struct ath_buf *bf; struct ieee80211com *ic = &sc->sc_ic; @@ -1647,7 +1650,20 @@ if_printf(ifp, "ath_rx_proc: no mbuf!\n"); continue; } - status = ath_hal_rxprocdesc(ah, ds); + /* XXX sync descriptor memory */ + /* + * Must provide the virtual address of the current + * descriptor, the physical address, and the virtual + * address of the next descriptor in the h/w chain. + * This allows the HAL to look ahead to see if the + * hardware is done with a descriptor by checking the + * done bit in the following descriptor and the address + * of the current descriptor the DMA engine is working + * on. All this is necessary because of our use of + * a self-linked list to avoid rx overruns. + */ + status = ath_hal_rxprocdesc(ah, ds, + bf->bf_daddr, PA2DESC(sc, ds->ds_link)); #ifdef AR_DEBUG if (ath_debug > 1) ath_printrxbuf(bf, status == HAL_OK); @@ -1782,6 +1798,7 @@ ath_hal_rxmonitor(ah); /* rx signal state monitoring */ ath_hal_rxena(ah); /* in case of RXEOL */ +#undef PA2DESC } /* @@ -2253,6 +2270,9 @@ static void ath_stoprecv(struct ath_softc *sc) { +#define PA2DESC(_sc, _pa) \ + ((struct ath_desc *)((caddr_t)(_sc)->sc_desc + \ + ((_pa) - (_sc)->sc_desc_paddr))) struct ath_hal *ah = sc->sc_ah; ath_hal_stoppcurecv(ah); /* disable PCU */ @@ -2266,12 +2286,15 @@ DPRINTF(("ath_stoprecv: rx queue %p, link %p\n", (caddr_t) ath_hal_getrxbuf(ah), sc->sc_rxlink)); TAILQ_FOREACH(bf, &sc->sc_rxbuf, bf_list) { - if (ath_hal_rxprocdesc(ah, bf->bf_desc) == HAL_OK) + struct ath_desc *ds = bf->bf_desc; + if (ath_hal_rxprocdesc(ah, ds, bf->bf_daddr, + PA2DESC(sc, ds->ds_link)) == HAL_OK) ath_printrxbuf(bf, 1); } } #endif sc->sc_rxlink = NULL; /* just in case */ +#undef PA2DESC } /* ==== //depot/projects/netperf/sys/dev/ath/if_athvar.h#8 (text+ko) ==== @@ -295,8 +295,8 @@ (_flen), (_hlen), (_rate), (_antmode))) #define ath_hal_setuprxdesc(_ah, _ds, _size, _intreq) \ ((*(_ah)->ah_setupRxDesc)((_ah), (_ds), (_size), (_intreq))) -#define ath_hal_rxprocdesc(_ah, _ds) \ - ((*(_ah)->ah_procRxDesc)((_ah), (_ds))) +#define ath_hal_rxprocdesc(_ah, _ds, _dspa, _dsnext) \ + ((*(_ah)->ah_procRxDesc)((_ah), (_ds), (_dspa), (_dsnext))) #define ath_hal_setuptxdesc(_ah, _ds, _plen, _hlen, _atype, _txpow, \ _txr0, _txtr0, _keyix, _ant, _flags, \ _rtsrate, _rtsdura) \ From owner-p4-projects@FreeBSD.ORG Tue Nov 25 12:06:32 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0294616A4D0; Tue, 25 Nov 2003 12:06:31 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D10FA16A4CE for ; Tue, 25 Nov 2003 12:06:31 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4067243FA3 for ; Tue, 25 Nov 2003 12:06:31 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPK6VXJ024927 for ; Tue, 25 Nov 2003 12:06:31 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPK6U0c024924 for perforce@freebsd.org; Tue, 25 Nov 2003 12:06:30 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Tue, 25 Nov 2003 12:06:30 -0800 (PST) Message-Id: <200311252006.hAPK6U0c024924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43041 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 20:06:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=43041 Change 43041 by areisse@areisse_ibook on 2003/11/25 12:05:55 allow running executables Affected files ... .. //depot/projects/trustedbsd/sedarwin/policy/rules#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/policy/rules#3 (text+ko) ==== @@ -64,6 +64,7 @@ type_change user_d devpts_t:chr_file user_devpts_t; allow domain file:{file lnk_file sock_file} {create_file_perms execute }; +allow domain file:file execute_no_trans; allow domain file:dir { create_dir_perms }; allow domain {null_device_t console_device_t memory_device_t random_device_t device_t}:{file chr_file} create_file_perms; allow domain device_t:blk_file create_file_perms; From owner-p4-projects@FreeBSD.ORG Tue Nov 25 12:13:42 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9EF416A4D0; Tue, 25 Nov 2003 12:13:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFDBE16A4CE for ; Tue, 25 Nov 2003 12:13:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7F59D43F75 for ; Tue, 25 Nov 2003 12:13:40 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPKDeXJ025181 for ; Tue, 25 Nov 2003 12:13:40 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPKDeoD025178 for perforce@freebsd.org; Tue, 25 Nov 2003 12:13:40 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Tue, 25 Nov 2003 12:13:40 -0800 (PST) Message-Id: <200311252013.hAPKDeoD025178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 20:13:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=43042 Change 43042 by areisse@areisse_ibook on 2003/11/25 12:13:24 Alternate implementation of mac checks in hfs_readdirattr. Here, the file is displayed with the "do not enter" when mac denies access (the same behavior as dac denials). Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_attrlist.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/hfs/hfs_attrlist.c#3 (text+ko) ==== @@ -779,6 +779,7 @@ /* * Get in memory cnode data (if any). */ + int mperm = 0; #ifdef MAC /* * XXXMAC: Try forcing the vnode into memory so that @@ -790,16 +791,8 @@ printf("hfs_readdirattr(): warning got %d\n", error); cp = hfs_chashget(dcp->c_dev, cattrp->ca_fileid, 0, &vp, &rvp); } else { - error = mac_check_vnode_stat(current_proc()->p_ucred, ap->a_cred, vp); - if (error) { -#if 0 - vput(vp); -#endif - printf("hfs_readdirattr(): FYI, failed with %d\n", error); -#if 0 - continue; -#endif - } + mperm = mac_check_vnode_stat(current_proc()->p_ucred, ap->a_cred, vp); + cp = vp->v_data; rvp = NULL; } @@ -824,6 +817,16 @@ } } } + struct cat_attr cattrtmp; + if (mperm) + { + bzero (&cattrtmp, sizeof (struct cat_attr)); + cattrtmp.ca_fileid = cattrp->ca_fileid; + cattrtmp.ca_mode = cattrp->ca_mode & ~07777; + cattrtmp.ca_nlink = 1; + cattrp = &cattrtmp; + } + *((u_long *)attrptr)++ = 0; /* move it past length */ attrblk.ab_attrlist = alist; attrblk.ab_attrbufpp = &attrptr; @@ -1048,6 +1051,19 @@ *abp->ab_varbufpp = varbufptr; } +#ifdef MAC +static int access_all (struct vnode *vp, struct proc *p) +{ + int r = VOP_ACCESS (vp, VREAD, p->p_ucred, p) || mac_check_vnode_access (p->p_ucred, vp, VREAD) ? 0 : R_OK; + if (!VOP_ACCESS (vp, VWRITE, p->p_ucred, p) && !mac_check_vnode_access (p->p_ucred, vp, VWRITE)) + r |= W_OK; + if (!VOP_ACCESS (vp, VEXEC, p->p_ucred, p) && !mac_check_vnode_access (p->p_ucred, vp, VEXEC)) + r |= X_OK; + + return r; +} +#endif + /* * Pack common volume attributes. */ @@ -1174,8 +1190,11 @@ } if (ATTR_CMN_USERACCESS & attr) { *((u_long *)attrbufptr)++ = - DerivePermissionSummary(cp->c_uid, cp->c_gid, cp->c_mode, - VTOVFS(vp), current_proc()->p_ucred, current_proc()); +#ifdef MAC + vp ? access_all (vp, current_proc()) : +#endif + DerivePermissionSummary(cp->c_uid, cp->c_gid, cp->c_mode, + VTOVFS(vp), current_proc()->p_ucred, current_proc()); } *abp->ab_attrbufpp = attrbufptr; @@ -1474,9 +1493,12 @@ } if (ATTR_CMN_USERACCESS & attr) { *((u_long *)attrbufptr)++ = - DerivePermissionSummary(cap->ca_uid, cap->ca_gid, - cap->ca_mode, mp, current_proc()->p_ucred, - current_proc()); +#ifdef MAC + vp ? access_all (vp, current_proc()) : +#endif + DerivePermissionSummary(cap->ca_uid, cap->ca_gid, + cap->ca_mode, mp, current_proc()->p_ucred, + current_proc()); } *abp->ab_attrbufpp = attrbufptr; From owner-p4-projects@FreeBSD.ORG Tue Nov 25 13:02:41 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90B4716A4D0; Tue, 25 Nov 2003 13:02:41 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 67D2D16A4CE for ; Tue, 25 Nov 2003 13:02:41 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CAEBE43FA3 for ; Tue, 25 Nov 2003 13:02:40 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPL2eXJ033577 for ; Tue, 25 Nov 2003 13:02:40 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPL2ebm033574 for perforce@freebsd.org; Tue, 25 Nov 2003 13:02:40 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 25 Nov 2003 13:02:40 -0800 (PST) Message-Id: <200311252102.hAPL2ebm033574@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 Subject: PERFORCE change 43044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 21:02:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=43044 Change 43044 by sam@sam_ebb on 2003/11/25 13:02:05 move inline function under #ifdef _KERNEL Affected files ... .. //depot/projects/netperf/sys/netinet/ip_dummynet.h#5 edit Differences ... ==== //depot/projects/netperf/sys/netinet/ip_dummynet.h#5 (text+ko) ==== @@ -351,7 +351,6 @@ extern ip_dn_ruledel_t *ip_dn_ruledel_ptr; extern ip_dn_io_t *ip_dn_io_ptr; #define DUMMYNET_LOADED (ip_dn_io_ptr != NULL) -#endif /* * Return the IPFW rule associated with the dummynet tag; if any. @@ -362,4 +361,5 @@ struct m_tag *mtag = m_tag_find(m, PACKET_TAG_DUMMYNET, NULL); return mtag ? ((struct dn_pkt_tag *)(mtag+1))->rule : NULL; } +#endif #endif /* _IP_DUMMYNET_H */ From owner-p4-projects@FreeBSD.ORG Tue Nov 25 14:31:30 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6ACC216A4D0; Tue, 25 Nov 2003 14:31:30 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 290F016A4CE for ; Tue, 25 Nov 2003 14:31:30 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BDAF43F75 for ; Tue, 25 Nov 2003 14:31:29 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAPMVTXJ038274 for ; Tue, 25 Nov 2003 14:31:29 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAPMVTWK038271 for perforce@freebsd.org; Tue, 25 Nov 2003 14:31:29 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 25 Nov 2003 14:31:29 -0800 (PST) Message-Id: <200311252231.hAPMVTWK038271@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 Subject: PERFORCE change 43047 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 22:31:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=43047 Change 43047 by sam@sam_ebb on 2003/11/25 14:31:23 make Warner happy Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#40 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#40 (text+ko) ==== @@ -2461,7 +2461,7 @@ struct ath_hal *ah = sc->sc_ah; struct ieee80211_node *ni; int i, error; - u_int8_t *bssid; + const u_int8_t *bssid; u_int32_t rfilt; static const HAL_LED_STATE leds[] = { HAL_LED_INIT, /* IEEE80211_S_INIT */ From owner-p4-projects@FreeBSD.ORG Tue Nov 25 20:50:09 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 258FA16A4D0; Tue, 25 Nov 2003 20:50:09 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D4D6016A4CE for ; Tue, 25 Nov 2003 20:50:08 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13BAB43FCB for ; Tue, 25 Nov 2003 20:50:08 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQ4o7XJ067092 for ; Tue, 25 Nov 2003 20:50:07 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQ4o79h067089 for perforce@freebsd.org; Tue, 25 Nov 2003 20:50:07 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 25 Nov 2003 20:50:07 -0800 (PST) Message-Id: <200311260450.hAQ4o79h067089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 43050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 04:50:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=43050 Change 43050 by rwatson@rwatson_paprika on 2003/11/25 20:49:22 Add "id -M" support; displays the MAC label of the current process in a style similar to the same argument on Trusted IRIX. Affected files ... .. //depot/projects/trustedbsd/mac/usr.bin/id/id.1#2 edit .. //depot/projects/trustedbsd/mac/usr.bin/id/id.c#6 edit Differences ... ==== //depot/projects/trustedbsd/mac/usr.bin/id/id.1#2 (text+ko) ==== @@ -48,6 +48,8 @@ .Fl G Op Fl n .Op Ar user .Nm +.Fl M +.Nm .Fl P .Op Ar user .Nm @@ -78,6 +80,8 @@ .It Fl G Display the different group IDs (effective, real and supplementary) as white-space separated numbers, in no particular order. +.It Fl M +Display the MAC label of the current prorcess. .It Fl P Display the id as a password file entry. .It Fl g ==== //depot/projects/trustedbsd/mac/usr.bin/id/id.c#6 (text+ko) ==== @@ -46,8 +46,10 @@ __FBSDID("$FreeBSD: src/usr.bin/id/id.c,v 1.19 2002/09/04 23:29:02 dwmalone Exp $"); #include +#include #include +#include #include #include #include @@ -59,6 +61,7 @@ void pline(struct passwd *); void pretty(struct passwd *); void group(struct passwd *, int); +void maclabel(void); void usage(void); void user(struct passwd *); struct passwd * @@ -71,10 +74,10 @@ { struct group *gr; struct passwd *pw; - int Gflag, Pflag, ch, gflag, id, nflag, pflag, rflag, uflag; + int Gflag, Mflag, Pflag, ch, gflag, id, nflag, pflag, rflag, uflag; const char *myname; - Gflag = Pflag = gflag = nflag = pflag = rflag = uflag = 0; + Gflag = Mflag = Pflag = gflag = nflag = pflag = rflag = uflag = 0; myname = strrchr(argv[0], '/'); myname = (myname != NULL) ? myname + 1 : argv[0]; @@ -88,11 +91,14 @@ } while ((ch = getopt(argc, argv, - (isgroups || iswhoami) ? "" : "PGgnpru")) != -1) + (isgroups || iswhoami) ? "" : "PGMgnpru")) != -1) switch(ch) { case 'G': Gflag = 1; break; + case 'M': + Mflag = 1; + break; case 'P': Pflag = 1; break; @@ -134,6 +140,9 @@ pw = *argv ? who(*argv) : NULL; + if (Mflag && pw != NULL) + usage(); + if (gflag) { id = pw ? pw->pw_gid : rflag ? getgid() : getegid(); if (nflag && (gr = getgrgid(id))) @@ -157,6 +166,11 @@ exit(0); } + if (Mflag) { + maclabel(); + exit(0); + } + if (Pflag) { pline(pw); exit(0); @@ -317,6 +331,30 @@ (void)printf("\n"); } +void +maclabel(void) +{ + char *string; + mac_t label; + int error; + + error = mac_prepare_process_label(&label); + if (error == -1) + errx(1, "mac_prepare_type: %s", strerror(errno)); + + error = mac_get_proc(label); + if (error == -1) + errx(1, "mac_get_proc: %s", strerror(errno)); + + error = mac_to_text(label, &string); + if (error == -1) + errx(1, "mac_to_text: %s", strerror(errno)); + + (void)printf("%s\n", string); + mac_free(label); + free(string); +} + struct passwd * who(char *u) { @@ -366,6 +404,7 @@ (void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n", "usage: id [user]", " id -G [-n] [user]", + " id -M", " id -P [user]", " id -g [-nr] [user]", " id -p [user]", From owner-p4-projects@FreeBSD.ORG Wed Nov 26 06:55:20 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6123316A4D2; Wed, 26 Nov 2003 06:55:20 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2C61416A4CE for ; Wed, 26 Nov 2003 06:55:20 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86B3D43FE1 for ; Wed, 26 Nov 2003 06:55:19 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQEtJXJ007255 for ; Wed, 26 Nov 2003 06:55:19 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQEtJjk007248 for perforce@freebsd.org; Wed, 26 Nov 2003 06:55:19 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Wed, 26 Nov 2003 06:55:19 -0800 (PST) Message-Id: <200311261455.hAQEtJjk007248@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 14:55:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=43056 Change 43056 by areisse@areisse_ibook on 2003/11/26 06:55:15 setattrlist() needs a mac check. (getattrlist() should have one also, but preventing calls to it greatly confuses the finder) Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#13 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/bsd/vfs/vfs_syscalls.c#13 (text+ko) ==== @@ -3444,6 +3444,16 @@ if (error = namei(&nd)) return (error); +#ifdef MAC + /* XXX: does not pass mode! */ + error = mac_check_vnode_setmode(p->p_ucred, nd.ni_vp, 0644); + if (error) + { + vput (nd.ni_vp); + return error; + } +#endif + /* Set up the UIO structure for use by the vfs routine */ aiov.iov_base = uap->attributeBuffer; aiov.iov_len = uap->bufferSize; From owner-p4-projects@FreeBSD.ORG Wed Nov 26 07:00:27 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2067316A4D0; Wed, 26 Nov 2003 07:00:27 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE81F16A4CE for ; Wed, 26 Nov 2003 07:00:26 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5313843FE3 for ; Wed, 26 Nov 2003 07:00:26 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQF0QXJ007456 for ; Wed, 26 Nov 2003 07:00:26 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQF0POO007453 for perforce@freebsd.org; Wed, 26 Nov 2003 07:00:25 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Wed, 26 Nov 2003 07:00:25 -0800 (PST) Message-Id: <200311261500.hAQF0POO007453@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43057 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 15:00:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=43057 Change 43057 by areisse@areisse_ibook on 2003/11/26 06:59:57 newrole reports errors Affected files ... .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/newrole/sebsd_newrole.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/sebsd_cmds/newrole/sebsd_newrole.c#3 (text+ko) ==== @@ -209,6 +209,7 @@ } free(labeltext); + int error; if (argc == 0) { char *shell_argv[2]; @@ -216,12 +217,14 @@ shell_argv[1] = NULL; printf("Executing default shell (%s) with context %s\n", pw->pw_shell, new_context); - mac_execve(pw->pw_shell, shell_argv, environ, execlabel); + error = mac_execve(pw->pw_shell, shell_argv, environ, execlabel); } else { printf("Executing program (%s) with context %s\n", argv[0], new_context); - mac_execve(argv[0], argv, environ, execlabel); + error = mac_execve(argv[0], argv, environ, execlabel); } + if (error) + perror ("exec"); } void From owner-p4-projects@FreeBSD.ORG Wed Nov 26 10:19:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1739516A4D0; Wed, 26 Nov 2003 10:19:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E652D16A4CE for ; Wed, 26 Nov 2003 10:19:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7634643FDF for ; Wed, 26 Nov 2003 10:19:31 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQIJVXJ022818 for ; Wed, 26 Nov 2003 10:19:31 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQIJUK1022815 for perforce@freebsd.org; Wed, 26 Nov 2003 10:19:30 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Wed, 26 Nov 2003 10:19:30 -0800 (PST) Message-Id: <200311261819.hAQIJUK1022815@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43059 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 18:19:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=43059 Change 43059 by areisse@areisse_ibook on 2003/11/26 10:19:18 New sebsd syscall to get the list of labels that the user can set on files. Affected files ... .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscall.c#4 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscalls.h#3 edit .. //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/services.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscall.c#4 (text+ko) ==== @@ -77,10 +77,12 @@ /* * Lists the SIDs currently available for transition to by a given * "context\0username\0" + * + * or, lists the SIDs that a given context can relabel files to. (username is ignored) */ static int -sys_user_sids (char *context, char *username, char *out, int *outlen) +sys_get_sids (int function, char *context, char *username, char *out, int *outlen) { u_int32_t n, nsids, scontext_len; security_id_t *sids, sid; @@ -101,7 +103,19 @@ error = security_context_to_sid(context, strlen (context), &sid); if (error) goto out; - error = security_get_user_sids(sid, username, &sids, &nsids); + switch (function) + { + case SEBSDCALL_GETUSERSIDS: + error = security_get_user_sids(sid, username, &sids, &nsids); + break; + + case SEBSDCALL_GETFILESIDS: + error = security_get_file_sids(sid, SECCLASS_FILE, &sids, &nsids); + break; + + default: + error = ENOSYS; + } if (error) goto out; for (n = 0; n < nsids; n++) { @@ -150,6 +164,7 @@ break; case SEBSDCALL_GETUSERSIDS: + case SEBSDCALL_GETFILESIDS: { struct getsid_args uap; err = copyin (args, &uap, sizeof (struct getsid_args)); @@ -171,7 +186,7 @@ } ctx[MAX_UC-1] = 0; usr[MAX_UC-1] = 0; - err = sys_user_sids (ctx, usr, uap.out, uap.outlen); + err = sys_get_sids (call, ctx, usr, uap.out, uap.outlen); sebsd_ss_free (ctx); sebsd_ss_free (usr); } ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/sebsd_syscalls.h#3 (text+ko) ==== @@ -6,6 +6,7 @@ */ #define SEBSDCALL_LOAD_POLICY 7 #define SEBSDCALL_GETUSERSIDS 6 +#define SEBSDCALL_GETFILESIDS 5 #define SEBSDCALL_NUM 7 ==== //depot/projects/trustedbsd/sedarwin/apsl/xnu/security/sebsd/ss/services.c#3 (text+ko) ==== @@ -1329,6 +1329,100 @@ return rc; } +/* Return the list of sids that a user can use to relabel files to. + This could probably be more efficient. */ + +struct getfilesids +{ + struct context *scon; + security_class_t sclass; + struct class_datum *sca; + security_id_t *sids; + int maxsids; + int numsids; +}; + +static int getfilesids1 (struct avtab_key *avk, struct avtab_datum *avd, struct getfilesids *p) +{ + if (avk->source_type == p->scon->type && avk->target_class == p->sclass && + (avd->specified & AVTAB_AV) && (avtab_allowed(avd) & COMMON_FILE__RELABELTO)) + { + int ir, iu; + struct context fc; + + fc.type = avk->target_type; + + for (ir = 0; ir < policydb.p_roles.nprim; ir++) + if (ir+1 == OBJECT_R_VAL || ebitmap_get_bit (&policydb.role_val_to_struct[ir]->types, fc.type-1)) + { + fc.role = ir+1; + + for (iu = 0; iu < policydb.p_users.nprim; iu++) + if (fc.role == OBJECT_R_VAL || ebitmap_get_bit (&policydb.user_val_to_struct[iu]->roles, ir)) + { + fc.user = iu+1; + + struct constraint_node *constraint = p->sca->constraints; + while (constraint) + { + if ((constraint->permissions & COMMON_FILE__RELABELTO) && + !constraint_expr_eval(p->scon, &fc, constraint->expr)) + break; + constraint = constraint->next; + } + + security_id_t sid; + + if (constraint == NULL && 0 == sidtab_context_to_sid (&sidtab, &fc, &sid)) + { + /* passed all checks, add to list */ + if (p->numsids == p->maxsids) + { + p->maxsids += 16; + security_id_t *sids = sebsd_ss_malloc (sizeof (security_id_t) * p->maxsids, 0); + memcpy (sids, p->sids, sizeof (security_id_t) * p->numsids); + sebsd_ss_free (p->sids); + p->sids = sids; + } + p->sids[p->numsids++] = sid; + } + } + } + } + + return 0; +} + +int security_get_file_sids (security_id_t user, + security_class_t sclass, + security_id_t **sids, + int *numsids) +{ + struct context *scontext = sidtab_search(&sidtab, user); + + if (scontext == NULL) + goto out_err; + + struct getfilesids p; + p.scon = scontext; + p.sclass = sclass; + if (!sclass || sclass > policydb.p_classes.nprim) + goto out_err; + p.sca = policydb.class_val_to_struct[sclass - 1]; + p.maxsids = 32; + p.sids = sebsd_ss_malloc (sizeof (security_id_t) * p.maxsids, 0); + p.numsids = 0; + avtab_map (&policydb.te_avtab, getfilesids1, &p); + *sids = p.sids; + *numsids = p.numsids; + return 0; + + out_err: + *numsids = 0; + *sids = NULL; + return EINVAL; +} + /** * security_genfs_sid - Obtain a SID for a file in a filesystem * @fstype: filesystem type From owner-p4-projects@FreeBSD.ORG Wed Nov 26 10:21:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 96C3516A4D0; Wed, 26 Nov 2003 10:21:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5777E16A4CE for ; Wed, 26 Nov 2003 10:21:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86E2D43F93 for ; Wed, 26 Nov 2003 10:21:34 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQILYXJ022973 for ; Wed, 26 Nov 2003 10:21:34 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQILYMn022970 for perforce@freebsd.org; Wed, 26 Nov 2003 10:21:34 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Wed, 26 Nov 2003 10:21:34 -0800 (PST) Message-Id: <200311261821.hAQILYMn022970@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 18:21:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=43060 Change 43060 by areisse@areisse_ibook on 2003/11/26 10:21:15 libsebsd wrapper for get_file_sids Affected files ... .. //depot/projects/trustedbsd/sedarwin/libsebsd/sebsd.h#4 edit .. //depot/projects/trustedbsd/sedarwin/libsebsd/security_get_user_contexts.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin/libsebsd/sebsd.h#4 (text+ko) ==== @@ -76,6 +76,7 @@ extern int security_compute_av(struct security_query *query, struct security_response *response); +extern int security_get_file_contexts(const char *fromcontext, char ***retcontexts, size_t *ncontexts); /* ==== //depot/projects/trustedbsd/sedarwin/libsebsd/security_get_user_contexts.c#3 (text+ko) ==== @@ -56,8 +56,8 @@ * allowed SEBSD transitions to be made by a given user in a given * context. */ -int -security_get_user_contexts(const char *fromcontext, const char *username, +static int +security_get_some_contexts(int what, const char *fromcontext, const char *username, char ***retcontexts, size_t *ncontexts) { char *contexts, *s, **contextarray; @@ -70,7 +70,7 @@ uap.ctx = fromcontext; uap.usr = username; uap.out = NULL; - if (mac_syscall ("sebsd", 6, &uap)) + if (mac_syscall ("sebsd", what, &uap)) { return (-1); } @@ -79,7 +79,7 @@ return (-1); } uap.out = contexts; - error = mac_syscall ("sebsd", 6, &uap); + error = mac_syscall ("sebsd", what, &uap); /* * We could possibly race and not have a large enough space * for the current set of contexts. @@ -123,3 +123,16 @@ *retcontexts = contextarray; return (0); } + +int +security_get_user_contexts(const char *fromcontext, const char *username, + char ***retcontexts, size_t *ncontexts) +{ + return security_get_some_contexts (6, fromcontext, username, retcontexts, ncontexts); +} + +int +security_get_file_contexts(const char *fromcontext, char ***retcontexts, size_t *ncontexts) +{ + return security_get_some_contexts (5, fromcontext, "unused", retcontexts, ncontexts); +} From owner-p4-projects@FreeBSD.ORG Wed Nov 26 11:46:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97DB516A4D0; Wed, 26 Nov 2003 11:46:18 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 687FB16A4CE for ; Wed, 26 Nov 2003 11:46:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C512843F93 for ; Wed, 26 Nov 2003 11:46:17 -0800 (PST) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAQJkHXJ026731 for ; Wed, 26 Nov 2003 11:46:17 -0800 (PST) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAQJkHor026728 for perforce@freebsd.org; Wed, 26 Nov 2003 11:46:17 -0800 (PST) (envelope-from areisse@nailabs.com) Date: Wed, 26 Nov 2003 11:46:17 -0800 (PST) Message-Id: <200311261946.hAQJkHor026728@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 43062 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Nov 2003 19:46:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=43062 Change 43062 by areisse@areisse_ibook on 2003/11/26 11:45:58 GUI tool for labelling files. You need a kernel with get_file_sids to use it. Affected files ... .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/LabelDialog.h#1 add .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/LabelDialog.m#1 add .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/MainMenu.nib/classes.nib#1 add .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/MainMenu.nib/info.nib#1 add .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/MainMenu.nib/objects.nib#1 add .. //depot/projects/trustedbsd/sedarwin/sebsd_cmds/relabel_gui/relabel_gui.pbproj/project.pbxproj#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Nov 27 13:59:10 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F0F316A4D1; Thu, 27 Nov 2003 13:59:10 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 207AA16A4D0 for ; Thu, 27 Nov 2003 13:59:10 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3E2543FCB for ; Thu, 27 Nov 2003 13:59:08 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARLx8XJ043701 for ; Thu, 27 Nov 2003 13:59:08 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARLx8fK043698 for perforce@freebsd.org; Thu, 27 Nov 2003 13:59:08 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 13:59:08 -0800 (PST) Message-Id: <200311272159.hARLx8fK043698@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43093 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 21:59:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=43093 Change 43093 by marcel@marcel_nfs on 2003/11/27 13:59:01 Remove syscons from the amd64 configuration files. there's no syscons on this branch. Affected files ... .. //depot/projects/tty/sys/conf/files.amd64#6 edit .. //depot/projects/tty/sys/conf/options.amd64#4 edit Differences ... ==== //depot/projects/tty/sys/conf/files.amd64#6 (text+ko) ==== @@ -25,23 +25,10 @@ dev/kbd/atkbdc.c optional atkbdc dev/kbd/kbd.c optional atkbd dev/kbd/kbd.c optional kbd -dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd dev/kbd/kbd.c optional vt dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa -dev/syscons/apm/apm_saver.c optional apm_saver apm -dev/syscons/schistory.c optional sc -dev/syscons/scmouse.c optional sc -dev/syscons/scterm.c optional sc -dev/syscons/scterm-dumb.c optional sc -dev/syscons/scterm-sc.c optional sc -dev/syscons/scvesactl.c optional sc vga vesa -dev/syscons/scvgarndr.c optional sc vga -dev/syscons/scvidctl.c optional sc -dev/syscons/scvtb.c optional sc -dev/syscons/syscons.c optional sc -dev/syscons/sysmouse.c optional sc dev/uart/uart_cpu_amd64.c optional uart isa/atkbd_isa.c optional atkbd @@ -100,31 +87,16 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -dev/fb/fb.c optional fb -dev/fb/fb.c optional vga -dev/fb/splash.c optional splash -dev/fb/vga.c optional vga dev/kbd/atkbd.c optional atkbd dev/kbd/atkbdc.c optional atkbdc dev/kbd/kbd.c optional atkbd dev/kbd/kbd.c optional kbd -dev/kbd/kbd.c optional sc dev/kbd/kbd.c optional ukbd dev/kbd/kbd.c optional vt dev/ppc/ppc.c optional ppc -dev/syscons/schistory.c optional sc -dev/syscons/scmouse.c optional sc -dev/syscons/scterm.c optional sc -dev/syscons/scterm-dumb.c optional sc -dev/syscons/scterm-sc.c optional sc -dev/syscons/scvgarndr.c optional sc vga -dev/syscons/scvidctl.c optional sc -dev/syscons/scvtb.c optional sc -dev/syscons/syscons.c optional sc -dev/syscons/sysmouse.c optional sc geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_mbr.c standard @@ -136,8 +108,6 @@ isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc isa/psm.c optional psm -isa/syscons_isa.c optional sc -isa/vga_isa.c optional vga pci/agp_intel.c optional agp pci/agp_via.c optional agp pci/agp_sis.c optional agp ==== //depot/projects/tty/sys/conf/options.amd64#4 (text+ko) ==== @@ -10,13 +10,6 @@ CLK_CALIBRATION_LOOP opt_clock.h TIMER_FREQ opt_clock.h -VGA_ALT_SEQACCESS opt_vga.h -VGA_DEBUG opt_vga.h -VGA_NO_FONT_LOADING opt_vga.h -VGA_NO_MODE_CHANGE opt_vga.h -VGA_SLOW_IOACCESS opt_vga.h -VGA_WIDTH90 opt_vga.h - ATKBD_DFLT_KEYMAP opt_atkbd.h # ------------------------------- From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:01:13 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 23BD916A4D0; Thu, 27 Nov 2003 14:01:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE07216A4CE for ; Thu, 27 Nov 2003 14:01:12 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0763943FB1 for ; Thu, 27 Nov 2003 14:01:12 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARM1BXJ043838 for ; Thu, 27 Nov 2003 14:01:11 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARM1BJv043835 for perforce@freebsd.org; Thu, 27 Nov 2003 14:01:11 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:01:11 -0800 (PST) Message-Id: <200311272201.hARM1BJv043835@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43094 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:01:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=43094 Change 43094 by marcel@marcel_nfs on 2003/11/27 14:00:26 Remove the quick-n-dirty VGA driver from the i386 and ia64 configuration. This was brought over from the ia64 branch. Affected files ... .. //depot/projects/tty/sys/conf/files.i386#10 edit .. //depot/projects/tty/sys/conf/files.ia64#9 edit Differences ... ==== //depot/projects/tty/sys/conf/files.i386#10 (text+ko) ==== @@ -132,10 +132,6 @@ dev/sio/sio_isa.c optional sio isa dev/sr/if_sr_isa.c optional sr isa dev/uart/uart_cpu_i386.c optional uart -dev/vga/vga.c optional vga -dev/vga/vga_cons.c optional vga -dev/vga/vga_isa.c optional vga isa -dev/vga/vga_pci.c optional vga pci geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_mbr.c standard @@ -200,7 +196,6 @@ i386/i386/sys_machdep.c standard i386/i386/trap.c standard i386/i386/tsc.c standard -i386/i386/vga_machdep.c optional vga i386/i386/vm86.c standard i386/i386/vm_machdep.c standard i386/ibcs2/ibcs2_errno.c optional ibcs2 ==== //depot/projects/tty/sys/conf/files.ia64#9 (text+ko) ==== @@ -51,10 +51,6 @@ dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/uart/uart_cpu_ia64.c optional uart -dev/vga/vga.c optional vga -dev/vga/vga_cons.c optional vga -dev/vga/vga_isa.c optional vga isa -dev/vga/vga_pci.c optional vga pci geom/geom_bsd.c standard geom/geom_bsd_enc.c standard geom/geom_gpt.c standard @@ -107,7 +103,6 @@ ia64/ia64/uma_machdep.c standard ia64/ia64/unaligned.c standard ia64/ia64/unwind.c standard -ia64/ia64/vga_machdep.c optional vga ia64/ia64/vm_machdep.c standard ia64/isa/isa.c optional isa ia64/isa/isa_dma.c optional isa From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:02:15 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E75C16A4D0; Thu, 27 Nov 2003 14:02:15 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E258A16A4CE for ; Thu, 27 Nov 2003 14:02:14 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EAE543FCB for ; Thu, 27 Nov 2003 14:02:14 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARM2DXJ043885 for ; Thu, 27 Nov 2003 14:02:13 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARM2DEO043882 for perforce@freebsd.org; Thu, 27 Nov 2003 14:02:13 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:02:13 -0800 (PST) Message-Id: <200311272202.hARM2DEO043882@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43095 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:02:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=43095 Change 43095 by marcel@marcel_nfs on 2003/11/27 14:01:25 Add KGI foo. These are only the mods to existing files. Not any new files. Affected files ... .. //depot/projects/tty/sys/conf/files#11 edit .. //depot/projects/tty/sys/conf/options#10 edit .. //depot/projects/tty/sys/sys/conf.h#7 edit .. //depot/projects/tty/sys/sys/kernel.h#5 edit .. //depot/projects/tty/sys/vm/vm_object.h#8 edit .. //depot/projects/tty/sys/vm/vm_pager.c#7 edit .. //depot/projects/tty/sys/vm/vm_pager.h#4 edit Differences ... ==== //depot/projects/tty/sys/conf/files#11 (text+ko) ==== @@ -495,6 +495,14 @@ dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa dev/joy/joy_pccard.c optional joy pccard +dev/kgi/dpy-null.c optional kgi +dev/kgi/graphic.c optional kgi +dev/kgi/kgi.c optional kgi +dev/kgi/system.c optional kgi +dev/kii/kiievt.c optional kgi +dev/kii/kiidflt.c optional kgi +dev/kii/kiisyms.c optional kgi +dev/kii/kii.c optional kgi dev/led/led.c optional cpu_soekris dev/lge/if_lge.c optional lge dev/lmc/if_lmc.c optional lmc nowerror @@ -1658,6 +1666,7 @@ ufs/ufs/ufs_vnops.c optional ffs vm/default_pager.c standard vm/device_pager.c standard +vm/kgi_pager.c optional kgi vm/phys_pager.c standard vm/swap_pager.c standard vm/vm_fault.c standard ==== //depot/projects/tty/sys/conf/options#10 (text+ko) ==== @@ -158,6 +158,9 @@ TTYHOG opt_tty.h DIRECTIO opt_directio.h +# KGI options +KGI_DBG_LEVEL opt_kgi.h + # POSIX kernel options _KPOSIX_PRIORITY_SCHEDULING opt_posix.h P1003_1B_SEMAPHORES opt_posix.h ==== //depot/projects/tty/sys/sys/conf.h#7 (text+ko) ==== @@ -199,6 +199,7 @@ #define D_TRACKCLOSE 0x00080000 /* track all closes */ #define D_MMAP_ANON 0x00100000 /* special treatment in vm_mmap.c */ #define D_NOGIANT 0x00400000 /* Doesn't want Giant */ +#define D_KGI_PAGING 0x00800000 /* is a KGI pager backend */ /* * Character device switch table ==== //depot/projects/tty/sys/sys/kernel.h#5 (text+ko) ==== @@ -121,6 +121,7 @@ SI_SUB_MTX_POOL_DYNAMIC = 0x1AC0000, /* dynamic mutex pool */ SI_SUB_LOCK = 0x1B00000, /* various locks */ SI_SUB_EVENTHANDLER = 0x1C00000, /* eventhandler init */ + SI_SUB_KGI = 0x1D00000, /* KGI */ SI_SUB_KLD = 0x2000000, /* KLD and module setup */ SI_SUB_CPU = 0x2100000, /* CPU resource(s)*/ SI_SUB_MAC = 0x2180000, /* TrustedBSD MAC subsystem */ ==== //depot/projects/tty/sys/vm/vm_object.h#8 (text+ko) ==== @@ -76,7 +76,7 @@ #include enum obj_type { OBJT_DEFAULT, OBJT_SWAP, OBJT_VNODE, OBJT_DEVICE, OBJT_PHYS, - OBJT_DEAD }; + OBJT_KGI, OBJT_DEAD }; typedef u_char objtype_t; /* @@ -138,6 +138,15 @@ struct { int swp_bcount; } swp; + + /* + * KGI pager + * + * kgip_pglist - list of allocated pages. + */ + struct { + TAILQ_HEAD(, vm_page) kgip_pglist; + } kgip; } un_pager; }; ==== //depot/projects/tty/sys/vm/vm_pager.c#7 (text+ko) ==== @@ -167,6 +167,7 @@ &vnodepagerops, /* OBJT_VNODE */ &devicepagerops, /* OBJT_DEVICE */ &physpagerops, /* OBJT_PHYS */ + &kgipagerops, /* OBJT_KGI */ &deadpagerops /* OBJT_DEAD */ }; ==== //depot/projects/tty/sys/vm/vm_pager.h#4 (text+ko) ==== @@ -67,6 +67,7 @@ extern struct pagerops vnodepagerops; extern struct pagerops devicepagerops; extern struct pagerops physpagerops; +extern struct pagerops kgipagerops; /* * get/put return values From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:03:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E17FA16A4D0; Thu, 27 Nov 2003 14:03:16 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B9F0716A4CE for ; Thu, 27 Nov 2003 14:03:16 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1078743FCB for ; Thu, 27 Nov 2003 14:03:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARM3FXJ044784 for ; Thu, 27 Nov 2003 14:03:15 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARM3Fpr044781 for perforce@freebsd.org; Thu, 27 Nov 2003 14:03:15 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:03:15 -0800 (PST) Message-Id: <200311272203.hARM3Fpr044781@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:03:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=43096 Change 43096 by marcel@marcel_nfs on 2003/11/27 14:02:38 Add the KGI code. Affected files ... .. //depot/projects/tty/sys/dev/kgi/COPYRIGHT#1 add .. //depot/projects/tty/sys/dev/kgi/COPYRIGHT.GPL#1 add .. //depot/projects/tty/sys/dev/kgi/COPYRIGHT.MIT#1 add .. //depot/projects/tty/sys/dev/kgi/README#1 add .. //depot/projects/tty/sys/dev/kgi/compiler.h#1 add .. //depot/projects/tty/sys/dev/kgi/config.h#1 add .. //depot/projects/tty/sys/dev/kgi/debug.h#1 add .. //depot/projects/tty/sys/dev/kgi/dpy-null.c#1 add .. //depot/projects/tty/sys/dev/kgi/graphic.c#1 add .. //depot/projects/tty/sys/dev/kgi/graphic.h#1 add .. //depot/projects/tty/sys/dev/kgi/i386-compiler.h#1 add .. //depot/projects/tty/sys/dev/kgi/i386-types.h#1 add .. //depot/projects/tty/sys/dev/kgi/io.h#1 add .. //depot/projects/tty/sys/dev/kgi/kgi.c#1 add .. //depot/projects/tty/sys/dev/kgi/kgi.h#1 add .. //depot/projects/tty/sys/dev/kgi/kgicmd.h#1 add .. //depot/projects/tty/sys/dev/kgi/kgierr.h#1 add .. //depot/projects/tty/sys/dev/kgi/kgii.h#1 add .. //depot/projects/tty/sys/dev/kgi/maintainers.h#1 add .. //depot/projects/tty/sys/dev/kgi/pci.h#1 add .. //depot/projects/tty/sys/dev/kgi/system.c#1 add .. //depot/projects/tty/sys/dev/kgi/system.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:04:19 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9EC016A4D0; Thu, 27 Nov 2003 14:04:18 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A167716A4CE for ; Thu, 27 Nov 2003 14:04:18 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF74643F75 for ; Thu, 27 Nov 2003 14:04:17 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARM4HXJ044816 for ; Thu, 27 Nov 2003 14:04:17 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARM4HFn044813 for perforce@freebsd.org; Thu, 27 Nov 2003 14:04:17 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:04:17 -0800 (PST) Message-Id: <200311272204.hARM4HFn044813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43097 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:04:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=43097 Change 43097 by marcel@marcel_nfs on 2003/11/27 14:03:17 Add the KII code. Affected files ... .. //depot/projects/tty/sys/dev/kii/COPYRIGHT#1 add .. //depot/projects/tty/sys/dev/kii/COPYRIGHT.GPL#1 add .. //depot/projects/tty/sys/dev/kii/COPYRIGHT.MIT#1 add .. //depot/projects/tty/sys/dev/kii/atkiidrv.c#1 add .. //depot/projects/tty/sys/dev/kii/default-keymap-de#1 add .. //depot/projects/tty/sys/dev/kii/default-keymap-us#1 add .. //depot/projects/tty/sys/dev/kii/kii.c#1 add .. //depot/projects/tty/sys/dev/kii/kii.h#1 add .. //depot/projects/tty/sys/dev/kii/kiicmd.h#1 add .. //depot/projects/tty/sys/dev/kii/kiidflt.c#1 add .. //depot/projects/tty/sys/dev/kii/kiidrv.c#1 add .. //depot/projects/tty/sys/dev/kii/kiidrv.h#1 add .. //depot/projects/tty/sys/dev/kii/kiierr.h#1 add .. //depot/projects/tty/sys/dev/kii/kiievt.c#1 add .. //depot/projects/tty/sys/dev/kii/kiievt.h#1 add .. //depot/projects/tty/sys/dev/kii/kiikbd.c#1 add .. //depot/projects/tty/sys/dev/kii/kiireg.h#1 add .. //depot/projects/tty/sys/dev/kii/kiisyms.c#1 add .. //depot/projects/tty/sys/dev/kii/kiisyms.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:12:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F31E616A4D0; Thu, 27 Nov 2003 14:12:34 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CAF9E16A4CE for ; Thu, 27 Nov 2003 14:12:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B325543F93 for ; Thu, 27 Nov 2003 14:12:29 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARMCTXJ045102 for ; Thu, 27 Nov 2003 14:12:29 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARMCSEG045099 for perforce@freebsd.org; Thu, 27 Nov 2003 14:12:28 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:12:28 -0800 (PST) Message-Id: <200311272212.hARMCSEG045099@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:12:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=43098 Change 43098 by marcel@marcel_nfs on 2003/11/27 14:12:05 IFC @43092 Affected files ... .. //depot/projects/ia64/UPDATING#58 integrate .. //depot/projects/ia64/bin/Makefile.inc#8 integrate .. //depot/projects/ia64/contrib/openpam/lib/openpam_ttyconv.c#17 integrate .. //depot/projects/ia64/etc/mtree/BSD.include.dist#19 integrate .. //depot/projects/ia64/include/Makefile#33 integrate .. //depot/projects/ia64/lib/libc/gen/initgroups.c#4 integrate .. //depot/projects/ia64/lib/libc/sparc64/sys/__sparc_utrap_setup.c#4 integrate .. //depot/projects/ia64/lib/libc/sys/getfsstat.2#6 integrate .. //depot/projects/ia64/lib/libc/sys/setgroups.2#5 integrate .. //depot/projects/ia64/libexec/tftpd/tftpd.c#9 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#3 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#71 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/install.sgml#11 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#131 integrate .. //depot/projects/ia64/release/i386/drivers.conf#24 integrate .. //depot/projects/ia64/sbin/Makefile.inc#5 integrate .. //depot/projects/ia64/sbin/dump/dump.8#19 integrate .. //depot/projects/ia64/sbin/gbde/gbde.8#7 integrate .. //depot/projects/ia64/sbin/idmapd/idmapd.8#2 integrate .. //depot/projects/ia64/sbin/idmapd/idmapd.c#2 integrate .. //depot/projects/ia64/sbin/init/Makefile#3 integrate .. //depot/projects/ia64/sbin/mount_nfs4/mount_nfs4.8#2 integrate .. //depot/projects/ia64/sbin/mount_nfs4/mount_nfs4.c#2 integrate .. //depot/projects/ia64/sbin/mount_udf/mount_udf.c#7 integrate .. //depot/projects/ia64/sbin/newfs/mkfs.c#32 integrate .. //depot/projects/ia64/share/man/man4/Makefile#62 integrate .. //depot/projects/ia64/share/man/man4/acpi.4#15 integrate .. //depot/projects/ia64/share/man/man4/led.4#2 integrate .. //depot/projects/ia64/share/man/man4/man4.i386/CPU_ELAN.4#1 branch .. //depot/projects/ia64/share/man/man4/man4.i386/Makefile#14 integrate .. //depot/projects/ia64/share/man/man4/ncv.4#1 branch .. //depot/projects/ia64/share/man/man4/nsp.4#1 branch .. //depot/projects/ia64/share/man/man4/stg.4#2 integrate .. //depot/projects/ia64/share/man/man7/hier.7#24 integrate .. //depot/projects/ia64/share/syscons/keymaps/INDEX.keymaps#9 integrate .. //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#16 integrate .. //depot/projects/ia64/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/ia64/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/ia64/sys/amd64/amd64/genassym.c#8 integrate .. //depot/projects/ia64/sys/amd64/amd64/identcpu.c#6 integrate .. //depot/projects/ia64/sys/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/ia64/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/ia64/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/ia64/sys/amd64/amd64/nexus.c#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/pmap.c#30 integrate .. //depot/projects/ia64/sys/amd64/amd64/support.S#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/sys_machdep.c#6 integrate .. //depot/projects/ia64/sys/amd64/amd64/trap.c#12 integrate .. //depot/projects/ia64/sys/amd64/amd64/vm_machdep.c#12 integrate .. //depot/projects/ia64/sys/amd64/conf/GENERIC#13 integrate .. //depot/projects/ia64/sys/amd64/include/_limits.h#4 integrate .. //depot/projects/ia64/sys/amd64/include/_stdint.h#2 integrate .. //depot/projects/ia64/sys/amd64/include/acpica_machdep.h#4 integrate .. //depot/projects/ia64/sys/amd64/include/asmacros.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/bus_dma.h#9 integrate .. //depot/projects/ia64/sys/amd64/include/limits.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/proc.h#2 integrate .. //depot/projects/ia64/sys/amd64/include/specialreg.h#4 integrate .. //depot/projects/ia64/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/ia64/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/ia64/sys/amd64/isa/isa.c#3 integrate .. //depot/projects/ia64/sys/amd64/isa/isa_dma.c#3 integrate .. //depot/projects/ia64/sys/boot/i386/boot0/boot0.s#3 integrate .. //depot/projects/ia64/sys/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/ia64/sys/compat/linux/linux_file.c#17 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_misc.c#23 integrate .. //depot/projects/ia64/sys/conf/files#107 integrate .. //depot/projects/ia64/sys/conf/kern.post.mk#38 integrate .. //depot/projects/ia64/sys/conf/kmod.mk#29 integrate .. //depot/projects/ia64/sys/conf/majors#29 integrate .. //depot/projects/ia64/sys/conf/newvers.sh#8 integrate .. //depot/projects/ia64/sys/contrib/dev/acpica/dsmthdat.c#9 integrate .. //depot/projects/ia64/sys/contrib/dev/acpica/exfldio.c#10 integrate .. //depot/projects/ia64/sys/contrib/dev/acpica/utdelete.c#8 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi.c#45 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_cpu.c#11 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pci_link.c#9 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_pcib.c#20 integrate .. //depot/projects/ia64/sys/dev/ata/ata-chipset.c#27 integrate .. //depot/projects/ia64/sys/dev/ata/ata-pci.h#17 integrate .. //depot/projects/ia64/sys/dev/ata/ata-raid.c#27 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cd.c#34 integrate .. //depot/projects/ia64/sys/dev/ips/ips.c#5 integrate .. //depot/projects/ia64/sys/dev/ips/ips.h#5 integrate .. //depot/projects/ia64/sys/dev/ips/ips_commands.c#6 integrate .. //depot/projects/ia64/sys/dev/led/led.c#2 integrate .. //depot/projects/ia64/sys/dev/md/md.c#36 integrate .. //depot/projects/ia64/sys/dev/random/randomdev.c#12 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/buffer.c#11 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/buffer.h#6 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/channel.c#14 integrate .. //depot/projects/ia64/sys/dev/usb/ohci.c#21 integrate .. //depot/projects/ia64/sys/dev/vinum/vinuminterrupt.c#6 integrate .. //depot/projects/ia64/sys/dev/vinum/vinumio.c#20 integrate .. //depot/projects/ia64/sys/dev/vinum/vinumrequest.c#15 integrate .. //depot/projects/ia64/sys/fs/fdescfs/fdesc_vnops.c#16 integrate .. //depot/projects/ia64/sys/geom/geom_event.c#24 integrate .. //depot/projects/ia64/sys/geom/geom_subr.c#36 integrate .. //depot/projects/ia64/sys/i386/i386/elan-mmcr.c#15 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#49 integrate .. //depot/projects/ia64/sys/i386/i386/mp_machdep.c#32 integrate .. //depot/projects/ia64/sys/i386/ibcs2/imgact_coff.c#17 integrate .. //depot/projects/ia64/sys/i386/include/pcpu.h#9 integrate .. //depot/projects/ia64/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#99 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#37 integrate .. //depot/projects/ia64/sys/kern/kern_intr.c#27 integrate .. //depot/projects/ia64/sys/kern/subr_smp.c#16 integrate .. //depot/projects/ia64/sys/kern/subr_witness.c#41 integrate .. //depot/projects/ia64/sys/kern/uipc_socket2.c#27 integrate .. //depot/projects/ia64/sys/kern/uipc_usrreq.c#25 integrate .. //depot/projects/ia64/sys/kern/vfs_mount.c#23 integrate .. //depot/projects/ia64/sys/modules/acpi/Makefile#15 integrate .. //depot/projects/ia64/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/ia64/sys/modules/linux/Makefile#8 integrate .. //depot/projects/ia64/sys/modules/null/Makefile#2 integrate .. //depot/projects/ia64/sys/modules/nwfs/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/ppbus/Makefile#4 integrate .. //depot/projects/ia64/sys/modules/ppi/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/pps/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/smbfs/Makefile#4 integrate .. //depot/projects/ia64/sys/modules/streams/Makefile#3 integrate .. //depot/projects/ia64/sys/net/if_faith.c#14 integrate .. //depot/projects/ia64/sys/net/if_loop.c#21 integrate .. //depot/projects/ia64/sys/net/raw_usrreq.c#10 integrate .. //depot/projects/ia64/sys/net/route.c#16 integrate .. //depot/projects/ia64/sys/net/route.h#11 integrate .. //depot/projects/ia64/sys/net/rtsock.c#22 integrate .. //depot/projects/ia64/sys/netatalk/ddp_usrreq.c#12 integrate .. //depot/projects/ia64/sys/netatm/atm_aal5.c#8 integrate .. //depot/projects/ia64/sys/netatm/atm_usrreq.c#9 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket.c#5 integrate .. //depot/projects/ia64/sys/netgraph/ng_pptpgre.c#11 integrate .. //depot/projects/ia64/sys/netgraph/ng_socket.c#14 integrate .. //depot/projects/ia64/sys/netinet/in_pcb.c#28 integrate .. //depot/projects/ia64/sys/netinet/in_pcb.h#20 integrate .. //depot/projects/ia64/sys/netinet/in_rmx.c#8 integrate .. //depot/projects/ia64/sys/netinet/ip_divert.c#21 integrate .. //depot/projects/ia64/sys/netinet/ip_dummynet.c#25 integrate .. //depot/projects/ia64/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#30 integrate .. //depot/projects/ia64/sys/netinet/ip_icmp.c#17 integrate .. //depot/projects/ia64/sys/netinet/ip_input.c#37 integrate .. //depot/projects/ia64/sys/netinet/ip_output.c#35 integrate .. //depot/projects/ia64/sys/netinet/raw_ip.c#30 integrate .. //depot/projects/ia64/sys/netinet/tcp_hostcache.c#1 branch .. //depot/projects/ia64/sys/netinet/tcp_input.c#46 integrate .. //depot/projects/ia64/sys/netinet/tcp_output.c#19 integrate .. //depot/projects/ia64/sys/netinet/tcp_subr.c#35 integrate .. //depot/projects/ia64/sys/netinet/tcp_syncache.c#26 integrate .. //depot/projects/ia64/sys/netinet/tcp_timer.c#16 integrate .. //depot/projects/ia64/sys/netinet/tcp_usrreq.c#15 integrate .. //depot/projects/ia64/sys/netinet/tcp_var.h#15 integrate .. //depot/projects/ia64/sys/netinet/udp_usrreq.c#26 integrate .. //depot/projects/ia64/sys/netinet6/icmp6.c#21 integrate .. //depot/projects/ia64/sys/netinet6/in6_pcb.c#19 integrate .. //depot/projects/ia64/sys/netinet6/in6_rmx.c#7 integrate .. //depot/projects/ia64/sys/netinet6/in6_src.c#9 integrate .. //depot/projects/ia64/sys/netinet6/ip6_forward.c#10 integrate .. //depot/projects/ia64/sys/netinet6/ip6_input.c#21 integrate .. //depot/projects/ia64/sys/netinet6/ip6_output.c#18 integrate .. //depot/projects/ia64/sys/netinet6/raw_ip6.c#13 integrate .. //depot/projects/ia64/sys/netinet6/udp6_output.c#9 integrate .. //depot/projects/ia64/sys/netinet6/udp6_usrreq.c#17 integrate .. //depot/projects/ia64/sys/netipsec/keysock.c#7 integrate .. //depot/projects/ia64/sys/netipx/ipx_usrreq.c#11 integrate .. //depot/projects/ia64/sys/netipx/spx_usrreq.c#10 integrate .. //depot/projects/ia64/sys/netkey/keysock.c#19 integrate .. //depot/projects/ia64/sys/netnatm/natm.c#16 integrate .. //depot/projects/ia64/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/ia64/sys/nfsclient/nfs.h#10 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_bio.c#19 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_subs.c#12 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vfsops.c#25 integrate .. //depot/projects/ia64/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/ia64/sys/nfsclient/nfsnode.h#5 integrate .. //depot/projects/ia64/sys/opencrypto/cryptodev.c#15 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/ia64/sys/rpc/rpcv2.h#2 delete .. //depot/projects/ia64/sys/security/mac/mac_net.c#2 integrate .. //depot/projects/ia64/sys/security/mac_biba/mac_biba.c#23 integrate .. //depot/projects/ia64/sys/security/mac_ifoff/mac_ifoff.c#8 integrate .. //depot/projects/ia64/sys/security/mac_lomac/mac_lomac.c#16 integrate .. //depot/projects/ia64/sys/security/mac_mls/mac_mls.c#23 integrate .. //depot/projects/ia64/sys/security/mac_stub/mac_stub.c#3 integrate .. //depot/projects/ia64/sys/security/mac_test/mac_test.c#15 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mp_machdep.c#19 integrate .. //depot/projects/ia64/sys/sys/mac.h#22 integrate .. //depot/projects/ia64/sys/sys/mac_policy.h#18 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#26 integrate .. //depot/projects/ia64/sys/sys/pcpu.h#8 integrate .. //depot/projects/ia64/sys/sys/protosw.h#7 integrate .. //depot/projects/ia64/sys/sys/smp.h#5 integrate .. //depot/projects/ia64/sys/sys/soundcard.h#7 integrate .. //depot/projects/ia64/sys/sys/timepps.h#5 integrate .. //depot/projects/ia64/sys/vm/vm_map.c#68 integrate .. //depot/projects/ia64/tools/diag/ac/cknames.pl#2 integrate .. //depot/projects/ia64/tools/diag/ac/ent.sh#2 integrate .. //depot/projects/ia64/usr.bin/locale/locale.1#3 integrate .. //depot/projects/ia64/usr.sbin/burncd/burncd.8#15 integrate .. //depot/projects/ia64/usr.sbin/jail/jail.8#13 integrate .. //depot/projects/ia64/usr.sbin/mtree/spec.c#5 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/Makefile#11 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/menus.c#37 integrate Differences ... ==== //depot/projects/ia64/UPDATING#58 (text+ko) ==== @@ -20,10 +20,10 @@ 20031112: The statfs structure has been updated with 64-bit fields to allow accurate reporting of multi-terabyte filesystem - sizes. You should build and boot a new kernel BEFORE doing a - `make world' as the new kernel will know about binaries using - the old statfs structure, but an old kernel will not know - about the new system calls that support the new statfs + sizes. You should build world, then build and boot the new kernel + BEFORE doing a `installworld' as the new kernel will know about + binaries using the old statfs structure, but an old kernel will + not know about the new system calls that support the new statfs structure. Note that the backwards compatibility is only present when the kernel is configured with the COMPAT_FREEBSD4 option. Since @@ -1431,4 +1431,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.281 2003/11/14 22:11:44 marcel Exp $ +$FreeBSD: src/UPDATING,v 1.282 2003/11/17 23:25:16 rwatson Exp $ ==== //depot/projects/ia64/bin/Makefile.inc#8 (text+ko) ==== @@ -1,9 +1,9 @@ # @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile.inc,v 1.19 2003/11/16 04:57:28 gordon Exp $ +# $FreeBSD: src/bin/Makefile.inc,v 1.20 2003/11/19 16:59:00 marcel Exp $ BINDIR?= /bin WARNS?= 6 -.if defined(NO_DYNAMICROOT) +.if defined(NO_DYNAMICROOT) || ${MACHINE_ARCH} == "ia64" NOSHARED?= YES .endif ==== //depot/projects/ia64/contrib/openpam/lib/openpam_ttyconv.c#17 (text) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#22 $ + * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#23 $ */ #include @@ -179,13 +179,13 @@ resp[i]->resp = NULL; switch (msg[i]->msg_style) { case PAM_PROMPT_ECHO_OFF: - resp[i]->resp = prompt_echo_off(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt_echo_off(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_PROMPT_ECHO_ON: - resp[i]->resp = prompt(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_ERROR_MSG: @@ -206,11 +206,13 @@ } RETURNC(PAM_SUCCESS); fail: - while (i) - if (resp[--i]->resp) { - memset(resp[i]->resp, 0, strlen(resp[i]->resp)); - FREE(resp[i]->resp); + for (i = 0; i < n; ++i) { + if ((*resp[i]).resp != NULL) { + memset((*resp[i]).resp, 0, strlen((*resp[i]).resp)); + FREE((*resp[i]).resp); } + } + memset(*resp, 0, n * sizeof **resp); FREE(*resp); RETURNC(PAM_CONV_ERR); } ==== //depot/projects/ia64/etc/mtree/BSD.include.dist#19 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.76 2003/11/22 06:08:59 scottl Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -58,6 +58,8 @@ .. smbfs .. + udf + .. umapfs .. unionfs ==== //depot/projects/ia64/include/Makefile#33 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.206 2003/10/29 00:32:25 peter Exp $ +# $FreeBSD: src/include/Makefile,v 1.207 2003/11/22 06:08:59 scottl Exp $ # # Doing a "make install" builds /usr/include. @@ -34,7 +34,7 @@ LSUBDIRS= cam/scsi dev/an dev/ic dev/iicbus dev/firewire dev/ofw \ dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ - fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \ + fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ ==== //depot/projects/ia64/lib/libc/gen/initgroups.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)initgroups.c 8.1 (Berkeley) 6/4/93"; #endif #include -__FBSDID("$FreeBSD: src/lib/libc/gen/initgroups.c,v 1.7 2002/02/01 00:57:29 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/initgroups.c,v 1.8 2003/11/19 15:51:26 dds Exp $"); #include @@ -50,9 +50,14 @@ const char *uname; gid_t agroup; { - int groups[NGROUPS], ngroups; + int ngroups; + /* + * Provide space for one group more than NGROUPS to allow + * setgroups to fail and set errno. + */ + gid_t groups[NGROUPS + 1]; - ngroups = NGROUPS; + ngroups = NGROUPS + 1; getgrouplist(uname, agroup, groups, &ngroups); return (setgroups(ngroups, groups)); } ==== //depot/projects/ia64/lib/libc/sparc64/sys/__sparc_utrap_setup.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_setup.c,v 1.4 2002/05/13 04:35:08 jake Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_setup.c,v 1.5 2003/11/18 14:21:41 jake Exp $"); #include @@ -48,6 +48,8 @@ sizeof (ua) / sizeof (*ua), ua }; +void __sparc_utrap_setup(void) __attribute__((constructor)); + void __sparc_utrap_setup(void) { ==== //depot/projects/ia64/lib/libc/sys/getfsstat.2#6 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getfsstat.2 8.3 (Berkeley) 5/25/95 -.\" $FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.15 2003/06/08 10:01:52 charnier Exp $ +.\" $FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.16 2003/11/21 01:30:28 tjr Exp $ .\" -.Dd May 25, 1995 +.Dd November 20, 2003 .Dt GETFSSTAT 2 .Os .Sh NAME @@ -56,69 +56,8 @@ argument is a pointer to .Vt statfs -structures defined as follows: -.Bd -literal -typedef struct fsid { int32_t val[2]; } fsid_t; /* file system id type */ - -/* - * file system statistics - */ - -#define MFSNAMELEN 16 /* length of fs type name, including null */ -#define MNAMELEN 90 /* length of buffer for returned name */ - -struct statfs { - long f_spare2; /* placeholder */ - long f_bsize; /* fundamental file system block size */ - long f_iosize; /* optimal transfer block size */ - long f_blocks; /* total data blocks in file system */ - long f_bfree; /* free blocks in fs */ - long f_bavail; /* free blocks avail to non-superuser */ - long f_files; /* total file nodes in file system */ - long f_ffree; /* free file nodes in fs */ - fsid_t f_fsid; /* file system id */ - uid_t f_owner; /* user that mounted the file system */ - int f_type; /* type of file system (see below) */ - int f_flags; /* copy of mount flags */ - long f_spare[2]; /* spare for later */ - char f_fstypename[MFSNAMELEN];/* fs type name */ - char f_mntonname[MNAMELEN];/* directory on which mounted */ - char f_mntfromname[MNAMELEN];/* mounted file system */ -}; -.Ed -.Pp -The flags that may be returned include: -.Bl -tag -width MNT_ASYNCHRONOUS -.It Dv MNT_RDONLY -The file system is mounted read-only; -Even the super-user may not write on it. -.It Dv MNT_NOEXEC -Files may not be executed from the file system. -.It Dv MNT_NOSUID -Setuid and setgid bits on files are not honored when they are executed. -.It Dv MNT_NODEV -Special files in the file system may not be opened. -.It Dv MNT_SYNCHRONOUS -All I/O to the file system is done synchronously. -.It Dv MNT_ASYNCHRONOUS -No file system I/O is done synchronously. -.It Dv MNT_LOCAL -The file system resides locally. -.It Dv MNT_QUOTA -The file system has quotas enabled on it. -.It Dv MNT_ROOTFS -Identifies the root file system. -.It Dv MNT_EXRDONLY -The file system is exported read-only. -.It Dv MNT_EXPORTED -The file system is exported for both reading and writing. -.It Dv MNT_DEFEXPORTED -The file system is exported for both reading and writing to any Internet host. -.It Dv MNT_EXPORTANON -The file system maps all remote accesses to the anonymous user. -.It Dv MNT_EXKERB -The file system is exported with Kerberos uid mapping. -.El +structures, as described in +.Xr statfs 2 . .Pp Fields that are undefined for a particular file system are set to -1. The buffer is filled with an array of ==== //depot/projects/ia64/lib/libc/sys/setgroups.2#5 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)setgroups.2 8.2 (Berkeley) 4/16/94 -.\" $FreeBSD: src/lib/libc/sys/setgroups.2,v 1.12 2003/09/10 19:24:33 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/setgroups.2,v 1.13 2003/11/19 13:05:50 dds Exp $ .\" .Dd April 16, 1994 .Dt SETGROUPS 2 @@ -71,6 +71,12 @@ .Bl -tag -width Er .It Bq Er EPERM The caller is not the super-user. +.It Bq Er EINVAL +The number specified in the +.Fa ngroups +argument is larger than the +.Dv NGROUPS +limit. .It Bq Er EFAULT The address specified for .Fa gidset ==== //depot/projects/ia64/libexec/tftpd/tftpd.c#9 (text+ko) ==== @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)tftpd.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$FreeBSD: src/libexec/tftpd/tftpd.c,v 1.27 2003/04/19 10:14:43 billf Exp $"; + "$FreeBSD: src/libexec/tftpd/tftpd.c,v 1.28 2003/11/20 13:36:31 sobomax Exp $"; #endif /* not lint */ /* @@ -364,8 +364,9 @@ int i, first = 1, has_options = 0, ecode; struct formats *pf; char *filename, *mode, *option, *ccp; + char fnbuf[MAXPATHLEN]; - filename = cp = tp->th_stuff; + cp = tp->th_stuff; again: while (cp < buf + size) { if (*cp == '\0') @@ -376,6 +377,14 @@ nak(EBADOP); exit(1); } + i = cp - tp->th_stuff; + if (i >= sizeof(fnbuf)) { + nak(EBADOP); + exit(1); + } + memcpy(fnbuf, tp->th_stuff, i); + fnbuf[i] = '\0'; + filename = fnbuf; if (first) { mode = ++cp; first = 0; ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#3 (text+ko) ==== @@ -1,5 +1,5 @@ Supported Processors and Motherboards @@ -12,8 +12,8 @@ As of this writing, this port supports the Athlon64 (Clawhammer) and Opteron (Sledgehammer) machines. The largest tested - memory configuration to date is 8GB. There is no support for SMP - machines at present. + memory configuration to date is 8GB. SMP support has been + recently completed and is reasonably robust. In many respects, &os;/&arch; is similar to &os;/i386, in terms of drivers supported. There may be some issues with 64-bit @@ -21,8 +21,9 @@ drivers that already function correctly on other 64-bit platforms should work. - &os;/&arch; is still very much a work in progress. Much work - is being done in the &os; Perforce repository and then merged to - the &os; CVS repository as it stabilizes. + &os;/&arch; is a very young platform on FreeBSD. While the + core FreeBSD kernel and base system components are generally + fairly robust, there are likely to still be rough edges, + particularly with third party packages. ==== //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#71 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.200 2003/11/17 05:45:21 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.201 2003/11/27 18:24:43 peter Exp $ Supported Devices @@ -137,7 +137,7 @@ - Adaptec AIC-6260 and AIC-6360 based boards + Adaptec AIC-6260 and AIC-6360 based boards (&man.aic.4; driver) Adaptec AHA-154X ISA and AHA-1640 MCA @@ -150,12 +150,12 @@ AIC-7860, AIC-7870, AIC-7880, and AIC789x based SCSI host adapters (&man.ahc.4; driver) - Ultra-320 SCSI controllers based on the Adaptec + Ultra-320 SCSI controllers based on the Adaptec AIC7901, AIC7901A, and AIC7902 Ultra320 controller chips (&man.ahd.4; driver) - Adaptec FSA family RAID controllers (&man.aac.4; driver) + Adaptec FSA family RAID controllers (&man.aac.4; driver) NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (ct driver) @@ -260,7 +260,7 @@ - AdvanSys SCSI controllers (all models, &man.adv.4; + AdvanSys SCSI controllers (all models, &man.adv.4; and &man.adw.4; drivers) @@ -270,16 +270,16 @@ - BusLogic MultiMaster W, + BusLogic MultiMaster W, C, S, and A Series Host Adapters (&man.bt.4; driver) - + BusLogic/Mylex Flashpoint adapters are not yet supported. - + AMI FastDisk controllers that are true BusLogic MultiMaster clones are also supported. @@ -292,25 +292,25 @@ - DPT SmartCACHE Plus, SmartCACHE III, SmartRAID III, SmartCACHE IV and + DPT SmartCACHE Plus, SmartCACHE III, SmartRAID III, SmartCACHE IV and SmartRAID IV SCSI/RAID controllers (&man.dpt.4; driver) - Adaptec 21x0S/32x0S/34x0S SCSI RAID + Adaptec 21x0S/32x0S/34x0S SCSI RAID controllers (&man.asr.4; driver) - Adaptec 2000S/2005S Zero-Channel RAID controllers + Adaptec 2000S/2005S Zero-Channel RAID controllers (&man.asr.4; driver) - Adaptec 2400A ATA-100 RAID controller + Adaptec 2400A ATA-100 RAID controller (&man.asr.4; driver) - DPT SmartRAID V and VI SCSI RAID controllers + DPT SmartRAID V and VI SCSI RAID controllers (&man.asr.4; driver) - AMI MegaRAID Express and Enterprise family RAID controllers + AMI MegaRAID Express and Enterprise family RAID controllers (&man.amr.4; driver) - Booting from these controllers is supported. EISA + Booting from these controllers is supported. EISA adapters are not supported. Booting from these controllers is not @@ -318,11 +318,11 @@ - Mylex DAC-family RAID controllers with 2.x, 3.x, 4.x + Mylex DAC-family RAID controllers with 2.x, 3.x, 4.x and 5.x firmware (&man.mlx.4; driver) - Booting from these controllers is supported. EISA adapters + Booting from these controllers is supported. EISA adapters are not supported. Booting from these controllers is not @@ -334,7 +334,7 @@ - Mylex AcceleRAID/eXtremeRAID family PCI to SCSI RAID controllers with 6.x firmware + Mylex AcceleRAID/eXtremeRAID family PCI to SCSI RAID controllers with 6.x firmware (&man.mly.4; driver) @@ -346,7 +346,7 @@ 3ware Escalade ATA RAID controllers (&man.twe.4; driver) - LSI/Symbios (formerly NCR) + LSI/Symbios (formerly NCR) 53C8XX and 53C10XX PCI SCSI controllers, either embedded on motherboard or on add-on boards (&man.ncr.4; and &man.sym.4; drivers) @@ -386,12 +386,12 @@ adapters (&man.stg.4; driver) - Qlogic controllers and variants (&man.isp.4; driver) + Qlogic controllers and variants (&man.isp.4; driver) - DTC 3290 EISA SCSI controller in 1542 emulation mode. + DTC 3290 EISA SCSI controller in 1542 emulation mode. - Tekram DC390 and DC390T controllers, maybe other + Tekram DC390 and DC390T controllers, maybe other cards based on the AMD 53c974 as well (&man.amd.4; driver) @@ -419,23 +419,23 @@ (&man.ida.4; driver) - SCSI adapters utilizing the Command Interface + SCSI adapters utilizing the Command Interface for SCSI-3 Support (&man.ciss.4; driver) - Intel Integrated RAID Controllers (&man.iir.4; driver) + Intel Integrated RAID Controllers (&man.iir.4; driver) Promise SuperTrak ATA RAID controllers (&man.pst.4; driver) - IBM / Adaptec ServeRAID series (&man.ips.4; driver) + IBM / Adaptec ServeRAID series (&man.ips.4; driver) - LSI Logic Fusion/MP + LSI Logic Fusion/MP architecture Fiber Channel controllers (&man.mpt.4; driver) - PCI SCSI host adapters using the Tekram + PCI SCSI host adapters using the Tekram TRM-S1040 SCSI chipset (&man.trm.4; driver) @@ -514,40 +514,40 @@ Ethernet Interfaces - Adaptec Duralink PCI Fast Ethernet adapters based on the Adaptec + Adaptec Duralink PCI Fast Ethernet adapters based on the Adaptec AIC-6915 Fast Ethernet controller chip (&man.sf.4; driver) - Alteon Networks PCI Gigabit Ethernet NICs based on the Tigon + Alteon Networks PCI Gigabit Ethernet NICs based on the Tigon 1 and Tigon 2 chipsets (&man.ti.4; driver) - AMD PCnet NICs (&man.lnc.4; and &man.pcn.4; drivers) + AMD PCnet NICs (&man.lnc.4; and &man.pcn.4; drivers) - + AMD PCnet/PCI (79c970 & 53c974 or 79c974) - + AMD PCnet/FAST - + Isolan AT 4141-0 (16 bit) - + Isolink 4110 (8 bit) - + PCnet/FAST+ - + PCnet/FAST III - + PCnet/PRO - + PCnet/Home - + HomePNA @@ -565,7 +565,7 @@ - SMC 83c17x (EPIC)-based Ethernet NICs (&man.tx.4; driver) + SMC 83c17x (EPIC)-based Ethernet NICs (&man.tx.4; driver) National Semiconductor DS8390-based Ethernet NICs, including @@ -802,61 +802,61 @@ RealTek RTL 8002 Pocket Ethernet (&man.rdp.4; driver) - RealTek 8129/8139 Fast Ethernet NICs (&man.rl.4; driver) + RealTek 8129/8139 Fast Ethernet NICs (&man.rl.4; driver) - Winbond W89C840F Fast Ethernet NICs (&man.wb.4; driver) + Winbond W89C840F Fast Ethernet NICs (&man.wb.4; driver) - VIA Technologies VT3043 Rhine I, VT86C100A + VIA Technologies VT3043 Rhine I, VT86C100A Rhine II, and VT6105/VT6105M Rhine III Fast Ethernet NICs (&man.vr.4; driver) - Silicon Integrated Systems SiS 900 and SiS 7016 PCI Fast + Silicon Integrated Systems SiS 900 and SiS 7016 PCI Fast Ethernet NICs (&man.sis.4; driver) - National Semiconductor DP83815 Fast Ethernet NICs + National Semiconductor DP83815 Fast Ethernet NICs (&man.sis.4; driver) - National Semiconductor DP83820 and DP83821 Gigabit Ethernet + National Semiconductor DP83820 and DP83821 Gigabit Ethernet NICs (&man.nge.4; driver) - Sundance Technologies ST201 PCI Fast Ethernet NICs + Sundance Technologies ST201 PCI Fast Ethernet NICs (&man.ste.4; driver) - SysKonnect SK-984x PCI Gigabit Ethernet cards (&man.sk.4; drivers) + SysKonnect SK-984x PCI Gigabit Ethernet cards (&man.sk.4; drivers) - Texas Instruments ThunderLAN PCI NICs (&man.tl.4; driver) + Texas Instruments ThunderLAN PCI NICs (&man.tl.4; driver) - DEC/Intel 21143 Fast Ethernet + DEC/Intel 21143 Fast Ethernet NICs and clones for PCI, MiniPCI, and CardBus (&man.dc.4; driver) - ADMtek Inc. AN986-based USB Ethernet NICs (&man.aue.4; driver) + ADMtek Inc. AN986-based USB Ethernet NICs (&man.aue.4; driver) - CATC USB-EL1210A-based USB Ethernet NICs (&man.cue.4; driver) + CATC USB-EL1210A-based USB Ethernet NICs (&man.cue.4; driver) - Kawasaki LSI KU5KUSB101B-based USB Ethernet NICs + Kawasaki LSI KU5KUSB101B-based USB Ethernet NICs (&man.kue.4; driver) - ASIX Electronics AX88172-based USB Ethernet NICs + ASIX Electronics AX88172-based USB Ethernet NICs (&man.axe.4; driver) - RealTek RTL8150-based USB Ethernet NICs + RealTek RTL8150-based USB Ethernet NICs (&man.rue.4; driver) DEC EtherWORKS II and III NICs (&man.le.4; driver) - DEC DC21040, DC21041, DC21140, DC21141, DC21142, and DC21143 + DEC DC21040, DC21041, DC21140, DC21141, DC21142, and DC21143 based NICs (&man.de.4; driver) - Fujitsu MB86960A/MB86965A based Fast Ethernet NICs + Fujitsu MB86960A/MB86965A based Fast Ethernet NICs (&man.fe.4; driver) Intel 82557-, 82258-, 82559-, 82550- @@ -865,7 +865,7 @@ Intel EtherExpress Pro/100B PCI Fast Ethernet - + Intel InBusiness 10/100 PCI Network Adapter @@ -880,7 +880,7 @@ Intel Pro/100 S Desktop, Server and Dual-Port Server Adapters - + On-board Ethernet NICs on many Intel motherboards. @@ -896,31 +896,31 @@ - Intel 82595-based Ethernet NICs (&man.ex.4; driver) + Intel 82595-based Ethernet NICs (&man.ex.4; driver) Intel 82586-based Ethernet NICs (&man.ie.4; driver) - 3Com 3C5x9 Etherlink III NICs (&man.ep.4; driver) + 3Com 3C5x9 Etherlink III NICs (&man.ep.4; driver) 3Com 3C501 8-bit ISA Ethernet NIC (&man.el.4; driver) - 3Com Etherlink XL-based NICs (&man.xl.4; driver) + 3Com Etherlink XL-based NICs (&man.xl.4; driver) - 3Com 3C59X series NICs (&man.vx.4; driver) + 3Com 3C59X series NICs (&man.vx.4; driver) - Crystal Semiconductor CS89x0-based NICs + Crystal Semiconductor CS89x0-based NICs (&man.cs.4; driver) - Megahertz X-Jack Ethernet PC-Card CC-10BT (&man.sn.4; + Megahertz X-Jack Ethernet PC-Card CC-10BT (&man.sn.4; driver) - Xircom CreditCard adapters (16 bit) and + Xircom CreditCard adapters (16 bit) and workalikes (&man.xe.4; driver) @@ -936,11 +936,11 @@ - Gigabit Ethernet cards based on the Level 1 + Gigabit Ethernet cards based on the Level 1 LXT1001 NetCellerator controller (&man.lge.4; driver) - Ethernet and Fast Ethernet NICs based + Ethernet and Fast Ethernet NICs based on the 3Com 3XP Typhoon/Sidewinder (3CR990) chipset (&man.txp.4; driver) @@ -948,7 +948,7 @@ (&man.bge.4; driver) - Gigabit Ethernet NICs based on the + Gigabit Ethernet NICs based on the Intel 82542 and 82543 controller chips (&man.gx.4; and &man.em.4; drivers), plus NICs supported by the Intel 82540EM, 82544, 82545EM, and 82546EB @@ -973,10 +973,10 @@ Myson Ethernet NICs (&man.my.4; driver) - Broadcom BCM4401 based Fast Ethernet adapters + Broadcom BCM4401 based Fast Ethernet adapters (&man.bfe.4; driver) - RealTek RTL8139C+, RTL8169, RTL8169S and + RealTek RTL8139C+, RTL8169, RTL8169S and RTL8110S based PCI Fast Ethernet and Gigabit Ethernet controllers (&man.re.4; driver) @@ -1013,7 +1013,7 @@ NCR / AT&T / Lucent Technologies WaveLan T1-speed ISA/radio LAN cards (&man.wl.4; driver) - Lucent Technologies WaveLAN/IEEE 802.11b PCMCIA and ISA + Lucent Technologies WaveLAN/IEEE 802.11b PCMCIA and ISA standard speed (2Mbps) and turbo speed (6Mbps) wireless network adapters and workalikes (&man.wi.4; driver) @@ -1136,13 +1136,13 @@ - Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) + Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:38:02 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A0DF16A4D0; Thu, 27 Nov 2003 14:38:02 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F3C716A4CE for ; Thu, 27 Nov 2003 14:38:02 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B0E343FE5 for ; Thu, 27 Nov 2003 14:38:01 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARMc1XJ048650 for ; Thu, 27 Nov 2003 14:38:01 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARMc0uG048643 for perforce@freebsd.org; Thu, 27 Nov 2003 14:38:00 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:38:00 -0800 (PST) Message-Id: <200311272238.hARMc0uG048643@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43099 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:38:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=43099 Change 43099 by marcel@marcel_nfs on 2003/11/27 14:37:11 Teach gas about Linux and FreeBSD unwind ABI constants. This needs to be contributed back to binutils. Affected files ... .. //depot/projects/ia64/contrib/binutils/gas/config/tc-ia64.c#8 edit Differences ... ==== //depot/projects/ia64/contrib/binutils/gas/config/tc-ia64.c#8 (text+ko) ==== @@ -523,6 +523,8 @@ { "svr4", PSEUDO_FUNC_CONST, { 0 } }, { "hpux", PSEUDO_FUNC_CONST, { 1 } }, { "nt", PSEUDO_FUNC_CONST, { 2 } }, + { "linux", PSEUDO_FUNC_CONST, { 3 } }, + { "freebsd",PSEUDO_FUNC_CONST, { 9 } }, /* unwind-related registers: */ { "priunat",PSEUDO_FUNC_REG, { REG_PRIUNAT } } From owner-p4-projects@FreeBSD.ORG Thu Nov 27 14:52:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86E3316A4D1; Thu, 27 Nov 2003 14:52:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 625A216A4CE for ; Thu, 27 Nov 2003 14:52:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 76AEB43FCB for ; Thu, 27 Nov 2003 14:52:19 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARMqJXJ049141 for ; Thu, 27 Nov 2003 14:52:19 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARMqIXa049138 for perforce@freebsd.org; Thu, 27 Nov 2003 14:52:18 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 14:52:18 -0800 (PST) Message-Id: <200311272252.hARMqIXa049138@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43100 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 22:52:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=43100 Change 43100 by marcel@marcel_nfs on 2003/11/27 14:52:05 Tweak the linker script to generate executables that are targeted towards our own VM: o Set the load address of executables to the start of region 1 (region 0 is reserved for ILP32 interoperability) instead of region 2. This stops wasting a complete region. On HP-UX region 1 is reserved for shared address space and this has been copied blindly for Linux and FreeBSD after that. It doesn't make sense to do it. o Do not load the data segment in region 3. On FreeBSD this means that all shared libraries are loaded there as well. Consequently only the text segment of the executable was loaded in region 2, wasting close to a complete region. The text segment is likely to be maller than 1GB for large programs, even if the total amount of code is much larger than that. It isn't common to have an executable that is larger than 1GB on disk. Now we load the data segment in the same region as the text segment, so that we fill up the segment before we go on to the next. We now have 3*2^61 bytes of useable address space. This change needs to be contributed back to binutils. Affected files ... .. //depot/projects/ia64/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh#2 edit Differences ... ==== //depot/projects/ia64/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh#2 (text+ko) ==== @@ -1,2 +1,4 @@ . ${srcdir}/emulparams/elf64_ia64.sh +TEXT_START_ADDR="0x2000000000000000" +unset DATA_ADDR . ${srcdir}/emulparams/elf_fbsd.sh From owner-p4-projects@FreeBSD.ORG Thu Nov 27 15:04:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02E2516A4D0; Thu, 27 Nov 2003 15:04:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B7FF216A4CE for ; Thu, 27 Nov 2003 15:04:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01ADE43F75 for ; Thu, 27 Nov 2003 15:04:35 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARN4YXJ050411 for ; Thu, 27 Nov 2003 15:04:34 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARN4YTQ050408 for perforce@freebsd.org; Thu, 27 Nov 2003 15:04:34 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 15:04:34 -0800 (PST) Message-Id: <200311272304.hARN4YTQ050408@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43101 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 23:04:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=43101 Change 43101 by marcel@marcel_nfs on 2003/11/27 15:04:26 Add a new syscall kse_switchin(2) that can be used to switch contexts on platforms that need or benefit from kernel support for KSE. Affected files ... .. //depot/projects/ia64/sys/kern/kern_thread.c#69 edit .. //depot/projects/ia64/sys/kern/syscalls.master#34 edit .. //depot/projects/ia64/sys/sys/kse.h#15 edit Differences ... ==== //depot/projects/ia64/sys/kern/kern_thread.c#69 (text+ko) ==== @@ -384,6 +384,30 @@ thread_link(td, kg); } +#ifndef _SYS_SYSPROTO_H_ +struct kse_switchin_args { + const struct __mcontext *mcp; + long val; + long *loc; +}; +#endif + +int +kse_switchin(struct thread *td, struct kse_switchin_args *uap) +{ + mcontext_t mc; + int error; + + error = (uap->mcp == NULL) ? EINVAL : 0; + if (!error) + error = copyin(uap->mcp, &mc, sizeof(mc)); + if (!error) + error = set_mcontext(td, &mc); + if (!error && uap->loc != NULL) + suword(uap->loc, uap->val); + return ((error == 0) ? EJUSTRETURN : error); +} + /* struct kse_thr_interrupt_args { struct kse_thr_mailbox * tmbx; ==== //depot/projects/ia64/sys/kern/syscalls.master#34 (text+ko) ==== @@ -639,6 +639,8 @@ int attrnamespace, void *data, size_t nbytes); } 439 STD BSD { ssize_t extattr_list_link(const char *path, \ int attrnamespace, void *data, size_t nbytes); } +440 MSTD BSD { int kse_switchin(const struct __mcontext *mcp, \ + long val, long *loc); } ; Please copy any additions and changes to the following compatability tables: ; sys/ia64/ia32/syscalls.master (take a best guess) ==== //depot/projects/ia64/sys/sys/kse.h#15 (text+ko) ==== @@ -109,6 +109,7 @@ int kse_release(struct timespec *); int kse_thr_interrupt(struct kse_thr_mailbox *, int, long); int kse_wakeup(struct kse_mailbox *); +int kse_switchin(mcontext_t *, long, long *); #endif /* !_KERNEL */ #endif /* !_SYS_KSE_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Nov 27 15:06:40 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2625816A4D0; Thu, 27 Nov 2003 15:06:40 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C2C5016A4CF for ; Thu, 27 Nov 2003 15:06:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 416EC43FBF for ; Thu, 27 Nov 2003 15:06:38 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARN6cXJ050637 for ; Thu, 27 Nov 2003 15:06:38 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARN6bkF050634 for perforce@freebsd.org; Thu, 27 Nov 2003 15:06:37 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 15:06:37 -0800 (PST) Message-Id: <200311272306.hARN6bkF050634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 23:06:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=43102 Change 43102 by marcel@marcel_nfs on 2003/11/27 15:05:58 Regen. Affected files ... .. //depot/projects/ia64/sys/kern/init_sysent.c#32 edit .. //depot/projects/ia64/sys/kern/syscalls.c#33 edit .. //depot/projects/ia64/sys/sys/syscall.h#32 edit .. //depot/projects/ia64/sys/sys/syscall.mk#32 edit .. //depot/projects/ia64/sys/sys/sysproto.h#35 edit Differences ... ==== //depot/projects/ia64/sys/kern/init_sysent.c#32 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.161 2003/11/14 03:49:41 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.158 2003/11/14 03:48:37 jeff Exp */ @@ -468,4 +468,5 @@ { AS(extattr_list_fd_args), (sy_call_t *)extattr_list_fd }, /* 437 = extattr_list_fd */ { AS(extattr_list_file_args), (sy_call_t *)extattr_list_file }, /* 438 = extattr_list_file */ { AS(extattr_list_link_args), (sy_call_t *)extattr_list_link }, /* 439 = extattr_list_link */ + { SYF_MPSAFE | AS(kse_switchin_args), (sy_call_t *)kse_switchin }, /* 440 = kse_switchin */ }; ==== //depot/projects/ia64/sys/kern/syscalls.c#33 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.147 2003/11/14 03:49:41 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.158 2003/11/14 03:48:37 jeff Exp */ @@ -447,4 +447,5 @@ "extattr_list_fd", /* 437 = extattr_list_fd */ "extattr_list_file", /* 438 = extattr_list_file */ "extattr_list_link", /* 439 = extattr_list_link */ + "kse_switchin", /* 440 = kse_switchin */ }; ==== //depot/projects/ia64/sys/sys/syscall.h#32 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.145 2003/11/14 03:49:41 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.158 2003/11/14 03:48:37 jeff Exp */ @@ -351,4 +351,5 @@ #define SYS_extattr_list_fd 437 #define SYS_extattr_list_file 438 #define SYS_extattr_list_link 439 -#define SYS_MAXSYSCALL 440 +#define SYS_kse_switchin 440 +#define SYS_MAXSYSCALL 441 ==== //depot/projects/ia64/sys/sys/syscall.mk#32 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.100 2003/11/14 03:49:41 jeff Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.158 2003/11/14 03:48:37 jeff Exp MIASM = \ syscall.o \ @@ -292,4 +292,5 @@ jail_attach.o \ extattr_list_fd.o \ extattr_list_file.o \ - extattr_list_link.o + extattr_list_link.o \ + kse_switchin.o ==== //depot/projects/ia64/sys/sys/sysproto.h#35 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.141 2003/11/14 03:49:41 jeff Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.158 2003/11/14 03:48:37 jeff Exp */ @@ -1284,6 +1284,11 @@ char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)]; char nbytes_l_[PADL_(size_t)]; size_t nbytes; char nbytes_r_[PADR_(size_t)]; }; +struct kse_switchin_args { + char mcp_l_[PADL_(const struct __mcontext *)]; const struct __mcontext * mcp; char mcp_r_[PADR_(const struct __mcontext *)]; + char val_l_[PADL_(long)]; long val; char val_r_[PADR_(long)]; + char loc_l_[PADL_(long *)]; long * loc; char loc_r_[PADR_(long *)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1573,6 +1578,7 @@ int extattr_list_fd(struct thread *, struct extattr_list_fd_args *); int extattr_list_file(struct thread *, struct extattr_list_file_args *); int extattr_list_link(struct thread *, struct extattr_list_link_args *); +int kse_switchin(struct thread *, struct kse_switchin_args *); #ifdef COMPAT_43 From owner-p4-projects@FreeBSD.ORG Thu Nov 27 15:36:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 916C916A4D0; Thu, 27 Nov 2003 15:36:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5310A16A4CE for ; Thu, 27 Nov 2003 15:36:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 060EE43FDD for ; Thu, 27 Nov 2003 15:36:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARNaFXJ051573 for ; Thu, 27 Nov 2003 15:36:15 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARNaFuK051570 for perforce@freebsd.org; Thu, 27 Nov 2003 15:36:15 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 15:36:15 -0800 (PST) Message-Id: <200311272336.hARNaFuK051570@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 23:36:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=43105 Change 43105 by marcel@marcel_nfs on 2003/11/27 15:36:00 Simplify the mcontext handling. Any synchronous context created by the kernel is the same now. Add _MC_FLAGS_SYSCALL_CONTEXT to mark a synchronous kernel context as such. Remove _MC_FLAGS_SCRATCH_VALID & _MC_FLAGS_RETURN_VALID. Move the handling of _MC_FLAGS_KSE_SET_MBOX out of set_mcontext() and into trap() where it's important. The flag is going away, so this change clusters the obsolete code. Note that this change does not try to preserve the ABI beyond making sure one can do a source upgrade without being hosed. Affected files ... .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#100 edit .. //depot/projects/ia64/sys/ia64/ia64/trap.c#67 edit .. //depot/projects/ia64/sys/ia64/include/ucontext.h#6 edit Differences ... ==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#100 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2003 Marcel Moolenaar * Copyright (c) 2000,2001 Doug Rabson * All rights reserved. * @@ -918,7 +919,7 @@ mtx_unlock(&psp->ps_mtx); PROC_UNLOCK(p); - get_mcontext(td, &sf.sf_uc.uc_mcontext, GET_MC_IA64_SCRATCH); + get_mcontext(td, &sf.sf_uc.uc_mcontext); /* Copy the frame out to userland. */ if (copyout(&sf, sfp, sizeof(sf)) != 0) { @@ -1070,24 +1071,13 @@ } else mc->mc_special = tf->tf_special; if (tf->tf_flags & FRAME_SYSCALL) { - if (flags & GET_MC_IA64_SCRATCH) { - mc->mc_flags |= _MC_FLAGS_SCRATCH_VALID; - mc->mc_scratch = tf->tf_scratch; - } else { - /* - * Put the syscall return values in the context. We - * need this for swapcontext() to work. Note that we - * don't use gr11 in the kernel, but the runtime - * specification defines it as a return register, - * just like gr8-gr10. - */ - mc->mc_flags |= _MC_FLAGS_RETURN_VALID; - if ((flags & GET_MC_CLEAR_RET) == 0) { - mc->mc_scratch.gr8 = tf->tf_scratch.gr8; - mc->mc_scratch.gr9 = tf->tf_scratch.gr9; - mc->mc_scratch.gr10 = tf->tf_scratch.gr10; - mc->mc_scratch.gr11 = tf->tf_scratch.gr11; - } + mc->mc_flags |= _MC_FLAGS_SYSCALL_CONTEXT; + mc->mc_scratch = tf->tf_scratch; + if (flags & GET_MC_CLEAR_RET) { + mc->mc_scratch.gr8 = 0; + mc->mc_scratch.gr9 = 0; + mc->mc_scratch.gr10 = 0; + mc->mc_scratch.gr11 = 0; } } else { mc->mc_flags |= _MC_FLAGS_ASYNC_CONTEXT; @@ -1137,33 +1127,24 @@ * the syscall is sigreturn(2). */ if (tf->tf_flags & FRAME_SYSCALL) - KASSERT(tf->tf_scratch.gr15 == SYS_sigreturn, ("foo")); + KASSERT(tf->tf_scratch.gr15 == SYS_sigreturn || + tf->tf_scratch.gr15 == SYS_kse_switchin, ("foo")); tf->tf_scratch = mc->mc_scratch; tf->tf_scratch_fp = mc->mc_scratch_fp; if (mc->mc_flags & _MC_FLAGS_HIGHFP_VALID) td->td_pcb->pcb_high_fp = mc->mc_high_fp; } else { KASSERT((tf->tf_flags & FRAME_SYSCALL) != 0, ("foo")); - if ((mc->mc_flags & _MC_FLAGS_SCRATCH_VALID) == 0) { + if ((mc->mc_flags & _MC_FLAGS_SYSCALL_CONTEXT) == 0) { s.cfm = tf->tf_special.cfm; s.iip = tf->tf_special.iip; tf->tf_scratch.gr15 = 0; /* Clear syscall nr. */ - if (mc->mc_flags & _MC_FLAGS_RETURN_VALID) { - tf->tf_scratch.gr8 = mc->mc_scratch.gr8; - tf->tf_scratch.gr9 = mc->mc_scratch.gr9; - tf->tf_scratch.gr10 = mc->mc_scratch.gr10; - tf->tf_scratch.gr11 = mc->mc_scratch.gr11; - } } else tf->tf_scratch = mc->mc_scratch; } tf->tf_special = s; restore_callee_saved(&mc->mc_preserved); restore_callee_saved_fp(&mc->mc_preserved_fp); - - if (mc->mc_flags & _MC_FLAGS_KSE_SET_MBOX) - suword((caddr_t)mc->mc_special.ifa, mc->mc_special.isr); - return (0); } ==== //depot/projects/ia64/sys/ia64/ia64/trap.c#67 (text+ko) ==== @@ -452,6 +452,11 @@ &mc, sizeof(mc)); if (!error) { set_mcontext(td, &mc); + if (mc.mc_flags & + _MC_FLAGS_KSE_SET_MBOX) + suword((caddr_t) + mc.mc_special.ifa, + mc.mc_special.isr); return; /* Don't call do_ast()!!! */ } ucode = framep->tf_scratch.gr8; ==== //depot/projects/ia64/sys/ia64/include/ucontext.h#6 (text+ko) ==== @@ -45,48 +45,42 @@ * call to the function that creates the context. An asynctx needs to have the * scratch registers preserved because it can describe any point in a thread's * (or process') execution. + * The second variation is for synchronous contexts. When the kernel creates + * a synchronous context if needs to preserve the scratch registers, because + * the syscall argument and return values are stored there in the trapframe + * and they need to be preserved in other to restart a syscall or return the + * proper return values. Also, the IIP and CFM fields need to be preserved + * as they point to the syscall stub, which the kernel saves as a favor to + * userland (it keeps the stubs small and simple). * * Below a description of the flags and their meaning: * * _MC_FLAGS_ASYNC_CONTEXT * If set, indicates that mc_scratch and mc_scratch_fp are both - * valid. IFF not set, _MC_FLAGS_RETURN_VALID indicates if the - * return registers are valid or not. + * valid. IFF not set, _MC_FLAGS_SYSCALL_CONTEXT indicates if the + * synchronous context is one corresponding to a syscall or not. + * Only the kernel is expected to create such a context and it's + * probably wise to let the kernel restore it. * _MC_FLAGS_HIGHFP_VALID * If set, indicates that the high FP registers (f32-f127) are * valid. This flag is very likely not going to be set for any * sensible synctx, but is not explicitly disallowed. Any synctx * that has this flag may or may not have the high FP registers * restored. In short: don't do it. - * _MC_FLAGS_KSE_SET_MBOX - * This flag is special to setcontext(2) and swapcontext(2). It - * instructs the kernel to write the value in mc_special.isr to - * the memory address pointed to by mc_special.ifa. This allows - * the kernel to switch to a new context in a KSE based threaded - * program. Note that this is a non-srandard extension to the - * otherwise standard system calls and use of this flag should be - * limited to KSE. - * _MC_FLAGS_RETURN_VALID - * If set and _MC_FLAGS_ASYNC_CONTEXT is not set indicates that - * the ABI defined return registers are valid. Both getcontext(2) - * and swapcontext(2) need to save the system call return values. - * Any synctx that does not have this flag may still have the - * return registers restored from the context. - * _MC_FLAGS_SCRATCH_VALID - * If set and _MC_FLAGS_ASYNC_CONTEXT is not set indicates that - * the scratch registers, but not the FP registers are valid. - * This flag is set in contexts passed to signal handlers. This - * flag is a superset of _MC_FLAGS_RETURN_VALID. If both flags - * are set, this flag takes precedence. + * _MC_FLAGS_SYSCALL_CONTEXT + * If set (hence _MC_FLAGS_ASYNC_CONTEXT is not set) indicates + * that the scratch registers contain syscall arguments and + * return values and that additionally IIP and CFM are valid. + * Only the kernel is expected to create such a context. It's + * probably wise to let the kernel restore it. */ typedef struct __mcontext { unsigned long mc_flags; #define _MC_FLAGS_ASYNC_CONTEXT 0x0001 #define _MC_FLAGS_HIGHFP_VALID 0x0002 -#define _MC_FLAGS_KSE_SET_MBOX 0x0004 -#define _MC_FLAGS_RETURN_VALID 0x0008 -#define _MC_FLAGS_SCRATCH_VALID 0x0010 +#define _MC_FLAGS_KSE_SET_MBOX 0x0004 /* undocumented. Has to go. */ +#define _MC_FLAGS_SYSCALL_CONTEXT 0x0008 unsigned long _reserved_; struct _special mc_special; struct _callee_saved mc_preserved; @@ -96,9 +90,4 @@ struct _high_fp mc_high_fp; } mcontext_t; -#ifdef _KERNEL -/* Flags for get_mcontext(). See also . */ -#define GET_MC_IA64_SCRATCH 0x10 -#endif - #endif /* !_MACHINE_UCONTEXT_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Nov 27 15:39:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36D8A16A4D0; Thu, 27 Nov 2003 15:39:21 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0DAEA16A4CE for ; Thu, 27 Nov 2003 15:39:21 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65D0F43F75 for ; Thu, 27 Nov 2003 15:39:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hARNdKXJ051687 for ; Thu, 27 Nov 2003 15:39:20 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hARNdJWq051684 for perforce@freebsd.org; Thu, 27 Nov 2003 15:39:19 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 15:39:19 -0800 (PST) Message-Id: <200311272339.hARNdJWq051684@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43106 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Nov 2003 23:39:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=43106 Change 43106 by marcel@marcel_nfs on 2003/11/27 15:39:11 Call kse_switchin() to restore syscall contexts. The next step is to use kse_switchin() for asynchronous contexts as well. Affected files ... .. //depot/projects/ia64/lib/libpthread/arch/ia64/include/pthread_md.h#8 edit Differences ... ==== //depot/projects/ia64/lib/libpthread/arch/ia64/include/pthread_md.h#8 (text+ko) ==== @@ -232,6 +232,12 @@ mc->mc_special.isr = (intptr_t)&tcb->tcb_tmbx; } _ia64_break_setcontext(mc); + } else if (mc->mc_flags & _MC_FLAGS_SYSCALL_CONTEXT) { + if (setmbox) + kse_switchin(mc, (long)&tcb->tcb_tmbx, + (long *)&kcb->kcb_kmbx.km_curthread); + else + kse_switchin(mc, 0, NULL); } else { if (setmbox) _ia64_restore_context(mc, (intptr_t)&tcb->tcb_tmbx, From owner-p4-projects@FreeBSD.ORG Thu Nov 27 16:03:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8524616A4D0; Thu, 27 Nov 2003 16:03:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C4F116A4CE for ; Thu, 27 Nov 2003 16:03:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A3F4343F85 for ; Thu, 27 Nov 2003 16:03:51 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAS03pXJ053406 for ; Thu, 27 Nov 2003 16:03:51 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAS03pUG053403 for perforce@freebsd.org; Thu, 27 Nov 2003 16:03:51 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 16:03:51 -0800 (PST) Message-Id: <200311280003.hAS03pUG053403@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2003 00:03:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=43108 Change 43108 by marcel@marcel_nfs on 2003/11/27 16:03:43 Make this compile again. Affected files ... .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#101 edit Differences ... ==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#101 (text+ko) ==== @@ -919,7 +919,7 @@ mtx_unlock(&psp->ps_mtx); PROC_UNLOCK(p); - get_mcontext(td, &sf.sf_uc.uc_mcontext); + get_mcontext(td, &sf.sf_uc.uc_mcontext, 0); /* Copy the frame out to userland. */ if (copyout(&sf, sfp, sizeof(sf)) != 0) { From owner-p4-projects@FreeBSD.ORG Thu Nov 27 21:21:22 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A1E716A4D0; Thu, 27 Nov 2003 21:21:22 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 420A016A4CE for ; Thu, 27 Nov 2003 21:21:22 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 940F743F93 for ; Thu, 27 Nov 2003 21:21:21 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAS5LLXJ079417 for ; Thu, 27 Nov 2003 21:21:21 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAS5LLtY079414 for perforce@freebsd.org; Thu, 27 Nov 2003 21:21:21 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Thu, 27 Nov 2003 21:21:21 -0800 (PST) Message-Id: <200311280521.hAS5LLtY079414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43114 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2003 05:21:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=43114 Change 43114 by marcel@marcel_nfs on 2003/11/27 21:20:57 Remove the ia64 specific behaviour to adjust to the page size as reported by the kernel. It adds initialization overhead and causes incompatible behaviour of returning NULL for zero-sized allocations for most configure scripts. Affected files ... .. //depot/projects/ia64/lib/libc/stdlib/malloc.c#21 edit Differences ... ==== //depot/projects/ia64/lib/libc/stdlib/malloc.c#21 (text+ko) ==== @@ -50,9 +50,8 @@ # define malloc_minsize 16U # endif # if defined(__ia64__) - static int malloc_pageshift_value; -# define malloc_pageshift malloc_pageshift_value -# define malloc_minsize 16U +# define malloc_pageshift 13U +# define malloc_minsize 16U # endif # if defined(__alpha__) # define malloc_pageshift 13U @@ -414,11 +413,6 @@ int i, j; int save_errno = errno; -#ifdef __ia64__ - malloc_pageshift = 0; - while ((1L << malloc_pageshift) < getpagesize()) - malloc_pageshift++; -#endif INIT_MMAP(); #ifdef MALLOC_EXTRA_SANITY From owner-p4-projects@FreeBSD.ORG Fri Nov 28 17:50:39 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3DFF316A4D0; Fri, 28 Nov 2003 17:50:39 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1028C16A4CE for ; Fri, 28 Nov 2003 17:50:39 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D766143FA3 for ; Fri, 28 Nov 2003 17:50:32 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAT1oWXJ066473 for ; Fri, 28 Nov 2003 17:50:32 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAT1oTXh066440 for perforce@freebsd.org; Fri, 28 Nov 2003 17:50:29 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Fri, 28 Nov 2003 17:50:29 -0800 (PST) Message-Id: <200311290150.hAT1oTXh066440@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43143 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 01:50:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=43143 Change 43143 by marcel@marcel_nfs on 2003/11/28 17:49:35 IFC @43142 Affected files ... .. //depot/projects/ia64/contrib/bind/CHANGES#8 integrate .. //depot/projects/ia64/contrib/bind/README#7 integrate .. //depot/projects/ia64/contrib/bind/Version#7 integrate .. //depot/projects/ia64/contrib/bind/bin/named/ns_init.c#4 integrate .. //depot/projects/ia64/contrib/bind/bin/named/ns_resp.c#8 integrate .. //depot/projects/ia64/contrib/bind/bin/nslookup/commands.l#4 integrate .. //depot/projects/ia64/etc/defaults/rc.conf#44 integrate .. //depot/projects/ia64/etc/rc.d/ike#1 branch .. //depot/projects/ia64/include/dirent.h#5 edit .. //depot/projects/ia64/include/locale.h#4 edit .. //depot/projects/ia64/include/rpc/types.h#2 edit .. //depot/projects/ia64/include/stddef.h#5 edit .. //depot/projects/ia64/include/stdio.h#13 edit .. //depot/projects/ia64/include/stdlib.h#21 edit .. //depot/projects/ia64/include/string.h#10 edit .. //depot/projects/ia64/include/time.h#10 edit .. //depot/projects/ia64/include/unistd.h#20 edit .. //depot/projects/ia64/include/wchar.h#14 edit .. //depot/projects/ia64/lib/libc/stdlib/malloc.c#22 integrate .. //depot/projects/ia64/sys/contrib/dev/ath/ah.h#4 integrate .. //depot/projects/ia64/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#5 integrate .. //depot/projects/ia64/sys/contrib/dev/ath/version.h#4 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/ahc_pci.c#15 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/ahd_pci.c#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.h#17 integrate .. //depot/projects/ia64/sys/dev/ata/ata-chipset.c#28 integrate .. //depot/projects/ia64/sys/dev/ata/ata-dma.c#31 integrate .. //depot/projects/ia64/sys/dev/ata/ata-pci.h#18 integrate .. //depot/projects/ia64/sys/dev/ath/if_ath.c#13 integrate .. //depot/projects/ia64/sys/dev/ath/if_ath_pci.c#6 integrate .. //depot/projects/ia64/sys/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/ia64/sys/dev/ath/if_athvar.h#8 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci_pci.c#26 integrate .. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#47 integrate .. //depot/projects/ia64/sys/dev/puc/puc_pci.c#6 integrate .. //depot/projects/ia64/sys/dev/re/if_re.c#8 integrate .. //depot/projects/ia64/sys/dev/sio/sio_pci.c#21 integrate .. //depot/projects/ia64/sys/dev/uart/uart_bus_pci.c#4 integrate .. //depot/projects/ia64/sys/dev/usb/ehci_pci.c#8 integrate .. //depot/projects/ia64/sys/dev/usb/ohci_pci.c#8 integrate .. //depot/projects/ia64/sys/dev/usb/uhci_pci.c#9 integrate .. //depot/projects/ia64/sys/net/bpf.h#7 integrate .. //depot/projects/ia64/sys/netatalk/at_control.c#6 integrate .. //depot/projects/ia64/sys/netinet/tcp_hostcache.c#2 integrate .. //depot/projects/ia64/sys/netkey/key.c#16 integrate .. //depot/projects/ia64/sys/pci/if_dc.c#52 integrate .. //depot/projects/ia64/sys/pci/if_rl.c#49 integrate .. //depot/projects/ia64/sys/pci/if_xl.c#43 integrate .. //depot/projects/ia64/sys/sys/param.h#48 edit .. //depot/projects/ia64/sys/sys/stddef.h#2 edit .. //depot/projects/ia64/tools/tools/release/chk_dokern.sh_and_drivers.conf#2 integrate .. //depot/projects/ia64/usr.bin/netstat/if.c#7 integrate .. //depot/projects/ia64/usr.bin/netstat/netstat.1#5 integrate .. //depot/projects/ia64/usr.bin/netstat/route.c#10 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/config.c#18 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/help/security.hlp#3 delete .. //depot/projects/ia64/usr.sbin/sysinstall/install.c#25 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/menus.c#38 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/sysinstall.h#26 integrate .. //depot/projects/ia64/usr.sbin/tzsetup/tzsetup.c#4 integrate Differences ... ==== //depot/projects/ia64/contrib/bind/CHANGES#8 (text+ko) ==== @@ -1,4 +1,9 @@ + --- 8.3.7-REL released --- (Wed Sep 3 21:01:37 PDT 2003) + +1581. [bug] apply anti-cache poison techniques to negative + answers. + --- 8.3.6-REL released --- (Sun Jun 8 15:11:32 PDT 2003) 1547. [port] cope with spurious EINVAL from evRead. ==== //depot/projects/ia64/contrib/bind/README#7 (text+ko) ==== @@ -10,6 +10,9 @@ Note that BIND 8 is in "end-of-life", having been replaced by BIND 9. See http://www.isc.org/ for more details. +BIND 8.3.7 Highlights + Security release. + BIND 8.3.6 Highlights Maintenance release. ==== //depot/projects/ia64/contrib/bind/Version#7 (text+ko) ==== @@ -1,1 +1,1 @@ -8.3.6-REL +8.3.7-REL ==== //depot/projects/ia64/contrib/bind/bin/named/ns_init.c#4 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_init.c 4.38 (Berkeley) 3/21/91"; -static const char rcsid[] = "$Id: ns_init.c,v 8.77 2002/08/20 04:27:23 marka Exp $"; +static const char rcsid[] = "$Id: ns_init.c,v 8.77.8.2 2003/09/04 04:09:09 marka Exp $"; #endif /* not lint */ /* ==== //depot/projects/ia64/contrib/bind/bin/named/ns_resp.c#8 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_resp.c 4.65 (Berkeley) 3/3/91"; -static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.4 2003/06/02 09:56:35 marka Exp $"; +static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.5 2003/09/04 03:03:18 marka Exp $"; #endif /* not lint */ /* @@ -271,7 +271,7 @@ int soacount; u_int qtype, qclass; int validanswer, dbflags; - int cname, lastwascname, externalcname; + int cname, lastwascname, externalcname, cachenegative; int count, founddata, foundname; int buflen; int newmsglen; @@ -911,6 +911,7 @@ cname = 0; lastwascname = 0; externalcname = 0; + cachenegative = 1; strcpy(aname, qname); if (count) { @@ -980,6 +981,7 @@ name); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_CNAME && @@ -1014,6 +1016,7 @@ "last was cname, ignoring auth. and add."); db_detach(&dp); validanswer = 0; + cachenegative = 0; break; } if (i < arfirst) { @@ -1029,6 +1032,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } else if (!ns_samedomain(name, qp->q_domain)) { @@ -1042,6 +1046,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_NS) { @@ -1205,8 +1210,9 @@ ) ) { - cache_n_resp(msg, msglen, from, qp->q_name, - qp->q_class, qp->q_type); + if (cachenegative) + cache_n_resp(msg, msglen, from, qp->q_name, + qp->q_class, qp->q_type); if (!qp->q_cmsglen && validanswer) { ns_debug(ns_log_default, 3, ==== //depot/projects/ia64/contrib/bind/bin/nslookup/commands.l#4 (text+ko) ==== @@ -1,5 +1,5 @@ %{ -/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.10 2002/07/01 01:20:28 dougb Exp $ */ +/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.11 2003/11/28 22:02:17 dougb Exp $ */ /* * Copyright (c) 1985 * The Regents of the University of California. All rights reserved. @@ -77,7 +77,6 @@ * exit - exit the program * root - set default server to the root * ls NAME - list the domain NAME - * view FILE - sorts and view the file with more * set OPTION - set an option * help - print help information * ? - print help information @@ -103,7 +102,6 @@ extern char rootServerName[]; extern void PrintHelp(); -extern void ViewList(char *); #define YY_INPUT(buf, result, max_size) \ { \ ==== //depot/projects/ia64/etc/defaults/rc.conf#44 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.190 2003/10/03 21:33:39 phk Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.191 2003/11/28 17:28:42 bms Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -71,6 +71,9 @@ firewall_flags="" # Flags passed to ipfw when type is a file ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port +ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) +ike_program="/usr/local/sbin/isakmpd" # Path to IKE daemon +ike_flags="" # Additional flags for IKE daemon ipsec_enable="NO" # Set to YES to run setkey on ipsec_file ipsec_file="/etc/ipsec.conf" # Name of config file for setkey natd_program="/sbin/natd" # path to natd, if you want a different one. ==== //depot/projects/ia64/include/dirent.h#5 (text+ko) ==== @@ -82,7 +82,7 @@ #define __DTF_READALL 0x0008 /* everything has been read */ #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #else /* !__BSD_VISIBLE */ ==== //depot/projects/ia64/include/locale.h#4 (text+ko) ==== @@ -65,7 +65,7 @@ }; #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #define LC_ALL 0 ==== //depot/projects/ia64/include/rpc/types.h#2 (text+ko) ==== @@ -60,7 +60,7 @@ # define TRUE (1) #endif #ifndef NULL -# define NULL 0 +# define NULL 0L #endif #define mem_alloc(bsize) calloc(1, bsize) ==== //depot/projects/ia64/include/stddef.h#5 (text+ko) ==== @@ -63,7 +63,7 @@ #endif #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #define offsetof(type, member) __offsetof(type, member) ==== //depot/projects/ia64/include/stdio.h#13 (text+ko) ==== @@ -58,7 +58,7 @@ #endif #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #define _FSTDIO /* Define for new stdio with functions. */ ==== //depot/projects/ia64/include/stdlib.h#21 (text+ko) ==== @@ -70,7 +70,7 @@ } ldiv_t; #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #define EXIT_FAILURE 1 ==== //depot/projects/ia64/include/string.h#10 (text+ko) ==== @@ -54,7 +54,7 @@ #endif #ifndef NULL -#define NULL 0 +#define NULL 0L #endif __BEGIN_DECLS ==== //depot/projects/ia64/include/time.h#10 (text+ko) ==== @@ -60,7 +60,7 @@ #define CLOCKS_PER_SEC 128 #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #ifndef _CLOCK_T_DECLARED ==== //depot/projects/ia64/include/unistd.h#20 (text+ko) ==== @@ -82,7 +82,7 @@ #define STDERR_FILENO 2 /* standard error file descriptor */ #ifndef NULL -#define NULL 0 /* null pointer constant */ +#define NULL 0L /* null pointer constant */ #endif #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 ==== //depot/projects/ia64/include/wchar.h#14 (text+ko) ==== @@ -72,7 +72,7 @@ #include #ifndef NULL -#define NULL 0 +#define NULL 0L #endif #ifndef _MBSTATE_T_DECLARED ==== //depot/projects/ia64/lib/libc/stdlib/malloc.c#22 (text+ko) ==== @@ -9,7 +9,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.83 2003/11/04 19:49:56 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.84 2003/11/28 18:03:22 marcel Exp $"); /* * Defining MALLOC_EXTRA_SANITY will enable extra checks which are related ==== //depot/projects/ia64/sys/contrib/dev/ath/ah.h#4 (text+ko) ==== @@ -33,7 +33,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGES. * - * $Id: ah.h,v 1.41 2003/11/01 01:05:45 sam Exp $ + * $Id: ah.h,v 1.43 2003/11/25 22:17:40 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -337,7 +337,7 @@ struct ath_hal { u_int32_t ah_magic; /* consistency check magic number */ u_int32_t ah_abi; /* HAL ABI version */ -#define HAL_ABI_VERSION 0x03103100 /* YYMMDDnn */ +#define HAL_ABI_VERSION 0x03112500 /* YYMMDDnn */ u_int16_t ah_devid; /* PCI device ID */ u_int16_t ah_subvendorid; /* PCI subvendor ID */ HAL_SOFTC ah_sc; /* back pointer to driver/os state */ @@ -406,15 +406,16 @@ void (*ah_setRxFilter)(struct ath_hal*, u_int32_t); HAL_BOOL (*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *, u_int32_t size, u_int flags); - HAL_STATUS (*ah_procRxDesc)(struct ath_hal *, struct ath_desc *); + HAL_STATUS (*ah_procRxDesc)(struct ath_hal *, struct ath_desc *, + u_int32_t phyAddr, struct ath_desc *next); void (*ah_rxMonitor)(struct ath_hal *); /* Misc Functions */ void (*ah_dumpState)(struct ath_hal *); - void (*ah_dumpEeprom)(struct ath_hal *); - void (*ah_dumpRfGain)(struct ath_hal *); - void (*ah_dumpAni)(struct ath_hal *); + HAL_BOOL (*ah_getDiagState)(struct ath_hal *, + int, void **, u_int *); void (*ah_getMacAddress)(struct ath_hal *, u_int8_t *); + HAL_BOOL (*ah_setMacAddress)(struct ath_hal *, const u_int8_t *); HAL_BOOL (*ah_setRegulatoryDomain)(struct ath_hal*, u_int16_t, HAL_STATUS *); void (*ah_setLedState)(struct ath_hal*, HAL_LED_STATE); @@ -427,9 +428,6 @@ u_int64_t (*ah_getTsf64)(struct ath_hal*); void (*ah_resetTsf)(struct ath_hal*); u_int16_t (*ah_getRegDomain)(struct ath_hal*); - u_int (*ah_getWirelessModes)(struct ath_hal*); - HAL_BOOL (*ah_getRfKill)(struct ath_hal*); - u_int32_t (*ah_getRandomSeed)(struct ath_hal*); HAL_BOOL (*ah_detectCardPresent)(struct ath_hal*); void (*ah_updateMibCounters)(struct ath_hal*, HAL_MIB_STATS*); HAL_BOOL (*ah_isHwCipherSupported)(struct ath_hal*, HAL_CIPHER); @@ -446,9 +444,10 @@ HAL_BOOL (*ah_resetKeyCacheEntry)(struct ath_hal*, u_int16_t); HAL_BOOL (*ah_isKeyCacheEntryValid)(struct ath_hal *, u_int16_t); HAL_BOOL (*ah_setKeyCacheEntry)(struct ath_hal*, - u_int16_t, const HAL_KEYVAL *, u_int8_t *, int); + u_int16_t, const HAL_KEYVAL *, + const u_int8_t *, int); HAL_BOOL (*ah_setKeyCacheEntryMac)(struct ath_hal*, - u_int16_t, u_int8_t *); + u_int16_t, const u_int8_t *); /* Power Management Functions */ HAL_BOOL (*ah_setPowerMode)(struct ath_hal*, ==== //depot/projects/ia64/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#5 (text+ko) ==== @@ -33,2256 +33,2512 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGES. * - * $Id: i386-elf.hal.o.uu,v 1.7 2003/11/01 02:01:29 sam Exp $ + * $Id: i386-elf.hal.o.uu,v 1.10 2003/11/29 00:14:18 sam Exp $ */ begin 644 hal.o -M?T5,1@$!`0D```````````$``P`!``````````````!0ZP$``````#0````` +M?T5,1@$!`0D```````````$``P`!``````````````#D%P(``````#0````` M`"@`#0`*`````````````````%6)Y0^W50B!^A00``!T<8'Z%!```'\9@_H2 M?PR#^A%]5(/Z!W1(ZU^#^A-T4^M8D('Z$Q$``'1(@?H3$0``?Q*!^@<1``!T M)H'Z$A$``'0EZS6X`````('Z$_```'0QN!0```"!^AOQ``!T).L9N"@```#K M&[@U````ZQ2-="8`N$(```#K";@`````C70F`%W#C;0F`````(V\)P````!5 MB>6#[`0/MU4(#[=-#&:!^HP6=`RX`````&:!^B>G=0B)#"3H-____XGL7<.- -M=@!5B>6#[!R)7?B)=?R+=0R+71"+312+51@/MT4(/100``!T73T4$```?R># -M^!)_$8/X$7UL@_@'ZQ&-M"8`````@_@3=$`]!P(``'1NZ8,````]$Q$``'0M -M/1,1``!_$3T'$0``=%0]$A$``.L/C78`/1/P``!T#CT;\0``="+K5+@3```` -MB50D$(E,)`R)7"0(B70D!(D$).C\____ZT&0B50D$(E,)`R)7"0(B70D!(D$ -M).C\____ZR:)5"00B4PD#(E<)`B)="0$B00DZ/S____K#+@`````QP(!```` -MD(M=^(MU_(GL7<.-M@````!5B>575E.#[`2+?0B[`````(MU#(VV`````(V_ -M`````(M'%(-_$`!U!XT4!NWK!)"+!`8C11"Z`0```#M%%'0:QP0D"@```.C\ -M____0X'[YP,``'[+N@````")T(/$!%M>7UW#C;8`````C;\`````58GE5E.+ -M30B+=0R[`````+@`````.?!S&(VT)@````"-%`")R(/@`0G0T>E#.?-R[UM> -M7<.-="8`C;PG`````%6)Y8/L#(D<)(ET)`2)?"0(BTT,BW40#[=5%`^W7-$D -M#[9$T2.#^`)T9H/X`G\)AG;````@_@#='J#^`0/A)@```#IR````)"- -M="8`O\````"#?1@`=!6`?-$G`'0.OV````")]HV\)P````"-!/4`````:<#H -M`P``N@````#W\XU$.`KIBP```(UV`(T4G0````"XTTUB$/?BP>H&C43R%8G1 -MN@````#W\8T$A20```#K88T4W0````"XTTUB$/?BP>H&C43R%8G1N@````#W -M\8T$A18```#K.HT4G0````"XTTUB$/?BP>H&C43R%8G1N@````#W\<'@`H'[ -MYP,``'<'!;T```#K"H/`7.L%N``````/M\"+'"2+="0$BWPD"(GL7<.-M@`` -M``!5B>6+30SV00(@=`>Z`@```.M*#[=!`B7`````N@,````]P````'0U#[=! -M`B70````N@0````]T````'0@]D$"$'0-N@$```#K$XVV`````/9!`P@/E<`/ -MMM"-%)*)T%W#ZPV0D)"0D)"0D)"0D)"058GEBU4(BT4,A,!Y%[@.````@?JT -M"0``=%V!^K,)``!W+NL:]L0!=3RX#@```('ZM`D``'1!@?JS"0``=PB!ZF<) -M``#K)8'ZAQ,``'<7B?:!ZM`)``"XSH$C4(/ZQ*!ZH@3``"XS6+50B+10R$P'D3N+0)``"#^@YT68/Z#788 -MZS*)]O;$`74[N+0)``"#^@YT08/Z#7<,C022!6<)``#K,HGV@_H:=QN-="8` -MC;PG`````(T$DHT$A:0(``#K%(UT)@"-!)(%B!,``)"-M"8`````7<.-M"8` -M````C;PG`````%6)Y593BUT,@'L"`'52N0````"-M@````"-O"<`````QD09 -M`O]!@_D??O6Y``````^W`XG&.<%])XVT)@`````/MD3+)@^VT(A,&@(*1,LG -M#[;`B$P8`D$Y\7SDC70F`%M>7<.-M@````"-OP````!5B>575E.#[$"+=0B+ -M70R-0Q")P3M%$`^'Z@```(UV`(M6%(-^$`!U"`'*[8E%Y.L&BQ01B57DBTX4 -MC5,,@WX0`'4-C10*[8E%\.L*C70F`(L,"HE-\(M.%(U3"(-^$`!U#HT4"NV) -M1>SK"Y"-="8`BPP*B4WLBTX4C5,$@WX0`'4.C10*[8G'ZPF-M@````"+/`J+ -M3A2#?A``=0B-%`OMB<+K`XL4"XM%Y(E$)"R-0Q")1"0HBT7PB40D)(U##(E$ -M)""+1>R)1"0R+ -M5A2+1-\,@WX0`'4-`<+MB<'K"8VV`````(L,$(M6%(M$WP2#?A``=0CK!HL4$(E5Z(M6%(M$WPR#?A``=0L#BPP0BU84BT3?!(-^$`!U!P'"[8G"ZP.+%!"+1>B)1"0L#BP00B40D#(L$WXE$)`C'1"0$5P$``,<$ -M)`````#H_/___XVV`````(V\)P````"#Q#1;7E]=PY"0D)"0D)"058GE5U93 -M@^P(BUT4#[=%#(E%\`^W?1"+10AF@3@!,'<)QT7L`````.L'QT7L%@```+X` -M````C78`C;PG`````(M5[`^W!'*)P0^OS[ID````*<*)T`^O1?`!P;@?A>M1 -M]^G!^@7!^1\IRF:)$X/#`D:#_@I^RH/$"%M>7UW#B?95B>4/MU4,B=!F@?K_ -M`'0[BT4(9H$X`C!W)F:#^CYV$(T$D@4B%0``ZQZ-M@````"-!)*-A`#L$P`` -MZPR-="8`C022!<`2```/M\!=PXUV`%6)Y0^W50R)T&:!^O\`=!N+10AF@3@" -M,'<(C8)@"0``ZP:-@OP(```/M\!=PXUV`%6)Y5=64X/L$(M]#&:!/P(P=G&^ -M4`$``+L`````9H._2@$````/A$8"``"0C70F`(U%\HE$)`B)\HU&`0^W\(E4 -M)`2+10B)!"3_51"Z`````(7`#X0=`@``#[9%\V:)A%\V`0``#[9%\F:)A%\X -M`0``@\,"#[>'2@$``#G#?+'IL0$``(U%\HE$)`B^`0$``,=$)`0``0``BT4( -MB00D_U40N@````"%P`^$R`$```^W5?*)T,'H"6:)AS8!``")T,'H`H/@?V:) -MAS@!``#!X@6#XG]FB9(#@^)_9HF7/@$``(U%\HE$)`B)\HU&`0^W\(E4)`2+10B) -M!"3_51"Z`````(7`#X05`0``#[=5\HG1P>D-#[>'/@$```G(9HF'/@$``(G0 -MP>@&@^!_9HF'0`$```'2@^)_9HF70@$``(U%\HE$)`B)\HU&`0^W\(E4)`2+ -M10B)!"3_51"Z`````(7`#X2X````#[=5\HG1P>D/#[>'0@$```G(9HF'0@$` -M`(G0P>@(@^!_9HF'1`$``(G0T>B#X']FB8=&`0``P>(&@^)_9HF72`$``(U% -M\HE$)`B)="0$BT4(B00D_U40N@````"%P'18#[=5\L'J"@^WAT@!```)T&:) -MAT@!``"[`````&:#OTH!````="T/M[=*`0``D(UT)@`/MX1?-@$``(E$)`2) -M/"3H'/W__V:)A%\V`0``0SGS?-^Z`0```(G0@\006UY?7<-5B>575E.#["3' -M1>0`````BT4,9H$X`C!V![Y0`0``ZP6^``$``(-]Y`%T0(-]Y`%_#H-]Y`!T -M$.F*````C78`@WWD`G13ZW^#Q@6+50P/MY)*`0``B57LBUT,@<-,`0``BTT, -M@<$V`0``ZU:+10QF@W@8``^$7P(``(/&-P^WD%0#``")5>R)PX'#_@,```5< -M`P``B47@ZSB+30QF@WD8``^$,@(``(/&1@^W@50#``")1>R)RX'#8@,``('! -M5@,``(E-X.L*N@````#I&@(``,=%Z`````"+5>PY5>@/C?4!``"-??*)]HV\ -M)P````"+3>B+5>`/MP1*9HD#B7PD"(ET)`1&BTT(B0PD_U40N@````"%P`^$ -MSP$```^W1?+!Z`IFB4,$#[=%\L'H!(/@/V:)0P(/MT7RP>`"@^`_9HE#'HE\ -M)`B)="0$1HM%"(D$)/]5$+H`````A<`/A(D!```/MU7RP>H.#[=#'@G09HE# -M'@^V1?.#X#]FB4,@#[=%\L'H`H/@/V:)0R(/MT7RP>`$@^`_9HE#)(E\)`B) -M="0$1HM5"(D4)/]5$+H`````A<`/A#(!```/MU7RP>H,#[=#)`G09HE#)`^W -M1?+!Z`:#X#]FB4,F#[=%\H/@/V:)0RB)?"0(B70D!$:+30B)#"3_51"Z```` -M`(7`#X3I````#[=%\L'H"F:)0RH/MT7RP>@$@^`_9HE#+`^W1?+!X`*#X#]F -MB4,NB7PD"(ET)`1&BT4(B00D_U40N@````"%P`^$HP````^W5?+!Z@X/MT,N -M"=!FB4,N#[9%\X/@/V:)0S`/MT7RP>@"@^`_9HE#,HU#"(E$)`P/MT,$B40D -M"`^W0P*)1"0$BU4,B10DZ.SY__^Z``````^W0P:)P3G"?22-M@````"-O"<` -M````#[]$4QZ-!("-!(`!P&:)1%,>0CG*?.F#PS3_1>B+3>PY3>@/C!?^____ -M1>2#?>0"#XXJ_?__N@$```")T(/$)%M>7UW#C70F`(V\)P````!5B>575E.# -M[""+?0S'1>@`````C;8`````C;PG`````&:!/P(P=@F^4`$``.L'B?:^``$` -M`(-]Z`%T-8-]Z`%_#X-]Z`!T$>MSC;0F`````(-]Z`)T0.MD@\95QT7D"``` -M`(V?G`0``(V'F@0``.M'9H-_&``/A,4!``"#QF7'1>0"````C9\.!0``C9<, -M!0``B57@ZS!F@W\8``^$GP$``(/&:<=%Y`,```"-G^X$``"-A^P$``")1>#K -M"KH`````Z8P!``"+5>!FQP(``,=%[`````"+1>0Y1>P/C5\!``#K#9"0D)"0 -MD)"0D)"0D)"-1?*)1"0(B70D!$:+50B)%"3_51"Z`````(7`#X1``0``9H$_ -M`C!V!P^V1?/K")`/MT7RP>@)9HE#"&:#>P@`#X3O````@WWH`'44#[=#"(E$ -M)`2)/"3HM/C__^L2B?8/MT,(B40D!(D\).CP^/__9HE#"&:!/P(P=A@"@^`_9HE#!@^W1?+!X`3K%0^W1?+!Z`.#X#]FB4,&#[=%\L'@`X/@/V:) -M0P2-1?*)1"0(B70D!$:+10B)!"3_51"Z`````(7`#X22````9H$_`C!V*0^W -M5?+!Z@P/MT,$"=!FB4,$#[=%\L'H!H/@/V:)0P(/MT7RZRF-="8`#[=5\L'J -M#0^W0P0)T&:)0P0/MT7RP>@'@^`_9HE#`@^W1?+1Z(/@/V:)`XM5X`^W`D!F -MB0*#PPK_1>R+1>0Y1>P/C+G^__^)]HV\)P````#_1>B#?>@"#X[3_?__N@$` -M``")T(/$(%M>7UW#C70F`%6)Y5=64X/L%(MU#('&)`4``(M%#&:!.`(P=@>_ -MOP$``.L%OV\!``#'1>P`````BU4,9H.ZV``````/A&D#``"+3>R+10QF@[Q( -MV@````!U%V:!.`(P=@B#QPCI,`,``(/'!^DH`P``BU4,9H$Z`C`/AJT```"[ -M`````)"-="8`C4WRB4PD"(E\)`1'BT4(B00D_U40N@````"%P`^$#`,```^V -M1?-FB03>#[9%\F:)1-X(@\,"@_L'?L6[`````(U5\HE4)`B)?"0$1XM-"(D, -M)/]5$+H`````A<`/A,P"```/MD7S@^`_9HE$W@(/MT7RP>@.@^`!B43>!`^W -M1?*#X#]FB43>"@^W1?+!Z`:#X`&)1-X,@\,"@_L'?J+I_@$``(U%\HE$)`B) -M?"0$1XM5"(D4)/]5$+H`````A<`/A&D"```/MU7RB=#!Z`EFB0:)T,'H`H/@ -M?V:)1@C!X@6#XG]FB580C4WRB4PD"(E\)`1'BT4(B00D_U40N@````"%P`^$ -M)0(```^W5?*)T<'I"P^W1A`)R&:)1A")T,'H!(/@?V:)1AC!X@.#XG]FB58@ -MC57RB50D"(E\)`1'BTT(B0PD_U40N@````"%P`^$V@$```^W5?*)T<'I#0^W -M1B`)R&:)1B")T,'H!H/@?V:)1B@!TH/B?V:)5C"-1?*)1"0(B7PD!$>+50B) -M%"3_51"Z`````(7`#X20`0``#[=5\HG1P>D/#[=&,`G(9HE&,(G0P>@(@^!_ -M9HE&.(G0P>@"@^`_9HE&`L'B!(/B/V:)5@J-3?*)3"0(B7PD!$>+10B)!"3_ -M51"Z`````(7`#X0Y`0``#[=5\HG1P>D,#[=&"@G(9HE&"L'J!H/B/V:)5A(/ -MMT7R@^`_9HE&&HU5\HE4)`B)?"0$1XM-"(D,)/]5$+H`````A<`/A.\````/ -MMU7RB=#!Z`IFB48BB=#!Z`2#X#]FB48JP>("@^(_9HE6,HU%\HE$)`B)?"0$ -M1XM5"(D4)/]5$+H`````A<`/A*H````/MT7RB<'!Z0X/MU8R"@( -M@^`_9HE&.KL`````C78`C;PG`````(,\W@!T1HM-[(M5#`^WA$K:````@^`# -M=`>#^`-U%XGV#[<$WHE$)`2+30R)#"3H/?3__^L3#[<$WHE$)`2+10R)!"3H -M>/3__V:)!-Y#@_L'?JZ-M"8`````C;PG`````(/&0/]%[(M5#`^W@M@````Y -M1>P/C)?\__^Z`0```(G0@\046UY?7<.0C;0F`````%6)Y5=64X/L%(MU#&:! -M/@(P=A+'1>Q$````9L>&V````"``ZQ#'1>PL````9L>&V````!``C47RB40D -M"(M5[(L"B40D!(M%"(D$)/]5$+H`````A<`/A"4'```/MU7RB=#!Z`]FB48& -MB=#!Z`Z#X`%FB48*B=#!Z`N#X`=FB48,B=#!Z`2#X']FB48.B=#!Z`.#X`%F -MB48(B=#!Z`*#X`%FB48:T>J#X@%FB588#[=%\H/@`6:)1A:-1?*)1"0(BU7L -MBT($B40D!(M%"(D$)/]5$+H`````A<`/A*$&```/MD7SB$8<#[9%\HA&';\` -M````C;0F`````(V\)P````"+5>R+7+H(C47RB40D"(E<)`1#BU4(B10D_U40 -MN@````"%P`^$5P8```^V1?.#X']FB41^*`^W1?+!Z`*#X#]FB41^+@^W1?+! -MX`2#X#]FB41^:HU%\HE$)`B)7"0$0XM5"(D4)/]5$+H`````A<`/A`L&```/ -MMU7RP>H,#[=$?FH)T&:)1'YJ#[=%\L'H!H/@/V:)1'YP#[=%\H/@/V:)1'YV -MC47RB40D"(E<)`1#BU4(B10D_U40N@````"%P`^$NP4```^W1?+!Z`IFB41^ -M?`^W1?+!Z`2#X#]FB81^@@````^W1?+!X`*#X#]FB81^B````(U%\HE$)`B) -M7"0$0XM5"(D4)/]5$+H`````A<`/A&D%```/MU7RP>H.#[>$?H@````)T&:) -MA'Z(````#[9%\X/@/V:)A'Z.````#[=%\L'H`H/@/V:)A'Z4````#[=%\L'@ -M!(/@/V:)A'Z:````C47RB40D"(E<)`1#BU4(B10D_U40N@````"%P`^$^P0` -M``^W5?+!Z@P/MX1^F@````G09HF$?IH````/MT7RP>@&@^`_9HF$?J`````/ -MMT7R@^`_9HF$?J8```"-1?*)1"0(B5PD!$.+50B)%"3_51"Z`````(7`#X2? -M!```#[9%\XA$/DR#_P%T28/_`7\-A?]T$.D4`0``C70F`(/_`G13ZWD/MT7R -MB<+!Z@6#X@=FB9;$````B<+!Z@*#X@=FB9;&`````<"#X`=FB8;`````ZTD/ -MMT7RP>@$@^`'9HF&R`````^W1?*#X`=FB8;*````ZR@/MT7RP>@$@^`'9HF& -MS`````^W1?*#X`=FB8;.````B?:-O"<`````A?\/A8@```"-1?*)1"0(B5PD -M!$.+50B)%"3_51"Z`````(7`#X36`P``#[=5\HG1P>D/#[>&P`````G(9HF& -MP````(G0P>@,@^`'9HF&P@```(G0P>@)@^`'9HF&O````(G0P>@&@^`'9HF& -MO@```,'J`X/B!V:)EK@````/MT7R@^`'9HF&N@```)"-="8`C47RB40D"(E< -M)`1#BU4(B10D_U40N@````"%P`^$3@,```^V1?-FB41^-`^V1?)FB41^.HU% -M\HE$)`B)7"0$0XM5"(D4)/]5$+H`````A<`/A!H#```/MD7S9HE$?D`/MD7R -M9HE$?D:-1?*)1"0(B5PD!$.+50B)%"3_51"Z`````(7`#X3F`@``#[9%\XA$ -M/D\/MD7R9HE$?E*`?'Y2`'D*#0#___]FB41^4HU%\HE$)`B)7"0$0XM5"(D4 -M)/]5$+H`````A<`/A*("```/MT7RP>@%)?\```!FB41^6`^W1?+1Z(/@#V:) -M1'Y>#[=%\H/@`6:)1'YD9H$^`C`/AIP```"-1?*)1"0(B5PD!$.+50B)%"3_ -M51"Z`````(7`#X1*`@``#[=%\L'H!H/@?V:)A'ZL````@_\!=!*#_P%_!H7_ -M=$OK6(/_`G0CZU$/MT7R@^`'9HF&T`````^W1?+!Z`.#X`=FB8;4````ZS`/ -MMT7R@^`'9HF&T@````^W1?+!Z`.#X`=FB8;6````ZP\/MT7R@^`_9HE&$HUT -M)@!F@3X#,'9A#[=%\L'H#6:)A'ZR````C47RB40D"(E<)`2+50B)%"3_51"Z -M`````(7`#X29`0``#[=5\L'B`X/B.`^WA'ZR````"=!FB81^L@```(/_`G4> -M#[=%\L'H`XA&((3`=1#K"F;'A'ZR````"@#&1B`/1X/_`@^.T/K__V:!/@(P -M#X>(````C47RB40D",=$)`3L````BT4(B00D_U40N@````"%P`^$(`$```^W -M1?*#X`=FB8;0````#[=%\L'H`X/@!V:)AM0```"-1?*)1"0(QT0D!.T```"+ -M50B)%"3_51"Z`````(7`#X3<````#[=%\H/@!V:)AM(````/MT7RP>@#@^`' -M9HF&U@```&;'AC0!```$`&;'AC(!```!`&;'AC`!```!`&;'ABX!`````(M% -M[(M8%+\`````9H.^V`````!T2(UT)@"-1?*)1"0(B5PD!$.+50B)%"3_51"Z -M`````(7`=&(/MD7S9HF$?MH````/MD7R9HF$?MP```"#QP(/MX;8````.<=\ -MO&:!/@(P=R9FQT92RO]FQT94__]FQT96__]W$F;'1CH/`&;'1CP<`&;'1CX< -M`+H!````C78`C;PG`````(G0@\046UY?7<.-M@````!5B>6#[!B)7?2)=?B) -M??R+?0B+=0R+71")7"0(B70D!(D\).A(^/__N@````"%P'1?B5PD"(ET)`2) -M/"3HC^S__[H`````A53#[==#+H`````C78`C012B=%F.9P`0`@``'01C4(!#[_09H/Z'W;EN?__ -M__^)R%M=PXUT)@"-O"<`````58GE4P^W70RZ`````(UV`(T$DHG19CD7<.-M"8`````58GE@^P4B5WTB77XB7W\ -MBW4(#[=%#`^W?1!FA$`$0( -M``#K$8VV`````(T$6P^WA`!""```BUWTBW7XBWW\B>Q=PY"-M"8`````58GE -M#[=%#+HH````J!!U"@^^P)F#XO&#PA2)T%W#B?95B>6+50SVQ@%T%?;"$`^4 -MP`^VP$B#X/.#P`_K(XUV`+@`````A-)Y%_;"$`^4P`^VP(/`!XUT)@"-O"<` -M````7<.-M"8`````C;PG`````%6)Y8M5#/;&`705N.`*``#VPA!U*[@`"0`` -MZR2-="8`N`````"$TGD7N"`+``#VPA!U#;@`#```D(VT)@````!=PXVT)@`` -M``"-O"<`````58GE5U93@^PD#[=%#(E%\`^W51")5>S'1>0$$```@7WD&!`` -M``^#%@$``)"-="8`BTWD#[0/MT("ZU>0C8(P]O__9CW<`'8(BTW@C001ZP.- -M0A0/M\")PF8Y1@ASSD,[7=A\J$<[?=P/C&O___^-M"8`````C;PG`````(-% -MY`2!?>08$```#X+O_O__N`````"#Q"1;7E]=PXGV58GEBT4,@_@@=RK_)(48 -M$```N$`!``#K(;B@````ZQJXP````.L3N%`!``#K#+C0````ZP6X`````%W# -MC70F`%6)Y5=64X/L$`^W10R)1?`/MUT0B5PD!(M%"(D$).C]_?__B<:)7"0$ -MBT4(B00DZ)S]__^)QXE<)`B+1?")1"0$BT4(B00DZ*3\__\/M\BZ`````#GZ -M?2&0C;0F`````(G0P>`$*=`!P&8Y#`9U!8T$,.L*0CGZ?.>X\`P``(/$$%M> -M7UW#C78`C;PG`````%6)Y8/L#`^W50P/MT40B40D"(E4)`2+10B)!"3H3___ -M_P^W`(GL7<.0C;0F`````%6)Y8/L#(E=^(EU_(M%"(D$).CY^O__#[?89H7; -M>3&)WH'F_W\``+H`````C70F`(T$DHGQ9CDTA:````!T-$*#^F!VZXUT)@"- -MO"<`````N8@!``"#^T%T&8/[07\%@_M`ZPBYB0$``(/[0W0%N0````")R(M= -M^(MU_(GL7<.058GE#[=-"+H`````C70F`(T$DL'@`F8YB*````!U"(N`K``` -M`.L+0H/Z8';CN`````!=PXVV`````(V_`````%6)Y0^W30BZ`````(UT)@"- -M!)+!X`)F.8B@````=0B+@+````#K"T*#^F!VX[@`````7<.-M@````"-OP`` -M``!5B>575E.#[`0/MWT,O@````"-M"8`````C;PG`````(T$=HT<`&8YNZ`0 -M``!U08M%"(D$).C6^?__9CF#HA```'0*9H.[HA````!U(XT$=@^WA`"D$``` -MN@$````[11!T&8VT)@````"-O"<`````1H/^#':JN@````")T(/$!%M>7UW# -MC70F`(V\)P````!5B>6+10P]J`D``'0:/:@)``!W##VC"0``ZPJ0C70F`#VT -M"0``=1F+10B#N'`!````#Y7`#[;`ZPR-M"8`````N`$```!=PXGVC;PG```` -M`%6)Y8/L#,=$)`@`````QT0D!`````"+10B)!"3HK_G__XGL7<.-="8`C;PG -M`````%6)Y8/L$(E=_(M="(D<)/^35`$``+H!````]L1`=2''1"0(`````,=$ -M)`0`````B1PDZ&GY__^)PHVT)@````")T(M=_(GL7<.-M"8`````58GE@^P, -MB5WXB77\#[==#+D!````9H7;=':+10B)!"3HB_C__P^W\&:%]GD3B?`E_W__ -M_SG##Y3`#[;(ZU*)]F:!_O\!=`JZ`````&:%]G4'N0$```#K.(T$DL'@`F8Y -MF*````!U&;D!````9CFPH@```'0;C70F`(V\)P````!"@_I@=M*Y`````)"- -M="8`B3&!XO]_``"-="8`C;PG`````(T$B;L!````9CD4A:````!T*T&#^6!V -MZ.L>C;8`````C01)NP$```!F.90`0`@``'0+08/Y'W;HNP````")V(/$!%M= -MPXUT)@"-O"<`````58GE5U93@^PP#[=%&(E%Z(U%[(E$)`B-1?*)1"0$BU4( -MB10DZ`?X__^Z`````(7`#X2<`0``BT7LC13%`````"G"P>(#BX(D#0``BTT( -MB8%L`0``@[EP`0```'4+@<*`#@``B57DZQ:+5>R-!-4`````*="-!,4@#0`` -MB47DBT4(B00D_Y!8`0``B471F@WD,``^$&0$` -M`(VT)@````"+1=B+5>2+=((0#[<>OP````"+1@1F@S@`#X3@````D(5=W`^$ -MQP```(5=Z'4BB5PD!(M-"(D,).B3^O__A,`/B:L```#V1>@L#X2A````D(M% -M$#E%X`^#M@```(M&!`^W!'B)1=0/MT74B40D"`^WPXE$)`2+50B)%"3H`/G_ -M_P^WP(E%T(3`>38ET````#W0````="J!9=`/_O__]D7H"'0)@4W0P````.L4 -M@4W0H````(VV`````(V\)P````"#?=``="J+5=2+3>"+10QFB12(BT70#0`" -M``"+50QFB42*`D&)3>")]HV\)P````!'BT8$9H,\>``/A2'_____1=B+3>0/ -MMT$,.478#XSN_O__BT44BU7@B1"%T@^5P`^VT(G0@\0P6UY?7<.-="8`58GE -MBU4(BTT,#[<"9CL!=0\/MU("#[=!`NL+D(UT)@`/MQ(/MP$IPHG07<.-="8` -M58GE5U93@^P\BWT(#[==&`^W11R)1>S'1>18&P``B3PDZ$K]__^Z`````(7` -M#X0=`P``B3PDZ#7Z__]FB8=H`0``B3PDZ`;\__^%P'0*QX=T`0```0```&:# -MOV@!````=2")7"0$B3PDZ&+\__^Z`````(7`#X35`@``9HF?:`$```^WAV@! -M``")1"0$B3PDZ/S___^)1>B)/"3HX/O__X7`=$&+1>PC1>B)1"00BU44B50D -M#(M-$(E,)`B+10R)1"0$B3PDZ"7]__^Z`````(7`#X1X`@``BU44BQ*)5>#I -MZ@$``(-](`!U%6:!^T@#=0['1>1=%@``C;0F`````,=%X`````"^!!```('^ -M&!````^#MP$``)"-M"8`````#[<&(T7L9H7`#X21`0``#[<&A47H#X2%`0`` -MC47RB40D#(U%\(E$)`@/MT8"B40D!(D\)/^73`$``(7`#X1>`0``#[=&`HE$ -M)`@/MX=H`0``B40D!(D\).@S^/__B47<#[=>`HE<)`2)/"3HT/7__P^WP(E% -MV(E<)`@/MX=H`0``B40D!(D\).B3^/__#[?`B474QT70`````(M-W&:#>0(` -M#X3X````D(VT)@````"+5="-!%*+3=R-!$$/MU@&9CE8"`^"P````(T$4@'` -MB47,C;0F`````(V\)P````!F.5WP#X>&````9CE=\@^"?````&8[7>1W=F:! -M^[0)=0AF@7X"P`!T9XE<)`2)/"3HR_G__X7`=%>+11`Y1>`/@XH```"+5>"+ -M30QFB1R1#[=&`F:)1)$"#[=&`HE$)`B+1=2)1"0$B3PDZ`'Y__^%P'05BU7@ -MBTT,#[=$D0(-``(``&:)1)$"_T7@D(UT)@"+5=B-!!H/M]B+3``=%O'1"0,P"D``,=$)`@$````BTW@B4PD!(M%#(D$).C9!0``@WW@0'8' -MQT7@0````(M5X(F7?`(``(G0P>`"B40D"(V'?`$``(E$)`2+30R)#"3H_/__ -M_Y"-="8`BT7@BU44B0(/MX=H`0``9HE'&(-]X``/E<`/MM"-=@")T(/$/%M> -M7UW#C;8`````58GE5U93BT4(C;!\`0``BXA\`@``A575E.#[!R+10P/MP")1?"+50AF@[IH`0````^%'0$``(D4).AU\?__ -M#[?`B47LN`````!F@WWL`'@2BT7L)?\/``#K"(M%Y.E3`0``B47L9H-][``/ -MA.,```"_`````(VT)@````"-O"<`````C03]`````"GXBUWL9CDB[`````#G#?7.-=@")V,'@!(G"*=BY`````&:#?$8"`'1&C78`C;PG```` -M`(G0*=B-%$F-!`*-!$:-4`:)5>2+5?!F.5`&=PV+1>1F.5`"#X,^____08G: -MP>($B=`IV`^W1$8".<%\Q$,[7>A\GHVT)@````"-O"<`````1X/_!0^&-O__ -M_XVV`````(M=#`^W0P*)1"0(BU4(#[>":`$``(E$)`2)%"3H;_3__XG&OP`` -M``!F@W@"`'0N#[=(`HVV`````(V\)P````"-!'^-%$:-0@:+7?!F.5H&=P9F -M.5H(6#[`B+10R)1"0$BT4( -MB00DZ#C^__^Z`````(7`=!D/ME40#[9`!0'`*,(/OLJ)R,'H'TB)RB'"B=") -M[%W#58GE@^P0B5WXB77\BW4(BUT,B5PD!(DT).CR_?__N@4```"%P'0O@[YT -M`0```'0B#[<#+1X4``"Z#@```&:#^&1V$X![`@`/F,`/MM"#PA'K!`^V4`2) -MT(M=^(MU_(GL7<.-M"8`````C;PG`````%6)Y5=64X/L((M%"&:#N&@!```` -M#X4F`0``B00DZ![O__\/M\")1?"+50P/MQ*)5>RX`````&:#??``>!*+1?`E -M_P\``.L(C00^Z1(!``")1?!F@WWP``^$XP```,=%Z`````"-M@````"-OP`` -M``"+1>C!X`,K1>B+5?!F.13%(`T```^%I@```(M%#`^W6`*)7"0$BU4(B10D -MZ/#P__^)QXE<)`2+10B)!"3HC_#__XE%Y+L`````.<-]`$B<(I -MV+D`````9H-\1P(`=$B-=@"-O"<`````B=`IV(TT`(T$28T$1@'XC5`&B57@ -MBU7L9CE0!G<-BT7@9CE0`@^#//___T&)VL'B!(G0*=@/MT1'`CG!?,)#.UWD -M?)R-M@````"-OP````#_1>B#?>@%#X8S____C78`BU4,#[="`HE$)`B+50@/ -MMX)H`0``B40D!(D4).@/\O__@\0@6UY?7<.-M"8`````58GE@^P,B5W\BUT, -MB5PD!(M%"(D$).AU_O__#[90!`^W0P(EP````#W`````=1&)T(/@#X/X`74' -M@^+P@\H"D(G0BUW\B>Q=PXVT)@````!5B>6#[`R)7?B)=?R+10@/MW4,B00D -M_Y!8`0``B<.H`G0>B30DZ`;S__^%P'42@^/]ZPV0D)"0D)"0D)"0D)"0]L,( -M=!N)-"3HH_+__X7`=0^#X_>-M@````"-OP````")V(M=^(MU_(GL7<.-="8` -M58GE4X/L#(M5"(M%#`^W0`*)1"0(#[>":`$``(E$)`2)%"3H".[__P^WP+H` -M````N^X0``"-="8`C;PG`````+D!````9CD$4W0+0H/Z`G;ON0````")R(/$ -M#%M=PXGV58GE5U93@^P4BT4(B47L`T40B47HBT4,2(E%\'14BWWHBT7L.<=V -M/Y"-M"8`````B?XK=1")?"0$B30D_U44AQWR8M%$`%%Z/]-\'6L@\046UY?7<.0D)"0D)!5 -MB>575E.![)P````/MT4(B85L____QP0D@`,``.C\____B85H____O@(```"% -MP`^$X08``(N=:/___XG?O@`1``"X@`(``/:%:/___P1T&J$`$0``B0.+O6C_ -M__^#QP2^!!$``+A\`@``_(G!P>D"\Z6+E6S___]FB5,(9L=#"@``BT4,B4,, -MBT40B4,0BT44B4,4BX5H____QX`P`P```````,>`8`,```````#'@&0#```` -M````QX!H`P```````,>`<`,```H```#'@'0#```"````9L>`?`,`````QT0D -M!`````")'"3H_/___[X#````A<`/A!H&``#'@UP!```!````BT,4@WL0`'4) -MC9`@0```[>L&BX`@0```)?\```!FB8-@`0``BT,4@WL0`'4)C9`8F```[>L& -MBX`8F```9HF#8@$``(M#%(-[$`!U#HV0T)@``+@6'```[^L*QX#0F```%AP` -M`+X`````OX"8``"Y```!`(VT)@````"+0Q2#>Q``=0N-D("8``")R._K`XD, -M!T:#_@-VXXM#%(-[$`!U"8V0`)P``.WK!HN``)P``,'H',=$)`0$````B00D -MZ/S___]`9HF#9`$``(M#%(-[$`!U"8V0$$```.WK!HN`$$```(F%9/___XM3 -M%(/(`8-[$`!U"8'"$$```._K!HF"$$```(V%%%>O___V:)@H8"```/MH5\____B(*)`@``#[:%??__ -M_XB"B@(```^VA7[___^(@HP"```/MH5_____B(*+`@``#[9%@8B"CP(```^V -M18"(@I`"```/MD6#B(*1`@``#[9%@HB"D@(```^V180D`8B"C0(```^W1831 -MZ"0'B(*.`@``O@````"_"0```(T4]0`````I\HT4E@.5:/___XV*DP(```^W -MA'UT____P>@*)#^(@I,"```/MX1]=/___\'H!"0_B$$+#[>$?73____!X`*( -MPH#B/`^WA'UV____P>@."-"(00$/MH1]=____R0_B$$,#[>$?7;____!Z`(D -M/XA!`@^WA'UV____P>`$B,*`XC`/MX1]>/___\'H#`C0B$$-#[>$?7C____! -MZ`8D/XA!`P^VA'UX____)#^(00X/MX1]>O___\'H"B0_B$$$#[>$?7K____! -MZ`0D/XA!#P^WA'UZ____P>`"B,*`XCP/MX1]?/___\'H#@C0B$$%#[:$?7W_ -M__\D/XA!$`^WA'U\____P>@")#^(008/MX1]?/___\'@!(C"@.(P#[>$?7[_ -M___!Z`P(T(A!$0^WA'U^____P>@&)#^(00@$)#^(01,/MT1]@,'@`HC"@.(\#[=$?8+!Z`X(T(A! -M"0^V1'V#)#^(010/MT1]@L'H`B0_B$$*#[=$?8+!X`2(PH#B,`^W1'V$P>@, -M"-"(014/MT1]A,'H!B0_B$$6#[9$?80D/XA!%P^W1'V&P>@*)#^(01@/MT1] -MAL'H!"0_B$$9#[=$?8;!X`*(PH#B/`^W1'V(P>@."-"(01H/MD1]B20_B$$; -M#[=$?8C!Z`(D/XA!'$:#QPN#_@0/AMW]__^_`````+X`````C85R____B40D -M"+@?````*?")1"0$B1PDZ/S___^%P`^$Q`````^WA7+___\!Q\'H"(N5:/__ -M_XB$Q``=0F!PA!```#OZP:)@A!```"+@UP!``")0QP/MX-@ -M`0``9HE#(`^W@V(!``"#X`^#R!!FB4,B#[>#9`$``&:)0R1FQT,F``")V.MA -MO@@```#K#9"0D)"0D)"0D)"0D)"+4Q2+A63___^#>Q``=1&!PA!```#OZPZ^ -M"````.L'D(F"$$```(.]:/___P!T#HN%:/___XD$).C\____@WT8`'0%BU48 -MB3*X`````('$G````%M>7UW#D(VT)@````!5B>6#[`2+10B)!"3H_/___XGL -M7<.-="8`C;PG`````%6)Y5W#C70F`(V\)P````!5B>7V10T!=!>+11!FQP`` -M%(M%%&;'`#85N`$```#K!;@`````7<.0D)"0D)"0D)!5B>575E.#[`B+70B+ -M?0R+31"+=12)7?"+4Q2)R(-[$`!U#8'"+(```._K"HUT)@")BBR```"#_P%T -M>(M3%(G(*P4`````P>`#@WL0`'4)@<(P@```[^L&B8(P@```BU,4B<@K!0`` -M``#!X`.#>Q``=0Z!PC2```#OZPN0C70F`(F"-(```(M#%(E%[(G(BU7P`X)H -M`P``@WL0`'4+BU7L@<(X@```ZVB+5>R)@CB```#K;8M#%(-[$`!U%(V0,(`` -M`+C_____[^L0C;8`````QX`P@```_____XM#%(-[$`!U#HV0-(```+C_____ -M[^L*QX`T@```_____XM#%(-[$`!U#XV0.(```+@!````D._K#<>`.(````$` -M``"-=@"!YO__``"#_P%T%8/_`7(8@_\&=!N#_PAU%HVV`````('.`````>L8 -M@Q``=0F!PB2```#OZP:) -MLB2```"#Q`A;7E]=PXVT)@````"-O"<`````58GE5U93@^P$BUT(OC(```"_ -M+````.M(QP0D`0```.C\____3G4YBU,4BT4,@WL0`'4&@\($[^L#B4($BT,4 -M@WL0`'4+C5`HN`H```#OZP?'0"@*````N`````#K0HGVBT,4@WL0`'4'C5`L -M[>L$D(L$!Z@$=:&+0Q2#>Q``=0:-4`CMZP.+0`BH`G6+N`$```"-M"8````` -MC;PG`````(/$!%M>7UW#D(VT)@````!5B>6+30B+012#>1``=1&-D"R```"X -M`````._K#8UV`,>`+(````````"+012#>1``=0V-D`2```#MZPJ-="8`BX`$ -M@```#0``$`"+410E__]?_X-Y$`!U"8'"!(```._K!HF"!(```(M!%(-Y$`!U -M#XV0)(```+C__P``[^L+D,>`)(```/__``!=PXUT)@!5B>575E.+=0B+10R` -M>`L`#X32````BUX0BTX4OP2```"%VW4+C9$$@```[>L(B?:+@02````E__]_ -M_PT``"``A=MU#(T4#^_K"8VV`````(D$#XM5#`^V6@L/MD(*#Z_8#[=""`^O -MV(M6%(G8@WX0`'4-@<(H@```[^L*C70F`(F:*(```(M6%(M-#`^W00R#?A`` -M=0J!PDB```#OZP>0B8)(@```BU4,#[9""HM-&`^OR`--%`^W0@@/K\B%R74" -MB=F+5A2+11`!R,'@`X-^$`!U#('"-(```.LVC70F`(F"-(```.LXBUX0BTX4 -MOP2```"%VW4)C9$$@```[>L&BX$$@```)?__7_^%VW4&C10/[^L+B00/D(VT -M)@````"+5A2+30R+`8-^$`!U"8'"+(```._K!HF"+(```(M^$(M>%(7_=0F- -MDR2```#MZP:+@R2```")PH'B``"`_XM-#`^W00B)T0G!BT4,9H-X$`!T$0^W -M0!"#P`3!X!`E``!_``G!A?]U"XV3)(```(G([^L&B8LD@```9H.^8`$```-V -M78M5#/9"%`=T5(M^$(M>%+X8@```A?]U"8V3&(```.WK!HN#&(```(G!@>'_ -M^/__BU4,#[="%,'@""4`!P``"<&%_W4)C10>BC;8`````C;PG -M`````%M>7UW#D)"0D)"0D)"0D)!5B>6+10B+4!2#>!``=0F!P@A```#MZP:+ -M@@A```"%P`^5P`^VP%W#D(VT)@````!5B>53BUT,BTT(BT$4@WD0`'4-C5`< -M[>L*C;0F`````(M`'(G"@_C_=0W'`P````"X`````.LT(X$L`P``);K8!0&) -M`_?"(`!P`'0'#0```$")`_;"!70#@PL!]\)``0``=`.#"T"X`0```%M=PXGV -M58GEBT4(BX`L`P``7<.)]E6)Y8/L#(D<)(ET)`2)?"0(BUT(BTT,B=^+LRP# -M``"%]GD=BT,4@WL0`'4+C5`DN`````#OZPG'0"0`````B?:)R"6ZV`4!]L$! -M=`.#R`7VP4!T!0U``0``BU,4@WL0`'4&@\(@[^L#B4(@B8\L`P``AQ=PY"0D)"0D)"0D)"0D)"0D%6)Y;A`````7<.-M@````!5 -MB>6+30@/MT4,9H/X/W`%!1R0``"#>1``=04!PNWK`XL$$"4`@/__ -MN@$```!FA6#[`R)'"2)="0$B7PD"(M5$`^W -M=0RX`````&:#_C\/AZ$```"%TG0X#[9:!<'C"`^V0@0)PP^V2@/!X1@/MD(" -MP>`0"<$/MD(!P>`("<$/M@()P='IB=C!X!\)P='KZPV[`````+D`````C78` -MBT4(BW@4B?#!X`6-D!B0``")R(M-"(-Y$`!U!HT4.N_K`XD$.HM%"(M(%(GP -MP>`%C9`Q=PXGVC;PG`````%6)Y5=64X/L'(M=$`^W10R)1?"#?1@` -M#Y3`#[;(28'AJJJJJK@`````9H-]\#\/A^P!``"#.P1_"K@`````Z=T!```/ -MMG,$#[9#!<'@"`G&#[9#!L'@$`G&#[9#!\'@&`G&,`(#[93"`G" -MB57L,4WL@67L__\```^V0PJ)1>@/MD,+P>`("47H#[9##,'@$`E%Z`^V0PW! -MX!@)1>@Q3>@/MD,/P>`(#[93#@G"B57D,4WD@67D__\```^V>Q`/MD,1P>`( -M"<`0"<`8"<?_````@SL%?P>[`````.L8 -M@SL-?P>[`0```.L,NP,```"-M"8`````BT4(BT@4BT7PP>`%C9``D```B?"+ -M=0B#?A``=0:-%`KOZP.)!`J+10B+2!2+1?#!X`6-D`20``"+1>R+=0B#?A`` -M=0R-%`KOZPF-M@````")!`J+10B+2!2+1?#!X`6-D`B0``"+1>B+=0B#?A`` -M=0:-%`KOZP.)!`J+10B+2!2+1?#!X`6-D`R0``"+1>2+=0B#?A``=0B-%`KO -MZP6)]HD$"HM%"(M(%(M%\,'@!8V0$)```(GXBW4(@WX0`'4&C10*[^L#B3P* -MBT4(BT@4BT7PP>`%C9`4D```B=B+70B#>Q``=0J-%`KOZP>-="8`B00*BT44 -MB40D"(MU\(ET)`2+10B)!"3H_/___XUT)@"#Q!Q;7E]=PY"0D)"0D)"058GE -M@^P,QT0D"`8```"+10@%)`,``(E$)`2+10R)!"3H_/___XGL7<.-M"8````` -M58GE@^P4B5W\BUT(BU,4BT4,C02%`&```(-[$`!U!0'"[>L#BP00QT0D#`(` -M``#'1"0(`P```,=$)`0`;```B1PDZ/S___^Z`````(7`="6+0Q2#>Q``=0N- -MD`!H``#MB<+K!HN0`&@``(M%$&:)$+H!````B="+7?R)[%W#B?95B>6+31"+ -M50AF#[:"B`(``&8Y10QU";@,````ZQ:)]H"Z@@(````/F,`/ML"-!,4#```` -MA6X`0```%W#C;8`````58GEBT4(@+B-`@````^5P`^VP%W#C70F`(V\)P`` -M``!5B>6#[!")7?R+70C'1"0$`````(D<).C\____A<`/E,`/ML")1"0(QT0D -M!`````")'"3H_/___XM=_(GL7<.058GEBU4(BTT,N/____^#^05W((M"%(-Z -M$`!U"8V0'$```.WK!HN`'$```(/@+]/H@^`!7<.-="8`C;PG`````%6)Y593 -M@^P(BUT(BTT,BT,4@WL0`'4+C9`40```[8G&ZP:+L!1```")RL'B#`')N`,` -M``#3X`G0#0"``0#WT"'P"=`-`(```(-]$`!T!0T```$`BU,4@WL0`'4)@<(4 -M0```[^L&B8(40```BX,L`P``#0````&)1"0$B1PDZ/S___^#Q`A;7EW#C;0F -M`````%6)Y5.+30B+70R+012#>1``=0V-D!!```#MZPJ-="8`BX`00```A=MT -M!X/[!'0'ZP^#X)_K$(/@WX/(0.L(B?:#R""#X+^+412#>1``=0F!PA!```#O -MZP:)@A!```!;76+10B+4!2#>!``=0F!P@2` -M``#MZP:+@@2```"I``"```^5P`^VP$!=PXUT)@!5B>575E.#[!2+70@/MT40 -MB47P#[=%%(E%[(G?QT0D"`8```"+10R)1"0$C8,X`P``B00DZ/S___^+4Q0/ -MMHLX`P``#[:#.0,``,'@"`G!#[:#.@,``,'@$`G!#[:#.P,``,'@&`G!@WL0 -M`'4+@<((@```B`(#[:7/`,``(G1"<&+ -M1?`E_S\``,'@$`G!@WL0`'4+C98,@```BL&BX`D@```B<&+1>R#P`1F@WWL``^4P@^VTDHAT('A -M__^`_\'@$"4``'\`BU,4"Q``=0F!PB2```#OZP:)@B2```#'1"0(```` -M`,=$)`0`````B1PDZ/S____K#XD<).C\____C;0F`````(/$%%M>7UW#D(VT -M)@````!5B>6#[`R)'"2)="0$B7PD"(M5"(M"%(-Z$`!U"8V0<(```.WK!HN` -M<(```(G'O@````"+50B+0A2#>A``=0F-D&R```#MZP:+@&R```"Z`````(GQ -M"<&)^PG3BQ=PXGV58GEBT4(BU`4@W@0`'4)@<)L -M@```[>L&BX)L@```7<-5B>6+30B+012#>1``=0F-D"2```#MZP:+@"2```"+ -M410-`````8-Y$`!U"8'")(```._K!HF")(```%W#C78`58GE@^P(B1PDB70D -M!(M="(M#%(-[$`!U"8V09)@``.WK!HN`9)@``(G!P>D3@>'_`0``]L4!=`:! -M\0#^__^+0Q2#>Q``=0N-D'"```#MB<;K!HNP<(```(M3%(-[$`!U#X'";(`` -M`.WK#(VV`````(N";(```#'P,Q=PXUT)@"-O"<`````58GE -MBT4(#[>(8`$``(M0%(-X$`!U"H'"($```.WK!Y"+@B!````E_P```#G!#Y3` -M#[;`7<.-="8`C;PG`````%6)Y5.+30B+70R+012#>1``=0V-D)B```#MZPJ- -M="8`BX"8@````0.+012#>1``=0^-D)2```#MZPR-M@````"+@)2````!0P2+ -M012#>1``=0Z-D)R```#MZPN0C70F`(N`G(````%##(M!%(-Y$`!U#HV0D(`` -M`.WK"Y"-="8`BX"0@````4,(BT$4@WD0`'4.C9"@@```[>L+D(UT)@"+@*"` -M```!0Q!;7<.-="8`58GEN`$```!=PXVV`````%6)Y8M-"(M!%(-Y$`!U"8V0 -M:(```.WK!HN`:(```(M1%(/@YX-Y$`!U"8'":(```._K!HF":(```%W#D(UT -M)@!5B>6+30B+012#>1``=0F-D&B```#MZP:+@&B```!F@[E@`0``!7<(@\@0 -MZP:-=@"#R!B+412#>1``=0F!PFB```#OZP:)@FB```!=PXUV`%6)Y5.+30B) -MRXM!%(-Y$`!U#HU0)+@`````[^L*C78`QT`D`````(N#+`,```T`0```B8,L -M`P``BU$4@WD0`'4&@\(@[^L#B4(@BT$4@WD0`'4-C5`DN`$```#OZPF)]L=` -M)`$```!;7<.-M@````!5B>6X`````%W#C;8`````58GEN`````!=PXVV```` -M`%6)Y5W#C70F`(V\)P````!5B>5=PXUT)@"-O"<`````58GE@^P,QT0D!)8' -M``#'!"0`````Z/S____'1"0$KP<``,<$)`````#H_/___\=$)`@]````QT0D -M!(`3``"+10B)!"3H_/___XGL7<.0D)!5B>53BTT(#[==$(M!%(-Y$`!U#(V0 -M!(```.WK"8UV`(N`!(```(M1%"7__W__#0``!`"#>1``=0F!P@2```#OZP:) -M@@2```"#?0P`="*+412)V`T```,`@WD0`'4)@<($0```[^L)B8($0```C78` -M6UW#C;8`````C;PG`````%6)Y5=64X/L!(M="(-]#``/A*$```"+0Q2#>Q`` -M=0Z-D`1```"X`````._K"L>`!$````````#'!"30!P``Z/S___^^"@```+\0 -M0```C78`BT,4@WL0`'4)C9`00```[>L#BP0'J0```0!T,\<$),@```#H_/__ -M_XM#%(-[$`!U#XV0!$```+@`````[^L+D,>`!$````````!.=;/K$87V=12- -MM@````"-O"<`````N`````#K.HM#%(-[$`!U"8V0!(```.WK!HN`!(```(M3 -M%"7__WO_@WL0`'4)@<($@```[^L&B8($@```N`$```"#Q`1;7E]=PXVT)@`` -M``!5B>6+30B+012#>1``=0F-D`2```#MZP:+@`2```"+410E__]__PT```0` -M@WD0`'4/@<($@```[^L,C;8`````B8($@```@WT,`'0DBT$4@WD0`'4.C9`$ -M0```N````0#OZPW'@`1```````$`C78`7<.-M"8`````C;PG`````%6)Y8/L -M&(E=](EU^(E]_(M%"(M=#(M-$`^W512)QK\!````@_L"="B#^P)W!X/[`70) -MZSR#^P-T)^LUB50D"(E,)`2)!"3HM?W__^LJC78`B4PD!(D$).@D_O__BQ= -MPXUV`%6)Y8M%"(N`,`,``%W#B?95B>6X`0```%W#C;8`````58GEN`````!= -MPXVV`````%6)Y8M-"(M!%(-Y$`!U"8V0!(```.WK!HN`!(```(M1%"7__V__ -M@WD0`'4)@<($@```[^L&B8($@```N`$```!=PXVT)@````"-O"<`````58GE -MBTT(BT$4@WD0`'4)C9`$@```[>L&BX`$@```BU$4)?__?_\-```0`(-Y$`!U -M#X'"!(```._K#(VV`````(F"!(```+@!````7<.0D)!5B>6#[`R)7?R+10R# -M^`%T#[L`````@_@"=!7K"HUV`+L`````ZPFX`````.L3B?:)7"0$BT4(B00D -MZ/S___^)V(M=_(GL7<.0D)"0D)"0D%6)Y8M%"(M0%(-X$`!U!H/"#.WK`XM" -M#%W#C;8`````58GEBTT(BU$4BT4,@WD0`'4&@\(,[^L#B4(,7<.-=@!5B>6+ -M10B+4!2#>!``=1&#P@BX!````._K#8VV`````,=""`0```!=PXVT)@````!5 -MB>575E.#[`2+=0B+1A2#?A``=0N-4`BX(````._K!\=`""````"[`````+\( -M````ZPV0D)"0D)"0D)"0D)"0BT84@WX0`'4'C5`([>L$D(L$![H!````J`1T -M&L<$)`H```#H_/___T.!^^<#``!^S[H`````B="#Q`1;7E]=PU6)Y8/L"(D< -M)(ET)`2+10B+6!"+2!2^:(```(7;=0F-D6B```#MZP:+@6B```"#X+^%VW4+ -MC10.[^L(D(UT)@")!`Z+'"2+="0$B>Q=PXGV58GE@^P(B1PDB70D!(M%"(M8 -M$(M(%+YH@```A=MU"8V1:(```.WK!HN!:(```(/(0(7;=0N-%`[OZPB0C70F -M`(D$#HL<)(MT)`2)[%W#B?95B>6+30B+412+10R#>1``=0Z!PE"```#OZPN0 -MC70F`(F"4(```(M1%(M%$(-Y$`!U#H'"5(```._K"Y"-="8`B8)4@```7<.0 -MC;0F`````%6)Y8/L"(D<)(ET)`2+70B+30RX`````(/Y/P^'E````(/Y'W9* -MBT,4@WL0`'41C9!4@```[8G"ZPR-M@````"+D%2```"+Q``=0N-D%"```#M -MB<+K!HN04(```(MS%+C^____T\`AT(-[$`!U"8V64(```._K"XF&4(```)"- -M="8`N`$```"+'"2+="0$B>Q=PU6)Y8/L"(D<)(ET)`2+70B+30RX`````(/Y -M/P^'E````(/Y'W9*BT,4@WL0`'41C9!4@```[8G"ZPR-M@````"+D%2```"+ -MQ``=0N-D%"```#MB<+K!HN04(```(MS%+@!````T^`)T(-[$`!U"8V64(`` -M`._K"XF&4(```)"-="8`N`$```"+'"2+="0$B>Q=PU6)Y8M%"(M0%(-X$`!U -M"8'"3(```.WK!HN"3(```%W#58GEBTT(BT4,]L0"=`@E__W__X/(((M1%(-Y -M$`!U"8'"3(```._K!HF"3(```%W#58GEBU40BTT,QT$(`````(G0)?\/``") -M00PYT'0'N`````#K*_9%%"!T!X%)#``@``#'010`````QT$0`````+@!```` -MC70F`(V\)P````!=PXVT)@````"-O"<`````58GE5E.+50B+=0R)\_9&%`%U -M#;@/````Z0,!``"-=@`/MT80)?\/``!FB48@BTX4@>$`@/\/P>D/BT(4@WH0 -M`'4.C9!L@```[>L+D(UT)@"+@&R```")PL'J"H'B__\``(G0)?\?```YR',4 -MC8(`X/__)?__```)P>L'D(UT)@`)T8G()?]_``!FB48BQD8D`(M#%*@"=3BH -M!'0&QD8D`>LN]D,4$'0(@$XD".LBB?;V0Q0(=`:`3B0$ZQ2`3B0"BT,4)>`` -M``#!Z`6(1B6)]HM#$"4``/@'P>@3B$8FBT,4]L0!=`TE`'X``,'H"8A&)^L$ -MQD8G_XM#$"4`@`<`P>@/B$8HBT,0P>@.)`&(1BF+0Q#!Z`PD`8A&*K@````` -M6UY=PY"0D)"0D)"0D)"0D%6)Y5=64X/L&(M]"(M=#(E]\(M%$/9``P$/A/8! -M``"+1Q2#?Q``=0F-D!!```#MZP:+@!!```"#X&")1>R+51")5"0$B3PDZ/S_ -M__^Z`P```(7`#X0G"0``BU<4BW7P#[:.)`,```^VAB4#``#!X`@)P0^VAB8# -M``#!X!`)P0^VAB<#``#!X!@)P8-_$`!U"X'"`(```(G([^L&B8H`@```@_L! -M#X2*````@_L!`(#[:3*`,```G0 -M#0``4@"#?Q``=0F-D02```#OZP:)@02```"+1Q2#?Q``=0J-4"BX`0```.M- -MQT`H`0```.M.BT\4BW7P#[:&*0,``,'@"`^VEB@#```)T`T``!0`@W\0`'4) -MC9$$@```[^L&B8$$@```BT<4@W\0`'4+C5`HN`````#OZP?'0"@`````BT<4 -M@W\0`'4-C9`00```N"00``#K;L>`$$```"00``#K?(M/%(M5\`^V@BD#``#! -MX`@/MI(H`P``"=`-```0`(-_$`!U"8V1!(```._K!HF!!(```(M'%(-_$`!U -M"XU0*+@`````[^L'QT`H`````(M'%(-_$`!U#HV0$$```+A`$```[^L7QX`0 -M0```0!```.L+N@P```#I80<``)"+7Q"+3Q2^$$```(7;=0F-D1!```#MZP:+ -M@1!````+1>R%VW4&C10.[^L#B00.BU<4BUWP#[:+.`,```^V@SD#``#!X`@) -MP0^V@SH#``#!X!`)P0^V@SL#``#!X!@)P8-_$`!U"X'""(```(G([^L&B8H( -M@```BT\4BU7P#[:"/0,``,'@"`^VDCP#```)T(-_$`!U"8V1#(```._K!HF! -M#(```(M7%(-_$`!U"+@`````[^L&QP(`````BT<4@W\0`'4+C5`$N`````#O -MZP?'0`0`````BT<4@W\0`'4+C5`,N`````#OZP?'0`P`````BT<4@W\0`'4& -MC5`<[>L#BT``4(````````"+1Q2#?Q``=0Z-D%2```"X```` -M`._K"L>`5(````````"+1Q2#?Q``=0Z-D%B```"X`````._K"L>`6(`````` -M``"+1Q2#?Q``=0Z-D%R```"X`````._K"L>`7(````````"+1Q2#?Q``=0Z- -MD&"```"X`0```._K"L>`8(````$```"+1Q2#?Q``=0Z-D&2```"X`0```._K -M"L>`9(````$```"+1Q2#?Q``=0Z-D&B```"X`````._K"L>`:(````````"+ -M1Q2#?Q``=0Z-D"B```"X`````._K"L>`*(````````"+1Q2#?Q``=0Z-D"R` -M``"X`````._K"L>`+(````````"+1Q2#?Q``=0Z-D&R```"X`````._K"L>` -M;(````````"+1Q2#?Q``=0Z-D#"```"X_____^_K"L>`,(```/____^+1Q2# -M?Q``=0Z-D#2```"X_____^_K"L>`-(```/____^+1Q2#?Q``=0Z-D#B```"X -M`0```._K"L>`.(````$```"[`````(VV`````(L,W8`5``"#?10`=`V-@0"` -M__\]_P\``'89BW<4BP3=A!4``(-_$`!U!HT4,>_K`XD$,4.!^Z8```!VQ(MU -M$(ET)`2)/"3H_/___[H#````A<`/A,@"``"+=Q"+7Q2%]G4)C9,HF```[>L& -MBX,HF```B<&!X?\`__^+5?`/MH**`@``P>`("<&%]G4+C9,HF```B$8#[:"BP(``,'@$`G!#[:2C`(``(G0P>`( -M"<$)T8-_$`!U"XV3-)@``(G([^L&B8LTF```BW<0BU\4A?9U"8V31)@``.WK -M!HN#1)@``(G!@>%_P/__BU7P#[>"A`(``-'H)8`_```)P87V=0N-DT28``") -MR._K!HF+1)@``(MW$(M?%(7V=0F-DTB8``#MZP:+@TB8``")P8'A_P_\_XM5 -M\`^W@H0"``#!X`HE`/`#``G!A?9U"XV32)@``(G([^L&B8M(F```BW<0BU\4 -MA?9U"8V39)@``.WK!HN#9)@``(G!@>'_#_C_BU7P#[:"B0(``,'@#"4`\`<` -M"<&%]G4+C9-DF```BL&BX,0 -MF0``B<&#X?R+5?`/MX*$`@``@^`#"<&%]G4+C9,0F0``BL&BX%@F```@\@!A=MU!HT4#N_K`XD$#L=$)`P`````QT0D"`$```#' -M1"0$8)@``(D\).C\____BUT0B5PD!(D\).C\____NP````"%P'45BW40#[=& -M`H/(`F:)1@*Z`P```.M=B5PD!(D\).C\____0X/[`7;NBT7P@+B-`@```'0( -MB3PDZ/S___^+7Q"+3Q2^)(```(7;=0F-D22```#MZP:+@22````E__]__H7; -M=0:-%`[OZP.)!`ZX`0```.L/BUT8@SL`=`*)$[@`````@\086UY?7<.)]HV\ -M)P````!5B>53BTT(BUT,BT$4@WD0`'4-C9`$@```[>L*C70F`(N`!(```"7_ -M_P``@_L!=#"#^P%R&X/[!G0'@_L(="OK5XM1%`T``%$`ZS60C70F`(M1%`T` -M`%(`ZR:-M@````"+410-```4`.L6BU$4#0``$`"-M"8`````C;PG`````(-Y -M$`!U"H'"!(```._K$9")@@2```#K"+@`````ZP:0N`$```!;7<.0C;0F```` -M`%6)Y8/L#,=$)`@*````QT0D!`@```"+10B)!"3HWP4``(GL7<.-="8`C;PG -M`````%6)Y8/L%(E=_(M=",=$)`P`````QT0D"`$```#'1"0$`@```(D<).C\ -M____N@````"%P'1;QT0D""!.``#'1"0$#P```(D<).B#!0``N@````"%P'0Z -MQP0DZ`,``.C\____QT0D""!.``#'1"0$'P```(D<).A6!0``QP0D-`@``.C\ -M____N@$```"0C70F`(G0BUW\B>Q=PXVT)@````!5B>6#[!R)7?2)=?B)??R+ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 28 21:48:35 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3799116A4D0; Fri, 28 Nov 2003 21:48:35 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E6FBE16A4CE for ; Fri, 28 Nov 2003 21:48:34 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82C6543F85 for ; Fri, 28 Nov 2003 21:48:30 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAT5mUXJ084385 for ; Fri, 28 Nov 2003 21:48:30 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAT5mSX5084382 for perforce@freebsd.org; Fri, 28 Nov 2003 21:48:28 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 28 Nov 2003 21:48:28 -0800 (PST) Message-Id: <200311290548.hAT5mSX5084382@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 Subject: PERFORCE change 43148 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 05:48:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=43148 Change 43148 by sam@sam_ebb on 2003/11/28 21:47:39 IFC @ 43147 Affected files ... .. //depot/projects/netperf/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/netperf/sys/conf/kern.post.mk#5 integrate .. //depot/projects/netperf/sys/contrib/dev/ath/ah.h#5 integrate .. //depot/projects/netperf/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#6 integrate .. //depot/projects/netperf/sys/contrib/dev/ath/version.h#5 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi_cpu.c#6 integrate .. //depot/projects/netperf/sys/dev/aic7xxx/ahc_pci.c#6 integrate .. //depot/projects/netperf/sys/dev/aic7xxx/ahd_pci.c#6 integrate .. //depot/projects/netperf/sys/dev/ata/ata-all.h#6 integrate .. //depot/projects/netperf/sys/dev/ata/ata-chipset.c#12 integrate .. //depot/projects/netperf/sys/dev/ata/ata-dma.c#9 integrate .. //depot/projects/netperf/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#41 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#7 integrate .. //depot/projects/netperf/sys/dev/ath/if_athioctl.h#7 integrate .. //depot/projects/netperf/sys/dev/ath/if_athvar.h#9 integrate .. //depot/projects/netperf/sys/dev/firewire/fwohci_pci.c#6 integrate .. //depot/projects/netperf/sys/dev/fxp/if_fxp.c#13 integrate .. //depot/projects/netperf/sys/dev/ips/ips.c#3 integrate .. //depot/projects/netperf/sys/dev/ips/ips.h#4 integrate .. //depot/projects/netperf/sys/dev/ips/ips_commands.c#4 integrate .. //depot/projects/netperf/sys/dev/led/led.c#3 integrate .. //depot/projects/netperf/sys/dev/puc/puc_pci.c#6 integrate .. //depot/projects/netperf/sys/dev/re/if_re.c#8 integrate .. //depot/projects/netperf/sys/dev/sio/sio_pci.c#5 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/buffer.h#3 integrate .. //depot/projects/netperf/sys/dev/sound/pcm/channel.c#5 integrate .. //depot/projects/netperf/sys/dev/uart/uart_bus_pci.c#4 integrate .. //depot/projects/netperf/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/netperf/sys/dev/usb/ohci.c#5 integrate .. //depot/projects/netperf/sys/dev/usb/ohci_pci.c#6 integrate .. //depot/projects/netperf/sys/dev/usb/uhci_pci.c#5 integrate .. //depot/projects/netperf/sys/i386/i386/elan-mmcr.c#6 integrate .. //depot/projects/netperf/sys/modules/acpi/Makefile#4 integrate .. //depot/projects/netperf/sys/net/bpf.h#3 integrate .. //depot/projects/netperf/sys/net/route.c#30 integrate .. //depot/projects/netperf/sys/netatalk/at_control.c#2 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.c#21 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.h#17 integrate .. //depot/projects/netperf/sys/netinet/ip_divert.c#19 integrate .. //depot/projects/netperf/sys/netinet/ip_fw2.c#20 integrate .. //depot/projects/netperf/sys/netinet/ip_input.c#29 integrate .. //depot/projects/netperf/sys/netinet/raw_ip.c#14 integrate .. //depot/projects/netperf/sys/netinet/tcp_hostcache.c#4 integrate .. //depot/projects/netperf/sys/netinet/tcp_input.c#15 integrate .. //depot/projects/netperf/sys/netinet/tcp_subr.c#13 integrate .. //depot/projects/netperf/sys/netinet/tcp_usrreq.c#9 integrate .. //depot/projects/netperf/sys/netinet/udp_usrreq.c#15 integrate .. //depot/projects/netperf/sys/netinet6/raw_ip6.c#12 integrate .. //depot/projects/netperf/sys/netinet6/udp6_usrreq.c#8 integrate .. //depot/projects/netperf/sys/netkey/key.c#9 integrate .. //depot/projects/netperf/sys/pci/if_dc.c#15 integrate .. //depot/projects/netperf/sys/pci/if_rl.c#14 integrate .. //depot/projects/netperf/sys/pci/if_xl.c#13 integrate Differences ... ==== //depot/projects/netperf/sys/amd64/amd64/support.S#5 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.104 2003/11/17 08:58:13 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.105 2003/11/27 17:20:44 peter Exp $ */ #include "opt_ddb.h" @@ -45,7 +45,7 @@ ALIGN_DATA .globl intrcnt, eintrcnt intrcnt: - .space INTRCNT_COUNT * 4 + .space INTRCNT_COUNT * 8 eintrcnt: .globl intrnames, eintrnames ==== //depot/projects/netperf/sys/conf/kern.post.mk#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.post.mk,v 1.52 2003/11/14 23:09:38 bde Exp $ +# $FreeBSD: src/sys/conf/kern.post.mk,v 1.53 2003/11/25 04:12:43 imp Exp $ # Part of a unified Makefile for building kernels. This part includes all # the definitions that need to be after all the % directives except %RULES @@ -12,7 +12,6 @@ .if defined(DESTDIR) MKMODULESENV+= DESTDIR="${DESTDIR}" .endif -MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" .MAIN: all ==== //depot/projects/netperf/sys/contrib/dev/ath/ah.h#5 (text+ko) ==== @@ -33,7 +33,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGES. * - * $Id: ah.h,v 1.41 2003/11/01 01:05:45 sam Exp $ + * $Id: ah.h,v 1.43 2003/11/25 22:17:40 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -337,7 +337,7 @@ struct ath_hal { u_int32_t ah_magic; /* consistency check magic number */ u_int32_t ah_abi; /* HAL ABI version */ -#define HAL_ABI_VERSION 0x03103100 /* YYMMDDnn */ +#define HAL_ABI_VERSION 0x03112500 /* YYMMDDnn */ u_int16_t ah_devid; /* PCI device ID */ u_int16_t ah_subvendorid; /* PCI subvendor ID */ HAL_SOFTC ah_sc; /* back pointer to driver/os state */ @@ -406,15 +406,16 @@ void (*ah_setRxFilter)(struct ath_hal*, u_int32_t); HAL_BOOL (*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *, u_int32_t size, u_int flags); - HAL_STATUS (*ah_procRxDesc)(struct ath_hal *, struct ath_desc *); + HAL_STATUS (*ah_procRxDesc)(struct ath_hal *, struct ath_desc *, + u_int32_t phyAddr, struct ath_desc *next); void (*ah_rxMonitor)(struct ath_hal *); /* Misc Functions */ void (*ah_dumpState)(struct ath_hal *); - void (*ah_dumpEeprom)(struct ath_hal *); - void (*ah_dumpRfGain)(struct ath_hal *); - void (*ah_dumpAni)(struct ath_hal *); + HAL_BOOL (*ah_getDiagState)(struct ath_hal *, + int, void **, u_int *); void (*ah_getMacAddress)(struct ath_hal *, u_int8_t *); + HAL_BOOL (*ah_setMacAddress)(struct ath_hal *, const u_int8_t *); HAL_BOOL (*ah_setRegulatoryDomain)(struct ath_hal*, u_int16_t, HAL_STATUS *); void (*ah_setLedState)(struct ath_hal*, HAL_LED_STATE); @@ -427,9 +428,6 @@ u_int64_t (*ah_getTsf64)(struct ath_hal*); void (*ah_resetTsf)(struct ath_hal*); u_int16_t (*ah_getRegDomain)(struct ath_hal*); - u_int (*ah_getWirelessModes)(struct ath_hal*); - HAL_BOOL (*ah_getRfKill)(struct ath_hal*); - u_int32_t (*ah_getRandomSeed)(struct ath_hal*); HAL_BOOL (*ah_detectCardPresent)(struct ath_hal*); void (*ah_updateMibCounters)(struct ath_hal*, HAL_MIB_STATS*); HAL_BOOL (*ah_isHwCipherSupported)(struct ath_hal*, HAL_CIPHER); @@ -446,9 +444,10 @@ HAL_BOOL (*ah_resetKeyCacheEntry)(struct ath_hal*, u_int16_t); HAL_BOOL (*ah_isKeyCacheEntryValid)(struct ath_hal *, u_int16_t); HAL_BOOL (*ah_setKeyCacheEntry)(struct ath_hal*, - u_int16_t, const HAL_KEYVAL *, u_int8_t *, int); + u_int16_t, const HAL_KEYVAL *, + const u_int8_t *, int); HAL_BOOL (*ah_setKeyCacheEntryMac)(struct ath_hal*, - u_int16_t, u_int8_t *); + u_int16_t, const u_int8_t *); /* Power Management Functions */ HAL_BOOL (*ah_setPowerMode)(struct ath_hal*, ==== //depot/projects/netperf/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#6 (text+ko) ==== @@ -33,2256 +33,2512 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGES. * - * $Id: i386-elf.hal.o.uu,v 1.7 2003/11/01 02:01:29 sam Exp $ + * $Id: i386-elf.hal.o.uu,v 1.10 2003/11/29 00:14:18 sam Exp $ */ begin 644 hal.o -M?T5,1@$!`0D```````````$``P`!``````````````!0ZP$``````#0````` +M?T5,1@$!`0D```````````$``P`!``````````````#D%P(``````#0````` M`"@`#0`*`````````````````%6)Y0^W50B!^A00``!T<8'Z%!```'\9@_H2 M?PR#^A%]5(/Z!W1(ZU^#^A-T4^M8D('Z$Q$``'1(@?H3$0``?Q*!^@<1``!T M)H'Z$A$``'0EZS6X`````('Z$_```'0QN!0```"!^AOQ``!T).L9N"@```#K M&[@U````ZQ2-="8`N$(```#K";@`````C70F`%W#C;0F`````(V\)P````!5 MB>6#[`0/MU4(#[=-#&:!^HP6=`RX`````&:!^B>G=0B)#"3H-____XGL7<.- -M=@!5B>6#[!R)7?B)=?R+=0R+71"+312+51@/MT4(/100``!T73T4$```?R># -M^!)_$8/X$7UL@_@'ZQ&-M"8`````@_@3=$`]!P(``'1NZ8,````]$Q$``'0M -M/1,1``!_$3T'$0``=%0]$A$``.L/C78`/1/P``!T#CT;\0``="+K5+@3```` -MB50D$(E,)`R)7"0(B70D!(D$).C\____ZT&0B50D$(E,)`R)7"0(B70D!(D$ -M).C\____ZR:)5"00B4PD#(E<)`B)="0$B00DZ/S____K#+@`````QP(!```` -MD(M=^(MU_(GL7<.-M@````!5B>575E.#[`2+?0B[`````(MU#(VV`````(V_ -M`````(M'%(-_$`!U!XT4!NWK!)"+!`8C11"Z`0```#M%%'0:QP0D"@```.C\ -M____0X'[YP,``'[+N@````")T(/$!%M>7UW#C;8`````C;\`````58GE5E.+ -M30B+=0R[`````+@`````.?!S&(VT)@````"-%`")R(/@`0G0T>E#.?-R[UM> -M7<.-="8`C;PG`````%6)Y8/L#(D<)(ET)`2)?"0(BTT,BW40#[=5%`^W7-$D -M#[9$T2.#^`)T9H/X`G\)AG;````@_@#='J#^`0/A)@```#IR````)"- -M="8`O\````"#?1@`=!6`?-$G`'0.OV````")]HV\)P````"-!/4`````:<#H -M`P``N@````#W\XU$.`KIBP```(UV`(T4G0````"XTTUB$/?BP>H&C43R%8G1 -MN@````#W\8T$A20```#K88T4W0````"XTTUB$/?BP>H&C43R%8G1N@````#W -M\8T$A18```#K.HT4G0````"XTTUB$/?BP>H&C43R%8G1N@````#W\<'@`H'[ -MYP,``'<'!;T```#K"H/`7.L%N``````/M\"+'"2+="0$BWPD"(GL7<.-M@`` -M``!5B>6+30SV00(@=`>Z`@```.M*#[=!`B7`````N@,````]P````'0U#[=! -M`B70````N@0````]T````'0@]D$"$'0-N@$```#K$XVV`````/9!`P@/E<`/ -MMM"-%)*)T%W#ZPV0D)"0D)"0D)"0D)"058GEBU4(BT4,A,!Y%[@.````@?JT -M"0``=%V!^K,)``!W+NL:]L0!=3RX#@```('ZM`D``'1!@?JS"0``=PB!ZF<) -M``#K)8'ZAQ,``'<7B?:!ZM`)``"XSH$C4(/ZQ*!ZH@3``"XS6+50B+10R$P'D3N+0)``"#^@YT68/Z#788 -MZS*)]O;$`74[N+0)``"#^@YT08/Z#7<,C022!6<)``#K,HGV@_H:=QN-="8` -MC;PG`````(T$DHT$A:0(``#K%(UT)@"-!)(%B!,``)"-M"8`````7<.-M"8` -M````C;PG`````%6)Y593BUT,@'L"`'52N0````"-M@````"-O"<`````QD09 -M`O]!@_D??O6Y``````^W`XG&.<%])XVT)@`````/MD3+)@^VT(A,&@(*1,LG -M#[;`B$P8`D$Y\7SDC70F`%M>7<.-M@````"-OP````!5B>575E.#[$"+=0B+ -M70R-0Q")P3M%$`^'Z@```(UV`(M6%(-^$`!U"`'*[8E%Y.L&BQ01B57DBTX4 -MC5,,@WX0`'4-C10*[8E%\.L*C70F`(L,"HE-\(M.%(U3"(-^$`!U#HT4"NV) -M1>SK"Y"-="8`BPP*B4WLBTX4C5,$@WX0`'4.C10*[8G'ZPF-M@````"+/`J+ -M3A2#?A``=0B-%`OMB<+K`XL4"XM%Y(E$)"R-0Q")1"0HBT7PB40D)(U##(E$ -M)""+1>R)1"0R+ -M5A2+1-\,@WX0`'4-`<+MB<'K"8VV`````(L,$(M6%(M$WP2#?A``=0CK!HL4$(E5Z(M6%(M$WPR#?A``=0L#BPP0BU84BT3?!(-^$`!U!P'"[8G"ZP.+%!"+1>B)1"0L#BP00B40D#(L$WXE$)`C'1"0$5P$``,<$ -M)`````#H_/___XVV`````(V\)P````"#Q#1;7E]=PY"0D)"0D)"058GE5U93 -M@^P(BUT4#[=%#(E%\`^W?1"+10AF@3@!,'<)QT7L`````.L'QT7L%@```+X` -M````C78`C;PG`````(M5[`^W!'*)P0^OS[ID````*<*)T`^O1?`!P;@?A>M1 -M]^G!^@7!^1\IRF:)$X/#`D:#_@I^RH/$"%M>7UW#B?95B>4/MU4,B=!F@?K_ -M`'0[BT4(9H$X`C!W)F:#^CYV$(T$D@4B%0``ZQZ-M@````"-!)*-A`#L$P`` -MZPR-="8`C022!<`2```/M\!=PXUV`%6)Y0^W50R)T&:!^O\`=!N+10AF@3@" -M,'<(C8)@"0``ZP:-@OP(```/M\!=PXUV`%6)Y5=64X/L$(M]#&:!/P(P=G&^ -M4`$``+L`````9H._2@$````/A$8"``"0C70F`(U%\HE$)`B)\HU&`0^W\(E4 -M)`2+10B)!"3_51"Z`````(7`#X0=`@``#[9%\V:)A%\V`0``#[9%\F:)A%\X -M`0``@\,"#[>'2@$``#G#?+'IL0$``(U%\HE$)`B^`0$``,=$)`0``0``BT4( -MB00D_U40N@````"%P`^$R`$```^W5?*)T,'H"6:)AS8!``")T,'H`H/@?V:) -MAS@!``#!X@6#XG]FB9(#@^)_9HF7/@$``(U%\HE$)`B)\HU&`0^W\(E4)`2+10B) -M!"3_51"Z`````(7`#X05`0``#[=5\HG1P>D-#[>'/@$```G(9HF'/@$``(G0 -MP>@&@^!_9HF'0`$```'2@^)_9HF70@$``(U%\HE$)`B)\HU&`0^W\(E4)`2+ -M10B)!"3_51"Z`````(7`#X2X````#[=5\HG1P>D/#[>'0@$```G(9HF'0@$` -M`(G0P>@(@^!_9HF'1`$``(G0T>B#X']FB8=&`0``P>(&@^)_9HF72`$``(U% -M\HE$)`B)="0$BT4(B00D_U40N@````"%P'18#[=5\L'J"@^WAT@!```)T&:) -MAT@!``"[`````&:#OTH!````="T/M[=*`0``D(UT)@`/MX1?-@$``(E$)`2) -M/"3H'/W__V:)A%\V`0``0SGS?-^Z`0```(G0@\006UY?7<-5B>575E.#["3' -M1>0`````BT4,9H$X`C!V![Y0`0``ZP6^``$``(-]Y`%T0(-]Y`%_#H-]Y`!T -M$.F*````C78`@WWD`G13ZW^#Q@6+50P/MY)*`0``B57LBUT,@<-,`0``BTT, -M@<$V`0``ZU:+10QF@W@8``^$7P(``(/&-P^WD%0#``")5>R)PX'#_@,```5< -M`P``B47@ZSB+30QF@WD8``^$,@(``(/&1@^W@50#``")1>R)RX'#8@,``('! -M5@,``(E-X.L*N@````#I&@(``,=%Z`````"+5>PY5>@/C?4!``"-??*)]HV\ -M)P````"+3>B+5>`/MP1*9HD#B7PD"(ET)`1&BTT(B0PD_U40N@````"%P`^$ -MSP$```^W1?+!Z`IFB4,$#[=%\L'H!(/@/V:)0P(/MT7RP>`"@^`_9HE#'HE\ -M)`B)="0$1HM%"(D$)/]5$+H`````A<`/A(D!```/MU7RP>H.#[=#'@G09HE# -M'@^V1?.#X#]FB4,@#[=%\L'H`H/@/V:)0R(/MT7RP>`$@^`_9HE#)(E\)`B) -M="0$1HM5"(D4)/]5$+H`````A<`/A#(!```/MU7RP>H,#[=#)`G09HE#)`^W -M1?+!Z`:#X#]FB4,F#[=%\H/@/V:)0RB)?"0(B70D!$:+30B)#"3_51"Z```` -M`(7`#X3I````#[=%\L'H"F:)0RH/MT7RP>@$@^`_9HE#+`^W1?+!X`*#X#]F -MB4,NB7PD"(ET)`1&BT4(B00D_U40N@````"%P`^$HP````^W5?+!Z@X/MT,N -M"=!FB4,N#[9%\X/@/V:)0S`/MT7RP>@"@^`_9HE#,HU#"(E$)`P/MT,$B40D -M"`^W0P*)1"0$BU4,B10DZ.SY__^Z``````^W0P:)P3G"?22-M@````"-O"<` -M````#[]$4QZ-!("-!(`!P&:)1%,>0CG*?.F#PS3_1>B+3>PY3>@/C!?^____ -M1>2#?>0"#XXJ_?__N@$```")T(/$)%M>7UW#C70F`(V\)P````!5B>575E.# -M[""+?0S'1>@`````C;8`````C;PG`````&:!/P(P=@F^4`$``.L'B?:^``$` -M`(-]Z`%T-8-]Z`%_#X-]Z`!T$>MSC;0F`````(-]Z`)T0.MD@\95QT7D"``` -M`(V?G`0``(V'F@0``.M'9H-_&``/A,4!``"#QF7'1>0"````C9\.!0``C9<, -M!0``B57@ZS!F@W\8``^$GP$``(/&:<=%Y`,```"-G^X$``"-A^P$``")1>#K -M"KH`````Z8P!``"+5>!FQP(``,=%[`````"+1>0Y1>P/C5\!``#K#9"0D)"0 -MD)"0D)"0D)"-1?*)1"0(B70D!$:+50B)%"3_51"Z`````(7`#X1``0``9H$_ -M`C!V!P^V1?/K")`/MT7RP>@)9HE#"&:#>P@`#X3O````@WWH`'44#[=#"(E$ -M)`2)/"3HM/C__^L2B?8/MT,(B40D!(D\).CP^/__9HE#"&:!/P(P=A@"@^`_9HE#!@^W1?+!X`3K%0^W1?+!Z`.#X#]FB4,&#[=%\L'@`X/@/V:) -M0P2-1?*)1"0(B70D!$:+10B)!"3_51"Z`````(7`#X22````9H$_`C!V*0^W -M5?+!Z@P/MT,$"=!FB4,$#[=%\L'H!H/@/V:)0P(/MT7RZRF-="8`#[=5\L'J -M#0^W0P0)T&:)0P0/MT7RP>@'@^`_9HE#`@^W1?+1Z(/@/V:)`XM5X`^W`D!F -MB0*#PPK_1>R+1>0Y1>P/C+G^__^)]HV\)P````#_1>B#?>@"#X[3_?__N@$` -M``")T(/$(%M>7UW#C70F`%6)Y5=64X/L%(MU#('&)`4``(M%#&:!.`(P=@>_ -MOP$``.L%OV\!``#'1>P`````BU4,9H.ZV``````/A&D#``"+3>R+10QF@[Q( -MV@````!U%V:!.`(P=@B#QPCI,`,``(/'!^DH`P``BU4,9H$Z`C`/AJT```"[ -M`````)"-="8`C4WRB4PD"(E\)`1'BT4(B00D_U40N@````"%P`^$#`,```^V -M1?-FB03>#[9%\F:)1-X(@\,"@_L'?L6[`````(U5\HE4)`B)?"0$1XM-"(D, -M)/]5$+H`````A<`/A,P"```/MD7S@^`_9HE$W@(/MT7RP>@.@^`!B43>!`^W -M1?*#X#]FB43>"@^W1?+!Z`:#X`&)1-X,@\,"@_L'?J+I_@$``(U%\HE$)`B) -M?"0$1XM5"(D4)/]5$+H`````A<`/A&D"```/MU7RB=#!Z`EFB0:)T,'H`H/@ -M?V:)1@C!X@6#XG]FB580C4WRB4PD"(E\)`1'BT4(B00D_U40N@````"%P`^$ -M)0(```^W5?*)T<'I"P^W1A`)R&:)1A")T,'H!(/@?V:)1AC!X@.#XG]FB58@ -MC57RB50D"(E\)`1'BTT(B0PD_U40N@````"%P`^$V@$```^W5?*)T<'I#0^W -M1B`)R&:)1B")T,'H!H/@?V:)1B@!TH/B?V:)5C"-1?*)1"0(B7PD!$>+50B) -M%"3_51"Z`````(7`#X20`0``#[=5\HG1P>D/#[=&,`G(9HE&,(G0P>@(@^!_ -M9HE&.(G0P>@"@^`_9HE&`L'B!(/B/V:)5@J-3?*)3"0(B7PD!$>+10B)!"3_ -M51"Z`````(7`#X0Y`0``#[=5\HG1P>D,#[=&"@G(9HE&"L'J!H/B/V:)5A(/ -MMT7R@^`_9HE&&HU5\HE4)`B)?"0$1XM-"(D,)/]5$+H`````A<`/A.\````/ -MMU7RB=#!Z`IFB48BB=#!Z`2#X#]FB48JP>("@^(_9HE6,HU%\HE$)`B)?"0$ -M1XM5"(D4)/]5$+H`````A<`/A*H````/MT7RB<'!Z0X/MU8R"@( -M@^`_9HE&.KL`````C78`C;PG`````(,\W@!T1HM-[(M5#`^WA$K:````@^`# -M=`>#^`-U%XGV#[<$WHE$)`2+30R)#"3H/?3__^L3#[<$WHE$)`2+10R)!"3H -M>/3__V:)!-Y#@_L'?JZ-M"8`````C;PG`````(/&0/]%[(M5#`^W@M@````Y -M1>P/C)?\__^Z`0```(G0@\046UY?7<.0C;0F`````%6)Y5=64X/L%(MU#&:! -M/@(P=A+'1>Q$````9L>&V````"``ZQ#'1>PL````9L>&V````!``C47RB40D -M"(M5[(L"B40D!(M%"(D$)/]5$+H`````A<`/A"4'```/MU7RB=#!Z`]FB48& -MB=#!Z`Z#X`%FB48*B=#!Z`N#X`=FB48,B=#!Z`2#X']FB48.B=#!Z`.#X`%F -MB48(B=#!Z`*#X`%FB48:T>J#X@%FB588#[=%\H/@`6:)1A:-1?*)1"0(BU7L -MBT($B40D!(M%"(D$)/]5$+H`````A<`/A*$&```/MD7SB$8<#[9%\HA&';\` -M````C;0F`````(V\)P````"+5>R+7+H(C47RB40D"(E<)`1#BU4(B10D_U40 -MN@````"%P`^$5P8```^V1?.#X']FB41^*`^W1?+!Z`*#X#]FB41^+@^W1?+! -MX`2#X#]FB41^:HU%\HE$)`B)7"0$0XM5"(D4)/]5$+H`````A<`/A`L&```/ -MMU7RP>H,#[=$?FH)T&:)1'YJ#[=%\L'H!H/@/V:)1'YP#[=%\H/@/V:)1'YV -MC47RB40D"(E<)`1#BU4(B10D_U40N@````"%P`^$NP4```^W1?+!Z`IFB41^ -M?`^W1?+!Z`2#X#]FB81^@@````^W1?+!X`*#X#]FB81^B````(U%\HE$)`B) -M7"0$0XM5"(D4)/]5$+H`````A<`/A&D%```/MU7RP>H.#[>$?H@````)T&:) -MA'Z(````#[9%\X/@/V:)A'Z.````#[=%\L'H`H/@/V:)A'Z4````#[=%\L'@ -M!(/@/V:)A'Z:````C47RB40D"(E<)`1#BU4(B10D_U40N@````"%P`^$^P0` -M``^W5?+!Z@P/MX1^F@````G09HF$?IH````/MT7RP>@&@^`_9HF$?J`````/ -MMT7R@^`_9HF$?J8```"-1?*)1"0(B5PD!$.+50B)%"3_51"Z`````(7`#X2? -M!```#[9%\XA$/DR#_P%T28/_`7\-A?]T$.D4`0``C70F`(/_`G13ZWD/MT7R -MB<+!Z@6#X@=FB9;$````B<+!Z@*#X@=FB9;&`````<"#X`=FB8;`````ZTD/ -MMT7RP>@$@^`'9HF&R`````^W1?*#X`=FB8;*````ZR@/MT7RP>@$@^`'9HF& -MS`````^W1?*#X`=FB8;.````B?:-O"<`````A?\/A8@```"-1?*)1"0(B5PD -M!$.+50B)%"3_51"Z`````(7`#X36`P``#[=5\HG1P>D/#[>&P`````G(9HF& -MP````(G0P>@,@^`'9HF&P@```(G0P>@)@^`'9HF&O````(G0P>@&@^`'9HF& -MO@```,'J`X/B!V:)EK@````/MT7R@^`'9HF&N@```)"-="8`C47RB40D"(E< -M)`1#BU4(B10D_U40N@````"%P`^$3@,```^V1?-FB41^-`^V1?)FB41^.HU% -M\HE$)`B)7"0$0XM5"(D4)/]5$+H`````A<`/A!H#```/MD7S9HE$?D`/MD7R -M9HE$?D:-1?*)1"0(B5PD!$.+50B)%"3_51"Z`````(7`#X3F`@``#[9%\XA$ -M/D\/MD7R9HE$?E*`?'Y2`'D*#0#___]FB41^4HU%\HE$)`B)7"0$0XM5"(D4 -M)/]5$+H`````A<`/A*("```/MT7RP>@%)?\```!FB41^6`^W1?+1Z(/@#V:) -M1'Y>#[=%\H/@`6:)1'YD9H$^`C`/AIP```"-1?*)1"0(B5PD!$.+50B)%"3_ -M51"Z`````(7`#X1*`@``#[=%\L'H!H/@?V:)A'ZL````@_\!=!*#_P%_!H7_ -M=$OK6(/_`G0CZU$/MT7R@^`'9HF&T`````^W1?+!Z`.#X`=FB8;4````ZS`/ -MMT7R@^`'9HF&T@````^W1?+!Z`.#X`=FB8;6````ZP\/MT7R@^`_9HE&$HUT -M)@!F@3X#,'9A#[=%\L'H#6:)A'ZR````C47RB40D"(E<)`2+50B)%"3_51"Z -M`````(7`#X29`0``#[=5\L'B`X/B.`^WA'ZR````"=!FB81^L@```(/_`G4> -M#[=%\L'H`XA&((3`=1#K"F;'A'ZR````"@#&1B`/1X/_`@^.T/K__V:!/@(P -M#X>(````C47RB40D",=$)`3L````BT4(B00D_U40N@````"%P`^$(`$```^W -M1?*#X`=FB8;0````#[=%\L'H`X/@!V:)AM0```"-1?*)1"0(QT0D!.T```"+ -M50B)%"3_51"Z`````(7`#X3<````#[=%\H/@!V:)AM(````/MT7RP>@#@^`' -M9HF&U@```&;'AC0!```$`&;'AC(!```!`&;'AC`!```!`&;'ABX!`````(M% -M[(M8%+\`````9H.^V`````!T2(UT)@"-1?*)1"0(B5PD!$.+50B)%"3_51"Z -M`````(7`=&(/MD7S9HF$?MH````/MD7R9HF$?MP```"#QP(/MX;8````.<=\ -MO&:!/@(P=R9FQT92RO]FQT94__]FQT96__]W$F;'1CH/`&;'1CP<`&;'1CX< -M`+H!````C78`C;PG`````(G0@\046UY?7<.-M@````!5B>6#[!B)7?2)=?B) -M??R+?0B+=0R+71")7"0(B70D!(D\).A(^/__N@````"%P'1?B5PD"(ET)`2) -M/"3HC^S__[H`````A53#[==#+H`````C78`C012B=%F.9P`0`@``'01C4(!#[_09H/Z'W;EN?__ -M__^)R%M=PXUT)@"-O"<`````58GE4P^W70RZ`````(UV`(T$DHG19CD7<.-M"8`````58GE@^P4B5WTB77XB7W\ -MBW4(#[=%#`^W?1!FA$`$0( -M``#K$8VV`````(T$6P^WA`!""```BUWTBW7XBWW\B>Q=PY"-M"8`````58GE -M#[=%#+HH````J!!U"@^^P)F#XO&#PA2)T%W#B?95B>6+50SVQ@%T%?;"$`^4 -MP`^VP$B#X/.#P`_K(XUV`+@`````A-)Y%_;"$`^4P`^VP(/`!XUT)@"-O"<` -M````7<.-M"8`````C;PG`````%6)Y8M5#/;&`705N.`*``#VPA!U*[@`"0`` -MZR2-="8`N`````"$TGD7N"`+``#VPA!U#;@`#```D(VT)@````!=PXVT)@`` -M``"-O"<`````58GE5U93@^PD#[=%#(E%\`^W51")5>S'1>0$$```@7WD&!`` -M``^#%@$``)"-="8`BTWD#[0/MT("ZU>0C8(P]O__9CW<`'8(BTW@C001ZP.- -M0A0/M\")PF8Y1@ASSD,[7=A\J$<[?=P/C&O___^-M"8`````C;PG`````(-% -MY`2!?>08$```#X+O_O__N`````"#Q"1;7E]=PXGV58GEBT4,@_@@=RK_)(48 -M$```N$`!``#K(;B@````ZQJXP````.L3N%`!``#K#+C0````ZP6X`````%W# -MC70F`%6)Y5=64X/L$`^W10R)1?`/MUT0B5PD!(M%"(D$).C]_?__B<:)7"0$ -MBT4(B00DZ)S]__^)QXE<)`B+1?")1"0$BT4(B00DZ*3\__\/M\BZ`````#GZ -M?2&0C;0F`````(G0P>`$*=`!P&8Y#`9U!8T$,.L*0CGZ?.>X\`P``(/$$%M> -M7UW#C78`C;PG`````%6)Y8/L#`^W50P/MT40B40D"(E4)`2+10B)!"3H3___ -M_P^W`(GL7<.0C;0F`````%6)Y8/L#(E=^(EU_(M%"(D$).CY^O__#[?89H7; -M>3&)WH'F_W\``+H`````C70F`(T$DHGQ9CDTA:````!T-$*#^F!VZXUT)@"- -MO"<`````N8@!``"#^T%T&8/[07\%@_M`ZPBYB0$``(/[0W0%N0````")R(M= -M^(MU_(GL7<.058GE#[=-"+H`````C70F`(T$DL'@`F8YB*````!U"(N`K``` -M`.L+0H/Z8';CN`````!=PXVV`````(V_`````%6)Y0^W30BZ`````(UT)@"- -M!)+!X`)F.8B@````=0B+@+````#K"T*#^F!VX[@`````7<.-M@````"-OP`` -M``!5B>575E.#[`0/MWT,O@````"-M"8`````C;PG`````(T$=HT<`&8YNZ`0 -M``!U08M%"(D$).C6^?__9CF#HA```'0*9H.[HA````!U(XT$=@^WA`"D$``` -MN@$````[11!T&8VT)@````"-O"<`````1H/^#':JN@````")T(/$!%M>7UW# -MC70F`(V\)P````!5B>6+10P]J`D``'0:/:@)``!W##VC"0``ZPJ0C70F`#VT -M"0``=1F+10B#N'`!````#Y7`#[;`ZPR-M"8`````N`$```!=PXGVC;PG```` -M`%6)Y8/L#,=$)`@`````QT0D!`````"+10B)!"3HK_G__XGL7<.-="8`C;PG -M`````%6)Y8/L$(E=_(M="(D<)/^35`$``+H!````]L1`=2''1"0(`````,=$ -M)`0`````B1PDZ&GY__^)PHVT)@````")T(M=_(GL7<.-M"8`````58GE@^P, -MB5WXB77\#[==#+D!````9H7;=':+10B)!"3HB_C__P^W\&:%]GD3B?`E_W__ -M_SG##Y3`#[;(ZU*)]F:!_O\!=`JZ`````&:%]G4'N0$```#K.(T$DL'@`F8Y -MF*````!U&;D!````9CFPH@```'0;C70F`(V\)P````!"@_I@=M*Y`````)"- -M="8`B3&!XO]_``"-="8`C;PG`````(T$B;L!````9CD4A:````!T*T&#^6!V -MZ.L>C;8`````C01)NP$```!F.90`0`@``'0+08/Y'W;HNP````")V(/$!%M= -MPXUT)@"-O"<`````58GE5U93@^PP#[=%&(E%Z(U%[(E$)`B-1?*)1"0$BU4( -MB10DZ`?X__^Z`````(7`#X2<`0``BT7LC13%`````"G"P>(#BX(D#0``BTT( -MB8%L`0``@[EP`0```'4+@<*`#@``B57DZQ:+5>R-!-4`````*="-!,4@#0`` -MB47DBT4(B00D_Y!8`0``B471F@WD,``^$&0$` -M`(VT)@````"+1=B+5>2+=((0#[<>OP````"+1@1F@S@`#X3@````D(5=W`^$ -MQP```(5=Z'4BB5PD!(M-"(D,).B3^O__A,`/B:L```#V1>@L#X2A````D(M% -M$#E%X`^#M@```(M&!`^W!'B)1=0/MT74B40D"`^WPXE$)`2+50B)%"3H`/G_ -M_P^WP(E%T(3`>38ET````#W0````="J!9=`/_O__]D7H"'0)@4W0P````.L4 -M@4W0H````(VV`````(V\)P````"#?=``="J+5=2+3>"+10QFB12(BT70#0`" -M``"+50QFB42*`D&)3>")]HV\)P````!'BT8$9H,\>``/A2'_____1=B+3>0/ -MMT$,.478#XSN_O__BT44BU7@B1"%T@^5P`^VT(G0@\0P6UY?7<.-="8`58GE -MBU4(BTT,#[<"9CL!=0\/MU("#[=!`NL+D(UT)@`/MQ(/MP$IPHG07<.-="8` -M58GE5U93@^P\BWT(#[==&`^W11R)1>S'1>18&P``B3PDZ$K]__^Z`````(7` -M#X0=`P``B3PDZ#7Z__]FB8=H`0``B3PDZ`;\__^%P'0*QX=T`0```0```&:# -MOV@!````=2")7"0$B3PDZ&+\__^Z`````(7`#X35`@``9HF?:`$```^WAV@! -M``")1"0$B3PDZ/S___^)1>B)/"3HX/O__X7`=$&+1>PC1>B)1"00BU44B50D -M#(M-$(E,)`B+10R)1"0$B3PDZ"7]__^Z`````(7`#X1X`@``BU44BQ*)5>#I -MZ@$``(-](`!U%6:!^T@#=0['1>1=%@``C;0F`````,=%X`````"^!!```('^ -M&!````^#MP$``)"-M"8`````#[<&(T7L9H7`#X21`0``#[<&A47H#X2%`0`` -MC47RB40D#(U%\(E$)`@/MT8"B40D!(D\)/^73`$``(7`#X1>`0``#[=&`HE$ -M)`@/MX=H`0``B40D!(D\).@S^/__B47<#[=>`HE<)`2)/"3HT/7__P^WP(E% -MV(E<)`@/MX=H`0``B40D!(D\).B3^/__#[?`B474QT70`````(M-W&:#>0(` -M#X3X````D(VT)@````"+5="-!%*+3=R-!$$/MU@&9CE8"`^"P````(T$4@'` -MB47,C;0F`````(V\)P````!F.5WP#X>&````9CE=\@^"?````&8[7>1W=F:! -M^[0)=0AF@7X"P`!T9XE<)`2)/"3HR_G__X7`=%>+11`Y1>`/@XH```"+5>"+ -M30QFB1R1#[=&`F:)1)$"#[=&`HE$)`B+1=2)1"0$B3PDZ`'Y__^%P'05BU7@ -MBTT,#[=$D0(-``(``&:)1)$"_T7@D(UT)@"+5=B-!!H/M]B+3``=%O'1"0,P"D``,=$)`@$````BTW@B4PD!(M%#(D$).C9!0``@WW@0'8' -MQT7@0````(M5X(F7?`(``(G0P>`"B40D"(V'?`$``(E$)`2+30R)#"3H_/__ -M_Y"-="8`BT7@BU44B0(/MX=H`0``9HE'&(-]X``/E<`/MM"-=@")T(/$/%M> -M7UW#C;8`````58GE5U93BT4(C;!\`0``BXA\`@``A575E.#[!R+10P/MP")1?"+50AF@[IH`0````^%'0$``(D4).AU\?__ -M#[?`B47LN`````!F@WWL`'@2BT7L)?\/``#K"(M%Y.E3`0``B47L9H-][``/ -MA.,```"_`````(VT)@````"-O"<`````C03]`````"GXBUWL9CDB[`````#G#?7.-=@")V,'@!(G"*=BY`````&:#?$8"`'1&C78`C;PG```` -M`(G0*=B-%$F-!`*-!$:-4`:)5>2+5?!F.5`&=PV+1>1F.5`"#X,^____08G: -MP>($B=`IV`^W1$8".<%\Q$,[7>A\GHVT)@````"-O"<`````1X/_!0^&-O__ -M_XVV`````(M=#`^W0P*)1"0(BU4(#[>":`$``(E$)`2)%"3H;_3__XG&OP`` -M``!F@W@"`'0N#[=(`HVV`````(V\)P````"-!'^-%$:-0@:+7?!F.5H&=P9F -M.5H(6#[`B+10R)1"0$BT4( -MB00DZ#C^__^Z`````(7`=!D/ME40#[9`!0'`*,(/OLJ)R,'H'TB)RB'"B=") -M[%W#58GE@^P0B5WXB77\BW4(BUT,B5PD!(DT).CR_?__N@4```"%P'0O@[YT -M`0```'0B#[<#+1X4``"Z#@```&:#^&1V$X![`@`/F,`/MM"#PA'K!`^V4`2) -MT(M=^(MU_(GL7<.-M"8`````C;PG`````%6)Y5=64X/L((M%"&:#N&@!```` -M#X4F`0``B00DZ![O__\/M\")1?"+50P/MQ*)5>RX`````&:#??``>!*+1?`E -M_P\``.L(C00^Z1(!``")1?!F@WWP``^$XP```,=%Z`````"-M@````"-OP`` -M``"+1>C!X`,K1>B+5?!F.13%(`T```^%I@```(M%#`^W6`*)7"0$BU4(B10D -MZ/#P__^)QXE<)`2+10B)!"3HC_#__XE%Y+L`````.<-]`$B<(I -MV+D`````9H-\1P(`=$B-=@"-O"<`````B=`IV(TT`(T$28T$1@'XC5`&B57@ -MBU7L9CE0!G<-BT7@9CE0`@^#//___T&)VL'B!(G0*=@/MT1'`CG!?,)#.UWD -M?)R-M@````"-OP````#_1>B#?>@%#X8S____C78`BU4,#[="`HE$)`B+50@/ -MMX)H`0``B40D!(D4).@/\O__@\0@6UY?7<.-M"8`````58GE@^P,B5W\BUT, -MB5PD!(M%"(D$).AU_O__#[90!`^W0P(EP````#W`````=1&)T(/@#X/X`74' -M@^+P@\H"D(G0BUW\B>Q=PXVT)@````!5B>6#[`R)7?B)=?R+10@/MW4,B00D -M_Y!8`0``B<.H`G0>B30DZ`;S__^%P'42@^/]ZPV0D)"0D)"0D)"0D)"0]L,( -M=!N)-"3HH_+__X7`=0^#X_>-M@````"-OP````")V(M=^(MU_(GL7<.-="8` -M58GE4X/L#(M5"(M%#`^W0`*)1"0(#[>":`$``(E$)`2)%"3H".[__P^WP+H` -M````N^X0``"-="8`C;PG`````+D!````9CD$4W0+0H/Z`G;ON0````")R(/$ -M#%M=PXGV58GE5U93@^P4BT4(B47L`T40B47HBT4,2(E%\'14BWWHBT7L.<=V -M/Y"-M"8`````B?XK=1")?"0$B30D_U44AQWR8M%$`%%Z/]-\'6L@\046UY?7<.0D)"0D)!5 -MB>575E.![)P````/MT4(B85L____QP0D@`,``.C\____B85H____O@(```"% -MP`^$X08``(N=:/___XG?O@`1``"X@`(``/:%:/___P1T&J$`$0``B0.+O6C_ -M__^#QP2^!!$``+A\`@``_(G!P>D"\Z6+E6S___]FB5,(9L=#"@``BT4,B4,, -MBT40B4,0BT44B4,4BX5H____QX`P`P```````,>`8`,```````#'@&0#```` -M````QX!H`P```````,>`<`,```H```#'@'0#```"````9L>`?`,`````QT0D -M!`````")'"3H_/___[X#````A<`/A!H&``#'@UP!```!````BT,4@WL0`'4) -MC9`@0```[>L&BX`@0```)?\```!FB8-@`0``BT,4@WL0`'4)C9`8F```[>L& -MBX`8F```9HF#8@$``(M#%(-[$`!U#HV0T)@``+@6'```[^L*QX#0F```%AP` -M`+X`````OX"8``"Y```!`(VT)@````"+0Q2#>Q``=0N-D("8``")R._K`XD, -M!T:#_@-VXXM#%(-[$`!U"8V0`)P``.WK!HN``)P``,'H',=$)`0$````B00D -MZ/S___]`9HF#9`$``(M#%(-[$`!U"8V0$$```.WK!HN`$$```(F%9/___XM3 -M%(/(`8-[$`!U"8'"$$```._K!HF"$$```(V%%%>O___V:)@H8"```/MH5\____B(*)`@``#[:%??__ -M_XB"B@(```^VA7[___^(@HP"```/MH5_____B(*+`@``#[9%@8B"CP(```^V -M18"(@I`"```/MD6#B(*1`@``#[9%@HB"D@(```^V180D`8B"C0(```^W1831 -MZ"0'B(*.`@``O@````"_"0```(T4]0`````I\HT4E@.5:/___XV*DP(```^W -MA'UT____P>@*)#^(@I,"```/MX1]=/___\'H!"0_B$$+#[>$?73____!X`*( -MPH#B/`^WA'UV____P>@."-"(00$/MH1]=____R0_B$$,#[>$?7;____!Z`(D -M/XA!`@^WA'UV____P>`$B,*`XC`/MX1]>/___\'H#`C0B$$-#[>$?7C____! -MZ`8D/XA!`P^VA'UX____)#^(00X/MX1]>O___\'H"B0_B$$$#[>$?7K____! -MZ`0D/XA!#P^WA'UZ____P>`"B,*`XCP/MX1]?/___\'H#@C0B$$%#[:$?7W_ -M__\D/XA!$`^WA'U\____P>@")#^(008/MX1]?/___\'@!(C"@.(P#[>$?7[_ -M___!Z`P(T(A!$0^WA'U^____P>@&)#^(00@$)#^(01,/MT1]@,'@`HC"@.(\#[=$?8+!Z`X(T(A! -M"0^V1'V#)#^(010/MT1]@L'H`B0_B$$*#[=$?8+!X`2(PH#B,`^W1'V$P>@, -M"-"(014/MT1]A,'H!B0_B$$6#[9$?80D/XA!%P^W1'V&P>@*)#^(01@/MT1] -MAL'H!"0_B$$9#[=$?8;!X`*(PH#B/`^W1'V(P>@."-"(01H/MD1]B20_B$$; -M#[=$?8C!Z`(D/XA!'$:#QPN#_@0/AMW]__^_`````+X`````C85R____B40D -M"+@?````*?")1"0$B1PDZ/S___^%P`^$Q`````^WA7+___\!Q\'H"(N5:/__ -M_XB$Q``=0F!PA!```#OZP:)@A!```"+@UP!``")0QP/MX-@ -M`0``9HE#(`^W@V(!``"#X`^#R!!FB4,B#[>#9`$``&:)0R1FQT,F``")V.MA -MO@@```#K#9"0D)"0D)"0D)"0D)"+4Q2+A63___^#>Q``=1&!PA!```#OZPZ^ -M"````.L'D(F"$$```(.]:/___P!T#HN%:/___XD$).C\____@WT8`'0%BU48 -MB3*X`````('$G````%M>7UW#D(VT)@````!5B>6#[`2+10B)!"3H_/___XGL -M7<.-="8`C;PG`````%6)Y5W#C70F`(V\)P````!5B>7V10T!=!>+11!FQP`` -M%(M%%&;'`#85N`$```#K!;@`````7<.0D)"0D)"0D)!5B>575E.#[`B+70B+ -M?0R+31"+=12)7?"+4Q2)R(-[$`!U#8'"+(```._K"HUT)@")BBR```"#_P%T -M>(M3%(G(*P4`````P>`#@WL0`'4)@<(P@```[^L&B8(P@```BU,4B<@K!0`` -M``#!X`.#>Q``=0Z!PC2```#OZPN0C70F`(F"-(```(M#%(E%[(G(BU7P`X)H -M`P``@WL0`'4+BU7L@<(X@```ZVB+5>R)@CB```#K;8M#%(-[$`!U%(V0,(`` -M`+C_____[^L0C;8`````QX`P@```_____XM#%(-[$`!U#HV0-(```+C_____ -M[^L*QX`T@```_____XM#%(-[$`!U#XV0.(```+@!````D._K#<>`.(````$` -M``"-=@"!YO__``"#_P%T%8/_`7(8@_\&=!N#_PAU%HVV`````('.`````>L8 -M@Q``=0F!PB2```#OZP:) -MLB2```"#Q`A;7E]=PXVT)@````"-O"<`````58GE5U93@^P$BUT(OC(```"_ -M+````.M(QP0D`0```.C\____3G4YBU,4BT4,@WL0`'4&@\($[^L#B4($BT,4 -M@WL0`'4+C5`HN`H```#OZP?'0"@*````N`````#K0HGVBT,4@WL0`'4'C5`L -M[>L$D(L$!Z@$=:&+0Q2#>Q``=0:-4`CMZP.+0`BH`G6+N`$```"-M"8````` -MC;PG`````(/$!%M>7UW#D(VT)@````!5B>6+30B+012#>1``=1&-D"R```"X -M`````._K#8UV`,>`+(````````"+012#>1``=0V-D`2```#MZPJ-="8`BX`$ -M@```#0``$`"+410E__]?_X-Y$`!U"8'"!(```._K!HF"!(```(M!%(-Y$`!U -M#XV0)(```+C__P``[^L+D,>`)(```/__``!=PXUT)@!5B>575E.+=0B+10R` -M>`L`#X32````BUX0BTX4OP2```"%VW4+C9$$@```[>L(B?:+@02````E__]_ -M_PT``"``A=MU#(T4#^_K"8VV`````(D$#XM5#`^V6@L/MD(*#Z_8#[=""`^O -MV(M6%(G8@WX0`'4-@<(H@```[^L*C70F`(F:*(```(M6%(M-#`^W00R#?A`` -M=0J!PDB```#OZP>0B8)(@```BU4,#[9""HM-&`^OR`--%`^W0@@/K\B%R74" -MB=F+5A2+11`!R,'@`X-^$`!U#('"-(```.LVC70F`(F"-(```.LXBUX0BTX4 -MOP2```"%VW4)C9$$@```[>L&BX$$@```)?__7_^%VW4&C10/[^L+B00/D(VT -M)@````"+5A2+30R+`8-^$`!U"8'"+(```._K!HF"+(```(M^$(M>%(7_=0F- -MDR2```#MZP:+@R2```")PH'B``"`_XM-#`^W00B)T0G!BT4,9H-X$`!T$0^W -M0!"#P`3!X!`E``!_``G!A?]U"XV3)(```(G([^L&B8LD@```9H.^8`$```-V -M78M5#/9"%`=T5(M^$(M>%+X8@```A?]U"8V3&(```.WK!HN#&(```(G!@>'_ -M^/__BU4,#[="%,'@""4`!P``"<&%_W4)C10>BC;8`````C;PG -M`````%M>7UW#D)"0D)"0D)"0D)!5B>6+10B+4!2#>!``=0F!P@A```#MZP:+ -M@@A```"%P`^5P`^VP%W#D(VT)@````!5B>53BUT,BTT(BT$4@WD0`'4-C5`< -M[>L*C;0F`````(M`'(G"@_C_=0W'`P````"X`````.LT(X$L`P``);K8!0&) -M`_?"(`!P`'0'#0```$")`_;"!70#@PL!]\)``0``=`.#"T"X`0```%M=PXGV -M58GEBT4(BX`L`P``7<.)]E6)Y8/L#(D<)(ET)`2)?"0(BUT(BTT,B=^+LRP# -M``"%]GD=BT,4@WL0`'4+C5`DN`````#OZPG'0"0`````B?:)R"6ZV`4!]L$! -M=`.#R`7VP4!T!0U``0``BU,4@WL0`'4&@\(@[^L#B4(@B8\L`P``AQ=PY"0D)"0D)"0D)"0D)"0D%6)Y;A`````7<.-M@````!5 -MB>6+30@/MT4,9H/X/W`%!1R0``"#>1``=04!PNWK`XL$$"4`@/__ -MN@$```!FA6#[`R)'"2)="0$B7PD"(M5$`^W -M=0RX`````&:#_C\/AZ$```"%TG0X#[9:!<'C"`^V0@0)PP^V2@/!X1@/MD(" -MP>`0"<$/MD(!P>`("<$/M@()P='IB=C!X!\)P='KZPV[`````+D`````C78` -MBT4(BW@4B?#!X`6-D!B0``")R(M-"(-Y$`!U!HT4.N_K`XD$.HM%"(M(%(GP -MP>`%C9`Q=PXGVC;PG`````%6)Y5=64X/L'(M=$`^W10R)1?"#?1@` -M#Y3`#[;(28'AJJJJJK@`````9H-]\#\/A^P!``"#.P1_"K@`````Z=T!```/ -MMG,$#[9#!<'@"`G&#[9#!L'@$`G&#[9#!\'@&`G&,`(#[93"`G" -MB57L,4WL@67L__\```^V0PJ)1>@/MD,+P>`("47H#[9##,'@$`E%Z`^V0PW! -MX!@)1>@Q3>@/MD,/P>`(#[93#@G"B57D,4WD@67D__\```^V>Q`/MD,1P>`( -M"<`0"<`8"<?_````@SL%?P>[`````.L8 -M@SL-?P>[`0```.L,NP,```"-M"8`````BT4(BT@4BT7PP>`%C9``D```B?"+ -M=0B#?A``=0:-%`KOZP.)!`J+10B+2!2+1?#!X`6-D`20``"+1>R+=0B#?A`` -M=0R-%`KOZPF-M@````")!`J+10B+2!2+1?#!X`6-D`B0``"+1>B+=0B#?A`` -M=0:-%`KOZP.)!`J+10B+2!2+1?#!X`6-D`R0``"+1>2+=0B#?A``=0B-%`KO -MZP6)]HD$"HM%"(M(%(M%\,'@!8V0$)```(GXBW4(@WX0`'4&C10*[^L#B3P* -MBT4(BT@4BT7PP>`%C9`4D```B=B+70B#>Q``=0J-%`KOZP>-="8`B00*BT44 -MB40D"(MU\(ET)`2+10B)!"3H_/___XUT)@"#Q!Q;7E]=PY"0D)"0D)"058GE -M@^P,QT0D"`8```"+10@%)`,``(E$)`2+10R)!"3H_/___XGL7<.-M"8````` -M58GE@^P4B5W\BUT(BU,4BT4,C02%`&```(-[$`!U!0'"[>L#BP00QT0D#`(` -M``#'1"0(`P```,=$)`0`;```B1PDZ/S___^Z`````(7`="6+0Q2#>Q``=0N- -MD`!H``#MB<+K!HN0`&@``(M%$&:)$+H!````B="+7?R)[%W#B?95B>6+31"+ -M50AF#[:"B`(``&8Y10QU";@,````ZQ:)]H"Z@@(````/F,`/ML"-!,4#```` -MA6X`0```%W#C;8`````58GEBT4(@+B-`@````^5P`^VP%W#C70F`(V\)P`` -M``!5B>6#[!")7?R+70C'1"0$`````(D<).C\____A<`/E,`/ML")1"0(QT0D -M!`````")'"3H_/___XM=_(GL7<.058GEBU4(BTT,N/____^#^05W((M"%(-Z -M$`!U"8V0'$```.WK!HN`'$```(/@+]/H@^`!7<.-="8`C;PG`````%6)Y593 -M@^P(BUT(BTT,BT,4@WL0`'4+C9`40```[8G&ZP:+L!1```")RL'B#`')N`,` -M``#3X`G0#0"``0#WT"'P"=`-`(```(-]$`!T!0T```$`BU,4@WL0`'4)@<(4 -M0```[^L&B8(40```BX,L`P``#0````&)1"0$B1PDZ/S___^#Q`A;7EW#C;0F -M`````%6)Y5.+30B+70R+012#>1``=0V-D!!```#MZPJ-="8`BX`00```A=MT -M!X/[!'0'ZP^#X)_K$(/@WX/(0.L(B?:#R""#X+^+412#>1``=0F!PA!```#O -MZP:)@A!```!;76+10B+4!2#>!``=0F!P@2` -M``#MZP:+@@2```"I``"```^5P`^VP$!=PXUT)@!5B>575E.#[!2+70@/MT40 -MB47P#[=%%(E%[(G?QT0D"`8```"+10R)1"0$C8,X`P``B00DZ/S___^+4Q0/ -MMHLX`P``#[:#.0,``,'@"`G!#[:#.@,``,'@$`G!#[:#.P,``,'@&`G!@WL0 -M`'4+@<((@```B`(#[:7/`,``(G1"<&+ -M1?`E_S\``,'@$`G!@WL0`'4+C98,@```BL&BX`D@```B<&+1>R#P`1F@WWL``^4P@^VTDHAT('A -M__^`_\'@$"4``'\`BU,4"Q``=0F!PB2```#OZP:)@B2```#'1"0(```` -M`,=$)`0`````B1PDZ/S____K#XD<).C\____C;0F`````(/$%%M>7UW#D(VT -M)@````!5B>6#[`R)'"2)="0$B7PD"(M5"(M"%(-Z$`!U"8V0<(```.WK!HN` -M<(```(G'O@````"+50B+0A2#>A``=0F-D&R```#MZP:+@&R```"Z`````(GQ -M"<&)^PG3BQ=PXGV58GEBT4(BU`4@W@0`'4)@<)L -M@```[>L&BX)L@```7<-5B>6+30B+012#>1``=0F-D"2```#MZP:+@"2```"+ -M410-`````8-Y$`!U"8'")(```._K!HF")(```%W#C78`58GE@^P(B1PDB70D -M!(M="(M#%(-[$`!U"8V09)@``.WK!HN`9)@``(G!P>D3@>'_`0``]L4!=`:! -M\0#^__^+0Q2#>Q``=0N-D'"```#MB<;K!HNP<(```(M3%(-[$`!U#X'";(`` -M`.WK#(VV`````(N";(```#'P,Q=PXUT)@"-O"<`````58GE -MBT4(#[>(8`$``(M0%(-X$`!U"H'"($```.WK!Y"+@B!````E_P```#G!#Y3` -M#[;`7<.-="8`C;PG`````%6)Y5.+30B+70R+012#>1``=0V-D)B```#MZPJ- -M="8`BX"8@````0.+012#>1``=0^-D)2```#MZPR-M@````"+@)2````!0P2+ -M012#>1``=0Z-D)R```#MZPN0C70F`(N`G(````%##(M!%(-Y$`!U#HV0D(`` -M`.WK"Y"-="8`BX"0@````4,(BT$4@WD0`'4.C9"@@```[>L+D(UT)@"+@*"` -M```!0Q!;7<.-="8`58GEN`$```!=PXVV`````%6)Y8M-"(M!%(-Y$`!U"8V0 -M:(```.WK!HN`:(```(M1%(/@YX-Y$`!U"8'":(```._K!HF":(```%W#D(UT -M)@!5B>6+30B+012#>1``=0F-D&B```#MZP:+@&B```!F@[E@`0``!7<(@\@0 -MZP:-=@"#R!B+412#>1``=0F!PFB```#OZP:)@FB```!=PXUV`%6)Y5.+30B) -MRXM!%(-Y$`!U#HU0)+@`````[^L*C78`QT`D`````(N#+`,```T`0```B8,L -M`P``BU$4@WD0`'4&@\(@[^L#B4(@BT$4@WD0`'4-C5`DN`$```#OZPF)]L=` -M)`$```!;7<.-M@````!5B>6X`````%W#C;8`````58GEN`````!=PXVV```` -M`%6)Y5W#C70F`(V\)P````!5B>5=PXUT)@"-O"<`````58GE@^P,QT0D!)8' -M``#'!"0`````Z/S____'1"0$KP<``,<$)`````#H_/___\=$)`@]````QT0D -M!(`3``"+10B)!"3H_/___XGL7<.0D)!5B>53BTT(#[==$(M!%(-Y$`!U#(V0 -M!(```.WK"8UV`(N`!(```(M1%"7__W__#0``!`"#>1``=0F!P@2```#OZP:) -M@@2```"#?0P`="*+412)V`T```,`@WD0`'4)@<($0```[^L)B8($0```C78` -M6UW#C;8`````C;PG`````%6)Y5=64X/L!(M="(-]#``/A*$```"+0Q2#>Q`` -M=0Z-D`1```"X`````._K"L>`!$````````#'!"30!P``Z/S___^^"@```+\0 -M0```C78`BT,4@WL0`'4)C9`00```[>L#BP0'J0```0!T,\<$),@```#H_/__ -M_XM#%(-[$`!U#XV0!$```+@`````[^L+D,>`!$````````!.=;/K$87V=12- -MM@````"-O"<`````N`````#K.HM#%(-[$`!U"8V0!(```.WK!HN`!(```(M3 -M%"7__WO_@WL0`'4)@<($@```[^L&B8($@```N`$```"#Q`1;7E]=PXVT)@`` -M``!5B>6+30B+012#>1``=0F-D`2```#MZP:+@`2```"+410E__]__PT```0` -M@WD0`'4/@<($@```[^L,C;8`````B8($@```@WT,`'0DBT$4@WD0`'4.C9`$ -M0```N````0#OZPW'@`1```````$`C78`7<.-M"8`````C;PG`````%6)Y8/L -M&(E=](EU^(E]_(M%"(M=#(M-$`^W512)QK\!````@_L"="B#^P)W!X/[`70) -MZSR#^P-T)^LUB50D"(E,)`2)!"3HM?W__^LJC78`B4PD!(D$).@D_O__BQ= -MPXUV`%6)Y8M%"(N`,`,``%W#B?95B>6X`0```%W#C;8`````58GEN`````!= -MPXVV`````%6)Y8M-"(M!%(-Y$`!U"8V0!(```.WK!HN`!(```(M1%"7__V__ -M@WD0`'4)@<($@```[^L&B8($@```N`$```!=PXVT)@````"-O"<`````58GE -MBTT(BT$4@WD0`'4)C9`$@```[>L&BX`$@```BU$4)?__?_\-```0`(-Y$`!U -M#X'"!(```._K#(VV`````(F"!(```+@!````7<.0D)!5B>6#[`R)7?R+10R# -M^`%T#[L`````@_@"=!7K"HUV`+L`````ZPFX`````.L3B?:)7"0$BT4(B00D -MZ/S___^)V(M=_(GL7<.0D)"0D)"0D%6)Y8M%"(M0%(-X$`!U!H/"#.WK`XM" -M#%W#C;8`````58GEBTT(BU$4BT4,@WD0`'4&@\(,[^L#B4(,7<.-=@!5B>6+ -M10B+4!2#>!``=1&#P@BX!````._K#8VV`````,=""`0```!=PXVT)@````!5 -MB>575E.#[`2+=0B+1A2#?A``=0N-4`BX(````._K!\=`""````"[`````+\( -M````ZPV0D)"0D)"0D)"0D)"0BT84@WX0`'4'C5`([>L$D(L$![H!````J`1T -M&L<$)`H```#H_/___T.!^^<#``!^S[H`````B="#Q`1;7E]=PU6)Y8/L"(D< -M)(ET)`2+10B+6!"+2!2^:(```(7;=0F-D6B```#MZP:+@6B```"#X+^%VW4+ -MC10.[^L(D(UT)@")!`Z+'"2+="0$B>Q=PXGV58GE@^P(B1PDB70D!(M%"(M8 -M$(M(%+YH@```A=MU"8V1:(```.WK!HN!:(```(/(0(7;=0N-%`[OZPB0C70F -M`(D$#HL<)(MT)`2)[%W#B?95B>6+30B+412+10R#>1``=0Z!PE"```#OZPN0 -MC70F`(F"4(```(M1%(M%$(-Y$`!U#H'"5(```._K"Y"-="8`B8)4@```7<.0 -MC;0F`````%6)Y8/L"(D<)(ET)`2+70B+30RX`````(/Y/P^'E````(/Y'W9* -MBT,4@WL0`'41C9!4@```[8G"ZPR-M@````"+D%2```"+Q``=0N-D%"```#M -MB<+K!HN04(```(MS%+C^____T\`AT(-[$`!U"8V64(```._K"XF&4(```)"- -M="8`N`$```"+'"2+="0$B>Q=PU6)Y8/L"(D<)(ET)`2+70B+30RX`````(/Y -M/P^'E````(/Y'W9*BT,4@WL0`'41C9!4@```[8G"ZPR-M@````"+D%2```"+ -MQ``=0N-D%"```#MB<+K!HN04(```(MS%+@!````T^`)T(-[$`!U"8V64(`` -M`._K"XF&4(```)"-="8`N`$```"+'"2+="0$B>Q=PU6)Y8M%"(M0%(-X$`!U -M"8'"3(```.WK!HN"3(```%W#58GEBTT(BT4,]L0"=`@E__W__X/(((M1%(-Y -M$`!U"8'"3(```._K!HF"3(```%W#58GEBU40BTT,QT$(`````(G0)?\/``") -M00PYT'0'N`````#K*_9%%"!T!X%)#``@``#'010`````QT$0`````+@!```` -MC70F`(V\)P````!=PXVT)@````"-O"<`````58GE5E.+50B+=0R)\_9&%`%U -M#;@/````Z0,!``"-=@`/MT80)?\/``!FB48@BTX4@>$`@/\/P>D/BT(4@WH0 -M`'4.C9!L@```[>L+D(UT)@"+@&R```")PL'J"H'B__\``(G0)?\?```YR',4 -MC8(`X/__)?__```)P>L'D(UT)@`)T8G()?]_``!FB48BQD8D`(M#%*@"=3BH -M!'0&QD8D`>LN]D,4$'0(@$XD".LBB?;V0Q0(=`:`3B0$ZQ2`3B0"BT,4)>`` -M``#!Z`6(1B6)]HM#$"4``/@'P>@3B$8FBT,4]L0!=`TE`'X``,'H"8A&)^L$ -MQD8G_XM#$"4`@`<`P>@/B$8HBT,0P>@.)`&(1BF+0Q#!Z`PD`8A&*K@````` -M6UY=PY"0D)"0D)"0D)"0D%6)Y5=64X/L&(M]"(M=#(E]\(M%$/9``P$/A/8! -M``"+1Q2#?Q``=0F-D!!```#MZP:+@!!```"#X&")1>R+51")5"0$B3PDZ/S_ -M__^Z`P```(7`#X0G"0``BU<4BW7P#[:.)`,```^VAB4#``#!X`@)P0^VAB8# -M``#!X!`)P0^VAB<#``#!X!@)P8-_$`!U"X'"`(```(G([^L&B8H`@```@_L! -M#X2*````@_L!`(#[:3*`,```G0 -M#0``4@"#?Q``=0F-D02```#OZP:)@02```"+1Q2#?Q``=0J-4"BX`0```.M- -MQT`H`0```.M.BT\4BW7P#[:&*0,``,'@"`^VEB@#```)T`T``!0`@W\0`'4) -MC9$$@```[^L&B8$$@```BT<4@W\0`'4+C5`HN`````#OZP?'0"@`````BT<4 -M@W\0`'4-C9`00```N"00``#K;L>`$$```"00``#K?(M/%(M5\`^V@BD#``#! -MX`@/MI(H`P``"=`-```0`(-_$`!U"8V1!(```._K!HF!!(```(M'%(-_$`!U -M"XU0*+@`````[^L'QT`H`````(M'%(-_$`!U#HV0$$```+A`$```[^L7QX`0 -M0```0!```.L+N@P```#I80<``)"+7Q"+3Q2^$$```(7;=0F-D1!```#MZP:+ -M@1!````+1>R%VW4&C10.[^L#B00.BU<4BUWP#[:+.`,```^V@SD#``#!X`@) -MP0^V@SH#``#!X!`)P0^V@SL#``#!X!@)P8-_$`!U"X'""(```(G([^L&B8H( -M@```BT\4BU7P#[:"/0,``,'@"`^VDCP#```)T(-_$`!U"8V1#(```._K!HF! -M#(```(M7%(-_$`!U"+@`````[^L&QP(`````BT<4@W\0`'4+C5`$N`````#O -MZP?'0`0`````BT<4@W\0`'4+C5`,N`````#OZP?'0`P`````BT<4@W\0`'4& -MC5`<[>L#BT``4(````````"+1Q2#?Q``=0Z-D%2```"X```` -M`._K"L>`5(````````"+1Q2#?Q``=0Z-D%B```"X`````._K"L>`6(`````` -M``"+1Q2#?Q``=0Z-D%R```"X`````._K"L>`7(````````"+1Q2#?Q``=0Z- -MD&"```"X`0```._K"L>`8(````$```"+1Q2#?Q``=0Z-D&2```"X`0```._K -M"L>`9(````$```"+1Q2#?Q``=0Z-D&B```"X`````._K"L>`:(````````"+ -M1Q2#?Q``=0Z-D"B```"X`````._K"L>`*(````````"+1Q2#?Q``=0Z-D"R` -M``"X`````._K"L>`+(````````"+1Q2#?Q``=0Z-D&R```"X`````._K"L>` -M;(````````"+1Q2#?Q``=0Z-D#"```"X_____^_K"L>`,(```/____^+1Q2# -M?Q``=0Z-D#2```"X_____^_K"L>`-(```/____^+1Q2#?Q``=0Z-D#B```"X -M`0```._K"L>`.(````$```"[`````(VV`````(L,W8`5``"#?10`=`V-@0"` -M__\]_P\``'89BW<4BP3=A!4``(-_$`!U!HT4,>_K`XD$,4.!^Z8```!VQ(MU -M$(ET)`2)/"3H_/___[H#````A<`/A,@"``"+=Q"+7Q2%]G4)C9,HF```[>L& -MBX,HF```B<&!X?\`__^+5?`/MH**`@``P>`("<&%]G4+C9,HF```B$8#[:"BP(``,'@$`G!#[:2C`(``(G0P>`( -M"<$)T8-_$`!U"XV3-)@``(G([^L&B8LTF```BW<0BU\4A?9U"8V31)@``.WK -M!HN#1)@``(G!@>%_P/__BU7P#[>"A`(``-'H)8`_```)P87V=0N-DT28``") -MR._K!HF+1)@``(MW$(M?%(7V=0F-DTB8``#MZP:+@TB8``")P8'A_P_\_XM5 -M\`^W@H0"``#!X`HE`/`#``G!A?9U"XV32)@``(G([^L&B8M(F```BW<0BU\4 -MA?9U"8V39)@``.WK!HN#9)@``(G!@>'_#_C_BU7P#[:"B0(``,'@#"4`\`<` -M"<&%]G4+C9-DF```BL&BX,0 -MF0``B<&#X?R+5?`/MX*$`@``@^`#"<&%]G4+C9,0F0``BL&BX%@F```@\@!A=MU!HT4#N_K`XD$#L=$)`P`````QT0D"`$```#' -M1"0$8)@``(D\).C\____BUT0B5PD!(D\).C\____NP````"%P'45BW40#[=& -M`H/(`F:)1@*Z`P```.M=B5PD!(D\).C\____0X/[`7;NBT7P@+B-`@```'0( -MB3PDZ/S___^+7Q"+3Q2^)(```(7;=0F-D22```#MZP:+@22````E__]__H7; -M=0:-%`[OZP.)!`ZX`0```.L/BUT8@SL`=`*)$[@`````@\086UY?7<.)]HV\ -M)P````!5B>53BTT(BUT,BT$4@WD0`'4-C9`$@```[>L*C70F`(N`!(```"7_ -M_P``@_L!=#"#^P%R&X/[!G0'@_L(="OK5XM1%`T``%$`ZS60C70F`(M1%`T` -M`%(`ZR:-M@````"+410-```4`.L6BU$4#0``$`"-M"8`````C;PG`````(-Y -M$`!U"H'"!(```._K$9")@@2```#K"+@`````ZP:0N`$```!;7<.0C;0F```` -M`%6)Y8/L#,=$)`@*````QT0D!`@```"+10B)!"3HWP4``(GL7<.-="8`C;PG -M`````%6)Y8/L%(E=_(M=",=$)`P`````QT0D"`$```#'1"0$`@```(D<).C\ -M____N@````"%P'1;QT0D""!.``#'1"0$#P```(D<).B#!0``N@````"%P'0Z -MQP0DZ`,``.C\____QT0D""!.``#'1"0$'P```(D<).A6!0``QP0D-`@``.C\ -M____N@$```"0C70F`(G0BUW\B>Q=PXVT)@````!5B>6#[!R)7?2)=?B)??R+ -M70B+=0S'1"0,`````,=$)`@!````QT0D!`(```")'"3H_/___[H`````A<`/ -MA-X```"+2Q"+4Q2_!)@``+@`````A?9T"_9&`A!T!;@!````A!```B<*-M@````"-OP`` -M``")T(M=](MU^(M]_(GL7<.058GE5U93@^P@BW4(BUX0BTX4OVB```"%VW4) -MC9%H@```[>L&BX%H@```@\A@A=MU!HT4#^_K`XD$#XM&%(-^$`!U#8V0)(`` -M`.WK"HUT)@"+@"2```")1?"+5A0E__]__X-^$`!U"8'")(```._K!HF")(`` -M`,<$)*`/``#H_/___XM>$(M.%+\(F```A=MU#XV1")@``.WK#(VV`````(N! -M")@```T````(A=MU!HT4#^_K`XD$#\<$)`H```#H_/___XM%#(E$)`2)-"3H -M_0L``+H`````A<`/A!`#``#'!"3H`P``Z/S___^+7A"+3A2_")@``(7;=0F- -MD0B8``#MZP:+@0B8```E____]X7;=0V-%`_OZPJ-M"8`````B00/BT84@WX0 -M`'4)C9!8F```[>L&BX!8F```B47LBT84@WX0`'4)C9!L&BX!L+D(UT)@"+@&B8``")1>2+5A2+1>P-``#\ -M`X-^$`!U"8'"6)@``._K!HF"6)@``(M6%(M%Z"5_`,#_#8#`/P"#?A``=0F! -MPER8``#OZP:)@ER8``"+5A2+1>0E'P#^_PV`$0``@WX0`'4,@<)HF```[^L) -MC78`B8)HF```QP0D%````.C\____BUX0BTX4OPB8``"%VW4/C9$(F```[>L, -MC;8`````BX$(F```#0````B%VW4&C10/[^L#B00/QP0D"@```.C\____BT84 -M@WX0`'43C9#4F```N"$```#OZP^0C70F`,>`U)@``"$```"+7A"+3A2_")@` -M`(7;=0F-D0B8``#MZP:+@0B8```E____]X7;=0:-%`_OZP.)!`_'!"3H`P`` -MZ/S___^+7A"+3A2_8)@``(7;=0N-D6"8``#MZPB)]HN!8)@``(/(`87;=0:- -M%`_OZP.)!`_'1"0,`````,=$)`@!````QT0D!&"8``")-"3H_/___XM6%(M% -M[(-^$`!U#H'"6)@``._K"Y"-="8`B8)8F```BU84BT7H@WX0`'4.@<)2#?A``=0Z!PFB8``#OZPN0C70F`(F":)@` -M`(M5#(E4)`2)-"3H_/___X7`=3?'!"2($P``Z/S___^+10R)1"0$B30DZ/S_ -M__^%P'48BU4,#[="`H/(`F:)0@*-=@"-O"<`````BUX0BTX4OVB```"%VW4) -MC9%H@```[>L&BX%H@```@^"?A=MU"XT4#^_K")"-="8`B00/BU84BT7P@WX0 -M`'4)@<(D@```[^L&B8(D@```N@$```"-M@````"-O"<`````B="#Q"!;7E]= -MPXVV`````%6)Y5=64X/L$(M]"(M=#(7;#Y7`#[;`2(G>"<:+5Q2)V(-_$`!U -M"8'"`$```._K!HF:`$```(M%$(D$).C\____@^,/B5PD#(GP@^`/B40D",=$ -M)`0`0```B3PDZ/S___^)P?;#!'4HBT<4@W\0`'4/C5`4N`````#OZQ2-="8` -MQT`4`````(GVC;PG`````(G(@\006UY?7<.-M@````!5B>564X/L!(M-#`^V -M11"(1?>[`````+H*````#[;`C7`!C;0F`````(V\)P````"-!!($`SA%]W4, -M@#P*/P^%@@```.M*C002!`,/ML`YQG5%A=)^08`\"C]T-(!\$?\_="T/MAP* -M#[9,$?\IRVG;7@$``('#YP,``+K336(0B=CWXL'J!HT<$0^VP^M-B?:[`0`` -M`.L9@_L!=12`/`H_=22-M"8`````C;PG`````$H/B7G___^Z`````(UT)@"` -M/`H_=`H/M@0*ZP^-="8`0H/Z"G[JN`$```"#Q`1;7EW#C;0F`````(V\)P`` -M``!5B>575E.#[`2+70P/ME40O_____^^_____[D`````D(`\&3]T&CH4&71% -M.A09=@*)SCH4&7,)B<^#_O]U"NLP08/Y"G[:ZPB#^0I^-(UV`+@_````@_[_ -M='V#^0I^(HT$-@0#BTT4B`$/MD0>"^MGC00)!`.+512(`@^V1!D+ZU:)\`'X -M!`.+312(`0^VR@^V!!XIP6G)Z`,```^V%!\IPHE5\(G(F?=]\(G!#[9$'PL/ -MME0>"RG0#Z_(@<'G`P``NM--8A")R/?BP>H&#[9$'@L`T`^VP(/$!%M>7UW# -MD%6)Y5=64X/L&(M5#(M]"`^WAX8"``#!Z`0D!XM-$(A!#P^VAX8"```D!XA! -M$`^W`BTR%```N0````!F/98`#X?V`@``NP`````/MH>(`@``.H0?CP(``'0& -M0X/[`W;QN0````"#^P0/A,T"```/MPJ!Z3(4``"Z9V9F9HG(]^K!^@*)R,'X -M'XG1*<&#^0MV`4FZJZJJJHG(]^*)T='IC03-`````"G(C02!C;0XDP(```^V -M1#,9BU40B$(.#[9&%CI$,QEV!0^V1#,9BTT0B$$)#[9&%SI$,QEV!0^V1#,9 -MBU40B$((#[9&&#I$,QEV!0^V1#,9BTT0B$$'C47SB40D#`^V1#,9B40D"(ET -M)`2+10B)!"3H!O[__XC#C47RB40D#(M5$`^V0@F)1"0(B70D!(M-"(D,).CC -M_?__B$7NC47QB40D#(M5$`^V0@B)1"0(B70D!(M-"(D,).B__?__B$7MC47P -MB40D#(M5$`^V0@>)1"0(B70D!(M-"(D,).B;_?__B,)F@[]\`P````^$70$` -M``^WAWP#``"#^`)T'H/X`G\'@_@!=`[K(H/X`W03@_@$=!3K%H!M\P/K$(!M -M\P;K"H!M\PGK!,9%\P,/MD7SB40D"(ET)`2+10B)!"3H2OS__XM5$(A"#HU% -M[XE$)`P/MD(.B40D"(ET)`2+30B)#"3H%OW__XC##[9%\SI%\G8$#[9%\HA% -M\@^VP(E$)`B)="0$BT4(B00DZ/[[__^+51"(0@F-1>^)1"0,#[9""8E$)`B) -M="0$BTT(B0PDZ,K\__^(1>X/MD7S.D7Q=@0/MD7QB$7Q#[;`B40D"(ET)`2+ -M10B)!"3HL?O__XM5$(A""(U%[XE$)`P/MD((B40D"(ET)`2+30B)#"3H??S_ -M_XA%[0^V1?,Z1?!V!`^V1?"(1?`/ML")1"0(B70D!(M%"(D$).AD^___BU40 -MB$('C47OB40D#`^V0@>)1"0(B70D!(M-"(D,).@P_/__B,(/MD7SB8=X`P`` -MBTT0#[9!#HA!"HA!"XA!#(A!#8C8*-"(`8C8*D7MB$$!B-@J1>Z(00+&008` -MQD$%`,9!!`#&00,`N0$```")R(/$&%M>7UW#C;8`````C;\`````58GE5U93 -M@^Q\C7V$OLP:``#\N1$```#SI<=$)`@1````C5W4B5PD!,<$)+@:``#H_/__ -M_XE<)`B+10R)1"0$BT4(B00DZ&;\__^Z`````(7`#X2I`@``#[9%X_[(N@`` -M```\!`^'E@(```^V1>3^R+H`````/`0/AX,"``"[`````(VT)@````"-O"<` -M````QT0D!`4````/MD0KU(D$).C\____B$0KU(U#`0^WV&:#^P9VV[L'```` -MC;8`````QT0D!`8````/MD0KU(D$).C\____B$0KU(U#`0^WV&:#^PYVVP^V -M1=7!X`4EX`````^V5=2#XA\)T`E%A`^V5=?!X@>!XH`````/MD76P>`"@^!\ -M"<(/MD75P.@#@^`#"<()58@/ME78P>($@>+P````#[9%U]#H@^`/"<()58P/ -MME7:P>(&@>+`````#[9%V0'`@^`^"<(/MD78P.@$@^`!"<()59`/ME7;P>(# -M@>+X````#[9%VL#H`H/@!PG""564#[95W<'B!X'B@`````^V1=P!P(/@?@G" -M#[9%V\#H!8/@`0G""568#[95WL'B!8'BX`````^V1=W0Z(/@'PG""56<#[95 -MW\'B`X'B^`````^V1=[`Z`.#X`<)P@E5H`^V5>`!TH/B?@^V1=_`Z`6#X`$) -MP@E5I`^V1>'!X`4EX`````E%J`^V5>+!X@.!XO@````/MD7AP.@#@^`'"<() -M5:P/MD7BP.@%@^`!"46PQT0D!`,````/MD7CB00DZ/S____!X`B#X`,)1:C'1"0$`P````^V1>2)!"3H -M_/___\'@`H/@'`E%J+L`````N9R8``"-M@````"-O"<`````BW4(BU84BT2= -MA(-^$`!U$('"G)@``._K"HVT)@````")!!&-0P$/M]AF@_L/=M&+10B+4!2+ -M1)V$BTT(@WD0`'4)@<+4F```[^L&B8+4F```N@$```"-=@"-O"<`````B="# -MQ'Q;7E]=PXVV`````%6)Y8/L%(E=](EU^(E]_(M="(MU#(G?B70D!(D<).C\ -M____N@````"%P`^$@````,=$)`0%````#[<&C8@`[/__NF=F9F:)R/?JP?H" -MBQ``=0F!PIR8``#OZP:)@IR8``"+ -M0Q2#>Q``=0Z-D,"8``"X`````._K"L>`P)@```````"+!HF'-`,``+H!```` -MB?:-O"<`````B="+7?2+=?B+??R)[%W#D%6)Y5=64X/L$(MU"(M>$(M.%+]@ -MF```A=MU"8V18)@``.WK!HN!8)@``(/(`H7;=0:-%`_OZP.)!`_'1"0,```` -M`,=$)`@"````QT0D!&"8``")-"3H_/___[D`````A+_ -M`0``]L0!=`:!\@#^__]#@_L4?P>#^KA_O.L*N0````"#^KA_!;D!````B6X`````%W#C;8`````58GE7<.0D)"0D)"0D)"0D%6)Y5.+ -M50R+70B#^@%T$8/Z`7(3N0$```"#^@-V$NL'N0````#K";C_____ZR^)]HG( -MP>`$`=B)D$`#``#'@$0#````````QX!(`P```````,>`3`,```````")R%M= -MPU6)Y8M%#(M5"+D`````@_@!=RW!X`2-A!!``P``@S@`=0ZY`````.L7C;0F -M`````,<``````+D!````D(UT)@")R%W#C;8`````C;\`````58GE@^P8B5WT -MB77XB7W\BUT(BT4,B=Z-BS0#``"Z`````(/X`0^'-0,``,'@!(V\&$`#``"# -M/P!U"KH`````Z1P#``"#/P$/A0,#``"#NV`#````=13'@W0#```"````QX-L -M`P``#P```(N&=`,```-'!(E%\/9!`A`/A!0!``"+0Q2#>Q``=0Z-D!"```"X -MX`$``._K"L>`$(```.`!``"+0Q2#>Q``=0Z-D!2```"X``@`"._K"L>`%(`` -M```(``B+0Q2#>Q``=0Z-D""```"XSX_=`>_K"L>`((```,^/W0&+4Q2+1?#! -MX`0K1?#!X!"-@```#P`-X`$``(-[$`!U"8'"0(```._K!HF"0(```(M#%(-[ -M$`!U#HV01(```+C``ZX%[^L*QX!$@```P`.N!8M#$(E%[(M+%(-][`!U"8V1 -M1)@``.WK!HN!1)@``(/@@(/(.(-][`!U"8V11)@``._K!HF!1)@``(M#%(-[ -M$`!U$(V0!)@``+@C(`!OZ0X!``#'@`28```C(`!OZ0P!``"+0Q2#>Q``=0Z- -MD!"```"X:`$``._K"L>`$(```&@!``"+0Q2#>Q``=0Z-D!2```"X``0`!._K -M"L>`%(`````$``2+0Q2#>Q``=0Z-D""```"XIX_=`>_K"L>`((```*>/W0&+ -M4Q2+1?!IP&@!```%,`(``,'@"PTP`@``@WL0`'4)@<)`@```[^L&B8)`@``` -MBT,4@WL0`'4.C9!$@```N)@#UP3OZPK'@$2```"8`]<$BT,0B47HBTL4@WWH -M`'4)C9%$F```[>L&BX%$F```@^"`@\@<@WWH`'4)C9%$F```[^L&B8%$F``` -MBT,4@WL0`'4.C9`$F```N"`0`&_OZPK'@`28```@$`!ON`$````[AFP#``!S -M'(N6;`,``(VV`````(V\)P`````!P(/(`3G0#?P@`>0F+3PCWV=/HZPH/ -MMD\(C4`!T^!(@[YD`P```'04BY9P`P``@_H/=@6Z#P```(G6ZPJZ"@```+X* -M````BWL4B<'!X12)T,'@!"7P````"<&)\(/@#PG!@Q``=0:#P@3OZPV) -M0@3K"+@`````ZQ&0N`$```"-="8`C;PG`````%M=PXVV`````(V\)P````!5 -MB>6#[!")7?B)=?R+70B)'"3H_/___XG&)?___W^)1"0$B1PDZ/S___^+0Q2# -M>Q``=0V-D&2```#MZPJ-="8`BX!D@```B<*#?0P`=!*X)0```"G0T>@!PNLE -MD(UT)@"#^`%V`TKK&(ET)`2)'"3H_/___[@`````ZS"0C70F`(M+%(G0@WL0 -M`'4)C9%D@```[^L&B9%D@```B70D!(D<).C\____N`$```"+7?B+=?R)[%W# -MC70F`(V\)P````!5B>53BUT(BT4,N0````"#^`$/A[@```#!X`2+A!A``P`` -M@_@!=!F#^`$/@I````"#^`)T7H/X`W0BZ8$```"0BT,4@WL0`'4*C5`(N`$` -M``#K7<=`"`$```#K:XM#%(-[$`!U"XU0"+@"````[^L'QT`(`@```(M#%(-[ -M$`!U"HU0*+@.````ZR;'0"@.````ZS2+0Q2#>Q``=1>-4"BX"@```(VV```` -M`(V_`````._K%,=`*`H```#K"XUT)@"Y`````.L)N0$```"-="8`BQ``=0N- -M4`BX"````._K!\=`"`@```"^`````+\4````C70F`(V\)P````"+0Q2#>Q`` -M=0>-4!3MZP20BP0']L1X=!7'!"0*````Z/S___]&@?[G`P``?M.+0Q2#>Q`` -M=0N-4`BX`````._K!\=`"`````"!_N<#```/GL`/ML#K*L=$)`P`````QT0D -M"`0```#'1"0$+````(D<).C\____ZPBX`````(UV`(M=](MU^(M]_(GL7<.- -M=@!5B>6X`````%W#C;8`````58GE@^P,B1PDB70D!(E\)`B+51B+?2B+=3"+ -M30R#?20`=0VX`````.FK````C78`@_H"=A"X`````(/Z!`^'E0```.L+B=/! -MXQKK"8UT)@"[````#(M%$"7_#P``BU4@P>(2"="+513!X@R!X@#P`P`)T`G8 -M]\8!````=`4-`````8G"@WTL`'0&@6+30R)RO9!%`%U"K@/```` -MZ8D````/MT$4)?X?``!FB4$@#[=!$F:)02+&020`BT$0J`%U**@"=`3&020! -M]D(0"'0$@$DD`O9"$`1T$(!))`2-M@````"-OP````"+0@@E```\`,'H$HA! -M)8M"%"4`X!\`P>@-B$$FBT(0)?````#!Z`2(02>+0A`E``\``,'H"(A!*,9! -M*@"X`````%W#D)"0D)"0D)"0D)"0D%6)Y5=64X/L"(MU"(M&%(-^$`!U#HV0 -MT)@``+@6'```[^L*QX#0F```%AP``+D`````OX"8``"[```!`(UT)@"+1A2# -M?A``=0N-D("8``")V._K`XDH8B=#!Z`2#X@_!X@0)PL=$)`0(````B10DZ/S___^#Q`A;7E]= -MPY!5B>575E.#[!P/MT4(B47HQP0DZ`P``.C\____B47DA2)W[X@&P``N(`"``#V1>0$=!>A(!L``(D#BWWD@\<$OB0;``"X -M?`(``/R)P<'I`O.EBU7H9HE3"&;'0PH``(M%#(E##(M%$(E#$(M%%(E#%(M- -MY,>!M`P```````#'@<@,````````QX&@#````````,>!S`P```H```#'@9P, -M````````QX'0#```"@```,>!L`P```(```#'@<`,````````QT0D!`````") -M'"3H_/___X7`=0S'1>P#````Z8H$``!F@7L(&_%U4HM#%(-[$`!U#HV0`*(` -M`+@`````[^L*QX``H@```````(M#%(-[$`!U#HV0?)@``+@9````[^L*QX!\ -MF```&0```,<$).@#``#H_/___XUT)@"+0Q2#>Q``=0N-D"!```#MB<'K!HN( -M($````^VP<'H!(F#7`$``(G*@^(/9HF38`$``(/H`H/X`@^'X@(``(M#%(-[ -M$`!U"8V0&)@``.WK!HN`&)@``&:)@V(!``")'"3H&P0``(7`=0S'1>P.```` -MZ;L#``"#NUP!```#=B*+0Q2#>Q``=0V-D`"8``"X!P```.L@QX``F```!P`` -M`.LPBT,4@WL0`'4.C9``F```N$<```#OZQG'@`"8``!'````ZPV0D)"0D)"0 -MD)"0D)"0QP0DT`<``.C\____B1PDZ"S]__]FB8-D`0``#[?`)?````"#^!`/ -MA20"``"-1?*)1"0(QT0D!,$```")'"3H_/___X7`#X0)`P``9H%]\O\O=PS' -M1>P%````Z0$#```/MT7RBU7D9HF"@`(``(M#%(-[$`!U"8V0$$```.WK!HN` -M$$```(/@&,'H`X/X`G0,QT7L"@```.G$`@``C47RB40D",=$)`0_````B1PD -MZ/S___^%P`^$F0(```^W1?*+3>1FB8&"`@``OP````"^`````(U%\HE$)`B- -MAL````")1"0$B1PDZ/S___^%P`^$8`(```^W1?(QQT:!_C\#``!VT('___\` -M`'0,QT7L!P```.E)`@``BU7D9L>"R@,```H`9L>"U`4```,`O@````"-!':- -M!(:+3>1FQX2!T@,```L`1H/^"7;GO@````"ZH!T```^W!'*+3>1FB81QW`4` -M`&:)A''6!0``C01VC02&C02!9L>`A`8```L`9L>`Z`4```L`1H/^`G;(QT0D -M"`````")R`6``@``B40D!(D<).C\____A<`/A*4!``"#NUP!```##X:@```` -MBT7D9H.XF`(````/A(\```"+0Q2#>Q``=0Z-D`"8``"X!T```._K"L>``)@` -M``=```#'!"30!P``Z/S___^)'"3H/OO__V:)@V8!``"+0Q2#>Q``=0Z-D`"8 -M``"X!P```._K"L>``)@```<```#'!"30!P``Z/S___\/MX-F`0``)?````"# -M^"!T(8GVC;PG`````,=%[`T```#I!`$``(M5Y&;'@I@"`````(U%\HE$)`C' -M1"0$OP```(D<).C\____A<`/A,T````/MT7RBTWD9HF!A`(``&:#^`%U%XU% -M[(E$)`C'1"0$$````(D<).C\____B1PDZ/S___^_`````+X`````C47RB40D -M"+@?````*?")1"0$B1PDZ/S___^%P'1R#[=%\@''P>@(BU7DB(1RY`L```^V -M1?*(A'+E"P``1H/^`G:^A?]T"('__?\"`'4)QT7L"0```.M%BX-<`0``B4,< -M#[>#8`$``&:)0R`/MX-B`0``9HE#(@^W@V0!``!FB4,D#[>#9@$``&:)0R:) -MV.LPQT7L"````)"-="8`@WWD`'0+BTWDB0PDZ/S___^#?1@`=`B+1>R+51B) -M`K@`````@\0<6UY?7<.-="8`58GE@^P$BT4(B00DZ/S___^)[%W#C70F`(V\ -M)P````!5B>575E.#[#B+?0C'1=P`@```QT7@()@``,=%Y%55557'1>BJJJJJ -MQT7L9F9F9L=%\)F9F9G'1=``````BT70P>`"BW0%W(G#BT\4@W\0`'4&C10. -M[>L#BP0.B40=U+L`````B77,B?:-O"<`````B=C!X!`)V(E%Q(M7%(E%P(-_ -M$`!U"@'R[^L.D(UT)@"+3<"+12)3<2+5Q2#?Q``=06+51"+310/MT4,]L0! -M=`YFQP(X$V;'`=07ZR*)]H3`>2.+10AF@[B8`@```'069L<""`EFQP&L"I"- -M="8`N`$```#K!;@`````7<.0D%6)Y5=64X/L"(M="(M-#(M]$(MU%(E=\(M3 -M%(GX@WL0`'4-@<(H@```[^L*C70F`(FZ*(```('F__\``(/Y`70?@_D!FC````C78`BU,4B?@K!0````#!X`.#>Q``=0R!PBR```#OZPF- -M=@")@BR```"+0Q2#>Q``=1&-D#"```"X__\'`._K#8UV`,>`,(```/__!P"! -MS@``@`#K3HM3%(GX*P4`````P>`#@WL0`'4)@<(L@```[^L&B8(L@```BU,4 -MB?@K!0````#!X`.#>Q``=0F!PC"```#OZP:)@C"```"!S@``@`&)]HM+$(M# -M%(E%[(M5\(.ZG`P```!T"XGX`X*<#```ZP20C4P`^VP(/$"%M>7<.-="8`58GEBTT(BT$4 -M@WD0`'41C9`H@```N`````#OZPV-=@#'@"B`````````BT$4@WD0`'4-C9`$ -M@```[>L*C70F`(N`!(````T```0`BU$4)?__S_^#>1``=0F!P@2```#OZP:) -M@@2```"+012#>1``=0^-D""```"X__\``._K"Y#'@""```#__P``7<.-="8` -M58GE5U93BW4(BT4,@'@+``^$N@```(M>$(M.%+\$@```A=MU"XV1!(```.WK -M"(GVBX$$@```#0``$`"%VW4&C10/[^L#B00/BU4,#[9""P^V4@H/K\*+30P/ -MMU$(BTX4#Z_"@WX0`'4)C9$D@```[^L&B8$D@```BU84BTT,#[=!#(-^$`!U -M"8'".(```._K!HF".(```(M5#`^V0@H/KT48`T44#[=2"`^OPHM6%`-%$,'@ -M`X-^$`!U"('",(```.LWB8(P@```ZT60C70F`(M>$(M.%+\$@```A=MU"8V1 -M!(```.WK!HN!!(```"7__^__A=MU"8T4#^_K$XUV`(D$#XVV`````(V\)P`` -M``"+5A2+30R+`8-^$`!U"8'"*(```._K!HF"*(```(M^$(M>%(7_=0F-DR"` -M``#MZP:+@R"```")PH'B``"`_XM-#`^W00B)T0G!BT4,9H-X$`!T$0^W0!"# -MP`3!X!`E``!_``G!A?]U"XV3((```(G([^L&B8L@@```BWX0BUX4A?]U#8V3 -M&(```.WK"HUT)@"+@QB```")P8'A_P#__XM5#`^W0A3!X`@E`/\```G!A?]U -M#8V3&(```(G([^L(B?:)BQB```"+?A"+7A2^!$```(7_=0N-DP1```#MZPB) -M]HN#!$```(G!@>$``/__BU4,#[="$HT$Q>C___\E__\```G!A?]U"8T4'HG( -M[^L$D(D,'EM>7UW#D)"0D)"0D)!5B>6+10B+4!2#>!``=0F!P@A```#MZP:+ -M@@A```"%P`^5P`^VP%W#D(VT)@````!5B>6+10B+30R+4!2#>!``=0Z!PL`` -M``#MZPN0C70F`(N"P````(G"@_C_=1/'`0````"X`````.L_C;8`````);K8 -M!0&)`??"```(`'0'#0```$")`?;"!70#@PD!]\)``0``=`.#"4#VPB!T!H$) -M````0+@!````7<.0C70F`%6)Y8M%"(N`\`L``%W#B?95B>6#[`R)'"2)="0$ -MB7PD"(M="(M-#(G?B[/P"P``A?9Y/8M#%(-[$`!U"XU0)+@`````[^L'QT`D -M`````(M#%(-[$`!U"8U0).WK$XUV`(M`)(VV`````(V\)P````")R"6ZV`4! -M]L%`=`4-P`$``/;!`70#@\@']\$```!`=`4-```(`(M3%(-[$`!U"8'"H``` -M`._K!HF"H````(F/\`L``(7)>2B+0Q2#>Q``=0^-4"2X`0```._K%(UT)@#' -M0"0!````B?:-O"<`````B?"+'"2+="0$BWPD"(GL7<.0D)"0D)"0D)"0D)"0 -MD)!5B>6X@````%W#C;8`````58GEBTT(#[=%#&:#^']W*(M1%,'@!0453BUT(#[=-#+@`````9H/Y?P^'"@$``(M3%(G(P>`%!0"( -M``"#>Q``=0H!PK@`````[^L'QP00`````(M3%(G(P>`%!02(``"#>Q``=0\! -MPK@`````[^L,D(UT)@#'!!``````BU,4BQ``=0H!PK@`````[^L'QP00`````(M3%(G(P>`%!1R( -M``"#>Q``=0H!PK@`````[^L'QP00`````+@!````6UW#B?:-O"<`````58GE -M@^P,B1PDB70D!(E\)`B+51`/MW4,N`````!F@_Y_#X>A````A=)T.`^V6@7! -MXP@/MD($"<,/MDH#P>$8#[9"`L'@$`G!#[9"`<'@"`G!#[8""<'1Z8G8P>`? -M"<'1Z^L-NP````"Y`````(UV`(M%"(MX%(GPP>`%C9`8B```B1`` -M=0:-%#KOZP.)!#J+10B+2!2)\,'@!8V0'(@``(G8#0"```"+70B#>Q``=0J- -M%`KOZP>-="8`B00*N`$```"+'"2+="0$BWPD"(GL7<.)]HV\)P````!5B>57 -M5E.#[!R+71`/MT4,B47P@WT8``^4P`^VR$F!X:JJJJJX`````&:#??!_#X?L -M`0``@SL$?PJX`````.G=`0``#[9S!`^V0P7!X`@)Q@^V0P;!X!`)Q@^V0P?! -MX!@)QC'.#[9#"<'@"`^V4P@)PHE5[#%-[(%E[/__```/MD,*B47H#[9#"\'@ -M"`E%Z`^V0PS!X!`)1>@/MD,-P>`8"47H,4WH#[9##\'@"`^V4PX)PHE5Y#%- -MY(%EY/__```/MGL0#[9#$<'@"`G'#[9#$L'@$`G'#[9#$\'@&`G',<^#.PU_ -M!H'G_P```(,[!7\'NP````#K&(,[#7\'NP$```#K#+L#````C;0F`````(M% -M"(M(%(M%\,'@!8V0`(@``(GPBW4(@WX0`'4&C10*[^L#B00*BT4(BT@4BT7P -MP>`%C9`$B```BT7LBW4(@WX0`'4,C10*[^L)C;8`````B00*BT4(BT@4BT7P -MP>`%C9`(B```BT7HBW4(@WX0`'4&C10*[^L#B00*BT4(BT@4BT7PP>`%C9`, -MB```BT7DBW4(@WX0`'4(C10*[^L%B?:)!`J+10B+2!2+1?#!X`6-D!"(``") -M^(MU"(-^$`!U!HT4"N_K`XD\"HM%"(M(%(M%\,'@!8V0%(@``(G8BUT(@WL0 -M`'4*C10*[^L'C70F`(D$"HM%%(E$)`B+=?")="0$BT4(B00DZ/S___^-="8` -M@\0<6UY?7<.0D)"0D)"0D%6)Y8/L#,=$)`@&````BT4(!>0+``")1"0$BT4, -MB00DZ/S___^)[%W#C;0F`````%6)Y8/L%(E=_(M="(M3%(M%#(-[$`!U"8'" -M`&```._K!HF"`&```(M#%(-[$`!U$(V0"&```+@!````[^L,B?;'@`A@```! -M````QT0D#`(```#'1"0(`P```,=$)`0,8```B1PDZ/S___^Z`````(7`="6+ -M0Q2#>Q``=0N-D`1@``#MB<+K!HN0!&```(M%$&:)$+H!````B="+7?R)[%W# -MZPV0D)"0D)"0D)"0D)"058GEBTT0#[=%#(M5"&8Y@H0"``!U"K@,````ZQ>- >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 28 23:22:24 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9905D16A4D0; Fri, 28 Nov 2003 23:22:24 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E1BA16A4CE for ; Fri, 28 Nov 2003 23:22:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2E7A43FB1 for ; Fri, 28 Nov 2003 23:22:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAT7MNXJ089084 for ; Fri, 28 Nov 2003 23:22:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAT7MNMe089081 for perforce@freebsd.org; Fri, 28 Nov 2003 23:22:23 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 28 Nov 2003 23:22:23 -0800 (PST) Message-Id: <200311290722.hAT7MNMe089081@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 Subject: PERFORCE change 43149 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 07:22:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=43149 Change 43149 by sam@sam_ebb on 2003/11/28 23:21:51 must include mbuf.h for PACKET_* definitions since ip_var.h references one in an inline function Affected files ... .. //depot/projects/netperf/sys/netinet/tcp_debug.c#2 edit Differences ... ==== //depot/projects/netperf/sys/netinet/tcp_debug.c#2 (text+ko) ==== @@ -53,6 +53,7 @@ #include #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Fri Nov 28 23:41:52 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89AB116A4D0; Fri, 28 Nov 2003 23:41:52 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 63F0B16A4CE for ; Fri, 28 Nov 2003 23:41:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E29D943FA3 for ; Fri, 28 Nov 2003 23:41:47 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAT7flXJ089712 for ; Fri, 28 Nov 2003 23:41:47 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAT7flSU089709 for perforce@freebsd.org; Fri, 28 Nov 2003 23:41:47 -0800 (PST) (envelope-from sam@freebsd.org) Date: Fri, 28 Nov 2003 23:41:47 -0800 (PST) Message-Id: <200311290741.hAT7flSU089709@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 Subject: PERFORCE change 43150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 07:41:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=43150 Change 43150 by sam@sam_ebb on 2003/11/28 23:40:48 eliminate widespread on-stack mbuf use for bpf by introducing a new bpf_mtap2 routine that does the right thing for an mbuf and a variable-length chunk of data that should be prepended while we're at it cleanup some places where int is assumed to be 4 bytes (when prepending the address family) return M_ASSERTVALID to BPF_MTAP* now that all stack-allocate mbufs have been eliminated Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#42 edit .. //depot/projects/netperf/sys/dev/iicbus/if_ic.c#4 edit .. //depot/projects/netperf/sys/dev/ppbus/if_plip.c#4 edit .. //depot/projects/netperf/sys/dev/wi/if_wi.c#16 edit .. //depot/projects/netperf/sys/net/bpf.c#10 edit .. //depot/projects/netperf/sys/net/bpf.h#4 edit .. //depot/projects/netperf/sys/net/if_disc.c#6 edit .. //depot/projects/netperf/sys/net/if_ef.c#6 edit .. //depot/projects/netperf/sys/net/if_faith.c#9 edit .. //depot/projects/netperf/sys/net/if_gif.c#3 edit .. //depot/projects/netperf/sys/net/if_gre.c#4 edit .. //depot/projects/netperf/sys/net/if_loop.c#15 edit .. //depot/projects/netperf/sys/net/if_stf.c#6 edit .. //depot/projects/netperf/sys/net/if_tun.c#6 edit .. //depot/projects/netperf/sys/netgraph/ng_iface.c#3 edit .. //depot/projects/netperf/sys/netinet/ip_gre.c#2 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#42 (text+ko) ==== @@ -777,20 +777,10 @@ bpf_mtap(ic->ic_rawbpf, m); if (sc->sc_drvbpf) { - struct mbuf *mb; - - MGETHDR(mb, M_DONTWAIT, m->m_type); - if (mb != NULL) { - sc->sc_tx_th.wt_rate = - ni->ni_rates.rs_rates[ni->ni_txrate]; - - mb->m_next = m; - mb->m_data = (caddr_t)&sc->sc_tx_th; - mb->m_len = sizeof(sc->sc_tx_th); - mb->m_pkthdr.len += mb->m_len; - bpf_mtap(sc->sc_drvbpf, mb); - m_free(mb); - } + sc->sc_tx_th.wt_rate = + ni->ni_rates.rs_rates[ni->ni_txrate]; + bpf_mtap2(sc->sc_drvbpf, + &sc->sc_tx_th, sizeof(sc->sc_tx_th), m); } if (ath_tx_start(sc, ni, bf, m)) { @@ -1711,27 +1701,14 @@ m->m_pkthdr.len = m->m_len = len; if (sc->sc_drvbpf) { - struct mbuf *mb; + sc->sc_rx_th.wr_rate = + sc->sc_hwmap[ds->ds_rxstat.rs_rate]; + sc->sc_rx_th.wr_antsignal = ds->ds_rxstat.rs_rssi; + sc->sc_rx_th.wr_antenna = ds->ds_rxstat.rs_antenna; + /* XXX TSF */ - /* XXX pre-allocate space when setting up recv's */ - MGETHDR(mb, M_DONTWAIT, m->m_type); - if (mb != NULL) { - sc->sc_rx_th.wr_rate = - sc->sc_hwmap[ds->ds_rxstat.rs_rate]; - sc->sc_rx_th.wr_antsignal = - ds->ds_rxstat.rs_rssi; - sc->sc_rx_th.wr_antenna = - ds->ds_rxstat.rs_antenna; - /* XXX TSF */ - - (void) m_dup_pkthdr(mb, m, M_DONTWAIT); - mb->m_next = m; - mb->m_data = (caddr_t)&sc->sc_rx_th; - mb->m_len = sizeof(sc->sc_rx_th); - mb->m_pkthdr.len += mb->m_len; - bpf_mtap(sc->sc_drvbpf, mb); - m_free(mb); - } + bpf_mtap2(sc->sc_drvbpf, + &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); } m_adj(m, -IEEE80211_CRC_LEN); ==== //depot/projects/netperf/sys/dev/iicbus/if_ic.c#4 (text+ko) ==== @@ -66,7 +66,7 @@ #define PCF_MASTER_ADDRESS 0xaa -#define ICHDRLEN sizeof(u_int) +#define ICHDRLEN sizeof(u_int32_t) #define ICMTU 1500 /* default mtu */ struct ic_softc { @@ -369,7 +369,7 @@ int s, len, sent; struct mbuf *mm; u_char *cp; - u_int hdr = dst->sa_family; + u_int32_t hdr = dst->sa_family; ifp->if_flags |= IFF_RUNNING; @@ -400,23 +400,7 @@ } while ((mm = mm->m_next)); - if (ifp->if_bpf) { - struct mbuf m0, *n = m; - - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). - */ - m0.m_next = m; - m0.m_len = sizeof(u_int); - m0.m_data = (char *)&hdr; - n = &m0; - - BPF_MTAP(ifp, n); - } + BPF_MTAP2(ifp, &hdr, sizeof(hdr), m); sc->ic_sending = 1; ==== //depot/projects/netperf/sys/dev/ppbus/if_plip.c#4 (text+ko) ==== @@ -445,19 +445,8 @@ static void lptap(struct ifnet *ifp, struct mbuf *m) { - /* - * Send a packet through bpf. We need to prepend the address family - * as a four byte field. Cons up a dummy header to pacify bpf. This - * is safe because bpf will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer to it). - */ u_int32_t af = AF_INET; - struct mbuf m0; - - m0.m_next = m; - m0.m_len = sizeof(u_int32_t); - m0.m_data = (char *)⁡ - BPF_MTAP(ifp, &m0); + BPF_MTAP2(ifp, &af, sizeof(af), m); } static void ==== //depot/projects/netperf/sys/dev/wi/if_wi.c#16 (text+ko) ==== @@ -979,17 +979,8 @@ } #if NBPFILTER > 0 if (sc->sc_drvbpf) { - struct mbuf *mb; - - MGETHDR(mb, M_DONTWAIT, m0->m_type); - if (mb != NULL) { - mb->m_next = m0; - mb->m_data = (caddr_t)&sc->sc_tx_th; - mb->m_len = sizeof(sc->sc_tx_th); - mb->m_pkthdr.len += mb->m_len; - bpf_mtap(sc->sc_drvbpf, mb); - m_free(mb); - } + bpf_mtap2(sc->sc_drvbpf, + &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); } #endif m_copydata(m0, 0, sizeof(struct ieee80211_frame), @@ -1531,29 +1522,17 @@ #if NBPFILTER > 0 if (sc->sc_drvbpf) { - struct mbuf *mb; - - /* XXX pre-allocate space when setting up recv's */ - MGETHDR(mb, M_DONTWAIT, m->m_type); - if (mb != NULL) { - /* XXX replace divide by table */ - sc->sc_rx_th.wr_rate = frmhdr.wi_rx_rate / 5; - sc->sc_rx_th.wr_antsignal = - WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_signal); - sc->sc_rx_th.wr_antnoise = - WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_silence); - sc->sc_rx_th.wr_time = - htole32((frmhdr.wi_rx_tstamp1 << 16) | - frmhdr.wi_rx_tstamp0); - - (void) m_dup_pkthdr(mb, m, M_DONTWAIT); - mb->m_next = m; - mb->m_data = (caddr_t)&sc->sc_rx_th; - mb->m_len = sizeof(sc->sc_rx_th); - mb->m_pkthdr.len += mb->m_len; - bpf_mtap(sc->sc_drvbpf, mb); - m_free(mb); - } + /* XXX replace divide by table */ + sc->sc_rx_th.wr_rate = frmhdr.wi_rx_rate / 5; + sc->sc_rx_th.wr_antsignal = + WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_signal); + sc->sc_rx_th.wr_antnoise = + WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_silence); + sc->sc_rx_th.wr_time = + htole32((frmhdr.wi_rx_tstamp1 << 16) | + frmhdr.wi_rx_tstamp0); + bpf_mtap2(sc->sc_drvbpf, + &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); } #endif wh = mtod(m, struct ieee80211_frame *); ==== //depot/projects/netperf/sys/net/bpf.c#10 (text+ko) ==== @@ -1227,6 +1227,53 @@ } /* + * Incoming linkage from device drivers, when packet is in + * an mbuf chain and to be prepended by a contiguous header. + */ +void +bpf_mtap2(bp, data, dlen, m) + struct bpf_if *bp; + void *data; + u_int dlen; + struct mbuf *m; +{ + struct mbuf mb; + struct bpf_d *d; + u_int pktlen, slen; + + pktlen = m_length(m, NULL); + if (pktlen == m->m_len) { + bpf_tap(bp, mtod(m, u_char *), pktlen); + return; + } + /* + * Craft on-stack mbuf suitable for passing to bpf_filter. + * Note that we cut corners here; we only setup what's + * absolutely needed--this mbuf should never go anywhere else. + */ + mb.m_next = m; + mb.m_data = data; + mb.m_len = dlen; + + BPFIF_LOCK(bp); + for (d = bp->bif_dlist; d != 0; d = d->bd_next) { + if (!d->bd_seesent && (m->m_pkthdr.rcvif == NULL)) + continue; + BPFD_LOCK(d); + ++d->bd_rcount; + slen = bpf_filter(d->bd_filter, (u_char *)&mb, pktlen, 0); + if (slen != 0) +#ifdef MAC + if (mac_check_bpfdesc_receive(d, bp->bif_ifp) == 0) +#endif + catchpacket(d, (u_char *)&mb, pktlen, slen, + bpf_mcopy); + BPFD_UNLOCK(d); + } + BPFIF_UNLOCK(bp); +} + +/* * Move the packet data from interface memory (pkt) into the * store buffer. Return 1 if it's time to wakeup a listener (buffer full), * otherwise 0. "copy" is the routine called to do the actual data @@ -1580,6 +1627,15 @@ } void +bpf_mtap2(bp, d, l, m) + struct bpf_if *bp; + const void *d; + u_int l; + struct mbuf *m; +{ +} + +void bpfattach(ifp, dlt, hdrlen) struct ifnet *ifp; u_int dlt, hdrlen; ==== //depot/projects/netperf/sys/net/bpf.h#4 (text+ko) ==== @@ -354,6 +354,7 @@ int bpf_validate(const struct bpf_insn *, int); void bpf_tap(struct bpf_if *, u_char *, u_int); void bpf_mtap(struct bpf_if *, struct mbuf *); +void bpf_mtap2(struct bpf_if *, void *, u_int, struct mbuf *); void bpfattach(struct ifnet *, u_int, u_int); void bpfattach2(struct ifnet *, u_int, u_int, struct bpf_if **); void bpfdetach(struct ifnet *); @@ -366,8 +367,16 @@ bpf_tap((_ifp)->if_bpf, (_pkt), (_pktlen)); \ } while (0) #define BPF_MTAP(_ifp,_m) do { \ - if ((_ifp)->if_bpf) \ + if ((_ifp)->if_bpf) { \ + M_ASSERTVALID(_m); \ bpf_mtap((_ifp)->if_bpf, (_m)); \ + } \ +} while (0) +#define BPF_MTAP2(_ifp,_data,_dlen,_m) do { \ + if ((_ifp)->if_bpf) { \ + M_ASSERTVALID(_m); \ + bpf_mtap2((_ifp)->if_bpf,(_data),(_dlen),(_m)); \ + } \ } while (0) #endif ==== //depot/projects/netperf/sys/net/if_disc.c#6 (text+ko) ==== @@ -164,21 +164,8 @@ } if (ifp->if_bpf) { - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). - */ - struct mbuf m0; u_int af = dst->sa_family; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); } m->m_pkthdr.rcvif = ifp; ==== //depot/projects/netperf/sys/net/if_ef.c#6 (text+ko) ==== @@ -372,13 +372,7 @@ eifp->if_ibytes += m->m_pkthdr.len + sizeof (*eh); m->m_pkthdr.rcvif = eifp; - if (eifp->if_bpf) { - struct mbuf m0; - m0.m_next = m; - m0.m_len = ETHER_HDR_LEN; - m0.m_data = (char *)eh; - BPF_MTAP(eifp, &m0); - } + BPF_MTAP2(eifp, eh, ETHER_HDR_LEN, m); /* * Now we ready to adjust mbufs and pass them to protocol intr's */ ==== //depot/projects/netperf/sys/net/if_faith.c#9 (text+ko) ==== @@ -213,21 +213,8 @@ } if (ifp->if_bpf) { - /* - * We need to prepend the address family as - * a four byte field. Cons up a faith header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). - */ - struct mbuf m0; u_int32_t af = dst->sa_family; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); } if (rt && rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) { ==== //depot/projects/netperf/sys/net/if_gif.c#3 (text+ko) ==== @@ -349,21 +349,8 @@ } if (ifp->if_bpf) { - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). - */ - struct mbuf m0; u_int32_t af = dst->sa_family; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); } ifp->if_opackets++; ifp->if_obytes += m->m_pkthdr.len; @@ -418,21 +405,8 @@ #endif if (ifp->if_bpf) { - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). - */ - struct mbuf m0; u_int32_t af1 = af; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)&af1; - - BPF_MTAP(ifp, &m0); + bpf_mtap2(ifp->if_bpf, &af1, sizeof(af1), m); } if (ng_gif_input_p != NULL) { ==== //depot/projects/netperf/sys/net/if_gre.c#4 (text+ko) ==== @@ -240,15 +240,8 @@ osrc = 0; if (ifp->if_bpf) { - /* see comment of other if_foo.c files */ - struct mbuf m0; u_int32_t af = dst->sa_family; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); } m->m_flags &= ~(M_BCAST|M_MCAST); ==== //depot/projects/netperf/sys/net/if_loop.c#15 (text+ko) ==== @@ -252,22 +252,14 @@ /* Let BPF see incoming packet */ if (ifp->if_bpf) { - struct mbuf m0, *n = m; - if (ifp->if_bpf->bif_dlt == DLT_NULL) { + u_int32_t af1 = af; /* XXX beware sizeof(af) != 4 */ /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer a to it). + * We need to prepend the address family. */ - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - n = &m0; - } - BPF_MTAP(ifp, n); + bpf_mtap2(ifp->if_bpf, &af1, sizeof(af1), m); + } else + bpf_mtap(ifp->if_bpf, m); } /* Strip away media header */ ==== //depot/projects/netperf/sys/net/if_stf.c#6 (text+ko) ==== @@ -430,17 +430,17 @@ * will only read from the mbuf (i.e., it won't * try to free it or keep a pointer a to it). */ + u_int32_t af = AF_INET6; +#ifdef HAVE_OLD_BPF struct mbuf m0; - u_int32_t af = AF_INET6; m0.m_next = m; m0.m_len = 4; m0.m_data = (char *)⁡ -#ifdef HAVE_OLD_BPF BPF_MTAP(ifp, &m0); #else - bpf_mtap(ifp->if_bpf, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); #endif } #endif /*NBPFILTER > 0*/ @@ -685,17 +685,17 @@ * will only read from the mbuf (i.e., it won't * try to free it or keep a pointer a to it). */ + u_int32_t af = AF_INET6; +#ifdef HAVE_OLD_BPF struct mbuf m0; - u_int32_t af = AF_INET6; m0.m_next = m; m0.m_len = 4; m0.m_data = (char *)⁡ -#ifdef HAVE_OLD_BPF BPF_MTAP(ifp, &m0); #else - bpf_mtap(ifp->if_bpf, &m0); + bpf_mtap2(ifp->if_bpf, &af, sizeof(ah), m); #endif } ==== //depot/projects/netperf/sys/net/if_tun.c#6 (text+ko) ==== @@ -456,21 +456,8 @@ } if (ifp->if_bpf) { - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer to it). - */ - struct mbuf m; uint32_t af = dst->sa_family; - - m.m_next = m0; - m.m_len = 4; - m.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m); + bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m0); } /* prepend sockaddr? this may abort if the mbuf allocation fails */ @@ -743,39 +730,6 @@ mac_create_mbuf_from_ifnet(ifp, top); #endif - if (ifp->if_bpf) { - if (tp->tun_flags & TUN_IFHEAD) { - /* - * Conveniently, we already have a 4-byte address - * family prepended to our packet ! - * Inconveniently, it's in the wrong byte order ! - */ - if ((top = m_pullup(top, sizeof(family))) == NULL) - return (ENOBUFS); - *mtod(top, u_int32_t *) = - ntohl(*mtod(top, u_int32_t *)); - BPF_MTAP(ifp, top); - *mtod(top, u_int32_t *) = - htonl(*mtod(top, u_int32_t *)); - } else { - /* - * We need to prepend the address family as - * a four byte field. Cons up a dummy header - * to pacify bpf. This is safe because bpf - * will only read from the mbuf (i.e., it won't - * try to free it or keep a pointer to it). - */ - struct mbuf m; - uint32_t af = AF_INET; - - m.m_next = top; - m.m_len = 4; - m.m_data = (char *)⁡ - - BPF_MTAP(ifp, &m); - } - } - if (tp->tun_flags & TUN_IFHEAD) { if (top->m_len < sizeof(family) && (top = m_pullup(top, sizeof(family))) == NULL) @@ -785,6 +739,8 @@ } else family = AF_INET; + BPF_MTAP2(ifp, &family, sizeof(family), top); + switch (family) { #ifdef INET case AF_INET: ==== //depot/projects/netperf/sys/netgraph/ng_iface.c#3 (text+ko) ==== @@ -485,16 +485,10 @@ static void ng_iface_bpftap(struct ifnet *ifp, struct mbuf *m, sa_family_t family) { - int32_t family4 = (int32_t)family; - struct mbuf m0; - KASSERT(family != AF_UNSPEC, ("%s: family=AF_UNSPEC", __func__)); if (ifp->if_bpf != NULL) { - bzero(&m0, sizeof(m0)); - m0.m_next = m; - m0.m_len = sizeof(family4); - m0.m_data = (char *)&family4; - BPF_MTAP(ifp, &m0); + int32_t family4 = (int32_t)family; + bpf_mtap2(ifp->if_bpf, &family4, sizeof(family4), m); } } ==== //depot/projects/netperf/sys/netinet/ip_gre.c#2 (text+ko) ==== @@ -196,14 +196,8 @@ m->m_pkthdr.len -= hlen; if (sc->sc_if.if_bpf) { - struct mbuf m0; u_int32_t af = AF_INET; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(&(sc->sc_if), &m0); + bpf_mtap2(sc->sc_if.if_bpf, &af, sizeof(af), m); } m->m_pkthdr.rcvif = &sc->sc_if; @@ -283,14 +277,8 @@ ip->ip_sum = in_cksum(m, (ip->ip_hl << 2)); if (sc->sc_if.if_bpf) { - struct mbuf m0; - u_int af = AF_INET; - - m0.m_next = m; - m0.m_len = 4; - m0.m_data = (char *)⁡ - - BPF_MTAP(&(sc->sc_if), &m0); + u_int32_t af = AF_INET; + bpf_mtap2(sc->sc_if.if_bpf, &af, sizeof(af), m); } m->m_pkthdr.rcvif = &sc->sc_if; From owner-p4-projects@FreeBSD.ORG Sat Nov 29 11:23:58 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFD5F16A4D0; Sat, 29 Nov 2003 11:23:57 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B49B16A4CE for ; Sat, 29 Nov 2003 11:23:57 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEDEE43F75 for ; Sat, 29 Nov 2003 11:23:56 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hATJNuXJ043001 for ; Sat, 29 Nov 2003 11:23:56 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hATJNuch042998 for perforce@freebsd.org; Sat, 29 Nov 2003 11:23:56 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sat, 29 Nov 2003 11:23:56 -0800 (PST) Message-Id: <200311291923.hATJNuch042998@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 Subject: PERFORCE change 43155 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 19:23:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=43155 Change 43155 by sam@sam_ebb on 2003/11/29 11:23:07 o don't let bpf_mtap2 fall back to bpf_tap; though it could if the prepended data segment length was also zero o correct pktlen in bpf_mtap2 to include prepended segment Affected files ... .. //depot/projects/netperf/sys/net/bpf.c#11 edit Differences ... ==== //depot/projects/netperf/sys/net/bpf.c#11 (text+ko) ==== @@ -1242,10 +1242,6 @@ u_int pktlen, slen; pktlen = m_length(m, NULL); - if (pktlen == m->m_len) { - bpf_tap(bp, mtod(m, u_char *), pktlen); - return; - } /* * Craft on-stack mbuf suitable for passing to bpf_filter. * Note that we cut corners here; we only setup what's @@ -1254,6 +1250,7 @@ mb.m_next = m; mb.m_data = data; mb.m_len = dlen; + pktlen += dlen; BPFIF_LOCK(bp); for (d = bp->bif_dlist; d != 0; d = d->bd_next) { From owner-p4-projects@FreeBSD.ORG Sat Nov 29 14:04:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AF9616A4D0; Sat, 29 Nov 2003 14:04:28 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C1E8A16A4CE; Sat, 29 Nov 2003 14:04:27 -0800 (PST) Received: from lewis.lclark.edu (www.pnacac.org [149.175.1.5]) by mx1.FreeBSD.org (Postfix) with SMTP id DF9EB43FA3; Sat, 29 Nov 2003 14:04:26 -0800 (PST) (envelope-from eta@lclark.edu) Received: from [149.175.34.27] ([149.175.34.27]) by lewis.lclark.edu (SAVSMTP 3.1.1.32) with SMTP id M2003112914042618193 ; Sat, 29 Nov 2003 14:04:26 -0800 From: Eric Anholt To: Marcel Moolenaar In-Reply-To: <200311272203.hARM3Fpr044781@repoman.freebsd.org> References: <200311272203.hARM3Fpr044781@repoman.freebsd.org> Content-Type: text/plain Message-Id: <1070143466.674.56.camel@leguin> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 Date: Sat, 29 Nov 2003 14:04:27 -0800 Content-Transfer-Encoding: 7bit cc: Perforce Change Reviews Subject: Re: PERFORCE change 43096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Nov 2003 22:04:28 -0000 On Thu, 2003-11-27 at 14:03, Marcel Moolenaar wrote: > http://perforce.freebsd.org/chv.cgi?CH=43096 > > Change 43096 by marcel@marcel_nfs on 2003/11/27 14:02:38 > > Add the KGI code. I like the sound of this. I've been working on the kdrive X Server recently, and one of the things we need is card and mode initialization from some source (vesa or fbdev on linux). I'd concluded that FreeBSD would have to live with using the vesa kernel module to do that, but it sounds like KGI should do much more of what we want. -- Eric Anholt eta@lclark.edu http://people.freebsd.org/~anholt/ anholt@FreeBSD.org From owner-p4-projects@FreeBSD.ORG Sat Nov 29 16:33:37 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D524716A4DB; Sat, 29 Nov 2003 16:33:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 96E1616A4CE for ; Sat, 29 Nov 2003 16:33:36 -0800 (PST) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D58843F3F for ; Sat, 29 Nov 2003 16:33:33 -0800 (PST) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id hAU0XVEG014391; Sat, 29 Nov 2003 16:33:31 -0800 (PST) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) hAU0XRWx041702; Sat, 29 Nov 2003 16:33:27 -0800 (PST) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.10/8.12.10/Submit) id hAU0XRCs041701; Sat, 29 Nov 2003 16:33:27 -0800 (PST) (envelope-from marcel) Date: Sat, 29 Nov 2003 16:33:27 -0800 From: Marcel Moolenaar To: Eric Anholt Message-ID: <20031130003327.GA41631@dhcp01.pn.xcllnt.net> References: <200311272203.hARM3Fpr044781@repoman.freebsd.org> <1070143466.674.56.camel@leguin> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1070143466.674.56.camel@leguin> User-Agent: Mutt/1.5.4i cc: Perforce Change Reviews Subject: Re: PERFORCE change 43096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 00:33:37 -0000 On Sat, Nov 29, 2003 at 02:04:27PM -0800, Eric Anholt wrote: > On Thu, 2003-11-27 at 14:03, Marcel Moolenaar wrote: > > http://perforce.freebsd.org/chv.cgi?CH=43096 > > > > Change 43096 by marcel@marcel_nfs on 2003/11/27 14:02:38 > > > > Add the KGI code. > > I like the sound of this. I've been working on the kdrive X Server > recently, and one of the things we need is card and mode initialization > from some source (vesa or fbdev on linux). I'd concluded that FreeBSD > would have to live with using the vesa kernel module to do that, but it > sounds like KGI should do much more of what we want. Things are pretty rough. This came directly from nsouch@ and he's been glueing against syscons. The first thing I need to do is cut through the various layers of glue and have a low-level console that uses the graphics drivers and is fully newbusified. Then I need to rebuild the terminal emulation on top of that... -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net From owner-p4-projects@FreeBSD.ORG Sat Nov 29 17:45:54 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D52E16A4D0; Sat, 29 Nov 2003 17:45:54 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 11A8116A4CE for ; Sat, 29 Nov 2003 17:45:54 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A38743FA3 for ; Sat, 29 Nov 2003 17:45:48 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU1jmXJ071773 for ; Sat, 29 Nov 2003 17:45:48 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU1jd4H071770 for perforce@freebsd.org; Sat, 29 Nov 2003 17:45:39 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 29 Nov 2003 17:45:39 -0800 (PST) Message-Id: <200311300145.hAU1jd4H071770@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 43161 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 01:45:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=43161 Change 43161 by rwatson@rwatson_tislabs on 2003/11/29 17:45:23 Update TrustedBSD base branch to 5.2-BETA. Includes a variety of bug fixes, et al: - BIND update for security vulnerability - OpenPAM bug fix - libutil version bump, compat4x updates - KSE bugfixes - NFSv4 client support - Many AMD64 bugfixes - ACPI updates, acpi_cpu fixes - TCP hostcache, no more cloned routes - Network stack locking fixes - 64-bit statfs - Loop-back of inpcb labeling for MAC Framework - Atheros HAL update - nologin a C program - Dynamic root switch thrown - /dev/random fixes lower cost of entropy harvesting - Network stack locking fixes And no doubt much more. Affected files ... .. //depot/projects/trustedbsd/base/UPDATING#41 integrate .. //depot/projects/trustedbsd/base/bin/Makefile.inc#10 integrate .. //depot/projects/trustedbsd/base/contrib/bind/CHANGES#8 integrate .. //depot/projects/trustedbsd/base/contrib/bind/README#7 integrate .. //depot/projects/trustedbsd/base/contrib/bind/Version#7 integrate .. //depot/projects/trustedbsd/base/contrib/bind/bin/named/ns_init.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/bind/bin/named/ns_resp.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/bind/bin/nslookup/commands.l#4 integrate .. //depot/projects/trustedbsd/base/contrib/openpam/lib/openpam_ttyconv.c#16 integrate .. //depot/projects/trustedbsd/base/etc/defaults/rc.conf#33 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.include.dist#21 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.local.dist#21 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.sendmail.dist#2 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.usr.dist#32 integrate .. //depot/projects/trustedbsd/base/etc/mtree/BSD.var.dist#8 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ike#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gzip/Makefile#3 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/tar/Makefile#3 integrate .. //depot/projects/trustedbsd/base/include/Makefile#33 integrate .. //depot/projects/trustedbsd/base/kerberos5/include/krb5-private.h#4 delete .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/Makefile#9 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libc.so.4.bz2.uu#3 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libc_r.so.4.bz2.uu#3 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libdevstat.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libedit.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libgmp.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libmp.so.3.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libpam.so.1.bz2.uu#3 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libperl.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libposix1e.so.2.bz2.uu#2 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libskey.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libstdc++.so.3.bz2.uu#3 integrate .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libusbhid.so.0.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libutil.so.3.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libvgl.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/base/lib/libc/Makefile#10 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/initgroups.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/posix1e/mac.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/sparc64/sys/__sparc_utrap_setup.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/malloc.c#17 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdtime/strptime.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/getfsstat.2#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/setgroups.2#4 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/write_ia64_disk.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/arch/i386/i386/thr_enter_uts.S#5 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_init.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_kern.c#19 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_private.h#17 integrate .. //depot/projects/trustedbsd/base/libexec/tftpd/tftpd.c#8 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#2 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#49 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/installation/common/install.sgml#10 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#77 integrate .. //depot/projects/trustedbsd/base/release/i386/drivers.conf#19 integrate .. //depot/projects/trustedbsd/base/release/scripts/print-cdrom-packages.sh#21 integrate .. //depot/projects/trustedbsd/base/sbin/Makefile.inc#6 integrate .. //depot/projects/trustedbsd/base/sbin/dump/dump.8#18 integrate .. //depot/projects/trustedbsd/base/sbin/dumpfs/dumpfs.c#14 integrate .. //depot/projects/trustedbsd/base/sbin/gbde/gbde.8#6 integrate .. //depot/projects/trustedbsd/base/sbin/idmapd/idmapd.8#2 integrate .. //depot/projects/trustedbsd/base/sbin/idmapd/idmapd.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/init/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sbin/mount_nfs4/mount_nfs4.8#2 integrate .. //depot/projects/trustedbsd/base/sbin/mount_nfs4/mount_nfs4.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/mount_udf/mount_udf.c#7 integrate .. //depot/projects/trustedbsd/base/sbin/newfs/mkfs.c#20 integrate .. //depot/projects/trustedbsd/base/sbin/nologin/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sbin/nologin/nologin.8#3 integrate .. //depot/projects/trustedbsd/base/sbin/nologin/nologin.c#1 branch .. //depot/projects/trustedbsd/base/sbin/nologin/nologin.sh#2 delete .. //depot/projects/trustedbsd/base/sbin/vinum/commands.c#12 integrate .. //depot/projects/trustedbsd/base/sbin/vinum/vinum.8#11 integrate .. //depot/projects/trustedbsd/base/share/man/man4/Makefile#42 integrate .. //depot/projects/trustedbsd/base/share/man/man4/acpi.4#13 integrate .. //depot/projects/trustedbsd/base/share/man/man4/led.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/CPU_ELAN.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/Makefile#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ncv.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/nsp.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/stg.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man7/hier.7#19 integrate .. //depot/projects/trustedbsd/base/share/syscons/keymaps/INDEX.keymaps#8 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/db_trace.c#6 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/interrupt.c#14 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/mp_machdep.c#16 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/intr.h#3 integrate .. //depot/projects/trustedbsd/base/sys/alpha/isa/isa.c#7 integrate .. //depot/projects/trustedbsd/base/sys/alpha/mcbus/mcpcia.c#10 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/apecs.c#5 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/cia.c#7 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/t2.c#7 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/tsunami.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/exception.S#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#11 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mem.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/nexus.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#12 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/sys_machdep.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/trap.c#10 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/tsc.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/vm_machdep.c#11 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/trustedbsd/base/sys/amd64/ia32/ia32_syscall.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/_limits.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/_stdint.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/acpica_machdep.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/bus_dma.h#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/clock.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/limits.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/md_var.h#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/mptable.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/param.h#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/pmap.h#8 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/proc.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/segments.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/smp.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/specialreg.h#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/tss.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/isa/clock.c#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/icu.h#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/icu_ipl.S#2 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/icu_vector.S#4 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/intr_machdep.c#4 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/intr_machdep.h#2 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/isa.c#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/isa_dma.c#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/isa/ithread.c#3 delete .. //depot/projects/trustedbsd/base/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/isa/vector.S#3 delete .. //depot/projects/trustedbsd/base/sys/amd64/pci/pci_bus.c#5 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/boot0/boot0.s#3 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_file.c#17 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_getcwd.c#11 integrate .. //depot/projects/trustedbsd/base/sys/compat/svr4/svr4_misc.c#21 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#69 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#10 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.sparc64#29 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.post.mk#31 integrate .. //depot/projects/trustedbsd/base/sys/conf/kmod.mk#26 integrate .. //depot/projects/trustedbsd/base/sys/conf/majors#28 integrate .. //depot/projects/trustedbsd/base/sys/conf/newvers.sh#7 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.amd64#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/acpica/dsmthdat.c#9 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/acpica/exfldio.c#10 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/acpica/utdelete.c#8 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/ah.h#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/ath/version.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi.c#32 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_cpu.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_pci_link.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_pcib.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/aic7xxx/ahc_pci.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/aic7xxx/ahd_pci.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-all.h#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-chipset.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-dma.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-pci.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-raid.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cd.c#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_athvar.h#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/fwohci_pci.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/fxp/if_fxp.c#34 integrate .. //depot/projects/trustedbsd/base/sys/dev/ips/ips.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/ips/ips.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/ips/ips_commands.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/led/led.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/md/md.c#33 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pci.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/puc/puc_pci.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/harvest.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/hash.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/randomdev.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/randomdev.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/random/yarrow.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/re/if_re.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/sio/sio.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/sio/sio_pci.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/buffer.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/buffer.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/channel.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/uart/uart_bus_pci.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ehci_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ohci.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ohci_pci.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/uhci_pci.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/vinum/vinuminterrupt.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/vinum/vinumio.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/vinum/vinumrequest.c#13 integrate .. //depot/projects/trustedbsd/base/sys/fs/fdescfs/fdesc_vnops.c#13 integrate .. //depot/projects/trustedbsd/base/sys/geom/geom_event.c#14 integrate .. //depot/projects/trustedbsd/base/sys/geom/geom_subr.c#26 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/elan-mmcr.c#12 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/machdep.c#40 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/mp_machdep.c#31 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/vm_machdep.c#29 integrate .. //depot/projects/trustedbsd/base/sys/i386/ibcs2/imgact_coff.c#16 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/atomic.h#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/pcpu.h#9 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/sf_buf.h#2 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/atpic.c#3 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/interrupt.c#19 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#46 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/mp_machdep.c#21 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_intr.c#27 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_prot.c#25 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_switch.c#24 integrate .. //depot/projects/trustedbsd/base/sys/kern/sched_ule.c#12 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_smp.c#15 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_witness.c#44 integrate .. //depot/projects/trustedbsd/base/sys/kern/uipc_socket2.c#31 integrate .. //depot/projects/trustedbsd/base/sys/kern/uipc_usrreq.c#21 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_mount.c#25 integrate .. //depot/projects/trustedbsd/base/sys/modules/acpi/Makefile#12 integrate .. //depot/projects/trustedbsd/base/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sys/modules/linux/Makefile#9 integrate .. //depot/projects/trustedbsd/base/sys/modules/null/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sys/modules/nwfs/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sys/modules/ppbus/Makefile#4 integrate .. //depot/projects/trustedbsd/base/sys/modules/ppi/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sys/modules/pps/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sys/modules/smbfs/Makefile#5 integrate .. //depot/projects/trustedbsd/base/sys/modules/streams/Makefile#3 integrate .. //depot/projects/trustedbsd/base/sys/net/bpf.h#7 integrate .. //depot/projects/trustedbsd/base/sys/net/if_faith.c#16 integrate .. //depot/projects/trustedbsd/base/sys/net/if_loop.c#20 integrate .. //depot/projects/trustedbsd/base/sys/net/raw_usrreq.c#9 integrate .. //depot/projects/trustedbsd/base/sys/net/route.c#12 integrate .. //depot/projects/trustedbsd/base/sys/net/route.h#10 integrate .. //depot/projects/trustedbsd/base/sys/net/rtsock.c#22 integrate .. //depot/projects/trustedbsd/base/sys/netatalk/at_control.c#5 integrate .. //depot/projects/trustedbsd/base/sys/netatalk/ddp_usrreq.c#9 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_aal5.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netatm/atm_usrreq.c#9 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/bluetooth/socket/ng_btsocket.c#5 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/ng_eiface.c#7 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/ng_etf.c#3 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/ng_pptpgre.c#9 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/ng_socket.c#11 integrate .. //depot/projects/trustedbsd/base/sys/netinet/in_pcb.c#23 integrate .. //depot/projects/trustedbsd/base/sys/netinet/in_pcb.h#19 integrate .. //depot/projects/trustedbsd/base/sys/netinet/in_rmx.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_divert.c#18 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_dummynet.c#22 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_fw2.c#25 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_icmp.c#19 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_input.c#32 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_output.c#30 integrate .. //depot/projects/trustedbsd/base/sys/netinet/raw_ip.c#21 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_hostcache.c#1 branch .. //depot/projects/trustedbsd/base/sys/netinet/tcp_input.c#43 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_output.c#18 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_subr.c#30 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_syncache.c#24 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_timer.c#13 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_usrreq.c#16 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_var.h#15 integrate .. //depot/projects/trustedbsd/base/sys/netinet/udp_usrreq.c#23 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/icmp6.c#14 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/in6_pcb.c#15 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/in6_rmx.c#6 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/in6_src.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/ip6_forward.c#9 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/ip6_input.c#17 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/ip6_output.c#16 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/raw_ip6.c#10 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/udp6_output.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/udp6_usrreq.c#15 integrate .. //depot/projects/trustedbsd/base/sys/netipsec/keysock.c#6 integrate .. //depot/projects/trustedbsd/base/sys/netipx/ipx_usrreq.c#9 integrate .. //depot/projects/trustedbsd/base/sys/netipx/spx_usrreq.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netkey/key.c#15 integrate .. //depot/projects/trustedbsd/base/sys/netkey/keysock.c#15 integrate .. //depot/projects/trustedbsd/base/sys/netnatm/natm.c#14 integrate .. //depot/projects/trustedbsd/base/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs.h#12 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_bio.c#16 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_subs.c#12 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfs_vfsops.c#28 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/trustedbsd/base/sys/nfsclient/nfsnode.h#5 integrate .. //depot/projects/trustedbsd/base/sys/nfsserver/nfs_srvsock.c#10 integrate .. //depot/projects/trustedbsd/base/sys/opencrypto/cryptodev.c#12 integrate .. //depot/projects/trustedbsd/base/sys/pc98/pc98/sio.c#26 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_dc.c#35 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_rl.c#31 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_sk.c#17 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_xl.c#27 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/intr_machdep.h#3 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/openpic.c#5 integrate .. //depot/projects/trustedbsd/base/sys/rpc/rpcv2.h#2 delete .. //depot/projects/trustedbsd/base/sys/security/mac/mac_net.c#5 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_biba/mac_biba.c#37 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_ifoff/mac_ifoff.c#8 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_lomac/mac_lomac.c#17 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_mls/mac_mls.c#34 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_stub/mac_stub.c#5 integrate .. //depot/projects/trustedbsd/base/sys/security/mac_test/mac_test.c#26 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/mp_machdep.c#18 integrate .. //depot/projects/trustedbsd/base/sys/sys/interrupt.h#7 integrate .. //depot/projects/trustedbsd/base/sys/sys/mac.h#36 integrate .. //depot/projects/trustedbsd/base/sys/sys/mac_policy.h#32 integrate .. //depot/projects/trustedbsd/base/sys/sys/mbuf.h#28 integrate .. //depot/projects/trustedbsd/base/sys/sys/pcpu.h#9 integrate .. //depot/projects/trustedbsd/base/sys/sys/protosw.h#7 integrate .. //depot/projects/trustedbsd/base/sys/sys/smp.h#5 integrate .. //depot/projects/trustedbsd/base/sys/sys/soundcard.h#7 integrate .. //depot/projects/trustedbsd/base/sys/sys/timepps.h#5 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_map.c#34 integrate .. //depot/projects/trustedbsd/base/tools/diag/ac/cknames.pl#2 integrate .. //depot/projects/trustedbsd/base/tools/diag/ac/ent.sh#2 integrate .. //depot/projects/trustedbsd/base/tools/tools/release/chk_dokern.sh_and_drivers.conf#2 integrate .. //depot/projects/trustedbsd/base/usr.bin/bzip2/Makefile#3 integrate .. //depot/projects/trustedbsd/base/usr.bin/locale/locale.1#3 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/if.c#7 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/netstat.1#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/route.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/burncd/burncd.8#14 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cdcontrol/cdcontrol.1#7 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cdcontrol/cdcontrol.c#12 integrate .. //depot/projects/trustedbsd/base/usr.sbin/jail/jail.8#15 integrate .. //depot/projects/trustedbsd/base/usr.sbin/moused/moused.c#8 integrate .. //depot/projects/trustedbsd/base/usr.sbin/mtree/spec.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/Makefile#11 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/config.c#16 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/help/securelevel.hlp#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/help/security.hlp#3 delete .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/install.c#24 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/menus.c#30 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/sysinstall.h#22 integrate .. //depot/projects/trustedbsd/base/usr.sbin/tzsetup/tzsetup.c#4 integrate Differences ... ==== //depot/projects/trustedbsd/base/UPDATING#41 (text+ko) ==== @@ -20,10 +20,10 @@ 20031112: The statfs structure has been updated with 64-bit fields to allow accurate reporting of multi-terabyte filesystem - sizes. You should build and boot a new kernel BEFORE doing a - `make world' as the new kernel will know about binaries using - the old statfs structure, but an old kernel will not know - about the new system calls that support the new statfs + sizes. You should build world, then build and boot the new kernel + BEFORE doing a `installworld' as the new kernel will know about + binaries using the old statfs structure, but an old kernel will + not know about the new system calls that support the new statfs structure. Note that the backwards compatibility is only present when the kernel is configured with the COMPAT_FREEBSD4 option. Since @@ -1431,4 +1431,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.281 2003/11/14 22:11:44 marcel Exp $ +$FreeBSD: src/UPDATING,v 1.282 2003/11/17 23:25:16 rwatson Exp $ ==== //depot/projects/trustedbsd/base/bin/Makefile.inc#10 (text+ko) ==== @@ -1,9 +1,9 @@ # @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile.inc,v 1.19 2003/11/16 04:57:28 gordon Exp $ +# $FreeBSD: src/bin/Makefile.inc,v 1.20 2003/11/19 16:59:00 marcel Exp $ BINDIR?= /bin WARNS?= 6 -.if defined(NO_DYNAMICROOT) +.if defined(NO_DYNAMICROOT) || ${MACHINE_ARCH} == "ia64" NOSHARED?= YES .endif ==== //depot/projects/trustedbsd/base/contrib/bind/CHANGES#8 (text+ko) ==== @@ -1,4 +1,9 @@ + --- 8.3.7-REL released --- (Wed Sep 3 21:01:37 PDT 2003) + +1581. [bug] apply anti-cache poison techniques to negative + answers. + --- 8.3.6-REL released --- (Sun Jun 8 15:11:32 PDT 2003) 1547. [port] cope with spurious EINVAL from evRead. ==== //depot/projects/trustedbsd/base/contrib/bind/README#7 (text+ko) ==== @@ -10,6 +10,9 @@ Note that BIND 8 is in "end-of-life", having been replaced by BIND 9. See http://www.isc.org/ for more details. +BIND 8.3.7 Highlights + Security release. + BIND 8.3.6 Highlights Maintenance release. ==== //depot/projects/trustedbsd/base/contrib/bind/Version#7 (text+ko) ==== @@ -1,1 +1,1 @@ -8.3.6-REL +8.3.7-REL ==== //depot/projects/trustedbsd/base/contrib/bind/bin/named/ns_init.c#4 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_init.c 4.38 (Berkeley) 3/21/91"; -static const char rcsid[] = "$Id: ns_init.c,v 8.77 2002/08/20 04:27:23 marka Exp $"; +static const char rcsid[] = "$Id: ns_init.c,v 8.77.8.2 2003/09/04 04:09:09 marka Exp $"; #endif /* not lint */ /* ==== //depot/projects/trustedbsd/base/contrib/bind/bin/named/ns_resp.c#8 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_resp.c 4.65 (Berkeley) 3/3/91"; -static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.4 2003/06/02 09:56:35 marka Exp $"; +static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.5 2003/09/04 03:03:18 marka Exp $"; #endif /* not lint */ /* @@ -271,7 +271,7 @@ int soacount; u_int qtype, qclass; int validanswer, dbflags; - int cname, lastwascname, externalcname; + int cname, lastwascname, externalcname, cachenegative; int count, founddata, foundname; int buflen; int newmsglen; @@ -911,6 +911,7 @@ cname = 0; lastwascname = 0; externalcname = 0; + cachenegative = 1; strcpy(aname, qname); if (count) { @@ -980,6 +981,7 @@ name); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_CNAME && @@ -1014,6 +1016,7 @@ "last was cname, ignoring auth. and add."); db_detach(&dp); validanswer = 0; + cachenegative = 0; break; } if (i < arfirst) { @@ -1029,6 +1032,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } else if (!ns_samedomain(name, qp->q_domain)) { @@ -1042,6 +1046,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_NS) { @@ -1205,8 +1210,9 @@ ) ) { - cache_n_resp(msg, msglen, from, qp->q_name, - qp->q_class, qp->q_type); + if (cachenegative) + cache_n_resp(msg, msglen, from, qp->q_name, + qp->q_class, qp->q_type); if (!qp->q_cmsglen && validanswer) { ns_debug(ns_log_default, 3, ==== //depot/projects/trustedbsd/base/contrib/bind/bin/nslookup/commands.l#4 (text+ko) ==== @@ -1,5 +1,5 @@ %{ -/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.10 2002/07/01 01:20:28 dougb Exp $ */ +/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.11 2003/11/28 22:02:17 dougb Exp $ */ /* * Copyright (c) 1985 * The Regents of the University of California. All rights reserved. @@ -77,7 +77,6 @@ * exit - exit the program * root - set default server to the root * ls NAME - list the domain NAME - * view FILE - sorts and view the file with more * set OPTION - set an option * help - print help information * ? - print help information @@ -103,7 +102,6 @@ extern char rootServerName[]; extern void PrintHelp(); -extern void ViewList(char *); #define YY_INPUT(buf, result, max_size) \ { \ ==== //depot/projects/trustedbsd/base/contrib/openpam/lib/openpam_ttyconv.c#16 (text) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#22 $ + * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#23 $ */ #include @@ -179,13 +179,13 @@ resp[i]->resp = NULL; switch (msg[i]->msg_style) { case PAM_PROMPT_ECHO_OFF: - resp[i]->resp = prompt_echo_off(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt_echo_off(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_PROMPT_ECHO_ON: - resp[i]->resp = prompt(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_ERROR_MSG: @@ -206,11 +206,13 @@ } RETURNC(PAM_SUCCESS); fail: - while (i) - if (resp[--i]->resp) { - memset(resp[i]->resp, 0, strlen(resp[i]->resp)); - FREE(resp[i]->resp); + for (i = 0; i < n; ++i) { + if ((*resp[i]).resp != NULL) { + memset((*resp[i]).resp, 0, strlen((*resp[i]).resp)); + FREE((*resp[i]).resp); } + } + memset(*resp, 0, n * sizeof **resp); FREE(*resp); RETURNC(PAM_CONV_ERR); } ==== //depot/projects/trustedbsd/base/etc/defaults/rc.conf#33 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.190 2003/10/03 21:33:39 phk Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.191 2003/11/28 17:28:42 bms Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -71,6 +71,9 @@ firewall_flags="" # Flags passed to ipfw when type is a file ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port +ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) +ike_program="/usr/local/sbin/isakmpd" # Path to IKE daemon +ike_flags="" # Additional flags for IKE daemon ipsec_enable="NO" # Set to YES to run setkey on ipsec_file ipsec_file="/etc/ipsec.conf" # Name of config file for setkey natd_program="/sbin/natd" # path to natd, if you want a different one. ==== //depot/projects/trustedbsd/base/etc/mtree/BSD.include.dist#21 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.77 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -9,6 +9,16 @@ .. bsnmp .. + c++ + 3.3 + backward + .. + bits + .. + ext + .. + .. + .. cam scsi .. @@ -18,12 +28,12 @@ dev an .. + firewire + .. ic .. iicbus .. - firewire - .. ofw .. ppbus @@ -58,21 +68,13 @@ .. smbfs .. + udf + .. umapfs .. unionfs .. .. - c++ - 3.3 - backward - .. - bits - .. - ext - .. - .. - .. geom .. isc ==== //depot/projects/trustedbsd/base/etc/mtree/BSD.local.dist#21 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.103 2003/11/08 05:18:25 davidxu Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.104 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -449,14 +449,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN - .. zh_CN.GB18030 .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. ==== //depot/projects/trustedbsd/base/etc/mtree/BSD.sendmail.dist#2 (text+ko) ==== @@ -1,12 +1,12 @@ -# $FreeBSD: src/etc/mtree/BSD.sendmail.dist,v 1.1 2002/04/20 19:00:11 gshapiro Exp $ +# $FreeBSD: src/etc/mtree/BSD.sendmail.dist,v 1.2 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # /set type=dir uname=root gname=wheel mode=0755 -. nochange - var nochange - spool nochange +. nochange + var nochange + spool nochange clientmqueue uname=smmsp gname=smmsp mode=0770 .. .. ==== //depot/projects/trustedbsd/base/etc/mtree/BSD.usr.dist#32 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.286 2003/11/10 09:06:38 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.287 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -519,14 +519,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN + zh_CN.GB18030 .. - zh_CN.GB18030 - .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. @@ -853,14 +853,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN - .. zh_CN.GB18030 .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. @@ -890,8 +890,8 @@ Etc .. .. - security - .. + security + .. sendmail .. skel ==== //depot/projects/trustedbsd/base/etc/mtree/BSD.var.dist#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.var.dist,v 1.67 2002/11/04 07:50:48 markm Exp $ +# $FreeBSD: src/etc/mtree/BSD.var.dist,v 1.68 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -33,12 +33,10 @@ pkg .. .. - empty mode=0555 flags=schg + empty mode=0555 flags=schg .. -/set gname=games mode=0775 - games + games gname=games mode=0775 .. -/set gname=wheel mode=0755 heimdal mode=0700 .. log ==== //depot/projects/trustedbsd/base/gnu/usr.bin/gzip/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.3 (Berkeley) 5/12/90 -# $FreeBSD: src/gnu/usr.bin/gzip/Makefile,v 1.24 2002/09/17 01:48:49 peter Exp $ +# $FreeBSD: src/gnu/usr.bin/gzip/Makefile,v 1.25 2003/11/17 05:18:36 obrien Exp $ PROG= gzip SRCS= gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c \ @@ -12,8 +12,6 @@ SCRIPTS=gzexe zdiff zforce zmore znew MAN= gzexe.1 gzip.1 zdiff.1 zforce.1 zmore.1 znew.1 -NOSHARED?=yes - LINKS+= ${BINDIR}/gzip ${BINDIR}/gunzip LINKS+= ${BINDIR}/gzip ${BINDIR}/gzcat LINKS+= ${BINDIR}/gzip ${BINDIR}/zcat ==== //depot/projects/trustedbsd/base/gnu/usr.bin/tar/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/tar/Makefile,v 1.17 2002/06/05 07:00:41 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/tar/Makefile,v 1.18 2003/11/17 05:16:26 obrien Exp $ TARDIR= ${.CURDIR}/../../../contrib/tar .PATH: ${TARDIR}/lib ${TARDIR}/src @@ -18,6 +18,4 @@ CFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR} -I${TARDIR}/lib -I${TARDIR}/src -NOSHARED?= YES - .include ==== //depot/projects/trustedbsd/base/include/Makefile#33 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.206 2003/10/29 00:32:25 peter Exp $ +# $FreeBSD: src/include/Makefile,v 1.207 2003/11/22 06:08:59 scottl Exp $ # # Doing a "make install" builds /usr/include. @@ -34,7 +34,7 @@ LSUBDIRS= cam/scsi dev/an dev/ic dev/iicbus dev/firewire dev/ofw \ dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ - fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \ + fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ ==== //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/compat/compat4x.i386/Makefile,v 1.21 2003/02/17 13:45:13 nectar Exp $ +# $FreeBSD: src/lib/compat/compat4x.i386/Makefile,v 1.22 2003/11/29 03:29:16 obrien Exp $ DISTRIBUTION= compat4x @@ -7,16 +7,22 @@ libc_r.so.4 \ libcrypto.so.1 \ libcrypto.so.2 \ + libdevstat.so.2 \ libgmp.so.3 \ libedit.so.3 \ libfetch.so.2 \ + libmp.so.3 \ libpam.so.1 \ libperl.so.3 \ libposix1e.so.2 \ + libskey.so.2 \ libssl.so.1 \ libssl.so.2 \ libstdc++.so.3 \ libusb.so.0 \ + libusbhid.so.0 \ + libutil.so.3 \ + libvgl.so.2 \ pam_cleartext_pass_ok.so \ pam_deny.so \ pam_opie.so \ ==== //depot/projects/trustedbsd/base/lib/compat/compat4x.i386/libc.so.4.bz2.uu#3 (text+ko) ==== @@ -1,4245 +1,4276 @@ -$FreeBSD: src/lib/compat/compat4x.i386/libc.so.4.bz2.uu,v 1.2 2002/12/18 18:05:06 obrien Exp $ +$FreeBSD: src/lib/compat/compat4x.i386/libc.so.4.bz2.uu,v 1.3 2003/11/29 03:29:16 obrien Exp $ -begin-base64 444 libc.so.4.bz2 -QlpoOTFBWSZTWRIru2wCmBb/////////////////////////////////////////////45DFQAD7 -2eu4fe6PJfMjI8p6GNsAAIjb3Ad7egbp3B3ZoaoUAK0BfYABkWIMA4Ud9lOr2t9922aPXw7PAAIB -6XvdXE97dTT7dbt63oQKpE2+7va9s6N3alw9O54FyR2js76we9jc0qhZiZq97vPbXJnaQy2Q1uB1 -6e8aY+Weu7e+ghWAAAdCd3He88vebxuxrNthoRmAADtovcqqu4oANO9569vvtz20uOY6NLu6u192 -8H24vvYqn3nHvOURM6oGY7s17t569zDrPXNYD6MToFAM2AA2+1M7NvtxigABoAAAD0FBYxQSFBAU -QAAADQAMlACiqdABVAADQdAFABIct7aF3w3gdXt9fAAAAAAAAAAAHo+ntz17O29CteHPt54ECIAA -AAAB7OC9tdhs2pVTZ9d8QEAAA6ABvoBvN9m7ux0dAAC7AOIqUypKXVGVE93vPVVUKtdN7e76AAoA -B53T32e3wAAADgGun329vOfADvIMhdfYp1ezr533vRg8eAA3wAA7ucG+K3j5ziD21b2OhurMbl2T -3nPvvfOH3M6dhfO+2A085686u8fToPte3ANOV0drzj6r3prdutQrNU19xG93t4d12a4bxXNADCiq -JUBnndK7FFXqwACXWdmffWevGPSe7tvuPe2jMru8JtTNtVtd7PvOw331928eAATmhh7pinj3Z773 -Hs9txtmvui+to9u923hnYDu9mezW90vrDumPsx6E+dGte8LsPZh7pYG8292efd27Hsw0hDbD3pjv -evqHNn3mffdw+99cOrbLfRvSTz4T7ve+4PQ+2dO73uu8H0dQ9GNJZLWswR933eDmw+199u+5TXx5 -3vu77t6fB8Pdr0vrdfBvh3vfeuj0o3q2wO+fW998PHsCHi9uHIj7M5b7zeWe998Ph72cSAF97fav -r1777D7j1yrT04J1Z7YdO+e1573dPvdt94DPM2ZnZ9724+2d6NLTpKkzlUfe77w94rXsfeUhR6zP -o7TWtsKaB0BkULYNASAL1RlrSqjz4+g+PvrNoul0r7Pe+7PjdFaH21dOujt7Z95xvfWADr30e3uA -+97jJU1AdFMH3uPIns2e+90pa9yKCpVCBfW6nCuaHK4LuNNt9dHAdD1PvieAKOPnkzePIgAAAAUA -AGlN3c9sAem5X2TQoUUvqc3vIARnYU6KO8vNpRrffH0oqqfN8z7G33OwdOdbe9K+2dE7tL3zs7XT -XRXmwGV4x3vjyve77lWmz7K+ud3erz3OtZbvbBJc9fb3BpbJe3UAHPfNfGH0uHUFBPe03zK6+d87 -VUOj1Rp9PRJ1eRzttsmh9ddrO7t98+d4dy+3Pc33dz1XfOm48vWj3LcLjG21ER3XdfbVCrY577uv -opXQaPrxe+59mHu9m2a+mStNG5582TL0+zktmuX3nXp53y9Qbuiu1UWlVottNab67pKmjShRvoQj -d3DrIO5tr41dKvp9cfXHOujUo0pUnrFFaOpSOiMNA9rzvmeHE4MwiwmDnN94mffb59vnAc1Jnp7V -B3p9oHet8d8AGUQJ62+w1yUdO7S13cdp1kmILVur577ul3fDXlddOFaD6UiUTtfEPcojzOpdK1nn -SzAWsPqu6NKQduvMIAfQA6DTqQ66V0y2Z3YBQdCh0ZczKux7fXUSHi53ckT7vAfL25Zvnz6lFKAo -A7YDd3Bdobtt7N7yUO1yzLq97wY2nscdz248Pag52cVboClV0CkQAAaKABNgA6Bide53LWNfT3Nj -bbPol9tFdGywfRoAV21C1qCIFB1e+97rfSbUdHbO7nDodFwS2Is3XR0NdEqCQBXQyBVaOtFDoAdN -b3u6JHQZ2GnkAUAffDeG+i3FfXd6k56s2lOdvRoDJVGjVAXp3Kd03vr6ngvN6ZVThr4VX3d2eOtc -AAOzrX1QB06MlQNAAPLtoFu3WxYL48Wwo6+W3W4VVAK5sBbXyfce7nm8bjoA5oHvnxc9SHt025pu -3tm7muAXx7j7333m+b0+i9xuo+7fQ+95wPQm977crr733cr74dbvnd649h57r7sfd11599e3R253 -bd30N77B8nfL7O73h7eM9Sx3fX3tBtr3n11qVvke93Ub2333EDX2ONfVefAdHztz75x8PrrFZtb6 -vt7Yz1X16XsL3dxBpq0y1tvrtzx5jseed9AAAAY++zX13e3eh7sOph6+sjsd33YevPjeTPn2N09f -X3x8su2p73nrbzTdjq7HBu93g6GgN6b33H2rbT3Sl7d2Br770K3Pvb71M23WiB1IBKKKUooJHTKl -FSQkWzVSqBCBIBFJKlTR26u2SVltrJQi573nJ7bAdGvuZQUFeq9dAc+p99bYPs333V3u8r13vtvU -WIyr3zoT33J2Ofcj23TQO7l3deafee97eTvbWl3eG33PrrUw74tjtuVKADBPp83LBt3neAADyGgA -AYAOgNAd97vvcYeW6mqgE97Op770AAHr6AAAHyBpIAru+3ngAAUqQAHx9B6vV7ngXZ9X3Me75423 -Pke3b7doQAOhpq3th0AlCFBEFAL2bjAANEigCgJA2ZvXOIRQNhboB077h9dse7BWg97FrR7sJsAE -5Rp65DXda9IBDttVkoI5bQLrb3evLx2zu7oOHJt33uTzABGAMK5DU0QIAE0AAAAAAmABMCDINBoG -gA0AAGmgAAAAAAAEwJgJgmTEZGTTRkaAaGjQ0BpPUGggmQBAAQAAQAAEYgGgAABMARiZNA0A0GgT -CYBMAAjAJiDJkBoDRplMAaj0AExME0amg0yCIICAmmgAEBoAABMmEZBoaAAmCZMmE00amDTVN6DJ -oU9NCbCnkwqfkyaj0YmRmoNGIVPeVPTU/ICZqm2p6GpoTxNJ5TZUEmkiEQQEAEMhDRlMNTTJqbJo -ZNGhMamTRlHqemFN6mmjQyjwjVPYVN5UeiftU8TEU/TSmzIo/TKDZKep+kxqT1N6U8U3pJvVNP0p -5T0h5RptRo09IG0jJ6giSIhGQmhoAEnpkmmBoTATJkyaqf6MI00aMEJ6ZSn7JoaD1JshPQ0E0000 -0yMmTaTTCYjJinppgpqfianqm9T0wp6YjJpPTEKfk1J+kTxqepo1BIiICAmQEAABGgaAAAJkwJk0 -DQmAJkwA1MmBME0NNMmgBoE8RqYNEzSYAEwJkyGTE0MphoaNBNqpvJqnsMvf/VmsLojmGqAbMDt1 -41BfIPQGHYR/bh0cuy6pOY9LUIHZMbvfIAP5/8ZMDTrhCOzRBunAonzpNiSdo71OqP/EZT9OTQe2 -kOt4zh9XByZ3OwfSu+89/8YrkHh26ZaPLqj9L9fCLxAAiABQ0s/Pyfv60gHO1oYdhlo3ZATLkeVU -6bELhO+G4MlvrDzfED3Xl1IJpfkCcv0fykoxkm8Q88qyfYjD7fDH1Pr/PZvdqmysZlQt5NQZnqe8 -LMotfumUnBQhgwfUWecPMabLTU8dpJiEumwoG5y3TVRdgYcAuPSbthlcVXNw8wgtFSFvHXF4tn9k -RK3QMBoi21TpBwzL9l+x/3TuyFxL2eovez7fxLbcAREwIFBlyMHa6F/h52LGIXCEiJKeBIWTSQtt -4m9jxOnnEh5ND8tgm8mDqhO1RTvmlk1P2rexakK5yUmjuAJUtkNhUGK10S29O+VdOcL3BkqwJglR -kQmhTgpm54SYmNmfGZJkzZWq5tNsJvlZn17YLIwmjHjFqdmXCHFTzz82M9QypZZVtKLs2I4XlFos -GDey3YUWfazZcbRRzLwtWnt0MbDMZHNF+NkIZm4W5Vv8j7oy4nrRP0GZY0p8yW5n7URlyXXiZEaN -2l3dNdxzwyFyblgbVez99nY5LWNwcNMb/W27unpWirwJWDmMs80O2M+C2GTDlzcivMhom3qE2zUy -501Oo2mtcq85XVPAHqDI18KEFFUY32m3VpNmlaAetSpzicQ3yC9qoO6O4bDndHcAxoVILjkGbXaE -Zhs4Ur1hLv55JtjdLxMS3AwzNTHEk0dT92VoH/7eYrCI2zHQfFw6LTQUJASBEOvQcrQ52PyrYc9D -c5lzU6XV5XKjGTni3v35l5GwM/fMMZOP0nF7Dm88qHIDr6cq63m66Bz0+1hW8s6WLQcKOlud7WLr -mLkpbGgUXtmoKBobaa01CYMPgJuQa63zPVzdAMDN3tu0NGQJ5eknk6fK1tei3YmwKY1bjny98cgU -iBbwyYZbZkwwADMgJTtx8noOe4XPZ+/fN7zS0p252hiYVkEz9PSmONKl031EYmoUd2/gf37Wvfqn -jfc186+odzfBcEXOHc1aDuDnZENo0GbUrbLbZN3i+rPu4OHPmxcZrVvZeDmVT3eHkjHlcrqxzzOF -4PZD/Pxrs2RGjk9n3K5tjS4LISa/0OD6ZjZ6QN5isb3ezWKGKkgmUxMcGKYhpA0yfrWGt2GM0zWq -TEC5ZNjJUxMtbagGMDTFDSVkXSR1SYJLbdawPfymn9chtmIHCG2QBZWAKAVUmIDILaBIVES8LRUt -66fwzOmn7f8+vGYdr2OTaaKwNbfR3cTLlmGsgCiAwHBevf5WO5nW9gyIDq4JTgeISmXcEkNyfVX2 -yQyGxpt3qy+vl+q6P9n/bzZl8jKLEY8wOUE4STrbLxYsN9wgTE2l3iJ+COFVgEhKX2Fn/Ogc1Eva -1Kgi8OHcnF4LPMPMypCgkxDwi6fKJdQZp3U+zd3l3Kp4py75QTTlJGhQECGsgj8kpUcgP9nZRZ33 -/HakolWKTUs6f8lIMXPETEu/9r95fosdbhLQa8a1iiYlW/bjEWgDlREVEYxAxGITIgufOmHEO4Rt -AomIcunlWQ/9nR0tngBvj3BoCqLLFIYu2OSeEXMk46VUtQTg/bW2RoeQewME3xSAVytNWIQ3xtn2 -gRECImuXOXjG6r+2Be1+F0f/z+HjV4urXZpKscDwSEF2JRXfXE77lLlBOfof/cW6HMyMAlgryhe8 -dlDhH2WR13HL9ub9V+Uiv/V3UxaY8+sP7MJY733uF9Uctm4I79DvbK6HnYivRkJsL5YweussvrQm -RNFF/y8PecX4fq+wab6j/JiNeyTpb+DXZp613JBxceF6yRUqKDxQmBuGg5KMGoFCQZkkPB/N/H0I -fa9T8kep+Tp+Hq0vxa2/lNHXgvVik8O+a+dz8XuCDuPPyqGDa6sUay0o5P+J2JLeB8RreFyrNI3x >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 29 18:05:13 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B74616A4D0; Sat, 29 Nov 2003 18:05:13 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 21E6B16A4CE for ; Sat, 29 Nov 2003 18:05:13 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63E1D43FBD for ; Sat, 29 Nov 2003 18:05:12 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU25CXJ076582 for ; Sat, 29 Nov 2003 18:05:12 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU25B6Q076579 for perforce@freebsd.org; Sat, 29 Nov 2003 18:05:11 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sat, 29 Nov 2003 18:05:11 -0800 (PST) Message-Id: <200311300205.hAU25B6Q076579@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 Subject: PERFORCE change 43162 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 02:05:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=43162 Change 43162 by sam@sam_ebb on 2003/11/29 18:04:59 correct comment Affected files ... .. //depot/projects/netperf/sys/net80211/ieee80211_radiotap.h#5 edit Differences ... ==== //depot/projects/netperf/sys/net80211/ieee80211_radiotap.h#5 (text+ko) ==== @@ -90,7 +90,7 @@ * For frequency-hopping radios, the hop set (first byte) * and pattern (second byte). * - * IEEE80211_RADIOTAP_RATE u_int16_t 500kb/s + * IEEE80211_RADIOTAP_RATE u_int8_t 500kb/s * * Tx/Rx data rate * From owner-p4-projects@FreeBSD.ORG Sat Nov 29 19:39:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24BE716A4D1; Sat, 29 Nov 2003 19:39:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DBA3716A4CE for ; Sat, 29 Nov 2003 19:39:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C850744035 for ; Sat, 29 Nov 2003 19:39:07 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU3d6XJ080492 for ; Sat, 29 Nov 2003 19:39:06 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU3d5ia080489 for perforce@freebsd.org; Sat, 29 Nov 2003 19:39:05 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sat, 29 Nov 2003 19:39:05 -0800 (PST) Message-Id: <200311300339.hAU3d5ia080489@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 Subject: PERFORCE change 43164 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 03:39:36 -0000 X-List-Received-Date: Sun, 30 Nov 2003 03:39:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=43164 Change 43164 by sam@sam_ebb on 2003/11/29 19:38:53 add flags and rate to xmit side tapping per netbsd Affected files ... .. //depot/projects/netperf/sys/dev/wi/if_wi.c#17 edit .. //depot/projects/netperf/sys/dev/wi/if_wireg.h#5 edit Differences ... ==== //depot/projects/netperf/sys/dev/wi/if_wi.c#17 (text+ko) ==== @@ -979,6 +979,8 @@ } #if NBPFILTER > 0 if (sc->sc_drvbpf) { + sc->sc_tx_th.wt_rate = + ni->ni_rates.rs_rates[ni->ni_txrate]; bpf_mtap2(sc->sc_drvbpf, &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); } @@ -1531,6 +1533,9 @@ sc->sc_rx_th.wr_time = htole32((frmhdr.wi_rx_tstamp1 << 16) | frmhdr.wi_rx_tstamp0); + sc->sc_rx_th.wr_flags = 0; + if (frmhdr.wi_status & WI_STAT_PCF) + sc->sc_rx_th.wr_flags |= IEEE80211_RADIOTAP_F_CFP; bpf_mtap2(sc->sc_drvbpf, &sc->sc_rx_th, sizeof(sc->sc_rx_th), m); } ==== //depot/projects/netperf/sys/dev/wi/if_wireg.h#5 (text+ko) ==== @@ -707,10 +707,14 @@ }; #define WI_TX_RADIOTAP_PRESENT \ - ((1 << IEEE80211_RADIOTAP_CHANNEL)) + ((1 << IEEE80211_RADIOTAP_FLAGS) | \ + (1 << IEEE80211_RADIOTAP_RATE) | \ + (1 << IEEE80211_RADIOTAP_CHANNEL)) struct wi_tx_radiotap_header { struct ieee80211_radiotap_header wt_ihdr; + u_int8_t wt_flags; + u_int8_t wt_rate; u_int16_t wt_chan_freq; u_int16_t wt_chan_flags; }; From owner-p4-projects@FreeBSD.ORG Sat Nov 29 19:39:36 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 716F416A4F9; Sat, 29 Nov 2003 19:39:36 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E79ED16A4CF for ; Sat, 29 Nov 2003 19:39:35 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 643B844034 for ; Sat, 29 Nov 2003 19:39:07 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU3d5XJ080486 for ; Sat, 29 Nov 2003 19:39:05 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU3d5sq080483 for perforce@freebsd.org; Sat, 29 Nov 2003 19:39:05 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sat, 29 Nov 2003 19:39:05 -0800 (PST) Message-Id: <200311300339.hAU3d5sq080483@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 Subject: PERFORCE change 43163 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 03:39:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=43163 Change 43163 by sam@sam_ebb on 2003/11/29 19:38:05 o add txpower and antenna to xmit-side radiotap data o move xmit-side tap to ath_tx_start so we have the state needed to fill out the new fields and to record the flags state (e.g. short preamble) Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#43 edit .. //depot/projects/netperf/sys/dev/ath/if_athioctl.h#8 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#43 (text+ko) ==== @@ -773,16 +773,6 @@ } sc->sc_stats.ast_tx_mgmt++; } - if (ic->ic_rawbpf) - bpf_mtap(ic->ic_rawbpf, m); - - if (sc->sc_drvbpf) { - sc->sc_tx_th.wt_rate = - ni->ni_rates.rs_rates[ni->ni_txrate]; - bpf_mtap2(sc->sc_drvbpf, - &sc->sc_tx_th, sizeof(sc->sc_tx_th), m); - } - if (ath_tx_start(sc, ni, bf, m)) { bad: ATH_TXBUF_LOCK(sc); @@ -2039,6 +2029,22 @@ else antenna = an->an_rx_hist[an->an_rx_hist_next].arh_antenna; + if (ic->ic_rawbpf) + bpf_mtap(ic->ic_rawbpf, m0); + if (sc->sc_drvbpf) { + sc->sc_tx_th.wt_flags = 0; + if (shortPreamble) + sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_SHORTPRE; + if (iswep) + sc->sc_tx_th.wt_flags |= IEEE80211_RADIOTAP_F_WEP; + sc->sc_tx_th.wt_rate = ni->ni_rates.rs_rates[ni->ni_txrate]; + sc->sc_tx_th.wt_txpower = 60/2; /* XXX */ + sc->sc_tx_th.wt_antenna = antenna; + + bpf_mtap2(sc->sc_drvbpf, + &sc->sc_tx_th, sizeof(sc->sc_tx_th), m0); + } + /* * Formulate first tx descriptor with tx controls. */ ==== //depot/projects/netperf/sys/dev/ath/if_athioctl.h#8 (text+ko) ==== @@ -125,6 +125,7 @@ (1 << IEEE80211_RADIOTAP_FLAGS) | \ (1 << IEEE80211_RADIOTAP_RATE) | \ (1 << IEEE80211_RADIOTAP_CHANNEL) | \ + (1 << IEEE80211_RADIOTAP_ANTENNA) | \ 0) struct ath_tx_radiotap_header { @@ -133,6 +134,8 @@ u_int8_t wt_rate; u_int16_t wt_chan_freq; u_int16_t wt_chan_flags; + u_int8_t wt_txpower; + u_int8_t wt_antenna; }; #endif /* _DEV_ATH_ATHIOCTL_H */ From owner-p4-projects@FreeBSD.ORG Sat Nov 29 20:36:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E712D16A4D0; Sat, 29 Nov 2003 20:36:17 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C1B8F16A4CE for ; Sat, 29 Nov 2003 20:36:17 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A01BA43FA3 for ; Sat, 29 Nov 2003 20:36:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU4aGXJ083233 for ; Sat, 29 Nov 2003 20:36:16 -0800 (PST) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU4aGDt083230 for perforce@freebsd.org; Sat, 29 Nov 2003 20:36:16 -0800 (PST) (envelope-from marcel@freebsd.org) Date: Sat, 29 Nov 2003 20:36:16 -0800 (PST) Message-Id: <200311300436.hAU4aGDt083230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 43166 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 04:36:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=43166 Change 43166 by marcel@marcel_nfs on 2003/11/29 20:35:53 Move the definition of NULL into a seperate header where we can tweak it without having to edit 12 header files. On ia64 we need NULL to be a 64-bit constant to have the same behavior there as we have on other platforms. This fixes gnome, xemacs and whatever else. Affected files ... .. //depot/projects/ia64/include/dirent.h#6 edit .. //depot/projects/ia64/include/locale.h#5 edit .. //depot/projects/ia64/include/rpc/types.h#3 edit .. //depot/projects/ia64/include/stddef.h#6 edit .. //depot/projects/ia64/include/stdio.h#14 edit .. //depot/projects/ia64/include/stdlib.h#22 edit .. //depot/projects/ia64/include/string.h#11 edit .. //depot/projects/ia64/include/time.h#11 edit .. //depot/projects/ia64/include/unistd.h#21 edit .. //depot/projects/ia64/include/wchar.h#15 edit .. //depot/projects/ia64/sys/sys/null.h#1 add .. //depot/projects/ia64/sys/sys/param.h#49 edit .. //depot/projects/ia64/sys/sys/stddef.h#3 edit Differences ... ==== //depot/projects/ia64/include/dirent.h#6 (text+ko) ==== @@ -81,9 +81,7 @@ #define DTF_REWIND 0x0004 /* rewind after reading union stack */ #define __DTF_READALL 0x0008 /* everything has been read */ -#ifndef NULL -#define NULL 0L -#endif +#include #else /* !__BSD_VISIBLE */ ==== //depot/projects/ia64/include/locale.h#5 (text+ko) ==== @@ -37,6 +37,9 @@ #ifndef _LOCALE_H_ #define _LOCALE_H_ +#include +#include + struct lconv { char *decimal_point; char *thousands_sep; @@ -64,10 +67,6 @@ char int_n_sign_posn; }; -#ifndef NULL -#define NULL 0L -#endif - #define LC_ALL 0 #define LC_COLLATE 1 #define LC_CTYPE 2 @@ -78,8 +77,6 @@ #define _LC_LAST 7 /* marks end */ -#include - __BEGIN_DECLS struct lconv *localeconv(void); char *setlocale(int, const char *); ==== //depot/projects/ia64/include/rpc/types.h#3 (text+ko) ==== @@ -39,6 +39,7 @@ #ifndef _RPC_TYPES_H #define _RPC_TYPES_H +#include #include typedef int32_t bool_t; @@ -59,9 +60,6 @@ #ifndef TRUE # define TRUE (1) #endif -#ifndef NULL -# define NULL 0L -#endif #define mem_alloc(bsize) calloc(1, bsize) #define mem_free(ptr, bsize) free(ptr) ==== //depot/projects/ia64/include/stddef.h#6 (text+ko) ==== @@ -39,6 +39,7 @@ #define _STDDEF_H_ #include +#include #include typedef __ptrdiff_t ptrdiff_t; @@ -62,10 +63,6 @@ #endif #endif -#ifndef NULL -#define NULL 0L -#endif - #define offsetof(type, member) __offsetof(type, member) #endif /* _STDDEF_H_ */ ==== //depot/projects/ia64/include/stdio.h#14 (text+ko) ==== @@ -41,6 +41,7 @@ #define _STDIO_H_ #include +#include #include typedef __off_t fpos_t; @@ -57,10 +58,6 @@ #endif #endif -#ifndef NULL -#define NULL 0L -#endif - #define _FSTDIO /* Define for new stdio with functions. */ /* ==== //depot/projects/ia64/include/stdlib.h#22 (text+ko) ==== @@ -69,9 +69,7 @@ long rem; } ldiv_t; -#ifndef NULL -#define NULL 0L -#endif +#include #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 ==== //depot/projects/ia64/include/string.h#11 (text+ko) ==== @@ -38,6 +38,7 @@ #define _STRING_H_ #include +#include #include /* @@ -53,10 +54,6 @@ #define _SIZE_T_DECLARED #endif -#ifndef NULL -#define NULL 0L -#endif - __BEGIN_DECLS #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE void *memccpy(void * __restrict, const void * __restrict, int, size_t); ==== //depot/projects/ia64/include/time.h#11 (text+ko) ==== @@ -46,6 +46,7 @@ #define _TIME_H_ #include +#include #include #if __POSIX_VISIBLE > 0 && __POSIX_VISIBLE < 200112 || __BSD_VISIBLE @@ -59,10 +60,6 @@ /* Frequency of the clock ticks reported by clock(). */ #define CLOCKS_PER_SEC 128 -#ifndef NULL -#define NULL 0L -#endif - #ifndef _CLOCK_T_DECLARED typedef __clock_t clock_t; #define _CLOCK_T_DECLARED ==== //depot/projects/ia64/include/unistd.h#21 (text+ko) ==== @@ -81,9 +81,7 @@ #define STDOUT_FILENO 1 /* standard output file descriptor */ #define STDERR_FILENO 2 /* standard error file descriptor */ -#ifndef NULL -#define NULL 0L /* null pointer constant */ -#endif +#include #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #define F_ULOCK 0 /* unlock locked section */ ==== //depot/projects/ia64/include/wchar.h#15 (text+ko) ==== @@ -68,13 +68,10 @@ #define _WCHAR_H_ #include +#include #include #include -#ifndef NULL -#define NULL 0L -#endif - #ifndef _MBSTATE_T_DECLARED typedef __mbstate_t mbstate_t; #define _MBSTATE_T_DECLARED ==== //depot/projects/ia64/sys/sys/param.h#49 (text+ko) ==== @@ -59,9 +59,7 @@ #undef __FreeBSD_version #define __FreeBSD_version 501114 /* Master, propagated to newvers */ -#ifndef NULL -#define NULL 0L -#endif +#include #ifndef LOCORE #include ==== //depot/projects/ia64/sys/sys/stddef.h#3 (text+ko) ==== @@ -30,14 +30,11 @@ #define _SYS_STDDEF_H_ #include +#include #include typedef __ptrdiff_t ptrdiff_t; #define offsetof(type, field) __offsetof(type, field) -#ifndef NULL -#define NULL 0L -#endif - #endif /* !_SYS_STDDEF_H_ */ From owner-p4-projects@FreeBSD.ORG Sat Nov 29 20:55:55 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B31F16A4D0; Sat, 29 Nov 2003 20:55:55 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E605616A4CE for ; Sat, 29 Nov 2003 20:55:54 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 172C943FDF for ; Sat, 29 Nov 2003 20:55:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU4tmXJ089515 for ; Sat, 29 Nov 2003 20:55:49 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU4tevP089512 for perforce@freebsd.org; Sat, 29 Nov 2003 20:55:40 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 29 Nov 2003 20:55:40 -0800 (PST) Message-Id: <200311300455.hAU4tevP089512@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 43167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 04:55:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=43167 Change 43167 by rwatson@rwatson_tislabs on 2003/11/29 20:54:44 Update TrustedBSD MAC branch from TrustedBSD base branch to 5.2-BETA. Includes a variety of bug fixes, et al: - BIND update for security vulnerability - OpenPAM bug fix - libutil version bump, compat4x updates - KSE bugfixes - NFSv4 client support - Many AMD64 bugfixes - ACPI updates, acpi_cpu fixes - TCP hostcache, no more cloned routes - Network stack locking fixes - 64-bit statfs - Loop-back of inpcb labeling for MAC Framework - Atheros HAL update - nologin a C program - Dynamic root switch thrown - /dev/random fixes lower cost of entropy harvesting - Network stack locking fixes And no doubt much more. Affected files ... .. //depot/projects/trustedbsd/mac/UPDATING#35 integrate .. //depot/projects/trustedbsd/mac/bin/Makefile.inc#11 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/CHANGES#9 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/README#8 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/Version#8 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/bin/named/ns_init.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/bin/named/ns_resp.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/bind/bin/nslookup/commands.l#5 integrate .. //depot/projects/trustedbsd/mac/contrib/openpam/lib/openpam_ttyconv.c#17 integrate .. //depot/projects/trustedbsd/mac/etc/defaults/rc.conf#31 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.include.dist#29 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.local.dist#18 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.sendmail.dist#2 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.usr.dist#30 integrate .. //depot/projects/trustedbsd/mac/etc/mtree/BSD.var.dist#8 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ike#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gzip/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/tar/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/include/Makefile#38 integrate .. //depot/projects/trustedbsd/mac/kerberos5/include/krb5-private.h#4 delete .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/Makefile#9 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libc.so.4.bz2.uu#3 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libc_r.so.4.bz2.uu#3 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libdevstat.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libedit.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libgmp.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libmp.so.3.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libpam.so.1.bz2.uu#3 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libperl.so.3.bz2.uu#2 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libposix1e.so.2.bz2.uu#2 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libskey.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libstdc++.so.3.bz2.uu#3 integrate .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libusbhid.so.0.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libutil.so.3.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libvgl.so.2.bz2.uu#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/initgroups.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/posix1e/mac.c#17 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sparc64/sys/__sparc_utrap_setup.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/malloc.c#17 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdtime/strptime.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/getfsstat.2#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/setgroups.2#4 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/write_ia64_disk.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/arch/i386/i386/thr_enter_uts.S#5 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_init.c#12 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_kern.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_private.h#14 integrate .. //depot/projects/trustedbsd/mac/libexec/tftpd/tftpd.c#8 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#2 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#44 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/installation/common/install.sgml#9 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#66 integrate .. //depot/projects/trustedbsd/mac/release/i386/drivers.conf#19 integrate .. //depot/projects/trustedbsd/mac/release/scripts/print-cdrom-packages.sh#20 integrate .. //depot/projects/trustedbsd/mac/sbin/Makefile.inc#6 integrate .. //depot/projects/trustedbsd/mac/sbin/dump/dump.8#17 integrate .. //depot/projects/trustedbsd/mac/sbin/dumpfs/dumpfs.c#14 integrate .. //depot/projects/trustedbsd/mac/sbin/gbde/gbde.8#6 integrate .. //depot/projects/trustedbsd/mac/sbin/idmapd/idmapd.8#2 integrate .. //depot/projects/trustedbsd/mac/sbin/idmapd/idmapd.c#2 integrate .. //depot/projects/trustedbsd/mac/sbin/init/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_nfs4/mount_nfs4.8#2 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_nfs4/mount_nfs4.c#2 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_udf/mount_udf.c#7 integrate .. //depot/projects/trustedbsd/mac/sbin/newfs/mkfs.c#20 integrate .. //depot/projects/trustedbsd/mac/sbin/nologin/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sbin/nologin/nologin.8#3 integrate .. //depot/projects/trustedbsd/mac/sbin/nologin/nologin.c#1 branch .. //depot/projects/trustedbsd/mac/sbin/nologin/nologin.sh#2 delete .. //depot/projects/trustedbsd/mac/sbin/vinum/commands.c#11 integrate .. //depot/projects/trustedbsd/mac/sbin/vinum/vinum.8#11 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/Makefile#38 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/acpi.4#12 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/led.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/CPU_ELAN.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/Makefile#9 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ncv.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/nsp.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/stg.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man7/hier.7#17 integrate .. //depot/projects/trustedbsd/mac/share/syscons/keymaps/INDEX.keymaps#8 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/db_trace.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/interrupt.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/mp_machdep.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/intr.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/isa/isa.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/mcbus/mcpcia.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/apecs.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/cia.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/t2.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/tsunami.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/exception.S#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mem.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/sys_machdep.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/tsc.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/vm_machdep.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/ia32/ia32_syscall.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/_limits.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/_stdint.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/acpica_machdep.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/bus_dma.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/clock.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/limits.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/md_var.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/mptable.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/param.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/pmap.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/proc.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/segments.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/smp.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/specialreg.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/tss.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/isa/clock.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/icu.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/icu_ipl.S#2 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/icu_vector.S#4 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/intr_machdep.c#4 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/intr_machdep.h#2 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/isa.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/isa_dma.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/isa/ithread.c#3 delete .. //depot/projects/trustedbsd/mac/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/isa/vector.S#3 delete .. //depot/projects/trustedbsd/mac/sys/amd64/pci/pci_bus.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/boot0/boot0.s#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_file.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_getcwd.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/svr4/svr4_misc.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files#100 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.amd64#8 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.sparc64#25 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kern.post.mk#27 integrate .. //depot/projects/trustedbsd/mac/sys/conf/kmod.mk#23 integrate .. //depot/projects/trustedbsd/mac/sys/conf/majors#26 integrate .. //depot/projects/trustedbsd/mac/sys/conf/newvers.sh#8 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.amd64#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/acpica/dsmthdat.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/acpica/exfldio.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/acpica/utdelete.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/ah.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#4 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/dev/ath/version.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_cpu.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_pci_link.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_pcib.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aic7xxx/ahc_pci.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aic7xxx/ahd_pci.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-all.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-chipset.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-dma.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-pci.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-raid.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cd.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_ath_pci.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_athvar.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/firewire/fwohci_pci.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fxp/if_fxp.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ips/ips.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ips/ips.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ips/ips_commands.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/led/led.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/md/md.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pci/pci.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/dev/puc/puc_pci.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/harvest.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/hash.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/randomdev.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/randomdev.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/random/yarrow.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/re/if_re.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sio/sio.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sio/sio_pci.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/buffer.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/buffer.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/sound/pcm/channel.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/uart/uart_bus_pci.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ehci_pci.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ohci.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/ohci_pci.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/usb/uhci_pci.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vinum/vinuminterrupt.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vinum/vinumio.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/vinum/vinumrequest.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/fs/fdescfs/fdesc_vnops.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/geom/geom_event.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/geom/geom_subr.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/elan-mmcr.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/machdep.c#39 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/mp_machdep.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/i386/i386/vm_machdep.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/i386/ibcs2/imgact_coff.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/atomic.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/pcpu.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/i386/include/sf_buf.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/i386/isa/atpic.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/interrupt.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/machdep.c#40 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/ia64/mp_machdep.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/ia64/include/pcpu.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_intr.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_prot.c#39 integrate .. //depot/projects/trustedbsd/mac/sys/kern/kern_switch.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/kern/sched_ule.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_smp.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/kern/subr_witness.c#42 integrate .. //depot/projects/trustedbsd/mac/sys/kern/uipc_socket2.c#38 integrate .. //depot/projects/trustedbsd/mac/sys/kern/uipc_usrreq.c#30 integrate .. //depot/projects/trustedbsd/mac/sys/kern/vfs_mount.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/modules/acpi/Makefile#12 integrate .. //depot/projects/trustedbsd/mac/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sys/modules/linux/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/sys/modules/null/Makefile#2 integrate .. //depot/projects/trustedbsd/mac/sys/modules/nwfs/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/modules/ppbus/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sys/modules/ppi/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/modules/pps/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/modules/smbfs/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sys/modules/streams/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/sys/net/bpf.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_faith.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/net/if_loop.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/net/raw_usrreq.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/net/route.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/net/route.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/net/rtsock.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/netatalk/at_control.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/netatalk/ddp_usrreq.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_aal5.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/netatm/atm_usrreq.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/bluetooth/socket/ng_btsocket.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/ng_eiface.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/ng_etf.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/ng_pptpgre.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/netgraph/ng_socket.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/in_pcb.h#21 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/in_rmx.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_divert.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_dummynet.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_fw2.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_icmp.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_input.c#41 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/ip_output.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/raw_ip.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_hostcache.c#1 branch .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_input.c#47 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_output.c#20 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_subr.c#39 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_syncache.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_timer.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_usrreq.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/tcp_var.h#16 integrate .. //depot/projects/trustedbsd/mac/sys/netinet/udp_usrreq.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/icmp6.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/in6_pcb.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/in6_rmx.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/in6_src.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/ip6_forward.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/ip6_input.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/ip6_output.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/raw_ip6.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/udp6_output.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/netinet6/udp6_usrreq.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/netipsec/keysock.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/netipx/ipx_usrreq.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/netipx/spx_usrreq.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/netkey/key.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/netkey/keysock.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/netnatm/natm.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs.h#12 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_bio.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_subs.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_vfsops.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/nfsclient/nfsnode.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/nfsserver/nfs_srvsock.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/opencrypto/cryptodev.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/pc98/pc98/sio.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_dc.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_rl.c#31 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_sk.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/pci/if_xl.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/include/intr_machdep.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/intr_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/powerpc/powerpc/openpic.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/rpc/rpcv2.h#2 delete .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_net.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#239 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_ifoff/mac_ifoff.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_lomac/mac_lomac.c#81 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#193 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#126 integrate .. //depot/projects/trustedbsd/mac/sys/sparc64/sparc64/mp_machdep.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/sys/interrupt.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#257 integrate .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#206 integrate .. //depot/projects/trustedbsd/mac/sys/sys/mbuf.h#34 integrate .. //depot/projects/trustedbsd/mac/sys/sys/pcpu.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/sys/protosw.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/sys/smp.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/sys/soundcard.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/sys/timepps.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/vm/vm_map.c#33 integrate .. //depot/projects/trustedbsd/mac/tools/diag/ac/cknames.pl#2 integrate .. //depot/projects/trustedbsd/mac/tools/diag/ac/ent.sh#2 integrate .. //depot/projects/trustedbsd/mac/tools/tools/release/chk_dokern.sh_and_drivers.conf#2 integrate .. //depot/projects/trustedbsd/mac/usr.bin/bzip2/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/usr.bin/locale/locale.1#3 integrate .. //depot/projects/trustedbsd/mac/usr.bin/netstat/if.c#7 integrate .. //depot/projects/trustedbsd/mac/usr.bin/netstat/netstat.1#5 integrate .. //depot/projects/trustedbsd/mac/usr.bin/netstat/route.c#9 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/burncd/burncd.8#14 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/cdcontrol/cdcontrol.1#7 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/cdcontrol/cdcontrol.c#12 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/jail/jail.8#14 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/moused/moused.c#8 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/mtree/spec.c#6 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/Makefile#11 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/config.c#16 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/help/securelevel.hlp#1 branch .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/help/security.hlp#3 delete .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/install.c#24 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/menus.c#28 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/sysinstall/sysinstall.h#22 integrate .. //depot/projects/trustedbsd/mac/usr.sbin/tzsetup/tzsetup.c#4 integrate Differences ... ==== //depot/projects/trustedbsd/mac/UPDATING#35 (text+ko) ==== @@ -20,10 +20,10 @@ 20031112: The statfs structure has been updated with 64-bit fields to allow accurate reporting of multi-terabyte filesystem - sizes. You should build and boot a new kernel BEFORE doing a - `make world' as the new kernel will know about binaries using - the old statfs structure, but an old kernel will not know - about the new system calls that support the new statfs + sizes. You should build world, then build and boot the new kernel + BEFORE doing a `installworld' as the new kernel will know about + binaries using the old statfs structure, but an old kernel will + not know about the new system calls that support the new statfs structure. Note that the backwards compatibility is only present when the kernel is configured with the COMPAT_FREEBSD4 option. Since @@ -1431,4 +1431,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.281 2003/11/14 22:11:44 marcel Exp $ +$FreeBSD: src/UPDATING,v 1.282 2003/11/17 23:25:16 rwatson Exp $ ==== //depot/projects/trustedbsd/mac/bin/Makefile.inc#11 (text+ko) ==== @@ -1,9 +1,9 @@ # @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile.inc,v 1.19 2003/11/16 04:57:28 gordon Exp $ +# $FreeBSD: src/bin/Makefile.inc,v 1.20 2003/11/19 16:59:00 marcel Exp $ BINDIR?= /bin WARNS?= 6 -.if defined(NO_DYNAMICROOT) +.if defined(NO_DYNAMICROOT) || ${MACHINE_ARCH} == "ia64" NOSHARED?= YES .endif ==== //depot/projects/trustedbsd/mac/contrib/bind/CHANGES#9 (text+ko) ==== @@ -1,4 +1,9 @@ + --- 8.3.7-REL released --- (Wed Sep 3 21:01:37 PDT 2003) + +1581. [bug] apply anti-cache poison techniques to negative + answers. + --- 8.3.6-REL released --- (Sun Jun 8 15:11:32 PDT 2003) 1547. [port] cope with spurious EINVAL from evRead. ==== //depot/projects/trustedbsd/mac/contrib/bind/README#8 (text+ko) ==== @@ -10,6 +10,9 @@ Note that BIND 8 is in "end-of-life", having been replaced by BIND 9. See http://www.isc.org/ for more details. +BIND 8.3.7 Highlights + Security release. + BIND 8.3.6 Highlights Maintenance release. ==== //depot/projects/trustedbsd/mac/contrib/bind/Version#8 (text+ko) ==== @@ -1,1 +1,1 @@ -8.3.6-REL +8.3.7-REL ==== //depot/projects/trustedbsd/mac/contrib/bind/bin/named/ns_init.c#5 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_init.c 4.38 (Berkeley) 3/21/91"; -static const char rcsid[] = "$Id: ns_init.c,v 8.77 2002/08/20 04:27:23 marka Exp $"; +static const char rcsid[] = "$Id: ns_init.c,v 8.77.8.2 2003/09/04 04:09:09 marka Exp $"; #endif /* not lint */ /* ==== //depot/projects/trustedbsd/mac/contrib/bind/bin/named/ns_resp.c#9 (text+ko) ==== @@ -1,6 +1,6 @@ #if !defined(lint) && !defined(SABER) static const char sccsid[] = "@(#)ns_resp.c 4.65 (Berkeley) 3/3/91"; -static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.4 2003/06/02 09:56:35 marka Exp $"; +static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.5 2003/09/04 03:03:18 marka Exp $"; #endif /* not lint */ /* @@ -271,7 +271,7 @@ int soacount; u_int qtype, qclass; int validanswer, dbflags; - int cname, lastwascname, externalcname; + int cname, lastwascname, externalcname, cachenegative; int count, founddata, foundname; int buflen; int newmsglen; @@ -911,6 +911,7 @@ cname = 0; lastwascname = 0; externalcname = 0; + cachenegative = 1; strcpy(aname, qname); if (count) { @@ -980,6 +981,7 @@ name); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_CNAME && @@ -1014,6 +1016,7 @@ "last was cname, ignoring auth. and add."); db_detach(&dp); validanswer = 0; + cachenegative = 0; break; } if (i < arfirst) { @@ -1029,6 +1032,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } else if (!ns_samedomain(name, qp->q_domain)) { @@ -1042,6 +1046,7 @@ sin_ntoa(from)); db_detach(&dp); validanswer = 0; + cachenegative = 0; continue; } if (type == T_NS) { @@ -1205,8 +1210,9 @@ ) ) { - cache_n_resp(msg, msglen, from, qp->q_name, - qp->q_class, qp->q_type); + if (cachenegative) + cache_n_resp(msg, msglen, from, qp->q_name, + qp->q_class, qp->q_type); if (!qp->q_cmsglen && validanswer) { ns_debug(ns_log_default, 3, ==== //depot/projects/trustedbsd/mac/contrib/bind/bin/nslookup/commands.l#5 (text+ko) ==== @@ -1,5 +1,5 @@ %{ -/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.10 2002/07/01 01:20:28 dougb Exp $ */ +/* $FreeBSD: src/contrib/bind/bin/nslookup/commands.l,v 1.11 2003/11/28 22:02:17 dougb Exp $ */ /* * Copyright (c) 1985 * The Regents of the University of California. All rights reserved. @@ -77,7 +77,6 @@ * exit - exit the program * root - set default server to the root * ls NAME - list the domain NAME - * view FILE - sorts and view the file with more * set OPTION - set an option * help - print help information * ? - print help information @@ -103,7 +102,6 @@ extern char rootServerName[]; extern void PrintHelp(); -extern void ViewList(char *); #define YY_INPUT(buf, result, max_size) \ { \ ==== //depot/projects/trustedbsd/mac/contrib/openpam/lib/openpam_ttyconv.c#17 (text) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#22 $ + * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#23 $ */ #include @@ -179,13 +179,13 @@ resp[i]->resp = NULL; switch (msg[i]->msg_style) { case PAM_PROMPT_ECHO_OFF: - resp[i]->resp = prompt_echo_off(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt_echo_off(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_PROMPT_ECHO_ON: - resp[i]->resp = prompt(msg[i]->msg); - if (resp[i]->resp == NULL) + (*resp[i]).resp = prompt(msg[i]->msg); + if ((*resp[i]).resp == NULL) goto fail; break; case PAM_ERROR_MSG: @@ -206,11 +206,13 @@ } RETURNC(PAM_SUCCESS); fail: - while (i) - if (resp[--i]->resp) { - memset(resp[i]->resp, 0, strlen(resp[i]->resp)); - FREE(resp[i]->resp); + for (i = 0; i < n; ++i) { + if ((*resp[i]).resp != NULL) { + memset((*resp[i]).resp, 0, strlen((*resp[i]).resp)); + FREE((*resp[i]).resp); } + } + memset(*resp, 0, n * sizeof **resp); FREE(*resp); RETURNC(PAM_CONV_ERR); } ==== //depot/projects/trustedbsd/mac/etc/defaults/rc.conf#31 (text+ko) ==== @@ -13,7 +13,7 @@ # # All arguments must be in double or single quotes. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.190 2003/10/03 21:33:39 phk Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.191 2003/11/28 17:28:42 bms Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -71,6 +71,9 @@ firewall_flags="" # Flags passed to ipfw when type is a file ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port +ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) +ike_program="/usr/local/sbin/isakmpd" # Path to IKE daemon +ike_flags="" # Additional flags for IKE daemon ipsec_enable="NO" # Set to YES to run setkey on ipsec_file ipsec_file="/etc/ipsec.conf" # Name of config file for setkey natd_program="/sbin/natd" # path to natd, if you want a different one. ==== //depot/projects/trustedbsd/mac/etc/mtree/BSD.include.dist#29 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.77 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -9,6 +9,16 @@ .. bsnmp .. + c++ + 3.3 + backward + .. + bits + .. + ext + .. + .. + .. cam scsi .. @@ -18,12 +28,12 @@ dev an .. + firewire + .. ic .. iicbus .. - firewire - .. ofw .. ppbus @@ -58,21 +68,13 @@ .. smbfs .. + udf + .. umapfs .. unionfs .. .. - c++ - 3.3 - backward - .. - bits - .. - ext - .. - .. - .. geom .. isc ==== //depot/projects/trustedbsd/mac/etc/mtree/BSD.local.dist#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.103 2003/11/08 05:18:25 davidxu Exp $ +# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.104 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -449,14 +449,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN - .. zh_CN.GB18030 .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. ==== //depot/projects/trustedbsd/mac/etc/mtree/BSD.sendmail.dist#2 (text+ko) ==== @@ -1,12 +1,12 @@ -# $FreeBSD: src/etc/mtree/BSD.sendmail.dist,v 1.1 2002/04/20 19:00:11 gshapiro Exp $ +# $FreeBSD: src/etc/mtree/BSD.sendmail.dist,v 1.2 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # /set type=dir uname=root gname=wheel mode=0755 -. nochange - var nochange - spool nochange +. nochange + var nochange + spool nochange clientmqueue uname=smmsp gname=smmsp mode=0770 .. .. ==== //depot/projects/trustedbsd/mac/etc/mtree/BSD.usr.dist#30 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.286 2003/11/10 09:06:38 harti Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.287 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -519,14 +519,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN + zh_CN.GB18030 .. - zh_CN.GB18030 - .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. @@ -853,14 +853,14 @@ .. uk_UA.KOI8-U .. - zh_CN.eucCN - .. zh_CN.GB18030 .. zh_CN.GB2312 .. zh_CN.GBK .. + zh_CN.eucCN + .. zh_TW.Big5 .. .. @@ -890,8 +890,8 @@ Etc .. .. - security - .. + security + .. sendmail .. skel ==== //depot/projects/trustedbsd/mac/etc/mtree/BSD.var.dist#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.var.dist,v 1.67 2002/11/04 07:50:48 markm Exp $ +# $FreeBSD: src/etc/mtree/BSD.var.dist,v 1.68 2003/11/29 18:22:01 ru Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -33,12 +33,10 @@ pkg .. .. - empty mode=0555 flags=schg + empty mode=0555 flags=schg .. -/set gname=games mode=0775 - games + games gname=games mode=0775 .. -/set gname=wheel mode=0755 heimdal mode=0700 .. log ==== //depot/projects/trustedbsd/mac/gnu/usr.bin/gzip/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 5.3 (Berkeley) 5/12/90 -# $FreeBSD: src/gnu/usr.bin/gzip/Makefile,v 1.24 2002/09/17 01:48:49 peter Exp $ +# $FreeBSD: src/gnu/usr.bin/gzip/Makefile,v 1.25 2003/11/17 05:18:36 obrien Exp $ PROG= gzip SRCS= gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c \ @@ -12,8 +12,6 @@ SCRIPTS=gzexe zdiff zforce zmore znew MAN= gzexe.1 gzip.1 zdiff.1 zforce.1 zmore.1 znew.1 -NOSHARED?=yes - LINKS+= ${BINDIR}/gzip ${BINDIR}/gunzip LINKS+= ${BINDIR}/gzip ${BINDIR}/gzcat LINKS+= ${BINDIR}/gzip ${BINDIR}/zcat ==== //depot/projects/trustedbsd/mac/gnu/usr.bin/tar/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/tar/Makefile,v 1.17 2002/06/05 07:00:41 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/tar/Makefile,v 1.18 2003/11/17 05:16:26 obrien Exp $ TARDIR= ${.CURDIR}/../../../contrib/tar .PATH: ${TARDIR}/lib ${TARDIR}/src @@ -18,6 +18,4 @@ CFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR} -I${TARDIR}/lib -I${TARDIR}/src -NOSHARED?= YES - .include ==== //depot/projects/trustedbsd/mac/include/Makefile#38 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.206 2003/10/29 00:32:25 peter Exp $ +# $FreeBSD: src/include/Makefile,v 1.207 2003/11/22 06:08:59 scottl Exp $ # # Doing a "make install" builds /usr/include. @@ -34,7 +34,7 @@ LSUBDIRS= cam/scsi dev/an dev/ic dev/iicbus dev/firewire dev/ofw \ dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ - fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \ + fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ ==== //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/compat/compat4x.i386/Makefile,v 1.21 2003/02/17 13:45:13 nectar Exp $ +# $FreeBSD: src/lib/compat/compat4x.i386/Makefile,v 1.22 2003/11/29 03:29:16 obrien Exp $ DISTRIBUTION= compat4x @@ -7,16 +7,22 @@ libc_r.so.4 \ libcrypto.so.1 \ libcrypto.so.2 \ + libdevstat.so.2 \ libgmp.so.3 \ libedit.so.3 \ libfetch.so.2 \ + libmp.so.3 \ libpam.so.1 \ libperl.so.3 \ libposix1e.so.2 \ + libskey.so.2 \ libssl.so.1 \ libssl.so.2 \ libstdc++.so.3 \ libusb.so.0 \ + libusbhid.so.0 \ + libutil.so.3 \ + libvgl.so.2 \ pam_cleartext_pass_ok.so \ pam_deny.so \ pam_opie.so \ ==== //depot/projects/trustedbsd/mac/lib/compat/compat4x.i386/libc.so.4.bz2.uu#3 (text+ko) ==== @@ -1,4245 +1,4276 @@ -$FreeBSD: src/lib/compat/compat4x.i386/libc.so.4.bz2.uu,v 1.2 2002/12/18 18:05:06 obrien Exp $ +$FreeBSD: src/lib/compat/compat4x.i386/libc.so.4.bz2.uu,v 1.3 2003/11/29 03:29:16 obrien Exp $ -begin-base64 444 libc.so.4.bz2 -QlpoOTFBWSZTWRIru2wCmBb/////////////////////////////////////////////45DFQAD7 -2eu4fe6PJfMjI8p6GNsAAIjb3Ad7egbp3B3ZoaoUAK0BfYABkWIMA4Ud9lOr2t9922aPXw7PAAIB -6XvdXE97dTT7dbt63oQKpE2+7va9s6N3alw9O54FyR2js76we9jc0qhZiZq97vPbXJnaQy2Q1uB1 -6e8aY+Weu7e+ghWAAAdCd3He88vebxuxrNthoRmAADtovcqqu4oANO9569vvtz20uOY6NLu6u192 -8H24vvYqn3nHvOURM6oGY7s17t569zDrPXNYD6MToFAM2AA2+1M7NvtxigABoAAAD0FBYxQSFBAU -QAAADQAMlACiqdABVAADQdAFABIct7aF3w3gdXt9fAAAAAAAAAAAHo+ntz17O29CteHPt54ECIAA -AAAB7OC9tdhs2pVTZ9d8QEAAA6ABvoBvN9m7ux0dAAC7AOIqUypKXVGVE93vPVVUKtdN7e76AAoA -B53T32e3wAAADgGun329vOfADvIMhdfYp1ezr533vRg8eAA3wAA7ucG+K3j5ziD21b2OhurMbl2T -3nPvvfOH3M6dhfO+2A085686u8fToPte3ANOV0drzj6r3prdutQrNU19xG93t4d12a4bxXNADCiq -JUBnndK7FFXqwACXWdmffWevGPSe7tvuPe2jMru8JtTNtVtd7PvOw331928eAATmhh7pinj3Z773 -Hs9txtmvui+to9u923hnYDu9mezW90vrDumPsx6E+dGte8LsPZh7pYG8292efd27Hsw0hDbD3pjv -evqHNn3mffdw+99cOrbLfRvSTz4T7ve+4PQ+2dO73uu8H0dQ9GNJZLWswR933eDmw+199u+5TXx5 -3vu77t6fB8Pdr0vrdfBvh3vfeuj0o3q2wO+fW998PHsCHi9uHIj7M5b7zeWe998Ph72cSAF97fav -r1777D7j1yrT04J1Z7YdO+e1573dPvdt94DPM2ZnZ9724+2d6NLTpKkzlUfe77w94rXsfeUhR6zP -o7TWtsKaB0BkULYNASAL1RlrSqjz4+g+PvrNoul0r7Pe+7PjdFaH21dOujt7Z95xvfWADr30e3uA -+97jJU1AdFMH3uPIns2e+90pa9yKCpVCBfW6nCuaHK4LuNNt9dHAdD1PvieAKOPnkzePIgAAAAUA -AGlN3c9sAem5X2TQoUUvqc3vIARnYU6KO8vNpRrffH0oqqfN8z7G33OwdOdbe9K+2dE7tL3zs7XT -XRXmwGV4x3vjyve77lWmz7K+ud3erz3OtZbvbBJc9fb3BpbJe3UAHPfNfGH0uHUFBPe03zK6+d87 -VUOj1Rp9PRJ1eRzttsmh9ddrO7t98+d4dy+3Pc33dz1XfOm48vWj3LcLjG21ER3XdfbVCrY577uv -opXQaPrxe+59mHu9m2a+mStNG5582TL0+zktmuX3nXp53y9Qbuiu1UWlVottNab67pKmjShRvoQj -d3DrIO5tr41dKvp9cfXHOujUo0pUnrFFaOpSOiMNA9rzvmeHE4MwiwmDnN94mffb59vnAc1Jnp7V -B3p9oHet8d8AGUQJ62+w1yUdO7S13cdp1kmILVur577ul3fDXlddOFaD6UiUTtfEPcojzOpdK1nn -SzAWsPqu6NKQduvMIAfQA6DTqQ66V0y2Z3YBQdCh0ZczKux7fXUSHi53ckT7vAfL25Zvnz6lFKAo -A7YDd3Bdobtt7N7yUO1yzLq97wY2nscdz248Pag52cVboClV0CkQAAaKABNgA6Bide53LWNfT3Nj -bbPol9tFdGywfRoAV21C1qCIFB1e+97rfSbUdHbO7nDodFwS2Is3XR0NdEqCQBXQyBVaOtFDoAdN -b3u6JHQZ2GnkAUAffDeG+i3FfXd6k56s2lOdvRoDJVGjVAXp3Kd03vr6ngvN6ZVThr4VX3d2eOtc -AAOzrX1QB06MlQNAAPLtoFu3WxYL48Wwo6+W3W4VVAK5sBbXyfce7nm8bjoA5oHvnxc9SHt025pu -3tm7muAXx7j7333m+b0+i9xuo+7fQ+95wPQm977crr733cr74dbvnd649h57r7sfd11599e3R253 -bd30N77B8nfL7O73h7eM9Sx3fX3tBtr3n11qVvke93Ub2333EDX2ONfVefAdHztz75x8PrrFZtb6 -vt7Yz1X16XsL3dxBpq0y1tvrtzx5jseed9AAAAY++zX13e3eh7sOph6+sjsd33YevPjeTPn2N09f -X3x8su2p73nrbzTdjq7HBu93g6GgN6b33H2rbT3Sl7d2Br770K3Pvb71M23WiB1IBKKKUooJHTKl -FSQkWzVSqBCBIBFJKlTR26u2SVltrJQi573nJ7bAdGvuZQUFeq9dAc+p99bYPs333V3u8r13vtvU -WIyr3zoT33J2Ofcj23TQO7l3deafee97eTvbWl3eG33PrrUw74tjtuVKADBPp83LBt3neAADyGgA -AYAOgNAd97vvcYeW6mqgE97Op770AAHr6AAAHyBpIAru+3ngAAUqQAHx9B6vV7ngXZ9X3Me75423 -Pke3b7doQAOhpq3th0AlCFBEFAL2bjAANEigCgJA2ZvXOIRQNhboB077h9dse7BWg97FrR7sJsAE -5Rp65DXda9IBDttVkoI5bQLrb3evLx2zu7oOHJt33uTzABGAMK5DU0QIAE0AAAAAAmABMCDINBoG -gA0AAGmgAAAAAAAEwJgJgmTEZGTTRkaAaGjQ0BpPUGggmQBAAQAAQAAEYgGgAABMARiZNA0A0GgT -CYBMAAjAJiDJkBoDRplMAaj0AExME0amg0yCIICAmmgAEBoAABMmEZBoaAAmCZMmE00amDTVN6DJ -oU9NCbCnkwqfkyaj0YmRmoNGIVPeVPTU/ICZqm2p6GpoTxNJ5TZUEmkiEQQEAEMhDRlMNTTJqbJo -ZNGhMamTRlHqemFN6mmjQyjwjVPYVN5UeiftU8TEU/TSmzIo/TKDZKep+kxqT1N6U8U3pJvVNP0p -5T0h5RptRo09IG0jJ6giSIhGQmhoAEnpkmmBoTATJkyaqf6MI00aMEJ6ZSn7JoaD1JshPQ0E0000 -0yMmTaTTCYjJinppgpqfianqm9T0wp6YjJpPTEKfk1J+kTxqepo1BIiICAmQEAABGgaAAAJkwJk0 -DQmAJkwA1MmBME0NNMmgBoE8RqYNEzSYAEwJkyGTE0MphoaNBNqpvJqnsMvf/VmsLojmGqAbMDt1 -41BfIPQGHYR/bh0cuy6pOY9LUIHZMbvfIAP5/8ZMDTrhCOzRBunAonzpNiSdo71OqP/EZT9OTQe2 -kOt4zh9XByZ3OwfSu+89/8YrkHh26ZaPLqj9L9fCLxAAiABQ0s/Pyfv60gHO1oYdhlo3ZATLkeVU -6bELhO+G4MlvrDzfED3Xl1IJpfkCcv0fykoxkm8Q88qyfYjD7fDH1Pr/PZvdqmysZlQt5NQZnqe8 -LMotfumUnBQhgwfUWecPMabLTU8dpJiEumwoG5y3TVRdgYcAuPSbthlcVXNw8wgtFSFvHXF4tn9k -RK3QMBoi21TpBwzL9l+x/3TuyFxL2eovez7fxLbcAREwIFBlyMHa6F/h52LGIXCEiJKeBIWTSQtt -4m9jxOnnEh5ND8tgm8mDqhO1RTvmlk1P2rexakK5yUmjuAJUtkNhUGK10S29O+VdOcL3BkqwJglR -kQmhTgpm54SYmNmfGZJkzZWq5tNsJvlZn17YLIwmjHjFqdmXCHFTzz82M9QypZZVtKLs2I4XlFos -GDey3YUWfazZcbRRzLwtWnt0MbDMZHNF+NkIZm4W5Vv8j7oy4nrRP0GZY0p8yW5n7URlyXXiZEaN -2l3dNdxzwyFyblgbVez99nY5LWNwcNMb/W27unpWirwJWDmMs80O2M+C2GTDlzcivMhom3qE2zUy -501Oo2mtcq85XVPAHqDI18KEFFUY32m3VpNmlaAetSpzicQ3yC9qoO6O4bDndHcAxoVILjkGbXaE -Zhs4Ur1hLv55JtjdLxMS3AwzNTHEk0dT92VoH/7eYrCI2zHQfFw6LTQUJASBEOvQcrQ52PyrYc9D -c5lzU6XV5XKjGTni3v35l5GwM/fMMZOP0nF7Dm88qHIDr6cq63m66Bz0+1hW8s6WLQcKOlud7WLr -mLkpbGgUXtmoKBobaa01CYMPgJuQa63zPVzdAMDN3tu0NGQJ5eknk6fK1tei3YmwKY1bjny98cgU -iBbwyYZbZkwwADMgJTtx8noOe4XPZ+/fN7zS0p252hiYVkEz9PSmONKl031EYmoUd2/gf37Wvfqn -jfc186+odzfBcEXOHc1aDuDnZENo0GbUrbLbZN3i+rPu4OHPmxcZrVvZeDmVT3eHkjHlcrqxzzOF -4PZD/Pxrs2RGjk9n3K5tjS4LISa/0OD6ZjZ6QN5isb3ezWKGKkgmUxMcGKYhpA0yfrWGt2GM0zWq -TEC5ZNjJUxMtbagGMDTFDSVkXSR1SYJLbdawPfymn9chtmIHCG2QBZWAKAVUmIDILaBIVES8LRUt -66fwzOmn7f8+vGYdr2OTaaKwNbfR3cTLlmGsgCiAwHBevf5WO5nW9gyIDq4JTgeISmXcEkNyfVX2 -yQyGxpt3qy+vl+q6P9n/bzZl8jKLEY8wOUE4STrbLxYsN9wgTE2l3iJ+COFVgEhKX2Fn/Ogc1Eva -1Kgi8OHcnF4LPMPMypCgkxDwi6fKJdQZp3U+zd3l3Kp4py75QTTlJGhQECGsgj8kpUcgP9nZRZ33 -/HakolWKTUs6f8lIMXPETEu/9r95fosdbhLQa8a1iiYlW/bjEWgDlREVEYxAxGITIgufOmHEO4Rt -AomIcunlWQ/9nR0tngBvj3BoCqLLFIYu2OSeEXMk46VUtQTg/bW2RoeQewME3xSAVytNWIQ3xtn2 -gRECImuXOXjG6r+2Be1+F0f/z+HjV4urXZpKscDwSEF2JRXfXE77lLlBOfof/cW6HMyMAlgryhe8 -dlDhH2WR13HL9ub9V+Uiv/V3UxaY8+sP7MJY733uF9Uctm4I79DvbK6HnYivRkJsL5YweussvrQm -RNFF/y8PecX4fq+wab6j/JiNeyTpb+DXZp613JBxceF6yRUqKDxQmBuGg5KMGoFCQZkkPB/N/H0I -fa9T8kep+Tp+Hq0vxa2/lNHXgvVik8O+a+dz8XuCDuPPyqGDa6sUay0o5P+J2JLeB8RreFyrNI3x >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 29 21:13:11 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADA1216A4D0; Sat, 29 Nov 2003 21:13:11 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8103016A4CE for ; Sat, 29 Nov 2003 21:13:11 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9B6343FE1 for ; Sat, 29 Nov 2003 21:13:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU5DAXJ094282 for ; Sat, 29 Nov 2003 21:13:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU5DAPn094279 for perforce@freebsd.org; Sat, 29 Nov 2003 21:13:10 -0800 (PST) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 29 Nov 2003 21:13:10 -0800 (PST) Message-Id: <200311300513.hAU5DAPn094279@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 43168 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 05:13:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=43168 Change 43168 by rwatson@rwatson_tislabs on 2003/11/29 21:12:29 Diff reduction on looped back file. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_label.c#3 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_label.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD"); +__FBSDID("$FreeBSD: src/sys/security/mac/mac_label.c,v 1.1 2003/11/12 03:14:29 rwatson Exp $"); #include "opt_mac.h" From owner-p4-projects@FreeBSD.ORG Sat Nov 29 22:39:57 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 41B6E16A4D0; Sat, 29 Nov 2003 22:39:57 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B90C16A4CE for ; Sat, 29 Nov 2003 22:39:57 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D50A643FA3 for ; Sat, 29 Nov 2003 22:39:55 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAU6dtXJ097898 for ; Sat, 29 Nov 2003 22:39:55 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAU6dtIB097895 for perforce@freebsd.org; Sat, 29 Nov 2003 22:39:55 -0800 (PST) (envelope-from sam@freebsd.org) Date: Sat, 29 Nov 2003 22:39:55 -0800 (PST) Message-Id: <200311300639.hAU6dtIB097895@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 Subject: PERFORCE change 43169 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2003 06:39:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=43169 Change 43169 by sam@sam_ebb on 2003/11/29 22:39:44 more radiotap shuffling based on exchanges with dyoung: o updated radiotap.h to be committed w/ tcpdump changes o drop rx timestamp (simplifies wi driver) Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#44 edit .. //depot/projects/netperf/sys/dev/wi/if_wi.c#18 edit .. //depot/projects/netperf/sys/dev/wi/if_wireg.h#6 edit .. //depot/projects/netperf/sys/net80211/ieee80211_radiotap.h#6 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#44 (text+ko) ==== ==== //depot/projects/netperf/sys/dev/wi/if_wi.c#18 (text+ko) ==== @@ -487,8 +487,7 @@ sc->sc_tx_th.wt_ihdr.it_present = WI_TX_RADIOTAP_PRESENT; sc->sc_rx_th.wr_ihdr.it_len = sizeof(sc->sc_rx_th); - sc->sc_rx_th.wr_ihdr.it_present = WI_RX_RADIOTAP_PRESENT0; - sc->sc_rx_th.wr_present1 = WI_RX_RADIOTAP_PRESENT1; + sc->sc_rx_th.wr_ihdr.it_present = WI_RX_RADIOTAP_PRESENT; #endif return (0); } @@ -1530,9 +1529,6 @@ WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_signal); sc->sc_rx_th.wr_antnoise = WI_RSSI_TO_DBM(sc, frmhdr.wi_rx_silence); - sc->sc_rx_th.wr_time = - htole32((frmhdr.wi_rx_tstamp1 << 16) | - frmhdr.wi_rx_tstamp0); sc->sc_rx_th.wr_flags = 0; if (frmhdr.wi_status & WI_STAT_PCF) sc->sc_rx_th.wr_flags |= IEEE80211_RADIOTAP_F_CFP; ==== //depot/projects/netperf/sys/dev/wi/if_wireg.h#6 (text+ko) ==== @@ -684,26 +684,21 @@ /* * Radio capture format for Prism. */ -#define WI_RX_RADIOTAP_PRESENT0 \ +#define WI_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ (1 << IEEE80211_RADIOTAP_RATE) | \ (1 << IEEE80211_RADIOTAP_CHANNEL) | \ (1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL) | \ - (1 << IEEE80211_RADIOTAP_DB_ANTNOISE) | \ - (1 << IEEE80211_RADIOTAP_EXT)) + (1 << IEEE80211_RADIOTAP_DB_ANTNOISE)) -#define WI_RX_RADIOTAP_PRESENT1 (1 << (IEEE80211_RADIOTAP_TIME - 32)) - struct wi_rx_radiotap_header { struct ieee80211_radiotap_header wr_ihdr; - u_int32_t wr_present1; u_int8_t wr_flags; u_int8_t wr_rate; u_int16_t wr_chan_freq; u_int16_t wr_chan_flags; u_int8_t wr_antsignal; u_int8_t wr_antnoise; - u_int32_t wr_time; }; #define WI_TX_RADIOTAP_PRESENT \ ==== //depot/projects/netperf/sys/net80211/ieee80211_radiotap.h#6 (text+ko) ==== @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/net80211/ieee80211_radiotap.h,v 1.1 2003/09/05 22:19:32 sam Exp $ */ -/* $NetBSD: ieee80211_radiotap.h,v 1.2 2003/09/14 01:14:55 dyoung Exp $ */ +/* $NetBSD: ieee80211_radiotap.h,v 1.3 2003/11/16 09:02:42 dyoung Exp $ */ /*- * Copyright (c) 2003, 2004 David Young. All rights reserved. @@ -46,9 +46,11 @@ * function of...") that I cannot set false expectations for lawyerly * readers. */ +#ifdef _KERNEL #ifndef DLT_IEEE802_11_RADIO #define DLT_IEEE802_11_RADIO 127 /* 802.11 plus WLAN header */ #endif +#endif /* _KERNEL */ /* The radio capture header precedes the 802.11 header. */ struct ieee80211_radiotap_header { @@ -94,15 +96,27 @@ * * Tx/Rx data rate * - * IEEE80211_RADIOTAP_DB_ANTSIGNAL int8_t decibel (dB) + * IEEE80211_RADIOTAP_DBM_ANTSIGNAL int8_t decibels from + * one milliwatt (dBm) + * + * RF signal power at the antenna, decibel difference from + * one milliwatt. + * + * IEEE80211_RADIOTAP_DBM_ANTNOISE int8_t decibels from + * one milliwatt (dBm) + * + * RF noise power at the antenna, decibel difference from one + * milliwatt. + * + * IEEE80211_RADIOTAP_DB_ANTSIGNAL u_int8_t decibel (dB) * - * RF signal power at the antenna, measured from a fixed, - * arbitrary reference point. + * RF signal power at the antenna, decibel difference from an + * arbitrary, fixed reference. * - * IEEE80211_RADIOTAP_DB_ANTNOISE int8_t decibel (dB) + * IEEE80211_RADIOTAP_DB_ANTNOISE u_int8_t decibel (dB) * - * RF noise power at the antenna in decibels from an arbitrary, - * fixed reference point. + * RF noise power at the antenna, decibel difference from an + * arbitrary, fixed reference point. * * IEEE80211_RADIOTAP_BARKER_CODE_LOCK u_int16_t unitless * @@ -123,8 +137,8 @@ * set at factory calibration. 0 is max power. Monotonically * nondecreasing with lower power levels. * - * IEEE80211_RADIOTAP_DBM_TX_POWER u_int16_t decibels from - * milliwatt (dBm) + * IEEE80211_RADIOTAP_DBM_TX_POWER int8_t decibels from + * one milliwatt (dBm) * * Transmit power expressed as dBm (decibels from a 1 milliwatt * reference). This is the absolute power level measured at @@ -135,14 +149,6 @@ * Properties of transmitted and received frames. See flags * defined below. * - * IEEE80211_RADIOTAP_TIME u_int32_t microseconds - * - * For radios that provide it: packet arrival time in - * microseconds. Prism hardware will provide this, but it is - * not known whether it marks the first or the last bit of - * the frame. Nor is it known where that bit has arrived - * (antenna, modem, MAC?) when the time is measured. - * * IEEE80211_RADIOTAP_ANTENNA u_int8_t antenna index * * Unitless indication of the Rx/Tx antenna for this packet. @@ -154,17 +160,30 @@ IEEE80211_RADIOTAP_RATE = 2, IEEE80211_RADIOTAP_CHANNEL = 3, IEEE80211_RADIOTAP_FHSS = 4, - IEEE80211_RADIOTAP_DB_ANTSIGNAL = 5, - IEEE80211_RADIOTAP_DB_ANTNOISE = 6, + IEEE80211_RADIOTAP_DBM_ANTSIGNAL = 5, + IEEE80211_RADIOTAP_DBM_ANTNOISE = 6, IEEE80211_RADIOTAP_LOCK_QUALITY = 7, IEEE80211_RADIOTAP_TX_ATTENUATION = 8, IEEE80211_RADIOTAP_DB_TX_ATTENUATION = 9, IEEE80211_RADIOTAP_DBM_TX_POWER = 10, IEEE80211_RADIOTAP_ANTENNA = 11, + IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12, + IEEE80211_RADIOTAP_DB_ANTNOISE = 13, IEEE80211_RADIOTAP_EXT = 31, - IEEE80211_RADIOTAP_TIME = 32 }; +#ifndef _KERNEL +/* Channel flags. */ +#define IEEE80211_CHAN_TURBO 0x0010 /* Turbo channel */ +#define IEEE80211_CHAN_CCK 0x0020 /* CCK channel */ +#define IEEE80211_CHAN_OFDM 0x0040 /* OFDM channel */ +#define IEEE80211_CHAN_2GHZ 0x0080 /* 2 GHz spectrum channel. */ +#define IEEE80211_CHAN_5GHZ 0x0100 /* 5 GHz spectrum channel */ +#define IEEE80211_CHAN_PASSIVE 0x0200 /* Only passive scan allowed */ +#define IEEE80211_CHAN_DYN 0x0400 /* Dynamic CCK-OFDM channel */ +#define IEEE80211_CHAN_GFSK 0x0800 /* GFSK channel (FHSS PHY) */ +#endif /* !_KERNEL */ + /* For IEEE80211_RADIOTAP_FLAGS */ #define IEEE80211_RADIOTAP_F_CFP 0x01 /* sent/received * during CFP