From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 08:42:17 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71FA91065673; Sun, 28 Jun 2009 08:42:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 616228FC1E; Sun, 28 Jun 2009 08:42:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5S8gH3O006386; Sun, 28 Jun 2009 08:42:17 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5S8gH3q006384; Sun, 28 Jun 2009 08:42:17 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906280842.n5S8gH3q006384@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 28 Jun 2009 08:42:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195131 - head/sys/vm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 08:42:17 -0000 Author: kib Date: Sun Jun 28 08:42:17 2009 New Revision: 195131 URL: http://svn.freebsd.org/changeset/base/195131 Log: Eliminiate code duplication by calling vm_object_destroy() from vm_object_collapse(). Requested and reviewed by: alc Approved by: re (kensmith) Modified: head/sys/vm/vm_object.c Modified: head/sys/vm/vm_object.c ============================================================================== --- head/sys/vm/vm_object.c Sun Jun 28 02:23:51 2009 (r195130) +++ head/sys/vm/vm_object.c Sun Jun 28 08:42:17 2009 (r195131) @@ -1782,25 +1782,11 @@ vm_object_collapse(vm_object_t object) * and no object references within it, all that is * necessary is to dispose of it. */ - if (backing_object->uip != NULL) { - swap_release_by_uid(backing_object->charge, - backing_object->uip); - backing_object->charge = 0; - uifree(backing_object->uip); - backing_object->uip = NULL; - } - KASSERT(backing_object->ref_count == 1, ("backing_object %p was somehow re-referenced during collapse!", backing_object)); + KASSERT(backing_object->ref_count == 1, ( +"backing_object %p was somehow re-referenced during collapse!", + backing_object)); VM_OBJECT_UNLOCK(backing_object); - - mtx_lock(&vm_object_list_mtx); - TAILQ_REMOVE( - &vm_object_list, - backing_object, - object_list - ); - mtx_unlock(&vm_object_list_mtx); - - uma_zfree(obj_zone, backing_object); + vm_object_destroy(backing_object); object_collapses++; } else { From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 08:59:47 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00FC7106564A; Sun, 28 Jun 2009 08:59:47 +0000 (UTC) (envelope-from blackend@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E1FDC8FC08; Sun, 28 Jun 2009 08:59:46 +0000 (UTC) (envelope-from blackend@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5S8xkmd006821; Sun, 28 Jun 2009 08:59:46 GMT (envelope-from blackend@svn.freebsd.org) Received: (from blackend@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5S8xkjS006812; Sun, 28 Jun 2009 08:59:46 GMT (envelope-from blackend@svn.freebsd.org) Message-Id: <200906280859.n5S8xkjS006812@svn.freebsd.org> From: Marc Fonvieille Date: Sun, 28 Jun 2009 08:59:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195132 - in head: . release release/scripts usr.sbin/sysinstall X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 08:59:47 -0000 Author: blackend (doc committer) Date: Sun Jun 28 08:59:46 2009 New Revision: 195132 URL: http://svn.freebsd.org/changeset/base/195132 Log: - release/* update to use freebsd-doc-* packages instead of building FreeBSD docset during 'make release' this will speed up release builds; - sysinstall(8) has also been updated to use these packages with a new menu allowing people to choose what localized doc to install; - mention in UPDATING that docs from the FreeBSD Documentation project are now installed in /usr/local/share/doc/freebsd instead of /usr/share/doc. Approved by: re (kensmith) Modified: head/UPDATING head/release/Makefile head/release/scripts/package-split.py head/usr.sbin/sysinstall/dist.c head/usr.sbin/sysinstall/dist.h head/usr.sbin/sysinstall/doc.c head/usr.sbin/sysinstall/menus.c head/usr.sbin/sysinstall/sysinstall.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Sun Jun 28 08:42:17 2009 (r195131) +++ head/UPDATING Sun Jun 28 08:59:46 2009 (r195132) @@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + 20090624: The ABI of various structures related to the SYSV IPC API have been changed. As a result, the COMPAT_FREEBSD[456] kernel Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Sun Jun 28 08:42:17 2009 (r195131) +++ head/release/Makefile Sun Jun 28 08:59:46 2009 (r195132) @@ -39,6 +39,10 @@ BUILDNAME?=${BASE}-${DATE}-SNAP # checking out from a local CVS repository, set this option. #EXTPORTSDIR=/usr/ports # +# To use a checked-out doc/ directory instead of +# checking out from a local CVS repository, set this option. +#EXTDOCDIR=/usr/doc +# # To add other options to the CVS subcommands (co,up), set #CVSCMDARGS="-D '01/01/2002 00:00:00 UTC'" # @@ -91,15 +95,13 @@ RELEASEPORTSMODULE?= ports # the ports tree, so NOPORTS can be set together with NODOC in order # to have neither ports or docs. If only NOPORTS is set to YES, but # docs are still desired, the DOMINIMALDOCPORTS logic below will only -# install the ports that are minimally required for the docs. This is +# install the ports that are minimally required for the release note documentation. This is # intended as a compromise, less disk space is required than for using # the entire ports collection (and much less time due to the huge number # of directories it would create), but still quite a bit as well as some # CPU cycles (some of the programs are C++, and things like ghostscript # belong to the required ports nevertheless). # -# Setting this also disables building of release note documentation -# (RELNOTESng). #NODOC= YES #NOPORTS= YES @@ -141,11 +143,6 @@ NOPORTSATALL= YES # # Doing 'make index' in /usr/ports requires Perl. MAKEINDEXPORTS= lang/perl5.8 -# By default, documentation (Handbook, FAQ, etc.) is built for all -# the languages. To speed up building, set the DOC_LANG to just -# the languages you need. (The language for the release notes is -# controlled by the RELNOTES_LANG variable above.) -#DOC_LANG= en_US.ISO8859-1 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -348,7 +345,7 @@ release rerelease: @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if defined(NOPORTSATALL) && !defined(NODOC) - @echo "Ports are required for building the docs. Either set NODOC or" + @echo "Ports are required for building the release docs. Either set NODOC or" @echo "unset NOPORTS, or set at least DOMINIMALDOCPORTS to YES!" @exit 1 .endif @@ -477,7 +474,6 @@ release rerelease: BUILDNAME \ CD_PACKAGE_TREE \ DISTRIBUTIONS \ - DOC_LANG \ DOMINIMALDOCPORTS \ EXTRA_SRC \ FTP_PASSIVE_MODE \ @@ -1037,21 +1033,7 @@ cdrom.2: @echo "Building CDROM docs filesystem image" @mkdir -p ${CD_DOCS} @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf - @mkdir -p ${CD_DOCS}/usr/share/doc -.if defined(MAKE_DVD) - @mkdir -p ${CD_DVD1}/usr/share/doc -.endif - @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ - if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ - -d /usr/doc/$$i ]; then \ - mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DOCS}/usr/share/doc; \ - fi \ - done -.if defined(MAKE_DVD) - @cd ${CD_DOCS}/usr/share/doc && find . -print | \ - cpio -dumpl ${CD_DVD1}/usr/share/doc -.endif + @echo "CD_VOLUME = 3" >> ${CD_DOCS}/cdrom.inf .endif touch ${.TARGET} @@ -1082,6 +1064,11 @@ CD_DISC1_PKGS= ${CD_PACKAGE_TREE}/disc1 .if exists(${CD_PACKAGE_TREE}/disc2) CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2 .endif +# scripts/package-trees.sh names all discs according to the "discX" +# scheme where X is the number of the disc +.if exists(${CD_PACKAGE_TREE}/disc3) +CD_DOCS_PKGS= ${CD_PACKAGE_TREE}/disc3 +.endif .if exists(${CD_PACKAGE_TREE}/dvd1) CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif @@ -1113,7 +1100,8 @@ iso.1: .if !defined(NODOC) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ FreeBSD_Documentation \ - ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} + ${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ + ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ @@ -1139,9 +1127,6 @@ doc.1: make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all install 'FORMATS=html html-split txt' \ - INSTALL_COMPRESSED='' DOCDIR=${RD}/trees/base/usr/share/doc \ - URLS_ABSOLUTE=YES touch ${.TARGET} # Modified: head/release/scripts/package-split.py ============================================================================== --- head/release/scripts/package-split.py Sun Jun 28 08:42:17 2009 (r195131) +++ head/release/scripts/package-split.py Sun Jun 28 08:59:46 2009 (r195132) @@ -86,11 +86,34 @@ def disc2_packages(): 'ports-mgmt/portaudit']) return pkgs +def docs_packages(): + pkgs = ['misc/freebsd-doc-bn', + 'misc/freebsd-doc-da', + 'misc/freebsd-doc-de', + 'misc/freebsd-doc-el', + 'misc/freebsd-doc-en', + 'misc/freebsd-doc-es', + 'misc/freebsd-doc-fr', + 'misc/freebsd-doc-hu', + 'misc/freebsd-doc-it', + 'misc/freebsd-doc-ja', + 'misc/freebsd-doc-mn', + 'misc/freebsd-doc-nl', + 'misc/freebsd-doc-pl', + 'misc/freebsd-doc-pt', + 'misc/freebsd-doc-ru', + 'misc/freebsd-doc-sr', + 'misc/freebsd-doc-tr', + 'misc/freebsd-doc-zh_cn', + 'misc/freebsd-doc-zh_tw'] + return pkgs + # The list of desired packages def desired_packages(): disc1 = disc1_packages() disc2 = disc2_packages() - return [disc1, disc2] + docs = docs_packages() + return [disc1, disc2, docs] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second Modified: head/usr.sbin/sysinstall/dist.c ============================================================================== --- head/usr.sbin/sysinstall/dist.c Sun Jun 28 08:42:17 2009 (r195131) +++ head/usr.sbin/sysinstall/dist.c Sun Jun 28 08:59:46 2009 (r195132) @@ -44,6 +44,7 @@ #include unsigned int Dists; +unsigned int DocDists; unsigned int SrcDists; unsigned int KernelDists; @@ -60,6 +61,7 @@ typedef struct _dist { } my_data; } Distribution; +static Distribution DocDistTable[]; static Distribution KernelDistTable[]; static Distribution SrcDistTable[]; @@ -77,7 +79,8 @@ static Distribution SrcDistTable[]; static Distribution DistTable[] = { DTE_TARBALL("base", &Dists, BASE, "/"), DTE_SUBDIST("kernels", &Dists, KERNEL, KernelDistTable), - DTE_TARBALL("doc", &Dists, DOC, "/"), + DTE_TARBALL("doc", &Dists, DOCUSERLAND, "/"), + DTE_SUBDIST("docproj", &Dists, DOC, DocDistTable), DTE_TARBALL("games", &Dists, GAMES, "/"), DTE_TARBALL("manpages", &Dists, MANPAGES, "/"), DTE_TARBALL("catpages", &Dists, CATPAGES, "/"), @@ -128,6 +131,30 @@ static Distribution SrcDistTable[] = { DTE_END, }; +/* The Documentation distribution */ +static Distribution DocDistTable[] = { + DTE_PACKAGE("Bengali Documentation", &DocDists, DOC_BN, "bn-freebsd-doc"), + DTE_PACKAGE("Danish Documentation", &DocDists, DOC_DA, "da-freebsd-doc"), + DTE_PACKAGE("German Documentation", &DocDists, DOC_DE, "de-freebsd-doc"), + DTE_PACKAGE("Greek Documentation", &DocDists, DOC_EL, "el-freebsd-doc"), + DTE_PACKAGE("English Documentation", &DocDists, DOC_EN, "en-freebsd-doc"), + DTE_PACKAGE("Spanish Documentation", &DocDists, DOC_ES, "es-freebsd-doc"), + DTE_PACKAGE("French Documentation", &DocDists, DOC_FR, "fr-freebsd-doc"), + DTE_PACKAGE("Hungarian Documentation", &DocDists, DOC_HU, "hu-freebsd-doc"), + DTE_PACKAGE("Italian Documentation", &DocDists, DOC_IT, "it-freebsd-doc"), + DTE_PACKAGE("Japanese Documentation", &DocDists, DOC_JA, "ja-freebsd-doc"), + DTE_PACKAGE("Mongolian Documentation", &DocDists, DOC_MN, "mn-freebsd-doc-mn"), + DTE_PACKAGE("Dutch Documentation", &DocDists, DOC_NL, "nl-freebsd-doc"), + DTE_PACKAGE("Polish Documentation", &DocDists, DOC_PL, "pl-freebsd-doc"), + DTE_PACKAGE("Portuguese Documentation", &DocDists, DOC_PT, "pt-freebsd-doc"), + DTE_PACKAGE("Russian Documentation", &DocDists, DOC_RU, "ru-freebsd-doc"), + DTE_PACKAGE("Serbian Documentation", &DocDists, DOC_SR, "sr-freebsd-doc"), + DTE_PACKAGE("Turkish Documentation", &DocDists, DOC_TR, "tr-freebsd-doc"), + DTE_PACKAGE("Simplified Chinese Documentation", &DocDists, DOC_ZH_CN, "zh_cn-freebsd-doc"), + DTE_PACKAGE("Traditional Chinese Documentation", &DocDists, DOC_ZH_TW, "zh_tw-freebsd-doc"), + DTE_END, +}; + static int distMaybeSetPorts(dialogMenuItem *self); static void @@ -137,15 +164,18 @@ distVerifyFlags(void) Dists |= DIST_SRC; if (KernelDists) Dists |= DIST_KERNEL; + if (DocDists) + Dists |= DIST_DOC; if (isDebug()) - msgDebug("Dist Masks: Dists: %0x, Srcs: %0x Kernels: %0x\n", Dists, - SrcDists, KernelDists); + msgDebug("Dist Masks: Dists: %0x, Srcs: %0x Kernels: %0x Docs: %0x\n", Dists, + SrcDists, KernelDists, DocDists); } int distReset(dialogMenuItem *self) { Dists = 0; + DocDists = 0; SrcDists = 0; KernelDists = 0; return DITEM_SUCCESS | DITEM_REDRAW; @@ -161,6 +191,9 @@ distConfig(dialogMenuItem *self) if ((cp = variable_get(VAR_DIST_MAIN)) != NULL) Dists = atoi(cp); + if ((cp = variable_get(VAR_DIST_DOC)) != NULL) + DocDists = atoi(cp); + if ((cp = variable_get(VAR_DIST_SRC)) != NULL) SrcDists = atoi(cp); @@ -191,7 +224,8 @@ distSetDeveloper(dialogMenuItem *self) Dists = _DIST_DEVELOPER; SrcDists = DIST_SRC_ALL; KernelDists = selectKernel(); - i = distMaybeSetPorts(self); + i = distSetDoc(self); + i |= distMaybeSetPorts(self); distVerifyFlags(); return i; } @@ -205,7 +239,8 @@ distSetKernDeveloper(dialogMenuItem *sel Dists = _DIST_DEVELOPER; SrcDists = DIST_SRC_SYS | DIST_SRC_BASE; KernelDists = selectKernel(); - i = distMaybeSetPorts(self); + i = distSetDoc(self); + i |= distMaybeSetPorts(self); distVerifyFlags(); return i; } @@ -218,7 +253,8 @@ distSetUser(dialogMenuItem *self) distReset(NULL); Dists = _DIST_USER; KernelDists = selectKernel(); - i = distMaybeSetPorts(self); + i = distSetDoc(self); + i |= distMaybeSetPorts(self); distVerifyFlags(); return i; } @@ -241,6 +277,7 @@ distSetEverything(dialogMenuItem *self) Dists = DIST_ALL; SrcDists = DIST_SRC_ALL; KernelDists = DIST_KERNEL_ALL; + DocDists = DIST_DOC_ALL; i = distMaybeSetPorts(self); distVerifyFlags(); return i | DITEM_REDRAW; @@ -741,6 +778,61 @@ distExtract(char *parent, Distribution * return status; } +int +distSetDoc(dialogMenuItem *self) +{ + int i; + + dialog_clear_norefresh(); + if (!dmenuOpenSimple(&MenuDocInstall, FALSE)) + i = DITEM_FAILURE; + else + i = DITEM_SUCCESS; + + distVerifyFlags(); + + return i | DITEM_RESTORE; +} + +int +distSetDocMenu(dialogMenuItem *self) +{ + int i, status; + WINDOW *w; + + if (RunningAsInit && !strstr(variable_get(SYSTEM_STATE), "install")) { + msgConfirm("This option may only be used after the system is installed, sorry!"); + return DITEM_FAILURE; + } + + dialog_clear_norefresh(); + if (!dmenuOpenSimple(&MenuDocInstall, FALSE)) + i = DITEM_FAILURE; + else + i = DITEM_SUCCESS; + + distVerifyFlags(); + + dialog_clear_norefresh(); + w = savescr(); + msgNotify("Attempting to install all selected documentations..."); + + for (i = 0; DocDistTable[i].my_name; i++) { + if (!(DocDistTable[i].my_bit & *(DocDistTable[i].my_mask))) + continue; + dialog_clear_norefresh(); + msgNotify("Installing %s distribution...", DocDistTable[i].my_name); + status = (package_add(DocDistTable[i].my_data.my_string) == DITEM_SUCCESS); + if (!status) + break; + } + + dialog_clear_norefresh(); + + restorescr(w); + return (status ? DITEM_SUCCESS : DITEM_FAILURE); +} + static void printSelected(char *buf, int selected, Distribution *me, int *col) { Modified: head/usr.sbin/sysinstall/dist.h ============================================================================== --- head/usr.sbin/sysinstall/dist.h Sun Jun 28 08:42:17 2009 (r195131) +++ head/usr.sbin/sysinstall/dist.h Sun Jun 28 08:59:46 2009 (r195132) @@ -10,6 +10,7 @@ #define DIST_PROFLIBS 0x00008 #define DIST_DICT 0x00010 #define DIST_SRC 0x00020 +/* Documentation from FreeBSD docproj */ #define DIST_DOC 0x00040 #define DIST_INFO 0x00080 #define DIST_CATPAGES 0x00200 @@ -19,8 +20,32 @@ #define DIST_LIB32 0x01000 #endif #define DIST_KERNEL 0x02000 +/* Userland documentation */ +#define DIST_DOCUSERLAND 0x04000 #define DIST_ALL 0xFFFFF +/* Subtypes for DOC packages */ +#define DIST_DOC_BN 0x00001 +#define DIST_DOC_DA 0x00002 +#define DIST_DOC_DE 0x00004 +#define DIST_DOC_EL 0x00008 +#define DIST_DOC_EN 0x00010 +#define DIST_DOC_ES 0x00020 +#define DIST_DOC_FR 0x00040 +#define DIST_DOC_HU 0x00080 +#define DIST_DOC_IT 0x00100 +#define DIST_DOC_JA 0x00200 +#define DIST_DOC_MN 0x00400 +#define DIST_DOC_NL 0x00800 +#define DIST_DOC_PL 0x01000 +#define DIST_DOC_PT 0x02000 +#define DIST_DOC_RU 0x04000 +#define DIST_DOC_SR 0x08000 +#define DIST_DOC_TR 0x10000 +#define DIST_DOC_ZH_CN 0x20000 +#define DIST_DOC_ZH_TW 0x40000 +#define DIST_DOC_ALL 0xFFFFF + /* Subtypes for SRC distribution */ #define DIST_SRC_BASE 0x00001 #define DIST_SRC_CONTRIB 0x00002 @@ -53,7 +78,7 @@ /* Canned distribution sets */ #define _DIST_USER \ - ( DIST_BASE | DIST_KERNEL | DIST_DOC | DIST_MANPAGES | DIST_DICT ) + ( DIST_BASE | DIST_KERNEL | DIST_DOC | DIST_DOCUSERLAND | DIST_MANPAGES | DIST_DICT ) #define _DIST_DEVELOPER \ ( _DIST_USER | DIST_PROFLIBS | DIST_INFO | DIST_SRC ) Modified: head/usr.sbin/sysinstall/doc.c ============================================================================== --- head/usr.sbin/sysinstall/doc.c Sun Jun 28 08:42:17 2009 (r195131) +++ head/usr.sbin/sysinstall/doc.c Sun Jun 28 08:59:46 2009 (r195132) @@ -101,12 +101,12 @@ docShowDocument(dialogMenuItem *self) strcpy(target, where); } else if (strstr(str, "FAQ")) { - where = strcpy(target, "/usr/share/doc/faq/index.html"); + where = strcpy(target, "/usr/local/share/doc/freebsd/faq/index.html"); if (!file_readable(target)) where = strcpy(target, "http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq"); } else if (strstr(str, "Handbook")) { - where = strcpy(target, "/usr/share/doc/handbook/index.html"); + where = strcpy(target, "/usr/local/share/doc/freebsd/handbook/index.html"); if (!file_readable(target)) where = strcpy(target, "http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook"); } @@ -117,7 +117,7 @@ docShowDocument(dialogMenuItem *self) } else { msgConfirm("Hmmmmm! I can't seem to access the documentation you selected!\n" - "Have you loaded the base distribution? Is your network connected?"); + "Have you installed the english documentation? Is your network connected?"); return DITEM_FAILURE; } } Modified: head/usr.sbin/sysinstall/menus.c ============================================================================== --- head/usr.sbin/sysinstall/menus.c Sun Jun 28 08:42:17 2009 (r195131) +++ head/usr.sbin/sysinstall/menus.c Sun Jun 28 08:59:46 2009 (r195132) @@ -72,6 +72,15 @@ clearKernel(dialogMenuItem *self) return DITEM_SUCCESS | DITEM_REDRAW; } +static int +setDocAll(dialogMenuItem *self) +{ + Dists |= DIST_DOC; + DocDists = DIST_DOC_ALL; + return DITEM_SUCCESS | DITEM_REDRAW; +} + + #define _IS_SET(dist, set) (((dist) & (set)) == (set)) #define IS_DEVELOPER(dist, extra) (_IS_SET(dist, _DIST_DEVELOPER | extra) || \ @@ -108,6 +117,7 @@ static int checkDistEverything(dialogMenuItem *self) { return Dists == DIST_ALL && + _IS_SET(DocDists, DIST_DOC_ALL) && _IS_SET(SrcDists, DIST_SRC_ALL) && _IS_SET(KernelDists, DIST_KERNEL_ALL); } @@ -125,6 +135,12 @@ kernelFlagCheck(dialogMenuItem *item) } static int +docFlagCheck(dialogMenuItem *item) +{ + return DocDists; +} + +static int checkTrue(dialogMenuItem *item) { return TRUE; @@ -167,6 +183,7 @@ DMenu MenuIndex = { { " Dists, User", "Select average user distribution.", checkDistUser, distSetUser }, { " Distributions, Adding", "Installing additional distribution sets", NULL, distExtractAll }, { " Documentation", "Installation instructions, README, etc.", NULL, dmenuSubmenu, NULL, &MenuDocumentation }, + { " Documentation Installation", "Installation of FreeBSD documentation set", NULL, distSetDocMenu }, { " Doc, README", "The distribution README file.", NULL, dmenuDisplayFile, NULL, "README" }, { " Doc, Errata", "The distribution errata.", NULL, dmenuDisplayFile, NULL, "ERRATA" }, { " Doc, Hardware", "The distribution hardware guide.", NULL, dmenuDisplayFile, NULL, "HARDWARE" }, @@ -286,6 +303,62 @@ DMenu MenuDocumentation = { { NULL } }, }; +/* The FreeBSD documentation installation menu */ +DMenu MenuDocInstall = { + DMENU_CHECKLIST_TYPE | DMENU_SELECTION_RETURNS, + "FreeBSD Documentation Installation Menu", + "This menu will allow you to install the whole documentation set\n" + "from the FreeBSD Documentation Project: Handbook, FAQ and articles.\n\n" + "Please select the language versions you wish to install. At minimum,\n" + "you should install the English version, this is the original version\n" + "of the documentation.", + NULL, + NULL, + { { "X Exit", "Exit this menu (returning to previous)", + checkTrue, dmenuExit, NULL, NULL, '<', '<', '<' }, + { "All", "Select all below", + NULL, setDocAll, NULL, NULL, ' ', ' ', ' ' }, + { " bn", "Bengali Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_BN }, + { " da", "Danish Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_DA }, + { " de", "German Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_DE }, + { " el", "Greek Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_EL }, + { " en", "English Documentation (recommended)", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_EN }, + { " es", "Spanish Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_ES }, + { " fr", "French Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_FR }, + { " hu", "Hungarian Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_HU }, + { " it", "Italian Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_IT }, + { " ja", "Japanese Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_JA }, + { " mn", "Mongolian Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_MN }, + { " nl", "Dutch Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_NL }, + { " pl", "Polish Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_PL }, + { " pt", "Portuguese Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_PT }, + { " ru", "Russian Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_RU }, + { " sr", "Serbian Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_SR }, + { " tr", "Turkish Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_TR }, + { " zh_cn", "Simplified Chinese Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_ZH_CN }, + { " zh_tw", "Traditional Chinese Documentation", + dmenuFlagCheck, dmenuSetFlag, NULL, &DocDists, '[', 'X', ']', DIST_DOC_ZH_TW }, + { NULL } }, +}; + #ifdef WITH_MICE DMenu MenuMouseType = { DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS, @@ -917,8 +990,10 @@ DMenu MenuSubDistributions = { kernelFlagCheck,distSetKernel }, { " dict", "Spelling checker dictionary files", dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_DICT }, - { " doc", "Miscellaneous FreeBSD online docs", - dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_DOC }, + { " doc", "FreeBSD Documentation set", + docFlagCheck, distSetDoc }, + { " docuser", "Miscellaneous userland docs", + dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_DOCUSERLAND }, { " games", "Games (non-commercial)", dmenuFlagCheck, dmenuSetFlag, NULL, &Dists, '[', 'X', ']', DIST_GAMES }, { " info", "GNU info files", @@ -1138,6 +1213,8 @@ DMenu MenuConfigure = { NULL, dmenuExit }, { " Distributions", "Install additional distribution sets", NULL, distExtractAll }, + { " Documentation installation", "Install FreeBSD Documentation set", + NULL, distSetDocMenu }, { " Packages", "Install pre-packaged software for FreeBSD", NULL, configPackages }, { " Root Password", "Set the system manager's password", Modified: head/usr.sbin/sysinstall/sysinstall.h ============================================================================== --- head/usr.sbin/sysinstall/sysinstall.h Sun Jun 28 08:42:17 2009 (r195131) +++ head/usr.sbin/sysinstall/sysinstall.h Sun Jun 28 08:59:46 2009 (r195132) @@ -103,6 +103,7 @@ #define VAR_DIST_MAIN "distMain" #define VAR_DIST_SRC "distSRC" #define VAR_DIST_KERNEL "distKernel" +#define VAR_DIST_DOC "distDoc" #define VAR_DEDICATE_DISK "dedicateDisk" #define VAR_DOMAINNAME "domainname" #define VAR_EDITOR "editor" @@ -414,6 +415,7 @@ extern Boolean have_volumes; /* Media extern Variable *VarHead; /* The head of the variable chain */ extern Device *mediaDevice; /* Where we're getting our distribution from */ extern unsigned int Dists; /* Which distributions we want */ +extern unsigned int DocDists; /* Which Doc dists we want */ extern unsigned int SrcDists; /* Which src distributions we want */ extern unsigned int KernelDists; /* Which kernel dists we want */ extern int BootMgr; /* Which boot manager to use */ @@ -429,6 +431,7 @@ extern DMenu MenuMBRType; /* Type of M #endif #endif extern DMenu MenuConfigure; /* Final configuration menu */ +extern DMenu MenuDocInstall; /* Documentation Installation menu */ extern DMenu MenuDocumentation; /* Documentation menu */ extern DMenu MenuFTPOptions; /* FTP Installation options */ extern DMenu MenuIndex; /* Index menu */ @@ -599,6 +602,8 @@ extern int distSetMinimum(dialogMenuItem extern int distSetEverything(dialogMenuItem *self); extern int distSetSrc(dialogMenuItem *self); extern int distSetKernel(dialogMenuItem *self); +extern int distSetDoc(dialogMenuItem *self); +extern int distSetDocMenu(dialogMenuItem *self); extern int distExtractAll(dialogMenuItem *self); extern int selectKernel(void); From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 10:30:54 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CD67106566C; Sun, 28 Jun 2009 10:30:54 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0B8B38FC16; Sun, 28 Jun 2009 10:30:54 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SAUrSM009325; Sun, 28 Jun 2009 10:30:53 GMT (envelope-from phk@svn.freebsd.org) Received: (from phk@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SAUrbX009323; Sun, 28 Jun 2009 10:30:53 GMT (envelope-from phk@svn.freebsd.org) Message-Id: <200906281030.n5SAUrbX009323@svn.freebsd.org> From: Poul-Henning Kamp Date: Sun, 28 Jun 2009 10:30:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195133 - head/sys/dev/usb/wlan X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 10:30:54 -0000 Author: phk Date: Sun Jun 28 10:30:53 2009 New Revision: 195133 URL: http://svn.freebsd.org/changeset/base/195133 Log: Add ids of Sitecom USB wlan gadget. Approved by: re (kib) Modified: head/sys/dev/usb/wlan/if_urtw.c Modified: head/sys/dev/usb/wlan/if_urtw.c ============================================================================== --- head/sys/dev/usb/wlan/if_urtw.c Sun Jun 28 08:59:46 2009 (r195132) +++ head/sys/dev/usb/wlan/if_urtw.c Sun Jun 28 10:30:53 2009 (r195133) @@ -116,6 +116,7 @@ static const struct usb_device_id urtw_d URTW_DEV_L(NETGEAR, WG111V2), URTW_DEV_L(REALTEK, RTL8187), { USB_VPI(USB_VENDOR_SITECOMEU, 0x000d, URTW_REV_RTL8187L) }, + { USB_VPI(USB_VENDOR_SITECOMEU, 0x0028, URTW_REV_RTL8187B) }, { USB_VPI(USB_VENDOR_SPHAIRON, 0x0150, URTW_REV_RTL8187L) }, { USB_VPI(USB_VENDOR_SURECOM, 0x11f2, URTW_REV_RTL8187L) }, { USB_VPI(USB_VENDOR_QCOM, 0x6232, URTW_REV_RTL8187L) }, From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 11:28:14 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A647106564A; Sun, 28 Jun 2009 11:28:14 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 87AAE8FC1E; Sun, 28 Jun 2009 11:28:14 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SBSEaW010430; Sun, 28 Jun 2009 11:28:14 GMT (envelope-from phk@svn.freebsd.org) Received: (from phk@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SBSErp010426; Sun, 28 Jun 2009 11:28:14 GMT (envelope-from phk@svn.freebsd.org) Message-Id: <200906281128.n5SBSErp010426@svn.freebsd.org> From: Poul-Henning Kamp Date: Sun, 28 Jun 2009 11:28:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195134 - in head/sys: dev/ath/ath_hal/ar5416 kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 11:28:15 -0000 Author: phk Date: Sun Jun 28 11:28:14 2009 New Revision: 195134 URL: http://svn.freebsd.org/changeset/base/195134 Log: There are a number of ways an application can check if there are inbound data waiting on a filedescriptor, such as a pipe or a socket, for instance by using select(2), poll(2), kqueue(2), ioctl(FIONREAD) etc. But we have no way of finding out if written data have yet to be disposed of, for instance, transmitted (and ack'ed!) to some remote host, or read by the applicantion at the far end of the pipe. The closest we get, is calling shutdown(2) on a TCP socket in non-blocking mode, but this has the undesirable sideeffect of preventing future communication. Add a complement to FIONREAD, called FIONWRITE, which returns the number of bytes not yet properly disposed of. Implement it for all sockets. Background: A HTTP server will want to time out connections, if no new request arrives within a certain period after the last transmitted response has actually been sent (and ack'ed). For a busy HTTP server, this timeout can be subsecond duration. In order to signal to a load-balancer that the connection is truly dead, TCP_RST will be the preferred method, as this avoids the need for a RTT delay for FIN handshaking, with a client which, surprisingly often, no longer at the remote IP number. If a slow, distant client is being served a response which is big enough to fill the window, but small enough to fit in the socket buffer, the write(2) call will return immediately. If the session timeout is armed at that time, all bytes in the response may not have been transmitted by the time it fires. FIONWRITE allows the timeout to check that no data is outstanding on the connection, before it TCP_RST's it. Input & Idea from: rwatson Approved by: re (kib) Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c head/sys/kern/sys_socket.c head/sys/sys/filio.h Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Jun 28 10:30:53 2009 (r195133) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Jun 28 11:28:14 2009 (r195134) @@ -124,7 +124,7 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO if (!ar5416SetPowerMode(ah, HAL_PM_AWAKE, AH_TRUE)) { HALDEBUG(ah, HAL_DEBUG_ANY, "%s: chip did not wakeup\n", __func__); - FAIL(HAL_EIO); + // FAIL(HAL_EIO); } /* Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Sun Jun 28 10:30:53 2009 (r195133) +++ head/sys/kern/sys_socket.c Sun Jun 28 11:28:14 2009 (r195134) @@ -169,6 +169,11 @@ soo_ioctl(struct file *fp, u_long cmd, v *(int *)data = so->so_rcv.sb_cc; break; + case FIONWRITE: + /* Unlocked read. */ + *(int *)data = so->so_snd.sb_cc; + break; + case FIOSETOWN: error = fsetown(*(int *)data, &so->so_sigio); break; Modified: head/sys/sys/filio.h ============================================================================== --- head/sys/sys/filio.h Sun Jun 28 10:30:53 2009 (r195133) +++ head/sys/sys/filio.h Sun Jun 28 11:28:14 2009 (r195134) @@ -55,6 +55,7 @@ struct fiodgname_arg { void *buf; }; #define FIODGNAME _IOW('f', 120, struct fiodgname_arg) /* get dev. name */ +#define FIONWRITE _IOR('f', 119, int) /* get # bytes (yet) to write */ /* Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. */ #define FIOSEEKDATA _IOWR('f', 97, off_t) /* SEEK_DATA */ #define FIOSEEKHOLE _IOWR('f', 98, off_t) /* SEEK_HOLE */ From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 11:32:52 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0A741065672; Sun, 28 Jun 2009 11:32:52 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9EE718FC08; Sun, 28 Jun 2009 11:32:52 +0000 (UTC) (envelope-from phk@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SBWqEc010558; Sun, 28 Jun 2009 11:32:52 GMT (envelope-from phk@svn.freebsd.org) Received: (from phk@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SBWqhv010556; Sun, 28 Jun 2009 11:32:52 GMT (envelope-from phk@svn.freebsd.org) Message-Id: <200906281132.n5SBWqhv010556@svn.freebsd.org> From: Poul-Henning Kamp Date: Sun, 28 Jun 2009 11:32:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195135 - head/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 11:32:53 -0000 Author: phk Date: Sun Jun 28 11:32:52 2009 New Revision: 195135 URL: http://svn.freebsd.org/changeset/base/195135 Log: Revert a local change that should not have been in the last commit. Approved by: re (kib) Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Jun 28 11:28:14 2009 (r195134) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Jun 28 11:32:52 2009 (r195135) @@ -124,7 +124,7 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO if (!ar5416SetPowerMode(ah, HAL_PM_AWAKE, AH_TRUE)) { HALDEBUG(ah, HAL_DEBUG_ANY, "%s: chip did not wakeup\n", __func__); - // FAIL(HAL_EIO); + FAIL(HAL_EIO); } /* From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 11:35:17 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6F3B106564A; Sun, 28 Jun 2009 11:35:17 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 643828FC0A; Sun, 28 Jun 2009 11:35:17 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 525721CD00; Sun, 28 Jun 2009 13:35:16 +0200 (CEST) Date: Sun, 28 Jun 2009 13:35:16 +0200 From: Ed Schouten To: Poul-Henning Kamp Message-ID: <20090628113516.GN48776@hoeg.nl> References: <200906281128.n5SBSErp010426@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="8d9I0Osp43SsUQeq" Content-Disposition: inline In-Reply-To: <200906281128.n5SBSErp010426@svn.freebsd.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195134 - in head/sys: dev/ath/ath_hal/ar5416 kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 11:35:18 -0000 --8d9I0Osp43SsUQeq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Poul-Henning Kamp wrote: > Add a complement to FIONREAD, called FIONWRITE, which returns the > number of bytes not yet properly disposed of. Implement it for > all sockets. Shall I implement this for TTYs? --=20 Ed Schouten WWW: http://80386.nl/ --8d9I0Osp43SsUQeq Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpHVXQACgkQ52SDGA2eCwVp5QCfaylsYIkRun9oC4jLC4EWesRK t5cAn0OMNKOn0bJj8bG2+jFWypzSO1w1 =5bIh -----END PGP SIGNATURE----- --8d9I0Osp43SsUQeq-- From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 12:02:16 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49E9F106568E; Sun, 28 Jun 2009 12:02:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 372A28FC13; Sun, 28 Jun 2009 12:02:16 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SC2GD2011212; Sun, 28 Jun 2009 12:02:16 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SC2GNk011210; Sun, 28 Jun 2009 12:02:16 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906281202.n5SC2GNk011210@svn.freebsd.org> From: Ed Schouten Date: Sun, 28 Jun 2009 12:02:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195136 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 12:02:18 -0000 Author: ed Date: Sun Jun 28 12:02:15 2009 New Revision: 195136 URL: http://svn.freebsd.org/changeset/base/195136 Log: Add FIONWRITE support to TTYs. TTYs already supported TIOCOUTQ, but FIONWRITE seems to be a more generic name for this. Approved by: re (kib) Modified: head/sys/kern/tty.c Modified: head/sys/kern/tty.c ============================================================================== --- head/sys/kern/tty.c Sun Jun 28 11:32:52 2009 (r195135) +++ head/sys/kern/tty.c Sun Jun 28 12:02:15 2009 (r195136) @@ -1341,6 +1341,10 @@ tty_generic_ioctl(struct tty *tp, u_long case FIONREAD: *(int *)data = ttyinq_bytescanonicalized(&tp->t_inq); return (0); + case FIONWRITE: + case TIOCOUTQ: + *(int *)data = ttyoutq_bytesused(&tp->t_outq); + return (0); case FIOSETOWN: if (tp->t_session != NULL && !tty_is_ctty(tp, td->td_proc)) /* Not allowed to set ownership. */ @@ -1603,9 +1607,6 @@ tty_generic_ioctl(struct tty *tp, u_long case TIOCNXCL: tp->t_flags &= ~TF_EXCLUDE; return (0); - case TIOCOUTQ: - *(unsigned int *)data = ttyoutq_bytesused(&tp->t_outq); - return (0); case TIOCSTOP: tp->t_flags |= TF_STOPPED; ttydevsw_pktnotify(tp, TIOCPKT_STOP); From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 20:03:34 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70218106564A for ; Sun, 28 Jun 2009 20:03:34 +0000 (UTC) (envelope-from christoph.mallon@gmx.de) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id B75468FC13 for ; Sun, 28 Jun 2009 20:03:33 +0000 (UTC) (envelope-from christoph.mallon@gmx.de) Received: (qmail invoked by alias); 28 Jun 2009 20:03:31 -0000 Received: from p54A3CAD4.dip.t-dialin.net (EHLO tron.homeunix.org) [84.163.202.212] by mail.gmx.net (mp014) with SMTP; 28 Jun 2009 22:03:31 +0200 X-Authenticated: #1673122 X-Provags-ID: V01U2FsdGVkX1/KlZ1Zzr/KSUP3WfGYzlpv92I15XzLUL0e1brq6f xpo9vjcf7HdtWc Message-ID: <4A47CC93.5090908@gmx.de> Date: Sun, 28 Jun 2009 22:03:31 +0200 From: Christoph Mallon User-Agent: Thunderbird 2.0.0.22 (X11/20090628) MIME-Version: 1.0 To: Andre Oppermann References: <200906222308.n5MN856I055711@svn.freebsd.org> In-Reply-To: <200906222308.n5MN856I055711@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.53 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r194672 - in head/sys: kern netinet sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 20:03:34 -0000 Andre Oppermann schrieb: > Author: andre > Date: Mon Jun 22 23:08:05 2009 > New Revision: 194672 > URL: http://svn.freebsd.org/changeset/base/194672 > > Log: > Add soreceive_stream(), an optimized version of soreceive() for > stream (TCP) sockets. [...] > Modified: head/sys/kern/uipc_socket.c > ============================================================================== > --- head/sys/kern/uipc_socket.c Mon Jun 22 22:54:44 2009 (r194671) > +++ head/sys/kern/uipc_socket.c Mon Jun 22 23:08:05 2009 (r194672) > @@ -1857,6 +1857,202 @@ release: [...] > + /* We will never ever get anything unless we are connected. */ > + if (!(so->so_state & (SS_ISCONNECTED|SS_ISDISCONNECTED))) { > + /* When disconnecting there may be still some data left. */ > + if (sb->sb_cc > 0) > + goto deliver; > + if (!(so->so_state & SS_ISDISCONNECTED)) > + error = ENOTCONN; > + goto out; > + } It seems either the third "if" is redundant (because the condition of first "if" implies the condition of the third) or one of the conditions is wrong. Also there should be spaces around the |. Regards Christoph From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 20:52:12 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A5B21065674; Sun, 28 Jun 2009 20:52:12 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 19CD28FC13; Sun, 28 Jun 2009 20:52:12 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SKqBHw021582; Sun, 28 Jun 2009 20:52:11 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SKqBT7021580; Sun, 28 Jun 2009 20:52:11 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906282052.n5SKqBT7021580@svn.freebsd.org> From: Ed Schouten Date: Sun, 28 Jun 2009 20:52:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195146 - head/sys/dev/usb/serial X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 20:52:12 -0000 Author: ed Date: Sun Jun 28 20:52:11 2009 New Revision: 195146 URL: http://svn.freebsd.org/changeset/base/195146 Log: Don't pick up Giant inside ucom(4). Giant was only used here to lock down a bit mask of allocated unit numbers. Change the code to use its own mutex. Reviewed by: hselasky Approved by: re (kib) Modified: head/sys/dev/usb/serial/usb_serial.c Modified: head/sys/dev/usb/serial/usb_serial.c ============================================================================== --- head/sys/dev/usb/serial/usb_serial.c Sun Jun 28 17:24:27 2009 (r195145) +++ head/sys/dev/usb/serial/usb_serial.c Sun Jun 28 20:52:11 2009 (r195146) @@ -151,6 +151,8 @@ MODULE_VERSION(ucom, 1); #define UCOM_SUB_UNIT_MAX 0x100 /* exclusive */ static uint8_t ucom_bitmap[(UCOM_UNIT_MAX + 7) / 8]; +static struct mtx ucom_bitmap_mtx; +MTX_SYSINIT(ucom_bitmap_mtx, &ucom_bitmap_mtx, "ucom bitmap", MTX_DEF); static uint8_t ucom_units_alloc(uint32_t sub_units, uint32_t *p_root_unit) @@ -161,7 +163,7 @@ ucom_units_alloc(uint32_t sub_units, uin uint32_t max = UCOM_UNIT_MAX - (UCOM_UNIT_MAX % sub_units); uint8_t error = 1; - mtx_lock(&Giant); + mtx_lock(&ucom_bitmap_mtx); for (n = 0; n < max; n += sub_units) { @@ -192,7 +194,7 @@ ucom_units_alloc(uint32_t sub_units, uin skip: ; } - mtx_unlock(&Giant); + mtx_unlock(&ucom_bitmap_mtx); /* * Always set the variable pointed to by "p_root_unit" so that @@ -208,14 +210,14 @@ ucom_units_free(uint32_t root_unit, uint { uint32_t x; - mtx_lock(&Giant); + mtx_lock(&ucom_bitmap_mtx); while (sub_units--) { x = root_unit + sub_units; ucom_bitmap[x / 8] &= ~(1 << (x % 8)); } - mtx_unlock(&Giant); + mtx_unlock(&ucom_bitmap_mtx); } /* From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 21:49:44 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D33F106566C; Sun, 28 Jun 2009 21:49:44 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F03468FC3F; Sun, 28 Jun 2009 21:49:43 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SLnhSX022789; Sun, 28 Jun 2009 21:49:43 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SLnhm8022783; Sun, 28 Jun 2009 21:49:43 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200906282149.n5SLnhm8022783@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 28 Jun 2009 21:49:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195148 - in head/sys: kern netgraph sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 21:49:44 -0000 Author: stas Date: Sun Jun 28 21:49:43 2009 New Revision: 195148 URL: http://svn.freebsd.org/changeset/base/195148 Log: - Turn the third (islocked) argument of the knote call into flags parameter. Introduce the new flag KNF_NOKQLOCK to allow event callers to be called without KQ_LOCK mtx held. - Modify VFS knote calls to always use KNF_NOKQLOCK flag. This is required for ZFS as its getattr implementation may sleep. Approved by: re (rwatson) Reviewed by: kib MFC after: 2 weeks Modified: head/sys/kern/kern_event.c head/sys/netgraph/ng_ksocket.c head/sys/sys/event.h head/sys/sys/mount.h head/sys/sys/vnode.h Modified: head/sys/kern/kern_event.c ============================================================================== --- head/sys/kern/kern_event.c Sun Jun 28 21:01:00 2009 (r195147) +++ head/sys/kern/kern_event.c Sun Jun 28 21:49:43 2009 (r195148) @@ -1606,17 +1606,18 @@ kqueue_wakeup(struct kqueue *kq) * first. */ void -knote(struct knlist *list, long hint, int islocked) +knote(struct knlist *list, long hint, int lockflags) { struct kqueue *kq; struct knote *kn; + int error; if (list == NULL) return; - KNL_ASSERT_LOCK(list, islocked); + KNL_ASSERT_LOCK(list, lockflags & KNF_LISTLOCKED); - if (!islocked) + if ((lockflags & KNF_LISTLOCKED) == 0) list->kl_lock(list->kl_lockarg); /* @@ -1631,17 +1632,28 @@ knote(struct knlist *list, long hint, in kq = kn->kn_kq; if ((kn->kn_status & KN_INFLUX) != KN_INFLUX) { KQ_LOCK(kq); - if ((kn->kn_status & KN_INFLUX) != KN_INFLUX) { + if ((kn->kn_status & KN_INFLUX) == KN_INFLUX) { + KQ_UNLOCK(kq); + } else if ((lockflags & KNF_NOKQLOCK) != 0) { + kn->kn_status |= KN_INFLUX; + KQ_UNLOCK(kq); + error = kn->kn_fop->f_event(kn, hint); + KQ_LOCK(kq); + kn->kn_status &= ~KN_INFLUX; + if (error) + KNOTE_ACTIVATE(kn, 1); + KQ_UNLOCK_FLUX(kq); + } else { kn->kn_status |= KN_HASKQLOCK; if (kn->kn_fop->f_event(kn, hint)) KNOTE_ACTIVATE(kn, 1); kn->kn_status &= ~KN_HASKQLOCK; + KQ_UNLOCK(kq); } - KQ_UNLOCK(kq); } kq = NULL; } - if (!islocked) + if ((lockflags & KNF_LISTLOCKED) == 0) list->kl_unlock(list->kl_lockarg); } Modified: head/sys/netgraph/ng_ksocket.c ============================================================================== --- head/sys/netgraph/ng_ksocket.c Sun Jun 28 21:01:00 2009 (r195147) +++ head/sys/netgraph/ng_ksocket.c Sun Jun 28 21:49:43 2009 (r195148) @@ -1212,7 +1212,7 @@ ng_ksocket_finish_accept(priv_p priv) SOCK_UNLOCK(so); ACCEPT_UNLOCK(); - /* XXX KNOTE(&head->so_rcv.sb_sel.si_note, 0); */ + /* XXX KNOTE_UNLOCKED(&head->so_rcv.sb_sel.si_note, 0); */ soaccept(so, &sa); Modified: head/sys/sys/event.h ============================================================================== --- head/sys/sys/event.h Sun Jun 28 21:01:00 2009 (r195147) +++ head/sys/sys/event.h Sun Jun 28 21:49:43 2009 (r195148) @@ -136,8 +136,14 @@ struct knlist { MALLOC_DECLARE(M_KQUEUE); #endif -#define KNOTE(list, hist, lock) knote(list, hist, lock) -#define KNOTE_LOCKED(list, hint) knote(list, hint, 1) +/* + * Flags for knote call + */ +#define KNF_LISTLOCKED 0x0001 /* knlist is locked */ +#define KNF_NOKQLOCK 0x0002 /* do not keep KQ_LOCK */ + +#define KNOTE(list, hist, flags) knote(list, hist, flags) +#define KNOTE_LOCKED(list, hint) knote(list, hint, KNF_LISTLOCKED) #define KNOTE_UNLOCKED(list, hint) knote(list, hint, 0) #define KNLIST_EMPTY(list) SLIST_EMPTY(&(list)->kl_list) @@ -206,7 +212,7 @@ struct proc; struct knlist; struct mtx; -extern void knote(struct knlist *list, long hint, int islocked); +extern void knote(struct knlist *list, long hint, int lockflags); extern void knote_fork(struct knlist *list, int pid); extern void knlist_add(struct knlist *knl, struct knote *kn, int islocked); extern void knlist_remove(struct knlist *knl, struct knote *kn, int islocked); Modified: head/sys/sys/mount.h ============================================================================== --- head/sys/sys/mount.h Sun Jun 28 21:01:00 2009 (r195147) +++ head/sys/sys/mount.h Sun Jun 28 21:49:43 2009 (r195148) @@ -657,7 +657,7 @@ vfs_statfs_t __vfs_statfs; #define VFS_KNOTE_LOCKED(vp, hint) do \ { \ if (((vp)->v_vflag & VV_NOKNOTE) == 0) \ - VN_KNOTE((vp), (hint), 1); \ + VN_KNOTE((vp), (hint), KNF_LISTLOCKED); \ } while (0) #define VFS_KNOTE_UNLOCKED(vp, hint) do \ Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Sun Jun 28 21:01:00 2009 (r195147) +++ head/sys/sys/vnode.h Sun Jun 28 21:49:43 2009 (r195148) @@ -219,9 +219,10 @@ struct xvnode { #define VN_KNOTE(vp, b, a) \ do { \ if (!VN_KNLIST_EMPTY(vp)) \ - KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note, (b), (a)); \ + KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note, (b), \ + (a) | KNF_NOKQLOCK); \ } while (0) -#define VN_KNOTE_LOCKED(vp, b) VN_KNOTE(vp, b, 1) +#define VN_KNOTE_LOCKED(vp, b) VN_KNOTE(vp, b, KNF_LISTLOCKED) #define VN_KNOTE_UNLOCKED(vp, b) VN_KNOTE(vp, b, 0) /* From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 22:42:51 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B34AF106564A; Sun, 28 Jun 2009 22:42:51 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A0E838FC15; Sun, 28 Jun 2009 22:42:51 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SMgpnN023835; Sun, 28 Jun 2009 22:42:51 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SMgp4c023831; Sun, 28 Jun 2009 22:42:51 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <200906282242.n5SMgp4c023831@svn.freebsd.org> From: Marius Strobl Date: Sun, 28 Jun 2009 22:42:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195149 - in head/sys/sparc64: include sparc64 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 22:42:52 -0000 Author: marius Date: Sun Jun 28 22:42:51 2009 New Revision: 195149 URL: http://svn.freebsd.org/changeset/base/195149 Log: - Work around the broken loader behavior of not demapping no longer used kernel TLB slots when unloading the kernel or modules, which results in havoc when loading a kernel and modules which take up less TLB slots afterwards as the unused but locked ones aren't accounted for in virtual_avail. Eventually this should be fixed in the loader which isn't straight forward though and the kernel should be robust against this anyway. [1] - Ensure that the addresses allocated directly from phys_avail[] by pmap_bootstrap_alloc() are always colored properly. This implicit assumption was broken in r194784 as unlike the other consumers the DPCPU area allocated for the BSP isn't a multiple of PAGE_SIZE * DCACHE_COLORS. [2] - Remove the no longer used global msgbuf_phys. - Remove the redundant ekva parameter of pmap_bootstrap_alloc(). - Correct some outdated function names in ktr(9) invocations. Requested by: jhb [1] Reported by: gavin [2] Approved by: re (kib) MFC after: 2 weeks Modified: head/sys/sparc64/include/pmap.h head/sys/sparc64/sparc64/machdep.c head/sys/sparc64/sparc64/pmap.c Modified: head/sys/sparc64/include/pmap.h ============================================================================== --- head/sys/sparc64/include/pmap.h Sun Jun 28 21:49:43 2009 (r195148) +++ head/sys/sparc64/include/pmap.h Sun Jun 28 22:42:51 2009 (r195149) @@ -77,7 +77,7 @@ struct pmap { #define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) #define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) -void pmap_bootstrap(vm_offset_t ekva); +void pmap_bootstrap(void); vm_paddr_t pmap_kextract(vm_offset_t va); void pmap_kenter(vm_offset_t va, vm_page_t m); void pmap_kremove(vm_offset_t); @@ -103,8 +103,6 @@ extern vm_paddr_t phys_avail[]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; -extern vm_paddr_t msgbuf_phys; - #ifdef PMAP_STATS SYSCTL_DECL(_debug_pmap_stats); Modified: head/sys/sparc64/sparc64/machdep.c ============================================================================== --- head/sys/sparc64/sparc64/machdep.c Sun Jun 28 21:49:43 2009 (r195148) +++ head/sys/sparc64/sparc64/machdep.c Sun Jun 28 22:42:51 2009 (r195149) @@ -243,6 +243,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l char *env; struct pcpu *pc; vm_offset_t end; + vm_offset_t va; caddr_t kmdp; phandle_t child; phandle_t root; @@ -368,19 +369,28 @@ sparc64_init(caddr_t mdp, u_long o1, u_l * Panic if there is no metadata. Most likely the kernel was booted * directly, instead of through loader(8). */ - if (mdp == NULL || kmdp == NULL) { - printf("sparc64_init: no loader metadata.\n" + if (mdp == NULL || kmdp == NULL || end == 0 || + kernel_tlb_slots == 0 || kernel_tlbs == NULL) { + printf("sparc64_init: missing loader metadata.\n" "This probably means you are not using loader(8).\n"); panic("sparc64_init"); } /* - * Sanity check the kernel end, which is important. - */ - if (end == 0) { - printf("sparc64_init: warning, kernel end not specified.\n" - "Attempting to continue anyway.\n"); - end = (vm_offset_t)_end; + * Work around the broken loader behavior of not demapping no + * longer used kernel TLB slots when unloading the kernel or + * modules. + */ + for (va = KERNBASE + (kernel_tlb_slots - 1) * PAGE_SIZE_4M; + va >= roundup2(end, PAGE_SIZE_4M); va -= PAGE_SIZE_4M) { + printf("demapping unused kernel TLB slot (va %#lx - %#lx)\n", + va, va + PAGE_SIZE_4M - 1); + stxa(TLB_DEMAP_VA(va) | TLB_DEMAP_PRIMARY | TLB_DEMAP_PAGE, + ASI_DMMU_DEMAP, 0); + stxa(TLB_DEMAP_VA(va) | TLB_DEMAP_PRIMARY | TLB_DEMAP_PAGE, + ASI_IMMU_DEMAP, 0); + flush(KERNBASE); + kernel_tlb_slots--; } /* @@ -429,7 +439,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l /* * Initialize virtual memory and calculate physmem. */ - pmap_bootstrap(end); + pmap_bootstrap(); /* * Initialize tunables. @@ -752,6 +762,7 @@ cpu_shutdown(void *args) void cpu_flush_dcache(void *ptr, size_t len) { + /* TBD */ } Modified: head/sys/sparc64/sparc64/pmap.c ============================================================================== --- head/sys/sparc64/sparc64/pmap.c Sun Jun 28 21:49:43 2009 (r195148) +++ head/sys/sparc64/sparc64/pmap.c Sun Jun 28 22:42:51 2009 (r195149) @@ -119,10 +119,9 @@ __FBSDID("$FreeBSD$"); extern struct mtx sched_lock; /* - * Virtual and physical address of message buffer + * Virtual address of message buffer */ struct msgbuf *msgbufp; -vm_paddr_t msgbuf_phys; /* * Map of physical memory reagions @@ -277,7 +276,7 @@ om_cmp(const void *a, const void *b) * Bootstrap the system enough to run with virtual memory. */ void -pmap_bootstrap(vm_offset_t ekva) +pmap_bootstrap(void) { struct pmap *pm; struct tte *tp; @@ -365,13 +364,14 @@ pmap_bootstrap(vm_offset_t ekva) /* * Allocate and map the dynamic per-CPU area for the BSP. */ - dpcpu0 = (void *)TLB_PHYS_TO_DIRECT(pmap_bootstrap_alloc(DPCPU_SIZE)); + pa = pmap_bootstrap_alloc(DPCPU_SIZE); + dpcpu0 = (void *)TLB_PHYS_TO_DIRECT(pa); /* * Allocate and map the message buffer. */ - msgbuf_phys = pmap_bootstrap_alloc(MSGBUF_SIZE); - msgbufp = (struct msgbuf *)TLB_PHYS_TO_DIRECT(msgbuf_phys); + pa = pmap_bootstrap_alloc(MSGBUF_SIZE); + msgbufp = (struct msgbuf *)TLB_PHYS_TO_DIRECT(pa); /* * Patch the virtual address and the tsb mask into the trap table. @@ -420,10 +420,11 @@ pmap_bootstrap(vm_offset_t ekva) } /* - * Set the start and end of KVA. The kernel is loaded at the first - * available 4MB super page, so round up to the end of the page. + * Set the start and end of KVA. The kernel is loaded starting + * at the first available 4MB super page, so we advance to the + * end of the last one used for it. */ - virtual_avail = roundup2(ekva, PAGE_SIZE_4M); + virtual_avail = KERNBASE + kernel_tlb_slots * PAGE_SIZE_4M; virtual_end = vm_max_kernel_address; kernel_vm_end = vm_max_kernel_address; @@ -443,8 +444,7 @@ pmap_bootstrap(vm_offset_t ekva) * coloured properly, since we're allocating from phys_avail so the * memory won't have an associated vm_page_t. */ - pa = pmap_bootstrap_alloc(roundup(KSTACK_PAGES, DCACHE_COLORS) * - PAGE_SIZE); + pa = pmap_bootstrap_alloc(KSTACK_PAGES * PAGE_SIZE); kstack0_phys = pa; virtual_avail += roundup(KSTACK_GUARD_PAGES, DCACHE_COLORS) * PAGE_SIZE; @@ -587,7 +587,7 @@ pmap_bootstrap_alloc(vm_size_t size) vm_paddr_t pa; int i; - size = round_page(size); + size = roundup(size, PAGE_SIZE * DCACHE_COLORS); for (i = 0; phys_avail[i + 1] != 0; i += 2) { if (phys_avail[i + 1] - phys_avail[i] < size) continue; @@ -946,7 +946,7 @@ pmap_kremove_flags(vm_offset_t va) struct tte *tp; tp = tsb_kvtotte(va); - CTR3(KTR_PMAP, "pmap_kremove: va=%#lx tp=%p data=%#lx", va, tp, + CTR3(KTR_PMAP, "pmap_kremove_flags: va=%#lx tp=%p data=%#lx", va, tp, tp->tte_data); TTE_ZERO(tp); } @@ -1349,7 +1349,7 @@ pmap_enter_locked(pmap_t pm, vm_offset_t } CTR6(KTR_PMAP, - "pmap_enter: ctx=%p m=%p va=%#lx pa=%#lx prot=%#x wired=%d", + "pmap_enter_locked: ctx=%p m=%p va=%#lx pa=%#lx prot=%#x wired=%d", pm->pm_context[curcpu], m, va, pa, prot, wired); /* @@ -1357,7 +1357,7 @@ pmap_enter_locked(pmap_t pm, vm_offset_t * changed, must be protection or wiring change. */ if ((tp = tsb_tte_lookup(pm, va)) != NULL && TTE_GET_PA(tp) == pa) { - CTR0(KTR_PMAP, "pmap_enter: update"); + CTR0(KTR_PMAP, "pmap_enter_locked: update"); PMAP_STATS_INC(pmap_nenter_update); /* @@ -1414,12 +1414,12 @@ pmap_enter_locked(pmap_t pm, vm_offset_t * phsyical address, delete the old mapping. */ if (tp != NULL) { - CTR0(KTR_PMAP, "pmap_enter: replace"); + CTR0(KTR_PMAP, "pmap_enter_locked: replace"); PMAP_STATS_INC(pmap_nenter_replace); pmap_remove_tte(pm, NULL, tp, va); tlb_page_demap(pm, va); } else { - CTR0(KTR_PMAP, "pmap_enter: new"); + CTR0(KTR_PMAP, "pmap_enter_locked: new"); PMAP_STATS_INC(pmap_nenter_new); } From owner-svn-src-head@FreeBSD.ORG Sun Jun 28 23:51:39 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8023E1065670; Sun, 28 Jun 2009 23:51:39 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6CC6A8FC0A; Sun, 28 Jun 2009 23:51:39 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SNpd5t025152; Sun, 28 Jun 2009 23:51:39 GMT (envelope-from kan@svn.freebsd.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SNpdEw025143; Sun, 28 Jun 2009 23:51:39 GMT (envelope-from kan@svn.freebsd.org) Message-Id: <200906282351.n5SNpdEw025143@svn.freebsd.org> From: Alexander Kabaev Date: Sun, 28 Jun 2009 23:51:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195151 - in head: . gnu/lib/libgcc gnu/lib/libssp/libssp_nonshared gnu/usr.bin/cc/cc_tools lib/libc lib/libc/sys libexec/rtld-elf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 23:51:39 -0000 Author: kan Date: Sun Jun 28 23:51:39 2009 New Revision: 195151 URL: http://svn.freebsd.org/changeset/base/195151 Log: Eliminate .text relocations in shared libraries compiled with stack protector. Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work everys time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kensmith) Modified: head/Makefile.inc1 head/gnu/lib/libgcc/Makefile head/gnu/lib/libssp/libssp_nonshared/Makefile head/gnu/usr.bin/cc/cc_tools/freebsd-native.h head/lib/libc/Makefile head/lib/libc/sys/Symbol.map head/lib/libc/sys/stack_protector.c head/libexec/rtld-elf/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sun Jun 28 23:21:18 2009 (r195150) +++ head/Makefile.inc1 Sun Jun 28 23:51:39 2009 (r195151) @@ -1069,7 +1069,7 @@ libraries: # # static libgcc.a prerequisite for shared libc # -_prereq_libs= gnu/lib/libgcc +_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc # These dependencies are not automatically generated: # Modified: head/gnu/lib/libgcc/Makefile ============================================================================== --- head/gnu/lib/libgcc/Makefile Sun Jun 28 23:21:18 2009 (r195150) +++ head/gnu/lib/libgcc/Makefile Sun Jun 28 23:51:39 2009 (r195151) @@ -6,6 +6,12 @@ LIB= gcc SHLIB_NAME= libgcc_s.so.1 SHLIBDIR?= /lib +# +# libgcc is linked in last and thus cannot depend on ssp symbols coming +# from earlier libraries. Disable stack protection for this library. +# +WITHOUT_SSP= yes + .include .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" @@ -18,7 +24,7 @@ CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_F -I${.CURDIR}/../../usr.bin/cc/cc_tools LDFLAGS+= -nodefaultlibs -LDADD+= -lc +LDADD+= -lc -lssp_nonshared OBJS= # added to below in various ways depending on TARGET_ARCH Modified: head/gnu/lib/libssp/libssp_nonshared/Makefile ============================================================================== --- head/gnu/lib/libssp/libssp_nonshared/Makefile Sun Jun 28 23:21:18 2009 (r195150) +++ head/gnu/lib/libssp/libssp_nonshared/Makefile Sun Jun 28 23:51:39 2009 (r195151) @@ -13,6 +13,6 @@ SRCS= ssp-local.c CFLAGS+= -DHAVE_CONFIG_H CFLAGS+= -I${.CURDIR}/.. -I${GCCLIB}/libssp -I${GCCLIB}/include -CFLAGS+= -fPIC -DPIC +CFLAGS+= -fPIC -DPIC -fvisibility=hidden .include Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h ============================================================================== --- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Sun Jun 28 23:21:18 2009 (r195150) +++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Sun Jun 28 23:51:39 2009 (r195151) @@ -62,3 +62,11 @@ /* FreeBSD is 4.4BSD derived */ #define bsd4_4 + +/* + * Link in libssp_nonshared to get local hidden symbol for + * __stack_chk_fail_local into each binary that needs it. + * Linux does this with static part of their libc.so linker script, we reuse + * libssp_nonshared.a for the same purpose. + */ +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}" Modified: head/lib/libc/Makefile ============================================================================== --- head/lib/libc/Makefile Sun Jun 28 23:21:18 2009 (r195150) +++ head/lib/libc/Makefile Sun Jun 28 23:51:39 2009 (r195151) @@ -26,7 +26,7 @@ PRECIOUSLIB= # DPADD+= ${LIBGCC} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lgcc -lssp_nonshared # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Sun Jun 28 23:21:18 2009 (r195150) +++ head/lib/libc/sys/Symbol.map Sun Jun 28 23:51:39 2009 (r195151) @@ -282,7 +282,6 @@ FBSD_1.0 { socket; socketpair; __stack_chk_fail; - __stack_chk_fail_local; __stack_chk_guard; stat; statfs; Modified: head/lib/libc/sys/stack_protector.c ============================================================================== --- head/lib/libc/sys/stack_protector.c Sun Jun 28 23:21:18 2009 (r195150) +++ head/lib/libc/sys/stack_protector.c Sun Jun 28 23:51:39 2009 (r195151) @@ -47,7 +47,6 @@ static void __guard_setup(void) __attrib static void __fail(const char *); void __stack_chk_fail(void); void __chk_fail(void); -void __stack_chk_fail_local(void); /*LINTED used*/ static void @@ -109,8 +108,4 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } -void -__stack_chk_fail_local(void) -{ - __stack_chk_fail(); -} +__sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0); Modified: head/libexec/rtld-elf/Makefile ============================================================================== --- head/libexec/rtld-elf/Makefile Sun Jun 28 23:21:18 2009 (r195150) +++ head/libexec/rtld-elf/Makefile Sun Jun 28 23:51:39 2009 (r195151) @@ -22,7 +22,7 @@ MLINKS= rtld.1 ld-elf.so.1.1 \ CFLAGS+= -fpic -DPIC LDFLAGS+= -shared -Wl,-Bsymbolic DPADD= ${LIBC_PIC} -LDADD= -lc_pic +LDADD= -lc_pic -lssp_nonshared .if ${MACHINE_ARCH} != "ia64" .if ${MK_SYMVER} == "yes" From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 01:33:59 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6E92106564A; Mon, 29 Jun 2009 01:33:59 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D39D48FC15; Mon, 29 Jun 2009 01:33:59 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T1Xxls027077; Mon, 29 Jun 2009 01:33:59 GMT (envelope-from kan@svn.freebsd.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5T1Xx8g027068; Mon, 29 Jun 2009 01:33:59 GMT (envelope-from kan@svn.freebsd.org) Message-Id: <200906290133.n5T1Xx8g027068@svn.freebsd.org> From: Alexander Kabaev Date: Mon, 29 Jun 2009 01:33:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195152 - in head: . gnu/lib/libgcc gnu/lib/libssp/libssp_nonshared gnu/usr.bin/cc/cc_tools lib/libc lib/libc/sys libexec/rtld-elf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 01:34:00 -0000 Author: kan Date: Mon Jun 29 01:33:59 2009 New Revision: 195152 URL: http://svn.freebsd.org/changeset/base/195152 Log: Back out previous revision until better tested fix is ready. Approved by: re (impliciti, by approving previos check-in) Modified: head/Makefile.inc1 head/gnu/lib/libgcc/Makefile head/gnu/lib/libssp/libssp_nonshared/Makefile head/gnu/usr.bin/cc/cc_tools/freebsd-native.h head/lib/libc/Makefile head/lib/libc/sys/Symbol.map head/lib/libc/sys/stack_protector.c head/libexec/rtld-elf/Makefile Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sun Jun 28 23:51:39 2009 (r195151) +++ head/Makefile.inc1 Mon Jun 29 01:33:59 2009 (r195152) @@ -1069,7 +1069,7 @@ libraries: # # static libgcc.a prerequisite for shared libc # -_prereq_libs= gnu/lib/libssp/libssp_nonshared gnu/lib/libgcc +_prereq_libs= gnu/lib/libgcc # These dependencies are not automatically generated: # Modified: head/gnu/lib/libgcc/Makefile ============================================================================== --- head/gnu/lib/libgcc/Makefile Sun Jun 28 23:51:39 2009 (r195151) +++ head/gnu/lib/libgcc/Makefile Mon Jun 29 01:33:59 2009 (r195152) @@ -6,12 +6,6 @@ LIB= gcc SHLIB_NAME= libgcc_s.so.1 SHLIBDIR?= /lib -# -# libgcc is linked in last and thus cannot depend on ssp symbols coming -# from earlier libraries. Disable stack protection for this library. -# -WITHOUT_SSP= yes - .include .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" @@ -24,7 +18,7 @@ CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_F -I${.CURDIR}/../../usr.bin/cc/cc_tools LDFLAGS+= -nodefaultlibs -LDADD+= -lc -lssp_nonshared +LDADD+= -lc OBJS= # added to below in various ways depending on TARGET_ARCH Modified: head/gnu/lib/libssp/libssp_nonshared/Makefile ============================================================================== --- head/gnu/lib/libssp/libssp_nonshared/Makefile Sun Jun 28 23:51:39 2009 (r195151) +++ head/gnu/lib/libssp/libssp_nonshared/Makefile Mon Jun 29 01:33:59 2009 (r195152) @@ -13,6 +13,6 @@ SRCS= ssp-local.c CFLAGS+= -DHAVE_CONFIG_H CFLAGS+= -I${.CURDIR}/.. -I${GCCLIB}/libssp -I${GCCLIB}/include -CFLAGS+= -fPIC -DPIC -fvisibility=hidden +CFLAGS+= -fPIC -DPIC .include Modified: head/gnu/usr.bin/cc/cc_tools/freebsd-native.h ============================================================================== --- head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Sun Jun 28 23:51:39 2009 (r195151) +++ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h Mon Jun 29 01:33:59 2009 (r195152) @@ -62,11 +62,3 @@ /* FreeBSD is 4.4BSD derived */ #define bsd4_4 - -/* - * Link in libssp_nonshared to get local hidden symbol for - * __stack_chk_fail_local into each binary that needs it. - * Linux does this with static part of their libc.so linker script, we reuse - * libssp_nonshared.a for the same purpose. - */ -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared}" Modified: head/lib/libc/Makefile ============================================================================== --- head/lib/libc/Makefile Sun Jun 28 23:51:39 2009 (r195151) +++ head/lib/libc/Makefile Mon Jun 29 01:33:59 2009 (r195152) @@ -26,7 +26,7 @@ PRECIOUSLIB= # DPADD+= ${LIBGCC} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc -lssp_nonshared +LDADD+= -lgcc # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Sun Jun 28 23:51:39 2009 (r195151) +++ head/lib/libc/sys/Symbol.map Mon Jun 29 01:33:59 2009 (r195152) @@ -282,6 +282,7 @@ FBSD_1.0 { socket; socketpair; __stack_chk_fail; + __stack_chk_fail_local; __stack_chk_guard; stat; statfs; Modified: head/lib/libc/sys/stack_protector.c ============================================================================== --- head/lib/libc/sys/stack_protector.c Sun Jun 28 23:51:39 2009 (r195151) +++ head/lib/libc/sys/stack_protector.c Mon Jun 29 01:33:59 2009 (r195152) @@ -47,6 +47,7 @@ static void __guard_setup(void) __attrib static void __fail(const char *); void __stack_chk_fail(void); void __chk_fail(void); +void __stack_chk_fail_local(void); /*LINTED used*/ static void @@ -108,4 +109,8 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } -__sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0); +void +__stack_chk_fail_local(void) +{ + __stack_chk_fail(); +} Modified: head/libexec/rtld-elf/Makefile ============================================================================== --- head/libexec/rtld-elf/Makefile Sun Jun 28 23:51:39 2009 (r195151) +++ head/libexec/rtld-elf/Makefile Mon Jun 29 01:33:59 2009 (r195152) @@ -22,7 +22,7 @@ MLINKS= rtld.1 ld-elf.so.1.1 \ CFLAGS+= -fpic -DPIC LDFLAGS+= -shared -Wl,-Bsymbolic DPADD= ${LIBC_PIC} -LDADD= -lc_pic -lssp_nonshared +LDADD= -lc_pic .if ${MACHINE_ARCH} != "ia64" .if ${MK_SYMVER} == "yes" From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 05:12:22 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FFA51065674; Mon, 29 Jun 2009 05:12:22 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6DBB58FC15; Mon, 29 Jun 2009 05:12:22 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5T5CMfE032651; Mon, 29 Jun 2009 05:12:22 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5T5CMnr032649; Mon, 29 Jun 2009 05:12:22 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <200906290512.n5T5CMnr032649@svn.freebsd.org> From: Pyun YongHyeon Date: Mon, 29 Jun 2009 05:12:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195153 - head/sys/dev/ale X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 05:12:23 -0000 Author: yongari Date: Mon Jun 29 05:12:21 2009 New Revision: 195153 URL: http://svn.freebsd.org/changeset/base/195153 Log: Disable Rx checksum offload until I find more clue why it breaks under certain environments. However give users chance to override it when he/she surely knows his/her hardware works with Rx checksum offload. Reported by: Ulrich Spoerlein ( uqs <> spoerlein dot net ) MFC after: 1 week Approved by: re (kensmith) Modified: head/sys/dev/ale/if_ale.c Modified: head/sys/dev/ale/if_ale.c ============================================================================== --- head/sys/dev/ale/if_ale.c Mon Jun 29 01:33:59 2009 (r195152) +++ head/sys/dev/ale/if_ale.c Mon Jun 29 05:12:21 2009 (r195153) @@ -620,6 +620,14 @@ ale_attach(device_t dev) ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; ifp->if_capenable = ifp->if_capabilities; + /* + * Even though controllers supported by ale(3) have Rx checksum + * offload bug the workaround for fragmented frames seemed to + * work so far. However it seems Rx checksum offload does not + * work under certain conditions. So disable Rx checksum offload + * until I find more clue about it but allow users to override it. + */ + ifp->if_capenable &= ~IFCAP_RXCSUM; /* Tell the upper layer(s) we support long frames. */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 07:24:14 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9779E1065672 for ; Mon, 29 Jun 2009 07:24:14 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 028828FC13 for ; Mon, 29 Jun 2009 07:24:13 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 17308 invoked from network); 29 Jun 2009 07:10:32 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 29 Jun 2009 07:10:32 -0000 Message-ID: <4A486C20.2030307@freebsd.org> Date: Mon, 29 Jun 2009 09:24:16 +0200 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.14 (Windows/20071210) MIME-Version: 1.0 To: Christoph Mallon References: <200906222308.n5MN856I055711@svn.freebsd.org> <4A47CC93.5090908@gmx.de> In-Reply-To: <4A47CC93.5090908@gmx.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r194672 - in head/sys: kern netinet sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 07:24:15 -0000 Christoph Mallon wrote: > Andre Oppermann schrieb: >> Author: andre >> Date: Mon Jun 22 23:08:05 2009 >> New Revision: 194672 >> URL: http://svn.freebsd.org/changeset/base/194672 >> >> Log: >> Add soreceive_stream(), an optimized version of soreceive() for >> stream (TCP) sockets. > [...] >> Modified: head/sys/kern/uipc_socket.c >> ============================================================================== >> >> --- head/sys/kern/uipc_socket.c Mon Jun 22 22:54:44 2009 (r194671) >> +++ head/sys/kern/uipc_socket.c Mon Jun 22 23:08:05 2009 (r194672) >> @@ -1857,6 +1857,202 @@ release: > [...] >> + /* We will never ever get anything unless we are connected. */ >> + if (!(so->so_state & (SS_ISCONNECTED|SS_ISDISCONNECTED))) { >> + /* When disconnecting there may be still some data left. */ >> + if (sb->sb_cc > 0) >> + goto deliver; >> + if (!(so->so_state & SS_ISDISCONNECTED)) >> + error = ENOTCONN; >> + goto out; >> + } > > It seems either the third "if" is redundant (because the condition of > first "if" implies the condition of the third) or one of the conditions > is wrong. > Also there should be spaces around the |. Thank you for the report. I'm working on fixing and testing all the issues that were raised in the perforce branch to be committed soon after review. -- Andre From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 08:20:42 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 611BB1065670; Mon, 29 Jun 2009 08:20:42 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 3A9108FC0A; Mon, 29 Jun 2009 08:20:42 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id DAC8146B03; Mon, 29 Jun 2009 04:20:41 -0400 (EDT) Date: Mon, 29 Jun 2009 09:20:41 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Andre Oppermann In-Reply-To: <4A486C20.2030307@freebsd.org> Message-ID: References: <200906222308.n5MN856I055711@svn.freebsd.org> <4A47CC93.5090908@gmx.de> <4A486C20.2030307@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Christoph Mallon , src-committers@freebsd.org Subject: Re: svn commit: r194672 - in head/sys: kern netinet sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 08:20:42 -0000 On Mon, 29 Jun 2009, Andre Oppermann wrote: >> It seems either the third "if" is redundant (because the condition of first >> "if" implies the condition of the third) or one of the conditions is wrong. >> Also there should be spaces around the |. > > Thank you for the report. I'm working on fixing and testing all the issues > that were raised in the perforce branch to be committed soon after review. I'd really like to see soreceive_stream() grow support for control mbufs, if only by detecting controlp != NULL and calling soreceive_generic(), and having the mtouio routing properly detect and free them. This would allow us to use soreceive_stream() with UNIX domain stream sockets, which are used by MySQL and see similar performance issues. Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 09:56:59 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 303CC1065698 for ; Mon, 29 Jun 2009 09:56:59 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 8D0CA8FC26 for ; Mon, 29 Jun 2009 09:56:58 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 26168 invoked from network); 29 Jun 2009 09:43:15 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 29 Jun 2009 09:43:15 -0000 Message-ID: <4A488FED.5040300@freebsd.org> Date: Mon, 29 Jun 2009 11:57:01 +0200 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.14 (Windows/20071210) MIME-Version: 1.0 To: Robert Watson References: <200906222308.n5MN856I055711@svn.freebsd.org> <4A47CC93.5090908@gmx.de> <4A486C20.2030307@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Christoph Mallon , src-committers@freebsd.org Subject: Re: svn commit: r194672 - in head/sys: kern netinet sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 09:56:59 -0000 Robert Watson wrote: > > On Mon, 29 Jun 2009, Andre Oppermann wrote: > >>> It seems either the third "if" is redundant (because the condition of >>> first "if" implies the condition of the third) or one of the >>> conditions is wrong. Also there should be spaces around the |. >> >> Thank you for the report. I'm working on fixing and testing all the >> issues that were raised in the perforce branch to be committed soon >> after review. > > I'd really like to see soreceive_stream() grow support for control > mbufs, if only by detecting controlp != NULL and calling > soreceive_generic(), and having the mtouio routing properly detect and > free them. This would allow us to use soreceive_stream() with UNIX > domain stream sockets, which are used by MySQL and see similar > performance issues. I'm trying to integrate that. My more detailed response to you is still pending. I have it open in one window as a reference to work all the issues. -- Andre From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 13:59:30 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 881691065677; Mon, 29 Jun 2009 13:59:30 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 759298FC1A; Mon, 29 Jun 2009 13:59:30 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TDxUjc046360; Mon, 29 Jun 2009 13:59:30 GMT (envelope-from jamie@svn.freebsd.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TDxUHd046352; Mon, 29 Jun 2009 13:59:30 GMT (envelope-from jamie@svn.freebsd.org) Message-Id: <200906291359.n5TDxUHd046352@svn.freebsd.org> From: Jamie Gritton Date: Mon, 29 Jun 2009 13:59:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195156 - in head/release: amd64 i386 ia64 pc98 powerpc sparc64 sun4v X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 13:59:31 -0000 Author: jamie Date: Mon Jun 29 13:59:30 2009 New Revision: 195156 URL: http://svn.freebsd.org/changeset/base/195156 Log: Add libjail to the boot_crunch binaries (for ifconfig). PR: 136071 Submitted by: Scot Hetzel Approved by: re (kensmith), bz (mentor) Modified: head/release/amd64/boot_crunch.conf head/release/i386/boot_crunch.conf head/release/ia64/boot_crunch.conf head/release/pc98/boot_crunch.conf head/release/powerpc/boot_crunch.conf head/release/sparc64/boot_crunch.conf head/release/sun4v/boot_crunch.conf Modified: head/release/amd64/boot_crunch.conf ============================================================================== --- head/release/amd64/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/amd64/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: head/release/i386/boot_crunch.conf ============================================================================== --- head/release/i386/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/i386/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: head/release/ia64/boot_crunch.conf ============================================================================== --- head/release/ia64/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/ia64/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -46,4 +46,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail Modified: head/release/pc98/boot_crunch.conf ============================================================================== --- head/release/pc98/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/pc98/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -41,4 +41,4 @@ progs sysinstall libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail Modified: head/release/powerpc/boot_crunch.conf ============================================================================== --- head/release/powerpc/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/powerpc/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -44,4 +44,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: head/release/sparc64/boot_crunch.conf ============================================================================== --- head/release/sparc64/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/sparc64/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail Modified: head/release/sun4v/boot_crunch.conf ============================================================================== --- head/release/sun4v/boot_crunch.conf Mon Jun 29 10:59:36 2009 (r195155) +++ head/release/sun4v/boot_crunch.conf Mon Jun 29 13:59:30 2009 (r195156) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 15:23:50 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A8221065673; Mon, 29 Jun 2009 15:23:50 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 88C828FC12; Mon, 29 Jun 2009 15:23:50 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TFNo2G047973; Mon, 29 Jun 2009 15:23:50 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TFNosC047971; Mon, 29 Jun 2009 15:23:50 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200906291523.n5TFNosC047971@svn.freebsd.org> From: Robert Watson Date: Mon, 29 Jun 2009 15:23:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195157 - head/sys/netinet6 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 15:23:51 -0000 Author: rwatson Date: Mon Jun 29 15:23:50 2009 New Revision: 195157 URL: http://svn.freebsd.org/changeset/base/195157 Log: Fix "options VIMAGE_GLOBALS" build following introduction of in6_ifaddrhead. Approved by: re (kib) Modified: head/sys/netinet6/in6_var.h Modified: head/sys/netinet6/in6_var.h ============================================================================== --- head/sys/netinet6/in6_var.h Mon Jun 29 13:59:30 2009 (r195156) +++ head/sys/netinet6/in6_var.h Mon Jun 29 15:23:50 2009 (r195157) @@ -487,7 +487,7 @@ struct in6_rrenumreq { #ifdef _KERNEL #ifdef VIMAGE_GLOBALS -extern struct in6_ifaddr *in6_ifaddr; +extern struct in6_ifaddrhead in6_ifaddrhead; extern struct icmp6stat icmp6stat; From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 16:03:19 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BC661065673; Mon, 29 Jun 2009 16:03:19 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F35978FC0A; Mon, 29 Jun 2009 16:03:18 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TG3IK9048790; Mon, 29 Jun 2009 16:03:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TG3ITL048788; Mon, 29 Jun 2009 16:03:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <200906291603.n5TG3ITL048788@svn.freebsd.org> From: Attilio Rao Date: Mon, 29 Jun 2009 16:03:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195159 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:03:19 -0000 Author: attilio Date: Mon Jun 29 16:03:18 2009 New Revision: 195159 URL: http://svn.freebsd.org/changeset/base/195159 Log: Don't assume a default (currently 15) value for preloaded klds when loading hwpmc, but calculate at runtime and allocate the necessary space. Also the current logic is wrong as it can lead to an endless loop. Sponsored by: Sandvine Incorporated Reported by: Ryan Stone Tested by: Giovanni Trematerra Approved by: re (kib) Modified: head/sys/kern/kern_linker.c Modified: head/sys/kern/kern_linker.c ============================================================================== --- head/sys/kern/kern_linker.c Mon Jun 29 15:53:52 2009 (r195158) +++ head/sys/kern/kern_linker.c Mon Jun 29 16:03:18 2009 (r195159) @@ -1927,61 +1927,41 @@ linker_basename(const char *path) } #ifdef HWPMC_HOOKS - -struct hwpmc_context { - int nobjects; - int nmappings; - struct pmckern_map_in *kobase; -}; - -static int -linker_hwpmc_list_object(linker_file_t lf, void *arg) -{ - struct hwpmc_context *hc; - - hc = arg; - - /* If we run out of mappings, fail. */ - if (hc->nobjects >= hc->nmappings) - return (1); - - /* Save the info for this linker file. */ - hc->kobase[hc->nobjects].pm_file = lf->filename; - hc->kobase[hc->nobjects].pm_address = (uintptr_t)lf->address; - hc->nobjects++; - return (0); -} - /* * Inform hwpmc about the set of kernel modules currently loaded. */ void * linker_hwpmc_list_objects(void) { - struct hwpmc_context hc; + linker_file_t lf; + struct pmckern_map_in *kobase; + int i, nmappings; - hc.nmappings = 15; /* a reasonable default */ + nmappings = 0; + KLD_LOCK(); + TAILQ_FOREACH(lf, &linker_files, link) + nmappings++; - retry: - /* allocate nmappings+1 entries */ - hc.kobase = malloc((hc.nmappings + 1) * sizeof(struct pmckern_map_in), + /* Allocate nmappings + 1 entries. */ + kobase = malloc((nmappings + 1) * sizeof(struct pmckern_map_in), M_LINKER, M_WAITOK | M_ZERO); + i = 0; + TAILQ_FOREACH(lf, &linker_files, link) { - hc.nobjects = 0; - if (linker_file_foreach(linker_hwpmc_list_object, &hc) != 0) { - hc.nmappings = hc.nobjects; - free(hc.kobase, M_LINKER); - goto retry; + /* Save the info for this linker file. */ + kobase[i].pm_file = lf->filename; + kobase[i].pm_address = (uintptr_t)lf->address; + i++; } + KLD_UNLOCK(); - KASSERT(hc.nobjects > 0, ("linker_hpwmc_list_objects: no kernel " - "objects?")); + KASSERT(i > 0, ("linker_hpwmc_list_objects: no kernel objects?")); /* The last entry of the malloced area comprises of all zeros. */ - KASSERT(hc.kobase[hc.nobjects].pm_file == NULL, + KASSERT(kobase[i].pm_file == NULL, ("linker_hwpmc_list_objects: last object not NULL")); - return ((void *)hc.kobase); + return ((void *)kobase); } #endif From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 16:45:50 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A055106564A; Mon, 29 Jun 2009 16:45:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4DF8F8FC1E; Mon, 29 Jun 2009 16:45:50 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGjogX049885; Mon, 29 Jun 2009 16:45:50 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TGjoP1049880; Mon, 29 Jun 2009 16:45:50 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200906291645.n5TGjoP1049880@svn.freebsd.org> From: Warner Losh Date: Mon, 29 Jun 2009 16:45:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195162 - in head/sys/mips: malta mips X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:45:50 -0000 Author: imp Date: Mon Jun 29 16:45:50 2009 New Revision: 195162 URL: http://svn.freebsd.org/changeset/base/195162 Log: Fix copyrights to reflect the origin of these files. Approved by: re@ (rwatson) Modified: head/sys/mips/malta/yamon.c head/sys/mips/mips/busdma_machdep.c head/sys/mips/mips/dump_machdep.c head/sys/mips/mips/intr_machdep.c Modified: head/sys/mips/malta/yamon.c ============================================================================== --- head/sys/mips/malta/yamon.c Mon Jun 29 16:34:59 2009 (r195161) +++ head/sys/mips/malta/yamon.c Mon Jun 29 16:45:50 2009 (r195162) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Fill this file and put your name here + * Copyright (c) 2006-2008 Bruce M. Simpson * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: head/sys/mips/mips/busdma_machdep.c ============================================================================== --- head/sys/mips/mips/busdma_machdep.c Mon Jun 29 16:34:59 2009 (r195161) +++ head/sys/mips/mips/busdma_machdep.c Mon Jun 29 16:45:50 2009 (r195162) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Fill this file and put your name here + * Copyright (c) 2006 Oleksandr Tymoshenko * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: head/sys/mips/mips/dump_machdep.c ============================================================================== --- head/sys/mips/mips/dump_machdep.c Mon Jun 29 16:34:59 2009 (r195161) +++ head/sys/mips/mips/dump_machdep.c Mon Jun 29 16:45:50 2009 (r195162) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Fill this file and put your name here + * Copyright (c) 2006 Oleksandr Tymoshenko * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: head/sys/mips/mips/intr_machdep.c ============================================================================== --- head/sys/mips/mips/intr_machdep.c Mon Jun 29 16:34:59 2009 (r195161) +++ head/sys/mips/mips/intr_machdep.c Mon Jun 29 16:45:50 2009 (r195162) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Fill this file and put your name here + * Copyright (c) 2006 Oleksandr Tymoshenko * Copyright (c) 2002-2004 Juli Mallett * All rights reserved. * From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 18:09:08 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1587A106564A; Mon, 29 Jun 2009 18:09:08 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 042908FC24; Mon, 29 Jun 2009 18:09:08 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TI97kU051660; Mon, 29 Jun 2009 18:09:07 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TI97rZ051658; Mon, 29 Jun 2009 18:09:07 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906291809.n5TI97rZ051658@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 29 Jun 2009 18:09:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195166 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:09:08 -0000 Author: kib Date: Mon Jun 29 18:09:07 2009 New Revision: 195166 URL: http://svn.freebsd.org/changeset/base/195166 Log: Free struct ucreds allocated in vfs_hang_addrlist() when deleting the export element. While there, remove register storage-class specifiers. Reported and tested by: pho Reviewed by: kan Approved by: re (kensmith) Modified: head/sys/kern/vfs_export.c Modified: head/sys/kern/vfs_export.c ============================================================================== --- head/sys/kern/vfs_export.c Mon Jun 29 17:36:47 2009 (r195165) +++ head/sys/kern/vfs_export.c Mon Jun 29 18:09:07 2009 (r195166) @@ -220,9 +220,13 @@ out: static int vfs_free_netcred(struct radix_node *rn, void *w) { - register struct radix_node_head *rnh = (struct radix_node_head *) w; + struct radix_node_head *rnh = (struct radix_node_head *) w; + struct ucred *cred; (*rnh->rnh_deladdr) (rn->rn_key, rn->rn_mask, rnh); + cred = ((struct netcred *)rn)->netc_anon; + if (cred != NULL) + crfree(cred); free(rn, M_NETADDR); return (0); } @@ -233,10 +237,11 @@ vfs_free_netcred(struct radix_node *rn, static void vfs_free_addrlist(struct netexport *nep) { - register int i; - register struct radix_node_head *rnh; + int i; + struct radix_node_head *rnh; + struct ucred *cred; - for (i = 0; i <= AF_MAX; i++) + for (i = 0; i <= AF_MAX; i++) { if ((rnh = nep->ne_rtable[i])) { RADIX_NODE_HEAD_LOCK(rnh); (*rnh->rnh_walktree) (rnh, vfs_free_netcred, rnh); @@ -245,6 +250,11 @@ vfs_free_addrlist(struct netexport *nep) free(rnh, M_RTABLE); nep->ne_rtable[i] = NULL; /* not SMP safe XXX */ } + } + cred = nep->ne_defexported.netc_anon; + if (cred != NULL) + crfree(cred); + } /* From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 18:17:10 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 695301065672; Mon, 29 Jun 2009 18:17:10 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57F118FC12; Mon, 29 Jun 2009 18:17:10 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIHAqi051905; Mon, 29 Jun 2009 18:17:10 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TIHADD051903; Mon, 29 Jun 2009 18:17:10 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <200906291817.n5TIHADD051903@svn.freebsd.org> From: Jack F Vogel Date: Mon, 29 Jun 2009 18:17:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195168 - head/sys/dev/e1000 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:17:10 -0000 Author: jfv Date: Mon Jun 29 18:17:10 2009 New Revision: 195168 URL: http://svn.freebsd.org/changeset/base/195168 Log: Type problem when FreeBSD is in a virtualized environment, the result was when the RX index wrapped it was converted into some sort of gibberish and written into the RDT register, effectively killing the RX side of the thing :) Approved by: re Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Mon Jun 29 18:12:11 2009 (r195167) +++ head/sys/dev/e1000/if_em.c Mon Jun 29 18:17:10 2009 (r195168) @@ -4446,7 +4446,7 @@ em_rxeof(struct adapter *adapter, int co struct mbuf *mp; u8 status, accept_frame = 0, eop = 0; u16 len, desc_len, prev_len_adj; - u32 i, rx_sent = 0; + int i, rx_sent = 0; struct e1000_rx_desc *current_desc; EM_RX_LOCK(adapter); From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 18:42:54 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBAA91065670; Mon, 29 Jun 2009 18:42:54 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D863B8FC15; Mon, 29 Jun 2009 18:42:54 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIgsIs054411; Mon, 29 Jun 2009 18:42:54 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TIgsIJ054408; Mon, 29 Jun 2009 18:42:54 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906291842.n5TIgsIJ054408@svn.freebsd.org> From: Sam Leffler Date: Mon, 29 Jun 2009 18:42:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195171 - in head/sys: contrib/dev/mwl dev/mwl X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:42:55 -0000 Author: sam Date: Mon Jun 29 18:42:54 2009 New Revision: 195171 URL: http://svn.freebsd.org/changeset/base/195171 Log: Update to 3.6.2.2 firmware (latest w/o host-based power save support): o new tx ack queue (not used right now) o proxy-sta related changes (no proxy sta in driver) o explicit dwds ena/dis (needed only with proxy sta) o cleanup BA policy handling o new ampdu aggressive mode support o CFEnd use now controllable Approved by: re (kensmith) Modified: head/sys/contrib/dev/mwl/mw88W8363.fw.uu head/sys/dev/mwl/if_mwl.c head/sys/dev/mwl/if_mwlvar.h head/sys/dev/mwl/mwlhal.c head/sys/dev/mwl/mwlhal.h head/sys/dev/mwl/mwlreg.h Modified: head/sys/contrib/dev/mwl/mw88W8363.fw.uu ============================================================================== --- head/sys/contrib/dev/mwl/mw88W8363.fw.uu Mon Jun 29 18:33:58 2009 (r195170) +++ head/sys/contrib/dev/mwl/mw88W8363.fw.uu Mon Jun 29 18:42:54 2009 (r195171) @@ -43,2137 +43,2114 @@ # begin 644 mw88W8363.fw M`0```````````@``!$>Z"!CPG^48\)_E&/"?Y1CPG^48\)_E&/"?Y1CPG^48 -M\)_E8#4!`#PU`0!`-0$`1#4!`$@U`0!,-0$`4#4!`%PU`0#$@(_B`P"8Z`@` +M\)_ED#@!`&PX`0!P.`$`=#@!`'@X`0!\.`$`@#@!`(PX`0#$@(_B`P"8Z`@` M@.`($('@`;!`X@$`4.$3```*<`"PZ`4`5.'Z__\*`0`4XPM`A!`!`!7C"U"% M$`(`%>,)4(40`U#%XQ!@5N*,$+0HC!"E*/O__XJ&;K#A#`"T*`P`I2@$<)1$ M!'"%1.G__^H(()CE##"8Y0@@@N`(,(/@`+!"*0H_/__BH5> -ML.%!`*0H!'"$1/#__^H`0P$`/$,!`#Q#`0!D0P$`@+0/(``#@+P`27!'`"`` -M!/=*`""1:``I!-`%*0/1]4@`:`#@]$@!,9%@<$<0M1/P._L,(`;P"_SM3&!A -M$"`&\`;\(&%,(`;P`OP0,`;P__L``@`.`0<)#P`&``\A<>!P`"`0O8"U"?"Q -M^P`@@+WXM=]-_R$E,2`U*!P2\*/]+AQ`-@$D-',*(%,A2%4I''(Q,!SA,!+P -M[OX(('"#!R"P@P8@\(,H'&`P""$!@`HA08`,(8&`#B'!@!`A`8$2(4&!%"&! -M@3&)@"`@(H%#0""!0S&!Z8PO'!`W(4,10X%#Z82N-\]K`0```/P!`````@`` -MP))E(RD<`"8B,08@_G,2\,/^`B$H'"`PN7.$@0XA#_R'Y -M,9!#B$-@,"P<,#0HAJ-X8'@&(1L"&$.(0SA#8".80X`AB$,#"F!PHW!P-2YP -M;G``(`PA@"6L2X(`(#/6&'-X,GC_)QL"&D-3"%L``B*30P0BDT,*')(&^3>[ -M0](-&D,R')X`3D;`AI#!B/;0Q-`&"(30Q\<8".?0Z]#=W`["K-P -M,WGW>`$P&P(?0S\)/P$"-SL*]W`S<00HR=.12`$F(#`!B`0G,4,Y0PL<_R'Y -M,8M#>#,#@`-YQG@;`AY#-@DV`0$VQG`S"@-Q@X@!)C-#.T.+0V@S@X`#>L9Y -M&P(>0S8)-@$"-L9Q,PH#<@.)`28S0SM#BT,#@0-[QGH;`AY#-@DV`08VQG(S -M"@-S@XE;"%L`NT.+0R@S@X$#><%XQGD;`AE#`WIN3QL"'D.)&0-[QGH;`AY# -MB1D/(UD:`WS&>PD'&P(>0S,)&P$)#QE#"PK!$IX -M@"4;`AI#JD-*X -M0V`C&$-H8R@<-3`%'!/PD_FP0P0AB$,((8A#N$,@(A!#*1P2\)[]_R"@<>!Q -M`B``(34]*A@P,@$P$"B16$>2P0S&6@/(A(%$4,98!I+(#O9 -M:O\B$@*10]EB,8L3*0?1&TEE(L`Y2F+%(HIB)R'!80`@P>=T)0#`PDT`P"T! -M````I0"`@J@"E+^H`@8`J`"`S!,"P-`3`L#4$P+`W!,"P-@3`L!T!```X!," -MP$#H`(#___\/-CX``"`@`(`44`+`_P$``#8(```(@`"0*)``D,"B`("`M1/P -M6?@3\%OX`""`O>1)@+6(:`$PB&#B2$%J`2%!8A/P5O@!(("]_[4)G@8H`=(2 -M*0+3F"`$L/"]VTV"`*Q8`"P!T)<@]N?73P0!8#_D&:Q0(6"O6`*P!!P&+!&8$)V61IQ&`M.8(`NP\+VZ2:8`&#F)60`I`="7 -M(/7G`"("(021!9*P3P(<`Y`X:;-)`)"4(&!#1!@"D@B:(!QA1@&5PM0$H -M!])Z380`%#4H61+PT/\`("A1L+T(M0$H"])T28``%#$(6&E&`"(2\,K_`"@! -MT0"8"+T`(/SG@[4!*`K2;$F``!0Q"%@!J0`B$O#!_P`H`-&,O0$@_.<`M0,< -M`2B)L!/2!*D%J`"0`9%A29@``ZH"DA0Q"%@(J0>J!JL2\+#_`"@"T0>8";`` -MO0`@^^=P1X"U@"`2\*S_@+V`M0`@$O"G_X"]<$=P1W!'@+6`(!+PG_^`O8"U -M$O";_X"]@+4%*`C2'"-,2EA#8#*`&`H<`"&RL.CN`0```.P)`````@``'G.Y -M#A+PEO^`O8"U!2@&TAPC1DE80V`Q0!@2\)/_@+V`M04H"-(<(T!)6$-@,4`8 -M`"')0Q+PCO^`O8"U!2@&TAPC.DE80V`Q0!@2\(O_@+V`M08H!M(U24`![#%` -M&``A$O"(_X"]@+4&*`;2+TI``>PR@!@`(A+PA?^`O1RU%!P&*`[2`"+20P"2 -M*$I``>PR@!@B'`&K$O!]_P`H`=$!F!R]`"#\YX"U!B@%TA])0`'L,4`8$O!V -M_X"]@+4&*`;2&DI``>PR@!@"(A+P6_^`O0"UA[`&*!'2`ZD`D1-)`JI``>PQ -M0!@!D@6J!JD$JQ+P8?\`*`+1!9@'L`"]`"#[YQ"U!!P$*`S2'"`,26!#0!@! -M(@`A$O`._PA*`""A`!`Z4%`0O00```0`D`"0G!<`!'L'``"\!``$+`$`!%@9 -M``2`M00H!](<(W5)6$-`&``AR4,2\/_^@+V`M00H#-)P2P$A@@`0.YE0'"-M -M25A#0!@`(25A#0!@2\-K^@+V`M<%H`AP`:))H$O`"_X"]\+4" -M*`'3F"#PO55-A``K60`K`="7(/"]+"-03D-#<#:;&4Y/*U$&`<@WN%'P&8%@ -MPF``(4%@2TD982E92&&"X3Q3`0```.@+`````@``ZIL'LP`@\+W^M0L<$1P" -M*!;21$P"`<@T%1EJ:(0``"I!3@[1`2("D@"3`9$P60`A`FE#:1+PT/X`*`'1 -M`2!H8/Z]-1P*'!D<,%D2\,W^*%D2\-+^].>PM0(H!M(R380`*%D2\-'^`"`H -M4;"]@+4"*`32+4F```A8$O"^_H"]@+4"*`32*$F```A8$O#%_H"]$+4$'!+P -MR/X@8!"]`","X`%P`3`!,Y-"^M-P1_BU($@`:`5H`"T@T!Y/`"0!(*!`*$`7 -MT!M)H``8,0A8A@"Y60`I#]`(:(IH*1P2\'7^`B@(T;A9PV@`*P30*AP!(0!H -M$O"B_@$T$BS@VPM,(#P#S`@\@4(+T`A)"#$(7!+PG/X`*`30(&@!,``&``X@ -M8``@^+T``%@9``0D```$FPL```````2<%P`$@+4+\.7__R$#(`_P9OWK200@ -M"&`&\(C]!/!<^X"]YTAPM8`P!&D`:^5-`"9I:Z%"!M'D28Q"`]!IBP$Q:8,! -MX&Z#;&.J:P$#$@,2"PD+D4(>T0$#'-"IBP$Q"00)#*F#"BD,V=5*0#(1:5)I -M$4,&T:Z#*&2H;`$PJ&3_]\'_:(L**`39;H/L8VAL`3!H9'"]KH.H8_/G<$`M0`H!=`!'``@__=`_@`@@+T!(("]PT@'(0%B'R)"8H%B -MPF*A>`!V`0```.0-`````@``\V/9PP%C0F.!8\)CODDD(`A@2&"(8,A@O$D! -M(`AP<$=P1X"U2W@*>!L"&D,!(]L#&D,*,MX&P(:0P7P -M_?R`O8"U2W@*>!L"&D,!(]L#&D,*`"*`'0 -M`R@%T04@#/!1^@0!L"&D,!(]L#&D,*@$K`M$!,``&``X!,A(&$@X'*O'3`20`(P$H=4I] -M3038`2@(T8A^`2@%T%1R*&L`*`#0*V,PO5-R*&L`*/K19B`H8S"]L+4,'!4< -M`2$(\.OZ`"@`T;"]1($%@;"]^+4/'`0<`"AQT"`=`)`2\`7\T")I27I#5A@` -M*!/0!"!<23!W"&H!,`AB`2@+T5Y(6TD`BT`Y#R@!T0P@`N`3*`'1!2!(8S4< -M'C4@'!+PYOLI'#DQ$?#X_P"8$O#?^RDBEY&P(80VMYP`?` -M#QL"&4-)"$D`"$,H<0,*:W'C>J%Z`B(;`AE#B0?)#Y!#20#]0"E3`0```.`/ -M`````@``!XMG?@%#*7$+"FMQXWJ@>B`B&P(80X`&P`^10T`!"$,H<0,*:W'C -M>J%Z0"(;`AE#20;)#XD!D$,(0RAQ`PH@'`@P:W$2\*#[:7BK>(`&P`\;`AE# -M("*10P#@3N!``0A#:'`#"JMP8'M!(0PB2%4@>ZAQXWJ@>G&,&P(80P`'@`^` -M`)%#"$-PA``'@`\!)0$H`M$;2AL"&$,`!X`/ -M`=$`(0#@`2$X'`OP3?P52`"+#R@:T1E(`GH"*@'0`RH4T0-[%DF0.0`K!M&* -M>P(J`=`#*@K117(#X(M[`2L%T4)R0'J(A-`"((X(1"!=%0`$`90'@(<`$@,+T! -M,E,`[%QC'/+1`"`PO?BU!1S?2E`U*'FC3X2%`0```-P1`````@``>9#`SFEY -M_R<6'!0<<#00-ODW`"DDT6E&__?<_P"K&'C722!P2W@*>!L"&D,"(YI#4@A2 -M``0CFD,*P`K`]&Z0X`&@`X&X`4C`R@`TP,6E&__>4_P"K&'A@?PM:E/!"8`(F`ED0#)&0QX2W@; -M`AQ#XP<5U+1#(PH,<$MP`R@&T4QXBW@;`AQ#K$,@-`3@3'B+>!L"'$.L0TQP -M(PJ+<`3@8P<"U`,H\M'JYP$R!"K9T_"]$+5+>`IX!'@;`AI#0WB2!](/&P(< -M0P(CG$-2`")#`G`3"D-PBWA*>$1X&P(:0X-XT@:2#QL"'$,8(YQ#T@`B0T)P -M$PJ#<(MX27@;`AE#20:)#V`CFD-)`1%#07`+"GY*@W"2:/\R83+3>8`B`2L! -MT1%#`."10T%P"PJ#1L"&$/`!S#4#_!4^B@<0###>H!Z`28;`AA#P`8`*`K:94F( -M:#(X"&!C2$`P!F!#\=N$`0```-@3`````@``C7A^1L"&$,P0Z!Q`PHH'"(PXW$2\+/YH7H`(P"1*1P0,8I[S'L!'"`<$/!! -M^OB]\+5.3K^P,1P@,0$@(9`^D8AYRWD;`AA#P`<$U$Q)"&A`(A!#"&`(\!S[ -M!!P(\"O[/ID%'(AYRWD;`AA#P`<)U"!X8W@;`AA#0`1`#!PH`=#_]YK_(7AC -M>#E*%AQ@-CV6%AP;`AE#H#8\EA8<2`0X2T`,$#:80EO06]P7'%`W.Y<7'"(W -M,#+_(Q`SF$(YDCJ78]!CW/\G`3<=*`'1`?!M^W3<&2@!T0'P0OM8W`,H`=$! -M\`'X!"@!T0'P0O@4*`'0`O#K^6!Y`2@!T0'PM?D"*`'1`?#+^0,H`=`!\`3Z -M`"$@'`@P"/`*^`8<(!RZ(0XP$?#'^P`N`=$!\,[YO""`7;@C%$D@UA#0!BP,(!X,1P.,>!S<(D@="`<(#`1\/W[`?#6^=+C#^$``.!+ -M`0#\)0#`4$T`P$A-`,`44`+``*8`@`P@`(`"`@``2,,!`+'C9N`:*`'1`?!4 -M^QLH`=$!\'O['"BFT2!Z8WH;`AA#`2@!T`+P,?F@>N-Z&P(80P#@$N`!*`'1 -M`?`4^0,H`=$!\`CY!2CMT?=)`2"):/\Q83&(<0`@`?`+^;A"<=`BW!XH`=%$ -M-U_<`0```-05`````@``E("@`P'P!OD@*`'1`?!5^%`H`-!WYP$@P`,(0R!P -M`PIC<``@H''@<2`<)AP(,!+PL?CF20`H8GELT`$@D$`*>!!#"'"WX_\C"S.8 -M0F/0`S.80G'0`3.80MS1`"`,\(OYVTD`(`A@VTD(:$`B$$,(8*CG_R,D,YA" -MAL"&$,` -M*`'0`O`5^F-Z -M&P(80P`HCV8&P(90X![$/`Y_[A)`2`( -M<3J8$O!'^#N9`"<)>@"1LGOV>Y#BU^,VX_\C*3.80@'1`?"8_R/AL"&$,!*)+1XWJ@>B$<&P(80P(&$@ZA -M2`PQ`G`"X-C@4^'CX`$P$?``^RKG_R,J,YA"`=$!\&#_FDN80MW18WH@>I!) -M&P*):!A##B#_,6$QB'(6YP+BA.*03Y)+4#>80@'1`?#Q^''OIA"F]$!(,`#"$,@<`,*8W`!X(SCP.,`(*!QX'$@'`@P$?"X_VU) -M#"+(<0+P9/AN2P<[F$(!T0'P$?DOW&I+%SN80I/0`C.80@'1`?"/^69+"#N8 -M0@#05N9>24`Y"&H!,!V0(!P(,!'PE?\8J]AV(!P,,!'PC_\8JYAV(!P0,!'P -MB?\8JQAW(!P`)A0P`.`AX":0`3`ED`'P8?CGXU)+!#N80@'1`?`S^@$SF$(! -MT0'P'_H",YA"SM%&24`Y"&H!X&#AU.,!,``F)QP(-Q^0`?!8^,WC1$L',\`: -M%"@$T@.C&Q@;6EL`GT0-Y@``90@Z`D`"R0[0#G0/I@BE#[-ZH7I@?1L"&4,.\.+X8'T<(UA#@1F@>N-ZQ#$;`AA#$?`%^R!Z8WH; -M`AA#0`<@U2%]8'T3X!10`L#$)@#``*4`@`"C`(#&30#`)#,`P+E(`L`!`@`` -M*1$``'!$`0`.\+[X8'T<(UA#@1G;DPP&`0```,P9`````@``IW$J!ZZ4D;`AA#"'`@>NA)8WH.'*(Q&P(80Y8V`"@XD5S1 -M)QP((!^0*#<"(!#P$_@*X#B8$?"H_C%H"@)1&A'P5_HX8`0_!#X?F`$X'Y!# -M'._1V$@!)P%H.4,!8`OP6/F`(1\@#O#9_M`A&R`.\-7^8"$G(`[PT?Y0(2@@ -M#O#-_B@A*R`.\,G^/IF(>H9)8WH.'`\<&P(80YHWGC8`*!'1,1PX'`WP\O\X'!'PZ?T! -M`@\:,!P1\.3].1P1\)7Y(1P,,6[E.1P`)S@<$?#O^3$<.!P1\.OY#?#-_UOE -M=$H0:`$A"02?"8S/`0```,@;`````@``4YFB7@A#$&`!(`[PE/AQ24AI,"*0 -M0TAA;4D@.4AJ!"*00TAB"_#N^69)`"_9[ -M`1PP'#L<#_!#_L#D74D!(`AQ.I@1\*/].Y\`(SEZ`)&R>_9[`1PP'`_P,OY8 -M2B`Z$&H!(0D$B$,08E1)!#$(:`0B$$,(8``@#O!4^%%)%#$(:#`B$$,(8`OP -MN?FA>N-Z/9@;`AE#@'L0\&7\C^1)2$%H20A)`$%@B>3^]Z'^!AQ@>?\C73-$ -M3UA#P!DP,!HB(1P(,1'P3_CC>*)X8'D;`AI#_R-=,UA#P!E0,!HZ(1PB,1'P -M0/A@>?\A)C$X2D%#B1@W2H``$5`(\&SX,!SQXS5(`&@`*!70+DD(:@$P`"8G -M'`@W'Y`*X*WB.!P1\#?]`1PP!@$B``X(\'_X`38?F(9"\M,@'`@P$?`I_8`' -M`=4!(`#@`"`D20DBB6B2`8D8B&/_]Y+X$.<@'`@P$?`7_3R9P.,720]J`3<` -M)@7@,`8`#B%Z"/#"^`$VOD+WT_SF('IC>AL"&$,!*(?1(!P+,`<<$?#\_,(' -M$4DFU0`@\',(<`])6B`(8`])9"`(8"'@E^(D,P#`4$T`P%3Q`0`@J`"`P*(` -M@$"F`(#H(P+`Z#X"P.@8`L!T)0#`%%`"P'\L`,!`10$`1$4!`$`'`M4]*@'' -M`0```,0=`````@``2F%\+@$@\',(<#@<$?#*_$`%P`X!*`S1`""P!!X&P(80XA#$'`#"E-P5N!@)P(H%=$!(+!S.9H$(5-X$'@;`AA#B$,0<`,* -M4W`YFI-X4'@;`AA#N$-0<`,*DW`]X#F:!"%3>!!X&P(80PA#$'`#"B`<##!3 -M<#>0$?"1_,`&/IF`#PAP-Y@1\(K\P`:`#P$H#-$YFI-X4'@;`AA#N$-0<`,* -MDW`"(+!S`"`.X`,H$=$YFI-X4'@;`AA#N$,@,%!P`PJ3<`,@L',!(.Q)B'0$ -MX`KB8>`^F0(@"'"@>CJ9$?!T^+![/)D()-X&P(80T`& -M@`\+\![].I@1\$O\.YF$1@EZ`",`D;)[\'MA1@_PVORP>__WXOG620$@B'%( -M:@`H`-`BY+!["O#.^![DT4@$8R`<"#`1\"W\STD!*!S1X&@1\#WX(!P,,!'P -M(_R`!P?5.9H0>%-X&P(80P(C&$,&X#F:$'A3>!L"&$,"(YA#.9H#"A!P4W`, -MY``HTM$('!'P"/PA'`PQ$?`:^,CD(!P*,`OP=O_#Y/[W+?T=D+5(Q&(@'`@P -M$?#U^[-/&#\!*''1/)C`>P`H%]"O2-PP$?#I^P$<`B`-\+?]JTCL,!'PX?L! -M'`(@#?#%_:=(Y#`1\-G[`1P"(`WPP_VB2,!J__<#H9R@`0```,`?`````@`` -MOHG"DPCYH$C`:C:0##`1\,O[GDD4.361`2AKT3D<`"`0\-C_-I@4,!'POON7 -M2<`'+#E+>`EXP`\;`AE#20A)``%#DD@/'"PX!W`["D-P-I@<,!'PJ?L`!@`. -M^0<3U!ZI__?&^(E)!"(L.4MX"'@;`AA#D$,"(YA#"'`#"DMP'.!SX3_A!.(8 -MJQAV.9H$(8]#$7A3>'U(&P(90TH'T@\L.)(`.D,"(YI#`.#/X(D'R0])`!%# -M`7`+"D-P=$C_(BPX0W@!>/DR&P(90Y%#&*L:?I(&T@T10P%P"PI#<`-YP7@/ -M(AL"&4,10\%P"PH#<369#B"`?F0@! -M-)#`&3.0%#`1\$?['YE;2HD`+#J/&'MX.7C`!QL"&4-)"$D`P`\(0SAP`PI[ -M<#*0,9`SF!PP$?`P^P`&,9D`#LD'"]0>J?_W3/@X>'MX!"$;`AA#B$,"(8A# -M$N`8JQAV,I@$(0A#.'`#"GMP.9H"(8A#$7A3>!L"&4.)!\D/20`(0SAP`PK_ -M(?DQ>W`8JXA#&7Z)!LD-"$,X<`,*>W`V2328R6I`&#"0&#`1\/;Z`"@-T3"8 -M(#`1\/#Z^7@[>0`'&P(90PD)"0$`#PA#!N#X>#MY&P(80P`)``$",/AP`PH[ -M<368$?#9^OEX.WD;`AE#"0=VFW*-`0```+PA`````@``ME8S3@D/0!@UF1#P -MY?X?F0$Q'D@?D<=J.!P0,!'PQOH?F8A"`-ERYS68$?"_^C69`3@0\-'^`2`- -M\+;]__?%^#$<`2`0\,C^L'O_]U/X&>`.20`H%M`"*!31(!S^]]W_"DG(:@PP -M$?"A^@$H`M$Y'``@`>`Y'`$@$/"N_C$<`"`0\*K^'9C^]\?[A>0D,P#`?$T` -MP"!Z8WH;`AA#`"@6T?E.!B(A'`HQ,&@0\&O],&@!:""1"ASU28IB@(@@JQB` -M()C(8F%Y\DK_(%!4Q.0!*`;1(AP*,@$A8'D.\,KXN^0"*//1(!P*,`8<"_#6 -M_3`<"_`&_K#D`2"00`IX@D,*<`AX"_#P_<'@8'G_(R8SX4Y80X`9&APA'`@Q -M$/`S_6-X('@!(1L"&$/)`PA#('`#"F-P`""@<>!Q/)C)",-Y@'G_(AL"&$,( -M0SR9`PJ(<!Q(!PF'`@P$?`1^@$H)-$\F`$GPWF`>3R9&P(80SA#B'$# -M"KY(RW$`:`OP\?I@>0@H!]+_(28QMTI!0XD8"/!S_0/@LTD(7`WPO/ZU20AH -M""(00PA@!"!*X``&#=5@>0@H!=(`(@`A!_`O_6!Y`>"H20A<#?"]_CS@#?#+ -M_@</`0```+@C`````@``0KZ-\P!H`"@0T0`O#M!@>0@H!=(`(@`A -M!_`8_6!Y`>"<20A<#?"F_@$O)-$\F0`@B''(<9U)"2*):)(!B1B(8_[W+/U@ -M>0@H`](`(@`A!_#]_`KP1?N620AH!"(00PA@D$D(:`@BD$,(8``@#?!K_`$@ -M$?#U^8](PWJ!>AL"&4/)",D``C$0(YE#@7(+"L-R#"(Q'`'P/OHA'(=."#$& -M(C`<$/!Q_&-X('@!(1L"&$/)`PA#('`#"F-P`""@<>!Q/)A)",-Y@'D;`AA# -M"$,\F0,*B'%R2,MQ`&@`*`K0,'AS>!L"&$,`*`318'G`&0%X`3$!<+`<$?!; -M^7-X,7AF>1L"&4,!X/+BH>("'#`<"/!%_`XB`?#]^:![_R@'T5M(!B(!:"`< -M#C`0\"[\$>!73@8B(1P.,3!H$/`F_#!H`6@@D0H<4DF*8H"((*L8@""8R&([ -MF0$G2'J@=0,*XW4["B=S(!P<,&-S!_`N^@KPD?P@P,* -M('5C=4U(&#$0\"C]/IG+>8AY&P(80SA#B'$#"LMQ`?"H^2`<)#`OD"Z0$?`! -M^0<<(!P@,!'P_/@B'"@R.1P'\!/Z+I@1\/3X/4D`)TAT(!P\,"V0%^"Y``@9 -M*#`KD"R1$?#F^#=*+)E04"N8$?#@^"J0+9@1\-SX*IE``0@8+)D#'DUE`0`` -M`+0E`````@``6T93@S%*`3=04"^8$?#2^+A"XM@@'#@P!QP1\,OX`0[-[&P(80Q_@S!,"P`"E`(!<+`#`Z#X"P.@8`L!T)0#``*,` -M@%A0`L`44`+`)*@`@)!-`,`82P+``1D$`R0S`,"(5`#`F%0`P!!#<',#"K-S -MF-Z\D_R2!L"&D,!*O%)&-`"*@O0!"INT`@J`-!3YPAX`BAITZ=R.PKC -MCN9&P(80P`&``[(<0KPY_E!YZ)ZXWH;`AI#ND(1T3N92'H!*.+9 -M/IG+>8AY&P(80Q`C&$.(<0,*RW';20`@"'`IYSZ?UTG[>;IY&P(:0Q`CFD.Z -M<1,*^W$`)P]P.YD)>@(I`=$'<`#@`7"@>N-Z.YD;`AA#``8`#@ARS$D)BQ0I -M#M`3*0S0`R@*T1^I`2`-\./_&*L8?P,H`M`[F0(@"'(ZF!'P`?@[F0EZ`)&R -M>_9[`1PP'#L<#_"0^+I)`2`)>`[P"/CGY@#@`N``>`(HD=(!,*!R`PKCF-Z&P*K3PB>`0```+`G`````@``KZ[M -M/AA#`2B*T:!ZXWH;`AA#"O"_^<;FJ$D`((EH_S%A,8AQ`2`%X*1)`""):/\Q -M83&(<F-Z&P(80P$H$-&@>N-Z&P(80P`&``X-\"O\.I@0\*__LWL" -M'``@\7L*\(+\('IC>AL"&$,"*`G1.I@0\*#_`AP@'+=[\7L0,`#P"/\ZF!#P -MEO\[F0`C"7H`D;)[]GL!'#`<#_`E^('F(!P(,,`A!AP0\!_Z`2$P'`;PF/X@ -M'$0P"_`[^P`F!B!P0P$92C$P'`WPP_T!-A`N]=MVX``A(!P(,`;P0_X&'"`< -MNB$.,!#P`/H`+FG0NR"`73$<6#&@!!X&P(80T`'P`\@ -M=#F:DWA0>!L"&$-`!H`/8'0]F,![@`?`#Z!T/9C`>\`'P`_@=`+P+?DA'"`Q -M2'!?2`!H"'$,(B`<%#!=20/@;")=22`<"#`0\!KZ,N`EF!#P*O_`!HYAP8'O8 -M<*![&''A?%@=`"D%T`,Q67`A'!0QXGP&X.%[`*L#,5EPXGLA'!`Q$/"M^0`F -M!>`P!@`.:48(\.?[`3:^0O?3%>,@>F-Z/9D;`AA#B',^Y"!Z8WHA'!L"&$,` -M*`318'D*,0CP]?LRY`$H\-%@>0HQ"/``_"OD_??+_P<<)AP0-B`<"#`0\)/^ -M`081L"&D,['/[W%?L!*!'0`28/X`$H$-%C?")\ -M(7H;`AI#8WH@'!L"&4,*,/[W%?H`*.W0!?#J^0C@`B@&T2`<"C`&\%W]!B@` -MT0$F`"$@'`HP!O#S_"$<+#$0\"[Z`"X`T0OE@>$@>O=)"':"X_5(0&H`*`/0 -M(1PH'/[WL?D@>F-Z`2;V!QL"&$,`*`K0(!P,,!#P_/WC>J%Z&P(90S%#"&#K -MY.-Z(1R@>@PQ&P(80S!#`&@0\`'ZX.3B2$!J`"@#T"$<*!S^]XOYH'OC>QL" -M&$-E0?''`0```*@K`````@``G%]1W@`H$M`!*"[0`B@)T2`<"#`0\-3]`1P@ -M'#H<$#`#\$#^(1PH'/[W&?FMXR![8WL;`AA#0"CTV"`<"#`0\+_]!QP`)@G@ -ML``!&3AH$#$0\,SY!#V-[&P(80[!"W=GNYR`<"#`0\*?]!AP@ -M'!`P$/"B_3!@T>>]2$!J`"@#T"$<*!S^]T'Y"O!:^"!Z8WH;`AA#`"@2T"%[ -MH'KC>AL"&$,-\&G\H'KC>AL"&$.$*#[1L$D@>XEHT#$(<3C@H'KC>A^I&P(8 -M0PWP3OT>X*A(0&H`*`/0(1PH'/[W%OD*\"3X('IC>AL"&$,`*`?0(7N@>N-Z -M&P(80PWP,OP8X*!ZXWH?J1L"&$,-\([]&*L8?R!S#>"82`$G!W!]()=)P`#( -M8R!Z""@#T)%)3W$/\/S[P>,@'`@P$/`__9%/`"ALT2$B(1P,,1>H$/`B^!>8 -M`"'`!\`/%I`3J`+``L`7F!VJ`C(`!T$/`"DDDFW1%Z@&\"OZ`"@$T7Y)B&H! -M,(ABB>`8JQA]&ZDCD0`H;]%X:``H!]%\2``A0G@`*@+1@'@`*`+0!2!X21'A -M<4C`>@`H<=$$\%#^`"@%T03PB_]L20$@R')GX`$A(Y@&\,W[:$FP,4AA!QQ> -MT&M(0'P`*`+1`2`%\,3X`"`%\,'X`"$!(`7P2/@`(A>I%IAY`H3_`0```*0M -M`````@``A:>/K@3PWOXDF1#P\?@8JUA]84F`"!606'V`!X`/`R@"T1@@">#K -MX@(H`=$0(`3@`2@!T0@@`.`$(!BK"?%-)B'%-2$!Y`"@$T`4@#_!Q^P7@ -MP.)1204@%9H/\-;Z,!P0\*_\`2@.T!68!B@$T0$@NB'(50/@GN``(;H@P55X -M>P`A"?#%_@`AO2#!51BKV'P`*`_1/$A!8P\A!2``X!?A#/!A_C\A!2`,\&C^ -M/$E!($AA(.`8J]A\.DXP7`$P#/!8_@$0`H!-`&(`_P6?H%X`?BR$D& -M(!6:#_"^^3`<$/"7^P$H#=`5F`8H`]$!(`#@A^``X``@NB'(57A[`2$)\*[] -M`"&](,%5&*O8?``H#]&Y2(%C#R$&(`SP3/T`X.G@/R$&(`SP4?VT24$@B&$@ -MX!BKV'RR3C!<`3`,\$']`1P&(`SP-_T8J]A\,%P!,`SP0OT!'`8@#/`X_1BK -MV'RG23!<@`!"&%)HBF&C24`80&J(8YM.`"`7J0D8"7PR&`$P!BA1P`H!=`ZB1BKV7P`(`OP'OF72(!K`"@%T)5*@#*0:4`A"$,$X))*@#*0:4`A -MB$.082.8@'L`*`'0`2`P=`$GBTEX`X`Q=W2(8/WWV?XCF`-\P7L;`AE#2![" -M%Q(-$A@2$Q(#@!H`!``,"@IB``%(8G=(AW$/X7I)`2"(2/SA&*M8?1E]@@C8?,L`61A82\D8B'%< -M23@<#_#G^#`<$/#`^@$H!=`8JQE]$IA`>PGPW_P2F`$AL#!!".X07BB1@)>@$I`M`!,`@H\]L(*"S1 -M!"\!V``O-=$8J]A\.DXP7`$P#/!0_`$<.!P,\$;\&*O8?#!<`3`,\%'\`1PX -M'`SP1_P8J]A\+DDP7(``0!A`:"*:41@(8-A\*4DP7(``0!A`:B*:41@(8@S@ -M!"$X'`SP)/P/(3@<#/`K_"%*(ID@((D8"&`!+P'0`B\(T1BKV'P$*`32&DHB -MF0`@B1@(8B.8@'L`*`?0&*L8?0Y*`2'#`!@8@!C!<1BK&'T*2@$APP`8&(`8 -M`7(BF0U("!@`:@`H(M`*2H`R4&D!(0D$B$,:X&3A@E`"P#1H`L!P1`$```P` -M@"0S`,!44`+`_V<``$"B`("`I@"`'"<`P$"K`(!`I`"`*',"P%!A`2#E2B*9 -M0`.)&`AC_?>S_0G@0`\!*`;1%ZD6F`3PIOTDF0_P`OXDF!#PZ?G_*$_1(1RR -M=^7Z`0```)@S`````@``^[PH'B@<_?>,_2SA`BA?T0@B(1P,,1VH#_#&_!Z8 -MU$H&!C8.@`H -M$]$&X`$N!-&[26@Y2'L`*`O1'Y@.\/__,!P$\"K\`"X$T;5)`2!H.`! -M+F/1L4D!(&@Y2'->X*]*`"!(,M!1K4@?F1`X05P`*531'YD!)T=44.`\X0$H -M$-$*(B$<##$=J`_P9/P=F!Z9P`?`#Q"K"08)#IJ/!/`H_3S@`R@+T0@B(1P, -M,1ZH#_!1_!^8``8`#@3P&_TNX`0H+-$A(B$<##$7J`_P0_P7F``'0`\BT1>H -M!?!8_@`H`-$KY!BK&'T;K@`H+-%X:``H1M&+2$%X`"E"T8!X`"@_T89/:#_X -M>@`H.M$$\(7Z`"@%T03PP/L!(/AR,>!UX`$A,!P&\`+X?4E(,4AA`"@GT$![ -M"?!?^@"(P06)#@,I']/`!V+4'.`8JQA]`2@MT3AK`"@5T7)(@7H`*1'1P'H` -M*`[1;D]H/WA[`"@)T0$@!/!3^@`H!=$!(`3PC?L!('AS/N`!(3`PGP+?H`B,$%B0X#*2W3P`PGP`?H`B,$%B0X#*0'3P`<$ -MU"$<*!S]]V/\!N`A'"@<_?<9_"&8`"@"T$1)!"#(8C^P\+T@>F-Z&P(80P$H -M8]&@>N-Z&P(80PGPL?A_%[`AP` -M(#L<"?!G_?_W\_@@>CR9R',L26@Y"'+/X"!Z+DD>*&C0'MP1*%W0$-P`*#_0 -M#B@VT`\H/-`0*#'18'H.*"[2="-80T`8*2$)`87@$RA2T!4H4M`:*%30'2@@ -MT2<@@`%-X",H%=`)W!\H7-`@*&/0(2@+T"(H$M$82$#@)"@+T"4H8M#_*`K1 -M%4@XX!<@P`$UX!)(,#`RX!!(T#`OX'3@8'H"*''27"-80T$80#%4X&!Z`BAI -MTLPC6$-!&/@Q3."`H@"`C#,`P#1H`L`H@,H3](P(UA#0!CA23'@#N#A2`'@X$A$,`D8*^!@>@(H0-(D(UA#0!C: -M29`Q(>!@>@(H-](8(UA#0!C623`Y&.!@>@,H+M(4(UA#0!C22=PQ#^#_YV!Z -M`R@DTD`!0!A9(4D!!N!@>@,H'-*C8G,>`0```)`W`````@``%JQ(TUPC6$-` -M&,I)01@`*170H")/X`$G`2$@'`@P!?"R_@8<(]"A>PP@`"D-T'**X7N"0X@' -M``\00W""`.!LX.![`"@$T0`G`N!QB@A#<()PB@`'@`\!*`#1`.``(+9)R'/] -M]R_[<'LY'`GPG/@A'"@<_?<5^_WF`2$@'`@P!?""_@`H2=!`>[@CK$E80T`8 -M`1QH,2`<'B(.,"C@J$@!:$MX"'@;`AA#('(#"F-R"GA+>!L"&D,@'`PP&.!@ -M>2%Z.50JX&=Y)GIC>B`<&P(>0PHP#_"!_P(<,1PX'`?P-Q""(A'"@<`O"K_Y?F -M^+5\3.%L`3'A9``H;=']]RSZ"O">_N!Z`"4`*!/0('M!'"%S`2@.V?WW9?@& -M'"5S`2$`(.5R!?"+^P4@`?!N^3`<_?==^&M,8'L`*!30)ARP>T$![X`5@24@!:``I"=$!(`3P -M&O@`*`710TD&(`AP]V(`X`5@`?!2^3A*U70W2I!]01R1=00H&=D`(#U+`"&, -M`!Q99"P"V0$P``8`#@$Q""GUVP`DH0`!-`@L75#ZVP(H`MD!(-!U`.#5=95U -M)TH0?4$<$74!*!G9`"0#X`4L$-`&+`[0*TF@``I8`"H(T2`@`H`=`+\#O[^+T``.@(```("@``U`P``"0S`,!(PP$`T"8`P!`W`L#01P$` -M``P`@$!0`L!P1`$`1%`"P+10`L"44`+`*',"P/BU!?#H_PGP:_H7(4D"2D@/ -M\.SX24]*30`F`2(Y'``@_/>F_P0<^-#@!`+5`"#_]]7^H``M21(`_",^0`H -M!-`92D%H46``(0%@@+T`(@$<%4B`M4!H`_">^8"]$DB`M4!H`_"@^8"]$+4/ -M3&!H`"@'VP/PF/E@:`/PF?D`(,!#8&`0O8"U`2```_WWS_B`O8"U#O!+_H"] -M2,,!`/__``#L$P+`&3P``/`E`,!#0B!0/\CR3/<2EE###*.&#$<_S&! -M,=E*CF(2>-E,_R"3`!H90#K5:P$P36+23=PU71E`/>UKTFNJ&A($$@P`)8)" -M`M,(8LUB$."`&@ACR4@W'/\WS#`8&+$W"F+/8D`XP&M(8XAJ@!B(8\UC,!S_ -M,,5)H3#(8\-*0#+0:(D-B$/08,!+3#,8:#TA"0((0QA@T&A`!/S4_/='_C<< -M_S?!-P"0O8!6X!0A04.-&?\U0`&$&0$U(!P/\`;]`"A-VF%Y`"`(*0'1`2!@ -M<:Q)"7@$*0#1`3!A>0#PYO\!D``H!-$!\"GX`?!FF'RR`0```(0]`````@`` -M/*4J0RCX-^`T(0&8#O"$_P&8-#`!D"A@(!P/\./\0`!`""$<#_#T^"`<%#`/ -M\-K\FDF;2@EXB0")&$`YR&-C>R![&P(80VA@`9CH8"`<"#`/\,C\J&``("AA -MN(@!*`73%"-80X`9!#7`,,5CN(@!,+B`N(@(**73`)C\]^G]N(@`*`[0`2`" -MD(-)`""(8(9)@TH(8(%(`'B``(`80#C`:SA@`IC^O7Q(_R,`>,DS>DE80PPQ -M0!C_,'I)!3#(8WE*0#+0:(D-B$/08'9*3#(0:#TA"0((0Q!@<$=R24`QR&A` -M!/S4<$=L2'"U`'C_(\DS:4E80PPQ01@+'/\SP3,8'$`X'&A":@`EE$(%V:(: -M`F)":D%B@F(3X$%B8$R"8B1X7$X::,PVI`"D&4`\Y&NB0@;9$AL"8T)KA&N" -M8T1C`.#%8O\Q5TBA,<%C5DI`,M!HD0V(0]!@4TQ,-"!H/2$)`@A#(�:$`$ -M_-1029B("FB`&`A@<+WXM1<<'AP-'`0!L"&$,!!XH/`-$! -M)00M!MB)#P(I$]$`!@`/""@/T0`N`="X-C9H(!P@,$-X`'@Z'!L"&$,!!PD/ -M(!P*\/GY,QPZ'"D<(!P+\$_Y^+VPM35,`"4@>``H!]`-\)+^(7@!*0'1,4D( -M8"5P,4P@>``H!]`.\!?Y(7@%*WC``0```(`_`````@``R$V4_@$I`=$M20A@ -M)7"PO?"U#QP4'`0PA[`&D`_PY/LH204!L"&4,)!XD/<=`` -M+&_0NR$)72%*$7`(*6G2`:-;7%L`GT0#965E/64]/28<0#8PBX$'7-7`!(`. -M(1P#\&3Z`"A5T`:8#_"Y^T-X`'@QBQL"&$/*!`@X``22#@`,203+#P"2P>`` -M`#`F`,"\4P#`/%``P(@/`,!D#P#``.@`@!@T`,"$#P#`I3X`P*P^`,"D/@#` -MJ#X`P+!-`,`=)@#`@7D_!C\.S@&MXH"`;`AE#%#D`D0-;G"`"62D<(#$H'`WPK_\"(/-)`"X(<`W0(!R@,(&) -M`3$)!`D,@8$#T8`TH&H!,*!B![#PO2``$B&P(80Q`X -M`00K'`&2(APH,PD,*!P`EPWPF?P"(-1)'N``+LS0`"C*T2$<`_"#^0`HQ=`& -MF`_P]/IR6`9>`0```'Q!`````@``+1K)^4-X`'@`(AL"&$,(.``$``R`-`"2 -MXWHI'"0Q`AP('PWP@?[$20(@"'"MY_BU#AP$'!<<_/<*_`4<__?/_@`L!-`Z -M'#$<(!S_]^/^*!S\]P+\^+WXM04"P<+#0;`AE#"0>)#P(I -MLTH%T8!YP`<"U2$<$!P!X"$<$!T.\,?^KD@!>``I!M"M2QEH`2(10QE@`"$! -M<"`<#_"C^@$P0W@&>&`G&P(>0[Y#!G`S"D-PI$B`>P,H"=$@'`_PDOJ^0S$< -M(#%!<`L*@W`(X`(H!M$@'`_PAOJ^0T9P,PJ#<"@<'#`$'`_P??H!(0D#B$,A -M'`[PC?[XO9-)2&!P1Y)(0&AP1_"UF[``(`B0C4B-21`P&I`",!F0"C@6D`0X -M0#$8D160`",$DQPP$#$4D"`X$Y`7D0$B`R"$2?SWT_L$'(-(`(L4*`O1&)E( -M>0(H!]&`2E!H0`0#U%!HT0$(0U!@(!P$\.?[`"@"T`#P=/WAYR`<`/"@_AJ8 -M8!Y$#H;`AA#P`?5U1.8@WM`>QL"&$.`!L[5<$D!(`AW;TD$(PMP`"`' -MD/_WJO\`*!S0!/"?_0`H9-#_]T'\`"@4T1F8#_`0^AB9`"0)>B,<`)$3F8I[ -MS7L!'"@<#?"=^A.8@'O\]Z3_6$A$8`B8`2@>T5Q(`6E`:8%"`=`RO9E:`0`` -M`'A#`````@``V?)W1`#P+?T`\"K]__=K_0>8`"@%T`>8!ID%F@2;__>P_?_W -M9OW_]WW\`2@"T?_W0/T6X``@$^#_]W3\`"AQT/_W-_W_]T_]0DD!(@AX4$`( -M(!X&P(80P`'@`\"*`;1$9@/\";Y!QR`><`'4=4@'/_W5/X1F`_P'/F! -M>,-X&P(90PH'D@]#T0D&"0\%*3_1%YD'',E[B0<9U.I)"6@`*0/0.1P@,0`@ -M!N`!'!(Q`"`*\"O^.1P@,07P`?L!D!&8#_#3(;L>`0```'1%`````@``P`JI -M-/?X`9D!<`L*0W`'X`%X0W@;`AE###DL,`;P@/T"(-I)('`(:$EH.AP@,@,$ -M&PX0<%-P`P(;#I-P``[0<`@$``X1<5!Q"`(`#I!Q"`[0<9?A$Y@/\,WX`2AF -MT2$<+#$0D`AX_R$;`AA#^3&(0P"K&7F)!LD-"$-`"$``!"&( -M0PZ9`PH(<$MP"/"`^@Z9&"*+>$EX@`<;`AE#D4/`#@A##ID#"DAPBW`/F`_P -MA_@!*`31`*L8>0$H"-`#X`"K&'D$*`/0`*L8>?\P&'$!-S\&/PX$+\#3#Y@/ -M\'#X`2@*T9U)_R((>TM[^3(;`AA#D$,(,`G@P."82?\B"'M+>_DR&P(80Y!# -M*#`(0`M`9$3T1&8#_!-^`8P`"$$\"#_!1P*T1280W@` -M>!L"&$-!!\D/@`?`#P"1"N!H>P3PN_\!!@D.`)%H>P3PR/\`!@`.`)G`!\D' -M20\-D8$/#)%[2;@`01@+D0AX2W@!(1L"&$,(0P(AB$,,F0A#_R'Y,8A#`9F) -M!LD-"$,$(8A##9D(0PN9`PH(<$MP"/#S^0N9&"*+>$EX@`<;`AE#D4/`#@A# -M"YD#"DAPBW`!F0`I!]`F8H6>`0```'!'`````@``-.(7B0&9("D$T`&9_S$) -M!@D.`9$!-S\&/PX$+\+374K_(5-[$'OY,1L"&$.(0Q!S`PI3U1)&P(80XA""]E03Q:8#O#0__E[.WP;`AE#"0<)#T`:`N`6 -MF`[PQ?\!,"!P(!P<,`<<#O"^_P$A"0.(0SD<#O#.^T1)"&@!(A!#"&`0F`[P -ML/\!>#L=&7)!>%ER"9D$*6_2.D\X>#!W>'AP=VG@`"T2T;@=`"$$\'/^!1P, -MT0`A,B`!52$<"B`@,8AR`PK+WH; -M`AA#P`<*U'MX.'A@(1L"&$.(0P`A"$,X<`,*>W`P'`[P`O\!(A!#,1P.\!/[ -M`"UL.Y/1`0```&Q)`````@``\_L5U`C1$9@.\/C^!C`!(03PR_T%'!K0+HEH -MB@`'@`\!*"#1.'I[>AL"&$/!!QK5P`6`#@!L"&$-` -M!@G5.'A[>"H<&P(80P$'"0\@'/_WV?O%28AL`3"(9`>8`"@%T`>8!ID%F@2; -M__=T^@F9!Y0%E@25!I$#F`$P``0`#`.0$IB`B`.9B$(`V>GD^_?*_P0<__>/ -M^B`<^_?)_PB8`"@`T)#D!Y@`*`70!Y@&F06:!)O_]T_Z__<%^H3DK$D(>/\P -M``8`#@AP`-!9Y``DJ$D`(`QW!/#'_QOD?+4#(/OWVO^D2`+PAOVB32AB`O"K -M_BACH$@@,`+P??UH8@+PH_YH8YQ(8#`"\'7]J&*:2$`P`O!P_>AB`R#\]Q7X -M?2')``4B`9(`(@"1EDD#().C^_>B_@`H`=`!('R]!_#:_XQ.`"0X-BAJ`O"? -M_:$``305+'!0]]L%X&AJ`O"6_:$`<%`!-"4L]]L`)*``,%@"\.S]`30E+/C; -M`"#>YQ"U?4P@:@+P8?XA:XA"!]%@:@+P6_YA:XA"`=$!(!"]`"`0O71(@+4` -M:@+P3_Z`O8"U`R#[]Z'^@+V`M0`H!=`!'`,@^_=U_P`@@+T/>.QV`0```&A+ -M`````@``!Q.K:0$@@+WXM08<;4@/'`!X-#<-'``D`"@3T`PB,1QI2`'P7_X! -M\'[^9T@`(08P!/"]_``H!=``B0GPL/P`*`#0`20A'#@<`/#*^`0<`"A>20?1 -MB&@!,(A@4TE(;`$P2&0/X%I*`"`08(A@64D(8#0A(!P.\%[X-#0J'#$<(!P! -M\##^(!SXO?BU!1S[]^G^!AP`)``G1DF@`#@Q"%@!(8D'!2+2`T$8D4(/V`$< -M(#&*>LMZ&P(:0ZI"!]$R(A=4""**AL" -M&$,%*`'0!B@6T2!X_B@!T/\H$=$@'#`P@G@!,A(&$@Z"<`(J"-D((HIR$PK+ -M/_X"]L+4$'``H$TT, -MT2P@$DI(0X`8@&H`*`70!2D#T`8I`=!->.N;`0```&1-`````@``'NMU&2AH -M#N`-2`!H`O"$_``H"M$H:`+P?_P`*`71`BP#T0A(`&@"\'?\L+V`M0+PK/R` -MO7!'<$?@4P#`*',"P-Q3`,#H4P#`H"%+`%D8`"!)"`#@`3"!0OS8<$=!!DD/ -M@+4%T`$<`R#[]T'^`""`O0$@@+UP1_"US$J%L!%H`Y$0:5=I`"3*2\I-`"$! -MKLE-,54I50$T""SXT^O@.`8#F0`."$,-(0D"`"4(0P!H`"AIT,%)"$`)!T08 -M(!PD,`20#O"@_`8&-@XP!S?4(!P@,,-Z@'H;`AA#!2@*T`8H"-`L(;-*04.) -M&(EJ`"D$T'$'`M6R2H$`55@`+1+0!2@!T`8H&]%H>[@CK4E80T$8#1P,-2@< -M#O!V_`$P*1P.\(CX#.`@'0[P;OP&,``A!/!!^P`H`]!!>R`MR"%4_X"PC -MU0`FZWJH>@`A&P)T[H>*`0```&!/`````@``Z@/+I!A#`:H15*IZZWH!J!L" -M&D,1&"`<`_#._>MZJ'H!J1L"&$,(7``H$=#_]P[_`38(+N+3"^!P!PG4`"`R -M(0A5"B"H<@,*ZW(@'/_W\/X`(`29#?#N_PG@`"`R(0A5"B"H<@,*ZW(@'/_W -MX?XX'4]*QP40:?\-N$(`T!#G3$I7851(`'@`*"70^_?N_`4<""1)3@`G`:@` -M&1`XP'L!*`O1A2```4Q)8$-`&(4A"0%`&@\A`_#.^0C@,!D0.,%[`2D#T<=S -M8!X#\$/[`3SBT2@<^_?/_`6P\+WXM00?-Y&P(80\`' -M]M4`+`K1N'K[>AL"&$.!!L`&P`_)#P@8`-`!)"M-*'A!'"EP"B@0V:AH`1PI -M.2((ABKN>,M2,A"0$>(@&2`"(`D1%)`2`.H_OW_/H`*`/1!DG(8`AA -MC+T!(/SG@+4!(/OW+_N`O0``4$T`P`0T`,`<)@#``*8`@$SQ`0!`I`"`261L -M90````!940``\+7M2`0A`6'L2>U/06%+(4D!"QS_.X%A.3O#80(A`6(`(0$B -M$@-'8H%BPF+C2TLFY$UV`0%CS``]4>098V";&0$Q`2GWV^!,R0!\4,D92V#9 -M208C0#&+8=Q+I`W+80QBVTP!(DQB"B2,8M5,$@,0-,QB2F,`)-).#&,`(M5- -M$#:,8]0`-5&D&6-@`21D`AL9`3()*O7;T$S2`+10DAE38`4B0F/-2@,C&P*" -M8\-CS$OD#`M@`B-+8,%+P4T0.XM@`"/+8`QA2V$`(<9,$#W+`.Q06QE:8`,C -M&P+2&`$Q`2GUV[E+R0!K4$D92F"R2@,A@#K19KQ)L$N6:O1<`0```%A3```` -M`@``8/#2J1%G@#O4(EIG`2)2`YIG:2+:9ZU,`2,`(F`T&P-"8(-@!&#"8+-+ -M`"#"`*-0$AE18-0Q`3!H*/?;KTK``")0HDI@,H`806"M2``B`F"K24`QS6$" -M(XMAJ4K##$`Z4V)/80(D#&$38DYB"B0,8I-BEDE@,4%C:2$!8Q-AH4D`((A@ -MGDEC(,`Y"&*=2<`'0#D(88AA2&$(8/"]-N?_M0P<'AQ+>`EXA;`;`AE#`9'A -M>"-Y`"4;`AE#2086U0`N%-"[(8E=D$H''!%P(AP@,@.2!#(@-P@I!))ST@&C -M6UQ;`)]$!@-O;T-O0T,`(`FP\+TP'$`P`I``BX`'8M4#F()*P7B-"0%X$7!! -M>%%P@'B0"-Y&P(80T`'`R#[]U'[`I@`E`"+ -M!)E`!,,/`9@D.`($$@PX'`SP:OT%'`,@^_=O^P`M!=$@>&-X&P(80P@X=>#[ -M]X7Z!"4_X*!YQ0?M#_[W1OTP'%`P`"T#T8%Z`2D_T0+@P7H!*3O1,AP`(2@< -M`O`9^``H+=`#(/OW&OL!FCD<*#H@'`>;#/!L_@4<`R#[]S[[`"T3T>!X(WD; -M`AA#`.!)X$`'!=0@>&-X&P(80Q0X/.`@>&-X&P(80PPX-N#[]T;Z*0>)#P70 -M_R%(2@$QT6(#X&/@J0<`U0(E^_=!1=Y-`0```%15`````@``>0@,V3WZ*N"! -M>@(I`M#`>@(H)M$Q'"@<`?"__P4<4=`#(/OWV?H'FBL<`)(!FCD<,#H@'`SP -ME?L%'`,@^_?[^@`M`=!K'`G1('AC>``E&P(80Q`X('`#"F-P`.`0)2@<1^<` -M+2[0`"@LT0.8*$K!>(T)`7@1<$%X47"`>)!P_O?"_#$<*!P!\$__`"@:T.!X -M(WD;`AA#0`<#(/OWG?H`E(`V\WH!F`29)#@"!!(,.!P,\+C\!1P#(/OWO?H` -M+0#04N=+YRC@``!D$0+`<&\!P#P-`L``E@"`@((`@/B``<`4!````"``@$!! -M`(!(9`'`*`@````P`(`,EP'`0`T`@````H#`HP"`P*0`@!TF`,!\-@#```P` -M@`$@ZN;PM96P`*L`(1ER)"/W25A#1!C@:0`%P`V@86%IP``/&'YH`2`.\-#Y -M\4D(:`$P"&"P>/-X[TD;`AA#B$($T.Y)2&D!,$AA?N``(+!P\'`P'"`P!Y`Q -MC`$@0`,@.0B1@4)QV`B8`"ANT`>8!9##>(!X&P(80P$'B0\!*1K1``8`#PHH -M`]$%F`3P8OA)#P(I"M$`!@`/ -M""@&T7-[,'NZBQ(D`0```%!7`````@``C>"R9!L"&$,H=`,*:W0H?&M\&P(8 -M0T`'0`\$D,%(P'N`!A+4!9@!(1(P`_#,_@.0*!P(,`WP\/\"J@"2!)H'F0.; -M__9")H!\!GXL'D'\#SYL4D(7`#@D^#H<3%YR0<# -MU`(H`=$8(.AQ\'EHBAWL7TH'!0P$Y`4D0WPL?\`"A29``((0Q.9#?#`^W%]*!P5 -M,!&0$I$-\*/_``H2F0`""$,1F0WPLOLQ?2@<%C`/D!"1#?"5_P`*$)D``@A# -M#YD-\*3[L7XH'!@P#9`.D0WPA_\`"@Z9``((0PV9#?"6^W%^*!P9,`N0#)$- -M\'G_``H,F0`""$,+F0WPB/LQ?B@<&C`)D`J1#?!K_P`*"ID``@A#"9D-\'K[ -M*!P$\,[X,'ET20:0<4@@.,-Z@'H;`AA#@`8$U0680'P*>)!""-!N2`!H`"@( -MT`68P'H)>(A"`]$P'`B9!_#;^`$F-@,`(:!I]00!(SIH&P4:0"-I`3N#0@K1 -MX&@``2A#.&#C:3`0FC1`""X[A[&P(80[!Q$)@P<0,*Y?3`<%#`.D`^1#?"R_@`*#YD``@A##ID-\,'Z>7TP'!4P#)`-D0WPI/X` -M"@V9``((0PR9#?"S^CE],!P6,`J0"Y$-\);^``H+F0`""$,*F0WPI?JY?C`< -M&#`(D`F1#?"(_AC@^>#D$`+`##0`P.^^```P9`'`+C,`P`"@`("P30#`L"8` -MP$GQ`0!T)0#`%%`"P"P-`L``"@F9``((0PB9#?!]^GE^,!P9,`:0!Y$-\&#^ -M``H'F0`""$,&F0WP;_HY?C`<&C`$D`61#?!2_@`*!9D``@A#!)D-\&'Z,!P# -M\+7_\$XP:`$P,&#O3K!Z\WH;`AA#@`8-U0&8[$E`?`EXB$('T.M(`&@`*`/1 -M.!P"F0;PQO^P>O-Z&P(80X`&1M7A3AX@,6@-\-CY`2D\T0.8(#!">P$<##%7 -M&/%H`"D*T0HP#?`6_D`&!=1X>`4H*='X>2PH)M'L[<#Z`0```$A;`````@`` -MOA$.A-=(`'@`*"31UDD)($AC`B$`(`GPU?\/(0`@"?#<_P(A`2`)\,W_#R$! -M(`GPU/\"(0,@"?#%_P\A`R`)\,S_R4D6($`Q"&!(8,A@`2``X``@L&`P:`$P -M,&`!(A(#`"&@:=<$`28K:#8%,T`F:0$^AD(*T>!H``$X0RA@Y6D0'*A#X&%E -M:0`@"N"F:`$P-@$^0RY@YFD(-0@V]@3V#.9A`"L#T2-I`3&+0MO2`2`1L/"] -M`"(!)Z%I_P5I"0.I0^%A96D` -M(0K@IF@!,38!/D,N8.9I"#4(-O8$]@SF80`KV-$C:0$RDT+:TM/GF$M34-+G -M\+5!:8)I`2?4``D9/P,`(_X$`24,:"T%+$`%:0$]E4(*T<)H$@$R0PI@PFDY -M')%#P6%!:0`B"N"%:`$R+0$U0PU@Q6D(->T$[0S%80@Q`"P#T01I`3.<0MO2 -M\+WXM8!.`"0`)Z``A1FH:@`H`M`!\!/]KV(!-!`L]-,W<'>$^+WPM<%I`"8) +M`%+ADTP`"S``LN@!`!3C#$"$$`(`%.,)0(00`T#$XQ!05>+!"*0H_/__BH5> +ML.%!`*0H!'"$1/#__^H!P`"`0O8"U"?!= +M_0`@@+WXM=M(`"$`(B`P!L`&P-M,_"$@'!+P6?\@'#`P`24%<`HFQG'32"$< +M5C$P,!/PI?@((2`<0##AAP`@8#&@`PA`8$.(4&!$"&!@1(AP8$4 +M(0&"H(V`(T`AF$.(0Z"%8(L@(@`F*$,00XA#8(/0^D,H`0```/P!`````@`` +MP))E(R$<%C$X'.9T$_!^^`(B(!P0,*)TA7/%1L"&4.Y0Q@C&4-@(YE#@".90T%Q"PJ#<2`<4#``D`9Q +M`)@,(49QJ$@@,"!@`"`F'#)HA``5&6MX*GC_)QL"&D-2"%(`*G`3"FMP,V@" +M):I#&QD='"IP$PIK<#-H!"6J0QL9'1PJ&IX`3`;`AI#!B.:0VIP$PJK<#-H&"450QL9&AQ5 +M<"L*DW`R:&`CG4,2&55P*PJ3<#)H%QF`(I5#?7`K"KMP,V@<&2-YY7@;`AU# +M+0DM`0(U*PKE<"-Q!"BETWQ.`2`Q:/\E2W@,>/DU&P(<0P1#(QP$)"-#'QRO +M0W@W#W`["DMP"WG/>!L"'T,_"3\!/QC/<#L*"W%+>0]Y&P(?0P=#.QPC0Q\< +MKT-H-P]Q.PI+<0MZSWD;`A]#/PD_`0(WSW$["@MR2WH/>AL"'T,'0SL<(T,? +M'*]##W(["DMR"WO/>AL"'T,_"3\!!C?/P][&P(?0SL<@T.C0ZM# +M'1PH-0US*PI+1L"'4,+>AL"'T/M&0M[SWH;`A]#ZQD/)>T:"WS/ +M>RT'&P(?0SL)&P$M#QU#*PHVWUNK`0```/@#`````@``-'K;GLUS"W0.(?%@ +ML&`^3P`A`"`8-P(E<6""`-$9BWA.>`$P&P(>0Q@C'D-.<#,*BW"[6JM#6PA; +M`*-#NU*+>$IX&P(:0X`CFD-*`!:$D'20\"*0#147(!:$D'!-&(2QEH$"(10QE@@DL8,QEH_R(10QE@ +M?TB`:1!`P2B!30#1+G`,\`K_"2@`T:YP>4@`:`GP7/L`(#A#`1Q[3P.1.!P) +M\)G\/F#_]]7]`YD(0P.0.&@`*`C0<4@F,!/P!`H`-%NC@<$##!;D`0`` +M`/`'`````@``V6J[4_^U"9X&*`'2$BD"TY@@!+#PO=M-@@"L6``L`="7(/;G +MUT\$`6`_Y!FL4"%@KU@"G(D`?&"L6*-@JEC68-!*&#)04,U)R&D!,,AA`"#? +MYYBUR4P`(>!@X6$3\)CY`"(`DN!IR$L"'`0A__?*_^!I`3#@89B]Q$C`20AA +MP4AT.(AA`"!P1_^UA[`$'`8L$9@0G99&G$8"TY@@"[#PO;I)I@`8.8E9`"D! +MT)<@]><`(@(A!)$%DK!/`AP#D#AILTD`D)0@8$-$&`*2")H@'&%&`95S1A/P +M8_D`*`?1.&FJ24`9.&$8.8Q1`"#6YP$@U.>`M08H!=*D28``&#D(6!/P5OF` +MO8"U!B@%TI])@``8.0A8$_!4^8"]L+4&*`K2FDV$`!@]*%D3\%+Y*%D3\%?Y +M`"`H4;"]@+43\%GY@+WXM0$H`=.8(/B]C$Z%`!0V<5D`*0'0ER#VYS@CB4E8 +M0Q0B`)*L.408A$\`(0$B(!R[:1/P1?D`*`71=%&X:10PN&$`(.#G`2#>Y["U +M`2@'TGI-A``4-2A9$_`Z^0`@*%&PO0BU`2@+TG1)@``4,0A8:48`(A/P-/D` +M*`'1`)@(O0`@_.>#M0$H"M)L28``%#$(6`&I`"(3\"OY`"@`T8R]`2#\YP"U +M`QP!*(FP$]($J06H`)`!D6%)F``#J@*2%#&=IANA`0```.P)`````@``'G.Y +M#@A8"*D'J@:K$_`:^0`H`M$'F`FP`+T`(/OG<$>`M8`@$_`6^8"]@+4`(!/P +M$?F`O7!'<$=P1X"U@"`3\`GY@+V`M1/P!?F`O8"U!2@(TAPC3$I80V`R@!@* +M'``A$_``^8"]@+4%*`;2'"-&25A#8#%`&!/P_?B`O8"U!2@(TAPC0$E80V`Q +M0!@`(PQ0!@3 +M\.#X@+V`M08H!M(:2D`![#*`&`(B$_#%^("]`+6'L`8H$=(#J0"1$TD"JD`! +M[#%`&`&2!:H&J02K$_#+^``H`M$%F`>P`+T`(/OG$+4$'`0H#-(<(`Q)8$-` +M&`$B`"$3\'CX"$H`(*$`$#I04!"]-```!`"0`)!X$P`$UP<``.0$``14`0`$ +M-!4`!("U!"@'TAPC=$E80T`8`"')0Q/P:?B`O8"U!"@,TF]+`2&"`!`[F5`< +M(VQ)6$-`&``AR4,3\%CX@+V`M00H#=)F2X$`$#M:6`$J!]$`(EI0'"-B25A# +M0!@3\$[X@+V`M00H!=(96.\R`0```.@+`````@``ZIL'LQPC74E80T`8$_!$ +M^("]@+7!:`(<`&B2:!/P;/B`O?"U!"@!TY@@\+U4380`*UD`*P'0ER#PO2PC +M3TY#0W`VFQE.3RM1!@$0-[A1\!F!8,)@`"%!8$I)&6$I64AA`"#PO?ZU"QP1 +M'`0H%M)$3`(!$#05&6IHA```*D!.#M$!(@*2`),!D3!9`"$":4-I$_`Z^``H +M`=$!(&A@_KTU'`H<&1PP61/P-_@H61/P//CTY["U!"@&TC%-A``H61/P._@` +M("A1L+V`M00H!-(L28``"%@3\"CX@+V`M00H!-(G28``"%@3\"_X@+T0M00< +M$_`R^"!@$+T`(P+@`7`!,`$SDT+ZTW!'^+4?2`!H!6@`+2#0'4\`)`$@H$`H +M0!?0&DF@`!@Q"%B&`+E9`"D/T`AHBF@I'!+PW_\"*`C1N%G#:``K!-`J'`$A +M`&@3\`SX`302+.#;#DP#S`@\@4(+T`M)(#$(7!/P!_@`*`30(&@!,``&``X@ +M8``@^+TT%0`$5!8`!/<+```````$>!,`!#0```0(M0SP5?K_(0,@#_`V__5) +M!"`(8`;P,OX$\.K\`"``JQAP`2#_]\+]#/`W^FE&*"`/\!+_`*L8>``&@`\# +MT>I)"&@!,`A@`*L8>,`A"$,8F"`>#N@JQCZFL! +M`Q(#$@L)"Y%"'M$!`QS0*8L!,0D$"0PI@PHI#-G02D`R$6E2:1%#!M$N@VAD +MZ&P!,.AD__>C_^B*"B@$V>Z"+&2H;`$PJ&1PO2Z#Z&/SYW!'`2!P1P$@<$<` +M('!'@+4`*`70`1P`(/_W(OX`(("]`2"`O;](!R$!8A\B0F*!8L)B`6-"8X%C +MPF.Z220@"&!(8(A@R&"X20$@"'!P1W!'@+5+>`IX&P(:0P$CVP,:0PIP$PI+ +M<``BBG'*<8IXRW@;`AI#!?#U_H"]@+5+>`IX&P(:0P$CVP,:0PIP$PI+<``B +MBG'*<0@B!?#C_H"]$+4*\+/[HDD`!HEH``[`,0EH`"D#T9E)2GT!*@71`"`, +M\*;\!!P`(!'@`B@!T`,H!=$%(`SPG/P$'`4@!^`(>P`H]M`%(`SPD_P$'`D@ +M#/`4_8Q(P#"$8XY(A&".2(1@$+V`M4MX"G@;`AI#`2/;`QI#"G`3"DMP`2** +M<1,*RW$((@7PG_Z`O3"U`""#20(BTP";&%L8&WH!*P+1`3``!@`.`3(2!A(. +M!RKQTP$D`",!*')*>DT$V`$H"-&(?@$H!="4<2AK`"@`T"MC,+V3<2AK`"CZ +MT68@*&,PO;"U#!P5'`$A"/`0_``H`-&PO42!!8&PO?BU#QP\<$#5`0```.`/ +M`````@``!XMG?@0<`"AQT"`=`)`2\%/]T")F27I#5A@`*!/0!"!923!WR&D! +M,,AA`2@+T5M(6$D`BT`Y#R@!T0P@`N`3*`'1!2!(8S4<'C4@'!+P-/TI'#DQ +M$O!H^0"8$O`M_2DBEY&P(80VMYP`?`#QL"&4-)"$D`"$,H +M<0,*:W'C>J%Z`B(;`AE#B0?)#Y!#20`!0REQ"PIK<>-ZH'H@(AL"&$.`!L`/ +MD4-``0A#*'$#"FMQXWJA>D`B&P(90TD&R0^)`9!#"$,H<0,*(!P(,&MQ$O#N +M_&EXJWB`!L`/&P(90R`BD4,`X&S@0`$(0VAP`PJK<&![02$,(DA5('NH<>-Z +MH'IQC!L"&$,`!X`/@`"10PA#<(0`!X`/`24!*`+1&$D-`#P'1`"$`X`$A.!P+\)3^$D@`BP\H.-$62A`<4#`!>P(I +M`=`#*3#18".;7``K(]&1?`(I`=`#*2?117,@X````*@`@.!J`L`(,P#`0L`" +M`("@`("`I@"`Y"4`P$P9``1`J@"`0*L`@(AG`L!`H@"`_$?\`J]R!`2#8 +M<@`@&'0MJ0YS2',!J`CP5OH$'`$H#M$PL>?P`0```-P1`````@``>9#`S@"K +MFHG9B0&K,!P-\/W\`"T>T0"K67PZF/_W\OXDX`#0`*M8?-`C\TDJ>%A# +M0!C((0I4P#!'`AP`2`PO0$R4P#L +M7&,<\M$`(#"]^+4%'%`U*'EI>?\F^38")P`IX4P]T6E&__??_P"K&'C>2]Y) +M4#L@<4MX"G@;`AI#ND-2"%(`!".:0PIP$PI+<-9+4#O;?``K`]&R0X`&@`X& +MX`4C`R@`TP,,A)4#E@<!L"&D.^2[I#,#L?>5MY&P(? +M0[L'VP];`!I#`2,:0P0CFD-[!]L/FP`:0\'G!2$#*`#3`1P('-?G^+4&'``D +M8">O2%`X$O"B^Z4`0!D!>$-X&P(90\H'$M0$(YE#J$H+"@%P4#H#+D-P!-$0 +M'!+PCOM`&0C@$!P2\(G[0!D*X$D'$-0#+@;107B#>!L"&4.Y0R`Q!.!!>(-X +M&P(90[E#07`+"H-P`30$+,K3^+T0M4MX"G@$>!L"&D-#>)('T@\;`AQ#`B.< +M0U(`(D,"!L"&D.#>-(& +MD@\;`AQ#&".<0](`(D-"$EX&P(90TD&B0]@(YI#20$10T%P"PI_ +M2H-PDFB@,M-[@"(!*P'1$4,`X)%#07`+"H-P$+UPM75.`"10/C4<)#4P'!+P +M*?NA`$`8*1S_][3_`30$+/33<+TXM6Q,4#R@?N-^&P(80\`'+]0/\/C[(!P@ +M,,-[@'L!)1L"&$/`!@`H"MIE28AH,C@(8&-(0#`%8`$="&@H0PA@`2`2\%7[ +MXWZ@?AL"&$,H0Z!V`PH@'!8PXW82\/'Z'B$)70`C`)&B?.1\`1P@'!#PYOLX +MO?"U3T[#L`$@(9!0/K!^\WX;`AA#P`<$U$U)"&A`(A!#"&`(\+O\!!P(\,K\ +M1$D%'%`YB'[+?AL"&$/`!PG4('AC>!L"&$-`!$`,'"@!T/_WG?\A>&-X.DI0 +M.A8=0I86'!L"&4-@-D&6%AQ(!#E+%QQ0-T`,(#:80EO06]PP,D"2&CK_(Q`S +MF$(_DF?09]P=*`'1`?`X^V/<&2@!T0'P#OM?W`,H`=$`\)__!"@!T0#PW_\4 +M*`'0`O!]^F!Y`2@!T0'P3_D"*`'1`?!E^0,H`=`!\)OY`"$@'`@P"/`E^1^0 +M(!RZ(0XP$?`M_1^8`"@!T0'P9_D?F+@CL#``>Q9)J"(@UA#0!BP,(!XX',?F$")('0?F2`< +M#C$@,!'P7?T!\&;YUN-6X0``_$F-Z&P(80P$H +M`=`"\(_YH'KC>AL"&$,!*`'1`?"S^`,H`=$!\*CX!2COT?A)`2"):*`QB',` +M(`'PJOC_(P$SF$)QT"'<'B@!T0'PH_@@*`'1`/#(_U`H`-!QY]@!"$,@<`,* +M8W``(*!QX'$@'"8<"#`2\/#YYDD`*&)Y``H&=``X&WBODBT,!+PDOD!'`(@#O#N^[I(Q#`2\(KY`1P" +M(`[P_/NV2+PP$O""^0$<`B`.\/K[L4@`:__W9_T"X''CL^)PXZU(`&L\D`PP +M$O!P^:M)!#$[D0$H9]$Y'``@$?"?_3R8%#`2\&/Y!QSW_3KV`0```-`7```` +M`@``8&@>OJ1("#@2\%[Y`7A#>!L"&4-)"$D``N`TX*[A5.'Z!](/$4,!<`L* +M0W"92#J1`&L<,!+P2/D'!I=(/PX(.!+P0ODZF`2X4WC__<2 +M_8]/"#\X'!+P,_E#>`9X&P(>0P0CGD,&<#,*0W``X/'C.!P2\"7Y`B*60S$< +MB..%2YA"<=`:W/\C*3.80@'1`?"A_P$SF$(!T0'P=O]]2P$[F$(`T('F8WH@ +M>G-)&P(80XEH#B"P,8APW>:.XW5+`3.80@'1`/"`_P(SF$+JT7))"'@@&-X`2$;`AA#R0,`X!#C"$,@<`,* +M8W``(*!QX''[>KAZ20@;`AA#"$.X<@,*5DC[<@!H`"@.T#!X1L"&4,"'#`<"?#R^PXB +M`O"8^$-+(3N80@'1`?#!^`$SF$*+T`(SF$(`T`#F('HX24AU8N:UX3[@.4L* +M.YA"`=$`\-O_(MP&.YA"`=$!\%?X`S.80@'1`?"_^0$SF$("X.KCZN/JX^#1 +M,$@!(0%P?2`E2L``P#K08R!Z""@P'`L_`0```,P9`````@``IW$8:2]M#P!@4*`32`J,;&!M:6P"?1+#EY@[L#GX/!@BM#^H/``@P +M$#`0,!`P$#`0,!#Z#P`0#Q`8$`X$OP\5!"")#DD5@?0$P!@8V#B`<$#`''&9U$?#U_P$<,!P.\%'Z +M.!P1\.[_87T<(_-.64.)&6@Q$?`>_#@?!QP1\.+_`1Q@?0[P2?HX'!'PV_]A +M?1PC64.)&6PQ$?`,_"!Z8WH;`AA#@`<1U>-ZH7I@?1L"&4,.\#WZ8'T<(UA# +M@1F@>N-Z>#$;`AA#$?#T^R!Z8WH;`AA#0`<+U2%]8'T.\"[Z8'T<(UA#@1EP +M,2!]$?#B^]-)`2`(<(#E('IC>AL"&$,`*#+0`2A$T`(H&-`#*)G1XWJA>KAX +M&P(90\A.$/"N_L=)`2!(<#^8$?",_T"9`",)>P"1LGSV?`$<,!PFX,%)"&@! +M(A($$$,(8`$@#O".^KU*4&DP(8A#4&&Z22`Y2&H$(YA#2&(+\*/\M4D`)DYP +M$/"L_K%//YA^9,65`0```,@;`````@``4YFB7A'P9/]`F0E[`)&Z?/]\`1PX +M'#,<$/!9^#/EJTD!($AP/YBH3A'P4O]`FH1&$7L`(P"1LGSP?&%&$/!'^*-) +M(#D(:@$B$@200PABH$D$,0AH!",80PA@`"`.\$SZG$D4,0AH,"(00PA@"_!L +M_.-ZH7JX>!L"&4,0\$7^`N7^]^W^!AQ@>?\CK3.23UA#P!DP,!HB(1P(,1'P +M)_KC>*)X8'D;`AI#_R.M,UA#P!E0,!HZ(1PB,1'P&/I@>?\A)C&&2D%#B1B% +M2H``$5`(\(;Z,!S^]\C^U>2"2`!H`"@4T'Q*$&H!,``F)QP(-Q^0">`X'!'P +M[/X!'#`&`2(`#@CPF/H!-A^8AD+RTR`<"#`1\-[^@`AL" +M&$,!*)/1(!P+,#Z0$?"X_L,'8DEB2@?55TL`(-AT$'!:(`A@9"`(X$`'"-52 +M2P$@V'00<#(@"&!+(%I)"&`^F!'PGOY`!<`.`2@,T4I)`""(='-Y,'D;`AA# +M!".80S!Q`PIS<57@`B@6T4-)`2"(='-Y,'E@(AL"&$,$(YA#,'$#"G-QLWEP +M>1L"&$.00W!Q`PJS<3W@"^)S>3!Y&P(80P0C&$,P<0,*(!P,,'-Q/9"M49/_ +M`0```,0=`````@``2F%\+A'P9O[`!C!)@`\(=3V8$?!?_L`&@`\!*`W1LWEP +M>6`B&P(80Y!#<'$#"@(B)DFS<8IT`"`/X`,H$-&S>7!Y8"(;`AA#D$,@,'!Q +M`PH>2;-Q`R"(=`$@'4G(;-Y&P(80T`&@`\,\`/X/Y@1\"+^0)D`(PE[`)$,28I\SGP!'#`<#_`6_PE( +M@'S_]VGZ"$D!(,AP"&H`*`#0.N0#2(!\"O`W^S7D^N'TX43@I!8`!`@S`,`@ +MJ`"`P*(`@"@F`L"H0P+`J!@"P`@```1,&0`$7$$!`(,L`,!@00$`Z$A$8R`< +M"#`1\.;]`2@:T3$0(B&P(80Q!#!>`P +M>7-Y`B(;`AA#D$,P<0,*`)X-WD;`AI#!".:0W-YRTD;`A]#>P?;#YL`&D,7'`=P.PI# +M<`@<$?"B_3%Y`%X +M_R(;`AE#^3*10QBK&GV2!M(-$4,!<`L*0W`X'!'P?_T#><%X#R(;`AE#$4/! +M<`L*`W$[F0X@W.`Y'`$@$?"G^0`@.YD1\*/Y`"'L^]YZ`0```,`?`````@`` +MOHG"D\+@'YD(`3F0.)#`&10P$?!A_3>0HT@1\%W]'YF/`,`9`7A#>#>:&P(9 +M0TD(T@?2#TD`$4,!<`L*0W`VD9A).)@):T`8'#`1\$7]``8`#AZ0E$@1\#_] +M-IG`&!>X]#@C4@1\##]P1E+>`AX!"(;`AA#D$,( +M<`,*2W`UD(9($?`B_<$9-9@"(I!#"'`#"DMP'^`>F1BK&75#>`%X?DH;`AE# +M!",90P%P"PI#<#21$!P1\`G]-)D"(I%#<`9&P(:0Y('T@]2`!%#`7`+ +M"D-P<$@1\/?\P!E#>`%X_R(;`AE#^3*10QBK&GV2!M(-$4,!<`L*0W!F23F8 +M"6M`&#.0&#`1\-_\`"@3T3.8(#`1\-G\,I!?2!'PU?S`&<%X`WDRFAL"&4,) +M"0D!$@<2#Q%#"N!82!'PQOS`&<%X`WD;`AE#"0D)`0(QP7`+"@-Q.Y@1\+C\ +M,9!/2!'PM/S`&0-YP'@QF1L"&$,`!P`/"!@[F1'PX/@?F0$Q14@?D0=K.!P0 +M,!'PG_P?F8A"`-DQYSN8$?"8_#N9`3@1\,SX`2`-\-C___==^3M.`2!"F1'P +MPOBP?/_WW?@;X(#@PN"0X#1.`"@5T`(H$]$@'/_W:/@P:PPP$?!W_`$H`M$Y +M'``@`>`Y'`$@$?"F^``@0IFXCX16`0```+PA`````@``ME8S3A'PHO@AL"&$,`*!?1(1PB3PHQ!B(.'#AH$/!B_SAH`6@@ +MD0H<'4F*8H"((*L8@""8R&)@>1I),AP(7`;@`2@(T6!Y%TDB'`A<"C(!(0[P +M\OHXY`(HT]$@'`HP!AP,\!WX,!P,\$WX+>0@'`@P$?`J_`=)2&(FY"`<"#`1 +M\"/\`"@#T`$H`=`!\'#Z`4F(8AGD"#,`P*06``3($P+``*4`@&`L`,`!()!` +M"GB"0PIP"'@,\!GX#"(Q'`'P!/P!(,`#"$,@<`,*8W``(*!QX'$@'`@P$?#W +M^^M)#"((<0'P\?M@>?\C)C/H3EA#@!D:'"$<"#$0\/7^8W@@>`$A&P(80\D# +M"$,@<`,*8W``(*!QX''[>KAZR0@;`AA#"$.X<@,*_R(N,B$<*!S[<@3PU_Q@ +M>?\A)C%!0XD9U$J``!%0`?`@^@$@P`,(0Q^4('`#"F-P`""@<>!Q'Y@(,!'P +ML_L!*$71^WJX>@$A&P(80PA#N'(#"L=(^W(`:`OPH_U@>0@H!]+_(28QP$I! +M0XD8"/!W_PG@P$D(7`[PDOB_2`%H`2(2!9%#`6"]20AH""(00PA@!"`1\-_[ +M`"`8JQAV`2#^]\GZ"O`^_QZI*"`.\!G\&*L8?@`&@`\#T;%)"&@!,`A@&*L8 +M?L`A"$/C$^\X`0```+@C`````@``0KZ-\QAV&7YFX``&#=5@>0@H!=(`(@`A +M!_`4_V!Y`>"C20A<#O!T^%G@#O"%^!Z0HT@`:``H$M$>F``H#]!@>0@H!=(` +M(@`A!_#\_F!Y`>"720A<#O!<^!Z8`2@_T0`@N'*82?ARB6C`,0A@_O=B_6!Y +M""@#T@`B`"$'\./^"O#?_9%)"&@$(QA#"&"*20AH""*00PA@`"`-\#;^`2`1 +M\'?[`"`8JQAU`2#^]V'Z"O#6_AVI*"`.\+'[&*L8?0`&@`\#T8%)"&@!,`A@ +M&*L8?<`A"$,8=1E]*"`.\#OZ\WNP>QL"&$/`",```C`0(YA#`PJP<_-S'YD, +M(NOFH'O_*`?1Z!U`PKC=3,*)G,@'!PP8W,'\.C["O`] +M_R!R0)E(>B$<8'*X>`,*('5C=5Q(&#$0\/'^6TG+?HA^&P(80S!#B'8#"LMV +M`?"=^B`<)#`PD"^0$?"H^@8<(!P@,!'PH_HB'"@R,1P'\-#[+Y@1\)OZ/4D` +M)HAS(!P\,"Z0&."Q``@9*#`LD"V1$?"-^D9*+9E04"R8$?"'^BN0+I@1\(/Z +M)",KF5A#"!@MF3]*`3904#"8$?!X^K!"X=@@'#@P!AP1\''Z`0>@]0L``0`` +M`+0E`````@``6T93@R]*R0\18/EXP`;`#TD(20`(0_AP*I`P'!'P8OJ`!BJ9 +MP`\"(I%#0``(0_AP*9`P'!'P5OI`!BF9P`\0(YE#``$!0_EP*)$P'!'P2OH` +M!BB9P`\@(I%#0`$(0R!)^'"+?$A\&P(80Q!#2'0#"HMTD.$B>F-Z'$X=2!L" +M&D,!*AQ)0]`"*C;0!"IJT`@J`-!WYPAX`BAETZ9R,PKCN-Z0)D;`AA#``8` +M#LAR"O"?_#KGHGKC>AL"&D.R0A'10)KJ25![`2BVV0Y9V,PK3=@`F#G!`F0E[`BD# +MT09P`N`PX#/@`7"@>N-Z0)D7'!L"&$,`!@`."'/520F+%"D.T!,I#-`#*`K1 +M'ZD!(`[PYOD8JQA_`R@"T$"9`B(*^4"9"7L`D;I\_WP!'#@<,QP/ +M\)/ZQ$D!(`EX#O`+^MWF`'@"*`#39.KU)&P*):!A# +MH#$(@ACE('IC>AL"&$,!*(G1H'KC>AL"&$,8Q9MS`0```+`G`````@``KZ[M +M/@KP8?R^YK-)`""):*`QB',!(`3@KTD`((EHH#&(<\AS_>0@>F-Z&P(80P$H +M$=&@>N-Z&P(80P`&``X-\/?]HDX_F!'P3_FS?`(<`"#Q?`KP'_\@>F-Z&P(8 +M0P(H"M&:3C^8$?`_^0(<(!RS?/%\$#`*\`[_E$X`\-'_(!P(,,`A!AP0\.O[ +M`2$P'`?P0_@@'$0P"_!9_0`F!B!P0P$92C$P'`WPE_\!-A`N]=MSX``A(!P( +M,`;PQ/\&'"`1L" +M&$-`!\`/('2S>7!Y&P(80T`&@`]@=/AX@`?`#Z!T^'C`!\`/X'0"\-WZ(1P@ +M,4AP<4@`:`AQ;$D,(B`<$C$4,`/@;")M22`<"#`0\.G[,N!K2A!J`3`=D"`< +M"#`1\-+X&*O8=B`<##`1\,SX&*N8=B`<$#`1\,;X&*L8=R`<%#`GD``F`3`F +MD!#@)I@1\+KXP`:'#R>8$?"U^$`%P@XP!@`..QP>J0CPP_T!-AV8AD+KTP#P +M__Y?X<_@44H0:@$P`"8G'`@W'Y`.X#@<$?":^``H!-`P!@`."/#._0/@,`8` +M#@CPXOT!-A^8AD+MT^#G0TH7:@$W(!P(,!'P@_@8JYAW`"8%X#`&``X?J0CP +MY?T!-KY"]]/,YSE*%VIW3$9>`0```*PI`````@``:+?O8P$W(!P(,!'P;_@` +M*`G1`"8$X#`&``X(\`_^`3:^0OC3N><'(`"K&'`@>YAP8'O8<*![&''A?%@= +M`"D%T`,Q67`A'!0QXGP&X.%[`*L#,5EPXGLA'!`Q$/!5^P`F!>`P!@`.:48( +M\-;]`3:^0O?3B.-C>B!Z&P(80[AP!N0@>F-Z(1P;`AA#`"@$T6!Y"C$(\.7] +M#N0!*/#18'D*,0CP\/T'Y/WWZ/\?D"<<$#<@'`@P$?`:^`$&%]$!(3@XZ!\ +MXWP`)AL"&$,`*!G1*R`!72`<*C`"D2$<%C$`D0&08WPG?")Z&P(?0V-Z##E@ +M>1L"&D,['/[W/_L!*!'0`28/X`$H$-%C?")\(7H;`AI#8WH@'!L"&4,*,/[W +M._H`*.W0!?#3^@C@`B@&T2`<"C`&\-+^!B@`T0$F`"$@'`HP!O`^_B$<+#$0 +M\,3[`"X`T=CDF>'W2`!J`"@#T"$<*!S^]]OY('IC>@$F]@<;`AA#`"@*T"`< +M##"HE)J%Z&P(90S%#"&"\Y.-Z(1R@ +M>@PQ&P(80S!#`&@`\`[_Y4@`:@`H`]`A'"@<_O>V^:![XWL;`AA#`"@3T`$H +M+]`"*`K1(!P(,!#P3?\!'/\B`3(@'!`P!/!2^"$<*!S^]T7Y?^,@>V-[&P(8 +M0T`H]-@@'`@P$/`W_P<<`"8)X+```1DX:!`Q$/!F^P0W`38V!C8.('MC>QL" +M&$.P0MW9[N<@'`@P$/`?_P8<(!P0,!#P&O\P8-'GOT@`:@`H`]`A'"@<_O=K +M^0KPV/H@>F-Z&P(80P`H$M`A>Z!ZXWH;`AA##?!'_J!ZXWH;`AA#A"B,T;)) +M('N):#`Q"'%$Y*!ZXWH?J1L"&$,-\"S_'N"J2`!J`"@#T"$<*!S^]T#Y"O"B +M^B!Z8WH;`AA#`"@'T"%[H'KC>AL"&$,-\!#^).2@>N-Z'ZD;`AA##?!L_QBK +M&'\@AL"&$,!*&W1XWJ@>B$<&P(80P(&E$@2#@)P##$!,!#PQ?E? +MX"`<"#`0\++^CT\`*''1)R(A'`PQ%J@0\+?Y%I@`(<`'P`\5D!.H`L`"P&!Y +MATD)7/\I`]"&2`!H`"@#T!.H"_#'^@/@$ZH`(`WPG`0```*0M +M`````@``A:>/KA`Q(I$`*".2;]%X:``H"-%Q2``A0G@`*@/1!QR`>``H`M`% +M(&U),^%E2`!Z`"AQT03PZ?X`*`;1!?!0^&!)`2`(,!(2*8!O#__&1) +M!AQ(85[08$A`?``H`M$!(`7PE?D`(`7PDOD`(0$@!?`9^0`B`.!.XQ:I%9@$ +M\(C_))D0\&WZ&*M8?%9)APA8?(`'@`\#*`'1&"`)X`(H`=$0(`7@`2@"T0@@ +M`>`?XP0@&*L(8-A[2$F(<4%(@'@`*`/0!2`/\/S\!.`Z'`4@1DD/\%C\0I@0 +M\`O^`2@GT`8O!-$!(+HAB%4#X,#@`"&Z((%5,TA`:@`H%=$!(2.8!O"E_`<< +M#]!X>P`A"O`;^7A[-DD`X#CA2&$U2`%H`2(2!9%#`6`#X'![`"$*\`OY`"&] +M((%5&*O8>P`H#M$M23X@2&,/(04@#?`S^#\A!2`-\#KX*4E!($AA(.`8J]A[ +M)T\X7`$P#?`J^`$SA<`3`-\"OX`1P%(`WP(?@8J]A[&TDX +M7(``0AA2:$IA%TE`&$!J2&,.3P`@%JD)&`E\.50!,`8H^-LBF(![`"@GT#*) +M&*O9>R#@```(,P#`3!D`!'E-`L#(&@`$8"P`P/1/`L"(9P+`C$`!`+@7``1X +M&0`$_V<``/`E`,#`J@"`0*(`@("F`(""O%^K`0```*`O`````@``<4\Q$PP` +M``0`(`OPV/OW2$!K`"@%T/5*@#*0:2`A"$,$X/)*@#*0:2`AB$.080$F/G(B +MF(![`"@`T/YQ`2#K2D`#@#)08/WWQ?\BF`-\P7L;`AE#2!["%Q(-$A@2$Q(# +M@!H`!``,"@'A20IB``%(8N!(1G$5X1BK&'P!*'#1.&L`*`?1W$B!>@`I`]$' +M',!Z`"@'T-E)!B`(<`$@V$F``LAB=>#72(!Z`"AQT0$@!/"N_0`H!M$!(`3P +M%/_120$@B')EX`$A(I@&\,3[SDD&'(AA7=#(2`!Z`"@!T07P6_@!(`7P6/@! +M(0$@!/#?_P$B%JD5F`3P4/XDF1#P-?D8JUA\PDF'"%A\@`>`#P,H`=$8(`C@ +M`B@!T1`@!.`!*`'1""``X`0@&*L(8-A[LDG(<[1(@'@`*`/0!B`/\,7[!.`Z +M'`8@LDD/\"'[0I@0\-3\`2@IT`8O!-$!(+HAB%4#X*/@`"&Z((%5IDA`:@`H +M%]$!(2.8!O!N^P<<$=!X>P$A"?#D_WA[HTF(89E(@#`!X`3A%N(!:`$B$@61 +M0P%@`^!P>P$A"?#2_P`@O2&(51BKV7L`*0W1C4F(8P\A!B`,\/O^/R$&(`SP +M`O^324$@B&$@X!BKV'N13SA<`3`,\/+^`1P&(`SPZ/X8J]A[.%P!,`SP\_X! +M'`8@#/#I_ABKV'MP#XZ5`0```)PQ`````@``#U26HX5).%R``$(84FB*87=) +M0!A`:HAC>$\`(!:I"1@)?#H8`3`&*%%R]]LBF(![`"@%T#*)&*O9>P`@"_#! +M^FM(@&L`*`70:4J`,I!I0"$(0P3@9DJ`,I!I0"&(0Y!A(IB`>P`H`=`!(#AT +M`29@2G`#@#)^=)!@_?>N_B*8`WS!>QL"&4-('L(7$@T2&!(3$@.`&@`$``P* +M`6))"F(``4AB54B&<1.H"_!&^"_A5DD!(,AQ&*L8?`8H<=A:2,%JP@610\%B +M&'P%,$8'3DAV#UPP@%T`*&/1+"!427!#0!B`:@`H`=!&2!7@`2$BF`;PL_JW +M`$5)`"C(41&04-`3JS(<%JD5F`3P$_XDF1#P+OA#'`+1.D@&<,'F&*M8?!E\ +M@@C8>\L`61@T2\D8B'$Y23`<#_`M^D*8$/#@^P$H(]`Q24AJ`"@9T0$A(Y@& +M\(3Z$I``*!+0&*L9?!*80'L)\/?^$I@L24![R%$B2(`P`6@!(A(%D4,!8`;@ +M&^(8JQE\$9A`>PGPY/X1F`$AL#!!``H,-`8J]A[ +M`"@LT0A*P0`)&(D8"7H!*0+0`3`(*/;;""@?X$"B`(!`J@"`@!D`!(AG`L#1 +MT('=`0```)@S`````@``^[PH'HQ``0``#`"`"#,`P+@7``1\&0`$_V<``/`E +M`,"`I@"`#```!$"K`(!`I`"`R!D`!"W1!"X!V``N-=$8J]A[Z$D(7`$P#/#` +M_0$<,!P,\+;]&*O8>^))"%P!,`SPP/T!'#`<#/"V_1BKV'O=20A!` +M#P$H!M$6J168!/`F_B29#_`O_R28$/#T^O\H5M$A'"@<_?=)_4CA`BAET0@B +M(1P,,1VH#_#S_1Z8KDH&!C8.@`H"]$? +MF`_P,_DP'`3PE_P`+@31C$D!(&PY"')SX`$N<=&(20$@;#F(&&20`@ +MR%&$2!^9$#A!7``I8M$?F@$A@51>X/_G`2@0T0HB(1P:S'F&`0```)0U```` +M`@``XD3V;@PQ':@/\(K]'9@>F<`'P`\0JPD&"0Z:CP3PH?U*X`,H"]$((B$< +M##$>J`_P=_T?F``&``X$\)3]/.`$*#K1)R(A'`PQ%J@/\&G]%*@`(0+``L!@ +M>6I)"5S_*0/0:4@`:``H`]`4J`KP??X#X!2J`"`-\"CX%I@`!T`/&]$4J1:H +M!?`0_P`H`='_][C[&*L8?!JN`"@LT7AH`"A&T51(07@`*4+1@'@`*#_14D]L +M/SAZ`"@`X'S@.-$$\*WZ`"@$T03P%/P!(#AR+^`!(3`@`I$='` +M>@`H#M$Y3VP_N'H`*`G1`2`$\'WZ`"@%T0$@!/#C^P$@N'(\X`$A,!P&\)3X +M,$D`*(AA--!`>PGP&OP`B,$%B0X#*2S3P`$-`&(!J`"@"T"1(!W"0Y`$A,!P&\&KXN0`;2@`H +M4%`)T$!["?#O^P"(P06)#@,I`=/`!P34(1PH'/WW!/P&X"$<*!S]][S[(9@` +M*`+0%$D$(,AB0[#PO2!Z8WH;`AA#`2@^T:!ZXWH;`AA#"?"9^C?@```,```$ +M@*8`@$"B`("(9P+`=#,`P+@7``2#UQBD`0```)`W`````@``%JQ(T_`E`,!@ +M+`#`]$\"P,@9``2,0`$```P`@"!Z8WH;`AA#``8`#@SP$O[W3C^8$/!J^;-\ +M`AP`(/%\"?`Z_S^8$/!A^4"9`",)>P"1LGSV?`$<,!P.\%;Z@>`@>D&>ZTGP +M<$AQN^`@>NI)'BADT![<$2A*T!#<`"@^T`XH-=`/*#O0$"AKT6!Z#BAHTG0C +M6$-`&"DA"0%SX!,H/M`5*#[0&BA`T!TH6M$G((`!.>`C*!70"=P?*$G0("A1 +MT"$H"]`B*$S1U$@LX"0H"]`E*$_0_RA$T=%().`7(,`!(>#-2#`P'N#,2-`P +M&^!@>@(H-M)<(UA#01A`,4/@8'H"*"[2S"-80T$8^#$[X&!Z`R@FTC`C6$-` +M&,%),N#!2`'@P$A$,`D8+>!@>@(H&-(D(UA#0!BZ29`Q(^#_YV!Z`B@.TA@C +M6$-`&+9),#D9X&!Z`R@%TA0C6$-`&+))W#$0X'#@8'H#*&W20`%`&%DA20$' +MX&!Z`RAETEPC6$-`&*=)N#E!&``I7="@(GC@`2X)#B`<`#Q!#<(+@>P`H!-$`)P+@<8H(0W""<(H`!X`/`2@` +MT0#@`""/20AS_??"^G![.1P)\'3Z(1PH'/WWJ/KMY@$A(!P(,`7P./\`*"70 +M0'NX(XI)6$-1BM=O`0```(PY`````@``T;5*CD`8`1QH,2`<'B(.,%7@('I^ +M26-Z#AP/'!L"&$/Q-_4V`2@0T2`<"C`0\&[X.1P/\*/\(!P.,!#P9_C(*`#9 +MR"`Q'`S@3^`X'!#P7O@A'`HQ#_"2_#`<$/!7^"$<#C$/\(O\0.!Q2`%H2W@( +M>!L"&$,@<@,*8W(*>$MX&P(:0R`<##`:X&!Y(7IA2E0R$50JX&=Y)GIC>B`< +M&P(>0PHP$/`S^`(<,1PX'`?PA/L;X&!Y7TG[(@D8(!P(,`_P,_L2X`$A(!P( +M,`7PS?X`*`O0H7L(*0C2`(E72DD```&`&$!:X',#"B-T(1PH'/WW$/IJY@$@ +MP`,(0R!P`PIC<`(BHG$3"N-Q""(A'"@<`_`)^5KF^+4`)0"K!AP!(!UP_/<\ +M_PGPL?MI1B@@#?",^`"K&'@`!H`/"]%`20AH`3`(8!AXP"$(0QAP&7@H(`SP +M%_\P3"!M`3`@90`N5M']]W3Y"O"[_R!Z`"@3T&!Z01QA<@$H#MG\]Y#_!AQE +M<@$A`"`E<@7PZ/L%(`'PQ?DP'/SWB/\?3*!Z`"@4T"8<\'I!'/%R`2@.V?SW +M=_\$'/5R`2$!(+5R!?#/^P8@`?"L^2`<_/=O_Q-/`"1D-Q%(7#``70`H%]`X +M74$<.54`*!+0_/=;_P8<(!P.\!_^(!P$\*CX(!P!\)#Y!D@]55PP!54CLO?] +M`0```(@[`````@``)5WT,S`<_/=/_P$T""P9X+/@``"D%@`$"#,`P(@^`,#$ +M"P``C`T``.@(```("@``@)\!`.`F`,#0.P+`[$,!`.1J`L#$VYM,FT\@?'X- +M01PA=`HH(-F92`%H`"D)T0`@`_#A_P`H!=&5204@"'#^8@#@!6"32`%H`"D) +MT0$@`_#2_P`H!=&.208@"'#^8@#@!6`!\*7Y)73@?$$0`H`=`+\)_\^+WXM0;PV/@)\`'\%R%) +M`E)(#_"@^5%/4DT`)@$B.1P`(/SWSOX$'/C0X`0"U0`@__>U_J`'`=7]]\?[ +M(`3MU2AH+F`!!T``Z.<B_D1(`_"N^D1,`"@#T$%HH6``(0%@?2') +M``DB`9(`(@"10$D"(#VC_/=]_0`H"]']]W;X+4GS>X1G`0```(0]`````@`` +M/*4J0P$@2'-D(F0AH&@#\+'Z`"``M0(@_/>H_8"]<$'!'@+4K2`/P +M:_H`*`30(4I!:%%@`"$!8("]`"(!'!U(@+5`:`/P??J`O1I(@+5`:`/P?_J` +MO1"U%TQ@:``H!]L#\'?Z8&@#\'CZ`"#`0V!@$+V`M0$@``/]]Q7X@+V`M0[P +M-?^`O0@S`,``#`"`:!D`!(Q``0!L&0`$J!D`!(@9``3(&0`$@)\!`/__``#H +M$P+`)3X``.0E`,!#0B!0/\CZ3-:0^=+Z$S7&#X<_S;!-K=@B7C_("$P +MB@`1&4`YRVL`)7-@X4O3&$`[VVO):UD:"00)#(%"`M,P8/5@$.!`&C!AVD@[ +M'/\S$#@0&-$S,6#S8$`XP&MP8;!H0!BP8?5ATTC&8])*0#+0:)$-B$/08,]+ +M3#,8:#TA"0((0QA@T&A`!/S4_/=E_0&0.!S_,.$P!)"%@%O@%"%!0R0CS1G_ +M-5A#Q!DA-2`<#_",_0`H4MH'264B`0```(`_`````@``R$V4_F%Y`"`(*0'1 +M`2!@<;=)B7@$*0#1`3!A>0'P+O@"D``H!-$!\''X`?!P^#S@."$"F`_P+/@" +MF#@P`I`H8"`<#_!I_4``0`@A'`_PG/D@'!0P#_!@_:5)J$J)>(D`B1A`.QL"&$-H8`*8Z&`@'`@P#_!._:A@`"`H8028@(@!*`;3%"-80\`9_S`$ +M-0$PQ6$$F("(!)D!,(B`!)B`B`@HG],!F/SW`/T$F("(`"@/T`$@CTD#D``@ +M"#E(8)!)C4H(8(E(@'B``(`80#C`:S!B`Y@%L/"]A$C_(T!XZ3.$25A#0!C_ +M,(5))3#(8X-*0#+0:(D-B$/08(!*3#(0:%D!"$,08'!'?4E`,*#P#1`24$+0;8B0\" +M*1/1``;:IIK/`0```'Q!`````@``+1K)^0`/""@/T0`O`="X-SYH(!P@,$-X +M`'@#FAL"&$,!!PD/(!P*\.3Z,QPI'"`<`YH+\*SZ!;#PO;"U-DP`)2!X`"@' +MT`WP(?\A>`$I`=$R20A@)7`R3"!X`"@'T`[PJ/DA>`$I`=$N20A@)7"PO?"U +M#AP5'`0PB;`(D`_P3OPI200!L"&4,)!XD/<=``+6_0*1RP +M,0>1R7HA2A%P""EGT@&C6UQ;`)]$`V-C8T%C04$N'$`V,(N!!UK5P`2`#BD< +M`_`-^@`H4]`(F`_P(?Q#>`!X,8L;`AA#"#@`!``,R@22#A_@0"8`P*`7``1L +M4@#`]$X`P+@/`,!T4P#``.@`@-PS`,#8#P#```P`@&D^`,!P/@#`:#X`P&P^ +M`,#T%@`$!```!$D$RP\`DG?@@'G'!S`&``X&D"@<+AR`-E`P_P\`+P+1@7H! +M*030`"].T,%Z`2E+T2H<`2$X'`/P]OD`*`;0H#4`+Q/0!Y@!>0$@`.`PX`.0 +M!I@$D0$A`I$!D"%X8W@;`AE#%#D`D:N)LFH.X`$@`Y`&F``A!)$"D0&0(7AC +M>!L"&4,4.0"1*XCR:2$<(#$@'`[P0/@"(/=)`"\(<`K0J(D!,``$``RH@0+1 +ML&H!,+!B";#PO2B(`3``!``,*(#WT?!I`3#P8?/G`"\>T,%Z`"D_%\*U`0`` +M`'A#`````@``V?)W1!O1*1P`(`/P5/D`*.C0")@/\(3[0W@`>!L"&$,(.``$ +M``P`(@"2\WHA'"0Q`AP('PWP.?\"(-M)(N"!>@(I`M#`>@(HS-$I'#@<`_!K +M^04`!X!ID;`AA#$#@`!`$B`9(`#",<`)$!'"@S*AP@'`WP +M"OW*20(@"'"MY_BU#QP%'!0<`"@PT"@=!AP/\$+[@7G)!PW5##``(07PZ?D$ +M'!;1,!P/\#;[##``(07P(/H-X,%X`WD;`AE#B0<(U+E)"6@`*030##``(07P +MT?D$'/SWY_H&'/_WK/XB'#D<*!S_]\+^,!S\]^'Z^+WXM04"P<+#0;`AE#"0>)#P(IITH%T8!YP`<"U2$<$!P!X"$<$!T.\#+_HD@!>``I +M!M"A2QEH`2(10QE@`"$!<"`<#_#L^@$P0W@&>&`G&P(>0[Y#!G`S"D-PF$B` +M?`,H"=$@'`_PV_J^0S$<(#%!<`L*@W`(X`(H!M$@'`_PS_J^0T9P,PJ#<"@< +M'#`$'`_PQOH!(0D#B$,A'`[P^/[XO8A)"&!P1X9(`&AP1_"UH;``(`F0@D@` +M(Q8P()`2.`63'9`(,!R0!#@;D'Q)?D@P,1^1&I!Z2"`Q(#`9D!Z1`2(#('E) +M_/>Q^GE,!1P@BQ0H"]$?F4AZ`B@'T75*4&@]!HLF`0```'1%`````@``P`JI +M-$`$`]10:-$!"$-08"@RL<`)&B?.9\`1PP'`WP3ON@?/SW +MHOY.2`5@"9@!*![14D@!:4!I@4(!T`#P._T`\#C]__0_?_W,OW_]T;\`2@"T?_W#OT6X``@$^#_]SW\`"AFT/_W!?W_]QO] +M/4D!(DAX4$!(``E`"D!T'%Y`^``(;%Q\7$!(00<.#P*D2$=%Y$.\!;^,!P@ +M,`_PVODA'#0Q#O`._A9(@&BP,(!X`3`@<`J9!"D*V!>8#_#*^08A"5@32I%" +M`M%`B?\H2="P>?-Y&P(80Q[@-^-H/@#`:3X`P"PS`,`,30#`"S,`P)2A`("D +M%@`$[$X`P+Q2`,#_?P``3!D`!(```("@%P`$`*``@/__```@A`J9!"D#V0J9 +MB`#L20U8'R"`78$'`=4V+B:2`0```'!'`````@``-.(7B0$A"I'`!QC5Z$\X +M'`_PBOFQBP&`.!P/\(7YL8N!@#@<#_"`^;&+`8$X'`_P>_FQBX&!;N``(""$ +MWN<*F04I"M(7F`_P;_G#>(!X&P(80P`'@`\"*`;1%Y@/\&3Y!QR`><`'4=4@ +M'/_W2?X7F`_P6OF!>,-X&P(90PH'D@]#T0D&"0\%*3_1'ID'',EXB0<9U,=) +M"6@`*0/0.1P@,0`@!N`!'!(Q`"`*\%O_.1P@,07PH_L"D!>8#_`U^0*9`7`+ +M"D-P!^`!>$-X&P(90PPY+#`&\"?^`B"W22!P"&A):#H<(#(#!!L.$'!3<`," +M&PZ3<``.T'`(!``.$7%0<0@"``Z0<0@.T''NX1V8#_`+^0$H9M&F2`_P!ODA +M'"PQ%I$.\#G]`"`AX_R(;`AA#^3*00P"K&GJ2!M(-$$,(<`,*2W`3 +MD(U(#_#5^!2901@3F$`(0``(<`,*2W`2D(=(#_#)^!29!")!&!*8D$,(<`,* +M2W`(\*K[`9"`2`_PN_@4F1@B0!A!>(-X&P(90Y%#`9J2!](.$4-!<`L*@W`5 +MF`_PJ?@!*`71`*L8>@$H"=`$X"7A`*L8>@0H`]``JQAZ_S`8<@$W/P8_#@0O +MI=.Y;M;_`0```&Q)`````@``\_L5U!68#_"1^`$H#=%I2`_PC/@!>T-[_R+Y +M,AL"&4.10P@Q`.`,X*3@8D@/\'[X`7M#>_\B^3(;`AE#D4,H,9C@!"ART3)Y +M`"T"DA/1%Y@/\&SX!C``(03P%O\%'`K1&9A#>0!Y&P(80T$'R0^`!\`/`9$* +MX&A[!/#=_P$&"0X!D6A[!/#J_P`&``X!F<`'R0=*#Q&2@@\0DD9(#_!&^+D` +M#Y%!&$MX"'@!(AL"&$,00PAP`PI+<`Z0/D@/\#;X#YD"(D$8#IB00Q":$$,( +M<`,*2W`-D#=(#_`H^`^9_R)!&`V8^3*00P*:D@;2#1!#"'`#"DMP#)`N2`_P +M%_@/F00B01@,F)!#$9H00PAP`PI+<`CP]OH`D"9(#_`'^`^90!A!>(-X&P(9 +M0P#@)>`8(I%#`)J2!](.$4-!<`L*@W`"F@`J!]`"FB`J!-`"FO\R$@82#@*2 +M`3<_!C\.!"^#L=&7)!>%ER"IG33$H]`0```&A+ +M`````@``!Q.K:00I!M+B2`[PD?\!>#%W07AQ=Q>8#O"*_\%X`WD;`AE#B0=D +MU-M)"6@`*6#1##`$\"O^!1Q;X/AX.WD;`AA#@`<&U-1)"&@`*`+1.!P,,`+@ +M`"T:T;@=`"$$\!;^!1P4T0`A,B`!52$<"B`@,8AR`PK+`EX&P(90PD& *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 18:54:17 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 928EA1065692; Mon, 29 Jun 2009 18:54:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 801918FC25; Mon, 29 Jun 2009 18:54:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIsHqC056342; Mon, 29 Jun 2009 18:54:17 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TIsH4T056338; Mon, 29 Jun 2009 18:54:17 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906291854.n5TIsH4T056338@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 29 Jun 2009 18:54:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195172 - in head/lib/libc: gen sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:54:19 -0000 Author: kib Date: Mon Jun 29 18:54:17 2009 New Revision: 195172 URL: http://svn.freebsd.org/changeset/base/195172 Log: Make the structure definitions in the man pages match the real code, and remove no longer valid caution. Approved by: re (kensmith) Modified: head/lib/libc/gen/msgctl.3 head/lib/libc/sys/semctl.2 head/lib/libc/sys/shmctl.2 Modified: head/lib/libc/gen/msgctl.3 ============================================================================== --- head/lib/libc/gen/msgctl.3 Mon Jun 29 18:42:54 2009 (r195171) +++ head/lib/libc/gen/msgctl.3 Mon Jun 29 18:54:17 2009 (r195172) @@ -71,12 +71,8 @@ struct msqid_ds { pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ structure is defined in and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; Modified: head/lib/libc/sys/semctl.2 ============================================================================== --- head/lib/libc/sys/semctl.2 Mon Jun 29 18:42:54 2009 (r195171) +++ head/lib/libc/sys/semctl.2 Mon Jun 29 18:54:17 2009 (r195172) @@ -148,12 +148,9 @@ struct semid_ds { struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES Modified: head/lib/libc/sys/shmctl.2 ============================================================================== --- head/lib/libc/sys/shmctl.2 Mon Jun 29 18:42:54 2009 (r195171) +++ head/lib/libc/sys/shmctl.2 Mon Jun 29 18:54:17 2009 (r195172) @@ -100,14 +100,13 @@ structure is defined as follows: .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ the shared memory segment's owner or cre Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 19:46:30 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02AF01065672; Mon, 29 Jun 2009 19:46:30 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E41E58FC14; Mon, 29 Jun 2009 19:46:29 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJkTgs057585; Mon, 29 Jun 2009 19:46:29 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TJkTRq057579; Mon, 29 Jun 2009 19:46:29 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <200906291946.n5TJkTRq057579@svn.freebsd.org> From: Brooks Davis Date: Mon, 29 Jun 2009 19:46:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195175 - in head: . sys/net sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:46:30 -0000 Author: brooks Date: Mon Jun 29 19:46:29 2009 New Revision: 195175 URL: http://svn.freebsd.org/changeset/base/195175 Log: Remove support for the /dev/net/* per-interface devices. They serve little purpose and are unused in the base system. The IOCTL functionality is entirely duplicated and routing sockets provide a richer interface than the kqueue functionality. Further, it is not practical for these devices to be made sensible in the face of VIMAGE. Bump __FreeBSD_version on the off chance that there is any code out there that actually uses this stuff. Reviewed by: rwatson Discussed with: bz, zec Approved by: re@ (kensmith) Modified: head/UPDATING head/sys/net/if.c head/sys/net/if_var.h head/sys/net/vnet.h head/sys/sys/param.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Jun 29 19:20:21 2009 (r195174) +++ head/UPDATING Mon Jun 29 19:46:29 2009 (r195175) @@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + 20090628: The documentation from the FreeBSD Documentation Project (Handbook, FAQ, etc.) is now installed via packages by Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Mon Jun 29 19:20:21 2009 (r195174) +++ head/sys/net/if.c Mon Jun 29 19:46:29 2009 (r195175) @@ -100,6 +100,10 @@ struct vnet_net vnet_net_0; #endif #endif +struct ifindex_entry { + struct ifnet *ife_ifnet; +}; + static int slowtimo_started; SYSCTL_NODE(_net, PF_LINK, link, CTLFLAG_RW, 0, "Link layers"); @@ -163,9 +167,8 @@ struct ifnethead ifnet; /* depend on sta struct ifgrouphead ifg_head; int if_index; static int if_indexlim; -/* Table of ifnet/cdev by index. Locked with ifnet_lock. */ +/* Table of ifnet by index. Locked with ifnet_lock. */ static struct ifindex_entry *ifindex_table; -static struct knlist ifklist; #endif int ifqmaxlen = IFQ_MAXLEN; @@ -173,12 +176,6 @@ struct rwlock ifnet_lock; static if_com_alloc_t *if_com_alloc[256]; static if_com_free_t *if_com_free[256]; -static void filt_netdetach(struct knote *kn); -static int filt_netdev(struct knote *kn, long hint); - -static struct filterops netdev_filtops = - { 1, NULL, filt_netdetach, filt_netdev }; - #ifndef VIMAGE_GLOBALS static struct vnet_symmap vnet_net_symmap[] = { VNET_SYMMAP(net, ifnet), @@ -267,150 +264,6 @@ ifaddr_byindex(u_short idx) return (ifa); } -struct cdev * -ifdev_byindex(u_short idx) -{ - INIT_VNET_NET(curvnet); - struct cdev *cdev; - - IFNET_RLOCK(); - cdev = V_ifindex_table[idx].ife_dev; - IFNET_RUNLOCK(); - return (cdev); -} - -static void -ifdev_setbyindex(u_short idx, struct cdev *cdev) -{ - INIT_VNET_NET(curvnet); - - IFNET_WLOCK(); - V_ifindex_table[idx].ife_dev = cdev; - IFNET_WUNLOCK(); -} - -static d_open_t netopen; -static d_close_t netclose; -static d_ioctl_t netioctl; -static d_kqfilter_t netkqfilter; - -static struct cdevsw net_cdevsw = { - .d_version = D_VERSION, - .d_flags = D_NEEDGIANT, - .d_open = netopen, - .d_close = netclose, - .d_ioctl = netioctl, - .d_name = "net", - .d_kqfilter = netkqfilter, -}; - -static int -netopen(struct cdev *dev, int flag, int mode, struct thread *td) -{ - return (0); -} - -static int -netclose(struct cdev *dev, int flags, int fmt, struct thread *td) -{ - return (0); -} - -static int -netioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) -{ - struct ifnet *ifp; - int error, idx; - - /* only support interface specific ioctls */ - if (IOCGROUP(cmd) != 'i') - return (EOPNOTSUPP); - idx = dev2unit(dev); - if (idx == 0) { - /* - * special network device, not interface. - */ - if (cmd == SIOCGIFCONF) - return (ifconf(cmd, data)); /* XXX remove cmd */ -#ifdef __amd64__ - if (cmd == SIOCGIFCONF32) - return (ifconf(cmd, data)); /* XXX remove cmd */ -#endif - return (EOPNOTSUPP); - } - - ifp = ifnet_byindex(idx); - if (ifp == NULL) - return (ENXIO); - - error = ifhwioctl(cmd, ifp, data, td); - if (error == ENOIOCTL) - error = EOPNOTSUPP; - return (error); -} - -static int -netkqfilter(struct cdev *dev, struct knote *kn) -{ - INIT_VNET_NET(curvnet); - struct knlist *klist; - struct ifnet *ifp; - int idx; - - switch (kn->kn_filter) { - case EVFILT_NETDEV: - kn->kn_fop = &netdev_filtops; - break; - default: - return (EINVAL); - } - - idx = dev2unit(dev); - if (idx == 0) { - klist = &V_ifklist; - } else { - ifp = ifnet_byindex(idx); - if (ifp == NULL) - return (1); - klist = &ifp->if_klist; - } - - kn->kn_hook = (caddr_t)klist; - - knlist_add(klist, kn, 0); - - return (0); -} - -static void -filt_netdetach(struct knote *kn) -{ - struct knlist *klist = (struct knlist *)kn->kn_hook; - - knlist_remove(klist, kn, 0); -} - -static int -filt_netdev(struct knote *kn, long hint) -{ - struct knlist *klist = (struct knlist *)kn->kn_hook; - - /* - * Currently NOTE_EXIT is abused to indicate device detach. - */ - if (hint == NOTE_EXIT) { - kn->kn_data = NOTE_LINKINV; - kn->kn_flags |= (EV_EOF | EV_ONESHOT); - knlist_remove_inevent(klist, kn); - return (1); - } - if (hint != 0) - kn->kn_data = hint; /* current status */ - if (kn->kn_sfflags & hint) - kn->kn_fflags |= hint; - return (kn->kn_fflags != 0); -} - /* * Network interface utility routines. * @@ -430,8 +283,6 @@ if_init(void *dummy __unused) #endif IFNET_LOCK_INIT(); - ifdev_setbyindex(0, make_dev(&net_cdevsw, 0, UID_ROOT, GID_WHEEL, - 0600, "network")); if_clone_init(); } @@ -446,7 +297,6 @@ vnet_net_iattach(const void *unused __un TAILQ_INIT(&V_ifnet); TAILQ_INIT(&V_ifg_head); - knlist_init_mtx(&V_ifklist, NULL); if_grow(); /* create initial table */ return (0); @@ -460,7 +310,6 @@ vnet_net_idetach(const void *unused __un VNET_ASSERT(TAILQ_EMPTY(&V_ifnet)); VNET_ASSERT(TAILQ_EMPTY(&V_ifg_head)); - VNET_ASSERT(SLIST_EMPTY(&V_ifklist.kl_list)); free((caddr_t)V_ifindex_table, M_IFNET); @@ -549,7 +398,6 @@ if_alloc(u_char type) TAILQ_INIT(&ifp->if_prefixhead); TAILQ_INIT(&ifp->if_multiaddrs); TAILQ_INIT(&ifp->if_groups); - knlist_init_mtx(&ifp->if_klist, NULL); #ifdef MAC mac_ifnet_init(ifp); #endif @@ -591,9 +439,6 @@ if_free_internal(struct ifnet *ifp) #ifdef MAC mac_ifnet_destroy(ifp); #endif /* MAC */ - KNOTE_UNLOCKED(&ifp->if_klist, NOTE_EXIT); - knlist_clear(&ifp->if_klist, 0); - knlist_destroy(&ifp->if_klist); IF_AFDATA_DESTROY(ifp); IF_ADDR_LOCK_DESTROY(ifp); ifq_delete(&ifp->if_snd); @@ -734,14 +579,6 @@ if_attach_internal(struct ifnet *ifp, in mac_ifnet_create(ifp); #endif - if (IS_DEFAULT_VNET(curvnet)) { - ifdev_setbyindex(ifp->if_index, make_dev(&net_cdevsw, - ifp->if_index, UID_ROOT, GID_WHEEL, 0600, "%s/%s", - net_cdevsw.d_name, ifp->if_xname)); - make_dev_alias(ifdev_byindex(ifp->if_index), "%s%d", - net_cdevsw.d_name, ifp->if_index); - } - /* * Create a Link Level name for this device. */ @@ -1003,9 +840,6 @@ if_detach_internal(struct ifnet *ifp, in * Clean up all addresses. */ ifp->if_addr = NULL; - if (IS_DEFAULT_VNET(curvnet)) - destroy_dev(ifdev_byindex(ifp->if_index)); - ifdev_setbyindex(ifp->if_index, NULL); /* We can now free link ifaddr. */ if (!TAILQ_EMPTY(&ifp->if_addrhead)) { @@ -1905,7 +1739,6 @@ do_link_state_change(void *arg, int pend link = NOTE_LINKDOWN; else link = NOTE_LINKINV; - KNOTE_UNLOCKED(&ifp->if_klist, link); if (ifp->if_vlantrunk != NULL) (*vlan_link_state_p)(ifp, link); Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Mon Jun 29 19:20:21 2009 (r195174) +++ head/sys/net/if_var.h Mon Jun 29 19:46:29 2009 (r195175) @@ -135,7 +135,6 @@ struct ifnet { * However, access to the AF_LINK address through this * field is deprecated. Use if_addr or ifaddr_byindex() instead. */ - struct knlist if_klist; /* events attached to this if */ int if_pcount; /* number of promiscuous listeners */ struct carp_if *if_carp; /* carp interface structure */ struct bpf_if *if_bpf; /* packet filter structure */ @@ -764,11 +763,6 @@ extern struct rwlock ifnet_lock; #define IFNET_RLOCK() rw_rlock(&ifnet_lock) #define IFNET_RUNLOCK() rw_runlock(&ifnet_lock) -struct ifindex_entry { - struct ifnet *ife_ifnet; - struct cdev *ife_dev; -}; - /* * Look up an ifnet given its index; the _ref variant also acquires a * reference that must be freed using if_rele(). It is almost always a bug @@ -784,7 +778,6 @@ struct ifnet *ifnet_byindex_ref(u_short * it to traverse the list of addresses associated to the interface. */ struct ifaddr *ifaddr_byindex(u_short idx); -struct cdev *ifdev_byindex(u_short idx); #ifdef VIMAGE_GLOBALS extern struct ifnethead ifnet; Modified: head/sys/net/vnet.h ============================================================================== --- head/sys/net/vnet.h Mon Jun 29 19:20:21 2009 (r195174) +++ head/sys/net/vnet.h Mon Jun 29 19:46:29 2009 (r195175) @@ -35,6 +35,8 @@ #include +struct ifindex_entry; + struct vnet_net { int _if_index; struct ifindex_entry * _ifindex_table; @@ -42,7 +44,6 @@ struct vnet_net { struct ifgrouphead _ifg_head; int _if_indexlim; - struct knlist _ifklist; struct ifnet * _loif; struct if_clone * _lo_cloner; Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Mon Jun 29 19:20:21 2009 (r195174) +++ head/sys/sys/param.h Mon Jun 29 19:46:29 2009 (r195175) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 800100 /* Master, propagated to newvers */ +#define __FreeBSD_version 800101 /* Master, propagated to newvers */ #ifndef LOCORE #include From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 20:19:19 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E673E10656F7; Mon, 29 Jun 2009 20:19:19 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CBB1D8FC27; Mon, 29 Jun 2009 20:19:19 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TKJJC8058332; Mon, 29 Jun 2009 20:19:19 GMT (envelope-from sson@svn.freebsd.org) Received: (from sson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TKJJ3n058328; Mon, 29 Jun 2009 20:19:19 GMT (envelope-from sson@svn.freebsd.org) Message-Id: <200906292019.n5TKJJ3n058328@svn.freebsd.org> From: Stacey Son Date: Mon, 29 Jun 2009 20:19:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195177 - head/sys/security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 20:19:20 -0000 Author: sson Date: Mon Jun 29 20:19:19 2009 New Revision: 195177 URL: http://svn.freebsd.org/changeset/base/195177 Log: Dynamically allocate the gidset field in audit record. This fixes a problem created by the recent change that allows a large number of groups per user. The gidset field in struct kaudit_record is now dynamically allocated to the size needed rather than statically (using NGROUPS). Approved by: re@ (kensmith, rwatson), gnn (mentor) Modified: head/sys/security/audit/audit.c head/sys/security/audit/audit_arg.c head/sys/security/audit/audit_private.h Modified: head/sys/security/audit/audit.c ============================================================================== --- head/sys/security/audit/audit.c Mon Jun 29 20:12:54 2009 (r195176) +++ head/sys/security/audit/audit.c Mon Jun 29 20:19:19 2009 (r195177) @@ -77,6 +77,7 @@ static MALLOC_DEFINE(M_AUDITCRED, "audit MALLOC_DEFINE(M_AUDITDATA, "audit_data", "Audit data storage"); MALLOC_DEFINE(M_AUDITPATH, "audit_path", "Audit path storage"); MALLOC_DEFINE(M_AUDITTEXT, "audit_text", "Audit text storage"); +MALLOC_DEFINE(M_AUDITGIDSET, "audit_gidset", "Audit GID set storage"); SYSCTL_NODE(_security, OID_AUTO, audit, CTLFLAG_RW, 0, "TrustedBSD audit controls"); @@ -253,6 +254,8 @@ audit_record_dtor(void *mem, int size, v free(ar->k_ar.ar_arg_argv, M_AUDITTEXT); if (ar->k_ar.ar_arg_envv != NULL) free(ar->k_ar.ar_arg_envv, M_AUDITTEXT); + if (ar->k_ar.ar_arg_groups.gidset != NULL) + free(ar->k_ar.ar_arg_groups.gidset, M_AUDITGIDSET); } /* Modified: head/sys/security/audit/audit_arg.c ============================================================================== --- head/sys/security/audit/audit_arg.c Mon Jun 29 20:12:54 2009 (r195176) +++ head/sys/security/audit/audit_arg.c Mon Jun 29 20:19:19 2009 (r195177) @@ -236,10 +236,17 @@ audit_arg_groupset(gid_t *gidset, u_int u_int i; struct kaudit_record *ar; + KASSERT(gidset_size <= NGROUPS, + ("audit_arg_groupset: gidset_size > NGROUPS")); + ar = currecord(); if (ar == NULL) return; + if (ar->k_ar.ar_arg_groups.gidset == NULL) + ar->k_ar.ar_arg_groups.gidset = malloc( + sizeof(gid_t) * gidset_size, M_AUDITGIDSET, M_WAITOK); + for (i = 0; i < gidset_size; i++) ar->k_ar.ar_arg_groups.gidset[i] = gidset[i]; ar->k_ar.ar_arg_groups.gidset_size = gidset_size; Modified: head/sys/security/audit/audit_private.h ============================================================================== --- head/sys/security/audit/audit_private.h Mon Jun 29 20:12:54 2009 (r195176) +++ head/sys/security/audit/audit_private.h Mon Jun 29 20:19:19 2009 (r195177) @@ -50,6 +50,7 @@ MALLOC_DECLARE(M_AUDITBSM); MALLOC_DECLARE(M_AUDITDATA); MALLOC_DECLARE(M_AUDITPATH); MALLOC_DECLARE(M_AUDITTEXT); +MALLOC_DECLARE(M_AUDITGIDSET); #endif /* @@ -104,8 +105,8 @@ struct vnode_au_info { }; struct groupset { - gid_t gidset[NGROUPS]; - u_int gidset_size; + gid_t *gidset; + u_int gidset_size; }; struct socket_au_info { From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 20:23:55 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55C201065674; Mon, 29 Jun 2009 20:23:55 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (chello087206192061.chello.pl [87.206.192.61]) by mx1.freebsd.org (Postfix) with ESMTP id 8355D8FC19; Mon, 29 Jun 2009 20:23:54 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 62C4E45C98; Mon, 29 Jun 2009 22:23:52 +0200 (CEST) Received: from localhost (chello087206192061.chello.pl [87.206.192.61]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 79AB9456B1; Mon, 29 Jun 2009 22:23:46 +0200 (CEST) Date: Mon, 29 Jun 2009 22:23:55 +0200 From: Pawel Jakub Dawidek To: Kip Macy Message-ID: <20090629202355.GA1850@garage.freebsd.pl> References: <200905280818.n4S8IDjj028328@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="UugvWAfsgieZRqgk" Content-Disposition: inline In-Reply-To: <200905280818.n4S8IDjj028328@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 8.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-0.6 required=4.5 tests=BAYES_00,RCVD_IN_SORBS_DUL autolearn=no version=3.0.4 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r192971 - in head/sys: cddl/contrib/opensolaris/uts/common/rpc modules/zfs rpc xdr X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 20:23:56 -0000 --UugvWAfsgieZRqgk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 28, 2009 at 08:18:13AM +0000, Kip Macy wrote: > Author: kmacy > Date: Thu May 28 08:18:12 2009 > New Revision: 192971 > URL: http://svn.freebsd.org/changeset/base/192971 >=20 > Log: > MFdevbranch 192944 > - add FreeBSD implementation of xdrmem_control needed by zfs > - have zfs define xdr_ops using FreeBSD's definition > - remove solaris xdr files from zfs compile You can remove the files below now, right? sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --UugvWAfsgieZRqgk Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFKSSLbForvXbEpPzQRAuP5AJ93o+87gY1zJgBWBkS7BUuJGexo/wCgwfnl 4sgAwwLOLJkPtOc5C5V/b28= =2Kjz -----END PGP SIGNATURE----- --UugvWAfsgieZRqgk-- From owner-svn-src-head@FreeBSD.ORG Mon Jun 29 21:01:38 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A4C4106567B; Mon, 29 Jun 2009 21:01:38 +0000 (UTC) (envelope-from mat.macy@gmail.com) Received: from mail-yx0-f181.google.com (mail-yx0-f181.google.com [209.85.210.181]) by mx1.freebsd.org (Postfix) with ESMTP id 0165F8FC28; Mon, 29 Jun 2009 21:01:37 +0000 (UTC) (envelope-from mat.macy@gmail.com) Received: by yxe11 with SMTP id 11so4289523yxe.3 for ; Mon, 29 Jun 2009 14:01:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=QQdpHVCjpL5otlSNi8dxHzbjcazHroduNdJHFkzI70U=; b=j0+RawGhzRaQw0rrADVzLIKktQtkhrBal9e/znuGZXux4j0nYLNTR1aoHHp16S7J1Q dU3i6SiFsZ4wShQEInQt4AWPleaPglT8t1reVwH+9atNvoMn3p+GF9BtDgUj5TSLnDu2 Uy/eFW9PyV/veXEKbczcDoUs0m+bnYoTRYSAs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=QYGMMKpoz638x+wJJMtgSVaN7yKTSAK2pHI0h0vlNNZmuXNN5ml4t9mHSYXSWmDUHF ACneg/lsEbzMamwemE3YT72iI/Yb8cyjcg11W6ro6MIKJq9PWwt+YnyfsySbac6H70y4 VU87S3V8hZO7s84knfXOvyaISdITBC8CWMu3Q= MIME-Version: 1.0 Sender: mat.macy@gmail.com Received: by 10.100.138.7 with SMTP id l7mr9898294and.141.1246309297333; Mon, 29 Jun 2009 14:01:37 -0700 (PDT) In-Reply-To: <20090629202355.GA1850@garage.freebsd.pl> References: <200905280818.n4S8IDjj028328@svn.freebsd.org> <20090629202355.GA1850@garage.freebsd.pl> Date: Mon, 29 Jun 2009 14:01:37 -0700 X-Google-Sender-Auth: 4cb345f16c1af090 Message-ID: <3c1674c90906291401g2429f0dbv8eb3a6927998a4b@mail.gmail.com> From: Kip Macy To: Pawel Jakub Dawidek Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r192971 - in head/sys: cddl/contrib/opensolaris/uts/common/rpc modules/zfs rpc xdr X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 21:01:40 -0000 Yes. -Kip On Mon, Jun 29, 2009 at 1:23 PM, Pawel Jakub Dawidek wrote= : > On Thu, May 28, 2009 at 08:18:13AM +0000, Kip Macy wrote: >> Author: kmacy >> Date: Thu May 28 08:18:12 2009 >> New Revision: 192971 >> URL: http://svn.freebsd.org/changeset/base/192971 >> >> Log: >> =A0 MFdevbranch 192944 >> =A0 =A0- add FreeBSD implementation of xdrmem_control needed by zfs >> =A0 =A0- have zfs define xdr_ops using FreeBSD's definition >> =A0 =A0- remove solaris xdr files from zfs compile > > You can remove the files below now, right? > > sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c > sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c > sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c > > -- > Pawel Jakub Dawidek =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://ww= w.wheel.pl > pjd@FreeBSD.org =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http:= //www.FreeBSD.org > FreeBSD committer =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Am I Ev= il? Yes, I Am! > --=20 When bad men combine, the good must associate; else they will fall one by one, an unpitied sacrifice in a contemptible struggle. Edmund Burke From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 03:18:51 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 768FB1065673; Tue, 30 Jun 2009 03:18:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 64D0B8FC08; Tue, 30 Jun 2009 03:18:51 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5U3IpR8066648; Tue, 30 Jun 2009 03:18:51 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5U3Ipr4066645; Tue, 30 Jun 2009 03:18:51 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200906300318.n5U3Ipr4066645@svn.freebsd.org> From: John Baldwin Date: Tue, 30 Jun 2009 03:18:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 03:18:51 -0000 Author: jhb Date: Tue Jun 30 03:18:51 2009 New Revision: 195181 URL: http://svn.freebsd.org/changeset/base/195181 Log: Fix build with NFS_LEGACYRPC enabled after the socket upcall locking changes. Approved by: re (kensmith) Modified: head/sys/nfsclient/nfs_socket.c head/sys/nfsserver/nfs_srvsock.c Modified: head/sys/nfsclient/nfs_socket.c ============================================================================== --- head/sys/nfsclient/nfs_socket.c Tue Jun 30 03:05:50 2009 (r195180) +++ head/sys/nfsclient/nfs_socket.c Tue Jun 30 03:18:51 2009 (r195181) @@ -807,7 +807,7 @@ tryagain: * XXX TO DO * Make nfs_realign() non-blocking. Also make nfsm_dissect() nonblocking. */ -static int +static void nfs_clnt_match_xid(struct socket *so, struct nfsmount *nmp, struct mbuf *mrep) @@ -947,7 +947,7 @@ nfs_copy_len(struct mbuf *mp, char *buf, return (len); } -static void +static int nfs_clnt_tcp_soupcall(struct socket *so, void *arg, int waitflag) { struct nfsmount *nmp = (struct nfsmount *)arg; @@ -1085,7 +1085,7 @@ mark_reconnect: return (SU_OK); } -static void +static int nfs_clnt_udp_soupcall(struct socket *so, void *arg, int waitflag) { struct nfsmount *nmp = (struct nfsmount *)arg; Modified: head/sys/nfsserver/nfs_srvsock.c ============================================================================== --- head/sys/nfsserver/nfs_srvsock.c Tue Jun 30 03:05:50 2009 (r195180) +++ head/sys/nfsserver/nfs_srvsock.c Tue Jun 30 03:18:51 2009 (r195181) @@ -527,6 +527,7 @@ dorecs: (slp->ns_flag & (SLP_NEEDQ | SLP_DISCONN)))) nfsrv_wakenfsd(slp); NFSD_UNLOCK(); + return (SU_OK); } /* From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 04:35:00 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D9961065673; Tue, 30 Jun 2009 04:35:00 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.freebsd.org (Postfix) with ESMTP id C80878FC1D; Tue, 30 Jun 2009 04:34:59 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.3/8.14.3) with ESMTP id n5U4YxHK038398; Mon, 29 Jun 2009 21:34:59 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.3/8.14.3/Submit) id n5U4Yxv0038397; Mon, 29 Jun 2009 21:34:59 -0700 (PDT) (envelope-from sgk) Date: Mon, 29 Jun 2009 21:34:59 -0700 From: Steve Kargl To: John Baldwin Message-ID: <20090630043459.GA38390@troutmask.apl.washington.edu> References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200906300318.n5U3Ipr4066645@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 04:35:00 -0000 On Tue, Jun 30, 2009 at 03:18:51AM +0000, John Baldwin wrote: > Author: jhb > Date: Tue Jun 30 03:18:51 2009 > New Revision: 195181 > URL: http://svn.freebsd.org/changeset/base/195181 > > Log: > Fix build with NFS_LEGACYRPC enabled after the socket upcall locking > changes. > > Approved by: re (kensmith) > Thanks, John. -- Steve From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 05:21:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01EC8106564A; Tue, 30 Jun 2009 05:21:01 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E50F88FC0A; Tue, 30 Jun 2009 05:21:00 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5U5L0fp069001; Tue, 30 Jun 2009 05:21:00 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5U5L062068999; Tue, 30 Jun 2009 05:21:00 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200906300521.n5U5L062068999@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Tue, 30 Jun 2009 05:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195182 - head/sys/net X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 05:21:01 -0000 Author: bz Date: Tue Jun 30 05:21:00 2009 New Revision: 195182 URL: http://svn.freebsd.org/changeset/base/195182 Log: In case we cannot queue a packet reaching the queue limit, retain the semantics netisr_queue() always had and free the mbuf along with returning the error. Reviewed by: rwatson Approved by: re (kensmith) Modified: head/sys/net/netisr.c Modified: head/sys/net/netisr.c ============================================================================== --- head/sys/net/netisr.c Tue Jun 30 03:18:51 2009 (r195181) +++ head/sys/net/netisr.c Tue Jun 30 05:21:00 2009 (r195182) @@ -803,6 +803,7 @@ netisr_queue_workstream(struct netisr_wo npwp->nw_queued++; return (0); } else { + m_freem(m); npwp->nw_qdrops++; return (ENOBUFS); } From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 05:36:45 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9EF7F1065670; Tue, 30 Jun 2009 05:36:45 +0000 (UTC) (envelope-from bz0fbd@zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [195.88.108.3]) by mx1.freebsd.org (Postfix) with ESMTP id 53EB68FC19; Tue, 30 Jun 2009 05:36:45 +0000 (UTC) (envelope-from bz0fbd@zabbadoz.net) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 621F241C647; Tue, 30 Jun 2009 07:20:07 +0200 (CEST) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([195.88.108.3]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id 7UBk-hU+f597; Tue, 30 Jun 2009 07:20:06 +0200 (CEST) Received: by mail.cksoft.de (Postfix, from userid 66) id DB1BA41C667; Tue, 30 Jun 2009 07:20:05 +0200 (CEST) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id A9FF04448E6; Tue, 30 Jun 2009 05:17:48 +0000 (UTC) Date: Tue, 30 Jun 2009 05:17:48 +0000 (UTC) From: bz0fbd@zabbadoz.net X-X-Sender: bz@maildrop.int.zabbadoz.net To: John Baldwin , dfr@freebsd.org In-Reply-To: <200906300318.n5U3Ipr4066645@svn.freebsd.org> Message-ID: <20090630051641.T22887@maildrop.int.zabbadoz.net> References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 05:36:46 -0000 On Tue, 30 Jun 2009, John Baldwin wrote: > Author: jhb > Date: Tue Jun 30 03:18:51 2009 > New Revision: 195181 > URL: http://svn.freebsd.org/changeset/base/195181 > > Log: > Fix build with NFS_LEGACYRPC enabled after the socket upcall locking > changes. is this really a good idea, considering that NFS_LEGACYRPC is on the "removal list" for 8.0? Will it go or will it stay? I thought it was already (partly) gone? /bz -- Bjoern A. Zeeb The greatest risk is not taking one. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 07:27:41 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A6401065670; Tue, 30 Jun 2009 07:27:41 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (router.rabson.org [80.177.232.241]) by mx1.freebsd.org (Postfix) with ESMTP id 4DB0F8FC14; Tue, 30 Jun 2009 07:27:41 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from [IPv6:2001:470:909f:1:225:ff:feed:9426] (unknown [IPv6:2001:470:909f:1:225:ff:feed:9426]) by itchy.rabson.org (Postfix) with ESMTP id 9C4095C62; Tue, 30 Jun 2009 08:27:10 +0100 (BST) Message-Id: <8392CCCD-3A51-4A52-AA7A-1EC1110EF684@rabson.org> From: Doug Rabson To: bz0fbd@zabbadoz.net In-Reply-To: <20090630051641.T22887@maildrop.int.zabbadoz.net> Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 08:27:10 +0100 References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> <20090630051641.T22887@maildrop.int.zabbadoz.net> X-Mailer: Apple Mail (2.935.3) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: svn-src-head@freebsd.org, dfr@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, John Baldwin Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 07:27:42 -0000 On 30 Jun 2009, at 06:17, bz0fbd@zabbadoz.net wrote: > On Tue, 30 Jun 2009, John Baldwin wrote: > >> Author: jhb >> Date: Tue Jun 30 03:18:51 2009 >> New Revision: 195181 >> URL: http://svn.freebsd.org/changeset/base/195181 >> >> Log: >> Fix build with NFS_LEGACYRPC enabled after the socket upcall locking >> changes. > > is this really a good idea, considering that NFS_LEGACYRPC is on the > "removal list" for 8.0? > > Will it go or will it stay? I thought it was already (partly) gone? Its up to re@ - I just sent them the patch. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 09:51:41 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C71B1065675; Tue, 30 Jun 2009 09:51:41 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7949D8FC1D; Tue, 30 Jun 2009 09:51:41 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5U9pfDL074487; Tue, 30 Jun 2009 09:51:41 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5U9pfc9074482; Tue, 30 Jun 2009 09:51:41 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906300951.n5U9pfc9074482@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 09:51:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195185 - in head: share/man/man4 sys/dev/acpi_support X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 09:51:42 -0000 Author: rpaulo Date: Tue Jun 30 09:51:41 2009 New Revision: 195185 URL: http://svn.freebsd.org/changeset/base/195185 Log: acpi_wmi_if: - Document different semantics for ACPI_WMI_PROVIDES_GUID_STRING_METHOD acpi_wmi.c: - Modify acpi_wmi_provides_guid_string_method to return absolut number of instances known for the given GUID. acpi_hp.c: - sysctl dev.acpi_hp.0.verbose to toggle debug output - A modification so this can deal with different array lengths when reading the CMI BIOS - now it works ok on HP Compaq nx7300 as well. - Change behaviour to query only max_instance-1 CMI BIOS instances, because all HPs seen so far are broken in that respect (or there is a fundamental misunderstanding on my side, possible as well). This way a disturbing ACPI Error Field exceeds Buffer message is avoided. - New bit to set on dev.acpi_hp.0.cmi_detail (0x8) to also query the highest guid instance of CMI bios acpi_hp.4: - Document dev.acpi_hp.0.verbose sysctl in man page - Document new bit for dev.acpi_hp.0.cmi_detail - Add a section to manpage about hardware that has been reported to work ok Submitted by: Michael Gmelin, freebsdusb at bindone.de Approved by: re (kib) MFC after: 2 weeks Modified: head/share/man/man4/acpi_hp.4 head/sys/dev/acpi_support/acpi_hp.c head/sys/dev/acpi_support/acpi_wmi.c head/sys/dev/acpi_support/acpi_wmi_if.m Modified: head/share/man/man4/acpi_hp.4 ============================================================================== --- head/share/man/man4/acpi_hp.4 Tue Jun 30 09:20:43 2009 (r195184) +++ head/share/man/man4/acpi_hp.4 Tue Jun 30 09:51:41 2009 (r195185) @@ -165,6 +165,9 @@ Show path component of BIOS setting Show a list of valid options for the BIOS setting .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) +.It Li 0x08 +Query highest BIOS entry instance. This is broken on many HP models and +therefore disabled by default. .El .El .Pp Modified: head/sys/dev/acpi_support/acpi_hp.c ============================================================================== --- head/sys/dev/acpi_support/acpi_hp.c Tue Jun 30 09:20:43 2009 (r195184) +++ head/sys/dev/acpi_support/acpi_hp.c Tue Jun 30 09:51:41 2009 (r195185) @@ -106,6 +106,7 @@ ACPI_MODULE_NAME("HP") #define ACPI_HP_CMI_DETAIL_PATHS 0x01 #define ACPI_HP_CMI_DETAIL_ENUMS 0x02 #define ACPI_HP_CMI_DETAIL_FLAGS 0x04 +#define ACPI_HP_CMI_DETAIL_SHOW_MAX_INSTANCE 0x08 struct acpi_hp_inst_seq_pair { UINT32 sequence; /* sequence number as suggested by cmi bios */ @@ -489,9 +490,10 @@ acpi_hp_attach(device_t dev) sc->has_notify = 1; } } - if (ACPI_WMI_PROVIDES_GUID_STRING(sc->wmi_dev, ACPI_HP_WMI_CMI_GUID)) { + if ((sc->has_cmi = + ACPI_WMI_PROVIDES_GUID_STRING(sc->wmi_dev, ACPI_HP_WMI_CMI_GUID) + )) { device_printf(dev, "HP CMI GUID detected\n"); - sc->has_cmi = 1; } if (sc->has_cmi) { @@ -752,6 +754,10 @@ acpi_hp_sysctl_set(struct acpi_hp_softc arg?1:0)); case ACPI_HP_METHOD_CMI_DETAIL: sc->cmi_detail = arg; + if ((arg & ACPI_HP_CMI_DETAIL_SHOW_MAX_INSTANCE) != + (oldarg & ACPI_HP_CMI_DETAIL_SHOW_MAX_INSTANCE)) { + sc->cmi_order_size = -1; + } break; } } @@ -1103,6 +1109,7 @@ acpi_hp_hpcmi_read(struct cdev *dev, str struct acpi_hp_softc *sc; int pos, i, l, ret; UINT8 instance; + UINT8 maxInstance; UINT32 sequence; int linesize = 1025; char line[linesize]; @@ -1119,14 +1126,20 @@ acpi_hp_hpcmi_read(struct cdev *dev, str else { if (!sbuf_done(&sc->hpcmi_sbuf)) { if (sc->cmi_order_size < 0) { + maxInstance = sc->has_cmi; + if (!(sc->cmi_detail & + ACPI_HP_CMI_DETAIL_SHOW_MAX_INSTANCE) && + maxInstance > 0) { + maxInstance--; + } sc->cmi_order_size = 0; - for (instance = 0; instance < 128; + for (instance = 0; instance < maxInstance; ++instance) { if (acpi_hp_get_cmi_block(sc->wmi_dev, ACPI_HP_WMI_CMI_GUID, instance, line, linesize, &sequence, sc->cmi_detail)) { - instance = 128; + instance = maxInstance; } else { pos = sc->cmi_order_size; Modified: head/sys/dev/acpi_support/acpi_wmi.c ============================================================================== --- head/sys/dev/acpi_support/acpi_wmi.c Tue Jun 30 09:20:43 2009 (r195184) +++ head/sys/dev/acpi_support/acpi_wmi.c Tue Jun 30 09:51:41 2009 (r195185) @@ -326,11 +326,13 @@ acpi_wmi_detach(device_t dev) static int acpi_wmi_provides_guid_string_method(device_t dev, const char *guid_string) { + struct wmi_info *winfo; int ret; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); ACPI_SERIAL_BEGIN(acpi_wmi); - ret = (acpi_wmi_lookup_wmi_info_by_guid_string(guid_string) == NULL)?0:1; + winfo = acpi_wmi_lookup_wmi_info_by_guid_string(guid_string); + ret = (winfo == NULL)?0:winfo->ginfo.max_instance+1; ACPI_SERIAL_END(acpi_wmi); return (ret); Modified: head/sys/dev/acpi_support/acpi_wmi_if.m ============================================================================== --- head/sys/dev/acpi_support/acpi_wmi_if.m Tue Jun 30 09:20:43 2009 (r195184) +++ head/sys/dev/acpi_support/acpi_wmi_if.m Tue Jun 30 09:51:41 2009 (r195185) @@ -46,6 +46,7 @@ CODE { # # Check if given GUID exists in WMI +# Returns number of instances (max_instace+1) or 0 if guid doesn't exist # # device_t dev: Device to probe # const char* guid_string: String form of the GUID From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 10:07:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CDA0106566C; Tue, 30 Jun 2009 10:07:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A8FE8FC0A; Tue, 30 Jun 2009 10:07:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UA70XU074856; Tue, 30 Jun 2009 10:07:00 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UA70KO074854; Tue, 30 Jun 2009 10:07:00 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906301007.n5UA70KO074854@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 30 Jun 2009 10:07:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195186 - head/sys/ufs/ffs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 10:07:01 -0000 Author: kib Date: Tue Jun 30 10:07:00 2009 New Revision: 195186 URL: http://svn.freebsd.org/changeset/base/195186 Log: Softdep_fsync() may need to lock parent directory of the synced vnode. Use inlined (due to FFSV_FORCEINSMQ) version of vn_vget_ino() to prevent mountpoint from being unmounted and freed while no vnodes are locked. Tested by: pho Approved by: re (kensmith) MFC after: 1 month Modified: head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Tue Jun 30 09:51:41 2009 (r195185) +++ head/sys/ufs/ffs/ffs_softdep.c Tue Jun 30 10:07:00 2009 (r195186) @@ -5102,10 +5102,28 @@ softdep_fsync(vp) FREE_LOCK(&lk); if (ffs_vgetf(mp, parentino, LK_NOWAIT | LK_EXCLUSIVE, &pvp, FFSV_FORCEINSMQ)) { + error = vfs_busy(mp, MBF_NOWAIT); + if (error != 0) { + VOP_UNLOCK(vp, 0); + error = vfs_busy(mp, 0); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + if (error != 0) + return (ENOENT); + if (vp->v_iflag & VI_DOOMED) { + vfs_unbusy(mp); + return (ENOENT); + } + } VOP_UNLOCK(vp, 0); error = ffs_vgetf(mp, parentino, LK_EXCLUSIVE, &pvp, FFSV_FORCEINSMQ); + vfs_unbusy(mp); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + if (vp->v_iflag & VI_DOOMED) { + if (error == 0) + vput(pvp); + error = ENOENT; + } if (error != 0) return (error); } From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 10:07:34 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E05D1065670; Tue, 30 Jun 2009 10:07:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 054E78FC24; Tue, 30 Jun 2009 10:07:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UA7XSF074902; Tue, 30 Jun 2009 10:07:33 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UA7XKl074900; Tue, 30 Jun 2009 10:07:33 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200906301007.n5UA7XKl074900@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 30 Jun 2009 10:07:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195187 - head/sys/ufs/ffs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 10:07:39 -0000 Author: kib Date: Tue Jun 30 10:07:33 2009 New Revision: 195187 URL: http://svn.freebsd.org/changeset/base/195187 Log: For SU mounts, softdep_fsync() might drop vnode lock, allowing other threads to put dirty buffers on the vnode bufobj list. For regular files and synchronous fsync requests, check for the condition and restart the fsync vop if a new dirty buffer arrived. Tested by: pho Approved by: re (kensmith) MFC after: 1 month Modified: head/sys/ufs/ffs/ffs_vnops.c Modified: head/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vnops.c Tue Jun 30 10:07:00 2009 (r195186) +++ head/sys/ufs/ffs/ffs_vnops.c Tue Jun 30 10:07:33 2009 (r195187) @@ -180,15 +180,36 @@ struct vop_vector ffs_fifoops2 = { static int ffs_fsync(struct vop_fsync_args *ap) { + struct vnode *vp; + struct bufobj *bo; int error; - error = ffs_syncvnode(ap->a_vp, ap->a_waitfor); + vp = ap->a_vp; + bo = &vp->v_bufobj; +retry: + error = ffs_syncvnode(vp, ap->a_waitfor); if (error) return (error); if (ap->a_waitfor == MNT_WAIT && - (ap->a_vp->v_mount->mnt_flag & MNT_SOFTDEP)) - error = softdep_fsync(ap->a_vp); - return (error); + (vp->v_mount->mnt_flag & MNT_SOFTDEP)) { + error = softdep_fsync(vp); + if (error) + return (error); + + /* + * The softdep_fsync() function may drop vp lock, + * allowing for dirty buffers to reappear on the + * bo_dirty list. Recheck and resync as needed. + */ + BO_LOCK(bo); + if (vp->v_type == VREG && (bo->bo_numoutput > 0 || + bo->bo_dirty.bv_cnt > 0)) { + BO_UNLOCK(bo); + goto retry; + } + BO_UNLOCK(bo); + } + return (0); } int From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 11:16:32 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD3FA106566C; Tue, 30 Jun 2009 11:16:32 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ABC9E8FC19; Tue, 30 Jun 2009 11:16:32 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UBGWhR078984; Tue, 30 Jun 2009 11:16:32 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UBGWi4078983; Tue, 30 Jun 2009 11:16:32 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <200906301116.n5UBGWi4078983@svn.freebsd.org> From: Andriy Gapon Date: Tue, 30 Jun 2009 11:16:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195188 - head/sys/amd64/amd64 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 11:16:33 -0000 Author: avg Date: Tue Jun 30 11:16:32 2009 New Revision: 195188 URL: http://svn.freebsd.org/changeset/base/195188 Log: remove unused/unneeded extern declarations This should result in no changes to compiled code. Reviewed by: alc Approved by: re (kib) MFC after: 1 day Modified: head/sys/amd64/amd64/identcpu.c Modified: head/sys/amd64/amd64/identcpu.c ============================================================================== --- head/sys/amd64/amd64/identcpu.c Tue Jun 30 10:07:33 2009 (r195187) +++ head/sys/amd64/amd64/identcpu.c Tue Jun 30 11:16:32 2009 (r195188) @@ -107,9 +107,6 @@ static struct { }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 12:35:48 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A497106564A; Tue, 30 Jun 2009 12:35:48 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 16A3B8FC14; Tue, 30 Jun 2009 12:35:48 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UCZlbf080811; Tue, 30 Jun 2009 12:35:47 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UCZlmE080805; Tue, 30 Jun 2009 12:35:47 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200906301235.n5UCZlmE080805@svn.freebsd.org> From: Stanislav Sedov Date: Tue, 30 Jun 2009 12:35:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195189 - in head: share/man/man4 sys/dev/cpuctl sys/sys usr.sbin/cpucontrol X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 12:35:48 -0000 Author: stas Date: Tue Jun 30 12:35:47 2009 New Revision: 195189 URL: http://svn.freebsd.org/changeset/base/195189 Log: - Add support to atomically set/clear individual bits of a MSR register via cpuctl(4) driver. Two new CPUCTL_MSRSBIT and CPUCTL_MSRCBIT ioctl(2) calls treat the data field of the argument struct passed as a mask and set/clear bits of the MSR register according to the mask value. - Allow user to perform atomic bitwise AND and OR operaions on MSR registers via cpucontrol(8) utility. Two new operations ("&=" and "|=") have been added. The first one applies bitwise AND operaion between the current contents of the MSR register and the mask, and the second performs bitwise OR. The argument can be optionally prefixed with "~" inversion operator. This allows one to mimic the "clear bit" behavior by using the command like this: cpucontrol -m 0x10&=~0x02 # clear the second bit of TSC MSR Inversion operator support in all modes (assignment, OR, AND). Approved by: re (kib) MFC after: 1 month Modified: head/share/man/man4/cpuctl.4 head/sys/dev/cpuctl/cpuctl.c head/sys/sys/cpuctl.h head/usr.sbin/cpucontrol/cpucontrol.8 head/usr.sbin/cpucontrol/cpucontrol.c Modified: head/share/man/man4/cpuctl.4 ============================================================================== --- head/share/man/man4/cpuctl.4 Tue Jun 30 11:16:32 2009 (r195188) +++ head/share/man/man4/cpuctl.4 Tue Jun 30 12:35:47 2009 (r195189) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 31, 2008 +.Dd June 30, 2009 .Dt CPUCTL 4 .Os .Sh NAME @@ -81,6 +81,11 @@ typedef struct { uint64_t data; } cpuctl_msr_args_t; .Ed +.It Dv CPUCTL_MSRSBIT Fa cpuctl_msr_args_t *args +.It Dv CPUCTL_MSRCBIT Fa cpuctl_msr_args_t *args +Set/clear MSR bits according to the mask given in the +.Va data +field. .It Dv CPUCTL_CPUID Fa cpuctl_cpuid_args_t *args Retrieve CPUID information. Arguments are supplied in Modified: head/sys/dev/cpuctl/cpuctl.c ============================================================================== --- head/sys/dev/cpuctl/cpuctl.c Tue Jun 30 11:16:32 2009 (r195188) +++ head/sys/dev/cpuctl/cpuctl.c Tue Jun 30 12:35:47 2009 (r195189) @@ -158,6 +158,8 @@ cpuctl_ioctl(struct cdev *dev, u_long cm case CPUCTL_RDMSR: ret = cpuctl_do_msr(cpu, (cpuctl_msr_args_t *)data, cmd, td); break; + case CPUCTL_MSRSBIT: + case CPUCTL_MSRCBIT: case CPUCTL_WRMSR: ret = priv_check(td, PRIV_CPUCTL_WRMSR); if (ret != 0) @@ -211,6 +213,7 @@ cpuctl_do_cpuid(int cpu, cpuctl_cpuid_ar static int cpuctl_do_msr(int cpu, cpuctl_msr_args_t *data, u_long cmd, struct thread *td) { + uint64_t reg; int is_bound = 0; int oldcpu; int ret; @@ -230,9 +233,22 @@ cpuctl_do_msr(int cpu, cpuctl_msr_args_t if (cmd == CPUCTL_RDMSR) { data->data = 0; ret = rdmsr_safe(data->msr, &data->data); - } else { + } else if (cmd == CPUCTL_WRMSR) { ret = wrmsr_safe(data->msr, data->data); - } + } else if (cmd == CPUCTL_MSRSBIT) { + critical_enter(); + ret = rdmsr_safe(data->msr, ®); + if (ret == 0) + ret = wrmsr_safe(data->msr, reg | data->data); + critical_exit(); + } else if (cmd == CPUCTL_MSRCBIT) { + critical_enter(); + ret = rdmsr_safe(data->msr, ®); + if (ret == 0) + ret = wrmsr_safe(data->msr, reg & ~data->data); + critical_exit(); + } else + panic("[cpuctl,%d]: unknown operation requested: %lu", __LINE__, cmd); restore_cpu(oldcpu, is_bound, td); return (ret); } Modified: head/sys/sys/cpuctl.h ============================================================================== --- head/sys/sys/cpuctl.h Tue Jun 30 11:16:32 2009 (r195188) +++ head/sys/sys/cpuctl.h Tue Jun 30 12:35:47 2009 (r195189) @@ -48,5 +48,7 @@ typedef struct { #define CPUCTL_WRMSR _IOWR('c', 2, cpuctl_msr_args_t) #define CPUCTL_CPUID _IOWR('c', 3, cpuctl_cpuid_args_t) #define CPUCTL_UPDATE _IOWR('c', 4, cpuctl_update_args_t) +#define CPUCTL_MSRSBIT _IOWR('c', 5, cpuctl_msr_args_t) +#define CPUCTL_MSRCBIT _IOWR('c', 6, cpuctl_msr_args_t) #endif /* _CPUCTL_H_ */ Modified: head/usr.sbin/cpucontrol/cpucontrol.8 ============================================================================== --- head/usr.sbin/cpucontrol/cpucontrol.8 Tue Jun 30 11:16:32 2009 (r195188) +++ head/usr.sbin/cpucontrol/cpucontrol.8 Tue Jun 30 12:35:47 2009 (r195189) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 4, 2008 +.Dd June 30, 2009 .Dt CPUCONTROL 8 .Os .Sh NAME @@ -35,7 +35,25 @@ device. .Sh SYNOPSIS .Nm .Op Fl vh -.Fl m Ar msr Ns Op = Ns Ar value +.Fl m Ar msr +.Bk +.Ar device +.Ek +.Nm +.Op Fl vh +.Fl m Ar msr Ns = Ns Ar value +.Bk +.Ar device +.Ek +.Nm +.Op Fl vh +.Fl m Ar msr Ns &= Ns Ar mask +.Bk +.Ar device +.Ek +.Nm +.Op Fl vh +.Fl m Ar msr Ns |= Ns Ar mask .Bk .Ar device .Ek @@ -67,8 +85,32 @@ The following options are available: Where to look for microcode images. The option can be specified multiple times. .It Fl m Ar msr Ns Op = Ns Ar value -Read/write the specified MSR. -Both the MSR and the value should be given as a hex number. +Show value of the specified MSR. +MSR register number should be given as a hexadecimal number. +.It Fl m Ar msr Ns = Ns Ar value +Store the +.Ar value +in the specified MSR register. +The +.Ar value +argument can be prefixed with ~ operator. +In this case the inverted value of argument will be stored in the register. +.It Fl m Ar msr Ns &= Ns Ar mask +Store the result of bitwise AND operation between +.Ar mask +and the current MSR value in the MSR register. +The +.Ar mask +argument can be prefixed with ~ operator. +In this case the inverted value of mask will be used. +.It Fl m Ar msr Ns |= Ns Ar mask +Store the result of bitwise OR operation between +.Ar mask +and the current MSR value in the MSR register. +The +.Ar mask +argument can be prefixed with ~ operator. +In this case the inverted value of mask will be used. .It Fl i Ar level Retrieve CPUID info. Level should be given as a hex number. @@ -94,7 +136,15 @@ will read the contents of TSC MSR from C .Pp To set the CPU 0 TSC MSR register value to 0x1 issue .Pp -.Dq Li "cpucontrol -m 0x10=0x1 /dev/cpuctl0" +.Dq Li "cpucontrol -m 0x10=0x1 /dev/cpuctl0" . +.Pp +The following command will clear the second bit of TSC register: +.Pp +.Dq Li "cpucontrol -m 0x10&=~0x02 /dev/cpuctl0" . +.Pp +The following command will set the forth and second bit of TSC register: +.Pp +.Dq Li "cpucontrol -m 0x10|=0x0a /dev/cpuctl0" . .Pp The command .Pp Modified: head/usr.sbin/cpucontrol/cpucontrol.c ============================================================================== --- head/usr.sbin/cpucontrol/cpucontrol.c Tue Jun 30 11:16:32 2009 (r195188) +++ head/usr.sbin/cpucontrol/cpucontrol.c Tue Jun 30 12:35:47 2009 (r195189) @@ -60,6 +60,12 @@ int verbosity_level = 0; #define FLAG_M 0x02 #define FLAG_U 0x04 +#define OP_INVAL 0x00 +#define OP_READ 0x01 +#define OP_WRITE 0x02 +#define OP_OR 0x04 +#define OP_AND 0x08 + #define HIGH(val) (uint32_t)(((val) >> 32) & 0xffffffff) #define LOW(val) (uint32_t)((val) & 0xffffffff) @@ -166,28 +172,64 @@ do_msr(const char *cmdarg, const char *d { unsigned int msr; cpuctl_msr_args_t args; + size_t len; + uint64_t data = 0; + unsigned long command; + int do_invert = 0, op; int fd, error; - int wr = 0; - char *p; char *endptr; + char *p; assert(cmdarg != NULL); assert(dev != NULL); + len = strlen(cmdarg); + if (len == 0) { + WARNX(0, "MSR register expected"); + usage(); + /* NOTREACHED */ + } - p = strchr(cmdarg, '='); - if (p != NULL) { - wr = 1; - *p++ = '\0'; - args.data = strtoull(p, &endptr, 16); - if (*p == '\0' || *endptr != '\0') { - WARNX(0, "incorrect MSR value: %s", p); - usage(); - /* NOTREACHED */ + /* + * Parse command string. + */ + msr = strtoul(cmdarg, &endptr, 16); + switch (*endptr) { + case '\0': + op = OP_READ; + break; + case '=': + op = OP_WRITE; + break; + case '&': + op = OP_AND; + endptr++; + break; + case '|': + op = OP_OR; + endptr++; + break; + default: + op = OP_INVAL; + } + if (op != OP_READ) { /* Complex operation. */ + if (*endptr != '=') + op = OP_INVAL; + else { + p = ++endptr; + if (*p == '~') { + do_invert = 1; + p++; + } + data = strtoull(p, &endptr, 16); + if (*p == '\0' || *endptr != '\0') { + WARNX(0, "argument required: %s", cmdarg); + usage(); + /* NOTREACHED */ + } } } - msr = strtoul(cmdarg, &endptr, 16); - if (*cmdarg == '\0' || *endptr != '\0') { - WARNX(0, "incorrect MSR register: %s", cmdarg); + if (op == OP_INVAL) { + WARNX(0, "invalid operator: %s", cmdarg); usage(); /* NOTREACHED */ } @@ -196,20 +238,39 @@ do_msr(const char *cmdarg, const char *d * Fill ioctl argument structure. */ args.msr = msr; - fd = open(dev, wr == 0 ? O_RDONLY : O_WRONLY); + if ((do_invert != 0) ^ (op == OP_AND)) + args.data = ~data; + else + args.data = data; + switch (op) { + case OP_READ: + command = CPUCTL_RDMSR; + break; + case OP_WRITE: + command = CPUCTL_WRMSR; + break; + case OP_OR: + command = CPUCTL_MSRSBIT; + break; + case OP_AND: + command = CPUCTL_MSRCBIT; + break; + default: + abort(); + } + fd = open(dev, op == OP_READ ? O_RDONLY : O_WRONLY); if (fd < 0) { WARN(0, "error opening %s for %s", dev, - wr == 0 ? "reading" : "writing"); + op == OP_READ ? "reading" : "writing"); return (1); } - error = ioctl(fd, wr == 0 ? CPUCTL_RDMSR : CPUCTL_WRMSR, &args); + error = ioctl(fd, command, &args); if (error < 0) { - WARN(0, "ioctl(%s, %s)", dev, - wr == 0 ? "CPUCTL_RDMSR" : "CPUCTL_WRMSR"); + WARN(0, "ioctl(%s, %lu)", dev, command); close(fd); return (1); } - if (wr == 0) + if (op == OP_READ) fprintf(stdout, "MSR 0x%x: 0x%.8x 0x%.8x\n", msr, HIGH(args.data), LOW(args.data)); close(fd); From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 13:38:50 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EAF9106564A; Tue, 30 Jun 2009 13:38:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D1A48FC1A; Tue, 30 Jun 2009 13:38:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UDcors082158; Tue, 30 Jun 2009 13:38:50 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UDcoSb082155; Tue, 30 Jun 2009 13:38:50 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <200906301338.n5UDcoSb082155@svn.freebsd.org> From: Ed Maste Date: Tue, 30 Jun 2009 13:38:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195191 - in head/sys: kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 13:38:50 -0000 Author: emaste Date: Tue Jun 30 13:38:49 2009 New Revision: 195191 URL: http://svn.freebsd.org/changeset/base/195191 Log: Add FIONSPACE from NetBSD. FIONSPACE is provided so that programs may easily determine how much space is left in the send queue; they do not need to know the send queue size. NetBSD revisions: sys_socket.c r1.41, 1.42 filio.h r1.9 Obtained from: NetBSD Approved by: re (kensmith) Modified: head/sys/kern/sys_socket.c head/sys/sys/filio.h Modified: head/sys/kern/sys_socket.c ============================================================================== --- head/sys/kern/sys_socket.c Tue Jun 30 13:38:14 2009 (r195190) +++ head/sys/kern/sys_socket.c Tue Jun 30 13:38:49 2009 (r195191) @@ -174,6 +174,14 @@ soo_ioctl(struct file *fp, u_long cmd, v *(int *)data = so->so_snd.sb_cc; break; + case FIONSPACE: + if ((so->so_snd.sb_hiwat < so->so_snd.sb_cc) || + (so->so_snd.sb_mbmax < so->so_snd.sb_mbcnt)) + *(int *)data = 0; + else + *(int *)data = sbspace(&so->so_snd); + break; + case FIOSETOWN: error = fsetown(*(int *)data, &so->so_sigio); break; Modified: head/sys/sys/filio.h ============================================================================== --- head/sys/sys/filio.h Tue Jun 30 13:38:14 2009 (r195190) +++ head/sys/sys/filio.h Tue Jun 30 13:38:49 2009 (r195191) @@ -56,6 +56,7 @@ struct fiodgname_arg { }; #define FIODGNAME _IOW('f', 120, struct fiodgname_arg) /* get dev. name */ #define FIONWRITE _IOR('f', 119, int) /* get # bytes (yet) to write */ +#define FIONSPACE _IOR('f', 118, int) /* get space in send queue */ /* Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. */ #define FIOSEEKDATA _IOWR('f', 97, off_t) /* SEEK_DATA */ #define FIOSEEKHOLE _IOWR('f', 98, off_t) /* SEEK_HOLE */ From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:34:06 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE117106564A; Tue, 30 Jun 2009 14:34:06 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D1E278FC15; Tue, 30 Jun 2009 14:34:06 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UEY6dE083579; Tue, 30 Jun 2009 14:34:06 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UEY6rq083575; Tue, 30 Jun 2009 14:34:06 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200906301434.n5UEY6rq083575@svn.freebsd.org> From: Edward Tomasz Napierala Date: Tue, 30 Jun 2009 14:34:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195195 - in head/sys/geom: . journal X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:34:07 -0000 Author: trasz Date: Tue Jun 30 14:34:06 2009 New Revision: 195195 URL: http://svn.freebsd.org/changeset/base/195195 Log: Make gjournal work with kernel compiled with "options DIAGNOSTIC". Previously, it would panic immediately. Reviewed by: pjd Approved by: re (kib) Modified: head/sys/geom/geom.h head/sys/geom/geom_io.c head/sys/geom/journal/g_journal.c Modified: head/sys/geom/geom.h ============================================================================== --- head/sys/geom/geom.h Tue Jun 30 14:21:37 2009 (r195194) +++ head/sys/geom/geom.h Tue Jun 30 14:34:06 2009 (r195195) @@ -134,6 +134,7 @@ struct g_geom { void *softc; unsigned flags; #define G_GEOM_WITHER 1 +#define G_GEOM_VOLATILE_BIO 2 }; /* Modified: head/sys/geom/geom_io.c ============================================================================== --- head/sys/geom/geom_io.c Tue Jun 30 14:21:37 2009 (r195194) +++ head/sys/geom/geom_io.c Tue Jun 30 14:34:06 2009 (r195195) @@ -480,14 +480,6 @@ g_io_deliver(struct bio *bp, int error) KASSERT(bp != NULL, ("NULL bp in g_io_deliver")); pp = bp->bio_to; KASSERT(pp != NULL, ("NULL bio_to in g_io_deliver")); -#ifdef DIAGNOSTIC - KASSERT(bp->bio_caller1 == bp->_bio_caller1, - ("bio_caller1 used by the provider %s", pp->name)); - KASSERT(bp->bio_caller2 == bp->_bio_caller2, - ("bio_caller2 used by the provider %s", pp->name)); - KASSERT(bp->bio_cflags == bp->_bio_cflags, - ("bio_cflags used by the provider %s", pp->name)); -#endif cp = bp->bio_from; if (cp == NULL) { bp->bio_error = error; @@ -496,6 +488,21 @@ g_io_deliver(struct bio *bp, int error) } KASSERT(cp != NULL, ("NULL bio_from in g_io_deliver")); KASSERT(cp->geom != NULL, ("NULL bio_from->geom in g_io_deliver")); +#ifdef DIAGNOSTIC + /* + * Some classes - GJournal in particular - can modify bio's + * private fields while the bio is in transit; G_GEOM_VOLATILE_BIO + * flag means it's an expected behaviour for that particular geom. + */ + if ((cp->geom->flags & G_GEOM_VOLATILE_BIO) == 0) { + KASSERT(bp->bio_caller1 == bp->_bio_caller1, + ("bio_caller1 used by the provider %s", pp->name)); + KASSERT(bp->bio_caller2 == bp->_bio_caller2, + ("bio_caller2 used by the provider %s", pp->name)); + KASSERT(bp->bio_cflags == bp->_bio_cflags, + ("bio_cflags used by the provider %s", pp->name)); + } +#endif KASSERT(bp->bio_completed >= 0, ("bio_completed can't be less than 0")); KASSERT(bp->bio_completed <= bp->bio_length, ("bio_completed can't be greater than bio_length")); Modified: head/sys/geom/journal/g_journal.c ============================================================================== --- head/sys/geom/journal/g_journal.c Tue Jun 30 14:21:37 2009 (r195194) +++ head/sys/geom/journal/g_journal.c Tue Jun 30 14:34:06 2009 (r195195) @@ -2292,6 +2292,7 @@ g_journal_create(struct g_class *mp, str gp->orphan = g_journal_orphan; gp->access = g_journal_access; gp->softc = sc; + gp->flags |= G_GEOM_VOLATILE_BIO; sc->sc_geom = gp; mtx_init(&sc->sc_mtx, "gjournal", NULL, MTX_DEF); From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:34:32 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8021A1065691; Tue, 30 Jun 2009 14:34:32 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 3D49D8FC15; Tue, 30 Jun 2009 14:34:31 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 377536D41C; Tue, 30 Jun 2009 16:34:31 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id 16A21844A4; Tue, 30 Jun 2009 16:34:31 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Schouten References: <200906221500.n5MF0F6v044301@svn.freebsd.org> <20090622151917.GC48776@hoeg.nl> <20090623015306.GB27380@svm.csie.ntu.edu.tw> <20090623075352.GJ48776@hoeg.nl> Date: Tue, 30 Jun 2009 16:34:31 +0200 In-Reply-To: <20090623075352.GJ48776@hoeg.nl> (Ed Schouten's message of "Tue, 23 Jun 2009 09:53:52 +0200") Message-ID: <86prcl23k8.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG, Rong-En Fan Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:34:33 -0000 Ed Schouten writes: > I've noticed the xterm entry we have in FreeBSD is somewhat > inconsistent with the one from other operating systems. [...] Is > this a known issue? I don't know about that one, but our xterm entry is intentionally broken in at least one area: it does not contain the sequences necessary to restore the previous screen when you exit from less, top etc. Be prepared for a flame war if you try to fix it; apparently, some people believe that their personal preferences are more important than correctness, not to mention everybody else's preferences. Is there a good reason for not using the (presumably correct and up-to-date) termcap file that ships with ncurses? DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:38:21 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FD3F1065676; Tue, 30 Jun 2009 14:38:21 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id D42558FC1D; Tue, 30 Jun 2009 14:38:20 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id EFF7C6D418; Tue, 30 Jun 2009 16:38:19 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id CE24C844A4; Tue, 30 Jun 2009 16:38:19 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Maxim Konovalov References: <200906230555.n5N5tubJ065618@svn.freebsd.org> <20090623080015.GK48776@hoeg.nl> <20090623125125.F1156@mp2.macomnet.net> Date: Tue, 30 Jun 2009 16:38:19 +0200 In-Reply-To: <20090623125125.F1156@mp2.macomnet.net> (Maxim Konovalov's message of "Tue, 23 Jun 2009 12:51:36 +0400 (MSD)") Message-ID: <86ljn923dw.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.ORG, Ed Schouten , svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r194681 - head/usr.sbin/wpa/ndis_events X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:38:21 -0000 Maxim Konovalov writes: > fixed, thanks. It still says static void usage() I know this is allowed by C99, but it's not allowed by style(9). DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:44:16 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00BBA106564A; Tue, 30 Jun 2009 14:44:16 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id B00678FC0A; Tue, 30 Jun 2009 14:44:15 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 02F5F6D418; Tue, 30 Jun 2009 16:44:14 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id CBE66844B5; Tue, 30 Jun 2009 16:44:14 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Bruce Evans References: <200906201639.n5KGdPhO081114@svn.freebsd.org> <20090620174158.GG2884@deviant.kiev.zoral.com.ua> <20090623221248.GA5445@zim.MIT.EDU> <20090623221053.GT2884@deviant.kiev.zoral.com.ua> <20090623234549.GA6076@zim.MIT.EDU> <20090625151849.W33864@delplex.bde.org> Date: Tue, 30 Jun 2009 16:44:14 +0200 In-Reply-To: <20090625151849.W33864@delplex.bde.org> (Bruce Evans's message of "Thu, 25 Jun 2009 15:39:46 +1000 (EST)") Message-ID: <86hbxx2341.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, Ed Schouten , svn-src-head@FreeBSD.org, Kostik Belousov , David Schultz Subject: Re: svn commit: r194538 - head/sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:44:16 -0000 Bruce Evans writes: > Freestanding reserves fewer symbols for the implementation. IIRC, freestanding implementations are only required to provide and , and everything else is available to the application. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:49:04 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8E37106564A; Tue, 30 Jun 2009 14:49:04 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.freebsd.org (Postfix) with ESMTP id C622D8FC16; Tue, 30 Jun 2009 14:49:04 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.3/8.14.3) with ESMTP id n5UEn4w5042019; Tue, 30 Jun 2009 07:49:04 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.3/8.14.3/Submit) id n5UEn4aB042018; Tue, 30 Jun 2009 07:49:04 -0700 (PDT) (envelope-from sgk) Date: Tue, 30 Jun 2009 07:49:04 -0700 From: Steve Kargl To: bz0fbd@zabbadoz.net Message-ID: <20090630144904.GA41936@troutmask.apl.washington.edu> References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> <20090630051641.T22887@maildrop.int.zabbadoz.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090630051641.T22887@maildrop.int.zabbadoz.net> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, dfr@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, John Baldwin Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:49:05 -0000 On Tue, Jun 30, 2009 at 05:17:48AM +0000, bz0fbd@zabbadoz.net wrote: > On Tue, 30 Jun 2009, John Baldwin wrote: > > >Author: jhb > >Date: Tue Jun 30 03:18:51 2009 > >New Revision: 195181 > >URL: http://svn.freebsd.org/changeset/base/195181 > > > >Log: > > Fix build with NFS_LEGACYRPC enabled after the socket upcall locking > > changes. > > is this really a good idea, considering that NFS_LEGACYRPC is on the > "removal list" for 8.0? Yes. 1) This option definitely worked on April 18th. 2) The option was broken by a commit that was never tested! If anything this should remind committers to either get a code review or test their patch. > > Will it go or will it stay? I thought it was already (partly) gone? > Well, as of June 1, this option was technically gone due to a ill-formed patch. -- Steve From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 14:52:42 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CB48106564A; Tue, 30 Jun 2009 14:52:42 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 0A60C8FC08; Tue, 30 Jun 2009 14:52:41 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UEo1j6017510; Tue, 30 Jun 2009 08:50:02 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 08:50:25 -0600 (MDT) Message-Id: <20090630.085025.143671772.imp@bsdimp.com> To: bz0fbd@zabbadoz.net From: "M. Warner Losh" In-Reply-To: <20090630051641.T22887@maildrop.int.zabbadoz.net> References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> <20090630051641.T22887@maildrop.int.zabbadoz.net> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, dfr@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, jhb@FreeBSD.org Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:52:42 -0000 In message: <20090630051641.T22887@maildrop.int.zabbadoz.net> bz0fbd@zabbadoz.net writes: : On Tue, 30 Jun 2009, John Baldwin wrote: : : > Author: jhb : > Date: Tue Jun 30 03:18:51 2009 : > New Revision: 195181 : > URL: http://svn.freebsd.org/changeset/base/195181 : > : > Log: : > Fix build with NFS_LEGACYRPC enabled after the socket upcall locking : > changes. : : is this really a good idea, considering that NFS_LEGACYRPC is on the : "removal list" for 8.0? : : Will it go or will it stay? I thought it was already (partly) gone? I thought it was still needed for a few embedded platforms... Warner From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:02:27 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BB681065670; Tue, 30 Jun 2009 15:02:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id B359D8FC08; Tue, 30 Jun 2009 15:02:26 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UExUcs017682; Tue, 30 Jun 2009 08:59:30 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 08:59:55 -0600 (MDT) Message-Id: <20090630.085955.63054488.imp@bsdimp.com> To: des@des.no From: "M. Warner Losh" In-Reply-To: <86prcl23k8.fsf@ds4.des.no> References: <20090623015306.GB27380@svm.csie.ntu.edu.tw> <20090623075352.GJ48776@hoeg.nl> <86prcl23k8.fsf@ds4.des.no> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.org, ed@80386.nl, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, rafan@FreeBSD.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:02:27 -0000 In message: <86prcl23k8.fsf@ds4.des.no> Dag-Erling_Sm=F8rgrav writes: : Ed Schouten writes: : > I've noticed the xterm entry we have in FreeBSD is somewhat : > inconsistent with the one from other operating systems. [...] Is : > this a known issue? : = : I don't know about that one, but our xterm entry is intentionally bro= ken : in at least one area: it does not contain the sequences necessary to : restore the previous screen when you exit from less, top etc. Be : prepared for a flame war if you try to fix it; apparently, some peopl= e : believe that their personal preferences are more important than : correctness, not to mention everybody else's preferences. I personally find that behavior to be horrible... But that's what makes it a flame war. Last time this BBQ came up, I thought it was agreed that there would be a xterm-XXX that didn't do this behavior for those folks that think the current behavior is harmfully wrong... : Is there a good reason for not using the (presumably correct and : up-to-date) termcap file that ships with ncurses? About 4-5 years ago I discovered that we had many entries that were more up to date than that file, but there has been an ncurses import since then... Warner From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:04:36 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37B51106564A; Tue, 30 Jun 2009 15:04:36 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id E8CF58FC13; Tue, 30 Jun 2009 15:04:35 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 368246D418; Tue, 30 Jun 2009 17:04:35 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id 15532844A4; Tue, 30 Jun 2009 17:04:35 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Bruce Evans References: <200906232316.n5NNG1iT094289@svn.freebsd.org> <20090625154007.H33864@delplex.bde.org> <4A43B727.7010204@delphij.net> <20090627033608.P35379@delplex.bde.org> Date: Tue, 30 Jun 2009 17:04:34 +0200 In-Reply-To: <20090627033608.P35379@delplex.bde.org> (Bruce Evans's message of "Sat, 27 Jun 2009 04:16:03 +1000 (EST)") Message-ID: <8663ed2265.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.org, Xin LI , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, d@delphij.net Subject: Re: svn commit: r194789 - head/usr.bin/usbhidctl X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:04:36 -0000 Bruce Evans writes: > Actually, it is OK to use it in FreeBSD iff the system supports the > same program having different names, like reboot/halt/etc. I don't see the point - you would still need different usage messages for each version. Using your example: % reboot -h reboot: illegal option -- h usage: reboot [-dlnpq] [-k kernel] % halt -h halt: illegal option -- h usage: halt [-lnpq] [-k kernel] The code that implements this is needlessly complicated: static void usage() { (void)fprintf(stderr, "usage: %s [-%slnpq] [-k kernel]\n", getprogname(), dohalt ? "" : "d"); exit(1); } The following is far more readable: static void usage(void) { (void)fprintf(stderr, dohalt ? "usage: halt [-lnpq] [-k kernel]\n" : "usage: reboot [-dlnpq] [-k kernel]\n"); exit(1); } BTW, there are numerous style issues in sbin/reboot/reboot.c. > This was discussed in FreeBSD mailing lists years ago, and IIRC no one > disagreed with the existing practice of hard-coding the program name. ISTR it was one of my commits that triggered the discussion. It must have been ten years ago, or close to it. Blink of an eye ;) I just realized that we have at least one committer who wasn't born when the FreeBSD project was founded... DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:07:49 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C25F61065670; Tue, 30 Jun 2009 15:07:49 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 7DE038FC08; Tue, 30 Jun 2009 15:07:49 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id C45D26D41E; Tue, 30 Jun 2009 17:07:48 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id A410A844A4; Tue, 30 Jun 2009 17:07:48 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Robert Watson References: <200906260104.n5Q14pRu070043@svn.freebsd.org> Date: Tue, 30 Jun 2009 17:07:48 +0200 In-Reply-To: (Robert Watson's message of "Fri, 26 Jun 2009 09:43:26 +0100 (BST)") Message-ID: <861vp1220r.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Doug Barton , src-committers@freebsd.org Subject: Re: svn commit: r195026 - head/etc/rc.d X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:07:50 -0000 Robert Watson writes: > This sounds right to me, FWIW -- being able to fully configure the > policy before network traffic starts is definitely right in the > abstract, it's just a question of getting there... One option would be to start pf with a pre-cooked rule set that allows only DHCP and nd6 / rtsol or similar, then load the user-provided rule set once all interfaces are up. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:26:02 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23BE21065675; Tue, 30 Jun 2009 15:26:02 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id EC9978FC17; Tue, 30 Jun 2009 15:26:01 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n5UFPxoN073389 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 08:25:59 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <4A4A2E87.3090104@freebsd.org> Date: Tue, 30 Jun 2009 08:25:59 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.21 (X11/20090411) MIME-Version: 1.0 To: "M. Warner Losh" References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> <20090630051641.T22887@maildrop.int.zabbadoz.net> <20090630.085025.143671772.imp@bsdimp.com> In-Reply-To: <20090630.085025.143671772.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-URT-Metrics: ebb.errno.com; whitelist Cc: dfr@freebsd.org, src-committers@freebsd.org, jhb@freebsd.org, svn-src-all@freebsd.org, bz0fbd@zabbadoz.net, svn-src-head@freebsd.org Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:26:02 -0000 M. Warner Losh wrote: > In message: <20090630051641.T22887@maildrop.int.zabbadoz.net> > bz0fbd@zabbadoz.net writes: > : On Tue, 30 Jun 2009, John Baldwin wrote: > : > : > Author: jhb > : > Date: Tue Jun 30 03:18:51 2009 > : > New Revision: 195181 > : > URL: http://svn.freebsd.org/changeset/base/195181 > : > > : > Log: > : > Fix build with NFS_LEGACYRPC enabled after the socket upcall locking > : > changes. > : > : is this really a good idea, considering that NFS_LEGACYRPC is on the > : "removal list" for 8.0? > : > : Will it go or will it stay? I thought it was already (partly) gone? > > I thought it was still needed for a few embedded platforms... > Misaligned access problems that hit arm and mips appear to be fixed. Sam From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:32:28 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06F811065673; Tue, 30 Jun 2009 15:32:28 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id D49E48FC12; Tue, 30 Jun 2009 15:32:27 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 6BB1F46B8F; Tue, 30 Jun 2009 11:32:27 -0400 (EDT) Date: Tue, 30 Jun 2009 16:32:27 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: "M. Warner Losh" In-Reply-To: <20090630.085955.63054488.imp@bsdimp.com> Message-ID: References: <20090623015306.GB27380@svm.csie.ntu.edu.tw> <20090623075352.GJ48776@hoeg.nl> <86prcl23k8.fsf@ds4.des.no> <20090630.085955.63054488.imp@bsdimp.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: ed@80386.nl, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org, des@des.no, rafan@FreeBSD.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:32:28 -0000 On Tue, 30 Jun 2009, M. Warner Losh wrote: > Last time this BBQ came up, I thought it was agreed that there would be a > xterm-XXX that didn't do this behavior for those folks that think the > current behavior is harmfully wrong... Whereas I think it's a bug in more(1)/less(1) that it tries to use those sequences... Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 15:49:28 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 242031065676; Tue, 30 Jun 2009 15:49:28 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 3B1F48FC12; Tue, 30 Jun 2009 15:49:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UFk7vN018313; Tue, 30 Jun 2009 09:46:07 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 09:46:32 -0600 (MDT) Message-Id: <20090630.094632.195416436.imp@bsdimp.com> To: rwatson@FreeBSD.org From: "M. Warner Losh" In-Reply-To: References: <86prcl23k8.fsf@ds4.des.no> <20090630.085955.63054488.imp@bsdimp.com> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: ed@80386.nl, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org, des@des.no, rafan@FreeBSD.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 15:49:28 -0000 In message: Robert Watson writes: : On Tue, 30 Jun 2009, M. Warner Losh wrote: : : > Last time this BBQ came up, I thought it was agreed that there would be a : > xterm-XXX that didn't do this behavior for those folks that think the : > current behavior is harmfully wrong... : : Whereas I think it's a bug in more(1)/less(1) that it tries to use those : sequences... Agreed. vi too. I'll note that on Mac OS, in the xterm, you don't see this with either... But I don't know how to undo tic(1) formatting to get back to the raw xterm entries... Warner From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 16:13:28 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDEA0106564A; Tue, 30 Jun 2009 16:13:28 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 905C38FC17; Tue, 30 Jun 2009 16:13:28 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from [IPv6:2001:7b8:3a7:0:6999:cc7c:eac7:a2e2] (unknown [IPv6:2001:7b8:3a7:0:6999:cc7c:eac7:a2e2]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 8A7065C42; Tue, 30 Jun 2009 18:13:27 +0200 (CEST) Message-ID: <4A4A39A5.3080409@andric.com> Date: Tue, 30 Jun 2009 18:13:25 +0200 From: Dimitry Andric User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1pre) Gecko/20090627 Shredder/3.0b3pre MIME-Version: 1.0 To: =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= References: <200906260104.n5Q14pRu070043@svn.freebsd.org> <861vp1220r.fsf@ds4.des.no> In-Reply-To: <861vp1220r.fsf@ds4.des.no> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Doug Barton , Robert Watson , src-committers@freebsd.org Subject: Re: svn commit: r195026 - head/etc/rc.d X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 16:13:29 -0000 On 2009-06-30 17:07, Dag-Erling Sm=C3=B8rgrav wrote: > One option would be to start pf with a pre-cooked rule set that allows > only DHCP and nd6 / rtsol or similar, then load the user-provided rule > set once all interfaces are up. Please see also the suggestion here: http://docs.freebsd.org/cgi/mid.cgi?4A44B7DE.2090503 From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 18:51:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51DCE1065670; Tue, 30 Jun 2009 18:51:23 +0000 (UTC) (envelope-from mbr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F4868FC12; Tue, 30 Jun 2009 18:51:23 +0000 (UTC) (envelope-from mbr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UIpNne089176; Tue, 30 Jun 2009 18:51:23 GMT (envelope-from mbr@svn.freebsd.org) Received: (from mbr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UIpNJQ089171; Tue, 30 Jun 2009 18:51:23 GMT (envelope-from mbr@svn.freebsd.org) Message-Id: <200906301851.n5UIpNJQ089171@svn.freebsd.org> From: Martin Blapp Date: Tue, 30 Jun 2009 18:51:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 18:51:23 -0000 Author: mbr Date: Tue Jun 30 18:51:22 2009 New Revision: 195200 URL: http://svn.freebsd.org/changeset/base/195200 Log: Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet network Submitted by: Marc Balmer Reviewed by: rwatson Approved by: re M usr.sbin/Makefile A usr.sbin/wake AM usr.sbin/wake/wake.c AM usr.sbin/wake/Makefile AM usr.sbin/wake/wake.8 Added: head/usr.sbin/wake/ head/usr.sbin/wake/Makefile (contents, props changed) head/usr.sbin/wake/wake.8 (contents, props changed) head/usr.sbin/wake/wake.c (contents, props changed) Modified: head/usr.sbin/Makefile Modified: head/usr.sbin/Makefile ============================================================================== --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ ${_usbconfig} \ ${_vidcontrol} \ vipw \ + wake \ watch \ watchdogd \ ${_wlandebug} \ Added: head/usr.sbin/wake/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 (r195200) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +PROG= wake +MAN= wake.8 + +WARNS?= 2 + +.include Added: head/usr.sbin/wake/wake.8 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) @@ -0,0 +1,61 @@ +.\" +.\" $FreeBSD$ +.\" +.\" Copyright (c) 2009 Marc Balmer +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd June 27 2009 +.Dt WAKE 8 +.Os +.Sh NAME +.Nm wake +.Nd send Wake on LAN frames to hosts on a local Ethernet network +.Sh SYNOPSIS +.Nm +.Ar interface +.Op Ar lladdr ... +.Sh DESCRIPTION +The +.Nm +program is used to send Wake on LAN (WoL) frames over a local +Ethernet network to one or more hosts using their link layer (hardware) +addresses. +WoL functionality is generally enabled in a machine's BIOS +and can be used to power on machines from a remote system without +having physical access to them. +.Pp +.Ar interface +is the network interface of the local machine. +.Ar lladdr +are the link layer addresses of the remote machines +and can be specified as the actual hardware address +(six hexadecimal numbers separated by colons) +or a hostname entry in +.Pa /etc/ethers . +Link layer addresses can be determined and set on +.Fx +machines using +.Xr ifconfig 8 . +.Sh FILES +.Bl -tag -width "/etc/ethers" -compact +.It /etc/ethers +Ethernet host name database. +.El +.Sh SEE ALSO +.Xr ethers 5 , +.Xr ifconfig 8 +.Sh AUTHORS +.Nm +was written by +.Ar Marc Balmer Aq marc@msys.ch . Added: head/usr.sbin/wake/wake.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Author's name may not be used endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _PATH_BPF "/dev/bpf" + +#ifndef SYNC_LEN +#define SYNC_LEN 6 +#endif + +#ifndef DESTADDR_COUNT +#define DESTADDR_COUNT 16 +#endif + +void usage(void); + +int wake(const char *iface, const char *host); +int bind_if_to_bpf(char const *ifname, int bpf); +int get_ether(char const *text, struct ether_addr *addr); +int send_wakeup(int bpf, struct ether_addr const *addr); + +void +usage(void) +{ + (void)fprintf(stderr, "usage: wake interface lladdr\n"); + exit(0); +} + +int +wake(const char *iface, const char *host) +{ + int res, bpf; + struct ether_addr macaddr; + + bpf = open(_PATH_BPF, O_RDWR); + if (bpf == -1) { + printf("no bpf\n"); + return -1; + } + if (bind_if_to_bpf(iface, bpf) == -1 || + get_ether(host, &macaddr) == -1) { + (void)close(bpf); + return -1; + } + res = send_wakeup(bpf, &macaddr); + (void)close(bpf); + return res; +} + +int +bind_if_to_bpf(char const *ifname, int bpf) +{ + struct ifreq ifr; + u_int dlt; + + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= + sizeof(ifr.ifr_name)) + return -1; + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) + return -1; + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) + return -1; + if (dlt != DLT_EN10MB) + return -1; + return 0; +} + +int +get_ether(char const *text, struct ether_addr *addr) +{ + struct ether_addr *paddr; + + paddr = ether_aton(text); + if (paddr != NULL) { + *addr = *paddr; + return 0; + } + if (ether_hostton(text, addr)) + return -1; + return 0; +} + +int +send_wakeup(int bpf, struct ether_addr const *addr) +{ + struct { + struct ether_header hdr; + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; + } pkt; + u_char *p; + int i; + ssize_t bw; + ssize_t len; + + (void)memset(pkt.hdr.ether_dhost, 0xff, sizeof(pkt.hdr.ether_dhost)); + pkt.hdr.ether_type = htons(0); + (void)memset(pkt.data, 0xff, SYNC_LEN); + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; + p += ETHER_ADDR_LEN, i++) + bcopy(addr->octet, p, ETHER_ADDR_LEN); + p = (u_char *)&pkt; + len = sizeof(pkt); + bw = 0; + while (len) { + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) + return -1; + len -= bw; + p += bw; + } + return 0; +} + +int +main(int argc, char *argv[]) +{ + int n; + + if (argc < 3) + usage(); + + for (n = 2; n < argc; n++) + if (wake(argv[1], argv[n])) + warnx("error sending Wake on LAN frame over %s to %s", + argv[1], argv[n]); + return 0; +} From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:03:28 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F1301065670; Tue, 30 Jun 2009 19:03:28 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EF8D58FC14; Tue, 30 Jun 2009 19:03:27 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJ3RQK089540; Tue, 30 Jun 2009 19:03:27 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJ3RrE089516; Tue, 30 Jun 2009 19:03:27 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200906301903.n5UJ3RrE089516@svn.freebsd.org> From: Doug Rabson Date: Tue, 30 Jun 2009 19:03:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195202 - in head/sys: conf i386/i386 modules/nfsclient modules/nfsserver nfs nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:03:28 -0000 Author: dfr Date: Tue Jun 30 19:03:27 2009 New Revision: 195202 URL: http://svn.freebsd.org/changeset/base/195202 Log: Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. Approved by: re Deleted: head/sys/nfs/rpcv2.h head/sys/nfsclient/nfs_socket.c head/sys/nfsserver/nfs_srvcache.c head/sys/nfsserver/nfs_srvsock.c head/sys/nfsserver/nfs_syscalls.c Modified: head/sys/conf/files head/sys/conf/options head/sys/i386/i386/genassym.c head/sys/modules/nfsclient/Makefile head/sys/modules/nfsserver/Makefile head/sys/nfs/nfs_common.c head/sys/nfsclient/bootp_subr.c head/sys/nfsclient/krpc_subr.c head/sys/nfsclient/nfs.h head/sys/nfsclient/nfs_bio.c head/sys/nfsclient/nfs_diskless.c head/sys/nfsclient/nfs_krpc.c head/sys/nfsclient/nfs_lock.c head/sys/nfsclient/nfs_nfsiod.c head/sys/nfsclient/nfs_node.c head/sys/nfsclient/nfs_subs.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsclient/nfs_vnops.c head/sys/nfsclient/nfsm_subs.h head/sys/nfsclient/nfsmount.h head/sys/nfsserver/nfs.h head/sys/nfsserver/nfs_fha.c head/sys/nfsserver/nfs_serv.c head/sys/nfsserver/nfs_srvkrpc.c head/sys/nfsserver/nfs_srvsubs.c head/sys/nfsserver/nfsrvcache.h Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/conf/files Tue Jun 30 19:03:27 2009 (r195202) @@ -2490,7 +2490,6 @@ nfsclient/krpc_subr.c optional bootp nf nfsclient/nfs_bio.c optional nfsclient nfsclient/nfs_diskless.c optional nfsclient nfs_root nfsclient/nfs_node.c optional nfsclient -nfsclient/nfs_socket.c optional nfsclient nfsclient/nfs_krpc.c optional nfsclient nfsclient/nfs_subs.c optional nfsclient nfsclient/nfs_nfsiod.c optional nfsclient @@ -2500,10 +2499,7 @@ nfsclient/nfs_lock.c optional nfsclient nfsserver/nfs_fha.c optional nfsserver nfsserver/nfs_serv.c optional nfsserver nfsserver/nfs_srvkrpc.c optional nfsserver -nfsserver/nfs_srvsock.c optional nfsserver -nfsserver/nfs_srvcache.c optional nfsserver nfsserver/nfs_srvsubs.c optional nfsserver -nfsserver/nfs_syscalls.c optional nfsserver nfs/nfs_nfssvc.c optional nfsserver | nfscl | nfsd nlm/nlm_advlock.c optional nfslockd nfsclient | nfsd nfsclient nlm/nlm_prot_clnt.c optional nfslockd | nfsd Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/conf/options Tue Jun 30 19:03:27 2009 (r195202) @@ -228,11 +228,6 @@ KGSSAPI_DEBUG opt_kgssapi.h NFSCLIENT opt_nfs.h NFSSERVER opt_nfs.h -# Use this option to compile both NFS client and server using the -# legacy RPC implementation instead of the newer KRPC system (which -# supports modern features such as RPCSEC_GSS -NFS_LEGACYRPC opt_nfs.h - # Use these options to compile the experimental nfs client and/or # server that supports NFSv4 into a kernel. # NFSCL - client Modified: head/sys/i386/i386/genassym.c ============================================================================== --- head/sys/i386/i386/genassym.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/i386/i386/genassym.c Tue Jun 30 19:03:27 2009 (r195202) @@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #ifdef DEV_APIC Modified: head/sys/modules/nfsclient/Makefile ============================================================================== --- head/sys/modules/nfsclient/Makefile Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/modules/nfsclient/Makefile Tue Jun 30 19:03:27 2009 (r195202) @@ -4,7 +4,7 @@ KMOD= nfsclient SRCS= vnode_if.h \ - nfs_bio.c nfs_lock.c nfs_node.c nfs_socket.c nfs_subs.c nfs_nfsiod.c \ + nfs_bio.c nfs_lock.c nfs_node.c nfs_subs.c nfs_nfsiod.c \ nfs_vfsops.c nfs_vnops.c nfs_common.c nfs_krpc.c \ opt_inet.h opt_nfs.h opt_bootp.h opt_nfsroot.h SRCS+= opt_inet6.h opt_kdtrace.h opt_kgssapi.h Modified: head/sys/modules/nfsserver/Makefile ============================================================================== --- head/sys/modules/nfsserver/Makefile Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/modules/nfsserver/Makefile Tue Jun 30 19:03:27 2009 (r195202) @@ -3,8 +3,8 @@ .PATH: ${.CURDIR}/../../nfsserver ${.CURDIR}/../../nfs KMOD= nfsserver SRCS= vnode_if.h \ - nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsock.c nfs_srvcache.c \ - nfs_srvsubs.c nfs_syscalls.c nfs_common.c \ + nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsubs.c nfs_common.c \ + opt_mac.h \ opt_kgssapi.h \ opt_nfs.h SRCS+= opt_inet6.h Modified: head/sys/nfs/nfs_common.c ============================================================================== --- head/sys/nfs/nfs_common.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfs/nfs_common.c Tue Jun 30 19:03:27 2009 (r195202) @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: head/sys/nfsclient/bootp_subr.c ============================================================================== --- head/sys/nfsclient/bootp_subr.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/bootp_subr.c Tue Jun 30 19:03:27 2009 (r195202) @@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include @@ -1776,6 +1775,13 @@ md_mount(struct sockaddr_in *mdsin, char int authcount; int authver; +#define RPCPROG_MNT 100005 +#define RPCMNT_VER1 1 +#define RPCMNT_VER3 3 +#define RPCMNT_MOUNT 1 +#define AUTH_SYS 1 /* unix style (uid, gids) */ +#define AUTH_UNIX AUTH_SYS + /* XXX honor v2/v3 flags in args->flags? */ #ifdef BOOTP_NFSV3 /* First try NFS v3 */ @@ -1836,7 +1842,7 @@ md_mount(struct sockaddr_in *mdsin, char while (authcount > 0) { if (xdr_int_decode(&m, &authver) != 0) goto bad; - if (authver == RPCAUTH_UNIX) + if (authver == AUTH_UNIX) authunixok = 1; authcount--; } Modified: head/sys/nfsclient/krpc_subr.c ============================================================================== --- head/sys/nfsclient/krpc_subr.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/krpc_subr.c Tue Jun 30 19:03:27 2009 (r195202) @@ -57,7 +57,9 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include +#include +#include #include #include @@ -284,7 +286,7 @@ krpc_call(struct sockaddr_in *sa, u_int call->rp_vers = txdr_unsigned(vers); call->rp_proc = txdr_unsigned(func); /* rpc_auth part (auth_unix as root) */ - call->rpc_auth.authtype = txdr_unsigned(RPCAUTH_UNIX); + call->rpc_auth.authtype = txdr_unsigned(AUTH_UNIX); call->rpc_auth.authlen = txdr_unsigned(sizeof(struct auth_unix)); /* rpc_verf part (auth_null) */ call->rpc_verf.authtype = 0; @@ -359,7 +361,7 @@ krpc_call(struct sockaddr_in *sa, u_int reply = mtod(m, struct krpc_reply *); /* Is it the right reply? */ - if (reply->rp_direction != txdr_unsigned(RPC_REPLY)) + if (reply->rp_direction != txdr_unsigned(REPLY)) continue; if (reply->rp_xid != txdr_unsigned(xid)) @@ -375,7 +377,7 @@ krpc_call(struct sockaddr_in *sa, u_int /* Did the call succeed? */ if (reply->rp_status != 0) { error = fxdr_unsigned(u_int32_t, reply->rp_status); - if (error == RPC_PROGMISMATCH) { + if (error == PROG_MISMATCH) { error = EBADRPC; goto out; } Modified: head/sys/nfsclient/nfs.h ============================================================================== --- head/sys/nfsclient/nfs.h Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs.h Tue Jun 30 19:03:27 2009 (r195202) @@ -123,9 +123,6 @@ MALLOC_DECLARE(M_NFSDIRECTIO); extern struct uma_zone *nfsmount_zone; -#ifdef NFS_LEGACYRPC -extern struct callout nfs_callout; -#endif extern struct nfsstats nfsstats; extern struct mtx nfs_iod_mtx; @@ -150,49 +147,6 @@ extern int nfsv3_procid[NFS_NPROCS]; (e) != ERESTART && (e) != EWOULDBLOCK && \ ((s) & PR_CONNREQUIRED) == 0) -#ifdef NFS_LEGACYRPC - -/* - * Nfs outstanding request list element - */ -struct nfsreq { - TAILQ_ENTRY(nfsreq) r_chain; - struct mbuf *r_mreq; - struct mbuf *r_mrep; - struct mbuf *r_md; - caddr_t r_dpos; - struct nfsmount *r_nmp; - struct vnode *r_vp; - u_int32_t r_xid; - int r_flags; /* flags on request, see below */ - int r_retry; /* max retransmission count */ - int r_rexmit; /* current retrans count */ - int r_timer; /* tick counter on reply */ - u_int32_t r_procnum; /* NFS procedure number */ - int r_rtt; /* RTT for rpc */ - int r_lastmsg; /* last tprintf */ - struct thread *r_td; /* Proc that did I/O system call */ - struct mtx r_mtx; /* Protects nfsreq fields */ -}; - -/* - * Queue head for nfsreq's - */ -extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq; - -/* Flag values for r_flags */ -#define R_TIMING 0x01 /* timing request (in mntp) */ -#define R_SENT 0x02 /* request has been sent */ -#define R_SOFTTERM 0x04 /* soft mnt, too many retries */ -#define R_RESENDERR 0x08 /* Resend failed */ -#define R_SOCKERR 0x10 /* Fatal error on socket */ -#define R_TPRINTFMSG 0x20 /* Did a tprintf msg. */ -#define R_MUSTRESEND 0x40 /* Must resend request */ -#define R_GETONEREP 0x80 /* Probe for one reply only */ -#define R_PIN_REQ 0x100 /* Pin request down (rexmit in prog or other) */ - -#else - /* * This is only needed to keep things working while we support * compiling for both RPC implementations. @@ -200,8 +154,6 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_ struct nfsreq; struct nfsmount; -#endif - struct buf; struct socket; struct uio; @@ -297,19 +249,6 @@ vfs_init_t nfs_init; vfs_uninit_t nfs_uninit; int nfs_mountroot(struct mount *mp); -#ifdef NFS_LEGACYRPC -#ifndef NFS4_USE_RPCCLNT -int nfs_send(struct socket *, struct sockaddr *, struct mbuf *, - struct nfsreq *); -int nfs_connect_lock(struct nfsreq *); -void nfs_connect_unlock(struct nfsreq *); -void nfs_up(struct nfsreq *, struct nfsmount *, struct thread *, - const char *, int); -void nfs_down(struct nfsreq *, struct nfsmount *, struct thread *, - const char *, int, int); -#endif /* ! NFS4_USE_RPCCLNT */ -#endif - void nfs_purgecache(struct vnode *); int nfs_vinvalbuf(struct vnode *, int, struct thread *, int); int nfs_readrpc(struct vnode *, struct uio *, struct ucred *); Modified: head/sys/nfsclient/nfs_bio.c ============================================================================== --- head/sys/nfsclient/nfs_bio.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_bio.c Tue Jun 30 19:03:27 2009 (r195202) @@ -57,7 +57,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: head/sys/nfsclient/nfs_diskless.c ============================================================================== --- head/sys/nfsclient/nfs_diskless.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_diskless.c Tue Jun 30 19:03:27 2009 (r195202) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: head/sys/nfsclient/nfs_krpc.c ============================================================================== --- head/sys/nfsclient/nfs_krpc.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_krpc.c Tue Jun 30 19:03:27 2009 (r195202) @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include @@ -69,8 +68,6 @@ __FBSDID("$FreeBSD$"); #include #include -#ifndef NFS_LEGACYRPC - #ifdef KDTRACE_HOOKS #include @@ -899,5 +896,3 @@ nfs_up(struct nfsmount *nmp, struct thre } else mtx_unlock(&nmp->nm_mtx); } - -#endif /* !NFS_LEGACYRPC */ Modified: head/sys/nfsclient/nfs_lock.c ============================================================================== --- head/sys/nfsclient/nfs_lock.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_lock.c Tue Jun 30 19:03:27 2009 (r195202) @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include Modified: head/sys/nfsclient/nfs_nfsiod.c ============================================================================== --- head/sys/nfsclient/nfs_nfsiod.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_nfsiod.c Tue Jun 30 19:03:27 2009 (r195202) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include Modified: head/sys/nfsclient/nfs_node.c ============================================================================== --- head/sys/nfsclient/nfs_node.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_node.c Tue Jun 30 19:03:27 2009 (r195202) @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include Modified: head/sys/nfsclient/nfs_subs.c ============================================================================== --- head/sys/nfsclient/nfs_subs.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_subs.c Tue Jun 30 19:03:27 2009 (r195202) @@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include @@ -105,8 +104,6 @@ uint32_t nfsclient_attrcache_load_done_i * This is kinda hokey, but may save a little time doing byte swaps */ u_int32_t nfs_xdrneg1; -u_int32_t rpc_call, rpc_vers, rpc_reply, rpc_msgdenied, rpc_autherr, - rpc_mismatch, rpc_auth_unix, rpc_msgaccepted; u_int32_t nfs_true, nfs_false; /* And other global data */ @@ -118,10 +115,6 @@ static enum vtype nv2tov_type[8]= { int nfs_ticks; int nfs_pbuf_freecnt = -1; /* start out unlimited */ -#ifdef NFS_LEGACYRPC -struct nfs_reqq nfs_reqq; -struct mtx nfs_reqq_mtx; -#endif struct nfs_bufq nfs_bufq; static struct mtx nfs_xid_mtx; @@ -194,87 +187,6 @@ nfsm_reqhead(struct vnode *vp, u_long pr } /* - * Build the RPC header and fill in the authorization info. - * The authorization string argument is only used when the credentials - * come from outside of the kernel. - * Returns the head of the mbuf list. - */ -struct mbuf * -nfsm_rpchead(struct ucred *cr, int nmflag, int procid, int auth_type, - int auth_len, struct mbuf *mrest, int mrest_len, struct mbuf **mbp, - u_int32_t **xidpp) -{ - struct mbuf *mb; - u_int32_t *tl; - caddr_t bpos; - int i; - struct mbuf *mreq; - int grpsiz, authsiz; - - authsiz = nfsm_rndup(auth_len); - MGETHDR(mb, M_WAIT, MT_DATA); - if ((authsiz + 10 * NFSX_UNSIGNED) >= MINCLSIZE) { - MCLGET(mb, M_WAIT); - } else if ((authsiz + 10 * NFSX_UNSIGNED) < MHLEN) { - MH_ALIGN(mb, authsiz + 10 * NFSX_UNSIGNED); - } else { - MH_ALIGN(mb, 8 * NFSX_UNSIGNED); - } - mb->m_len = 0; - mreq = mb; - bpos = mtod(mb, caddr_t); - - /* - * First the RPC header. - */ - tl = nfsm_build(u_int32_t *, 8 * NFSX_UNSIGNED); - - *xidpp = tl; - *tl++ = txdr_unsigned(nfs_xid_gen()); - *tl++ = rpc_call; - *tl++ = rpc_vers; - *tl++ = txdr_unsigned(NFS_PROG); - if (nmflag & NFSMNT_NFSV3) { - *tl++ = txdr_unsigned(NFS_VER3); - *tl++ = txdr_unsigned(procid); - } else { - *tl++ = txdr_unsigned(NFS_VER2); - *tl++ = txdr_unsigned(nfsv2_procid[procid]); - } - - /* - * And then the authorization cred. - */ - *tl++ = txdr_unsigned(auth_type); - *tl = txdr_unsigned(authsiz); - switch (auth_type) { - case RPCAUTH_UNIX: - tl = nfsm_build(u_int32_t *, auth_len); - *tl++ = 0; /* stamp ?? */ - *tl++ = 0; /* NULL hostname */ - *tl++ = txdr_unsigned(cr->cr_uid); - *tl++ = txdr_unsigned(cr->cr_groups[0]); - grpsiz = (auth_len >> 2) - 5; - *tl++ = txdr_unsigned(grpsiz); - for (i = 1; i <= grpsiz; i++) - *tl++ = txdr_unsigned(cr->cr_groups[i]); - break; - } - - /* - * And the verifier... - */ - tl = nfsm_build(u_int32_t *, 2 * NFSX_UNSIGNED); - *tl++ = txdr_unsigned(RPCAUTH_NULL); - *tl = 0; - mb->m_next = mrest; - mreq->m_pkthdr.len = authsiz + 10 * NFSX_UNSIGNED + mrest_len; - mreq->m_pkthdr.rcvif = NULL; - *mbp = mb; - return (mreq); -} - -/* * copies a uio scatter/gather list to an mbuf chain. * NOTE: can ony handle iovcnt == 1 */ @@ -427,14 +339,6 @@ nfs_init(struct vfsconf *vfsp) nfsmount_zone = uma_zcreate("NFSMOUNT", sizeof(struct nfsmount), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); - rpc_vers = txdr_unsigned(RPC_VER2); - rpc_call = txdr_unsigned(RPC_CALL); - rpc_reply = txdr_unsigned(RPC_REPLY); - rpc_msgdenied = txdr_unsigned(RPC_MSGDENIED); - rpc_msgaccepted = txdr_unsigned(RPC_MSGACCEPTED); - rpc_mismatch = txdr_unsigned(RPC_MISMATCH); - rpc_autherr = txdr_unsigned(RPC_AUTHERR); - rpc_auth_unix = txdr_unsigned(RPCAUTH_UNIX); nfs_true = txdr_unsigned(TRUE); nfs_false = txdr_unsigned(FALSE); nfs_xdrneg1 = txdr_unsigned(-1); @@ -451,11 +355,6 @@ nfs_init(struct vfsconf *vfsp) /* * Initialize reply list and start timer */ -#ifdef NFS_LEGACYRPC - TAILQ_INIT(&nfs_reqq); - mtx_init(&nfs_reqq_mtx, "NFS reqq lock", NULL, MTX_DEF); - callout_init(&nfs_callout, CALLOUT_MPSAFE); -#endif mtx_init(&nfs_iod_mtx, "NFS iod lock", NULL, MTX_DEF); mtx_init(&nfs_xid_mtx, "NFS xid lock", NULL, MTX_DEF); @@ -469,13 +368,6 @@ nfs_uninit(struct vfsconf *vfsp) { int i; -#ifdef NFS_LEGACYRPC - callout_stop(&nfs_callout); - - KASSERT(TAILQ_EMPTY(&nfs_reqq), - ("nfs_uninit: request queue not empty")); -#endif - /* * Tell all nfsiod processes to exit. Clear nfs_iodmax, and wakeup * any sleeping nfsiods so they check nfs_iodmax and exit. Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_vfsops.c Tue Jun 30 19:03:27 2009 (r195202) @@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include @@ -142,9 +141,7 @@ VFS_SET(nfs_vfsops, nfs, VFCF_NETWORK); /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_VERSION(nfs, 1); -#ifndef NFS_LEGACYRPC MODULE_DEPEND(nfs, krpc, 1, 1, 1); -#endif #ifdef KGSSAPI MODULE_DEPEND(nfs, kgssapi, 1, 1, 1); #endif @@ -551,7 +548,6 @@ nfs_mountdiskless(char *path, return (0); } -#ifndef NFS_LEGACYRPC static int nfs_sec_name_to_num(char *sec) { @@ -569,7 +565,6 @@ nfs_sec_name_to_num(char *sec) */ return (AUTH_SYS); } -#endif static void nfs_decode_args(struct mount *mp, struct nfsmount *nmp, struct nfs_args *argp, @@ -579,10 +574,8 @@ nfs_decode_args(struct mount *mp, struct int adjsock; int maxio; char *p; -#ifndef NFS_LEGACYRPC char *secname; char *principal; -#endif s = splnet(); @@ -734,13 +727,7 @@ nfs_decode_args(struct mount *mp, struct nmp->nm_sotype = argp->sotype; nmp->nm_soproto = argp->proto; - if ( -#ifdef NFS_LEGACYRPC - nmp->nm_so -#else - nmp->nm_client -#endif - && adjsock) { + if (nmp->nm_client && adjsock) { nfs_safedisconnect(nmp); if (nmp->nm_sotype == SOCK_DGRAM) while (nfs_connect(nmp, NULL)) { @@ -757,7 +744,6 @@ nfs_decode_args(struct mount *mp, struct *p = '\0'; } -#ifndef NFS_LEGACYRPC if (vfs_getopt(mp->mnt_optnew, "sec", (void **) &secname, NULL) == 0) { nmp->nm_secflavor = nfs_sec_name_to_num(secname); @@ -773,7 +759,6 @@ nfs_decode_args(struct mount *mp, struct snprintf(nmp->nm_principal, sizeof(nmp->nm_principal), "nfs@%s", nmp->nm_hostname); } -#endif } static const char *nfs_opts[] = { "from", "nfs_args", Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfs_vnops.c Tue Jun 30 19:03:27 2009 (r195202) @@ -70,7 +70,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include @@ -3193,7 +3192,7 @@ loop: &np->n_mtx, slpflag | (PRIBIO + 1), "nfsfsync", 0); if (error) { - if (nfs_sigintr(nmp, (struct nfsreq *)0, td)) { + if (nfs_sigintr(nmp, NULL, td)) { mtx_unlock(&np->n_mtx); error = EINTR; goto done; Modified: head/sys/nfsclient/nfsm_subs.h ============================================================================== --- head/sys/nfsclient/nfsm_subs.h Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfsm_subs.h Tue Jun 30 19:03:27 2009 (r195202) @@ -54,10 +54,6 @@ struct vnode; */ u_int32_t nfs_xid_gen(void); struct mbuf *nfsm_reqhead(struct vnode *vp, u_long procid, int hsiz); -struct mbuf *nfsm_rpchead(struct ucred *cr, int nmflag, int procid, - int auth_type, int auth_len, - struct mbuf *mrest, int mrest_len, - struct mbuf **mbp, u_int32_t **xidpp); #define M_HASCL(m) ((m)->m_flags & M_EXT) #define NFSMINOFF(m) \ Modified: head/sys/nfsclient/nfsmount.h ============================================================================== --- head/sys/nfsclient/nfsmount.h Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsclient/nfsmount.h Tue Jun 30 19:03:27 2009 (r195202) @@ -36,36 +36,11 @@ #ifndef _NFSCLIENT_NFSMOUNT_H_ #define _NFSCLIENT_NFSMOUNT_H_ -#ifndef NFS_LEGACYRPC - -#undef RPC_SUCCESS -#undef RPC_PROGUNAVAIL -#undef RPC_PROCUNAVAIL -#undef AUTH_OK -#undef AUTH_BADCRED -#undef AUTH_BADVERF -#undef AUTH_TOOWEAK - #include #include #include #include -#endif - -#ifdef NFS_LEGACYRPC - -struct nfs_tcp_mountstate { - int rpcresid; -#define NFS_TCP_EXPECT_RPCMARKER 0x0001 /* Expect to see a RPC/TCP marker next */ -#define NFS_TCP_FORCE_RECONNECT 0x0002 /* Force a TCP reconnect */ -#define NFS_TCP_WAIT_WRITE_DRAIN 0x0004 /* Waiting for socket writers to finish */ - int flags; - int sock_send_inprog; -}; - -#endif - /* * Mount structure. * One allocated on every NFS mount. @@ -79,22 +54,12 @@ struct nfsmount { int nm_numgrps; /* Max. size of groupslist */ u_char nm_fh[NFSX_V4FH]; /* File handle of root dir */ int nm_fhsize; /* Size of root file handle */ -#ifdef NFS_LEGACYRPC - struct socket *nm_so; /* Rpc socket */ -#endif int nm_sotype; /* Type of socket */ int nm_soproto; /* and protocol */ int nm_soflags; /* pr_flags for socket protocol */ struct sockaddr *nm_nam; /* Addr of server */ int nm_timeo; /* Init timer for NFSMNT_DUMBTIMR */ int nm_retry; /* Max retries */ -#ifdef NFS_LEGACYRPC - int nm_srtt[NFS_MAX_TIMER], /* RTT Timers for rpcs */ - nm_sdrtt[NFS_MAX_TIMER]; - int nm_sent; /* Request send count */ - int nm_cwnd; /* Request send window */ - int nm_timeouts; /* Request timeouts */ -#endif int nm_deadthresh; /* Threshold of timeouts-->dead server*/ int nm_rsize; /* Max size of read rpc */ int nm_wsize; /* Max size of write rpc */ @@ -114,17 +79,12 @@ struct nfsmount { struct nfs_rpcops *nm_rpcops; int nm_tprintf_initial_delay; /* initial delay */ int nm_tprintf_delay; /* interval for messages */ -#ifdef NFS_LEGACYRPC - struct nfs_tcp_mountstate nm_nfstcpstate; -#endif char nm_hostname[MNAMELEN]; /* server's name */ -#ifndef NFS_LEGACYRPC int nm_secflavor; /* auth flavor to use for rpc */ struct __rpc_client *nm_client; struct rpc_timers nm_timers[NFS_MAX_TIMER]; /* RTT Timers for rpcs */ char nm_principal[MNAMELEN]; /* GSS-API principal of server */ gss_OID nm_mech_oid; /* OID of selected GSS-API mechanism */ -#endif /* NFSv4 */ uint64_t nm_clientid; Modified: head/sys/nfsserver/nfs.h ============================================================================== --- head/sys/nfsserver/nfs.h Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsserver/nfs.h Tue Jun 30 19:03:27 2009 (r195202) @@ -176,82 +176,10 @@ extern int32_t (*nfsrv3_procs[NFS_NPROCS #define NWDELAYHASH(sock, f) \ (&(sock)->ns_wdelayhashtbl[(*((u_int32_t *)(f))) % NFS_WDELAYHASHSIZ]) -#ifdef NFS_LEGACYRPC -/* - * Network address hash list element - */ -union nethostaddr { - u_int32_t had_inetaddr; - struct sockaddr *had_nam; -}; - -struct nfsrv_rec { - STAILQ_ENTRY(nfsrv_rec) nr_link; - struct sockaddr *nr_address; - struct mbuf *nr_packet; -}; - -struct nfssvc_sock { - TAILQ_ENTRY(nfssvc_sock) ns_chain; /* List of all nfssvc_sock's */ - struct file *ns_fp; - struct socket *ns_so; - struct sockaddr *ns_nam; - struct mbuf *ns_raw; - struct mbuf *ns_rawend; - STAILQ_HEAD(, nfsrv_rec) ns_rec; - struct mbuf *ns_frag; - int ns_flag; - int ns_solock; - int ns_cc; - int ns_reclen; - u_int32_t ns_sref; - LIST_HEAD(, nfsrv_descript) ns_tq; /* Write gather lists */ - LIST_HEAD(nfsrvw_delayhash, nfsrv_descript) ns_wdelayhashtbl[NFS_WDELAYHASHSIZ]; -}; - -/* Bits for "ns_flag" */ -#define SLP_VALID 0x01 /* Socket valid for use (XXX) */ -#define SLP_DOREC 0x02 /* Socket ready for processing */ -#define SLP_NEEDQ 0x04 /* Socket has request queued */ -#define SLP_DISCONN 0x08 /* Error received from stream socket */ -#define SLP_GETSTREAM 0x10 /* nfsrv_getstream in prog on sock */ -#define SLP_LASTFRAG 0x20 /* Socket received end-of-record */ -#define SLP_ALLFLAGS 0xff - -extern TAILQ_HEAD(nfssvc_sockhead, nfssvc_sock) nfssvc_sockhead; -extern int nfssvc_sockhead_flag; -#define SLP_INIT 0x01 -#define SLP_WANTINIT 0x02 - -/* - * One of these structures is allocated for each nfsd. - */ -struct nfsd { - TAILQ_ENTRY(nfsd) nfsd_chain; /* List of all nfsd's */ - int nfsd_flag; /* NFSD_ flags */ - struct nfssvc_sock *nfsd_slp; /* Current socket */ - int nfsd_authlen; /* Authenticator len */ - u_char nfsd_authstr[RPCAUTH_MAXSIZ]; /* Authenticator data */ - int nfsd_verflen; /* and the Verifier */ - u_char nfsd_verfstr[RPCVERF_MAXSIZ]; - struct nfsrv_descript *nfsd_nd; /* Associated nfsrv_descript */ -}; - -/* Bits for "nfsd_flag" */ -#define NFSD_WAITING 0x01 -#define NFSD_REQINPROG 0x02 - /* * This structure is used by the server for describing each request. - * Some fields are used only when write request gathering is performed. */ struct nfsrv_descript { - u_quad_t nd_time; /* Write deadline (usec) */ - off_t nd_off; /* Start byte offset */ - off_t nd_eoff; /* and end byte offset */ - LIST_ENTRY(nfsrv_descript) nd_hash; /* Hash list */ - LIST_ENTRY(nfsrv_descript) nd_tq; /* and timer list */ - LIST_HEAD(, nfsrv_descript) nd_coalesce;/* coalesced writes */ struct mbuf *nd_mrep; /* Request mbuf list */ struct mbuf *nd_md; /* Current dissect mbuf */ struct mbuf *nd_mreq; /* Reply mbuf list */ @@ -261,56 +189,15 @@ struct nfsrv_descript { u_int32_t nd_procnum; /* RPC # */ int nd_stable; /* storage type */ int nd_flag; /* nd_flag */ - int nd_len; /* Length of this write */ int nd_repstat; /* Reply status */ - u_int32_t nd_retxid; /* Reply xid */ - struct timeval nd_starttime; /* Time RPC initiated */ fhandle_t nd_fh; /* File handle */ struct ucred *nd_cr; /* Credentials */ int nd_credflavor; /* Security flavor */ }; -#else - -/* - * This structure is used by the server for describing each request. - */ -struct nfsrv_descript { - struct mbuf *nd_mrep; /* Request mbuf list */ - struct mbuf *nd_md; /* Current dissect mbuf */ - struct mbuf *nd_mreq; /* Reply mbuf list */ - struct sockaddr *nd_nam; /* and socket addr */ - struct sockaddr *nd_nam2; /* return socket addr */ - caddr_t nd_dpos; /* Current dissect pos */ - u_int32_t nd_procnum; /* RPC # */ - int nd_stable; /* storage type */ - int nd_flag; /* nd_flag */ - int nd_repstat; /* Reply status */ - fhandle_t nd_fh; /* File handle */ - struct ucred *nd_cr; /* Credentials */ - int nd_credflavor; /* Security flavor */ -}; - -#endif - /* Bits for "nd_flag" */ #define ND_NFSV3 0x08 -#ifdef NFS_LEGACYRPC - -extern TAILQ_HEAD(nfsd_head, nfsd) nfsd_head; -extern int nfsd_head_flag; -#define NFSD_CHECKSLP 0x01 - -/* - * These macros compare nfsrv_descript structures. - */ -#define NFSW_CONTIG(o, n) \ - ((o)->nd_eoff >= (n)->nd_off && \ - !bcmp((caddr_t)&(o)->nd_fh, (caddr_t)&(n)->nd_fh, NFSX_V3FH)) - -#endif - /* * Defines for WebNFS */ @@ -353,26 +240,6 @@ extern int nfs_debug; #endif -#ifdef NFS_LEGACYRPC -int netaddr_match(int, union nethostaddr *, struct sockaddr *); -int nfs_getreq(struct nfsrv_descript *, struct nfsd *, int); -int nfsrv_send(struct socket *, struct sockaddr *, struct mbuf *); -int nfsrv_dorec(struct nfssvc_sock *, struct nfsd *, - struct nfsrv_descript **); -int nfs_slplock(struct nfssvc_sock *, int); -void nfs_slpunlock(struct nfssvc_sock *); -void nfsrv_initcache(void); -void nfsrv_destroycache(void); -void nfsrv_timer(void *); -int nfsrv_getcache(struct nfsrv_descript *, struct mbuf **); -void nfsrv_updatecache(struct nfsrv_descript *, int, struct mbuf *); -void nfsrv_cleancache(void); -int nfsrv_rcv(struct socket *so, void *arg, int waitflag); -void nfsrv_slpderef(struct nfssvc_sock *slp); -void nfsrv_wakenfsd(struct nfssvc_sock *slp); -int nfsrv_writegather(struct nfsrv_descript **, struct nfssvc_sock *, - struct mbuf **); -#endif struct mbuf *nfs_rephead(int, struct nfsrv_descript *, int, struct mbuf **, caddr_t *); void nfsm_srvfattr(struct nfsrv_descript *, struct vattr *, Modified: head/sys/nfsserver/nfs_fha.c ============================================================================== --- head/sys/nfsserver/nfs_fha.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsserver/nfs_fha.c Tue Jun 30 19:03:27 2009 (r195202) @@ -39,14 +39,11 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include #include -#ifndef NFS_LEGACYRPC - static MALLOC_DEFINE(M_NFS_FHA, "NFS FHA", "NFS FHA"); /* Sysctl defaults. */ @@ -598,5 +595,3 @@ fhe_stats_sysctl(SYSCTL_HANDLER_ARGS) sbuf_delete(&sb); return (error); } - -#endif /* !NFS_LEGACYRPC */ Modified: head/sys/nfsserver/nfs_serv.c ============================================================================== --- head/sys/nfsserver/nfs_serv.c Tue Jun 30 18:52:36 2009 (r195201) +++ head/sys/nfsserver/nfs_serv.c Tue Jun 30 19:03:27 2009 (r195202) @@ -93,7 +93,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include @@ -142,10 +141,6 @@ SYSCTL_STRUCT(_vfs_nfsrv, NFS_NFSRVSTATS static int nfsrv_access(struct vnode *, accmode_t, struct ucred *, int, int); -#ifdef NFS_LEGACYRPC -static void nfsrvw_coalesce(struct nfsrv_descript *, - struct nfsrv_descript *); -#endif /* * Clear nameidata fields that are tested in nsfmout cleanup code prior @@ -1229,425 +1224,6 @@ nfsmout: return(error); } -#ifdef NFS_LEGACYRPC - -/* - * XXX dfr - write gathering isn't supported by the new RPC code since - * its really only useful for NFSv2. If there is a real need, we could - * attempt to fit it into the filehandle affinity system, e.g. by - * looking to see if there are queued write requests that overlap this - * one. - */ - -/* - * For the purposes of write gathering, we must decide if the credential - * associated with two pending requests have equivilent privileges. Since - * NFS only uses a subset of the BSD ucred -- the effective uid and group - * IDs -- we have a compare routine that checks only the relevant fields. - */ -static int -nfsrv_samecred(struct ucred *cr1, struct ucred *cr2) -{ - int i; - - if (cr1->cr_uid != cr2->cr_uid) - return (0); - if (cr1->cr_ngroups != cr2->cr_ngroups) - return (0); - for (i = 0; i < cr1->cr_ngroups; i++) { - if (cr1->cr_groups[i] != cr2->cr_groups[i]) - return (0); - } - return (1); -} - -/* - * NFS write service with write gathering support. Called when - * nfsrvw_procrastinate > 0. - * See: Chet Juszczak, "Improving the Write Performance of an NFS Server", - * in Proc. of the Winter 1994 Usenix Conference, pg. 247-259, San Franscisco, - * Jan. 1994. - */ -int -nfsrv_writegather(struct nfsrv_descript **ndp, struct nfssvc_sock *slp, - struct mbuf **mrq) -{ - struct iovec *ivp; - struct mbuf *mp; - struct nfsrv_descript *wp, *nfsd, *owp, *swp; - struct nfs_fattr *fp; - int i; - struct iovec *iov; - struct nfsrvw_delayhash *wpp; - struct ucred *cred; - struct vattr va, forat; - u_int32_t *tl; - caddr_t bpos, dpos; - int error = 0, rdonly, len, forat_ret = 1; - int ioflags, aftat_ret = 1, s, adjust, v3, zeroing; - struct mbuf *mb, *mreq, *mrep, *md; - struct vnode *vp = NULL; - struct uio io, *uiop = &io; - u_quad_t cur_usec; - struct mount *mntp = NULL; - int mvfslocked; - int vfslocked; - - nfsdbprintf(("%s %d\n", __FILE__, __LINE__)); -#ifndef nolint - i = 0; - len = 0; -#endif - vfslocked = 0; - *mrq = NULL; - if (*ndp) { - nfsd = *ndp; - *ndp = NULL; - mrep = nfsd->nd_mrep; - md = nfsd->nd_md; - dpos = nfsd->nd_dpos; - cred = nfsd->nd_cr; - v3 = (nfsd->nd_flag & ND_NFSV3); - LIST_INIT(&nfsd->nd_coalesce); - nfsd->nd_mreq = NULL; - nfsd->nd_stable = NFSV3WRITE_FILESYNC; - cur_usec = nfs_curusec(); - nfsd->nd_time = cur_usec + - (v3 ? nfsrvw_procrastinate_v3 : nfsrvw_procrastinate); - - /* - * Now, get the write header.. - */ - nfsm_srvmtofh(&nfsd->nd_fh); - if (v3) { - tl = nfsm_dissect_nonblock(u_int32_t *, 5 * NFSX_UNSIGNED); - nfsd->nd_off = fxdr_hyper(tl); - tl += 3; - nfsd->nd_stable = fxdr_unsigned(int, *tl++); - } else { - tl = nfsm_dissect_nonblock(u_int32_t *, 4 * NFSX_UNSIGNED); - nfsd->nd_off = (off_t)fxdr_unsigned(u_int32_t, *++tl); - tl += 2; - if (nfs_async) - nfsd->nd_stable = NFSV3WRITE_UNSTABLE; - } - len = fxdr_unsigned(int32_t, *tl); - nfsd->nd_len = len; - nfsd->nd_eoff = nfsd->nd_off + len; - - /* - * Trim the header out of the mbuf list and trim off any trailing - * junk so that the mbuf list has only the write data. - */ - zeroing = 1; - i = 0; - mp = mrep; - while (mp) { - if (mp == md) { - zeroing = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:07:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B65DC106564A; Tue, 30 Jun 2009 19:07:23 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 728518FC25; Tue, 30 Jun 2009 19:07:23 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n5UJ7M0K074583 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 12:07:22 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <4A4A626A.4080801@freebsd.org> Date: Tue, 30 Jun 2009 12:07:22 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.21 (X11/20090411) MIME-Version: 1.0 To: Martin Blapp References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-URT-Metrics: ebb.errno.com; whitelist Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:07:24 -0000 Martin Blapp wrote: > Author: mbr > Date: Tue Jun 30 18:51:22 2009 > New Revision: 195200 > URL: http://svn.freebsd.org/changeset/base/195200 > > Log: > Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet network > > Submitted by: Marc Balmer > Reviewed by: rwatson > Approved by: re > > what's wrong with ports/net/wol? Sam From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:10:18 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B9CC106566C; Tue, 30 Jun 2009 19:10:18 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 391788FC2C; Tue, 30 Jun 2009 19:10:18 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJAHIQ089729; Tue, 30 Jun 2009 19:10:17 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJAHV7089723; Tue, 30 Jun 2009 19:10:17 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200906301910.n5UJAHV7089723@svn.freebsd.org> From: Doug Rabson Date: Tue, 30 Jun 2009 19:10:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195203 - head/sys/nfsclient X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:10:18 -0000 Author: dfr Date: Tue Jun 30 19:10:17 2009 New Revision: 195203 URL: http://svn.freebsd.org/changeset/base/195203 Log: Adjust the internal NFS KPI to avoid the last traces of NFS_LEGACYRPC. Approved by: re Modified: head/sys/nfsclient/nfs.h head/sys/nfsclient/nfs_bio.c head/sys/nfsclient/nfs_krpc.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsclient/nfs_vnops.c Modified: head/sys/nfsclient/nfs.h ============================================================================== --- head/sys/nfsclient/nfs.h Tue Jun 30 19:03:27 2009 (r195202) +++ head/sys/nfsclient/nfs.h Tue Jun 30 19:10:17 2009 (r195203) @@ -147,11 +147,6 @@ extern int nfsv3_procid[NFS_NPROCS]; (e) != ERESTART && (e) != EWOULDBLOCK && \ ((s) & PR_CONNREQUIRED) == 0) -/* - * This is only needed to keep things working while we support - * compiling for both RPC implementations. - */ -struct nfsreq; struct nfsmount; struct buf; @@ -262,7 +257,7 @@ int nfs_asyncio(struct nfsmount *, struc int nfs_doio(struct vnode *, struct buf *, struct ucred *, struct thread *); void nfs_doio_directwrite (struct buf *); int nfs_readlinkrpc(struct vnode *, struct uio *, struct ucred *); -int nfs_sigintr(struct nfsmount *, struct nfsreq *, struct thread *); +int nfs_sigintr(struct nfsmount *, struct thread *); int nfs_readdirplusrpc(struct vnode *, struct uio *, struct ucred *); int nfs_request(struct vnode *, struct mbuf *, int, struct thread *, struct ucred *, struct mbuf **, struct mbuf **, caddr_t *); @@ -274,7 +269,7 @@ void nfs_nhuninit(void); int nfs_nmcancelreqs(struct nfsmount *); void nfs_timer(void*); -int nfs_connect(struct nfsmount *, struct nfsreq *); +int nfs_connect(struct nfsmount *); void nfs_disconnect(struct nfsmount *); void nfs_safedisconnect(struct nfsmount *); int nfs_getattrcache(struct vnode *, struct vattr *); Modified: head/sys/nfsclient/nfs_bio.c ============================================================================== --- head/sys/nfsclient/nfs_bio.c Tue Jun 30 19:03:27 2009 (r195202) +++ head/sys/nfsclient/nfs_bio.c Tue Jun 30 19:10:17 2009 (r195203) @@ -504,7 +504,7 @@ nfs_bioread(struct vnode *vp, struct uio if (incore(&vp->v_bufobj, rabn) == NULL) { rabp = nfs_getcacheblk(vp, rabn, biosize, td); if (!rabp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); return (error ? error : EINTR); } if ((rabp->b_flags & (B_CACHE|B_DELWRI)) == 0) { @@ -535,7 +535,7 @@ nfs_bioread(struct vnode *vp, struct uio bp = nfs_getcacheblk(vp, lbn, bcount, td); if (!bp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); return (error ? error : EINTR); } @@ -570,7 +570,7 @@ nfs_bioread(struct vnode *vp, struct uio nfsstats.biocache_readlinks++; bp = nfs_getcacheblk(vp, (daddr_t)0, NFS_MAXPATHLEN, td); if (!bp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); return (error ? error : EINTR); } if ((bp->b_flags & B_CACHE) == 0) { @@ -596,7 +596,7 @@ nfs_bioread(struct vnode *vp, struct uio on = uio->uio_offset & (NFS_DIRBLKSIZ - 1); bp = nfs_getcacheblk(vp, lbn, NFS_DIRBLKSIZ, td); if (!bp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); return (error ? error : EINTR); } if ((bp->b_flags & B_CACHE) == 0) { @@ -625,7 +625,7 @@ nfs_bioread(struct vnode *vp, struct uio return (0); bp = nfs_getcacheblk(vp, i, NFS_DIRBLKSIZ, td); if (!bp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); return (error ? error : EINTR); } if ((bp->b_flags & B_CACHE) == 0) { @@ -1080,7 +1080,7 @@ again: } if (!bp) { - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); if (!error) error = EINTR; break; @@ -1257,7 +1257,7 @@ nfs_getcacheblk(struct vnode *vp, daddr_ bp = getblk(vp, bn, size, PCATCH, 0, 0); nfs_restore_sigmask(td, &oldset); while (bp == NULL) { - if (nfs_sigintr(nmp, NULL, td)) + if (nfs_sigintr(nmp, td)) return (NULL); bp = getblk(vp, bn, size, 0, 2 * hz, 0); } @@ -1321,13 +1321,13 @@ nfs_vinvalbuf(struct vnode *vp, int flag * Not doing so, we run the risk of losing dirty pages in the * vinvalbuf() call below. */ - if (intrflg && (error = nfs_sigintr(nmp, NULL, td))) + if (intrflg && (error = nfs_sigintr(nmp, td))) goto out; } error = vinvalbuf(vp, flags, slpflag, 0); while (error) { - if (intrflg && (error = nfs_sigintr(nmp, NULL, td))) + if (intrflg && (error = nfs_sigintr(nmp, td))) goto out; error = vinvalbuf(vp, flags, 0, slptimeo); } @@ -1434,7 +1434,7 @@ again: slpflag | PRIBIO, "nfsaio", slptimeo); if (error) { - error2 = nfs_sigintr(nmp, NULL, td); + error2 = nfs_sigintr(nmp, td); if (error2) { mtx_unlock(&nfs_iod_mtx); return (error2); Modified: head/sys/nfsclient/nfs_krpc.c ============================================================================== --- head/sys/nfsclient/nfs_krpc.c Tue Jun 30 19:03:27 2009 (r195202) +++ head/sys/nfsclient/nfs_krpc.c Tue Jun 30 19:10:17 2009 (r195203) @@ -183,7 +183,7 @@ nfs_init_rtt(struct nfsmount *nmp) * We do not free the sockaddr if error. */ int -nfs_connect(struct nfsmount *nmp, struct nfsreq *rep) +nfs_connect(struct nfsmount *nmp) { int rcvreserve, sndreserve; int pktscale; @@ -511,7 +511,7 @@ nfs_request(struct vnode *vp, struct mbu * and let clnt_reconnect_create handle reconnects. */ if (!nmp->nm_client) - nfs_connect(nmp, NULL); + nfs_connect(nmp); auth = nfs_getauth(nmp, cred); if (!auth) { @@ -799,7 +799,7 @@ nfs_msleep(struct thread *td, void *iden * This is used for NFSMNT_INT mounts. */ int -nfs_sigintr(struct nfsmount *nmp, struct nfsreq *rep, struct thread *td) +nfs_sigintr(struct nfsmount *nmp, struct thread *td) { struct proc *p; sigset_t tmpset; Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Tue Jun 30 19:03:27 2009 (r195202) +++ head/sys/nfsclient/nfs_vfsops.c Tue Jun 30 19:10:17 2009 (r195203) @@ -730,7 +730,7 @@ nfs_decode_args(struct mount *mp, struct if (nmp->nm_client && adjsock) { nfs_safedisconnect(nmp); if (nmp->nm_sotype == SOCK_DGRAM) - while (nfs_connect(nmp, NULL)) { + while (nfs_connect(nmp)) { printf("nfs_args: retrying connect\n"); (void) tsleep(&fake_wchan, PSOCK, "nfscon", hz); } @@ -1229,7 +1229,7 @@ mountnfs(struct nfs_args *argp, struct m * the first request, in case the server is not responding. */ if (nmp->nm_sotype == SOCK_DGRAM && - (error = nfs_connect(nmp, NULL))) + (error = nfs_connect(nmp))) goto bad; /* Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Tue Jun 30 19:03:27 2009 (r195202) +++ head/sys/nfsclient/nfs_vnops.c Tue Jun 30 19:10:17 2009 (r195203) @@ -3128,7 +3128,7 @@ loop: error = 0; goto loop; } - if (nfs_sigintr(nmp, NULL, td)) { + if (nfs_sigintr(nmp, td)) { error = EINTR; goto done; } @@ -3151,7 +3151,7 @@ loop: else bp->b_flags |= B_ASYNC; bwrite(bp); - if (nfs_sigintr(nmp, NULL, td)) { + if (nfs_sigintr(nmp, td)) { error = EINTR; goto done; } @@ -3167,7 +3167,7 @@ loop: error = bufobj_wwait(bo, slpflag, slptimeo); if (error) { BO_UNLOCK(bo); - error = nfs_sigintr(nmp, NULL, td); + error = nfs_sigintr(nmp, td); if (error) goto done; if (slpflag == PCATCH) { @@ -3192,7 +3192,7 @@ loop: &np->n_mtx, slpflag | (PRIBIO + 1), "nfsfsync", 0); if (error) { - if (nfs_sigintr(nmp, NULL, td)) { + if (nfs_sigintr(nmp, td)) { mtx_unlock(&np->n_mtx); error = EINTR; goto done; From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:38:15 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF89B106564A; Tue, 30 Jun 2009 19:38:15 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 919688FC17; Tue, 30 Jun 2009 19:38:15 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UJZhao021198; Tue, 30 Jun 2009 13:35:43 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 13:36:08 -0600 (MDT) Message-Id: <20090630.133608.-1703974521.imp@bsdimp.com> To: mbr@freebsd.org From: "M. Warner Losh" In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:38:16 -0000 wake really is too generic a name for this. Why didn't the wol port get committed anyway, it seems to be better than this... Warner In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Martin Blapp writes: : Author: mbr : Date: Tue Jun 30 18:51:22 2009 : New Revision: 195200 : URL: http://svn.freebsd.org/changeset/base/195200 : : Log: : Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet network : : Submitted by: Marc Balmer : Reviewed by: rwatson : Approved by: re : : M usr.sbin/Makefile : A usr.sbin/wake : AM usr.sbin/wake/wake.c : AM usr.sbin/wake/Makefile : AM usr.sbin/wake/wake.8 : : Added: : head/usr.sbin/wake/ : head/usr.sbin/wake/Makefile (contents, props changed) : head/usr.sbin/wake/wake.8 (contents, props changed) : head/usr.sbin/wake/wake.c (contents, props changed) : Modified: : head/usr.sbin/Makefile : : Modified: head/usr.sbin/Makefile : ============================================================================== : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ : ${_usbconfig} \ : ${_vidcontrol} \ : vipw \ : + wake \ : watch \ : watchdogd \ : ${_wlandebug} \ : : Added: head/usr.sbin/wake/Makefile : ============================================================================== : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 (r195200) : @@ -0,0 +1,8 @@ : +# $FreeBSD$ : + : +PROG= wake : +MAN= wake.8 : + : +WARNS?= 2 : + : +.include : : Added: head/usr.sbin/wake/wake.8 : ============================================================================== : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) : @@ -0,0 +1,61 @@ : +.\" : +.\" $FreeBSD$ : +.\" : +.\" Copyright (c) 2009 Marc Balmer : +.\" : +.\" Permission to use, copy, modify, and distribute this software for any : +.\" purpose with or without fee is hereby granted, provided that the above : +.\" copyright notice and this permission notice appear in all copies. : +.\" : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. : +.\" : +.Dd June 27 2009 : +.Dt WAKE 8 : +.Os : +.Sh NAME : +.Nm wake : +.Nd send Wake on LAN frames to hosts on a local Ethernet network : +.Sh SYNOPSIS : +.Nm : +.Ar interface : +.Op Ar lladdr ... : +.Sh DESCRIPTION : +The : +.Nm : +program is used to send Wake on LAN (WoL) frames over a local : +Ethernet network to one or more hosts using their link layer (hardware) : +addresses. : +WoL functionality is generally enabled in a machine's BIOS : +and can be used to power on machines from a remote system without : +having physical access to them. : +.Pp : +.Ar interface : +is the network interface of the local machine. : +.Ar lladdr : +are the link layer addresses of the remote machines : +and can be specified as the actual hardware address : +(six hexadecimal numbers separated by colons) : +or a hostname entry in : +.Pa /etc/ethers . : +Link layer addresses can be determined and set on : +.Fx : +machines using : +.Xr ifconfig 8 . : +.Sh FILES : +.Bl -tag -width "/etc/ethers" -compact : +.It /etc/ethers : +Ethernet host name database. : +.El : +.Sh SEE ALSO : +.Xr ethers 5 , : +.Xr ifconfig 8 : +.Sh AUTHORS : +.Nm : +was written by : +.Ar Marc Balmer Aq marc@msys.ch . : : Added: head/usr.sbin/wake/wake.c : ============================================================================== : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) : @@ -0,0 +1,174 @@ : +/* : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. : + * : + * Redistribution and use in source and binary forms, with or without : + * modification, are permitted provided that the following conditions : + * are met: : + * : + * 1. Redistributions of source code must retain the above copyright : + * notice, this list of conditions and the following disclaimer. : + * 2. Author's name may not be used endorse or promote products derived : + * from this software without specific prior written permission. : + * : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE : + * POSSIBILITY OF SUCH DAMAGE. : + */ : + : +#include : +__FBSDID("$FreeBSD$"); : + : +#include : +#include : +#include : +#include : +#include : +#include : +#include : +#include : + : +#include : +#include : + : +#include : +#include : +#include : +#include : +#include : +#include : +#include : +#include : +#include : +#include : + : +#define _PATH_BPF "/dev/bpf" : + : +#ifndef SYNC_LEN : +#define SYNC_LEN 6 : +#endif : + : +#ifndef DESTADDR_COUNT : +#define DESTADDR_COUNT 16 : +#endif : + : +void usage(void); : + : +int wake(const char *iface, const char *host); : +int bind_if_to_bpf(char const *ifname, int bpf); : +int get_ether(char const *text, struct ether_addr *addr); : +int send_wakeup(int bpf, struct ether_addr const *addr); : + : +void : +usage(void) : +{ : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); : + exit(0); : +} : + : +int : +wake(const char *iface, const char *host) : +{ : + int res, bpf; : + struct ether_addr macaddr; : + : + bpf = open(_PATH_BPF, O_RDWR); : + if (bpf == -1) { : + printf("no bpf\n"); : + return -1; : + } : + if (bind_if_to_bpf(iface, bpf) == -1 || : + get_ether(host, &macaddr) == -1) { : + (void)close(bpf); : + return -1; : + } : + res = send_wakeup(bpf, &macaddr); : + (void)close(bpf); : + return res; : +} : + : +int : +bind_if_to_bpf(char const *ifname, int bpf) : +{ : + struct ifreq ifr; : + u_int dlt; : + : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= : + sizeof(ifr.ifr_name)) : + return -1; : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) : + return -1; : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) : + return -1; : + if (dlt != DLT_EN10MB) : + return -1; : + return 0; : +} : + : +int : +get_ether(char const *text, struct ether_addr *addr) : +{ : + struct ether_addr *paddr; : + : + paddr = ether_aton(text); : + if (paddr != NULL) { : + *addr = *paddr; : + return 0; : + } : + if (ether_hostton(text, addr)) : + return -1; : + return 0; : +} : + : +int : +send_wakeup(int bpf, struct ether_addr const *addr) : +{ : + struct { : + struct ether_header hdr; : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; : + } pkt; : + u_char *p; : + int i; : + ssize_t bw; : + ssize_t len; : + : + (void)memset(pkt.hdr.ether_dhost, 0xff, sizeof(pkt.hdr.ether_dhost)); : + pkt.hdr.ether_type = htons(0); : + (void)memset(pkt.data, 0xff, SYNC_LEN); : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; : + p += ETHER_ADDR_LEN, i++) : + bcopy(addr->octet, p, ETHER_ADDR_LEN); : + p = (u_char *)&pkt; : + len = sizeof(pkt); : + bw = 0; : + while (len) { : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) : + return -1; : + len -= bw; : + p += bw; : + } : + return 0; : +} : + : +int : +main(int argc, char *argv[]) : +{ : + int n; : + : + if (argc < 3) : + usage(); : + : + for (n = 2; n < argc; n++) : + if (wake(argv[1], argv[n])) : + warnx("error sending Wake on LAN frame over %s to %s", : + argv[1], argv[n]); : + return 0; : +} : From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:39:18 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0694C106566C; Tue, 30 Jun 2009 19:39:18 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E99028FC1F; Tue, 30 Jun 2009 19:39:17 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJdHTB090508; Tue, 30 Jun 2009 19:39:17 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJdHrb090506; Tue, 30 Jun 2009 19:39:17 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <200906301939.n5UJdHrb090506@svn.freebsd.org> From: Alan Cox Date: Tue, 30 Jun 2009 19:39:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195209 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:39:18 -0000 Author: alc Date: Tue Jun 30 19:39:17 2009 New Revision: 195209 URL: http://svn.freebsd.org/changeset/base/195209 Log: Remove a stale comment. The very same revision (r85511) that introduced this comment also implemented the proposed change to the code. Approved by: re (kib) Modified: head/sys/kern/vfs_cluster.c Modified: head/sys/kern/vfs_cluster.c ============================================================================== --- head/sys/kern/vfs_cluster.c Tue Jun 30 19:39:15 2009 (r195208) +++ head/sys/kern/vfs_cluster.c Tue Jun 30 19:39:17 2009 (r195209) @@ -471,9 +471,6 @@ cluster_rbuild(vp, filesize, lbn, blkno, } VM_OBJECT_UNLOCK(tbp->b_bufobj->bo_object); /* - * XXX shouldn't this be += size for both, like in - * cluster_wbuild()? - * * Don't inherit tbp->b_bufsize as it may be larger due to * a non-page-aligned size. Instead just aggregate using * 'size'. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 19:51:48 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5B821065670; Tue, 30 Jun 2009 19:51:48 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 7DA258FC21; Tue, 30 Jun 2009 19:51:45 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5UJpYTq026018 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 21:51:34 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5UJpWsD014272 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 21:51:33 +0200 (CEST) Message-Id: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> From: Marc Balmer To: "M. Warner Losh" In-Reply-To: <20090630.133608.-1703974521.imp@bsdimp.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 21:51:32 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090630.133608.-1703974521.imp@bsdimp.com> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, mbr@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:51:49 -0000 Am 30.06.2009 um 21:36 schrieb M. Warner Losh: > wake really is too generic a name for this. Why didn't the wol port > get committed anyway, it seems to be better than this... wake is a short, mnemonic and imperative name that describes what the command does. It is exactly the same command as in NetBSD. - Marc > > Warner > > > In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> > Martin Blapp writes: > : Author: mbr > : Date: Tue Jun 30 18:51:22 2009 > : New Revision: 195200 > : URL: http://svn.freebsd.org/changeset/base/195200 > : > : Log: > : Add wake, a tool to send Wake on LAN frames to hosts on a local > Ethernet network > : > : Submitted by: Marc Balmer > : Reviewed by: rwatson > : Approved by: re > : > : M usr.sbin/Makefile > : A usr.sbin/wake > : AM usr.sbin/wake/wake.c > : AM usr.sbin/wake/Makefile > : AM usr.sbin/wake/wake.8 > : > : Added: > : head/usr.sbin/wake/ > : head/usr.sbin/wake/Makefile (contents, props changed) > : head/usr.sbin/wake/wake.8 (contents, props changed) > : head/usr.sbin/wake/wake.c (contents, props changed) > : Modified: > : head/usr.sbin/Makefile > : > : Modified: head/usr.sbin/Makefile > : > = > = > = > = > = > = > = > = > ====================================================================== > : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) > : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) > : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ > : ${_usbconfig} \ > : ${_vidcontrol} \ > : vipw \ > : + wake \ > : watch \ > : watchdogd \ > : ${_wlandebug} \ > : > : Added: head/usr.sbin/wake/Makefile > : > = > = > = > = > = > = > = > = > ====================================================================== > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 (r195200) > : @@ -0,0 +1,8 @@ > : +# $FreeBSD$ > : + > : +PROG= wake > : +MAN= wake.8 > : + > : +WARNS?= 2 > : + > : +.include > : > : Added: head/usr.sbin/wake/wake.8 > : > = > = > = > = > = > = > = > = > ====================================================================== > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) > : @@ -0,0 +1,61 @@ > : +.\" > : +.\" $FreeBSD$ > : +.\" > : +.\" Copyright (c) 2009 Marc Balmer > : +.\" > : +.\" Permission to use, copy, modify, and distribute this software > for any > : +.\" purpose with or without fee is hereby granted, provided that > the above > : +.\" copyright notice and this permission notice appear in all > copies. > : +.\" > : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > WARRANTIES > : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES > OF > : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE > LIABLE FOR > : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR > ANY DAMAGES > : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > WHETHER IN AN > : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > ARISING OUT OF > : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > : +.\" > : +.Dd June 27 2009 > : +.Dt WAKE 8 > : +.Os > : +.Sh NAME > : +.Nm wake > : +.Nd send Wake on LAN frames to hosts on a local Ethernet network > : +.Sh SYNOPSIS > : +.Nm > : +.Ar interface > : +.Op Ar lladdr ... > : +.Sh DESCRIPTION > : +The > : +.Nm > : +program is used to send Wake on LAN (WoL) frames over a local > : +Ethernet network to one or more hosts using their link layer > (hardware) > : +addresses. > : +WoL functionality is generally enabled in a machine's BIOS > : +and can be used to power on machines from a remote system without > : +having physical access to them. > : +.Pp > : +.Ar interface > : +is the network interface of the local machine. > : +.Ar lladdr > : +are the link layer addresses of the remote machines > : +and can be specified as the actual hardware address > : +(six hexadecimal numbers separated by colons) > : +or a hostname entry in > : +.Pa /etc/ethers . > : +Link layer addresses can be determined and set on > : +.Fx > : +machines using > : +.Xr ifconfig 8 . > : +.Sh FILES > : +.Bl -tag -width "/etc/ethers" -compact > : +.It /etc/ethers > : +Ethernet host name database. > : +.El > : +.Sh SEE ALSO > : +.Xr ethers 5 , > : +.Xr ifconfig 8 > : +.Sh AUTHORS > : +.Nm > : +was written by > : +.Ar Marc Balmer Aq marc@msys.ch . > : > : Added: head/usr.sbin/wake/wake.c > : > = > = > = > = > = > = > = > = > ====================================================================== > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) > : @@ -0,0 +1,174 @@ > : +/* > : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer > : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. > : + * > : + * Redistribution and use in source and binary forms, with or > without > : + * modification, are permitted provided that the following > conditions > : + * are met: > : + * > : + * 1. Redistributions of source code must retain the above > copyright > : + * notice, this list of conditions and the following disclaimer. > : + * 2. Author's name may not be used endorse or promote products > derived > : + * from this software without specific prior written permission. > : + * > : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY > EXPRESS OR > : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED > : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > PURPOSE ARE > : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY > DIRECT, > : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > DAMAGES > : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > GOODS OR > : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > INTERRUPTION) > : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > CONTRACT, > : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > ARISING > : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF > THE > : + * POSSIBILITY OF SUCH DAMAGE. > : + */ > : + > : +#include > : +__FBSDID("$FreeBSD$"); > : + > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : + > : +#include > : +#include > : + > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : +#include > : + > : +#define _PATH_BPF "/dev/bpf" > : + > : +#ifndef SYNC_LEN > : +#define SYNC_LEN 6 > : +#endif > : + > : +#ifndef DESTADDR_COUNT > : +#define DESTADDR_COUNT 16 > : +#endif > : + > : +void usage(void); > : + > : +int wake(const char *iface, const char *host); > : +int bind_if_to_bpf(char const *ifname, int bpf); > : +int get_ether(char const *text, struct ether_addr *addr); > : +int send_wakeup(int bpf, struct ether_addr const *addr); > : + > : +void > : +usage(void) > : +{ > : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); > : + exit(0); > : +} > : + > : +int > : +wake(const char *iface, const char *host) > : +{ > : + int res, bpf; > : + struct ether_addr macaddr; > : + > : + bpf = open(_PATH_BPF, O_RDWR); > : + if (bpf == -1) { > : + printf("no bpf\n"); > : + return -1; > : + } > : + if (bind_if_to_bpf(iface, bpf) == -1 || > : + get_ether(host, &macaddr) == -1) { > : + (void)close(bpf); > : + return -1; > : + } > : + res = send_wakeup(bpf, &macaddr); > : + (void)close(bpf); > : + return res; > : +} > : + > : +int > : +bind_if_to_bpf(char const *ifname, int bpf) > : +{ > : + struct ifreq ifr; > : + u_int dlt; > : + > : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= > : + sizeof(ifr.ifr_name)) > : + return -1; > : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) > : + return -1; > : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) > : + return -1; > : + if (dlt != DLT_EN10MB) > : + return -1; > : + return 0; > : +} > : + > : +int > : +get_ether(char const *text, struct ether_addr *addr) > : +{ > : + struct ether_addr *paddr; > : + > : + paddr = ether_aton(text); > : + if (paddr != NULL) { > : + *addr = *paddr; > : + return 0; > : + } > : + if (ether_hostton(text, addr)) > : + return -1; > : + return 0; > : +} > : + > : +int > : +send_wakeup(int bpf, struct ether_addr const *addr) > : +{ > : + struct { > : + struct ether_header hdr; > : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; > : + } pkt; > : + u_char *p; > : + int i; > : + ssize_t bw; > : + ssize_t len; > : + > : + (void)memset(pkt.hdr.ether_dhost, 0xff, > sizeof(pkt.hdr.ether_dhost)); > : + pkt.hdr.ether_type = htons(0); > : + (void)memset(pkt.data, 0xff, SYNC_LEN); > : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; > : + p += ETHER_ADDR_LEN, i++) > : + bcopy(addr->octet, p, ETHER_ADDR_LEN); > : + p = (u_char *)&pkt; > : + len = sizeof(pkt); > : + bw = 0; > : + while (len) { > : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) > : + return -1; > : + len -= bw; > : + p += bw; > : + } > : + return 0; > : +} > : + > : +int > : +main(int argc, char *argv[]) > : +{ > : + int n; > : + > : + if (argc < 3) > : + usage(); > : + > : + for (n = 2; n < argc; n++) > : + if (wake(argv[1], argv[n])) > : + warnx("error sending Wake on LAN frame over %s to %s", > : + argv[1], argv[n]); > : + return 0; > : +} > : > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:13:37 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61A73106566C for ; Tue, 30 Jun 2009 20:13:37 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (cl-43.dus-01.de.sixxs.net [IPv6:2a01:198:200:2a::2]) by mx1.freebsd.org (Postfix) with ESMTP id C44708FC08 for ; Tue, 30 Jun 2009 20:13:36 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from roadrunner.spoerlein.net (e180171001.adsl.alicedsl.de [85.180.171.1]) by acme.spoerlein.net (8.14.3/8.14.3) with ESMTP id n5UKBnDV054254 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 30 Jun 2009 22:11:50 +0200 (CEST) (envelope-from uqs@spoerlein.net) Received: from roadrunner.spoerlein.net (localhost [127.0.0.1]) by roadrunner.spoerlein.net (8.14.3/8.14.3) with ESMTP id n5UJbDTx005762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 21:37:13 +0200 (CEST) (envelope-from uqs@spoerlein.net) Received: (from uqs@localhost) by roadrunner.spoerlein.net (8.14.3/8.14.3/Submit) id n5UJbCm8005761; Tue, 30 Jun 2009 21:37:12 +0200 (CEST) (envelope-from uqs@spoerlein.net) Date: Tue, 30 Jun 2009 21:37:12 +0200 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: "M. Warner Losh" Message-ID: <20090630193712.GA5446@roadrunner.spoerlein.net> Mail-Followup-To: Ulrich =?utf-8?B?U3DDtnJsZWlu?= , "M. Warner Losh" , rwatson@freebsd.org, ed@80386.nl, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, des@des.no, rafan@freebsd.org References: <86prcl23k8.fsf@ds4.des.no> <20090630.085955.63054488.imp@bsdimp.com> <20090630.094632.195416436.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090630.094632.195416436.imp@bsdimp.com> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: ed@80386.nl, src-committers@freebsd.org, svn-src-all@freebsd.org, rwatson@freebsd.org, svn-src-head@freebsd.org, des@des.no, rafan@freebsd.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:13:37 -0000 On Tue, 30.06.2009 at 09:46:32 -0600, M. Warner Losh wrote: > In message: > Robert Watson writes: > : On Tue, 30 Jun 2009, M. Warner Losh wrote: > : > : > Last time this BBQ came up, I thought it was agreed that there would be a > : > xterm-XXX that didn't do this behavior for those folks that think the > : > current behavior is harmfully wrong... > : > : Whereas I think it's a bug in more(1)/less(1) that it tries to use those > : sequences... > > Agreed. vi too. I'll note that on Mac OS, in the xterm, you don't > see this with either... But I don't know how to undo tic(1) > formatting to get back to the raw xterm entries... For vim(1) you can use something like set t_ti= t_te= Btw, I do like the current behaviour, but if $PAGER can be coerced into not clearing screen after exit, I think more people could be persuaded. Cheers, Ulrich Spörlein -- http://www.dubistterrorist.de/ From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:14:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF9851065680; Tue, 30 Jun 2009 20:14:23 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 707F78FC15; Tue, 30 Jun 2009 20:14:23 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 7DFB01CC95; Tue, 30 Jun 2009 22:14:22 +0200 (CEST) Date: Tue, 30 Jun 2009 22:14:22 +0200 From: Ed Schouten To: Doug Rabson Message-ID: <20090630201422.GD48776@hoeg.nl> References: <200906301903.n5UJ3RrE089516@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="JdS3L4gXgtLUQLpY" Content-Disposition: inline In-Reply-To: <200906301903.n5UJ3RrE089516@svn.freebsd.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195202 - in head/sys: conf i386/i386 modules/nfsclient modules/nfsserver nfs nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:14:24 -0000 --JdS3L4gXgtLUQLpY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Doug, * Doug Rabson wrote: > Log: > Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. > =20 > Approved by: re It seems /sys/amd64/amd64/genassym.c doesn't build anymore, because it includes . It seems removing the #include fixes the build. Yours, --=20 Ed Schouten WWW: http://80386.nl/ --JdS3L4gXgtLUQLpY Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpKch4ACgkQ52SDGA2eCwWOWgCfbTwhKaeh/F4YQSpA9Wv12Nkp V/MAn2Ih//CxGkfw9VuwqPl7/m/Oo7/D =W9ZE -----END PGP SIGNATURE----- --JdS3L4gXgtLUQLpY-- From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:16:11 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DCA3106566C; Tue, 30 Jun 2009 20:16:11 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 4390D8FC08; Tue, 30 Jun 2009 20:16:11 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKG4a6020073 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 22:16:05 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKG4DH030832 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 22:16:04 +0200 (CEST) Message-Id: <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> From: Marc Balmer To: Sam Leffler In-Reply-To: <4A4A626A.4080801@freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 22:16:03 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:16:12 -0000 Am 30.06.2009 um 21:07 schrieb Sam Leffler: > Martin Blapp wrote: >> Author: mbr >> Date: Tue Jun 30 18:51:22 2009 >> New Revision: 195200 >> URL: http://svn.freebsd.org/changeset/base/195200 >> >> Log: >> Add wake, a tool to send Wake on LAN frames to hosts on a local >> Ethernet network >> Submitted by: Marc Balmer >> Reviewed by: rwatson >> Approved by: re >> > > what's wrong with ports/net/wol? > wake(8) is smaller and it is actually something needed in base. in modern, ecological "green computing" environments we put the client machines, like our POS terminals to sleep at night. In the morning, a cronjob from the central server wakes up all machines using this command. more and more systems support it, so havin a wake command in base is just about right. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:17:44 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2385D1065673; Tue, 30 Jun 2009 20:17:44 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id A78F48FC1A; Tue, 30 Jun 2009 20:17:43 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UKDF7u021716; Tue, 30 Jun 2009 14:13:16 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 14:13:40 -0600 (MDT) Message-Id: <20090630.141340.289711551.imp@bsdimp.com> To: marc@msys.ch From: "M. Warner Losh" In-Reply-To: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090630.133608.-1703974521.imp@bsdimp.com> <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:17:44 -0000 In message: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> Marc Balmer writes: : : Am 30.06.2009 um 21:36 schrieb M. Warner Losh: : : > wake really is too generic a name for this. Why didn't the wol port : > get committed anyway, it seems to be better than this... : : wake is a short, mnemonic and imperative name that describes what the : command does. It is exactly the same command as in NetBSD. And the discussions in the NetBSD src discussion mailing lists have resolved the issue with finality? Warner : > Warner : > : > : > In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> : > Martin Blapp writes: : > : Author: mbr : > : Date: Tue Jun 30 18:51:22 2009 : > : New Revision: 195200 : > : URL: http://svn.freebsd.org/changeset/base/195200 : > : : > : Log: : > : Add wake, a tool to send Wake on LAN frames to hosts on a local : > Ethernet network : > : : > : Submitted by: Marc Balmer : > : Reviewed by: rwatson : > : Approved by: re : > : : > : M usr.sbin/Makefile : > : A usr.sbin/wake : > : AM usr.sbin/wake/wake.c : > : AM usr.sbin/wake/Makefile : > : AM usr.sbin/wake/wake.8 : > : : > : Added: : > : head/usr.sbin/wake/ : > : head/usr.sbin/wake/Makefile (contents, props changed) : > : head/usr.sbin/wake/wake.8 (contents, props changed) : > : head/usr.sbin/wake/wake.c (contents, props changed) : > : Modified: : > : head/usr.sbin/Makefile : > : : > : Modified: head/usr.sbin/Makefile : > : : > = : > = : > = : > = : > = : > = : > = : > = : > ====================================================================== : > : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) : > : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) : > : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ : > : ${_usbconfig} \ : > : ${_vidcontrol} \ : > : vipw \ : > : + wake \ : > : watch \ : > : watchdogd \ : > : ${_wlandebug} \ : > : : > : Added: head/usr.sbin/wake/Makefile : > : : > = : > = : > = : > = : > = : > = : > = : > = : > ====================================================================== : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 (r195200) : > : @@ -0,0 +1,8 @@ : > : +# $FreeBSD$ : > : + : > : +PROG= wake : > : +MAN= wake.8 : > : + : > : +WARNS?= 2 : > : + : > : +.include : > : : > : Added: head/usr.sbin/wake/wake.8 : > : : > = : > = : > = : > = : > = : > = : > = : > = : > ====================================================================== : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) : > : @@ -0,0 +1,61 @@ : > : +.\" : > : +.\" $FreeBSD$ : > : +.\" : > : +.\" Copyright (c) 2009 Marc Balmer : > : +.\" : > : +.\" Permission to use, copy, modify, and distribute this software : > for any : > : +.\" purpose with or without fee is hereby granted, provided that : > the above : > : +.\" copyright notice and this permission notice appear in all : > copies. : > : +.\" : > : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL : > WARRANTIES : > : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES : > OF : > : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE : > LIABLE FOR : > : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR : > ANY DAMAGES : > : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, : > WHETHER IN AN : > : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, : > ARISING OUT OF : > : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. : > : +.\" : > : +.Dd June 27 2009 : > : +.Dt WAKE 8 : > : +.Os : > : +.Sh NAME : > : +.Nm wake : > : +.Nd send Wake on LAN frames to hosts on a local Ethernet network : > : +.Sh SYNOPSIS : > : +.Nm : > : +.Ar interface : > : +.Op Ar lladdr ... : > : +.Sh DESCRIPTION : > : +The : > : +.Nm : > : +program is used to send Wake on LAN (WoL) frames over a local : > : +Ethernet network to one or more hosts using their link layer : > (hardware) : > : +addresses. : > : +WoL functionality is generally enabled in a machine's BIOS : > : +and can be used to power on machines from a remote system without : > : +having physical access to them. : > : +.Pp : > : +.Ar interface : > : +is the network interface of the local machine. : > : +.Ar lladdr : > : +are the link layer addresses of the remote machines : > : +and can be specified as the actual hardware address : > : +(six hexadecimal numbers separated by colons) : > : +or a hostname entry in : > : +.Pa /etc/ethers . : > : +Link layer addresses can be determined and set on : > : +.Fx : > : +machines using : > : +.Xr ifconfig 8 . : > : +.Sh FILES : > : +.Bl -tag -width "/etc/ethers" -compact : > : +.It /etc/ethers : > : +Ethernet host name database. : > : +.El : > : +.Sh SEE ALSO : > : +.Xr ethers 5 , : > : +.Xr ifconfig 8 : > : +.Sh AUTHORS : > : +.Nm : > : +was written by : > : +.Ar Marc Balmer Aq marc@msys.ch . : > : : > : Added: head/usr.sbin/wake/wake.c : > : : > = : > = : > = : > = : > = : > = : > = : > = : > ====================================================================== : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) : > : @@ -0,0 +1,174 @@ : > : +/* : > : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer : > : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. : > : + * : > : + * Redistribution and use in source and binary forms, with or : > without : > : + * modification, are permitted provided that the following : > conditions : > : + * are met: : > : + * : > : + * 1. Redistributions of source code must retain the above : > copyright : > : + * notice, this list of conditions and the following disclaimer. : > : + * 2. Author's name may not be used endorse or promote products : > derived : > : + * from this software without specific prior written permission. : > : + * : > : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY : > EXPRESS OR : > : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED : > : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR : > PURPOSE ARE : > : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY : > DIRECT, : > : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL : > DAMAGES : > : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE : > GOODS OR : > : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS : > INTERRUPTION) : > : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN : > CONTRACT, : > : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) : > ARISING : > : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF : > THE : > : + * POSSIBILITY OF SUCH DAMAGE. : > : + */ : > : + : > : +#include : > : +__FBSDID("$FreeBSD$"); : > : + : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : + : > : +#include : > : +#include : > : + : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : +#include : > : + : > : +#define _PATH_BPF "/dev/bpf" : > : + : > : +#ifndef SYNC_LEN : > : +#define SYNC_LEN 6 : > : +#endif : > : + : > : +#ifndef DESTADDR_COUNT : > : +#define DESTADDR_COUNT 16 : > : +#endif : > : + : > : +void usage(void); : > : + : > : +int wake(const char *iface, const char *host); : > : +int bind_if_to_bpf(char const *ifname, int bpf); : > : +int get_ether(char const *text, struct ether_addr *addr); : > : +int send_wakeup(int bpf, struct ether_addr const *addr); : > : + : > : +void : > : +usage(void) : > : +{ : > : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); : > : + exit(0); : > : +} : > : + : > : +int : > : +wake(const char *iface, const char *host) : > : +{ : > : + int res, bpf; : > : + struct ether_addr macaddr; : > : + : > : + bpf = open(_PATH_BPF, O_RDWR); : > : + if (bpf == -1) { : > : + printf("no bpf\n"); : > : + return -1; : > : + } : > : + if (bind_if_to_bpf(iface, bpf) == -1 || : > : + get_ether(host, &macaddr) == -1) { : > : + (void)close(bpf); : > : + return -1; : > : + } : > : + res = send_wakeup(bpf, &macaddr); : > : + (void)close(bpf); : > : + return res; : > : +} : > : + : > : +int : > : +bind_if_to_bpf(char const *ifname, int bpf) : > : +{ : > : + struct ifreq ifr; : > : + u_int dlt; : > : + : > : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= : > : + sizeof(ifr.ifr_name)) : > : + return -1; : > : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) : > : + return -1; : > : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) : > : + return -1; : > : + if (dlt != DLT_EN10MB) : > : + return -1; : > : + return 0; : > : +} : > : + : > : +int : > : +get_ether(char const *text, struct ether_addr *addr) : > : +{ : > : + struct ether_addr *paddr; : > : + : > : + paddr = ether_aton(text); : > : + if (paddr != NULL) { : > : + *addr = *paddr; : > : + return 0; : > : + } : > : + if (ether_hostton(text, addr)) : > : + return -1; : > : + return 0; : > : +} : > : + : > : +int : > : +send_wakeup(int bpf, struct ether_addr const *addr) : > : +{ : > : + struct { : > : + struct ether_header hdr; : > : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; : > : + } pkt; : > : + u_char *p; : > : + int i; : > : + ssize_t bw; : > : + ssize_t len; : > : + : > : + (void)memset(pkt.hdr.ether_dhost, 0xff, : > sizeof(pkt.hdr.ether_dhost)); : > : + pkt.hdr.ether_type = htons(0); : > : + (void)memset(pkt.data, 0xff, SYNC_LEN); : > : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; : > : + p += ETHER_ADDR_LEN, i++) : > : + bcopy(addr->octet, p, ETHER_ADDR_LEN); : > : + p = (u_char *)&pkt; : > : + len = sizeof(pkt); : > : + bw = 0; : > : + while (len) { : > : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) : > : + return -1; : > : + len -= bw; : > : + p += bw; : > : + } : > : + return 0; : > : +} : > : + : > : +int : > : +main(int argc, char *argv[]) : > : +{ : > : + int n; : > : + : > : + if (argc < 3) : > : + usage(); : > : + : > : + for (n = 2; n < argc; n++) : > : + if (wake(argv[1], argv[n])) : > : + warnx("error sending Wake on LAN frame over %s to %s", : > : + argv[1], argv[n]); : > : + return 0; : > : +} : > : : > _______________________________________________ : > svn-src-all@freebsd.org mailing list : > http://lists.freebsd.org/mailman/listinfo/svn-src-all : > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" : : From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:18:14 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E5D1106566C; Tue, 30 Jun 2009 20:18:14 +0000 (UTC) (envelope-from serenity@exscape.org) Received: from ch-smtp01.sth.basefarm.net (ch-smtp01.sth.basefarm.net [80.76.149.212]) by mx1.freebsd.org (Postfix) with ESMTP id 2371A8FC18; Tue, 30 Jun 2009 20:18:14 +0000 (UTC) (envelope-from serenity@exscape.org) Received: from c83-253-252-234.bredband.comhem.se ([83.253.252.234]:50537 helo=mx.exscape.org) by ch-smtp01.sth.basefarm.net with esmtp (Exim 4.69) (envelope-from ) id 1MLjX8-00029W-4Q; Tue, 30 Jun 2009 22:02:28 +0200 Received: from [192.168.1.5] (macbookpro [192.168.1.5]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mx.exscape.org (Postfix) with ESMTPSA id 26C4CCD37; Tue, 30 Jun 2009 22:02:22 +0200 (CEST) Message-Id: From: Thomas Backman To: Martin Blapp In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 22:02:19 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> X-Mailer: Apple Mail (2.935.3) X-Originating-IP: 83.253.252.234 X-Scan-Result: No virus found in message 1MLjX8-00029W-4Q. X-Scan-Signature: ch-smtp01.sth.basefarm.net 1MLjX8-00029W-4Q 4a1d6d053815746d26bfa7e40ee24261 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:18:15 -0000 On Jun 30, 2009, at 08:51 PM, Martin Blapp wrote: > > +void > +usage(void) > +{ > + (void)fprintf(stderr, "usage: wake interface lladdr\n"); > + exit(0); > +} > [...] > + for (n = 2; n < argc; n++) > + if (wake(argv[1], argv[n])) > + warnx("error sending Wake on LAN frame over %s to %s", > + argv[1], argv[n]); > + return 0; > +} The usage() function doesn't mention the possibility of specifying multiple hosts (although it appears the manual page does mention it). Regards, Thomas From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:21:48 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DA7D106566C; Tue, 30 Jun 2009 20:21:48 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id DED518FC13; Tue, 30 Jun 2009 20:21:47 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKLdRq029770 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 22:21:40 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKLcRO025084 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 22:21:39 +0200 (CEST) Message-Id: <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> From: Marc Balmer To: "M. Warner Losh" In-Reply-To: <20090630.141340.289711551.imp@bsdimp.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 22:21:38 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090630.133608.-1703974521.imp@bsdimp.com> <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:21:49 -0000 Am 30.06.2009 um 22:13 schrieb M. Warner Losh: > In message: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> > Marc Balmer writes: > : > : Am 30.06.2009 um 21:36 schrieb M. Warner Losh: > : > : > wake really is too generic a name for this. Why didn't the wol > port > : > get committed anyway, it seems to be better than this... > : > : wake is a short, mnemonic and imperative name that describes what > the > : command does. It is exactly the same command as in NetBSD. > > And the discussions in the NetBSD src discussion mailing lists have > resolved the issue with finality? well, yes. the name stays, as martin put it so correctly "the one who does the work chooses the name". And we use this name since 2006 on various OSs. And I think it is not a weak name, I can not think of any other sensible use of this command name, really. > > Warner > > > : > Warner > : > > : > > : > In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> > : > Martin Blapp writes: > : > : Author: mbr > : > : Date: Tue Jun 30 18:51:22 2009 > : > : New Revision: 195200 > : > : URL: http://svn.freebsd.org/changeset/base/195200 > : > : > : > : Log: > : > : Add wake, a tool to send Wake on LAN frames to hosts on a > local > : > Ethernet network > : > : > : > : Submitted by: Marc Balmer > : > : Reviewed by: rwatson > : > : Approved by: re > : > : > : > : M usr.sbin/Makefile > : > : A usr.sbin/wake > : > : AM usr.sbin/wake/wake.c > : > : AM usr.sbin/wake/Makefile > : > : AM usr.sbin/wake/wake.8 > : > : > : > : Added: > : > : head/usr.sbin/wake/ > : > : head/usr.sbin/wake/Makefile (contents, props changed) > : > : head/usr.sbin/wake/wake.8 (contents, props changed) > : > : head/usr.sbin/wake/wake.c (contents, props changed) > : > : Modified: > : > : head/usr.sbin/Makefile > : > : > : > : Modified: head/usr.sbin/Makefile > : > : > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > > ====================================================================== > : > : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) > : > : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) > : > : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ > : > : ${_usbconfig} \ > : > : ${_vidcontrol} \ > : > : vipw \ > : > : + wake \ > : > : watch \ > : > : watchdogd \ > : > : ${_wlandebug} \ > : > : > : > : Added: head/usr.sbin/wake/Makefile > : > : > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > > ====================================================================== > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : > : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 > (r195200) > : > : @@ -0,0 +1,8 @@ > : > : +# $FreeBSD$ > : > : + > : > : +PROG= wake > : > : +MAN= wake.8 > : > : + > : > : +WARNS?= 2 > : > : + > : > : +.include > : > : > : > : Added: head/usr.sbin/wake/wake.8 > : > : > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > > ====================================================================== > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : > : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) > : > : @@ -0,0 +1,61 @@ > : > : +.\" > : > : +.\" $FreeBSD$ > : > : +.\" > : > : +.\" Copyright (c) 2009 Marc Balmer > : > : +.\" > : > : +.\" Permission to use, copy, modify, and distribute this > software > : > for any > : > : +.\" purpose with or without fee is hereby granted, provided > that > : > the above > : > : +.\" copyright notice and this permission notice appear in all > : > copies. > : > : +.\" > : > : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS > ALL > : > WARRANTIES > : > : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > WARRANTIES > : > OF > : > : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR > BE > : > LIABLE FOR > : > : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR > : > ANY DAMAGES > : > : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > : > WHETHER IN AN > : > : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > : > ARISING OUT OF > : > : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > : > : +.\" > : > : +.Dd June 27 2009 > : > : +.Dt WAKE 8 > : > : +.Os > : > : +.Sh NAME > : > : +.Nm wake > : > : +.Nd send Wake on LAN frames to hosts on a local Ethernet > network > : > : +.Sh SYNOPSIS > : > : +.Nm > : > : +.Ar interface > : > : +.Op Ar lladdr ... > : > : +.Sh DESCRIPTION > : > : +The > : > : +.Nm > : > : +program is used to send Wake on LAN (WoL) frames over a local > : > : +Ethernet network to one or more hosts using their link layer > : > (hardware) > : > : +addresses. > : > : +WoL functionality is generally enabled in a machine's BIOS > : > : +and can be used to power on machines from a remote system > without > : > : +having physical access to them. > : > : +.Pp > : > : +.Ar interface > : > : +is the network interface of the local machine. > : > : +.Ar lladdr > : > : +are the link layer addresses of the remote machines > : > : +and can be specified as the actual hardware address > : > : +(six hexadecimal numbers separated by colons) > : > : +or a hostname entry in > : > : +.Pa /etc/ethers . > : > : +Link layer addresses can be determined and set on > : > : +.Fx > : > : +machines using > : > : +.Xr ifconfig 8 . > : > : +.Sh FILES > : > : +.Bl -tag -width "/etc/ethers" -compact > : > : +.It /etc/ethers > : > : +Ethernet host name database. > : > : +.El > : > : +.Sh SEE ALSO > : > : +.Xr ethers 5 , > : > : +.Xr ifconfig 8 > : > : +.Sh AUTHORS > : > : +.Nm > : > : +was written by > : > : +.Ar Marc Balmer Aq marc@msys.ch . > : > : > : > : Added: head/usr.sbin/wake/wake.c > : > : > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > = > : > > ====================================================================== > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) > : > : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) > : > : @@ -0,0 +1,174 @@ > : > : +/* > : > : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer > > : > : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. > : > : + * > : > : + * Redistribution and use in source and binary forms, with or > : > without > : > : + * modification, are permitted provided that the following > : > conditions > : > : + * are met: > : > : + * > : > : + * 1. Redistributions of source code must retain the above > : > copyright > : > : + * notice, this list of conditions and the following > disclaimer. > : > : + * 2. Author's name may not be used endorse or promote products > : > derived > : > : + * from this software without specific prior written > permission. > : > : + * > : > : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY > : > EXPRESS OR > : > : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > IMPLIED > : > : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > : > PURPOSE ARE > : > : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY > : > DIRECT, > : > : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > : > DAMAGES > : > : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > : > GOODS OR > : > : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > : > INTERRUPTION) > : > : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > : > CONTRACT, > : > : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR > OTHERWISE) > : > ARISING > : > : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF > ADVISED OF > : > THE > : > : + * POSSIBILITY OF SUCH DAMAGE. > : > : + */ > : > : + > : > : +#include > : > : +__FBSDID("$FreeBSD$"); > : > : + > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : + > : > : +#include > : > : +#include > : > : + > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : +#include > : > : + > : > : +#define _PATH_BPF "/dev/bpf" > : > : + > : > : +#ifndef SYNC_LEN > : > : +#define SYNC_LEN 6 > : > : +#endif > : > : + > : > : +#ifndef DESTADDR_COUNT > : > : +#define DESTADDR_COUNT 16 > : > : +#endif > : > : + > : > : +void usage(void); > : > : + > : > : +int wake(const char *iface, const char *host); > : > : +int bind_if_to_bpf(char const *ifname, int bpf); > : > : +int get_ether(char const *text, struct ether_addr *addr); > : > : +int send_wakeup(int bpf, struct ether_addr const *addr); > : > : + > : > : +void > : > : +usage(void) > : > : +{ > : > : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); > : > : + exit(0); > : > : +} > : > : + > : > : +int > : > : +wake(const char *iface, const char *host) > : > : +{ > : > : + int res, bpf; > : > : + struct ether_addr macaddr; > : > : + > : > : + bpf = open(_PATH_BPF, O_RDWR); > : > : + if (bpf == -1) { > : > : + printf("no bpf\n"); > : > : + return -1; > : > : + } > : > : + if (bind_if_to_bpf(iface, bpf) == -1 || > : > : + get_ether(host, &macaddr) == -1) { > : > : + (void)close(bpf); > : > : + return -1; > : > : + } > : > : + res = send_wakeup(bpf, &macaddr); > : > : + (void)close(bpf); > : > : + return res; > : > : +} > : > : + > : > : +int > : > : +bind_if_to_bpf(char const *ifname, int bpf) > : > : +{ > : > : + struct ifreq ifr; > : > : + u_int dlt; > : > : + > : > : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= > : > : + sizeof(ifr.ifr_name)) > : > : + return -1; > : > : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) > : > : + return -1; > : > : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) > : > : + return -1; > : > : + if (dlt != DLT_EN10MB) > : > : + return -1; > : > : + return 0; > : > : +} > : > : + > : > : +int > : > : +get_ether(char const *text, struct ether_addr *addr) > : > : +{ > : > : + struct ether_addr *paddr; > : > : + > : > : + paddr = ether_aton(text); > : > : + if (paddr != NULL) { > : > : + *addr = *paddr; > : > : + return 0; > : > : + } > : > : + if (ether_hostton(text, addr)) > : > : + return -1; > : > : + return 0; > : > : +} > : > : + > : > : +int > : > : +send_wakeup(int bpf, struct ether_addr const *addr) > : > : +{ > : > : + struct { > : > : + struct ether_header hdr; > : > : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; > : > : + } pkt; > : > : + u_char *p; > : > : + int i; > : > : + ssize_t bw; > : > : + ssize_t len; > : > : + > : > : + (void)memset(pkt.hdr.ether_dhost, 0xff, > : > sizeof(pkt.hdr.ether_dhost)); > : > : + pkt.hdr.ether_type = htons(0); > : > : + (void)memset(pkt.data, 0xff, SYNC_LEN); > : > : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; > : > : + p += ETHER_ADDR_LEN, i++) > : > : + bcopy(addr->octet, p, ETHER_ADDR_LEN); > : > : + p = (u_char *)&pkt; > : > : + len = sizeof(pkt); > : > : + bw = 0; > : > : + while (len) { > : > : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) > : > : + return -1; > : > : + len -= bw; > : > : + p += bw; > : > : + } > : > : + return 0; > : > : +} > : > : + > : > : +int > : > : +main(int argc, char *argv[]) > : > : +{ > : > : + int n; > : > : + > : > : + if (argc < 3) > : > : + usage(); > : > : + > : > : + for (n = 2; n < argc; n++) > : > : + if (wake(argv[1], argv[n])) > : > : + warnx("error sending Wake on LAN frame over %s to %s", > : > : + argv[1], argv[n]); > : > : + return 0; > : > : +} > : > : > : > _______________________________________________ > : > svn-src-all@freebsd.org mailing list > : > http://lists.freebsd.org/mailman/listinfo/svn-src-all > : > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org > " > : > : From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:22:36 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B49D11065674; Tue, 30 Jun 2009 20:22:36 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 3AAC48FC1F; Tue, 30 Jun 2009 20:22:36 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKMSix024820 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 22:22:28 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5UKLcRP025084 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 22:22:28 +0200 (CEST) Message-Id: From: Marc Balmer To: Thomas Backman In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 22:22:28 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Martin Blapp , src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:22:37 -0000 Am 30.06.2009 um 22:02 schrieb Thomas Backman: > On Jun 30, 2009, at 08:51 PM, Martin Blapp wrote: > >> >> +void >> +usage(void) >> +{ >> + (void)fprintf(stderr, "usage: wake interface lladdr\n"); >> + exit(0); >> +} >> [...] >> + for (n = 2; n < argc; n++) >> + if (wake(argv[1], argv[n])) >> + warnx("error sending Wake on LAN frame over %s to %s", >> + argv[1], argv[n]); >> + return 0; >> +} > The usage() function doesn't mention the possibility of specifying > multiple hosts (although it appears the manual page does mention it). yes, that is wrong. I will send mbr@ a diff shortly. > > Regards, > Thomas > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:52:15 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4F1B106564A; Tue, 30 Jun 2009 20:52:15 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-fx0-f218.google.com (mail-fx0-f218.google.com [209.85.220.218]) by mx1.freebsd.org (Postfix) with ESMTP id 017328FC12; Tue, 30 Jun 2009 20:52:14 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: by fxm18 with SMTP id 18so388165fxm.43 for ; Tue, 30 Jun 2009 13:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=odRzuLW28U6vGyzqJAY+FduDb6mWnnxO/h2zTE9+ff4=; b=aC8pF1VMbpyRs+EC6S2N+LPLJ5Imiwb7UtobemYvExp3Y4N+We75wQO9Wm8aZf1cU6 9sTkyneKnUCFNLq+lOz8dUZVH1E4OJy9xM5Fyw7HrjOvQrENIq+Zm9o9E96y1eqjOian Lwyw2SpbNIYPcsigDgE4hBP3QRa0vY0+xmhqw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=L4WtOTVJ3Pir/p15HN1OpTM54GB8dMT2IwnlyKJuCezONEwzRDqCTzoPBXbra7z/UD mAhE3iSaW9tmzZogXqn5pL3OmvMybAXm0jz8imVjn5H66Eh68o1U3Wfnv2uAlvrMeEaB wAXea6SFhm3egc+mDD2JIDswhcmjy7sEbamgU= MIME-Version: 1.0 Received: by 10.204.61.204 with SMTP id u12mr8673675bkh.149.1246393335429; Tue, 30 Jun 2009 13:22:15 -0700 (PDT) In-Reply-To: <20090630201422.GD48776@hoeg.nl> References: <200906301903.n5UJ3RrE089516@svn.freebsd.org> <20090630201422.GD48776@hoeg.nl> Date: Wed, 1 Jul 2009 00:22:15 +0400 Message-ID: From: pluknet To: Ed Schouten Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Doug Rabson , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r195202 - in head/sys: conf i386/i386 modules/nfsclient modules/nfsserver nfs nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:52:16 -0000 2009/7/1 Ed Schouten : > Hi Doug, > > * Doug Rabson wrote: >> Log: >> Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. >> >> Approved by: re > > It seems /sys/amd64/amd64/genassym.c doesn't build anymore, because it > includes . It seems removing the #include fixes the build. > Moreover, this file should go to ObsoleteFiles.inc. -- wbr, pluknet From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:52:21 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8389A106573F; Tue, 30 Jun 2009 20:52:21 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id E2DE48FC0A; Tue, 30 Jun 2009 20:52:20 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UKoAEH022184; Tue, 30 Jun 2009 14:50:11 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 14:50:35 -0600 (MDT) Message-Id: <20090630.145035.1708682790.imp@bsdimp.com> To: marc@msys.ch From: "M. Warner Losh" In-Reply-To: <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:52:22 -0000 In message: <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> Marc Balmer writes: : : Am 30.06.2009 um 22:13 schrieb M. Warner Losh: : : > In message: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> : > Marc Balmer writes: : > : : > : Am 30.06.2009 um 21:36 schrieb M. Warner Losh: : > : : > : > wake really is too generic a name for this. Why didn't the wol : > port : > : > get committed anyway, it seems to be better than this... : > : : > : wake is a short, mnemonic and imperative name that describes what : > the : > : command does. It is exactly the same command as in NetBSD. : > : > And the discussions in the NetBSD src discussion mailing lists have : > resolved the issue with finality? : : well, yes. the name stays, as martin put it so correctly "the one : who does : the work chooses the name". And we use this name since 2006 on various : OSs. And I think it is not a weak name, I can not think of any other : sensible : use of this command name, really. wol is one character shorter and equally descriptive :) Warner : > Warner : > : > : > : > Warner : > : > : > : > : > : > In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> : > : > Martin Blapp writes: : > : > : Author: mbr : > : > : Date: Tue Jun 30 18:51:22 2009 : > : > : New Revision: 195200 : > : > : URL: http://svn.freebsd.org/changeset/base/195200 : > : > : : > : > : Log: : > : > : Add wake, a tool to send Wake on LAN frames to hosts on a : > local : > : > Ethernet network : > : > : : > : > : Submitted by: Marc Balmer : > : > : Reviewed by: rwatson : > : > : Approved by: re : > : > : : > : > : M usr.sbin/Makefile : > : > : A usr.sbin/wake : > : > : AM usr.sbin/wake/wake.c : > : > : AM usr.sbin/wake/Makefile : > : > : AM usr.sbin/wake/wake.8 : > : > : : > : > : Added: : > : > : head/usr.sbin/wake/ : > : > : head/usr.sbin/wake/Makefile (contents, props changed) : > : > : head/usr.sbin/wake/wake.8 (contents, props changed) : > : > : head/usr.sbin/wake/wake.c (contents, props changed) : > : > : Modified: : > : > : head/usr.sbin/Makefile : > : > : : > : > : Modified: head/usr.sbin/Makefile : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) : > : > : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ : > : > : ${_usbconfig} \ : > : > : ${_vidcontrol} \ : > : > : vipw \ : > : > : + wake \ : > : > : watch \ : > : > : watchdogd \ : > : > : ${_wlandebug} \ : > : > : : > : > : Added: head/usr.sbin/wake/Makefile : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 : > (r195200) : > : > : @@ -0,0 +1,8 @@ : > : > : +# $FreeBSD$ : > : > : + : > : > : +PROG= wake : > : > : +MAN= wake.8 : > : > : + : > : > : +WARNS?= 2 : > : > : + : > : > : +.include : > : > : : > : > : Added: head/usr.sbin/wake/wake.8 : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -0,0 +1,61 @@ : > : > : +.\" : > : > : +.\" $FreeBSD$ : > : > : +.\" : > : > : +.\" Copyright (c) 2009 Marc Balmer : > : > : +.\" : > : > : +.\" Permission to use, copy, modify, and distribute this : > software : > : > for any : > : > : +.\" purpose with or without fee is hereby granted, provided : > that : > : > the above : > : > : +.\" copyright notice and this permission notice appear in all : > : > copies. : > : > : +.\" : > : > : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS : > ALL : > : > WARRANTIES : > : > : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED : > WARRANTIES : > : > OF : > : > : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR : > BE : > : > LIABLE FOR : > : > : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR : > : > ANY DAMAGES : > : > : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, : > : > WHETHER IN AN : > : > : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, : > : > ARISING OUT OF : > : > : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS : > SOFTWARE. : > : > : +.\" : > : > : +.Dd June 27 2009 : > : > : +.Dt WAKE 8 : > : > : +.Os : > : > : +.Sh NAME : > : > : +.Nm wake : > : > : +.Nd send Wake on LAN frames to hosts on a local Ethernet : > network : > : > : +.Sh SYNOPSIS : > : > : +.Nm : > : > : +.Ar interface : > : > : +.Op Ar lladdr ... : > : > : +.Sh DESCRIPTION : > : > : +The : > : > : +.Nm : > : > : +program is used to send Wake on LAN (WoL) frames over a local : > : > : +Ethernet network to one or more hosts using their link layer : > : > (hardware) : > : > : +addresses. : > : > : +WoL functionality is generally enabled in a machine's BIOS : > : > : +and can be used to power on machines from a remote system : > without : > : > : +having physical access to them. : > : > : +.Pp : > : > : +.Ar interface : > : > : +is the network interface of the local machine. : > : > : +.Ar lladdr : > : > : +are the link layer addresses of the remote machines : > : > : +and can be specified as the actual hardware address : > : > : +(six hexadecimal numbers separated by colons) : > : > : +or a hostname entry in : > : > : +.Pa /etc/ethers . : > : > : +Link layer addresses can be determined and set on : > : > : +.Fx : > : > : +machines using : > : > : +.Xr ifconfig 8 . : > : > : +.Sh FILES : > : > : +.Bl -tag -width "/etc/ethers" -compact : > : > : +.It /etc/ethers : > : > : +Ethernet host name database. : > : > : +.El : > : > : +.Sh SEE ALSO : > : > : +.Xr ethers 5 , : > : > : +.Xr ifconfig 8 : > : > : +.Sh AUTHORS : > : > : +.Nm : > : > : +was written by : > : > : +.Ar Marc Balmer Aq marc@msys.ch . : > : > : : > : > : Added: head/usr.sbin/wake/wake.c : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -0,0 +1,174 @@ : > : > : +/* : > : > : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer > : > : > : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. : > : > : + * : > : > : + * Redistribution and use in source and binary forms, with or : > : > without : > : > : + * modification, are permitted provided that the following : > : > conditions : > : > : + * are met: : > : > : + * : > : > : + * 1. Redistributions of source code must retain the above : > : > copyright : > : > : + * notice, this list of conditions and the following : > disclaimer. : > : > : + * 2. Author's name may not be used endorse or promote products : > : > derived : > : > : + * from this software without specific prior written : > permission. : > : > : + * : > : > : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY : > : > EXPRESS OR : > : > : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE : > IMPLIED : > : > : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR : > : > PURPOSE ARE : > : > : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY : > : > DIRECT, : > : > : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL : > : > DAMAGES : > : > : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE : > : > GOODS OR : > : > : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS : > : > INTERRUPTION) : > : > : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN : > : > CONTRACT, : > : > : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR : > OTHERWISE) : > : > ARISING : > : > : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF : > ADVISED OF : > : > THE : > : > : + * POSSIBILITY OF SUCH DAMAGE. : > : > : + */ : > : > : + : > : > : +#include : > : > : +__FBSDID("$FreeBSD$"); : > : > : + : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : + : > : > : +#include : > : > : +#include : > : > : + : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : + : > : > : +#define _PATH_BPF "/dev/bpf" : > : > : + : > : > : +#ifndef SYNC_LEN : > : > : +#define SYNC_LEN 6 : > : > : +#endif : > : > : + : > : > : +#ifndef DESTADDR_COUNT : > : > : +#define DESTADDR_COUNT 16 : > : > : +#endif : > : > : + : > : > : +void usage(void); : > : > : + : > : > : +int wake(const char *iface, const char *host); : > : > : +int bind_if_to_bpf(char const *ifname, int bpf); : > : > : +int get_ether(char const *text, struct ether_addr *addr); : > : > : +int send_wakeup(int bpf, struct ether_addr const *addr); : > : > : + : > : > : +void : > : > : +usage(void) : > : > : +{ : > : > : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); : > : > : + exit(0); : > : > : +} : > : > : + : > : > : +int : > : > : +wake(const char *iface, const char *host) : > : > : +{ : > : > : + int res, bpf; : > : > : + struct ether_addr macaddr; : > : > : + : > : > : + bpf = open(_PATH_BPF, O_RDWR); : > : > : + if (bpf == -1) { : > : > : + printf("no bpf\n"); : > : > : + return -1; : > : > : + } : > : > : + if (bind_if_to_bpf(iface, bpf) == -1 || : > : > : + get_ether(host, &macaddr) == -1) { : > : > : + (void)close(bpf); : > : > : + return -1; : > : > : + } : > : > : + res = send_wakeup(bpf, &macaddr); : > : > : + (void)close(bpf); : > : > : + return res; : > : > : +} : > : > : + : > : > : +int : > : > : +bind_if_to_bpf(char const *ifname, int bpf) : > : > : +{ : > : > : + struct ifreq ifr; : > : > : + u_int dlt; : > : > : + : > : > : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= : > : > : + sizeof(ifr.ifr_name)) : > : > : + return -1; : > : > : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) : > : > : + return -1; : > : > : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) : > : > : + return -1; : > : > : + if (dlt != DLT_EN10MB) : > : > : + return -1; : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +get_ether(char const *text, struct ether_addr *addr) : > : > : +{ : > : > : + struct ether_addr *paddr; : > : > : + : > : > : + paddr = ether_aton(text); : > : > : + if (paddr != NULL) { : > : > : + *addr = *paddr; : > : > : + return 0; : > : > : + } : > : > : + if (ether_hostton(text, addr)) : > : > : + return -1; : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +send_wakeup(int bpf, struct ether_addr const *addr) : > : > : +{ : > : > : + struct { : > : > : + struct ether_header hdr; : > : > : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; : > : > : + } pkt; : > : > : + u_char *p; : > : > : + int i; : > : > : + ssize_t bw; : > : > : + ssize_t len; : > : > : + : > : > : + (void)memset(pkt.hdr.ether_dhost, 0xff, : > : > sizeof(pkt.hdr.ether_dhost)); : > : > : + pkt.hdr.ether_type = htons(0); : > : > : + (void)memset(pkt.data, 0xff, SYNC_LEN); : > : > : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; : > : > : + p += ETHER_ADDR_LEN, i++) : > : > : + bcopy(addr->octet, p, ETHER_ADDR_LEN); : > : > : + p = (u_char *)&pkt; : > : > : + len = sizeof(pkt); : > : > : + bw = 0; : > : > : + while (len) { : > : > : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) : > : > : + return -1; : > : > : + len -= bw; : > : > : + p += bw; : > : > : + } : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +main(int argc, char *argv[]) : > : > : +{ : > : > : + int n; : > : > : + : > : > : + if (argc < 3) : > : > : + usage(); : > : > : + : > : > : + for (n = 2; n < argc; n++) : > : > : + if (wake(argv[1], argv[n])) : > : > : + warnx("error sending Wake on LAN frame over %s to %s", : > : > : + argv[1], argv[n]); : > : > : + return 0; : > : > : +} : > : > : : > : > _______________________________________________ : > : > svn-src-all@freebsd.org mailing list : > : > http://lists.freebsd.org/mailman/listinfo/svn-src-all : > : > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org : > " : > : : > : : : From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:52:56 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEC3B10656C5 for ; Tue, 30 Jun 2009 20:52:56 +0000 (UTC) (envelope-from max@love2party.net) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.188]) by mx1.freebsd.org (Postfix) with ESMTP id 647F48FC2A for ; Tue, 30 Jun 2009 20:52:56 +0000 (UTC) (envelope-from max@love2party.net) Received: from vampire.homelinux.org (dslb-088-066-037-051.pools.arcor-ip.net [88.66.37.51]) by mrelayeu.kundenserver.de (node=mrelayeu5) with ESMTP (Nemesis) id 0ML25U-1MLkJy36mF-00009D; Tue, 30 Jun 2009 22:52:54 +0200 Received: (qmail 68641 invoked from network); 30 Jun 2009 20:52:54 -0000 Received: from kvm.laiers.local (HELO kvm.localnet) (192.168.4.187) by mx.laiers.local with SMTP; 30 Jun 2009 20:52:54 -0000 From: Max Laier Organization: FreeBSD To: Ulrich =?utf-8?q?Sp=C3=B6rlein?= Date: Tue, 30 Jun 2009 22:52:52 +0200 User-Agent: KMail/1.11.3 (Linux/2.6.30-rc5-ARCH; KDE/4.2.3; x86_64; ; ) References: <86prcl23k8.fsf@ds4.des.no> <20090630.094632.195416436.imp@bsdimp.com> <20090630193712.GA5446@roadrunner.spoerlein.net> In-Reply-To: <20090630193712.GA5446@roadrunner.spoerlein.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200906302252.53894.max@love2party.net> X-Provags-ID: V01U2FsdGVkX1/aPiU3kShASx5Hk1QMlP/Sz6t+QvcuochVw7C rGoI7M6h5O1QrGwDyIIxHGwxvqQroLI1JNMw7s5ElfBIMNG0P/ Y+R6IJSX7epHhUPxKHDWQ== Cc: ed@80386.nl, src-committers@freebsd.org, svn-src-all@freebsd.org, rwatson@freebsd.org, rafan@freebsd.org, svn-src-head@freebsd.org, des@des.no, "M. Warner Losh" Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:52:57 -0000 On Tuesday 30 June 2009 21:37:12 Ulrich Sp=C3=B6rlein wrote: > On Tue, 30.06.2009 at 09:46:32 -0600, M. Warner Losh wrote: > > In message: > > > > Robert Watson writes: > > : On Tue, 30 Jun 2009, M. Warner Losh wrote: > > : > Last time this BBQ came up, I thought it was agreed that there > > : > would be a xterm-XXX that didn't do this behavior for those folks > > : > that think the current behavior is harmfully wrong... > > : > > : Whereas I think it's a bug in more(1)/less(1) that it tries to use > > : those sequences... > > > > Agreed. vi too. I'll note that on Mac OS, in the xterm, you don't > > see this with either... But I don't know how to undo tic(1) > > formatting to get back to the raw xterm entries... > > For vim(1) you can use something like set t_ti=3D t_te=3D > > Btw, I do like the current behaviour, but if $PAGER can be coerced into > not clearing screen after exit, I think more people could be persuaded. $ alias less=3D'less -X' -X or --no-init Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clear- ing the screen. It's one of the first things I do when I get a linux shell account=20 somewhere. =2D-=20 /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:53:57 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4178C10656DE; Tue, 30 Jun 2009 20:53:57 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2F72A8FC17; Tue, 30 Jun 2009 20:53:57 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UKrvbN091956; Tue, 30 Jun 2009 20:53:57 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UKrvOB091954; Tue, 30 Jun 2009 20:53:57 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200906302053.n5UKrvOB091954@svn.freebsd.org> From: Edward Tomasz Napierala Date: Tue, 30 Jun 2009 20:53:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195211 - head/lib/libc/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:53:57 -0000 Author: trasz Date: Tue Jun 30 20:53:56 2009 New Revision: 195211 URL: http://svn.freebsd.org/changeset/base/195211 Log: Make it clear where to look for for protocol-specific socket options. Reviewed by: rwatson Approved by: re (kib) Modified: head/lib/libc/sys/getsockopt.2 Modified: head/lib/libc/sys/getsockopt.2 ============================================================================== --- head/lib/libc/sys/getsockopt.2 Tue Jun 30 19:44:23 2009 (r195210) +++ head/lib/libc/sys/getsockopt.2 Tue Jun 30 20:53:56 2009 (r195211) @@ -139,6 +139,11 @@ argument, defined in .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ on a non-listening socket was attempted. .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 20:53:58 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4875D1065672; Tue, 30 Jun 2009 20:53:58 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36B3D8FC1A; Tue, 30 Jun 2009 20:53:58 +0000 (UTC) (envelope-from brian@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UKrwus091990; Tue, 30 Jun 2009 20:53:58 GMT (envelope-from brian@svn.freebsd.org) Received: (from brian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UKrwMB091988; Tue, 30 Jun 2009 20:53:58 GMT (envelope-from brian@svn.freebsd.org) Message-Id: <200906302053.n5UKrwMB091988@svn.freebsd.org> From: Brian Somers Date: Tue, 30 Jun 2009 20:53:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195212 - head/usr.sbin/pkg_install/lib X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 20:53:58 -0000 Author: brian Date: Tue Jun 30 20:53:57 2009 New Revision: 195212 URL: http://svn.freebsd.org/changeset/base/195212 Log: Don't imply that only FTP urls are supported when we can't fetch a package. Approved by: re (kib) MFC after: 3 weeks Modified: head/usr.sbin/pkg_install/lib/url.c Modified: head/usr.sbin/pkg_install/lib/url.c ============================================================================== --- head/usr.sbin/pkg_install/lib/url.c Tue Jun 30 20:53:56 2009 (r195211) +++ head/usr.sbin/pkg_install/lib/url.c Tue Jun 30 20:53:57 2009 (r195212) @@ -106,7 +106,7 @@ fileGetURL(const char *base, const char fetchDebug = (Verbose > 0); if ((ftp = fetchGetURL(fname, Verbose ? "v" : NULL)) == NULL) { - printf("Error: FTP Unable to get %s: %s\n", + printf("Error: Unable to get %s: %s\n", fname, fetchLastErrString); return NULL; } From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:08:18 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BCFD1065670; Tue, 30 Jun 2009 21:08:18 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 136248FC08; Tue, 30 Jun 2009 21:08:17 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UL6XBp022383; Tue, 30 Jun 2009 15:06:33 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 15:06:58 -0600 (MDT) Message-Id: <20090630.150658.1306326527.imp@bsdimp.com> To: max@love2party.net From: "M. Warner Losh" In-Reply-To: <200906302252.53894.max@love2party.net> References: <20090630.094632.195416436.imp@bsdimp.com> <20090630193712.GA5446@roadrunner.spoerlein.net> <200906302252.53894.max@love2party.net> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: ed@80386.nl, src-committers@FreeBSD.org, uqs@spoerlein.net, rwatson@FreeBSD.org, svn-src-head@FreeBSD.org, des@des.no, svn-src-all@FreeBSD.org, rafan@FreeBSD.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:08:18 -0000 In message: <200906302252.53894.max@love2party.net> Max Laier writes: : On Tuesday 30 June 2009 21:37:12 Ulrich Sp=F6rlein wrote: : > On Tue, 30.06.2009 at 09:46:32 -0600, M. Warner Losh wrote: : > > In message: : > > : > > Robert Watson writes: : > > : On Tue, 30 Jun 2009, M. Warner Losh wrote: : > > : > Last time this BBQ came up, I thought it was agreed that ther= e : > > : > would be a xterm-XXX that didn't do this behavior for those f= olks : > > : > that think the current behavior is harmfully wrong... : > > : : > > : Whereas I think it's a bug in more(1)/less(1) that it tries to = use : > > : those sequences... : > > : > > Agreed. vi too. I'll note that on Mac OS, in the xterm, you don= 't : > > see this with either... But I don't know how to undo tic(1) : > > formatting to get back to the raw xterm entries... : > : > For vim(1) you can use something like set t_ti=3D t_te=3D : > : > Btw, I do like the current behaviour, but if $PAGER can be coerced = into : > not clearing screen after exit, I think more people could be persua= ded. : = : $ alias less=3D'less -X' : = : -X or --no-init : Disables sending the termcap initialization and deinitializ= ation : strings to the terminal. This is sometimes desirable if= the : deinitialization string does something unnecessary, like c= lear- : ing the screen. : = : It's one of the first things I do when I get a linux shell account = : somewhere. Looks like "setenv LESS -X" or "export LESS=3D-X" would do the same thing, no? And work for "more" too... Warner From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:09:33 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CF85106566C; Tue, 30 Jun 2009 21:09:33 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 0BF288FC0A; Tue, 30 Jun 2009 21:09:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n5UL9Vvw075329 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 14:09:32 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <4A4A7F0B.1010001@freebsd.org> Date: Tue, 30 Jun 2009 14:09:31 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.21 (X11/20090411) MIME-Version: 1.0 To: Marc Balmer References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> In-Reply-To: <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-sonic.net-Metrics: ebb.errno.com; whitelist Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:09:33 -0000 Marc Balmer wrote: > > Am 30.06.2009 um 21:07 schrieb Sam Leffler: > >> Martin Blapp wrote: >>> Author: mbr >>> Date: Tue Jun 30 18:51:22 2009 >>> New Revision: 195200 >>> URL: http://svn.freebsd.org/changeset/base/195200 >>> >>> Log: >>> Add wake, a tool to send Wake on LAN frames to hosts on a local >>> Ethernet network >>> Submitted by: Marc Balmer >>> Reviewed by: rwatson >>> Approved by: re >>> >> >> what's wrong with ports/net/wol? >> > > wake(8) is smaller and it is actually something needed in base. in > modern, ecological "green computing" environments we put the client > machines, like our POS terminals to sleep at night. In the morning, > a cronjob from the central server wakes up all machines using this > command. more and more systems support it, so havin a wake command in > base is just about right. > > The typical way things happen in freebsd is we promote tools from ports when they are deemed needed in the base system. In fact it's probably more important to have the tool in base remain compatible with what users have had in their tree (via ports). I have yet to hear a compelling argument for why wake was chosen over an existing tool that's been successfully used for a while. OTOH this isn't something that'll keep me up at night; it just seems like an ill-advised rush job that completely violates the intent of the 8.0 code freeze.. Sam From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:10:32 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7132D1065673; Tue, 30 Jun 2009 21:10:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 453798FC0A; Tue, 30 Jun 2009 21:10:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n5ULAUZI075355 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 14:10:30 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <4A4A7F46.2070904@freebsd.org> Date: Tue, 30 Jun 2009 14:10:30 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.21 (X11/20090411) MIME-Version: 1.0 To: Marc Balmer References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090630.133608.-1703974521.imp@bsdimp.com> <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> In-Reply-To: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-sonic.net-Metrics: ebb.errno.com; whitelist Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, mbr@freebsd.org, src-committers@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:10:32 -0000 Marc Balmer wrote: > > Am 30.06.2009 um 21:36 schrieb M. Warner Losh: > >> wake really is too generic a name for this. Why didn't the wol port >> get committed anyway, it seems to be better than this... > > wake is a short, mnemonic and imperative name that describes what the > command does. It is exactly the same command as in NetBSD. And you're conveniently ignoring the "discussion" that took place after the netbsd drive-by. Sam From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:26:04 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AD111065670; Tue, 30 Jun 2009 21:26:04 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id B20468FC15; Tue, 30 Jun 2009 21:26:03 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULPvV9020778 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 23:25:57 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULPuWL020575 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 23:25:56 +0200 (CEST) Message-Id: <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> From: Marc Balmer To: Sam Leffler In-Reply-To: <4A4A7F0B.1010001@freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 23:25:56 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:26:04 -0000 Am 30.06.2009 um 23:09 schrieb Sam Leffler: > Marc Balmer wrote: >> >> Am 30.06.2009 um 21:07 schrieb Sam Leffler: >> >>> Martin Blapp wrote: >>>> Author: mbr >>>> Date: Tue Jun 30 18:51:22 2009 >>>> New Revision: 195200 >>>> URL: http://svn.freebsd.org/changeset/base/195200 >>>> >>>> Log: >>>> Add wake, a tool to send Wake on LAN frames to hosts on a local >>>> Ethernet network >>>> Submitted by: Marc Balmer >>>> Reviewed by: rwatson >>>> Approved by: re >>>> >>> >>> what's wrong with ports/net/wol? >>> >> >> wake(8) is smaller and it is actually something needed in base. in >> modern, ecological "green computing" environments we put the client >> machines, like our POS terminals to sleep at night. In the >> morning, a cronjob from the central server wakes up all machines >> using this command. more and more systems support it, so havin a >> wake command in base is just about right. >> >> > The typical way things happen in freebsd is we promote tools from > ports when they are deemed needed in the base system. In fact it's > probably more important to have the tool in base remain compatible > with what users have had in their tree (via ports). > > I have yet to hear a compelling argument for why wake was chosen > over an existing tool that's been successfully used for a while. > OTOH this isn't something that'll keep me up at night; it just seems > like an ill-advised rush job that completely violates the intent of > the 8.0 code freeze.. a compelling argument could be that wake(8) is BSD licensed while wol found in ports/net/wol is GPL licensed and brings in a whole lot of a whole lot of a whole lot of a whole lot of a stuff with it, when actually, to send out Wake on LAN package, a small BSD licensed command like wake(8) is sufficient. it is much smaller an cleaner code. > > Sam > > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:29:41 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BC60106566C; Tue, 30 Jun 2009 21:29:41 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (skuns.zoral.com.ua [91.193.166.194]) by mx1.freebsd.org (Postfix) with ESMTP id E69AA8FC08; Tue, 30 Jun 2009 21:29:40 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id n5ULTaJf088717 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 00:29:36 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3) with ESMTP id n5ULTaH1056356; Wed, 1 Jul 2009 00:29:36 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3/Submit) id n5ULTa4n056355; Wed, 1 Jul 2009 00:29:36 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 1 Jul 2009 00:29:36 +0300 From: Kostik Belousov To: Marc Balmer Message-ID: <20090630212936.GC2884@deviant.kiev.zoral.com.ua> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="nxoMry5nym+Z12ly" Content-Disposition: inline In-Reply-To: <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.1 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Sam Leffler , Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:29:41 -0000 --nxoMry5nym+Z12ly Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 30, 2009 at 11:25:56PM +0200, Marc Balmer wrote: >=20 > Am 30.06.2009 um 23:09 schrieb Sam Leffler: >=20 > >Marc Balmer wrote: > >> > >>Am 30.06.2009 um 21:07 schrieb Sam Leffler: > >> > >>>Martin Blapp wrote: > >>>>Author: mbr > >>>>Date: Tue Jun 30 18:51:22 2009 > >>>>New Revision: 195200 > >>>>URL: http://svn.freebsd.org/changeset/base/195200 > >>>> > >>>>Log: > >>>>Add wake, a tool to send Wake on LAN frames to hosts on a local =20 > >>>>Ethernet network > >>>> Submitted by: Marc Balmer > >>>>Reviewed by: rwatson > >>>>Approved by: re > >>>> > >>> > >>>what's wrong with ports/net/wol? > >>> > >> > >>wake(8) is smaller and it is actually something needed in base. in =20 > >>modern, ecological "green computing" environments we put the client =20 > >>machines, like our POS terminals to sleep at night. In the =20 > >>morning, a cronjob from the central server wakes up all machines =20 > >>using this command. more and more systems support it, so havin a =20 > >>wake command in base is just about right. > >> > >> > >The typical way things happen in freebsd is we promote tools from =20 > >ports when they are deemed needed in the base system. In fact it's =20 > >probably more important to have the tool in base remain compatible =20 > >with what users have had in their tree (via ports). > > > >I have yet to hear a compelling argument for why wake was chosen =20 > >over an existing tool that's been successfully used for a while. =20 > >OTOH this isn't something that'll keep me up at night; it just seems =20 > >like an ill-advised rush job that completely violates the intent of =20 > >the 8.0 code freeze.. >=20 > a compelling argument could be that wake(8) is BSD licensed while wol =20 > found in ports/net/wol is GPL licensed and brings in a whole lot of a =20 > whole lot of a whole lot of a whole lot of a stuff with it, when =20 > actually, to send out Wake on LAN package, a small BSD licensed =20 > command like wake(8) is sufficient. it is much smaller an cleaner code. Then, add the wake program to ports. My opinion is that this better be kept in ports. --nxoMry5nym+Z12ly Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpKg78ACgkQC3+MBN1Mb4h+bgCfWJ5/HrHdSyRl554u+gIXlh9J Ny8An1sq6CztpVbIniSynGC/p6sXateC =wmor -----END PGP SIGNATURE----- --nxoMry5nym+Z12ly-- From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:29:43 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F5EC1065670; Tue, 30 Jun 2009 21:29:43 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com [209.85.219.213]) by mx1.freebsd.org (Postfix) with ESMTP id 3304B8FC0A; Tue, 30 Jun 2009 21:29:41 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: by ewy9 with SMTP id 9so545854ewy.43 for ; Tue, 30 Jun 2009 14:29:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to:cc :content-type:content-transfer-encoding; bh=6pRG98za1NtoUQGBMzJNSMZU7mjZsyfvEnYh5fGWsDM=; b=GltNFWplcSCkFq/d9BOPaPerLpnzeW3Ep4doORnijiSPzr9NzJvrdy/iYe6Yl7MebH 8Bb9nQMCYt48K5jyCo7dyTfTAQV2U1xFqdrnh3IgLbH1TITzU6BYP0vId1BoOPzSdeHW 82sA/Lz80Xr4XMfO37+zopsqSHOrHioJ6Ck9A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; b=WSue20llR7XATOfX8X0/G6I3L3Q+hz080aIFcOv69VGRIi+KcFc3eXFY85lcELT4QY tS+l1Cren7BKUAhX8qH1CyXsizwtyp5mknl40JHKhxYUaeF5L3hQRO30JwZDbT6T4+qE dvnZpADgcnvXUsKRVgQQcl9zm6+kDHMK0oxeQ= MIME-Version: 1.0 Sender: ivoras@gmail.com Received: by 10.210.30.10 with SMTP id d10mr755149ebd.3.1246397381152; Tue, 30 Jun 2009 14:29:41 -0700 (PDT) In-Reply-To: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090630.133608.-1703974521.imp@bsdimp.com> <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> From: Ivan Voras Date: Tue, 30 Jun 2009 23:29:21 +0200 X-Google-Sender-Auth: 29049c8eb04b7dad Message-ID: <9bbcef730906301429h2d80b4f3uc166337305c533eb@mail.gmail.com> To: Marc Balmer Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, mbr@freebsd.org, src-committers@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:29:43 -0000 2009/6/30 Marc Balmer : > > Am 30.06.2009 um 21:36 schrieb M. Warner Losh: > >> wake really is too generic a name for this. =C2=A0Why didn't the wol por= t >> get committed anyway, it seems to be better than this... > > wake is a short, mnemonic and imperative name that describes what the > command does. It is exactly the same command as in NetBSD. "wake(8)" seems more complementary to "zzz(8)" :) +1 for the tool, -1 for the name. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:34:44 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7870E1065670; Tue, 30 Jun 2009 21:34:44 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id ED8AF8FC16; Tue, 30 Jun 2009 21:34:43 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULYbHX006125 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 23:34:37 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULYaNJ025226 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 23:34:37 +0200 (CEST) Message-Id: From: Marc Balmer To: Kostik Belousov In-Reply-To: <20090630212936.GC2884@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 23:34:36 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> <20090630212936.GC2884@deviant.kiev.zoral.com.ua> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Sam Leffler , Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:34:44 -0000 Am 30.06.2009 um 23:29 schrieb Kostik Belousov: [...] >> >> a compelling argument could be that wake(8) is BSD licensed while wol >> found in ports/net/wol is GPL licensed and brings in a whole lot of a >> whole lot of a whole lot of a whole lot of a stuff with it, when >> actually, to send out Wake on LAN package, a small BSD licensed >> command like wake(8) is sufficient. it is much smaller an cleaner >> code. > > Then, add the wake program to ports. > My opinion is that this better be kept in ports. I find it a rather basic operation to be able to wake up remote systems from a central place, so I think base is the right place for this. Wak-on-LAN as become part of our everydays IT infrastructure, as much as we support it in BIOSes and ifconfig's, we should also support waking up systems. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:43:30 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF50B1065670; Tue, 30 Jun 2009 21:43:30 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (skuns.zoral.com.ua [91.193.166.194]) by mx1.freebsd.org (Postfix) with ESMTP id 3DFEA8FC0C; Tue, 30 Jun 2009 21:43:29 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id n5ULhPXB089523 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 00:43:25 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3) with ESMTP id n5ULhPRD056498; Wed, 1 Jul 2009 00:43:25 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.3/8.14.3/Submit) id n5ULhMxV056497; Wed, 1 Jul 2009 00:43:22 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 1 Jul 2009 00:43:22 +0300 From: Kostik Belousov To: Marc Balmer Message-ID: <20090630214322.GD2884@deviant.kiev.zoral.com.ua> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> <20090630212936.GC2884@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wpxcqqTuihheY91T" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.1 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Sam Leffler , Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:43:31 -0000 --wpxcqqTuihheY91T Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 30, 2009 at 11:34:36PM +0200, Marc Balmer wrote: >=20 > Am 30.06.2009 um 23:29 schrieb Kostik Belousov: > >Then, add the wake program to ports. > >My opinion is that this better be kept in ports. >=20 > I find it a rather basic operation to be able to wake up remote =20 > systems from a central place, so I think base is the right place for =20 > this. Wak-on-LAN as become part of our everydays IT infrastructure, =20 > as much as we support it in BIOSes and ifconfig's, we should also =20 > support waking up systems. There are infinite amount of things that are essential for some operations. Just looking around, I found dhcp server, http servers, scripting languages, X, vpns and so on. Hopefully, our base system will not grow to include that too. I actively oppose to the bloat of the base system, and I consider the tool to be unappropriate for it. Use ports. Please. --wpxcqqTuihheY91T Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpKhvoACgkQC3+MBN1Mb4iQZgCaAlFX4XIVceayMiY7B6cWKny7 pcAAnRdR94pe76Qa6QgZ2xXC1MrpBn5o =ZtSc -----END PGP SIGNATURE----- --wpxcqqTuihheY91T-- From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:45:36 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 964AB106564A; Tue, 30 Jun 2009 21:45:36 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from mx0.deglitch.com (backbone.deglitch.com [IPv6:2001:16d8:fffb:4::abba]) by mx1.freebsd.org (Postfix) with ESMTP id 454F48FC23; Tue, 30 Jun 2009 21:45:36 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from orion.SpringDaemons.com (unknown [77.232.3.143]) by mx0.deglitch.com (Postfix) with ESMTPA id 6775E8FC27; Wed, 1 Jul 2009 01:45:35 +0400 (MSD) Received: from orion (localhost [127.0.0.1]) by orion.SpringDaemons.com (Postfix) with SMTP id A30C239C4F; Wed, 1 Jul 2009 01:45:53 +0400 (MSD) Date: Wed, 1 Jul 2009 01:45:53 +0400 From: Stanislav Sedov To: Martin Blapp Message-Id: <20090701014553.32117b64.stas@FreeBSD.org> In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Organization: The FreeBSD Project X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Wed__1_Jul_2009_01_45_53_+0400_zaFcz2MWLEue5GCo" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Marc Balmer Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:45:37 -0000 --Signature=_Wed__1_Jul_2009_01_45_53_+0400_zaFcz2MWLEue5GCo Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, 30 Jun 2009 18:51:23 +0000 (UTC) Martin Blapp mentioned: > Author: mbr > Date: Tue Jun 30 18:51:22 2009 > New Revision: 195200 > URL: http://svn.freebsd.org/changeset/base/195200 >=20 > Log: > Add wake, a tool to send Wake on LAN frames to hosts on a local Etherne= t network > =20 Cool! I always wanted something like this in base. > + > +WARNS?=3D 2 > + > +.include > What is the reason to use WARNS=3D2 here? Does it compile with higher warn= ing flags set? Could this warnings be fixed? =20 > + p =3D (u_char *)&pkt; > + len =3D sizeof(pkt); > + bw =3D 0; > + while (len) { > + if ((bw =3D write(bpf, &pkt, sizeof(pkt))) =3D=3D -1) > + return -1; > + len -=3D bw; > + p +=3D bw; > + } > + return 0; > +} What the "p" pointer is used here for? I don't see any usage for it besides incrementing it in the loop. Am I missing something? Thanks! --=20 Stanislav Sedov ST4096-RIPE --Signature=_Wed__1_Jul_2009_01_45_53_+0400_zaFcz2MWLEue5GCo Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- iQIcBAEBAgAGBQJKSoeRAAoJEKN82nOYvCd0MqkQALXjZTxP30FY17HVeYCaZaTn sasGPqmKNSQGCv1tOMI1sZDB6P8lxLroEIL6PR/ZTszmYF85+PAAuPUv3EJqDL7/ Jp/gO6hTv+1ygRhxCotKAzpDmaa8QBKHUiDiOBeEc8UjeBhi7v36K29YENez2qf+ SJxHXApAAiyHuivs9HkPiw/BPm8ooycV/T1EdTcqzzaynAc491wNFGOE0lTTdb7+ WJQgrb35Ci8YESGmQcY9/Me3y+gLbcj5J95CgCKPh/X1JIpjD+Ar/vQbYK7R2Ds3 lxNS3euwU+4hYKgRfzDYGAbfF08Jyz4Zr4G8xujV2ZQNiQK3xu5H5oyD1GShcUWw qQRxyo/69jkakXfmpNqN56h8SIuymtcSC/OdaFWf3ZsVbab2uw3X8B2wIQzMm9W4 0+po9pEyaz+kHGj+ktQD52aUaOhem5BJkHwwKgxO4JdeDZf+1SNbT0/n9qoV+4BD BXsKvWtKErWE7OT2FSsNJ6Rqge2OHvXshVxM3PLbvssJ2oSFt/8pM6DSgirBLukg edqGNPNLblCQcelusnZiF8TeP1pir6SygBzuafh2TnqBJGJQ1uAv/nK2/Eae3Zuk f/R83zKF1TV6xzS68tnR4u/J14zgRdASWo7D23zL+/t5NBkz4ENbSopFaS4nZw8I Y6P/AfNNIczrvCIU/5Do =Tu+f -----END PGP SIGNATURE----- --Signature=_Wed__1_Jul_2009_01_45_53_+0400_zaFcz2MWLEue5GCo-- From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:45:44 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C818B1065720; Tue, 30 Jun 2009 21:45:44 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 778EC8FC13; Tue, 30 Jun 2009 21:45:44 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULjbsK026798 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 30 Jun 2009 23:45:38 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n5ULjbui019868 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 30 Jun 2009 23:45:37 +0200 (CEST) Message-Id: From: Marc Balmer To: Kostik Belousov In-Reply-To: <20090630214322.GD2884@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 23:45:36 +0200 References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> <70EA13C9-997D-488D-83D6-06D603B76D11@msys.ch> <20090630212936.GC2884@deviant.kiev.zoral.com.ua> <20090630214322.GD2884@deviant.kiev.zoral.com.ua> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Sam Leffler , Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:45:45 -0000 Am 30.06.2009 um 23:43 schrieb Kostik Belousov: > On Tue, Jun 30, 2009 at 11:34:36PM +0200, Marc Balmer wrote: >> >> Am 30.06.2009 um 23:29 schrieb Kostik Belousov: >>> Then, add the wake program to ports. >>> My opinion is that this better be kept in ports. >> >> I find it a rather basic operation to be able to wake up remote >> systems from a central place, so I think base is the right place for >> this. Wak-on-LAN as become part of our everydays IT infrastructure, >> as much as we support it in BIOSes and ifconfig's, we should also >> support waking up systems. > > There are infinite amount of things that are essential for some > operations. Just looking around, I found dhcp server, http servers, > scripting languages, X, vpns and so on. Hopefully, our base system > will > not grow to include that too. > > I actively oppose to the bloat of the base system, and I consider the > tool to be unappropriate for it. Use ports. Please. I really don't consider a ~4K command bloat. For this kind of commands/stuff, base is the right place. From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 22:09:47 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE29A1065677; Tue, 30 Jun 2009 22:09:47 +0000 (UTC) (envelope-from mbr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 922D68FC1A; Tue, 30 Jun 2009 22:09:47 +0000 (UTC) (envelope-from mbr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UM9lRN093497; Tue, 30 Jun 2009 22:09:47 GMT (envelope-from mbr@svn.freebsd.org) Received: (from mbr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UM9lBM093495; Tue, 30 Jun 2009 22:09:47 GMT (envelope-from mbr@svn.freebsd.org) Message-Id: <200906302209.n5UM9lBM093495@svn.freebsd.org> From: Martin Blapp Date: Tue, 30 Jun 2009 22:09:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195213 - head/usr.sbin/wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 22:09:48 -0000 Author: mbr Date: Tue Jun 30 22:09:47 2009 New Revision: 195213 URL: http://svn.freebsd.org/changeset/base/195213 Log: Compiles without higher warn level M wake/Makefile Approved by: re (previous commit) Modified: head/usr.sbin/wake/Makefile Modified: head/usr.sbin/wake/Makefile ============================================================================== --- head/usr.sbin/wake/Makefile Tue Jun 30 20:53:57 2009 (r195212) +++ head/usr.sbin/wake/Makefile Tue Jun 30 22:09:47 2009 (r195213) @@ -3,6 +3,4 @@ PROG= wake MAN= wake.8 -WARNS?= 2 - .include From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 22:40:52 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE3AA106564A; Tue, 30 Jun 2009 22:40:52 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 59A128FC28; Tue, 30 Jun 2009 22:40:52 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n5UMdipB023433; Tue, 30 Jun 2009 16:39:44 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 30 Jun 2009 16:40:09 -0600 (MDT) Message-Id: <20090630.164009.2130804684.imp@bsdimp.com> To: marc@msys.ch From: "M. Warner Losh" In-Reply-To: <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 22:40:53 -0000 In message: <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> Marc Balmer writes: : : Am 30.06.2009 um 22:13 schrieb M. Warner Losh: : : > In message: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> : > Marc Balmer writes: : > : : > : Am 30.06.2009 um 21:36 schrieb M. Warner Losh: : > : : > : > wake really is too generic a name for this. Why didn't the wol : > port : > : > get committed anyway, it seems to be better than this... : > : : > : wake is a short, mnemonic and imperative name that describes what : > the : > : command does. It is exactly the same command as in NetBSD. : > : > And the discussions in the NetBSD src discussion mailing lists have : > resolved the issue with finality? : : well, yes. the name stays, as martin put it so correctly "the one : who does : the work chooses the name". And we use this name since 2006 on various : OSs. And I think it is not a weak name, I can not think of any other : sensible : use of this command name, really. That's a crock. You're rushing things into FreeBSD before they have even been settled in NetBSD using NetBSD as a justification? I wouldn't call that playing well with others. Especially since there was no socialization of this issue within FreeBSD before the commit. I didn't see any discussion about this at all. You can't dictate to the community: you have to convince them through sound technical argument. One that you've not made. I hate to be blunt, but this leaves a bad taste in everybody's mouth, even if at the end of the day you get your way. Warner : > Warner : > : > : > : > Warner : > : > : > : > : > : > In message: <200906301851.n5UIpNJQ089171@svn.freebsd.org> : > : > Martin Blapp writes: : > : > : Author: mbr : > : > : Date: Tue Jun 30 18:51:22 2009 : > : > : New Revision: 195200 : > : > : URL: http://svn.freebsd.org/changeset/base/195200 : > : > : : > : > : Log: : > : > : Add wake, a tool to send Wake on LAN frames to hosts on a : > local : > : > Ethernet network : > : > : : > : > : Submitted by: Marc Balmer : > : > : Reviewed by: rwatson : > : > : Approved by: re : > : > : : > : > : M usr.sbin/Makefile : > : > : A usr.sbin/wake : > : > : AM usr.sbin/wake/wake.c : > : > : AM usr.sbin/wake/Makefile : > : > : AM usr.sbin/wake/wake.8 : > : > : : > : > : Added: : > : > : head/usr.sbin/wake/ : > : > : head/usr.sbin/wake/Makefile (contents, props changed) : > : > : head/usr.sbin/wake/wake.8 (contents, props changed) : > : > : head/usr.sbin/wake/wake.c (contents, props changed) : > : > : Modified: : > : > : head/usr.sbin/Makefile : > : > : : > : > : Modified: head/usr.sbin/Makefile : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- head/usr.sbin/Makefile Tue Jun 30 17:27:53 2009 (r195199) : > : > : +++ head/usr.sbin/Makefile Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -190,6 +190,7 @@ SUBDIR= ${_ac} \ : > : > : ${_usbconfig} \ : > : > : ${_vidcontrol} \ : > : > : vipw \ : > : > : + wake \ : > : > : watch \ : > : > : watchdogd \ : > : > : ${_wlandebug} \ : > : > : : > : > : Added: head/usr.sbin/wake/Makefile : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/Makefile Tue Jun 30 18:51:22 2009 : > (r195200) : > : > : @@ -0,0 +1,8 @@ : > : > : +# $FreeBSD$ : > : > : + : > : > : +PROG= wake : > : > : +MAN= wake.8 : > : > : + : > : > : +WARNS?= 2 : > : > : + : > : > : +.include : > : > : : > : > : Added: head/usr.sbin/wake/wake.8 : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/wake.8 Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -0,0 +1,61 @@ : > : > : +.\" : > : > : +.\" $FreeBSD$ : > : > : +.\" : > : > : +.\" Copyright (c) 2009 Marc Balmer : > : > : +.\" : > : > : +.\" Permission to use, copy, modify, and distribute this : > software : > : > for any : > : > : +.\" purpose with or without fee is hereby granted, provided : > that : > : > the above : > : > : +.\" copyright notice and this permission notice appear in all : > : > copies. : > : > : +.\" : > : > : +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS : > ALL : > : > WARRANTIES : > : > : +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED : > WARRANTIES : > : > OF : > : > : +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR : > BE : > : > LIABLE FOR : > : > : +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR : > : > ANY DAMAGES : > : > : +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, : > : > WHETHER IN AN : > : > : +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, : > : > ARISING OUT OF : > : > : +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS : > SOFTWARE. : > : > : +.\" : > : > : +.Dd June 27 2009 : > : > : +.Dt WAKE 8 : > : > : +.Os : > : > : +.Sh NAME : > : > : +.Nm wake : > : > : +.Nd send Wake on LAN frames to hosts on a local Ethernet : > network : > : > : +.Sh SYNOPSIS : > : > : +.Nm : > : > : +.Ar interface : > : > : +.Op Ar lladdr ... : > : > : +.Sh DESCRIPTION : > : > : +The : > : > : +.Nm : > : > : +program is used to send Wake on LAN (WoL) frames over a local : > : > : +Ethernet network to one or more hosts using their link layer : > : > (hardware) : > : > : +addresses. : > : > : +WoL functionality is generally enabled in a machine's BIOS : > : > : +and can be used to power on machines from a remote system : > without : > : > : +having physical access to them. : > : > : +.Pp : > : > : +.Ar interface : > : > : +is the network interface of the local machine. : > : > : +.Ar lladdr : > : > : +are the link layer addresses of the remote machines : > : > : +and can be specified as the actual hardware address : > : > : +(six hexadecimal numbers separated by colons) : > : > : +or a hostname entry in : > : > : +.Pa /etc/ethers . : > : > : +Link layer addresses can be determined and set on : > : > : +.Fx : > : > : +machines using : > : > : +.Xr ifconfig 8 . : > : > : +.Sh FILES : > : > : +.Bl -tag -width "/etc/ethers" -compact : > : > : +.It /etc/ethers : > : > : +Ethernet host name database. : > : > : +.El : > : > : +.Sh SEE ALSO : > : > : +.Xr ethers 5 , : > : > : +.Xr ifconfig 8 : > : > : +.Sh AUTHORS : > : > : +.Nm : > : > : +was written by : > : > : +.Ar Marc Balmer Aq marc@msys.ch . : > : > : : > : > : Added: head/usr.sbin/wake/wake.c : > : > : : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > = : > : > : > ====================================================================== : > : > : --- /dev/null 00:00:00 1970 (empty, because file is newly added) : > : > : +++ head/usr.sbin/wake/wake.c Tue Jun 30 18:51:22 2009 (r195200) : > : > : @@ -0,0 +1,174 @@ : > : > : +/* : > : > : + * Copyright (C) 2006, 2007, 2008, 2009 Marc Balmer > : > : > : + * Copyright (C) 2000 Eugene M. Kim. All rights reserved. : > : > : + * : > : > : + * Redistribution and use in source and binary forms, with or : > : > without : > : > : + * modification, are permitted provided that the following : > : > conditions : > : > : + * are met: : > : > : + * : > : > : + * 1. Redistributions of source code must retain the above : > : > copyright : > : > : + * notice, this list of conditions and the following : > disclaimer. : > : > : + * 2. Author's name may not be used endorse or promote products : > : > derived : > : > : + * from this software without specific prior written : > permission. : > : > : + * : > : > : + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY : > : > EXPRESS OR : > : > : + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE : > IMPLIED : > : > : + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR : > : > PURPOSE ARE : > : > : + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY : > : > DIRECT, : > : > : + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL : > : > DAMAGES : > : > : + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE : > : > GOODS OR : > : > : + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS : > : > INTERRUPTION) : > : > : + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN : > : > CONTRACT, : > : > : + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR : > OTHERWISE) : > : > ARISING : > : > : + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF : > ADVISED OF : > : > THE : > : > : + * POSSIBILITY OF SUCH DAMAGE. : > : > : + */ : > : > : + : > : > : +#include : > : > : +__FBSDID("$FreeBSD$"); : > : > : + : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : + : > : > : +#include : > : > : +#include : > : > : + : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : +#include : > : > : + : > : > : +#define _PATH_BPF "/dev/bpf" : > : > : + : > : > : +#ifndef SYNC_LEN : > : > : +#define SYNC_LEN 6 : > : > : +#endif : > : > : + : > : > : +#ifndef DESTADDR_COUNT : > : > : +#define DESTADDR_COUNT 16 : > : > : +#endif : > : > : + : > : > : +void usage(void); : > : > : + : > : > : +int wake(const char *iface, const char *host); : > : > : +int bind_if_to_bpf(char const *ifname, int bpf); : > : > : +int get_ether(char const *text, struct ether_addr *addr); : > : > : +int send_wakeup(int bpf, struct ether_addr const *addr); : > : > : + : > : > : +void : > : > : +usage(void) : > : > : +{ : > : > : + (void)fprintf(stderr, "usage: wake interface lladdr\n"); : > : > : + exit(0); : > : > : +} : > : > : + : > : > : +int : > : > : +wake(const char *iface, const char *host) : > : > : +{ : > : > : + int res, bpf; : > : > : + struct ether_addr macaddr; : > : > : + : > : > : + bpf = open(_PATH_BPF, O_RDWR); : > : > : + if (bpf == -1) { : > : > : + printf("no bpf\n"); : > : > : + return -1; : > : > : + } : > : > : + if (bind_if_to_bpf(iface, bpf) == -1 || : > : > : + get_ether(host, &macaddr) == -1) { : > : > : + (void)close(bpf); : > : > : + return -1; : > : > : + } : > : > : + res = send_wakeup(bpf, &macaddr); : > : > : + (void)close(bpf); : > : > : + return res; : > : > : +} : > : > : + : > : > : +int : > : > : +bind_if_to_bpf(char const *ifname, int bpf) : > : > : +{ : > : > : + struct ifreq ifr; : > : > : + u_int dlt; : > : > : + : > : > : + if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= : > : > : + sizeof(ifr.ifr_name)) : > : > : + return -1; : > : > : + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) : > : > : + return -1; : > : > : + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) : > : > : + return -1; : > : > : + if (dlt != DLT_EN10MB) : > : > : + return -1; : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +get_ether(char const *text, struct ether_addr *addr) : > : > : +{ : > : > : + struct ether_addr *paddr; : > : > : + : > : > : + paddr = ether_aton(text); : > : > : + if (paddr != NULL) { : > : > : + *addr = *paddr; : > : > : + return 0; : > : > : + } : > : > : + if (ether_hostton(text, addr)) : > : > : + return -1; : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +send_wakeup(int bpf, struct ether_addr const *addr) : > : > : +{ : > : > : + struct { : > : > : + struct ether_header hdr; : > : > : + u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; : > : > : + } pkt; : > : > : + u_char *p; : > : > : + int i; : > : > : + ssize_t bw; : > : > : + ssize_t len; : > : > : + : > : > : + (void)memset(pkt.hdr.ether_dhost, 0xff, : > : > sizeof(pkt.hdr.ether_dhost)); : > : > : + pkt.hdr.ether_type = htons(0); : > : > : + (void)memset(pkt.data, 0xff, SYNC_LEN); : > : > : + for (p = pkt.data + SYNC_LEN, i = 0; i < DESTADDR_COUNT; : > : > : + p += ETHER_ADDR_LEN, i++) : > : > : + bcopy(addr->octet, p, ETHER_ADDR_LEN); : > : > : + p = (u_char *)&pkt; : > : > : + len = sizeof(pkt); : > : > : + bw = 0; : > : > : + while (len) { : > : > : + if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) : > : > : + return -1; : > : > : + len -= bw; : > : > : + p += bw; : > : > : + } : > : > : + return 0; : > : > : +} : > : > : + : > : > : +int : > : > : +main(int argc, char *argv[]) : > : > : +{ : > : > : + int n; : > : > : + : > : > : + if (argc < 3) : > : > : + usage(); : > : > : + : > : > : + for (n = 2; n < argc; n++) : > : > : + if (wake(argv[1], argv[n])) : > : > : + warnx("error sending Wake on LAN frame over %s to %s", : > : > : + argv[1], argv[n]); : > : > : + return 0; : > : > : +} : > : > : : > : > _______________________________________________ : > : > svn-src-all@freebsd.org mailing list : > : > http://lists.freebsd.org/mailman/listinfo/svn-src-all : > : > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org : > " : > : : > : : : From owner-svn-src-head@FreeBSD.ORG Tue Jun 30 21:32:38 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65CF1106564A; Tue, 30 Jun 2009 21:32:38 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com [209.85.219.213]) by mx1.freebsd.org (Postfix) with ESMTP id 5E78B8FC21; Tue, 30 Jun 2009 21:32:34 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: by ewy9 with SMTP id 9so547854ewy.43 for ; Tue, 30 Jun 2009 14:32:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to:cc :content-type:content-transfer-encoding; bh=oLVY2c3khI2VY7YmtPExDF8j2UqNRxxDHB1ulShb5So=; b=mlfH7HZ69ZsNgrFNiL0zIt2gPZXj29tAeOpzrzs+yIpHnUYUuPpxCJmHQ+wqI/d/XS pvEAn51aCCma5/XON8QGTtzdaa23OUpPyhxHKg8SilfAGWi6k23VlmUzcrayrFCOmhj+ KzD3DRrCNFliywJWfsagYn5yVpDtddtTs2kZ8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; b=OkphVDuhVLUnNYOF8iWLVFhPzLth38/nzAX7nLJNH6Tt7YIcS3yAnQxcjWdTGPUPH7 LtTk0tp36BRgLcT7RbGJz17wFinzBEXrRsNIqMeHqTs0wSQQPfNREUFJIG+AKV8v2nd/ YaOqfvsjIgjp9/7VbYE6hkDzfs3KZj4lIgioE= MIME-Version: 1.0 Sender: ivoras@gmail.com Received: by 10.210.16.10 with SMTP id 10mr701449ebp.85.1246397553714; Tue, 30 Jun 2009 14:32:33 -0700 (PDT) In-Reply-To: <20090630.150658.1306326527.imp@bsdimp.com> References: <20090630.094632.195416436.imp@bsdimp.com> <20090630193712.GA5446@roadrunner.spoerlein.net> <200906302252.53894.max@love2party.net> <20090630.150658.1306326527.imp@bsdimp.com> From: Ivan Voras Date: Tue, 30 Jun 2009 23:32:12 +0200 X-Google-Sender-Auth: 57ccfc2cb4a686c7 Message-ID: <9bbcef730906301432i13e283e0lb955fecc590f25de@mail.gmail.com> To: "M. Warner Losh" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 30 Jun 2009 22:41:50 +0000 Cc: ed@80386.nl, src-committers@freebsd.org, uqs@spoerlein.net, rwatson@freebsd.org, des@des.no, svn-src-head@freebsd.org, max@love2party.net, svn-src-all@freebsd.org, rafan@freebsd.org Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 21:32:38 -0000 2009/6/30 M. Warner Losh : > In message: <200906302252.53894.max@love2party.net> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Max Laier w= rites: > : $ alias less=3D'less -X' > : > : =C2=A0 =C2=A0-X or --no-init > : =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Disables sending the termcap initial= ization and deinitialization > : =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 strings to the terminal. =C2=A0This = is =C2=A0sometimes =C2=A0desirable =C2=A0if =C2=A0the > : =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 deinitialization =C2=A0string does s= omething unnecessary, like clear- > : =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ing the screen. > : > : It's one of the first things I do when I get a linux shell account > : somewhere. > > Looks like "setenv LESS -X" or "export LESS=3D-X" would do the same > thing, no? =C2=A0And work for "more" too... Would it be possible to set it by default in /etc/csh.login (or wherever is more appropriate) if the termcap change goes in? From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 00:57:19 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CC121065675; Wed, 1 Jul 2009 00:57:19 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.234]) by mx1.freebsd.org (Postfix) with ESMTP id 0B59F8FC08; Wed, 1 Jul 2009 00:57:18 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: by rv-out-0506.google.com with SMTP id l9so1615257rvb.3 for ; Tue, 30 Jun 2009 17:57:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:from:date:to:cc :subject:message-id:reply-to:references:mime-version:content-type :content-disposition:in-reply-to:user-agent; bh=4+WwpV0x1XyVP3rV+IpxdXCQ55+GoVr/0rDRNNJqSF0=; b=uHxD7SAYmE6k4CUt6gzDjZ3cEHohnVDDAeFJ0L+MAj7vhx8Z41V02pxazO6wMmoTuk ddbiGoRLQYilFvYaxt+MobCEWw75nlIQtaI3VQcC+4AuiOpTrDBU5KIoIV69Z2FaCd0T 1FNqMekcl3G4ak1M0xl3J7U3rdphEHsNkpGZ8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:date:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=DPcqJU8fXJj7er3Hs213D3GzSiQCIH4gismB45jDsiGMMzY9S/s+RSxwiIP2BJfwp5 jRgj/ZJE5btvk4qUtAKWKtUq8qzYw3WwAk5bmrreN+zgaTThmhtydRKecf2Zcmt7w/zJ dMwSdTQKGk3EdqIZfEJc88cd9AUkgeEOmz+qU= Received: by 10.141.5.20 with SMTP id h20mr1332502rvi.131.1246409838443; Tue, 30 Jun 2009 17:57:18 -0700 (PDT) Received: from michelle.cdnetworks.co.kr ([114.111.62.249]) by mx.google.com with ESMTPS id l31sm2398535rvb.23.2009.06.30.17.57.15 (version=SSLv3 cipher=RC4-MD5); Tue, 30 Jun 2009 17:57:17 -0700 (PDT) Received: by michelle.cdnetworks.co.kr (sSMTP sendmail emulation); Wed, 1 Jul 2009 09:54:59 +0900 From: Pyun YongHyeon Date: Wed, 1 Jul 2009 09:54:59 +0900 To: Martin Blapp Message-ID: <20090701005459.GC13137@michelle.cdnetworks.co.kr> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 00:57:19 -0000 On Tue, Jun 30, 2009 at 06:51:23PM +0000, Martin Blapp wrote: > Author: mbr > Date: Tue Jun 30 18:51:22 2009 > New Revision: 195200 > URL: http://svn.freebsd.org/changeset/base/195200 > > Log: > Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet network > > Submitted by: Marc Balmer > Reviewed by: rwatson > Approved by: re > Nice! I guess I can now remove installed net/wol ports which does not work as expected when system have multiple interfaces. And I didn't understand why it requires perl to build such a simple utility. From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 01:56:56 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 078041065672; Wed, 1 Jul 2009 01:56:56 +0000 (UTC) (envelope-from kensmith@cse.Buffalo.EDU) Received: from phoebe.cse.buffalo.edu (phoebe.cse.buffalo.edu [128.205.32.89]) by mx1.freebsd.org (Postfix) with ESMTP id CA4D98FC16; Wed, 1 Jul 2009 01:56:55 +0000 (UTC) (envelope-from kensmith@cse.Buffalo.EDU) Received: from [128.205.32.76] (bauer.cse.buffalo.edu [128.205.32.76]) (authenticated bits=0) by phoebe.cse.buffalo.edu (8.14.1/8.13.7) with ESMTP id n611ukCE045917 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Jun 2009 21:56:52 -0400 (EDT) (envelope-from kensmith@cse.buffalo.edu) From: Ken Smith To: "M. Warner Losh" In-Reply-To: <20090630.164009.2130804684.imp@bsdimp.com> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-rPAf4LmI0iJmVtR9lSC8" Organization: U. Buffalo CSE Department Date: Tue, 30 Jun 2009 21:56:42 -0400 Message-Id: <1246413402.70460.23.camel@bauer.cse.buffalo.edu> Mime-Version: 1.0 X-Mailer: Evolution 2.24.5 FreeBSD GNOME Team Port X-DCC--Metrics: phoebe.cse.buffalo.edu 1335; Body=0 Fuz1=0 Fuz2=0 Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, marc@msys.ch, src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:56:56 -0000 --=-rPAf4LmI0iJmVtR9lSC8 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-06-30 at 16:40 -0600, M. Warner Losh wrote: > I hate to be blunt, but this leaves a bad taste in everybody's mouth, > even if at the end of the day you get your way. Translation: I did it again. I hate it when that happens... :-( Two things happened here that were a bit unfortunate, and Marc/Martin (most likely unintentionally) tripped over it. The first thing that left a bad taste in some peoples' mouth is this new thing got approved past the point I had said many times was to be the end of new things getting added. But people complained the warnings I had given were buried in messages that had too much other information in them instead of short and to-the-point messages. So deadlines for a few things got extended in short and to-the-point messages yesterday and this pending request fell into one of those categories. The second thing that left a bad taste in some peoples' mouth is that this apparently (strictly judging by the fallout discussions) didn't get as much peer review as some people would have liked. Normally some level of discussion happens on some public mailing lists (not private email among a few potentially interested parties). And even after that happens and the commit gets made there is some time for fallout discussions to happen. Depending on the results of those potentially lengthy discussions it might wind up being backed out. But because of the stage of the release cycle we're in me having approved this can be viewed as short-circuiting the normal public review because odds are it will wind up staying despite some peoples' opinions due to the stage of the release cycle we're in. That second thing is one of the things that I think we're stuck with as part of the release process, but I really need help from you folks on. It's very much like the rant I made about the commit requests. And like I said above I fell for this before, during the 7.0 release cycle. During that release cycle it resulted in a rant with the subject line "I'm not Head Dictator In Charge". People complain if we lock out *all* new additions, even ones as relatively simple as a new command, too early in the release cycle. So we *consider* allowing new stuff that truly shouldn't impact the stability of the pending release until right around now in the release cycle. But we need to be able to trust that if you send in a commit request for something new like this that you've already done the peer review type stuff. RE approval for something like this doesn't trump normal peer review. The alternative is to flat out lock out *all* new stuff no matter how seemingly simple it is earlier in the release cycle just to avoid the problem that maybe someone will try to sneak something through without sufficient peer review. Thanks... --=20 Ken Smith - From there to here, from here to | kensmith@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel | --=-rPAf4LmI0iJmVtR9lSC8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkpKwlIACgkQ/G14VSmup/aGIgCdFd3DCAE4jxMEBUUt62KKIuB7 q/4AoJtf5X3NJPtKKz4EIDt5mQHvlJpi =OHyC -----END PGP SIGNATURE----- --=-rPAf4LmI0iJmVtR9lSC8-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 02:29:58 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18333106564A; Wed, 1 Jul 2009 02:29:58 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from smtp8.server.rpi.edu (smtp8.server.rpi.edu [128.113.2.228]) by mx1.freebsd.org (Postfix) with ESMTP id B24E58FC14; Wed, 1 Jul 2009 02:29:57 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47]) by smtp8.server.rpi.edu (8.13.1/8.13.1) with ESMTP id n611MBN4026928; Tue, 30 Jun 2009 21:22:12 -0400 Mime-Version: 1.0 Message-Id: In-Reply-To: <4A4A7F0B.1010001@freebsd.org> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <4A4A626A.4080801@freebsd.org> <5A796102-063B-4032-92C9-EC97AF2E5D5B@msys.ch> <4A4A7F0B.1010001@freebsd.org> Date: Tue, 30 Jun 2009 21:22:11 -0400 To: Sam Leffler , Marc Balmer From: Garance A Drosehn Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-Bayes-Prob: 0.0001 (Score 0) X-RPI-SA-Score: 0.10 () [Hold at 20.00] COMBINED_FROM X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.228 Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Martin Blapp , src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 02:29:58 -0000 At 2:09 PM -0700 6/30/09, Sam Leffler wrote: > >I have yet to hear a compelling argument for why wake was chosen >over an existing tool that's been successfully used for a while. >OTOH this isn't something that'll keep me up at night; it just seems >like an ill-advised rush job that completely violates the intent of >the 8.0 code freeze.. > > Sam I agree completely with what Sam is saying here. I don't see why this had to be done at the time it was done (WRT a code freeze), and without any discussion about adding it to FreeBSD. I also agree that it won't be keeping me up at night, because I'm about to go on vacation for 10-12 days here. But as Warner noted, "this leaves a bad taste in everybody's mouth, even if at the end of the day you get your way" -- Garance Alistair Drosehn = drosehn@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 02:47:35 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A409106566C; Wed, 1 Jul 2009 02:47:35 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (lor.one-eyed-alien.net [69.66.77.232]) by mx1.freebsd.org (Postfix) with ESMTP id B4E788FC15; Wed, 1 Jul 2009 02:47:34 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (localhost [127.0.0.1]) by lor.one-eyed-alien.net (8.14.3/8.14.3) with ESMTP id n612MvhS009872; Tue, 30 Jun 2009 21:22:57 -0500 (CDT) (envelope-from brooks@lor.one-eyed-alien.net) Received: (from brooks@localhost) by lor.one-eyed-alien.net (8.14.3/8.14.3/Submit) id n612Mvug009871; Tue, 30 Jun 2009 21:22:57 -0500 (CDT) (envelope-from brooks) Date: Tue, 30 Jun 2009 21:22:57 -0500 From: Brooks Davis To: Ken Smith Message-ID: <20090701022257.GA9820@lor.one-eyed-alien.net> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com> <1246413402.70460.23.camel@bauer.cse.buffalo.edu> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="fdj2RfSjLxBAspz7" Content-Disposition: inline In-Reply-To: <1246413402.70460.23.camel@bauer.cse.buffalo.edu> User-Agent: Mutt/1.5.17 (2007-11-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (lor.one-eyed-alien.net [127.0.0.1]); Tue, 30 Jun 2009 21:22:58 -0500 (CDT) Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, marc@msys.ch, svn-src-head@FreeBSD.org, mbr@FreeBSD.org, "M. Warner Losh" Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 02:47:36 -0000 --fdj2RfSjLxBAspz7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 30, 2009 at 09:56:42PM -0400, Ken Smith wrote: > On Tue, 2009-06-30 at 16:40 -0600, M. Warner Losh wrote: > > I hate to be blunt, but this leaves a bad taste in everybody's mouth, > > even if at the end of the day you get your way. >=20 > The second thing that left a bad taste in some peoples' mouth is that > this apparently (strictly judging by the fallout discussions) didn't get > as much peer review as some people would have liked. Normally some > level of discussion happens on some public mailing lists (not private > email among a few potentially interested parties). And even after that > happens and the commit gets made there is some time for fallout > discussions to happen. Depending on the results of those potentially > lengthy discussions it might wind up being backed out. But because of > the stage of the release cycle we're in me having approved this can be > viewed as short-circuiting the normal public review because odds are it > will wind up staying despite some peoples' opinions due to the stage of > the release cycle we're in. Given that it doesn't make any significant difference if it makes it into the base for 8.0 (especially given that ports are still open). I'd say the only right course of action is to back it out. I personally wouldn't be surprised if some form of it made it in to a future release, but basically nothing was right with this commit (zero prior discussion, contained trivial bugs, last minute addition). -- Brooks --fdj2RfSjLxBAspz7 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFKSsiAXY6L6fI4GtQRAil/AKDR78c4bMcxmDVlFmSB2KN5E/yLHwCfQtds 57HUOLBavjw7+9BHNcM+Rxc= =3kiL -----END PGP SIGNATURE----- --fdj2RfSjLxBAspz7-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 04:01:53 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19F071065673 for ; Wed, 1 Jul 2009 04:01:53 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from gizmo.2hip.net (gizmo.2hip.net [64.74.207.195]) by mx1.freebsd.org (Postfix) with ESMTP id C89CC8FC1E for ; Wed, 1 Jul 2009 04:01:52 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from [192.168.1.4] (adsl-156-4-82.bna.bellsouth.net [70.156.4.82]) (authenticated bits=0) by gizmo.2hip.net (8.14.3/8.14.3) with ESMTP id n6141oVe004843 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 00:01:50 -0400 (EDT) (envelope-from rnoland@FreeBSD.org) From: Robert Noland To: Ken Smith In-Reply-To: <1246413402.70460.23.camel@bauer.cse.buffalo.edu> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com> <1246413402.70460.23.camel@bauer.cse.buffalo.edu> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-GaeRJNBFhIAdEA5142+i" Organization: FreeBSD Date: Tue, 30 Jun 2009 23:01:45 -0500 Message-Id: <1246420905.1855.19.camel@balrog.2hip.net> Mime-Version: 1.0 X-Mailer: Evolution 2.26.2 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RDNS_DYNAMIC, SPF_SOFTFAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on gizmo.2hip.net Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, marc@msys.ch, svn-src-head@FreeBSD.org, mbr@FreeBSD.org, "M. Warner Losh" Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 04:01:53 -0000 --=-GaeRJNBFhIAdEA5142+i Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-06-30 at 21:56 -0400, Ken Smith wrote: > On Tue, 2009-06-30 at 16:40 -0600, M. Warner Losh wrote: > > I hate to be blunt, but this leaves a bad taste in everybody's mouth, > > even if at the end of the day you get your way. >=20 > Translation: I did it again. I hate it when that happens... :-( >=20 > Two things happened here that were a bit unfortunate, and Marc/Martin > (most likely unintentionally) tripped over it. >=20 > The first thing that left a bad taste in some peoples' mouth is this new > thing got approved past the point I had said many times was to be the > end of new things getting added. But people complained the warnings I > had given were buried in messages that had too much other information in > them instead of short and to-the-point messages. So deadlines for a few > things got extended in short and to-the-point messages yesterday and > this pending request fell into one of those categories. If you missed the deadline because you chose to skim messages from the release manager, then so be it... If people have work that they want to get into the release, then they should be paying attention to mail from re@. I know that I have work that I would have liked to gotten in, but complications arose which made it obvious that resolving them within the remaining time before the freeze was not practical. > The second thing that left a bad taste in some peoples' mouth is that > this apparently (strictly judging by the fallout discussions) didn't get > as much peer review as some people would have liked. Normally some > level of discussion happens on some public mailing lists (not private > email among a few potentially interested parties). And even after that > happens and the commit gets made there is some time for fallout > discussions to happen. Depending on the results of those potentially > lengthy discussions it might wind up being backed out. But because of > the stage of the release cycle we're in me having approved this can be > viewed as short-circuiting the normal public review because odds are it > will wind up staying despite some peoples' opinions due to the stage of > the release cycle we're in. >=20 > That second thing is one of the things that I think we're stuck with as > part of the release process, but I really need help from you folks on. > It's very much like the rant I made about the commit requests. And like > I said above I fell for this before, during the 7.0 release cycle. > During that release cycle it resulted in a rant with the subject line > "I'm not Head Dictator In Charge". People complain if we lock out *all* > new additions, even ones as relatively simple as a new command, too > early in the release cycle. So we *consider* allowing new stuff that > truly shouldn't impact the stability of the pending release until right > around now in the release cycle. But we need to be able to trust that > if you send in a commit request for something new like this that you've > already done the peer review type stuff. RE approval for something like > this doesn't trump normal peer review. The alternative is to flat out > lock out *all* new stuff no matter how seemingly simple it is earlier in > the release cycle just to avoid the problem that maybe someone will try > to sneak something through without sufficient peer review. A feature freeze in my mind is exactly that. re@ should be approving bug fixes only. No new work should be allowed beyond the freeze date. There is always the next release. That or people should have been paying attention and gotten things into the tree on time with appropriate review. robert. > Thanks... --=20 Robert Noland FreeBSD --=-GaeRJNBFhIAdEA5142+i Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iEYEABECAAYFAkpK36kACgkQM4TrQ4qfROOAsACfYTofk+4WURZkDUFfXDpUyAm1 YsAAn0eGo0hYhzJ4+p9pib0I2FgcmSLh =jTnv -----END PGP SIGNATURE----- --=-GaeRJNBFhIAdEA5142+i-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 03:34:02 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E8CF106564A; Wed, 1 Jul 2009 03:34:02 +0000 (UTC) (envelope-from doconnor@gsoft.com.au) Received: from cain.gsoft.com.au (cain.gsoft.com.au [203.31.81.10]) by mx1.freebsd.org (Postfix) with ESMTP id 074918FC0C; Wed, 1 Jul 2009 03:34:01 +0000 (UTC) (envelope-from doconnor@gsoft.com.au) Received: from inchoate.gsoft.com.au (inchoate.gsoft.com.au [203.31.81.30]) (authenticated bits=0) by cain.gsoft.com.au (8.13.8/8.13.8) with ESMTP id n613XXMD004102 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 1 Jul 2009 13:03:33 +0930 (CST) (envelope-from doconnor@gsoft.com.au) From: "Daniel O'Connor" To: cvs-all@freebsd.org Date: Wed, 1 Jul 2009 13:03:18 +0930 User-Agent: KMail/1.9.10 References: <20090630.094632.195416436.imp@bsdimp.com> <20090630.150658.1306326527.imp@bsdimp.com> <9bbcef730906301432i13e283e0lb955fecc590f25de@mail.gmail.com> In-Reply-To: <9bbcef730906301432i13e283e0lb955fecc590f25de@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart95880493.tlKAfRUC6V"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200907011303.28877.doconnor@gsoft.com.au> X-Spam-Score: -3.575 () ALL_TRUSTED,AWL,BAYES_00 X-Scanned-By: MIMEDefang 2.63 on 203.31.81.10 X-Mailman-Approved-At: Wed, 01 Jul 2009 04:47:51 +0000 Cc: ed@80386.nl, src-committers@freebsd.org, uqs@spoerlein.net, rwatson@freebsd.org, Ivan Voras , max@love2party.net, svn-src-head@freebsd.org, des@des.no, rafan@freebsd.org, svn-src-all@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 03:34:03 -0000 --nextPart95880493.tlKAfRUC6V Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wed, 1 Jul 2009, Ivan Voras wrote: > > Looks like "setenv LESS -X" or "export LESS=3D-X" would do the same > > thing, no? =C2=A0And work for "more" too... > > Would it be possible to set it by default in /etc/csh.login (or > wherever is more appropriate) if the termcap change goes in? How about vi? Can that be fixed (if it needs it)? About the only use for clearing the screen is when you logout IMO, it is=20 so frustrating otherwise (IMO of course :) =2D-=20 Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C --nextPart95880493.tlKAfRUC6V Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iD8DBQBKStkI5ZPcIHs/zowRAtZYAJsHOS8soYcl1+V5OaZ4LBNP9jURbgCfcxG2 S8YDfTsNN5+ufbAyRpM9d6w= =5ZtE -----END PGP SIGNATURE----- --nextPart95880493.tlKAfRUC6V-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 04:52:07 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8BF3106566C; Wed, 1 Jul 2009 04:52:07 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from mail.vnode.se (mail.vnode.se [62.119.52.82]) by mx1.freebsd.org (Postfix) with ESMTP id A11F88FC1C; Wed, 1 Jul 2009 04:52:07 +0000 (UTC) (envelope-from joel@FreeBSD.org) Received: from iMac.local (pgw.vnode.se [77.110.37.134]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.vnode.se (Postfix) with ESMTPSA id D2EE4E9F42C; Wed, 1 Jul 2009 06:52:05 +0200 (CEST) Message-ID: <4A4AEB75.9070109@FreeBSD.org> Date: Wed, 01 Jul 2009 06:52:05 +0200 From: Joel Dahl User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Martin Blapp References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> In-Reply-To: <200906301851.n5UIpNJQ089171@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 04:52:08 -0000 Martin Blapp skrev: > Author: mbr > Date: Tue Jun 30 18:51:22 2009 > New Revision: 195200 > URL: http://svn.freebsd.org/changeset/base/195200 > > Log: > Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet network Nice. Now I can finally nuke net/wol from my systems. -- Joel From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 05:15:39 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF647106581F; Wed, 1 Jul 2009 05:15:39 +0000 (UTC) (envelope-from Martin.Blapp@t-systems.ch) Received: from mail100.t-systems.ch (mail035.t-systems.ch [193.108.232.35]) by mx1.freebsd.org (Postfix) with ESMTP id 789208FC1E; Wed, 1 Jul 2009 05:15:38 +0000 (UTC) (envelope-from Martin.Blapp@t-systems.ch) Received: from wsairz0042.t-systems.ch (Not Verified[53.250.54.32]) by mail100.t-systems.ch with MailMarshal (using TLS: SSLv23) id ; Wed, 01 Jul 2009 07:04:59 +0200 Received: from TSS-EXCH01.t-systems.ch ([53.250.54.26]) by wsairz0042.t-systems.ch ([53.250.54.32]) with mapi; Wed, 1 Jul 2009 07:04:59 +0200 From: "Blapp, Martin" To: Ken Smith , "M. Warner Losh" Date: Wed, 1 Jul 2009 07:04:58 +0200 Thread-Topic: svn commit: r195200 - in head/usr.sbin: . wake Thread-Index: Acn5707mQvl8j3mxTSye13najftrewAGSN/B Message-ID: <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com>, <1246413402.70460.23.camel@bauer.cse.buffalo.edu> In-Reply-To: <1246413402.70460.23.camel@bauer.cse.buffalo.edu> Accept-Language: de-DE, de-CH Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE, de-CH Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 HC: x Cc: "svn-src-head@FreeBSD.org" , "svn-src-all@FreeBSD.org" , "mbr@FreeBSD.org" , "marc@msys.ch" , "src-committers@FreeBSD.org" Subject: AW: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 05:15:40 -0000 Hi folks, I really was not my or Marcs intention to skip any discussions. Rwatson tol= d us that if we like to see it in 8.0, we need to approve it by RE and commit it befo= re the 1. of july, and that's what I've done. Sorry if I've upset anyone. Personally I think the tool is quite handy, better than net/wol (which does= n't seem to work with different interfaces), wake doesn't need any strange libaries as = dependencies and it just a very short one (4k) If the concensus is to back it out, I'll back it out. -- Martin= From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 05:42:15 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D611106566C; Wed, 1 Jul 2009 05:42:15 +0000 (UTC) (envelope-from edwin@mavetju.org) Received: from k7.mavetju.org (ppp113-58.static.internode.on.net [150.101.113.58]) by mx1.freebsd.org (Postfix) with ESMTP id 1ECEF8FC08; Wed, 1 Jul 2009 05:42:14 +0000 (UTC) (envelope-from edwin@mavetju.org) Received: by k7.mavetju.org (Postfix, from userid 1001) id C0CC0450FA; Wed, 1 Jul 2009 15:42:13 +1000 (EST) Date: Wed, 1 Jul 2009 15:42:13 +1000 From: Edwin Groothuis To: Pyun YongHyeon Message-ID: <20090701054213.GA52751@mavetju.org> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090701005459.GC13137@michelle.cdnetworks.co.kr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090701005459.GC13137@michelle.cdnetworks.co.kr> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 05:42:15 -0000 > Nice! I guess I can now remove installed net/wol ports which does > not work as expected when system have multiple interfaces. And I > didn't understand why it requires perl to build such a simple > utility. Have a look at the build process and you see exactly why it needs perl. The question should have been: Why didn't they write it in a .pod in the first place! :-P Edwin -- Edwin Groothuis Website: http://www.mavetju.org/ edwin@mavetju.org Weblog: http://www.mavetju.org/weblog/ From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 06:13:32 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F31691065673; Wed, 1 Jul 2009 06:13:31 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 5A62F8FC13; Wed, 1 Jul 2009 06:13:31 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n616DA0x021356 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 1 Jul 2009 08:13:11 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n616D924025773 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 1 Jul 2009 08:13:10 +0200 (CEST) Message-Id: <8F849918-CCA3-4979-8138-A86529850E38@msys.ch> From: Marc Balmer To: "Blapp, Martin" In-Reply-To: <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Wed, 1 Jul 2009 08:13:09 +0200 References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com>, <1246413402.70460.23.camel@bauer.cse.buffalo.edu> <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: "mbr@FreeBSD.org" , "svn-src-all@FreeBSD.org" , "src-committers@FreeBSD.org" , "svn-src-head@FreeBSD.org" , Ken Smith , "M. Warner Losh" Subject: Re: AW: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 06:13:32 -0000 Am 01.07.2009 um 07:04 schrieb Blapp, Martin: > Hi folks, > > I really was not my or Marcs intention to skip any discussions. > Rwatson told us that > if we like to see it in 8.0, we need to approve it by RE and commit > it before the 1. of july, > and that's what I've done. Sorry if I've upset anyone. > > Personally I think the tool is quite handy, better than net/wol > (which doesn't seem to > work with different interfaces), wake doesn't need any strange > libaries as dependencies > and it just a very short one (4k) > > If the concensus is to back it out, I'll back it out. The only thing I can say is that this code has been around since quite some time and is in use at many places without any problems. This is nothing big, actually really small, but it is really useful. And since Wake-on-LAN is now in almost all computers I think having a tool to use it is justified. This little command can not make your computer crash, nor cause any problems, so I really do not fully understand why all the fuss around it (e.g. I find that some people are exaggerating a little bit, given how small of an addition wake(8) actually is). From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 06:23:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 229821065670; Wed, 1 Jul 2009 06:23:23 +0000 (UTC) (envelope-from marc@msys.ch) Received: from sleipnir.msys.ch (unknown [IPv6:2001:4060:c0de:f000::3]) by mx1.freebsd.org (Postfix) with ESMTP id 7B7C48FC12; Wed, 1 Jul 2009 06:23:22 +0000 (UTC) (envelope-from marc@msys.ch) Received: from mail.msys.ch (smtp.msys.ch [157.161.101.10]) by sleipnir.msys.ch (8.14.3/8.14.1) with ESMTP id n616N3vE031532 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 1 Jul 2009 08:23:03 +0200 (CEST) Received: from [192.168.17.111] (gw.vnode.ch [62.12.170.129]) (authenticated bits=0) by mail.msys.ch (8.14.3/8.14.1) with ESMTP id n616N2Sb010274 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 1 Jul 2009 08:23:02 +0200 (CEST) Message-Id: <19D06995-BE7C-41EC-83B3-DB694398CE2B@msys.ch> From: Marc Balmer To: "Blapp, Martin" In-Reply-To: <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Wed, 1 Jul 2009 08:23:02 +0200 References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com>, <1246413402.70460.23.camel@bauer.cse.buffalo.edu> <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> X-Mailer: Apple Mail (2.935.3) X-SMTP-Vilter-Version: 1.3.6 X-Spamd-Symbols: AWL Cc: "mbr@FreeBSD.org" , "svn-src-all@FreeBSD.org" , "src-committers@FreeBSD.org" , "svn-src-head@FreeBSD.org" , Ken Smith , "M. Warner Losh" Subject: Re: AW: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 06:23:23 -0000 Am 01.07.2009 um 07:04 schrieb Blapp, Martin: > > If the concensus is to back it out, I'll back it out. That would be sad. After all there were very positive reactions from folks that actually looked at the tool, the negative replies came from folks that saw some process violated, iirc.... but hey, after all the committ was approved by the _release_ engineers. I was under the impression that the _release_ folks can give such approval. It was not rush something very in new in, the code is proven and wherever it show up, people immediately see the use of it. The point is that I submittet this in an arbitrary point of my timeline, not being aware of any dates at all, because starting with FreeBSD 8.0 we want to switch a lot of POS terminals/servers to FreeBSD starting with 8.0, and for them we need wake(8). So I yes, I submited this to have it in 8.0, but no, I was not really aware that this was close to a timeline. Now that re@ approved it, where is the sense of removing it from 8.0, just to add then for 9.0? (other that it means I will have to wait for one more release cycle). From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 07:25:30 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3FC2D106564A; Wed, 1 Jul 2009 07:25:30 +0000 (UTC) (envelope-from prvs=1426fb8461=brian@Awfulhak.org) Received: from idcmail-mo2no.shaw.ca (idcmail-mo2no.shaw.ca [64.59.134.9]) by mx1.freebsd.org (Postfix) with ESMTP id D132D8FC08; Wed, 1 Jul 2009 07:25:29 +0000 (UTC) (envelope-from prvs=1426fb8461=brian@Awfulhak.org) Received: from pd6ml1no-ssvc.prod.shaw.ca ([10.0.153.160]) by pd7mo1no-svcs.prod.shaw.ca with ESMTP; 01 Jul 2009 00:56:51 -0600 X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=0 a=5aTBxeKp6XyzOodXBGAA:9 a=B9Ao4QmpTKR_GM9Pi8dXpimq8JIA:4 a=SV7veod9ZcQA:10 a=WJ3hkfHDukgA:10 a=Tu6obrnSMPRxD4wid8cA:9 a=NISQWNpZJYqgjPKInZ0zqbRj0-oA:4 a=c1gA0selgUcA:10 Received: from unknown (HELO store.lan.Awfulhak.org) ([174.7.23.140]) by pd6ml1no-dmz.prod.shaw.ca with ESMTP; 01 Jul 2009 00:56:51 -0600 Received: from store.lan.Awfulhak.org (localhost.localdomain [127.0.0.1]) by localhost (Email Security Appliance) with SMTP id 030F1C433AC_A4B08E6B; Wed, 1 Jul 2009 06:57:41 +0000 (GMT) Received: from gw.Awfulhak.org (gw.lan.Awfulhak.org [172.16.0.1]) by store.lan.Awfulhak.org (Sophos Email Appliance) with ESMTP id 8AF76C460FE_A4B08DBF; Wed, 1 Jul 2009 06:57:31 +0000 (GMT) Received: from dev.lan.Awfulhak.org (brian@dev.lan.Awfulhak.org [172.16.0.5]) by gw.Awfulhak.org (8.14.3/8.14.3) with ESMTP id n616udnL056566; Tue, 30 Jun 2009 23:56:39 -0700 (PDT) (envelope-from brian@Awfulhak.org) Date: Tue, 30 Jun 2009 23:56:24 -0700 From: Brian Somers To: Stanislav Sedov Message-ID: <20090630235624.13a526dc@dev.lan.Awfulhak.org> In-Reply-To: <20090701014553.32117b64.stas@FreeBSD.org> References: <200906301851.n5UIpNJQ089171@svn.freebsd.org> <20090701014553.32117b64.stas@FreeBSD.org> X-Mailer: Claws Mail 3.7.1 (GTK+ 2.16.2; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/_Mbuao.zX.sOdKlwNnjU7um"; protocol="application/pgp-signature" Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Martin Blapp , Marc Balmer , src-committers@FreeBSD.org Subject: Re: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 07:25:30 -0000 --Sig_/_Mbuao.zX.sOdKlwNnjU7um Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 1 Jul 2009 01:45:53 +0400 Stanislav Sedov wrote: > > + p =3D (u_char *)&pkt; > > + len =3D sizeof(pkt); > > + bw =3D 0; > > + while (len) { > > + if ((bw =3D write(bpf, &pkt, sizeof(pkt))) =3D=3D -1) > > + return -1; > > + len -=3D bw; > > + p +=3D bw; > > + } > > + return 0; > > +} >=20 > What the "p" pointer is used here for? I don't see any usage for it besi= des > incrementing it in the loop. Am I missing something? The write() has two bugs. It should be write(bpf, p, len). --=20 Brian Somers Don't _EVER_ lose your sense of humour ! --Sig_/_Mbuao.zX.sOdKlwNnjU7um Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (FreeBSD) iQCVAwUBSksIpw7tvOdmanQhAQLTwwQAr74bKV9Ebbp4kJf2u9ZPnB5c5v0xKo65 A9w5AFgrvyjhJQibHuKrB2S5GCotk5M8y26Mwkwms7Ns8H3DKDus9xPYJygkas7V qhGGO6P/CWayDBK1gxS+wXDNQTZ6XYjcehP2z2wW4Mj8SnqdciCb4sjH0CJNxiqS xFxExqtQH0I= =+zw0 -----END PGP SIGNATURE----- --Sig_/_Mbuao.zX.sOdKlwNnjU7um-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 07:34:29 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F6AE106564A; Wed, 1 Jul 2009 07:34:29 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F21418FC19; Wed, 1 Jul 2009 07:34:28 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n617YSNN005061; Wed, 1 Jul 2009 07:34:28 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n617YS3P005059; Wed, 1 Jul 2009 07:34:28 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200907010734.n617YS3P005059@svn.freebsd.org> From: Doug Rabson Date: Wed, 1 Jul 2009 07:34:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195228 - head/sys/amd64/amd64 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 07:34:29 -0000 Author: dfr Date: Wed Jul 1 07:34:28 2009 New Revision: 195228 URL: http://svn.freebsd.org/changeset/base/195228 Log: Don't include rpcv2.h - it has been removed. Submitted by: ed@ Approved by: re Modified: head/sys/amd64/amd64/genassym.c Modified: head/sys/amd64/amd64/genassym.c ============================================================================== --- head/sys/amd64/amd64/genassym.c Wed Jul 1 01:35:37 2009 (r195227) +++ head/sys/amd64/amd64/genassym.c Wed Jul 1 07:34:28 2009 (r195228) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 07:35:57 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92A421065670; Wed, 1 Jul 2009 07:35:57 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81BEA8FC13; Wed, 1 Jul 2009 07:35:57 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n617Zvxl005130; Wed, 1 Jul 2009 07:35:57 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n617Zva4005128; Wed, 1 Jul 2009 07:35:57 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200907010735.n617Zva4005128@svn.freebsd.org> From: Doug Rabson Date: Wed, 1 Jul 2009 07:35:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195229 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 07:35:57 -0000 Author: dfr Date: Wed Jul 1 07:35:57 2009 New Revision: 195229 URL: http://svn.freebsd.org/changeset/base/195229 Log: Add an entry documenting removal of the NFS_LEGACYRPC option. Submitted by: Steve Kargl Approved by: re Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jul 1 07:34:28 2009 (r195228) +++ head/UPDATING Wed Jul 1 07:35:57 2009 (r195229) @@ -22,6 +22,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + Remove the old kernel RPC implementation and the NFS_LEGACYRPC + option. Kernel configurations may need to be adjusted. + 20090629: The network interface device nodes at /dev/net/ have been removed. All ioctl operations can be performed the normal From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 07:37:21 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7929B1065670; Wed, 1 Jul 2009 07:37:21 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6815F8FC08; Wed, 1 Jul 2009 07:37:21 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n617bLc8005194; Wed, 1 Jul 2009 07:37:21 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n617bLLA005192; Wed, 1 Jul 2009 07:37:21 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200907010737.n617bLLA005192@svn.freebsd.org> From: Doug Rabson Date: Wed, 1 Jul 2009 07:37:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195230 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 07:37:22 -0000 Author: dfr Date: Wed Jul 1 07:37:21 2009 New Revision: 195230 URL: http://svn.freebsd.org/changeset/base/195230 Log: Add usr/include/nfs/rpcv2.h Submitted by: pluknet at gmail dot com Approved by: re Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Jul 1 07:35:57 2009 (r195229) +++ head/ObsoleteFiles.inc Wed Jul 1 07:37:21 2009 (r195230) @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 08:08:56 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5F331065672; Wed, 1 Jul 2009 08:08:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6E75C8FC16; Wed, 1 Jul 2009 08:08:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6188ufo005874; Wed, 1 Jul 2009 08:08:56 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6188u1q005872; Wed, 1 Jul 2009 08:08:56 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <200907010808.n6188u1q005872@svn.freebsd.org> From: Alexander Motin Date: Wed, 1 Jul 2009 08:08:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195231 - head/sys/netgraph X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:08:57 -0000 Author: mav Date: Wed Jul 1 08:08:56 2009 New Revision: 195231 URL: http://svn.freebsd.org/changeset/base/195231 Log: Fix infinite loop in ng_iface, that happens when packet passes out via two different ng interfaces sequentially due to tunnelling. PR: kern/134557 Submitted by: Mikolaj Golub Approved by: re (kensmith) MFC after: 3 days Modified: head/sys/netgraph/ng_iface.c Modified: head/sys/netgraph/ng_iface.c ============================================================================== --- head/sys/netgraph/ng_iface.c Wed Jul 1 07:37:21 2009 (r195230) +++ head/sys/netgraph/ng_iface.c Wed Jul 1 08:08:56 2009 (r195231) @@ -382,7 +382,8 @@ ng_iface_output(struct ifnet *ifp, struc } /* Protect from deadly infinite recursion. */ - while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, NULL))) { + mtag = NULL; + while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, mtag))) { if (*(struct ifnet **)(mtag + 1) == ifp) { log(LOG_NOTICE, "Loop detected on %s\n", ifp->if_xname); m_freem(m); From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 08:48:32 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BD1D106566C; Wed, 1 Jul 2009 08:48:32 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from mx0.deglitch.com (backbone.deglitch.com [IPv6:2001:16d8:fffb:4::abba]) by mx1.freebsd.org (Postfix) with ESMTP id 460D08FC19; Wed, 1 Jul 2009 08:48:32 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from stasss.yandex.ru (dhcp170-227-red.yandex.net [95.108.170.227]) by mx0.deglitch.com (Postfix) with ESMTPSA id 727448FC27; Wed, 1 Jul 2009 12:48:30 +0400 (MSD) Date: Wed, 1 Jul 2009 12:48:25 +0400 From: Stanislav Sedov To: Martin Blapp Message-Id: <20090701124825.af0d205e.stas@FreeBSD.org> In-Reply-To: <200906302209.n5UM9lBM093495@svn.freebsd.org> References: <200906302209.n5UM9lBM093495@svn.freebsd.org> Organization: The FreeBSD Project X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Wed__1_Jul_2009_12_48_25_+0400_tnr=hLcpnQ4F9iSh" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195213 - head/usr.sbin/wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:48:33 -0000 --Signature=_Wed__1_Jul_2009_12_48_25_+0400_tnr=hLcpnQ4F9iSh Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, 30 Jun 2009 22:09:47 +0000 (UTC) Martin Blapp mentioned: > Author: mbr > Date: Tue Jun 30 22:09:47 2009 > New Revision: 195213 > URL: http://svn.freebsd.org/changeset/base/195213 >=20 > Log: > Compiles without higher warn level > =20 > MAN=3D wake.8 > =20 > -WARNS?=3D 2 > - I believe you wanted something like WARNS?=3D6 probably? Now you disabled any warnings-related compiler flags entirely. --=20 Stanislav Sedov ST4096-RIPE --Signature=_Wed__1_Jul_2009_12_48_25_+0400_tnr=hLcpnQ4F9iSh Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- iQIcBAEBAgAGBQJKSyLeAAoJEKN82nOYvCd0NogP/jYWJNQjhoBSLsFTHfUz7/Rp 95TMbrDMx2CJzKCmC7SAIGQyRCKSBRyShgCQ+gTKKLOeBpEa8ZbNFj9JA5ELU1pd gMAEu4HzvA0cYDAeiVkFvK+BAmXpdJ1TPWszwz8WdY8myFJItxxkmseJqUeuBt82 7Lsg5gMrsBT1rhRNGwy0vcA+pP9Psbgq6SURw8OxZUde9Z2j8XtQMpuQn925mYI/ NOEjnh91QKOxZe9KNP5OJnhO2Bi0o4IJQYDzywBcjUeChVdwblfP4l5Y4tOmfHmY 9PEFqKLSr/2iDCsNpHkazOqWokWvaXPkukCyCqV3ZkwmTC2tBc7iKyJ0/hutGUQc JUDDoOa6yiTkzbciS/IO5t1LchQPLPfPHjJXdsVBeOgtDa39++aRXpMUQrKBZn+d CqMTydnEIXDOqJzJfw4VCYkH9P8RUzFh5hVBtbEQWRGNME+arJVDkAz/9A731oX3 tiQcClLLwnt8zLVrBp0Q5Bb8NKa+srY0bn+PtHgZ3fKpkDvroQQcm7ecQ3pSI+ho L8j+gnmFqua3Khlu9HpaUkcTwno32cpbvau+eyi5rcAOIICdktkh8vQWA3xdGCQi K6kcUhvlMH6//RKqeuG1+ZH+0A223BrVunFwVdQe+t0DPEIdcu0J3BSTLSICEfDC YCok7EkthkAcuyEFEhZz =WFJ4 -----END PGP SIGNATURE----- --Signature=_Wed__1_Jul_2009_12_48_25_+0400_tnr=hLcpnQ4F9iSh-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 08:53:57 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2F9910656CB; Wed, 1 Jul 2009 08:53:57 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id D651F8FC1A; Wed, 1 Jul 2009 08:53:56 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 0E84B1CC95; Wed, 1 Jul 2009 10:53:56 +0200 (CEST) Date: Wed, 1 Jul 2009 10:53:56 +0200 From: Ed Schouten To: Doug Rabson Message-ID: <20090701085356.GE48776@hoeg.nl> References: <200907010737.n617bLLA005192@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="VsUXn8CjjXCfXQVM" Content-Disposition: inline In-Reply-To: <200907010737.n617bLLA005192@svn.freebsd.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195230 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:53:58 -0000 --VsUXn8CjjXCfXQVM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Doug, * Doug Rabson wrote: > Author: dfr > Date: Wed Jul 1 07:37:21 2009 > New Revision: 195230 > URL: http://svn.freebsd.org/changeset/base/195230 >=20 > Log: > Add usr/include/nfs/rpcv2.h > =20 > Submitted by: pluknet at gmail dot com > Approved by: re Not sure, but I think there were multiple header files that were removed yesterday. --=20 Ed Schouten WWW: http://80386.nl/ --VsUXn8CjjXCfXQVM Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpLJCMACgkQ52SDGA2eCwVcSwCeOOo6nvELHw3TJZBfrJg0SXoc Ah0An32BHWYODBwSiAa42vaInEBLxKEO =2If6 -----END PGP SIGNATURE----- --VsUXn8CjjXCfXQVM-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 08:56:33 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BFD91065673; Wed, 1 Jul 2009 08:56:33 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 52A7A8FC15; Wed, 1 Jul 2009 08:56:33 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id 88E001CC95; Wed, 1 Jul 2009 10:56:32 +0200 (CEST) Date: Wed, 1 Jul 2009 10:56:32 +0200 From: Ed Schouten To: Doug Rabson Message-ID: <20090701085632.GF48776@hoeg.nl> References: <200907010737.n617bLLA005192@svn.freebsd.org> <20090701085356.GE48776@hoeg.nl> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sPn/xSpzAUM7PKbQ" Content-Disposition: inline In-Reply-To: <20090701085356.GE48776@hoeg.nl> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195230 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:56:34 -0000 --sPn/xSpzAUM7PKbQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Ed Schouten wrote: > Not sure, but I think there were multiple header files that were > removed yesterday. Never mind. They were modified, not removed. Sorry for the noise! --=20 Ed Schouten WWW: http://80386.nl/ --sPn/xSpzAUM7PKbQ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpLJMAACgkQ52SDGA2eCwXZSQCfRcpvZxk84Ascn5nalyUPrHgT c88AniNV8BYDGw88JLCwPQceECBYtFDa =1tWm -----END PGP SIGNATURE----- --sPn/xSpzAUM7PKbQ-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 08:58:56 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF11E106566C; Wed, 1 Jul 2009 08:58:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 9FD218FC13; Wed, 1 Jul 2009 08:58:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 2621246B1A; Wed, 1 Jul 2009 04:58:56 -0400 (EDT) Date: Wed, 1 Jul 2009 09:58:55 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: "Blapp, Martin" In-Reply-To: <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> Message-ID: References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com>, <1246413402.70460.23.camel@bauer.cse.buffalo.edu> <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Ken Smith , "svn-src-all@FreeBSD.org" , "marc@msys.ch" , "src-committers@FreeBSD.org" , "svn-src-head@FreeBSD.org" , "mbr@FreeBSD.org" , "M. Warner Losh" Subject: Re: AW: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 08:58:57 -0000 On Wed, 1 Jul 2009, Blapp, Martin wrote: > I really was not my or Marcs intention to skip any discussions. Rwatson told > us that if we like to see it in 8.0, we need to approve it by RE and commit > it before the 1. of july, and that's what I've done. Sorry if I've upset > anyone. > > Personally I think the tool is quite handy, better than net/wol (which > doesn't seem to work with different interfaces), wake doesn't need any > strange libaries as dependencies and it just a very short one (4k) > > If the concensus is to back it out, I'll back it out. FWIW, I think having a wake-on-lan tool in the base system is pretty valuable -- it's compact, useful, etc. Making sure we get the right tool, that it has the right name, right license, no odd script dependencies, etc, are all reasonable concerns, and could have been handled better by addressing them on the lists before, rather than after, the commit (Marc's tool meets some but not all of these requirements on face value). That said, I am caught a bit by surprise at the level of my response, and was not aware of the NetBSD-side discussion... Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 11:25:39 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 613BE1065673; Wed, 1 Jul 2009 11:25:39 +0000 (UTC) (envelope-from maxim@macomnet.ru) Received: from mp2.macomnet.net (cl-2958.ham-01.de.sixxs.net [IPv6:2001:6f8:900:b8d::2]) by mx1.freebsd.org (Postfix) with ESMTP id DAB5B8FC1B; Wed, 1 Jul 2009 11:25:38 +0000 (UTC) (envelope-from maxim@macomnet.ru) Received: from localhost (localhost [127.0.0.1]) by mp2.macomnet.net (8.14.3/8.14.3) with ESMTP id n61BPXlm012274; Wed, 1 Jul 2009 15:25:33 +0400 (MSD) (envelope-from maxim@macomnet.ru) Date: Wed, 1 Jul 2009 15:25:33 +0400 (MSD) From: Maxim Konovalov To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= In-Reply-To: <86ljn923dw.fsf@ds4.des.no> Message-ID: <20090701152300.N96900@mp2.macomnet.net> References: <200906230555.n5N5tubJ065618@svn.freebsd.org> <20090623080015.GK48776@hoeg.nl> <20090623125125.F1156@mp2.macomnet.net> <86ljn923dw.fsf@ds4.des.no> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: svn-src-head@FreeBSD.ORG, Ed Schouten , svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r194681 - head/usr.sbin/wpa/ndis_events X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 11:25:39 -0000 On Tue, 30 Jun 2009, 16:38+0200, Dag-Erling Smrgrav wrote: > Maxim Konovalov writes: > > fixed, thanks. > > It still says > > static void > usage() > > I know this is allowed by C99, but it's not allowed by style(9). > >From style(9): static void usage() { /* Insert an empty line if the function has no local variables. */ ... Apart from the empty line, what's wrong? -- Maxim Konovalov From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 11:44:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94724106564A; Wed, 1 Jul 2009 11:44:23 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail02.syd.optusnet.com.au (mail02.syd.optusnet.com.au [211.29.132.183]) by mx1.freebsd.org (Postfix) with ESMTP id 0818B8FC0C; Wed, 1 Jul 2009 11:44:22 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c122-106-161-96.carlnfd1.nsw.optusnet.com.au (c122-106-161-96.carlnfd1.nsw.optusnet.com.au [122.106.161.96]) by mail02.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n61BiEgX006973 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 21:44:15 +1000 Date: Wed, 1 Jul 2009 21:44:14 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= In-Reply-To: <86hbxx2341.fsf@ds4.des.no> Message-ID: <20090701213032.Q39158@delplex.bde.org> References: <200906201639.n5KGdPhO081114@svn.freebsd.org> <20090620174158.GG2884@deviant.kiev.zoral.com.ua> <20090623221248.GA5445@zim.MIT.EDU> <20090623221053.GT2884@deviant.kiev.zoral.com.ua> <20090623234549.GA6076@zim.MIT.EDU> <20090625151849.W33864@delplex.bde.org> <86hbxx2341.fsf@ds4.des.no> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-540457762-1246448654=:39158" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, Ed Schouten , svn-src-head@freebsd.org, Bruce Evans , Kostik Belousov , David Schultz Subject: Re: svn commit: r194538 - head/sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 11:44:24 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-540457762-1246448654=:39158 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Tue, 30 Jun 2009, [utf-8] Dag-Erling Sm=C3=B8rgrav wrote: > Bruce Evans writes: >> Freestanding reserves fewer symbols for the implementation. > > IIRC, freestanding implementations are only required to provide > and , and everything else is available to the > application. Also , , , and . However, _FOO and __foo don't seem to be reserved -- these seem to only be reserved in section 7 (library), and freestanding specifically doesn't require anything in section 7 except the above headers. The complete list seems to be just the standard contents of the above headers, plus things like __STDC__, at least if the application doesn't #undef these things before using them. Bruce --0-540457762-1246448654=:39158-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 12:21:40 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F33A1065674; Wed, 1 Jul 2009 12:21:40 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail05.syd.optusnet.com.au (mail05.syd.optusnet.com.au [211.29.132.186]) by mx1.freebsd.org (Postfix) with ESMTP id C57638FC17; Wed, 1 Jul 2009 12:21:39 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c122-106-161-96.carlnfd1.nsw.optusnet.com.au (c122-106-161-96.carlnfd1.nsw.optusnet.com.au [122.106.161.96]) by mail05.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n61CJwr7027196 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 22:19:59 +1000 Date: Wed, 1 Jul 2009 22:19:58 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= In-Reply-To: <8663ed2265.fsf@ds4.des.no> Message-ID: <20090701214927.V39172@delplex.bde.org> References: <200906232316.n5NNG1iT094289@svn.freebsd.org> <20090625154007.H33864@delplex.bde.org> <4A43B727.7010204@delphij.net> <20090627033608.P35379@delplex.bde.org> <8663ed2265.fsf@ds4.des.no> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1165440652-1246450798=:39172" Cc: src-committers@freebsd.org, d@delphij.net, svn-src-all@freebsd.org, Xin LI , Bruce Evans , svn-src-head@freebsd.org Subject: Re: svn commit: r194789 - head/usr.bin/usbhidctl X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 12:21:40 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1165440652-1246450798=:39172 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Tue, 30 Jun 2009, [utf-8] Dag-Erling Sm=C3=B8rgrav wrote: > Bruce Evans writes: >> Actually, it is OK to use it in FreeBSD iff the system supports the >> same program having different names, like reboot/halt/etc. > > I don't see the point - you would still need different usage messages > for each version. Using your example: > > % reboot -h > reboot: illegal option -- h > usage: reboot [-dlnpq] [-k kernel] > % halt -h > halt: illegal option -- h > usage: halt [-lnpq] [-k kernel] > > The code that implements this is needlessly complicated: > > static void > usage() > { > (void)fprintf(stderr, "usage: %s [-%slnpq] [-k kernel]\n", > getprogname(), dohalt ? "" : "d"); > exit(1); > } Yes, I missed that. I had only looked at an old version which was just broken -- it always printed -[dnpq] (was also missing -l). > The following is far more readable: > > static void > usage(void) > { > > =09(void)fprintf(stderr, dohalt ? > =09 "usage: halt [-lnpq] [-k kernel]\n" : > =09 "usage: reboot [-dlnpq] [-k kernel]\n"); > =09exit(1); > } However, this is broken since it doesn't handle the program being named fasthalt or fastboot. The dohalt condition in the current version barely works for these since fasthalt takes the same args as halt, etc. I like using the `? :' operator in sub-expressions, but it only works well for simpler statements than the above. reboot in Lite2 uses it instead of getprogname(). reboot in Lite2 also has a home-made err() with another ?: instead of getprogname(). It uses "dohalt ? :", and this is actually correct since Lite2 doesn't have fasthalt or fastboot, at least in reboot's own Makefile. > BTW, there are numerous style issues in sbin/reboot/reboot.c. Really? According to knfom, it is 94.772% knf (up from 94.520% in ~5.2 and 92.896% in Lite2). It is a small program so it is easy to get right, but anything above 90% is a nice colour. (94.520% is due to 7 lines fixed by indent(1) and 5 lines broken by indent(1)). Bruce --0-1165440652-1246450798=:39172-- From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 12:36:10 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D18C1065678; Wed, 1 Jul 2009 12:36:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A7F78FC16; Wed, 1 Jul 2009 12:36:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61CaAwY012737; Wed, 1 Jul 2009 12:36:10 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61CaA9g012734; Wed, 1 Jul 2009 12:36:10 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011236.n61CaA9g012734@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 12:36:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195235 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 12:36:11 -0000 Author: rwatson Date: Wed Jul 1 12:36:10 2009 New Revision: 195235 URL: http://svn.freebsd.org/changeset/base/195235 Log: udit the 'options' argument to wait4(2). Approved by: re (kib) MFC after: 3 days Modified: head/sys/kern/kern_exit.c head/sys/security/audit/audit_bsm.c Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Wed Jul 1 10:16:10 2009 (r195234) +++ head/sys/kern/kern_exit.c Wed Jul 1 12:36:10 2009 (r195235) @@ -804,6 +804,7 @@ kern_wait(struct thread *td, pid_t pid, int error, nfound; AUDIT_ARG_PID(pid); + AUDIT_ARG_VALUE(options); q = td->td_proc; if (pid == 0) { Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Wed Jul 1 10:16:10 2009 (r195234) +++ head/sys/security/audit/audit_bsm.c Wed Jul 1 12:36:10 2009 (r195235) @@ -1498,6 +1498,10 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(0, "pid", ar->ar_arg_pid); kau_write(rec, tok); } + if (ARG_IS_VALID(kar, ARG_VALUE)) { + tok = au_to_arg32(0, "options", ar->ar_arg_value); + kau_write(rec, tok); + } break; case AUE_NULL: From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 13:07:02 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2AE9106564A; Wed, 1 Jul 2009 13:07:02 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C08608FC27; Wed, 1 Jul 2009 13:07:02 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61D72ow013395; Wed, 1 Jul 2009 13:07:02 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61D72ma013392; Wed, 1 Jul 2009 13:07:02 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907011307.n61D72ma013392@svn.freebsd.org> From: Stanislav Sedov Date: Wed, 1 Jul 2009 13:07:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195237 - head/usr.sbin/wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 13:07:03 -0000 Author: stas Date: Wed Jul 1 13:07:02 2009 New Revision: 195237 URL: http://svn.freebsd.org/changeset/base/195237 Log: - Fix the bug in write(2) called with incorrect parameters resulting in writes always started from the start of the packet. - Fix usage string (multiple addresses can be specified). - Make the source more style(9) compliant. - Improve error reporting (do not silently fail if something goes wrong). - Make functions static. - Use warns level 6. Approved by: re (kib) Discussed with: Marc Balmer , brian, mbr Modified: head/usr.sbin/wake/Makefile head/usr.sbin/wake/wake.c Modified: head/usr.sbin/wake/Makefile ============================================================================== --- head/usr.sbin/wake/Makefile Wed Jul 1 12:44:23 2009 (r195236) +++ head/usr.sbin/wake/Makefile Wed Jul 1 13:07:02 2009 (r195237) @@ -2,5 +2,6 @@ PROG= wake MAN= wake.8 +WARNS?= 6 .include Modified: head/usr.sbin/wake/wake.c ============================================================================== --- head/usr.sbin/wake/wake.c Wed Jul 1 12:44:23 2009 (r195236) +++ head/usr.sbin/wake/wake.c Wed Jul 1 13:07:02 2009 (r195237) @@ -27,18 +27,6 @@ #include __FBSDID("$FreeBSD$"); -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - #include #include #include @@ -50,70 +38,89 @@ __FBSDID("$FreeBSD$"); #include #include -#define _PATH_BPF "/dev/bpf" +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define _PATH_BPF "/dev/bpf" #ifndef SYNC_LEN -#define SYNC_LEN 6 +#define SYNC_LEN 6 #endif #ifndef DESTADDR_COUNT -#define DESTADDR_COUNT 16 +#define DESTADDR_COUNT 16 #endif -void usage(void); +static void usage(void); +static int wake(const char *iface, const char *host); +static int bind_if_to_bpf(char const *ifname, int bpf); +static int get_ether(char const *text, struct ether_addr *addr); +static int send_wakeup(int bpf, struct ether_addr const *addr); -int wake(const char *iface, const char *host); -int bind_if_to_bpf(char const *ifname, int bpf); -int get_ether(char const *text, struct ether_addr *addr); -int send_wakeup(int bpf, struct ether_addr const *addr); - -void +static void usage(void) { - (void)fprintf(stderr, "usage: wake interface lladdr\n"); + + (void)fprintf(stderr, "usage: wake interface lladdr...\n"); exit(0); } -int +static int wake(const char *iface, const char *host) { - int res, bpf; struct ether_addr macaddr; + int bpf, res; bpf = open(_PATH_BPF, O_RDWR); if (bpf == -1) { - printf("no bpf\n"); - return -1; + warn("no bpf"); + return (-1); } if (bind_if_to_bpf(iface, bpf) == -1 || get_ether(host, &macaddr) == -1) { (void)close(bpf); - return -1; + return (-1); } res = send_wakeup(bpf, &macaddr); (void)close(bpf); - return res; + return (res); } -int +static int bind_if_to_bpf(char const *ifname, int bpf) { struct ifreq ifr; u_int dlt; if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) >= - sizeof(ifr.ifr_name)) - return -1; - if (ioctl(bpf, BIOCSETIF, &ifr) == -1) - return -1; - if (ioctl(bpf, BIOCGDLT, &dlt) == -1) - return -1; - if (dlt != DLT_EN10MB) - return -1; - return 0; + sizeof(ifr.ifr_name)) { + warnx("interface name too long: %s", ifname); + return (-1); + } + if (ioctl(bpf, BIOCSETIF, &ifr) == -1) { + warn("ioctl(%s)", "BIOCSETIF"); + return (-1); + } + if (ioctl(bpf, BIOCGDLT, &dlt) == -1) { + warn("ioctl(%s)", "BIOCGDLT"); + return (-1); + } + if (dlt != DLT_EN10MB) { + warnx("incompatible media"); + return (-1); + } + return (0); } -int +static int get_ether(char const *text, struct ether_addr *addr) { struct ether_addr *paddr; @@ -121,24 +128,26 @@ get_ether(char const *text, struct ether paddr = ether_aton(text); if (paddr != NULL) { *addr = *paddr; - return 0; + return (0); } - if (ether_hostton(text, addr)) - return -1; - return 0; + if (ether_hostton(text, addr)) { + warnx("no match for host %s found", text); + return (-1); + } + return (0); } -int +static int send_wakeup(int bpf, struct ether_addr const *addr) { struct { struct ether_header hdr; u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; - } pkt; - u_char *p; - int i; + } __packed pkt; ssize_t bw; ssize_t len; + int i; + u_char *p; (void)memset(pkt.hdr.ether_dhost, 0xff, sizeof(pkt.hdr.ether_dhost)); pkt.hdr.ether_type = htons(0); @@ -150,12 +159,14 @@ send_wakeup(int bpf, struct ether_addr c len = sizeof(pkt); bw = 0; while (len) { - if ((bw = write(bpf, &pkt, sizeof(pkt))) == -1) - return -1; + if ((bw = write(bpf, p, len)) == -1) { + warn("write()"); + return (-1); + } len -= bw; p += bw; } - return 0; + return (0); } int @@ -170,5 +181,5 @@ main(int argc, char *argv[]) if (wake(argv[1], argv[n])) warnx("error sending Wake on LAN frame over %s to %s", argv[1], argv[n]); - return 0; + return (0); } From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 13:15:36 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CDE41065672; Wed, 1 Jul 2009 13:15:36 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail03.syd.optusnet.com.au (mail03.syd.optusnet.com.au [211.29.132.184]) by mx1.freebsd.org (Postfix) with ESMTP id 967AF8FC08; Wed, 1 Jul 2009 13:15:35 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c122-106-161-96.carlnfd1.nsw.optusnet.com.au (c122-106-161-96.carlnfd1.nsw.optusnet.com.au [122.106.161.96]) by mail03.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n61DFL0G018412 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 23:15:33 +1000 Date: Wed, 1 Jul 2009 23:15:22 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: Stanislav Sedov In-Reply-To: <20090701124825.af0d205e.stas@FreeBSD.org> Message-ID: <20090701223719.L39215@delplex.bde.org> References: <200906302209.n5UM9lBM093495@svn.freebsd.org> <20090701124825.af0d205e.stas@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Martin Blapp , src-committers@freebsd.org Subject: Re: svn commit: r195213 - head/usr.sbin/wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 13:15:36 -0000 On Wed, 1 Jul 2009, Stanislav Sedov wrote: > On Tue, 30 Jun 2009 22:09:47 +0000 (UTC) > Martin Blapp mentioned: >> Log: >> Compiles without higher warn level >> >> MAN= wake.8 >> >> -WARNS?= 2 >> - > > I believe you wanted something like WARNS?=6 probably? Now you disabled > any warnings-related compiler flags entirely. WARNS should only be set in near-top-level Makefile.inc's. Setting it elsewhere is either a style bug to increase the warning level or a hack to decrease the warning level. However, setting of WARNS in near-top- level Makefile.inc's stalled several years ago at the same time as its excessive setting in individual Makefiles. It is still not set at all in usr.sbin/Makefile.inc, while in usr.bin its setting is commented out "temporarily". Only the relatively simple bin directory has been handled well -- bin/Makefile.inc and most files under it started uniformly at WARNS=2, and bin/Makefile.inc has now reached WARNS=6, with only the following bugs and hacks in leaf Makefiles: % ./rmail/Makefile:WARNS?= 0 Apparently, sendmail isn't written in C yet. % ./cat/Makefile:WARNS?= 6 Bogus override of the default to the same value. cat compiled happily with the default WARNS of 6 for 6 years before this bug was committed in 2009, after being fixed in 2001 to not set WARNS, so that it automatically picked up the change of the default from 2 to 6 in 2003. % ./csh/Makefile:WARNS?= 0 Csh was never written in C :-). % ./ed/Makefile:WARNS?= 2 % ./pax/Makefile:WARNS?= 3 % ./pkill/Makefile:WARNS?= 5 % ./sh/Makefile:WARNS?= 2 Assorted hacks. % ./uuidgen/Makefile:WARNS?= 6 Another bogus override of the default. In usr.sbin, WARNS has never been turned on globally, and slightly more than half of the makefiles don't set it locally either. Bruce From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 13:22:09 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CAA4106566C; Wed, 1 Jul 2009 13:22:09 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B2EA8FC13; Wed, 1 Jul 2009 13:22:09 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61DM9Ln013758; Wed, 1 Jul 2009 13:22:09 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61DM8fg013756; Wed, 1 Jul 2009 13:22:08 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011322.n61DM8fg013756@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 13:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195238 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 13:22:09 -0000 Author: rwatson Date: Wed Jul 1 13:22:08 2009 New Revision: 195238 URL: http://svn.freebsd.org/changeset/base/195238 Log: Fix link(2) auditing: use the second audit record path for the new object name. Approved by: re (kib) MFC after: 3 days Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Jul 1 13:07:02 2009 (r195237) +++ head/sys/kern/vfs_syscalls.c Wed Jul 1 13:22:08 2009 (r195238) @@ -1583,7 +1583,7 @@ kern_linkat(struct thread *td, int fd1, VFS_UNLOCK_GIANT(vfslocked); return (error); } - NDINIT_AT(&nd, CREATE, LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, + NDINIT_AT(&nd, CREATE, LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE2, segflg, path2, fd2, td); if ((error = namei(&nd)) == 0) { lvfslocked = NDHASGIANT(&nd); From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 13:58:07 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04B1B106566C; Wed, 1 Jul 2009 13:58:07 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.freebsd.org (Postfix) with ESMTP id 746BB8FC1A; Wed, 1 Jul 2009 13:58:06 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-161-96.carlnfd1.nsw.optusnet.com.au [122.106.161.96]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n61DvY9g025213 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jul 2009 23:57:35 +1000 Date: Wed, 1 Jul 2009 23:57:34 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Maxim Konovalov In-Reply-To: <20090701152300.N96900@mp2.macomnet.net> Message-ID: <20090701234518.E2035@besplex.bde.org> References: <200906230555.n5N5tubJ065618@svn.freebsd.org> <20090623080015.GK48776@hoeg.nl> <20090623125125.F1156@mp2.macomnet.net> <86ljn923dw.fsf@ds4.des.no> <20090701152300.N96900@mp2.macomnet.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Ed Schouten Subject: Re: svn commit: r194681 - head/usr.sbin/wpa/ndis_events X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 13:58:07 -0000 On Wed, 1 Jul 2009, Maxim Konovalov wrote: > On Tue, 30 Jun 2009, 16:38+0200, Dag-Erling Smrgrav wrote: > >> Maxim Konovalov writes: >>> fixed, thanks. >> >> It still says >> >> static void >> usage() >> >> I know this is allowed by C99, but it's not allowed by style(9). >> > From style(9): > > static void > usage() > { > /* Insert an empty line if the function has no local variables. */ > ... > > Apart from the empty line, what's wrong? style(9) hasn't been converted to its own religion yet :-). This isn't exactly a bug, since an old-style Standard C function definition is still Normal for usage(). Normal file order is a prototype for usage(), then main() calling usage(), then usage(), so a separate prototype for usage() is Normal. Then usage an old-style definition for usage() breaks K&R support without affecting Standard C support. Bruce From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 14:08:43 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9B1C106564A; Wed, 1 Jul 2009 14:08:43 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id A3C9A8FC18; Wed, 1 Jul 2009 14:08:43 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 8E1E26D418; Wed, 1 Jul 2009 16:08:42 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id 70AC8844C2; Wed, 1 Jul 2009 16:08:42 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ulrich =?utf-8?Q?Sp=C3=B6rlein?= References: <86prcl23k8.fsf@ds4.des.no> <20090630.085955.63054488.imp@bsdimp.com> <20090630.094632.195416436.imp@bsdimp.com> <20090630193712.GA5446@roadrunner.spoerlein.net> Date: Wed, 01 Jul 2009 16:08:42 +0200 In-Reply-To: <20090630193712.GA5446@roadrunner.spoerlein.net> ("Ulrich =?utf-8?Q?Sp=C3=B6rlein=22's?= message of "Tue, 30 Jun 2009 21:37:12 +0200") Message-ID: <86vdmca42d.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: ed@80386.nl, src-committers@freebsd.org, svn-src-all@freebsd.org, rwatson@freebsd.org, rafan@freebsd.org, svn-src-head@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 14:08:44 -0000 Ulrich Sp=C3=B6rlein writes: > Btw, I do like the current behaviour, but if $PAGER can be coerced into > not clearing screen after exit, I think more people could be persuaded. cat >~/.termcap my-xterm:\ ti@:te@:tc=3Dxterm ^D DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 14:56:40 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F4FD1065670; Wed, 1 Jul 2009 14:56:40 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id E242B8FC18; Wed, 1 Jul 2009 14:56:39 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 244826D41E; Wed, 1 Jul 2009 16:56:39 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id 02880844C2; Wed, 1 Jul 2009 16:56:39 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Maxim Konovalov References: <200906230555.n5N5tubJ065618@svn.freebsd.org> <20090623080015.GK48776@hoeg.nl> <20090623125125.F1156@mp2.macomnet.net> <86ljn923dw.fsf@ds4.des.no> <20090701152300.N96900@mp2.macomnet.net> Date: Wed, 01 Jul 2009 16:56:38 +0200 In-Reply-To: <20090701152300.N96900@mp2.macomnet.net> (Maxim Konovalov's message of "Wed, 1 Jul 2009 15:25:33 +0400 (MSD)") Message-ID: <86my7oa1uh.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.ORG, Ed Schouten , svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r194681 - head/usr.sbin/wpa/ndis_events X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 14:56:40 -0000 Maxim Konovalov writes: > From style(9): > > static void > usage() > ... > > Apart from the empty line, what's wrong? Missing void. I wasn't aware that style(9) was incorrect in that respect. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 15:05:12 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA910106566C; Wed, 1 Jul 2009 15:05:12 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 678528FC19; Wed, 1 Jul 2009 15:05:12 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 7DA296D418; Wed, 1 Jul 2009 17:05:11 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id 45346844C2; Wed, 1 Jul 2009 17:05:11 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Bruce Evans References: <200906232316.n5NNG1iT094289@svn.freebsd.org> <20090625154007.H33864@delplex.bde.org> <4A43B727.7010204@delphij.net> <20090627033608.P35379@delplex.bde.org> <8663ed2265.fsf@ds4.des.no> <20090701214927.V39172@delplex.bde.org> Date: Wed, 01 Jul 2009 17:05:11 +0200 In-Reply-To: <20090701214927.V39172@delplex.bde.org> (Bruce Evans's message of "Wed, 1 Jul 2009 22:19:58 +1000 (EST)") Message-ID: <86iqica1g8.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, Xin LI , svn-src-all@freebsd.org, src-committers@freebsd.org, d@delphij.net Subject: Re: svn commit: r194789 - head/usr.bin/usbhidctl X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:05:13 -0000 Bruce Evans writes: > "Dag-Erling Sm=C3=B8rgrav" writes: > > BTW, there are numerous style issues in sbin/reboot/reboot.c. > Really? According to knfom, it is 94.772% knf (up from 94.520% in > ~5.2 and 92.896% in Lite2). It is a small program so it is easy to > get right, but anything above 90% is a nice colour. (94.520% is due > to 7 lines fixed by indent(1) and 5 lines broken by indent(1)). I guess it depends on your definition of "numerous". The most obvious ones (since I was looking at usage()) were the missing void in the definition of usage() and the missing blank line at the top of the function. Other than that: #include directives are unordered, local variables in main() are declared in the wrong order, geteuid() is used as a predicate, and the required parentheses around the return value in get_pageins() are missing. I would also use fopen(3) and fprintf(3) instead of open(2) and write(2) to write nextboot.conf, and I would check that argc is 0 after the getopt(3) loop. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 15:09:59 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AF8B106564A; Wed, 1 Jul 2009 15:09:59 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id B92C08FC14; Wed, 1 Jul 2009 15:09:58 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id E30B66D418; Wed, 1 Jul 2009 17:09:57 +0200 (CEST) Received: by ds4.des.no (Postfix, from userid 1001) id BCDDD844C2; Wed, 1 Jul 2009 17:09:57 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ulrich =?utf-8?Q?Sp=C3=B6rlein?= References: <86prcl23k8.fsf@ds4.des.no> <20090630.085955.63054488.imp@bsdimp.com> <20090630.094632.195416436.imp@bsdimp.com> <20090630193712.GA5446@roadrunner.spoerlein.net> <86vdmca42d.fsf@ds4.des.no> Date: Wed, 01 Jul 2009 17:09:57 +0200 In-Reply-To: <86vdmca42d.fsf@ds4.des.no> ("Dag-Erling =?utf-8?Q?Sm=C3=B8rg?= =?utf-8?Q?rav=22's?= message of "Wed, 01 Jul 2009 16:08:42 +0200") Message-ID: <86eit0a18a.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: ed@80386.nl, src-committers@freebsd.org, svn-src-all@freebsd.org, rwatson@freebsd.org, rafan@freebsd.org, svn-src-head@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r194628 - head/lib/ncurses/ncurses X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:09:59 -0000 better yet: if [ $TERM =3D xterm ] ; then export TERMCAP=3Dmyterm:ti@:te@:tc=3Dxterm: export TERM=3Dmyterm fi DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 15:37:23 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAC1D106564A; Wed, 1 Jul 2009 15:37:23 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B8E788FC0C; Wed, 1 Jul 2009 15:37:23 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61FbN1B016710; Wed, 1 Jul 2009 15:37:23 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61FbN8P016707; Wed, 1 Jul 2009 15:37:23 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011537.n61FbN8P016707@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 15:37:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195242 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:37:24 -0000 Author: rwatson Date: Wed Jul 1 15:37:23 2009 New Revision: 195242 URL: http://svn.freebsd.org/changeset/base/195242 Log: Audit the file descriptor number passed to lseek(2). Approved by: re (kib) MFC after: 3 days Modified: head/sys/kern/vfs_syscalls.c head/sys/security/audit/audit_bsm.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Jul 1 15:11:23 2009 (r195241) +++ head/sys/kern/vfs_syscalls.c Wed Jul 1 15:37:23 2009 (r195242) @@ -1924,6 +1924,7 @@ lseek(td, uap) int error, noneg; int vfslocked; + AUDIT_ARG_FD(uap->fd); if ((error = fget(td, uap->fd, &fp)) != 0) return (error); if (!(fp->f_ops->fo_flags & DFLAG_SEEKABLE)) { Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Wed Jul 1 15:11:23 2009 (r195241) +++ head/sys/security/audit/audit_bsm.c Wed Jul 1 15:37:23 2009 (r195242) @@ -679,7 +679,6 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_GETRESUID: case AUE_GETRESGID: case AUE_KQUEUE: - case AUE_LSEEK: case AUE_MODLOAD: case AUE_MODUNLOAD: case AUE_MSGSYS: @@ -870,6 +869,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_FUTIMES: case AUE_GETDIRENTRIES: case AUE_GETDIRENTRIESATTR: + case AUE_LSEEK: case AUE_POLL: case AUE_READ: case AUE_READV: From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 15:52:19 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC94D106566C; Wed, 1 Jul 2009 15:52:19 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B08E88FC1A; Wed, 1 Jul 2009 15:52:19 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61FqJ57016998; Wed, 1 Jul 2009 15:52:19 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61FqJL5016996; Wed, 1 Jul 2009 15:52:19 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200907011552.n61FqJL5016996@svn.freebsd.org> From: Edward Tomasz Napierala Date: Wed, 1 Jul 2009 15:52:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195243 - head/bin/chmod X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:52:20 -0000 Author: trasz Date: Wed Jul 1 15:52:19 2009 New Revision: 195243 URL: http://svn.freebsd.org/changeset/base/195243 Log: With NFSv4 ACLs, it is possible that applying a mode to an ACL which is identical to the mode computed from that ACL will modify the ACL. For example, mode computed from the following ACL is 0600: user:kamila:rwx--------C--:------:allow owner@:--x-----------:------:deny owner@:rw-p---A-W-Co-:------:allow group@:rwxp----------:------:deny group@:--------------:------:allow everyone@:rwxp---A-W-Co-:------:deny everyone@:------a-R-c--s:------:allow However, applying that mode (chmod 0600) changes the ACL into this: user:kamila:rwx-----------:------:deny user:kamila:rwx--------C--:------:allow owner@:--x-----------:------:deny owner@:rw-p---A-W-Co-:------:allow group@:rwxp----------:------:deny group@:--------------:------:allow everyone@:rwxp---A-W-Co-:------:deny everyone@:------a-R-c--s:------:allow In chmod(1) utility, there is an optimisation, which makes it not call chmod(2) if the mode of the file is the same as the new mode. Disable that optimisation for files which may have NFSv4 ACLs. Reviewed by: rwatson Approved by: re (kib) Modified: head/bin/chmod/chmod.c Modified: head/bin/chmod/chmod.c ============================================================================== --- head/bin/chmod/chmod.c Wed Jul 1 15:37:23 2009 (r195242) +++ head/bin/chmod/chmod.c Wed Jul 1 15:52:19 2009 (r195243) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ done: argv += optind; break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -219,3 +226,24 @@ usage(void) "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 15:52:29 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E9A61065739; Wed, 1 Jul 2009 15:52:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 1BA668FC25; Wed, 1 Jul 2009 15:52:27 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id A7ABA46B9C; Wed, 1 Jul 2009 11:52:26 -0400 (EDT) Received: from John-Baldwins-Macbook-Pro.local (localhost [IPv6:::1]) by bigwig.baldwin.cx (Postfix) with ESMTPA id 9AE318A08C; Wed, 1 Jul 2009 11:52:24 -0400 (EDT) Message-ID: <4A4B863A.7090304@FreeBSD.org> Date: Wed, 01 Jul 2009 11:52:26 -0400 From: John Baldwin User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302) MIME-Version: 1.0 To: Steve Kargl References: <200906300318.n5U3Ipr4066645@svn.freebsd.org> <20090630051641.T22887@maildrop.int.zabbadoz.net> <20090630144904.GA41936@troutmask.apl.washington.edu> In-Reply-To: <20090630144904.GA41936@troutmask.apl.washington.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Wed, 01 Jul 2009 11:52:25 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-3.3 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: svn-src-head@freebsd.org, dfr@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, bz0fbd@zabbadoz.net Subject: Re: svn commit: r195181 - in head/sys: nfsclient nfsserver X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:52:29 -0000 Steve Kargl wrote: > On Tue, Jun 30, 2009 at 05:17:48AM +0000, bz0fbd@zabbadoz.net wrote: >> On Tue, 30 Jun 2009, John Baldwin wrote: >> >>> Author: jhb >>> Date: Tue Jun 30 03:18:51 2009 >>> New Revision: 195181 >>> URL: http://svn.freebsd.org/changeset/base/195181 >>> >>> Log: >>> Fix build with NFS_LEGACYRPC enabled after the socket upcall locking >>> changes. >> is this really a good idea, considering that NFS_LEGACYRPC is on the >> "removal list" for 8.0? > > Yes. > > 1) This option definitely worked on April 18th. > 2) The option was broken by a commit that was never tested! If anything > this should remind committers to either get a code review or test > their patch. That isn't a completely fair assessment. The patch was most certainly tested with NFS in the default configuration (!NFS_LEGACYRPC). It is also a good idea to fix the option until such time as it is formally removed, however. -- John Baldwin From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 16:13:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C86151065676; Wed, 1 Jul 2009 16:13:01 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B6B448FC1A; Wed, 1 Jul 2009 16:13:01 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61GD1gf017441; Wed, 1 Jul 2009 16:13:01 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61GD1Um017439; Wed, 1 Jul 2009 16:13:01 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <200907011613.n61GD1Um017439@svn.freebsd.org> From: Jack F Vogel Date: Wed, 1 Jul 2009 16:13:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195244 - head/sys/dev/ixgbe X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 16:13:02 -0000 Author: jfv Date: Wed Jul 1 16:13:01 2009 New Revision: 195244 URL: http://svn.freebsd.org/changeset/base/195244 Log: Multiqueue RX is not correctly enabled on the new 82599 adapter, the SRRCTL register needs to be setup per queue. Approved by: re Modified: head/sys/dev/ixgbe/ixgbe.c Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Wed Jul 1 15:52:19 2009 (r195243) +++ head/sys/dev/ixgbe/ixgbe.c Wed Jul 1 16:13:01 2009 (r195244) @@ -46,7 +46,7 @@ int ixgbe_display_debug_stat /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.8.7"; +char ixgbe_driver_version[] = "1.8.8"; /********************************************************************* * PCI Device ID Table @@ -452,7 +452,7 @@ ixgbe_attach(device_t dev) ** system mbuf allocation. Tuning nmbclusters ** can alleviate this. */ - if ((adapter->num_queues > 1) && (nmbclusters > 0 )){ + if (nmbclusters > 0 ) { int s; /* Calculate the total RX mbuf needs */ s = (ixgbe_rxd * adapter->num_queues) * ixgbe_total_ports; @@ -3629,7 +3629,7 @@ ixgbe_initialize_receive_units(struct ad struct rx_ring *rxr = adapter->rx_rings; struct ixgbe_hw *hw = &adapter->hw; struct ifnet *ifp = adapter->ifp; - u32 rxctrl, fctrl, srrctl, rxcsum; + u32 bufsz, rxctrl, fctrl, srrctl, rxcsum; u32 reta, mrqc = 0, hlreg, random[10]; @@ -3648,45 +3648,20 @@ ixgbe_initialize_receive_units(struct ad fctrl |= IXGBE_FCTRL_PMCF; IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl); - srrctl = IXGBE_READ_REG(hw, IXGBE_SRRCTL(0)); - srrctl &= ~IXGBE_SRRCTL_BSIZEHDR_MASK; - srrctl &= ~IXGBE_SRRCTL_BSIZEPKT_MASK; - - hlreg = IXGBE_READ_REG(hw, IXGBE_HLREG0); /* Set for Jumbo Frames? */ + hlreg = IXGBE_READ_REG(hw, IXGBE_HLREG0); if (ifp->if_mtu > ETHERMTU) { hlreg |= IXGBE_HLREG0_JUMBOEN; - srrctl |= 4096 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; + bufsz = 4096 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; } else { hlreg &= ~IXGBE_HLREG0_JUMBOEN; - srrctl |= 2048 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; + bufsz = 2048 >> IXGBE_SRRCTL_BSIZEPKT_SHIFT; } IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg); - if (rxr->hdr_split) { - /* Use a standard mbuf for the header */ - srrctl |= ((IXGBE_RX_HDR << IXGBE_SRRCTL_BSIZEHDRSIZE_SHIFT) - & IXGBE_SRRCTL_BSIZEHDR_MASK); - srrctl |= IXGBE_SRRCTL_DESCTYPE_HDR_SPLIT_ALWAYS; - if (adapter->hw.mac.type == ixgbe_mac_82599EB) { - /* PSRTYPE must be initialized in 82599 */ - u32 psrtype = IXGBE_PSRTYPE_TCPHDR | - IXGBE_PSRTYPE_UDPHDR | - IXGBE_PSRTYPE_IPV4HDR | - IXGBE_PSRTYPE_IPV6HDR; - psrtype |= (7 << 29); - IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(0), psrtype); - } - } else - srrctl |= IXGBE_SRRCTL_DESCTYPE_ADV_ONEBUF; - - if (adapter->hw.mac.type == ixgbe_mac_82599EB) - srrctl |= IXGBE_SRRCTL_DROP_EN; - - IXGBE_WRITE_REG(hw, IXGBE_SRRCTL(0), srrctl); - for (int i = 0; i < adapter->num_queues; i++, rxr++) { u64 rdba = rxr->rxdma.dma_paddr; + /* Setup the Base and Length of the Rx Descriptor Ring */ IXGBE_WRITE_REG(hw, IXGBE_RDBAL(i), (rdba & 0x00000000ffffffffULL)); @@ -3694,6 +3669,29 @@ ixgbe_initialize_receive_units(struct ad IXGBE_WRITE_REG(hw, IXGBE_RDLEN(i), adapter->num_rx_desc * sizeof(union ixgbe_adv_rx_desc)); + /* Set up the SRRCTL register */ + srrctl = IXGBE_READ_REG(hw, IXGBE_SRRCTL(i)); + srrctl &= ~IXGBE_SRRCTL_BSIZEHDR_MASK; + srrctl &= ~IXGBE_SRRCTL_BSIZEPKT_MASK; + srrctl |= bufsz; + if (rxr->hdr_split) { + /* Use a standard mbuf for the header */ + srrctl |= ((IXGBE_RX_HDR << + IXGBE_SRRCTL_BSIZEHDRSIZE_SHIFT) + & IXGBE_SRRCTL_BSIZEHDR_MASK); + srrctl |= IXGBE_SRRCTL_DESCTYPE_HDR_SPLIT_ALWAYS; + if (adapter->hw.mac.type == ixgbe_mac_82599EB) { + /* PSRTYPE must be initialized in 82599 */ + u32 psrtype = IXGBE_PSRTYPE_TCPHDR | + IXGBE_PSRTYPE_UDPHDR | + IXGBE_PSRTYPE_IPV4HDR | + IXGBE_PSRTYPE_IPV6HDR; + IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(0), psrtype); + } + } else + srrctl |= IXGBE_SRRCTL_DESCTYPE_ADV_ONEBUF; + IXGBE_WRITE_REG(hw, IXGBE_SRRCTL(i), srrctl); + /* Setup the HW Rx Head and Tail Descriptor Pointers */ IXGBE_WRITE_REG(hw, IXGBE_RDH(i), 0); IXGBE_WRITE_REG(hw, IXGBE_RDT(i), 0); @@ -3722,10 +3720,7 @@ ixgbe_initialize_receive_units(struct ad IXGBE_WRITE_REG(hw, IXGBE_RSSRK(i), random[i]); /* Perform hash on these packet types */ - if (adapter->hw.mac.type == ixgbe_mac_82599EB) - mrqc = IXGBE_MRQC_VMDQRSS32EN; - - mrqc |= IXGBE_MRQC_RSSEN + mrqc = IXGBE_MRQC_RSSEN | IXGBE_MRQC_RSS_FIELD_IPV4 | IXGBE_MRQC_RSS_FIELD_IPV4_TCP | IXGBE_MRQC_RSS_FIELD_IPV4_UDP From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 16:38:18 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF8F71065675; Wed, 1 Jul 2009 16:38:18 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DCBCA8FC08; Wed, 1 Jul 2009 16:38:18 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61GcIGf017953; Wed, 1 Jul 2009 16:38:18 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61GcIUM017951; Wed, 1 Jul 2009 16:38:18 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200907011638.n61GcIUM017951@svn.freebsd.org> From: Rick Macklem Date: Wed, 1 Jul 2009 16:38:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195245 - head/sys/rpc X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 16:38:19 -0000 Author: rmacklem Date: Wed Jul 1 16:38:18 2009 New Revision: 195245 URL: http://svn.freebsd.org/changeset/base/195245 Log: Make sure that cr_error is set to ESHUTDOWN when closing the connection. This is normally done by a loop in clnt_dg_close(), but requests that aren't in the pending queue at the time of closing, don't get set. This avoids a panic in xdrmbuf_create() when it is called with a NULL cr_mrep if cr_error doesn't get set to ESHUTDOWN while closing. Reviewed by: dfr Approved by: re (Ken Smith), kib (mentor) Modified: head/sys/rpc/clnt_dg.c Modified: head/sys/rpc/clnt_dg.c ============================================================================== --- head/sys/rpc/clnt_dg.c Wed Jul 1 16:13:01 2009 (r195244) +++ head/sys/rpc/clnt_dg.c Wed Jul 1 16:38:18 2009 (r195245) @@ -547,11 +547,13 @@ get_reply: tv -= time_waited; if (tv > 0) { - if (cu->cu_closing || cu->cu_closed) + if (cu->cu_closing || cu->cu_closed) { error = 0; - else + cr->cr_error = ESHUTDOWN; + } else { error = msleep(cr, &cs->cs_lock, cu->cu_waitflag, cu->cu_waitchan, tv); + } } else { error = EWOULDBLOCK; } From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 16:42:03 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C184106566C; Wed, 1 Jul 2009 16:42:03 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A5FE8FC1B; Wed, 1 Jul 2009 16:42:03 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61Gg3ZJ018132; Wed, 1 Jul 2009 16:42:03 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61Gg3oi018130; Wed, 1 Jul 2009 16:42:03 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200907011642.n61Gg3oi018130@svn.freebsd.org> From: Rick Macklem Date: Wed, 1 Jul 2009 16:42:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195246 - head/sys/rpc/rpcsec_gss X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 16:42:04 -0000 Author: rmacklem Date: Wed Jul 1 16:42:03 2009 New Revision: 195246 URL: http://svn.freebsd.org/changeset/base/195246 Log: When unmounting an NFS mount using sec=krb5[ip], the umount system call could get hung sleeping on "gsssta" if the credentials for a user that had been accessing the mount point have expired. This happened because rpc_gss_destroy_context() would end up calling itself when the "destroy context" RPC was attempted, trying to refresh the credentials. This patch just checks for this case in rpc_gss_refresh() and returns without attempting the refresh, which avoids the recursive call to rpc_gss_destroy_context() and the subsequent hang. Reviewed by: dfr Approved by: re (Ken Smith), kib (mentor) Modified: head/sys/rpc/rpcsec_gss/rpcsec_gss.c Modified: head/sys/rpc/rpcsec_gss/rpcsec_gss.c ============================================================================== --- head/sys/rpc/rpcsec_gss/rpcsec_gss.c Wed Jul 1 16:38:18 2009 (r195245) +++ head/sys/rpc/rpcsec_gss/rpcsec_gss.c Wed Jul 1 16:42:03 2009 (r195246) @@ -929,6 +929,20 @@ rpc_gss_refresh(AUTH *auth, void *msg) { struct rpc_msg *reply = (struct rpc_msg *) msg; rpc_gss_options_ret_t options; + struct rpc_gss_data *gd; + + gd = AUTH_PRIVATE(auth); + + /* + * If the context is in DESTROYING state, then just return, since + * there is no point in refreshing the credentials. + */ + mtx_lock(&gd->gd_lock); + if (gd->gd_state == RPCSEC_GSS_DESTROYING) { + mtx_unlock(&gd->gd_lock); + return (FALSE); + } + mtx_unlock(&gd->gd_lock); /* * If the error was RPCSEC_GSS_CREDPROBLEM of From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 16:56:56 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C99A81065670; Wed, 1 Jul 2009 16:56:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9CF2E8FC0A; Wed, 1 Jul 2009 16:56:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61GuuUm018459; Wed, 1 Jul 2009 16:56:56 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61Guuii018456; Wed, 1 Jul 2009 16:56:56 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011656.n61Guuii018456@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 16:56:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195247 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 16:56:57 -0000 Author: rwatson Date: Wed Jul 1 16:56:56 2009 New Revision: 195247 URL: http://svn.freebsd.org/changeset/base/195247 Log: When auditing unmount(2), capture FSID arguments as regular text strings rather than as paths, which would lead to them being treated as relative pathnames and hence confusingly converted into absolute pathnames. Capture flags to unmount(2) via an argument token. Approved by: re (audit argument blanket) MFC after: 3 days Modified: head/sys/kern/vfs_mount.c head/sys/security/audit/audit_bsm.c Modified: head/sys/kern/vfs_mount.c ============================================================================== --- head/sys/kern/vfs_mount.c Wed Jul 1 16:42:03 2009 (r195246) +++ head/sys/kern/vfs_mount.c Wed Jul 1 16:56:56 2009 (r195247) @@ -1113,6 +1113,7 @@ unmount(td, uap) char *pathbuf; int error, id0, id1; + AUDIT_ARG_VALUE(uap->flags); if (jailed(td->td_ucred) || usermount == 0) { error = priv_check(td, PRIV_VFS_UNMOUNT); if (error) @@ -1125,9 +1126,9 @@ unmount(td, uap) free(pathbuf, M_TEMP); return (error); } - AUDIT_ARG_UPATH(td, pathbuf, ARG_UPATH1); mtx_lock(&Giant); if (uap->flags & MNT_BYFSID) { + AUDIT_ARG_TEXT(pathbuf); /* Decode the filesystem ID. */ if (sscanf(pathbuf, "FSID:%d:%d", &id0, &id1) != 2) { mtx_unlock(&Giant); @@ -1143,6 +1144,7 @@ unmount(td, uap) } mtx_unlock(&mountlist_mtx); } else { + AUDIT_ARG_UPATH(td, pathbuf, ARG_UPATH1); mtx_lock(&mountlist_mtx); TAILQ_FOREACH_REVERSE(mp, &mountlist, mntlist, mnt_list) { if (strcmp(mp->mnt_stat.f_mntonname, pathbuf) == 0) Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Wed Jul 1 16:42:03 2009 (r195246) +++ head/sys/security/audit/audit_bsm.c Wed Jul 1 16:56:56 2009 (r195247) @@ -1070,7 +1070,15 @@ kaudit_to_bsm(struct kaudit_record *kar, break; case AUE_UMOUNT: + if (ARG_IS_VALID(kar, ARG_VALUE)) { + tok = au_to_arg32(1, "flags", ar->ar_arg_value); + kau_write(rec, tok); + } UPATH1_VNODE1_TOKENS; + if (ARG_IS_VALID(kar, ARG_TEXT)) { + tok = au_to_text(ar->ar_arg_text); + kau_write(rec, tok); + } break; case AUE_MSGCTL: From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 17:20:07 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A61D51065672; Wed, 1 Jul 2009 17:20:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91BFF8FC1B; Wed, 1 Jul 2009 17:20:07 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61HK7xQ018992; Wed, 1 Jul 2009 17:20:07 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61HK7c1018977; Wed, 1 Jul 2009 17:20:07 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <200907011720.n61HK7c1018977@svn.freebsd.org> From: John Baldwin Date: Wed, 1 Jul 2009 17:20:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195249 - in head/sys: amd64/amd64 amd64/include amd64/isa i386/i386 i386/include i386/isa kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 17:20:08 -0000 Author: jhb Date: Wed Jul 1 17:20:07 2009 New Revision: 195249 URL: http://svn.freebsd.org/changeset/base/195249 Log: Improve the handling of cpuset with interrupts. - For x86, change the interrupt source method to assign an interrupt source to a specific CPU to return an error value instead of void, thus allowing it to fail. - If moving an interrupt to a CPU fails due to a lack of IDT vectors in the destination CPU, fail the request with ENOSPC rather than panicing. - For MSI interrupts on x86 (but not MSI-X), only allow cpuset to be used on the first interrupt in a group. Moving the first interrupt in a group moves the entire group. - Use the icu_lock to protect intr_next_cpu() on x86 instead of the intr_table_lock to fix a LOR introduced in the last set of MSI changes. - Add a new privilege PRIV_SCHED_CPUSET_INTR for using cpuset with interrupts. Previously, binding an interrupt to a CPU only performed a privilege check if the interrupt had an interrupt thread. Interrupts without a thread could be bound by non-root users as a result. - If an interrupt event's assign_cpu method fails, then restore the original cpuset mask for the associated interrupt thread. Approved by: re (kib) Modified: head/sys/amd64/amd64/intr_machdep.c head/sys/amd64/amd64/io_apic.c head/sys/amd64/amd64/local_apic.c head/sys/amd64/amd64/msi.c head/sys/amd64/include/intr_machdep.h head/sys/amd64/isa/atpic.c head/sys/i386/i386/intr_machdep.c head/sys/i386/i386/io_apic.c head/sys/i386/i386/local_apic.c head/sys/i386/i386/msi.c head/sys/i386/include/intr_machdep.h head/sys/i386/isa/atpic.c head/sys/kern/kern_intr.c head/sys/sys/priv.h Modified: head/sys/amd64/amd64/intr_machdep.c ============================================================================== --- head/sys/amd64/amd64/intr_machdep.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/amd64/intr_machdep.c Wed Jul 1 17:20:07 2009 (r195249) @@ -163,8 +163,8 @@ intr_lookup_source(int vector) } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ static int intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ intr_assign_cpu(void *arg, u_char cpu) if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intr_init(void *dummy __unused) intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ intr_next_cpu(void) if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ static void intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ intr_shuffle_irqs(void *arg __unused) /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); Modified: head/sys/amd64/amd64/io_apic.c ============================================================================== --- head/sys/amd64/amd64/io_apic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/amd64/io_apic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -120,7 +120,7 @@ static int ioapic_source_pending(struct static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ ioapic_program_intpin(struct ioapic_ints mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ ioapic_assign_cpu(struct intsrc *isrc, u old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ ioapic_assign_cpu(struct intsrc *isrc, u */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ ioapic_assign_cpu(struct intsrc *isrc, u */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ ioapic_enable_intr(struct intsrc *isrc) struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ ioapic_create(vm_paddr_t addr, int32_t a io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +736,7 @@ ioapic_set_triggermode(void *cookie, u_i if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); Modified: head/sys/amd64/amd64/local_apic.c ============================================================================== --- head/sys/amd64/amd64/local_apic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/amd64/local_apic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -139,7 +139,7 @@ static inthand_t *ioint_handlers[] = { }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ apic_alloc_vector(u_int apic_id, u_int i return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ DB_SHOW_COMMAND(lapic, db_show_lapic) static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { Modified: head/sys/amd64/amd64/msi.c ============================================================================== --- head/sys/amd64/amd64/msi.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/amd64/msi.c Wed Jul 1 17:20:07 2009 (r195249) @@ -113,6 +113,8 @@ struct msi_intsrc { u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_vector(struct intsrc *isr static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ msi_config_intr(struct intsrc *isrc, enu return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ msi_assign_cpu(struct intsrc *isrc, u_in * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); } void @@ -268,7 +293,7 @@ msi_create_source(void) msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +301,22 @@ msi_create_source(void) } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; if (!msi_enabled) return (ENXIO); + if (count > 1) + mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK); + else + mirqs = NULL; again: mtx_lock(&msi_lock); @@ -317,6 +343,7 @@ again: /* If we would exceed the max, give up. */ if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENXIO); } mtx_unlock(&msi_lock); @@ -337,6 +364,7 @@ again: vector = apic_alloc_vectors(cpu, irqs, count, maxcount); if (vector == 0) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENOSPC); } @@ -356,6 +384,10 @@ again: ("dead MSI has handlers")); } fsrc->msi_count = count; + fsrc->msi_maxcount = maxcount; + if (count > 1) + bcopy(irqs, mirqs, count * sizeof(*mirqs)); + fsrc->msi_irqs = mirqs; mtx_unlock(&msi_lock); return (0); @@ -413,6 +445,9 @@ msi_release(int *irqs, int count) apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; + first->msi_maxcount = 0; + free(first->msi_irqs, M_MSI); + first->msi_irqs = NULL; mtx_unlock(&msi_lock); return (0); @@ -498,15 +533,23 @@ again: /* Allocate an IDT vector. */ cpu = intr_next_cpu(); vector = apic_alloc_vector(cpu, i); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } if (bootverbose) printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", msi->msi_irq, cpu, vector); - + /* Setup source. */ msi->msi_cpu = cpu; msi->msi_dev = dev; + msi->msi_first = msi; msi->msi_vector = vector; msi->msi_msix = 1; + msi->msi_count = 1; + msi->msi_maxcount = 1; + msi->msi_irqs = NULL; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); mtx_unlock(&msi_lock); @@ -536,10 +579,13 @@ msix_release(int irq) KASSERT(msi->msi_dev != NULL, ("unowned message")); /* Clear out the message. */ + msi->msi_first = NULL; msi->msi_dev = NULL; apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; + msi->msi_count = 0; + msi->msi_maxcount = 0; mtx_unlock(&msi_lock); return (0); Modified: head/sys/amd64/include/intr_machdep.h ============================================================================== --- head/sys/amd64/include/intr_machdep.h Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/include/intr_machdep.h Wed Jul 1 17:20:07 2009 (r195249) @@ -93,7 +93,7 @@ struct pic { void (*pic_resume)(struct pic *); int (*pic_config_intr)(struct intsrc *, enum intr_trigger, enum intr_polarity); - void (*pic_assign_cpu)(struct intsrc *, u_int apic_id); + int (*pic_assign_cpu)(struct intsrc *, u_int apic_id); STAILQ_ENTRY(pic) pics; }; Modified: head/sys/amd64/isa/atpic.c ============================================================================== --- head/sys/amd64/isa/atpic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/amd64/isa/atpic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -143,7 +143,7 @@ static void atpic_resume(struct pic *pic static int atpic_source_pending(struct intsrc *isrc); static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void i8259_init(struct atpic *pic, int slave); static struct atpic atpics[] = { @@ -357,7 +357,7 @@ atpic_config_intr(struct intsrc *isrc, e return (0); } -static void +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id) { Modified: head/sys/i386/i386/intr_machdep.c ============================================================================== --- head/sys/i386/i386/intr_machdep.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/i386/intr_machdep.c Wed Jul 1 17:20:07 2009 (r195249) @@ -290,7 +290,8 @@ static int intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -299,10 +300,11 @@ intr_assign_cpu(void *arg, u_char cpu) if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -359,7 +361,7 @@ intr_init(void *dummy __unused) intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -407,14 +409,14 @@ intr_next_cpu(void) if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -455,7 +457,6 @@ static void intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; #ifdef XEN @@ -463,8 +464,8 @@ intr_shuffle_irqs(void *arg __unused) * Doesn't work yet */ return; -#endif - +#endif + /* Don't bother on UP. */ if (mp_ncpus == 1) return; @@ -478,13 +479,17 @@ intr_shuffle_irqs(void *arg __unused) /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); Modified: head/sys/i386/i386/io_apic.c ============================================================================== --- head/sys/i386/i386/io_apic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/i386/io_apic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -120,7 +120,7 @@ static int ioapic_source_pending(struct static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ ioapic_program_intpin(struct ioapic_ints mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ ioapic_assign_cpu(struct intsrc *isrc, u old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ ioapic_assign_cpu(struct intsrc *isrc, u */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ ioapic_assign_cpu(struct intsrc *isrc, u */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ ioapic_enable_intr(struct intsrc *isrc) struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ ioapic_create(vm_paddr_t addr, int32_t a io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); Modified: head/sys/i386/i386/local_apic.c ============================================================================== --- head/sys/i386/i386/local_apic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/i386/local_apic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -139,7 +139,7 @@ static inthand_t *ioint_handlers[] = { }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -799,7 +799,7 @@ apic_alloc_vector(u_int apic_id, u_int i return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1062,7 +1062,7 @@ DB_SHOW_COMMAND(lapic, db_show_lapic) static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { Modified: head/sys/i386/i386/msi.c ============================================================================== --- head/sys/i386/i386/msi.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/i386/msi.c Wed Jul 1 17:20:07 2009 (r195249) @@ -113,6 +113,8 @@ struct msi_intsrc { u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_vector(struct intsrc *isr static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ msi_config_intr(struct intsrc *isrc, enu return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ msi_assign_cpu(struct intsrc *isrc, u_in * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); } void @@ -268,7 +293,7 @@ msi_create_source(void) msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +301,22 @@ msi_create_source(void) } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; if (!msi_enabled) return (ENXIO); + if (count > 1) + mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK); + else + mirqs = NULL; again: mtx_lock(&msi_lock); @@ -317,6 +343,7 @@ again: /* If we would exceed the max, give up. */ if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENXIO); } mtx_unlock(&msi_lock); @@ -337,6 +364,7 @@ again: vector = apic_alloc_vectors(cpu, irqs, count, maxcount); if (vector == 0) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENOSPC); } @@ -356,6 +384,10 @@ again: ("dead MSI has handlers")); } fsrc->msi_count = count; + fsrc->msi_maxcount = maxcount; + if (count > 1) + bcopy(irqs, mirqs, count * sizeof(*mirqs)); + fsrc->msi_irqs = mirqs; mtx_unlock(&msi_lock); return (0); @@ -413,6 +445,9 @@ msi_release(int *irqs, int count) apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; + first->msi_maxcount = 0; + free(first->msi_irqs, M_MSI); + first->msi_irqs = NULL; mtx_unlock(&msi_lock); return (0); @@ -498,15 +533,23 @@ again: /* Allocate an IDT vector. */ cpu = intr_next_cpu(); vector = apic_alloc_vector(cpu, i); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } if (bootverbose) printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", msi->msi_irq, cpu, vector); - + /* Setup source. */ msi->msi_cpu = cpu; msi->msi_dev = dev; + msi->msi_first = msi; msi->msi_vector = vector; msi->msi_msix = 1; + msi->msi_count = 1; + msi->msi_maxcount = 1; + msi->msi_irqs = NULL; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); mtx_unlock(&msi_lock); @@ -536,10 +579,13 @@ msix_release(int irq) KASSERT(msi->msi_dev != NULL, ("unowned message")); /* Clear out the message. */ + msi->msi_first = NULL; msi->msi_dev = NULL; apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; + msi->msi_count = 0; + msi->msi_maxcount = 0; mtx_unlock(&msi_lock); return (0); Modified: head/sys/i386/include/intr_machdep.h ============================================================================== --- head/sys/i386/include/intr_machdep.h Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/include/intr_machdep.h Wed Jul 1 17:20:07 2009 (r195249) @@ -93,7 +93,7 @@ struct pic { void (*pic_resume)(struct pic *); int (*pic_config_intr)(struct intsrc *, enum intr_trigger, enum intr_polarity); - void (*pic_assign_cpu)(struct intsrc *, u_int apic_id); + int (*pic_assign_cpu)(struct intsrc *, u_int apic_id); STAILQ_ENTRY(pic) pics; }; Modified: head/sys/i386/isa/atpic.c ============================================================================== --- head/sys/i386/isa/atpic.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/i386/isa/atpic.c Wed Jul 1 17:20:07 2009 (r195249) @@ -161,7 +161,7 @@ static void atpic_resume(struct pic *pic static int atpic_source_pending(struct intsrc *isrc); static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void i8259_init(struct atpic *pic, int slave); static struct atpic atpics[] = { @@ -389,7 +389,7 @@ atpic_config_intr(struct intsrc *isrc, e #endif /* PC98 */ } -static void +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id) { Modified: head/sys/kern/kern_intr.c ============================================================================== --- head/sys/kern/kern_intr.c Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/kern/kern_intr.c Wed Jul 1 17:20:07 2009 (r195249) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -304,9 +305,14 @@ intr_event_bind(struct intr_event *ie, u if (ie->ie_assign_cpu == NULL) return (EOPNOTSUPP); + + error = priv_check(curthread, PRIV_SCHED_CPUSET_INTR); + if (error) + return (error); + /* - * If we have any ithreads try to set their mask first since this - * can fail. + * If we have any ithreads try to set their mask first to verify + * permissions, etc. */ mtx_lock(&ie->ie_lock); if (ie->ie_thread != NULL) { @@ -323,8 +329,22 @@ intr_event_bind(struct intr_event *ie, u } else mtx_unlock(&ie->ie_lock); error = ie->ie_assign_cpu(ie->ie_source, cpu); - if (error) + if (error) { + mtx_lock(&ie->ie_lock); + if (ie->ie_thread != NULL) { + CPU_ZERO(&mask); + if (ie->ie_cpu == NOCPU) + CPU_COPY(cpuset_root, &mask); + else + CPU_SET(cpu, &mask); + id = ie->ie_thread->it_thread->td_tid; + mtx_unlock(&ie->ie_lock); + (void)cpuset_setthread(id, &mask); + } else + mtx_unlock(&ie->ie_lock); return (error); + } + mtx_lock(&ie->ie_lock); ie->ie_cpu = cpu; mtx_unlock(&ie->ie_lock); Modified: head/sys/sys/priv.h ============================================================================== --- head/sys/sys/priv.h Wed Jul 1 17:06:56 2009 (r195248) +++ head/sys/sys/priv.h Wed Jul 1 17:20:07 2009 (r195249) @@ -185,6 +185,7 @@ #define PRIV_SCHED_SET 204 /* Can set thread scheduler. */ #define PRIV_SCHED_SETPARAM 205 /* Can set thread scheduler params. */ #define PRIV_SCHED_CPUSET 206 /* Can manipulate cpusets. */ +#define PRIV_SCHED_CPUSET_INTR 207 /* Can adjust IRQ to CPU binding. */ /* * POSIX semaphore privileges. From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 18:12:50 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1EBF106564A; Wed, 1 Jul 2009 18:12:50 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0D048FC1A; Wed, 1 Jul 2009 18:12:50 +0000 (UTC) (envelope-from dfr@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61ICove020258; Wed, 1 Jul 2009 18:12:50 GMT (envelope-from dfr@svn.freebsd.org) Received: (from dfr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61ICoiG020256; Wed, 1 Jul 2009 18:12:50 GMT (envelope-from dfr@svn.freebsd.org) Message-Id: <200907011812.n61ICoiG020256@svn.freebsd.org> From: Doug Rabson Date: Wed, 1 Jul 2009 18:12:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195251 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 18:12:51 -0000 Author: dfr Date: Wed Jul 1 18:12:50 2009 New Revision: 195251 URL: http://svn.freebsd.org/changeset/base/195251 Log: Clarify the node about removing NFS_LEGACYRPC Approved by: re Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Wed Jul 1 17:50:59 2009 (r195250) +++ head/UPDATING Wed Jul 1 18:12:50 2009 (r195251) @@ -23,8 +23,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. ln -s aj /etc/malloc.conf.) 20090630: - Remove the old kernel RPC implementation and the NFS_LEGACYRPC - option. Kernel configurations may need to be adjusted. + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. 20090629: The network interface device nodes at /dev/net/ have From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 18:54:49 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC63C106564A; Wed, 1 Jul 2009 18:54:49 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 997728FC18; Wed, 1 Jul 2009 18:54:49 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61Isnnm021007; Wed, 1 Jul 2009 18:54:49 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61IsnaF021004; Wed, 1 Jul 2009 18:54:49 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011854.n61IsnaF021004@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 18:54:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195252 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 18:54:51 -0000 Author: rwatson Date: Wed Jul 1 18:54:49 2009 New Revision: 195252 URL: http://svn.freebsd.org/changeset/base/195252 Log: Define missing audit argument macro AUDIT_ARG_SOCKET(), and capture the domain, type, and protocol arguments to socket(2) and socketpair(2). Approved by: re (audit argument blanket) MFC after: 3 days Modified: head/sys/kern/uipc_syscalls.c head/sys/security/audit/audit.h Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Wed Jul 1 18:12:50 2009 (r195251) +++ head/sys/kern/uipc_syscalls.c Wed Jul 1 18:54:49 2009 (r195252) @@ -70,6 +70,7 @@ __FBSDID("$FreeBSD$"); #include #endif +#include #include #include @@ -161,6 +162,7 @@ socket(td, uap) struct file *fp; int fd, error; + AUDIT_ARG_SOCKET(uap->domain, uap->type, uap->protocol); #ifdef MAC error = mac_socket_check_create(td->td_ucred, uap->domain, uap->type, uap->protocol); @@ -586,6 +588,7 @@ kern_socketpair(struct thread *td, int d struct socket *so1, *so2; int fd, error; + AUDIT_ARG_SOCKET(domain, type, protocol); #ifdef MAC /* We might want to have a separate check for socket pairs. */ error = mac_socket_check_create(td->td_ucred, domain, type, Modified: head/sys/security/audit/audit.h ============================================================================== --- head/sys/security/audit/audit.h Wed Jul 1 18:12:50 2009 (r195251) +++ head/sys/security/audit/audit.h Wed Jul 1 18:54:49 2009 (r195252) @@ -297,6 +297,11 @@ void audit_thread_free(struct thread *t audit_arg_sgid((sgid)); \ } while (0) +#define AUDIT_ARG_SOCKET(sodomain, sotype, soprotocol) do { \ + if (AUDITING_TD(curthread)) \ + audit_arg_socket((sodomain), (sotype), (soprotocol)); \ +} while (0) + #define AUDIT_ARG_SUID(suid) do { \ if (AUDITING_TD(curthread)) \ audit_arg_suid((suid)); \ @@ -375,6 +380,7 @@ void audit_thread_free(struct thread *t #define AUDIT_ARG_RUID(ruid) #define AUDIT_ARG_SIGNUM(signum) #define AUDIT_ARG_SGID(sgid) +#define AUDIT_ARG_SOCKET(sodomain, sotype, soprotocol) #define AUDIT_ARG_SUID(suid) #define AUDIT_ARG_TEXT(text) #define AUDIT_ARG_UID(uid) From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 19:55:11 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9EE6106564A; Wed, 1 Jul 2009 19:55:11 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B7B008FC14; Wed, 1 Jul 2009 19:55:11 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61JtBNV022307; Wed, 1 Jul 2009 19:55:11 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61JtBah022305; Wed, 1 Jul 2009 19:55:11 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907011955.n61JtBah022305@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 19:55:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195255 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 19:55:12 -0000 Author: rwatson Date: Wed Jul 1 19:55:11 2009 New Revision: 195255 URL: http://svn.freebsd.org/changeset/base/195255 Log: Audit file descriptor numbers for various socket-related system calls. Approved by: re (audit argument blanket) MFC after: 3 days Modified: head/sys/kern/uipc_syscalls.c Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Wed Jul 1 19:55:07 2009 (r195254) +++ head/sys/kern/uipc_syscalls.c Wed Jul 1 19:55:11 2009 (r195255) @@ -217,6 +217,7 @@ kern_bind(td, fd, sa) struct file *fp; int error; + AUDIT_ARG_FD(fd); error = getsock(td->td_proc->p_fd, fd, &fp, NULL); if (error) return (error); @@ -247,6 +248,7 @@ listen(td, uap) struct file *fp; int error; + AUDIT_ARG_FD(uap->s); error = getsock(td->td_proc->p_fd, uap->s, &fp, NULL); if (error == 0) { so = fp->f_data; @@ -340,6 +342,7 @@ kern_accept(struct thread *td, int s, st return (EINVAL); } + AUDIT_ARG_FD(s); fdp = td->td_proc->p_fd; error = getsock(fdp, s, &headfp, &fflag); if (error) @@ -530,6 +533,7 @@ kern_connect(td, fd, sa) int error; int interrupted = 0; + AUDIT_ARG_FD(fd); error = getsock(td->td_proc->p_fd, fd, &fp, NULL); if (error) return (error); @@ -738,6 +742,7 @@ kern_sendit(td, s, mp, flags, control, s struct uio *ktruio = NULL; #endif + AUDIT_ARG_FD(s); error = getsock(td->td_proc->p_fd, s, &fp, NULL); if (error) return (error); @@ -937,6 +942,7 @@ kern_recvit(td, s, mp, fromseg, controlp if(controlp != NULL) *controlp = 0; + AUDIT_ARG_FD(s); error = getsock(td->td_proc->p_fd, s, &fp, NULL); if (error) return (error); @@ -1252,6 +1258,7 @@ shutdown(td, uap) struct file *fp; int error; + AUDIT_ARG_FD(uap->s); error = getsock(td->td_proc->p_fd, uap->s, &fp, NULL); if (error == 0) { so = fp->f_data; @@ -1314,6 +1321,7 @@ kern_setsockopt(td, s, level, name, val, panic("kern_setsockopt called with bad valseg"); } + AUDIT_ARG_FD(s); error = getsock(td->td_proc->p_fd, s, &fp, NULL); if (error == 0) { so = fp->f_data; @@ -1394,6 +1402,7 @@ kern_getsockopt(td, s, level, name, val, panic("kern_getsockopt called with bad valseg"); } + AUDIT_ARG_FD(s); error = getsock(td->td_proc->p_fd, s, &fp, NULL); if (error == 0) { so = fp->f_data; @@ -1457,6 +1466,7 @@ kern_getsockname(struct thread *td, int if (*alen < 0) return (EINVAL); + AUDIT_ARG_FD(fd); error = getsock(td->td_proc->p_fd, fd, &fp, NULL); if (error) return (error); @@ -1556,6 +1566,7 @@ kern_getpeername(struct thread *td, int if (*alen < 0) return (EINVAL); + AUDIT_ARG_FD(fd); error = getsock(td->td_proc->p_fd, fd, &fp, NULL); if (error) return (error); @@ -1811,6 +1822,7 @@ kern_sendfile(struct thread *td, struct * File offset must be positive. If it goes beyond EOF * we send only the header/trailer and no payload data. */ + AUDIT_ARG_FD(uap->fd); if ((error = fgetvp_read(td, uap->fd, &vp)) != 0) goto out; vfslocked = VFS_LOCK_GIANT(vp->v_mount); @@ -2285,6 +2297,7 @@ sctp_peeloff(td, uap) u_int fflag; fdp = td->td_proc->p_fd; + AUDIT_ARG_FD(uap->sd); error = fgetsock(td, uap->sd, &head, &fflag); if (error) goto done2; @@ -2392,6 +2405,7 @@ sctp_generic_sendmsg (td, uap) } } + AUDIT_ARG_FD(uap->sd); error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); if (error) goto sctp_bad; @@ -2493,6 +2507,7 @@ sctp_generic_sendmsg_iov(td, uap) } } + AUDIT_ARG_FD(uap->sd); error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); if (error) goto sctp_bad1; @@ -2591,6 +2606,8 @@ sctp_generic_recvmsg(td, uap) #ifdef KTRACE struct uio *ktruio = NULL; #endif + + AUDIT_ARG_FD(uap->sd); error = getsock(td->td_proc->p_fd, uap->sd, &fp, NULL); if (error) { return (error); From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 20:07:45 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48C061065673; Wed, 1 Jul 2009 20:07:45 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1BFAF8FC0A; Wed, 1 Jul 2009 20:07:45 +0000 (UTC) (envelope-from raj@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61K7iKD022632; Wed, 1 Jul 2009 20:07:44 GMT (envelope-from raj@svn.freebsd.org) Received: (from raj@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61K7ick022628; Wed, 1 Jul 2009 20:07:44 GMT (envelope-from raj@svn.freebsd.org) Message-Id: <200907012007.n61K7ick022628@svn.freebsd.org> From: Rafal Jaworowski Date: Wed, 1 Jul 2009 20:07:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195256 - in head/sys/arm: at91 mv sa11x0 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 20:07:45 -0000 Author: raj Date: Wed Jul 1 20:07:44 2009 New Revision: 195256 URL: http://svn.freebsd.org/changeset/base/195256 Log: Map DPCPU pages into ARM kernel VA space. DPCPU area was not properly mapped into kernel VA space, which caused page fault on the first DPCPU access. This patch fixes the problem by mapping DPCPU area into kernel VA space. Submitted by: Michal Hajduk, Piotr Ziecik Reviewed by: cognet, stas Approved by: re (kib) Obtained from: Semihalf Modified: head/sys/arm/at91/at91_machdep.c head/sys/arm/mv/mv_machdep.c head/sys/arm/sa11x0/assabet_machdep.c Modified: head/sys/arm/at91/at91_machdep.c ============================================================================== --- head/sys/arm/at91/at91_machdep.c Wed Jul 1 19:55:11 2009 (r195255) +++ head/sys/arm/at91/at91_machdep.c Wed Jul 1 20:07:44 2009 (r195256) @@ -301,6 +301,11 @@ initarm(void *arg, void *arg2) /* Map the vector page. */ pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); Modified: head/sys/arm/mv/mv_machdep.c ============================================================================== --- head/sys/arm/mv/mv_machdep.c Wed Jul 1 19:55:11 2009 (r195255) +++ head/sys/arm/mv/mv_machdep.c Wed Jul 1 20:07:44 2009 (r195256) @@ -528,9 +528,9 @@ initarm(void *mdp, void *unused __unused L2_TABLE_SIZE_REAL * l2size, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - /* Map allocated stacks and msgbuf */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - freemempos - irqstack.pv_va, + /* Map allocated DPCPU, stacks and msgbuf */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, + freemempos - dpcpu.pv_va, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Link and map the vector page */ Modified: head/sys/arm/sa11x0/assabet_machdep.c ============================================================================== --- head/sys/arm/sa11x0/assabet_machdep.c Wed Jul 1 19:55:11 2009 (r195255) +++ head/sys/arm/sa11x0/assabet_machdep.c Wed Jul 1 20:07:44 2009 (r195256) @@ -313,6 +313,9 @@ initarm(void *arg, void *arg2) pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 20:16:29 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF26110657F9; Wed, 1 Jul 2009 20:16:29 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BD76A8FC19; Wed, 1 Jul 2009 20:16:29 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61KGT3W022831; Wed, 1 Jul 2009 20:16:29 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61KGTSe022828; Wed, 1 Jul 2009 20:16:29 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200907012016.n61KGTSe022828@svn.freebsd.org> From: Edward Tomasz Napierala Date: Wed, 1 Jul 2009 20:16:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195257 - head/sys/geom X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 20:16:30 -0000 Author: trasz Date: Wed Jul 1 20:16:29 2009 New Revision: 195257 URL: http://svn.freebsd.org/changeset/base/195257 Log: Fix a panic which (reportedly) can happen when unmounting a filesystem with I/O requests in flight on kernels compiled with "options INVARIANTS". Also, make it obvious it's not right to call g_valid_obj() (and macros using it, e.g. G_VALID_CONSUMER()) without topology lock held. Approved by: re (kib) Reported by: pho Modified: head/sys/geom/geom_subr.c head/sys/geom/geom_vfs.c Modified: head/sys/geom/geom_subr.c ============================================================================== --- head/sys/geom/geom_subr.c Wed Jul 1 20:07:44 2009 (r195256) +++ head/sys/geom/geom_subr.c Wed Jul 1 20:16:29 2009 (r195257) @@ -1025,6 +1025,8 @@ g_valid_obj(void const *ptr) struct g_consumer *cp; struct g_provider *pp; + g_topology_assert(); + LIST_FOREACH(mp, &g_classes, class) { if (ptr == mp) return (1); Modified: head/sys/geom/geom_vfs.c ============================================================================== --- head/sys/geom/geom_vfs.c Wed Jul 1 20:07:44 2009 (r195256) +++ head/sys/geom/geom_vfs.c Wed Jul 1 20:16:29 2009 (r195257) @@ -106,7 +106,7 @@ g_vfs_strategy(struct bufobj *bo, struct int vfslocked; cp = bo->bo_private; - G_VALID_CONSUMER(cp); + /* G_VALID_CONSUMER(cp); We likely lack topology lock */ /* * If the the provider has orphaned us, just return EXIO. From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 20:43:46 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7AF5B1065676; Wed, 1 Jul 2009 20:43:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E4668FC08; Wed, 1 Jul 2009 20:43:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61Khk5q023450; Wed, 1 Jul 2009 20:43:46 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61Khkb2023448; Wed, 1 Jul 2009 20:43:46 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <200907012043.n61Khkb2023448@svn.freebsd.org> From: Jeff Roberson Date: Wed, 1 Jul 2009 20:43:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195259 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 20:43:47 -0000 Author: jeff Date: Wed Jul 1 20:43:46 2009 New Revision: 195259 URL: http://svn.freebsd.org/changeset/base/195259 Log: - Use fd_lastfile + 1 as the upper bound on nd. This is more correct than using the size of the descriptor array. - A lock is not needed to fetch fd_lastfile. The results are stale the instant it is dropped. - Use a private mutex pool for select since the pool mutex is not used as a leaf. - Fetch the si_mtx pointer first before resorting to hashing to compute the mutex address. Reviewed by: McKusick Approved by: re (kib) Modified: head/sys/kern/sys_generic.c Modified: head/sys/kern/sys_generic.c ============================================================================== --- head/sys/kern/sys_generic.c Wed Jul 1 20:42:17 2009 (r195258) +++ head/sys/kern/sys_generic.c Wed Jul 1 20:43:46 2009 (r195259) @@ -124,6 +124,7 @@ struct selfd { }; static uma_zone_t selfd_zone; +static struct mtx_pool *mtxpool_select; #ifndef _SYS_SYSPROTO_H_ struct read_args { @@ -794,11 +795,8 @@ kern_select(struct thread *td, int nd, f if (nd < 0) return (EINVAL); fdp = td->td_proc->p_fd; - - FILEDESC_SLOCK(fdp); - if (nd > td->td_proc->p_fd->fd_nfiles) - nd = td->td_proc->p_fd->fd_nfiles; /* forgiving; slightly wrong */ - FILEDESC_SUNLOCK(fdp); + if (nd > fdp->fd_lastfile + 1) + nd = fdp->fd_lastfile + 1; /* * Allocate just enough bits for the non-null fd_sets. Use the @@ -1373,7 +1371,9 @@ selrecord(selector, sip) stp->st_free2 = NULL; else panic("selrecord: No free selfd on selq"); - mtxp = mtx_pool_find(mtxpool_sleep, sip); + mtxp = sip->si_mtx; + if (mtxp == NULL) + mtxp = mtx_pool_find(mtxpool_select, sip); /* * Initialize the sfp and queue it in the thread. */ @@ -1529,6 +1529,8 @@ SYSINIT(select, SI_SUB_SYSCALLS, SI_ORDE static void selectinit(void *dummy __unused) { + selfd_zone = uma_zcreate("selfd", sizeof(struct selfd), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + mtxpool_select = mtx_pool_create("select mtxpool", 128, MTX_DEF); } From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 22:01:43 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E00401065673; Wed, 1 Jul 2009 22:01:43 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from smtp7.server.rpi.edu (smtp7.server.rpi.edu [128.113.2.227]) by mx1.freebsd.org (Postfix) with ESMTP id 9CC448FC0C; Wed, 1 Jul 2009 22:01:43 +0000 (UTC) (envelope-from gad@FreeBSD.org) Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47]) by smtp7.server.rpi.edu (8.13.1/8.13.1) with ESMTP id n61M1PgP004811; Wed, 1 Jul 2009 18:01:27 -0400 Mime-Version: 1.0 Message-Id: In-Reply-To: <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> References: <0E6D4FB2-A485-40ED-A856-ACC311A90EFE@msys.ch> <20090630.141340.289711551.imp@bsdimp.com> <7B9C309F-63E3-4CB8-9871-DE2DEE010096@msys.ch> <20090630.164009.2130804684.imp@bsdimp.com>, <1246413402.70460.23.camel@bau er.cse.buffalo.edu> <509A7CA1EA3EA046B1A5BA2FCFDB3C8EECC53324B6@TSS-EXCH01.t-systems.ch> Date: Wed, 1 Jul 2009 18:01:25 -0400 To: "Blapp, Martin" , Ken Smith , "M. Warner Losh" From: Garance A Drosehn Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-Bayes-Prob: 0.0001 (Score 0) X-RPI-SA-Score: 0.10 () [Hold at 20.00] COMBINED_FROM X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.227 Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, mbr@FreeBSD.org, marc@msys.ch, src-committers@FreeBSD.org Subject: Re: AW: svn commit: r195200 - in head/usr.sbin: . wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:01:44 -0000 At 7:04 AM +0200 7/1/09, Blapp, Martin wrote: >Hi folks, > >I really was not my or Marcs intention to skip any discussions. Rwatson >told us that if we like to see it in 8.0, we need to approve it by RE >and commit it before the 1. of july, and that's what I've done. Sorry >if I've upset anyone. > >Personally I think the tool is quite handy, better than net/wol (which >doesn't seem to work with different interfaces), wake doesn't need any >strange libaries as dependencies and it just a very short one (4k) > >If the concensus is to back it out, I'll back it out. I have no strong opinion on the program itself, and it would be fine with me if it is added after some decent code review, and after 8.0 is done. It sounds like this does have some advantages over 'wol', but I see no urgent reason that this *must* be in 8.0-release. For me, this is not a question of whether the utility is "nice", or what the name of it should be. It's a question of whether it means anything to announce a code freeze if we're constantly going to make exceptions to it. And whether it's fair to rush in a command just under the wire, which then means we'd have to go into an even bigger debate to justify pulling the command out of the base system after we've shipped an official stable-release with it in the system. This is not a utility which is needed to install freebsd, or which is needed before a new install of freebsd gets to the point where it can install things via ports or packages. Please note that I'm not trying to debate the wonderfulness of 'wake' itself. I'm trying to come up with good guidelines which would be used for *any* command which is shows up on the day before an already-announced code freeze. -- Garance Alistair Drosehn = drosehn@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 22:23:27 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CD77106566C; Wed, 1 Jul 2009 22:23:27 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E4DF48FC15; Wed, 1 Jul 2009 22:23:26 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61MNQrZ025699; Wed, 1 Jul 2009 22:23:26 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61MNQO2025697; Wed, 1 Jul 2009 22:23:26 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200907012223.n61MNQO2025697@svn.freebsd.org> From: Stanislav Sedov Date: Wed, 1 Jul 2009 22:23:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195264 - head/usr.sbin/wake X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:23:27 -0000 Author: stas Date: Wed Jul 1 22:23:26 2009 New Revision: 195264 URL: http://svn.freebsd.org/changeset/base/195264 Log: - Properly order headers, local variables and prototypes. [1] - Remove unneeded headers. - Return non-zero error code in usage(). Approved by: re (kib) Suggested by: bde [1] Modified: head/usr.sbin/wake/wake.c Modified: head/usr.sbin/wake/wake.c ============================================================================== --- head/usr.sbin/wake/wake.c Wed Jul 1 22:20:44 2009 (r195263) +++ head/usr.sbin/wake/wake.c Wed Jul 1 22:23:26 2009 (r195264) @@ -27,28 +27,21 @@ #include __FBSDID("$FreeBSD$"); -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include #include #include #include #include #include - #include #include +#include +#include +#include +#include +#include +#include + #define _PATH_BPF "/dev/bpf" #ifndef SYNC_LEN @@ -59,18 +52,18 @@ __FBSDID("$FreeBSD$"); #define DESTADDR_COUNT 16 #endif -static void usage(void); -static int wake(const char *iface, const char *host); static int bind_if_to_bpf(char const *ifname, int bpf); static int get_ether(char const *text, struct ether_addr *addr); static int send_wakeup(int bpf, struct ether_addr const *addr); +static void usage(void); +static int wake(const char *iface, const char *host); static void usage(void) { (void)fprintf(stderr, "usage: wake interface lladdr...\n"); - exit(0); + exit(1); } static int @@ -144,10 +137,10 @@ send_wakeup(int bpf, struct ether_addr c struct ether_header hdr; u_char data[SYNC_LEN + ETHER_ADDR_LEN * DESTADDR_COUNT]; } __packed pkt; + u_char *p; ssize_t bw; ssize_t len; int i; - u_char *p; (void)memset(pkt.hdr.ether_dhost, 0xff, sizeof(pkt.hdr.ether_dhost)); pkt.hdr.ether_type = htons(0); From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 22:30:37 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31A5E106566C; Wed, 1 Jul 2009 22:30:37 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0567C8FC12; Wed, 1 Jul 2009 22:30:37 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61MUavI025855; Wed, 1 Jul 2009 22:30:36 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61MUaHn025853; Wed, 1 Jul 2009 22:30:36 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200907012230.n61MUaHn025853@svn.freebsd.org> From: Edward Tomasz Napierala Date: Wed, 1 Jul 2009 22:30:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195265 - head/sys/ufs/ffs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:30:37 -0000 Author: trasz Date: Wed Jul 1 22:30:36 2009 New Revision: 195265 URL: http://svn.freebsd.org/changeset/base/195265 Log: Don't panic on attempt to set ACL on a block device file. This is just a part of kern/125613. PR: kern/125613 Submitted by: Jaakko Heinonen Reviewed by: rwatson Approved by: re (kib) Modified: head/sys/ufs/ffs/ffs_vnops.c Modified: head/sys/ufs/ffs/ffs_vnops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vnops.c Wed Jul 1 22:23:26 2009 (r195264) +++ head/sys/ufs/ffs/ffs_vnops.c Wed Jul 1 22:30:36 2009 (r195265) @@ -1401,7 +1401,7 @@ struct vop_openextattr_args { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); return (ffs_open_ea(ap->a_vp, ap->a_cred, ap->a_td)); @@ -1429,7 +1429,7 @@ struct vop_closeextattr_args { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); if (ap->a_commit && (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY)) @@ -1462,7 +1462,7 @@ vop_deleteextattr { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); if (strlen(ap->a_name) == 0) @@ -1549,7 +1549,7 @@ vop_getextattr { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, @@ -1605,7 +1605,7 @@ vop_listextattr { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); error = extattr_check_cred(ap->a_vp, ap->a_attrnamespace, @@ -1668,7 +1668,7 @@ vop_setextattr { ip = VTOI(ap->a_vp); fs = ip->i_fs; - if (ap->a_vp->v_type == VCHR) + if (ap->a_vp->v_type == VCHR || ap->a_vp->v_type == VBLK) return (EOPNOTSUPP); if (strlen(ap->a_name) == 0) From owner-svn-src-head@FreeBSD.ORG Wed Jul 1 22:47:46 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50824106566C; Wed, 1 Jul 2009 22:47:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C4538FC21; Wed, 1 Jul 2009 22:47:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61Mljlb026222; Wed, 1 Jul 2009 22:47:45 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61Mljwl026219; Wed, 1 Jul 2009 22:47:45 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907012247.n61Mljwl026219@svn.freebsd.org> From: Robert Watson Date: Wed, 1 Jul 2009 22:47:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195267 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:47:47 -0000 Author: rwatson Date: Wed Jul 1 22:47:45 2009 New Revision: 195267 URL: http://svn.freebsd.org/changeset/base/195267 Log: For access(2) and eaccess(2), audit the requested access mode. Approved by: re (audit argument blanket) MFC after: 3 days Modified: head/sys/kern/vfs_syscalls.c head/sys/security/audit/audit_bsm.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Jul 1 22:45:19 2009 (r195266) +++ head/sys/kern/vfs_syscalls.c Wed Jul 1 22:47:45 2009 (r195267) @@ -2133,6 +2133,7 @@ kern_accessat(struct thread *td, int fd, td->td_ucred = tmpcred; } else cred = tmpcred = td->td_ucred; + AUDIT_ARG_VALUE(mode); NDINIT_AT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | MPSAFE | AUDITVNODE1, pathseg, path, fd, td); if ((error = namei(&nd)) != 0) Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Wed Jul 1 22:45:19 2009 (r195266) +++ head/sys/security/audit/audit_bsm.c Wed Jul 1 22:47:45 2009 (r195267) @@ -706,10 +706,8 @@ kaudit_to_bsm(struct kaudit_record *kar, } /* FALLTHROUGH */ - case AUE_ACCESS: case AUE_CHDIR: case AUE_CHROOT: - case AUE_EACCESS: case AUE_GETATTRLIST: case AUE_JAIL: case AUE_LUTIMES: @@ -732,6 +730,15 @@ kaudit_to_bsm(struct kaudit_record *kar, UPATH1_VNODE1_TOKENS; break; + case AUE_ACCESS: + case AUE_EACCESS: + UPATH1_VNODE1_TOKENS; + if (ARG_IS_VALID(kar, ARG_VALUE)) { + tok = au_to_arg32(1, "mode", ar->ar_arg_value); + kau_write(rec, tok); + } + break; + case AUE_FHSTATFS: case AUE_FHOPEN: case AUE_FHSTAT: From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 00:41:37 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CB051065672; Thu, 2 Jul 2009 00:41:37 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B1308FC18; Thu, 2 Jul 2009 00:41:37 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n620fbvb028761; Thu, 2 Jul 2009 00:41:37 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n620fbCI028759; Thu, 2 Jul 2009 00:41:37 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200907020041.n620fbCI028759@svn.freebsd.org> From: Xin LI Date: Thu, 2 Jul 2009 00:41:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195274 - head/sys/dev/mpt X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 00:41:37 -0000 Author: delphij Date: Thu Jul 2 00:41:37 2009 New Revision: 195274 URL: http://svn.freebsd.org/changeset/base/195274 Log: Change explicit maximium numbers to the defined macro MPT_MAX_LUNS. Approved by: re (kensmith) Modified: head/sys/dev/mpt/mpt_cam.c Modified: head/sys/dev/mpt/mpt_cam.c ============================================================================== --- head/sys/dev/mpt/mpt_cam.c Thu Jul 2 00:39:25 2009 (r195273) +++ head/sys/dev/mpt/mpt_cam.c Thu Jul 2 00:41:37 2009 (r195274) @@ -2152,7 +2152,7 @@ mpt_start(struct cam_sim *sim, union ccb mpt_req->TargetID = tgt; /* We assume a single level LUN type */ - if (ccb->ccb_h.target_lun >= 256) { + if (ccb->ccb_h.target_lun >= MPT_MAX_LUNS) { mpt_req->LUN[0] = 0x40 | ((ccb->ccb_h.target_lun >> 8) & 0x3f); mpt_req->LUN[1] = ccb->ccb_h.target_lun & 0xff; } else { @@ -4025,7 +4025,7 @@ mpt_scsi_send_tmf(struct mpt_softc *mpt, tmf_req->MsgFlags = flags; tmf_req->MsgContext = htole32(mpt->tmf_req->index | scsi_tmf_handler_id); - if (lun > 256) { + if (lun > MPT_MAX_LUNS) { tmf_req->LUN[0] = 0x40 | ((lun >> 8) & 0x3f); tmf_req->LUN[1] = lun & 0xff; } else { @@ -4499,7 +4499,7 @@ mpt_target_start_io(struct mpt_softc *mp ta->Function = MPI_FUNCTION_TARGET_ASSIST; ta->MsgContext = htole32(req->index | mpt->scsi_tgt_handler_id); ta->ReplyWord = htole32(tgt->reply_desc); - if (csio->ccb_h.target_lun > 256) { + if (csio->ccb_h.target_lun > MPT_MAX_LUNS) { ta->LUN[0] = 0x40 | ((csio->ccb_h.target_lun >> 8) & 0x3f); ta->LUN[1] = csio->ccb_h.target_lun & 0xff; @@ -4651,7 +4651,7 @@ mpt_scsi_tgt_local(struct mpt_softc *mpt ta->Function = MPI_FUNCTION_TARGET_ASSIST; ta->MsgContext = htole32(req->index | mpt->scsi_tgt_handler_id); ta->ReplyWord = htole32(tgt->reply_desc); - if (lun > 256) { + if (lun > MPT_MAX_LUNS) { ta->LUN[0] = 0x40 | ((lun >> 8) & 0x3f); ta->LUN[1] = lun & 0xff; } else { From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 00:43:11 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5811C1065672; Thu, 2 Jul 2009 00:43:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 46A658FC20; Thu, 2 Jul 2009 00:43:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n620hB8o028829; Thu, 2 Jul 2009 00:43:11 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n620hBFS028827; Thu, 2 Jul 2009 00:43:11 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200907020043.n620hBFS028827@svn.freebsd.org> From: Xin LI Date: Thu, 2 Jul 2009 00:43:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195275 - head/sys/dev/mpt X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 00:43:11 -0000 Author: delphij Date: Thu Jul 2 00:43:10 2009 New Revision: 195275 URL: http://svn.freebsd.org/changeset/base/195275 Log: Use MPT_MAX_LUNS as maximium number of LUNs, not 7, for SAS and FC cases. This matches Linux driver behavior. Discussed with: scottl Approved by: re (kensmith) MFC after: 1 month Modified: head/sys/dev/mpt/mpt_cam.c Modified: head/sys/dev/mpt/mpt_cam.c ============================================================================== --- head/sys/dev/mpt/mpt_cam.c Thu Jul 2 00:41:37 2009 (r195274) +++ head/sys/dev/mpt/mpt_cam.c Thu Jul 2 00:43:10 2009 (r195275) @@ -3588,7 +3588,10 @@ mpt_action(struct cam_sim *sim, union cc if (mpt->is_spi && cpi->max_target > 15) { cpi->max_target = 15; } - cpi->max_lun = 7; + if (mpt->is_spi) + cpi->max_lun = 7; + else + cpi->max_lun = MPT_MAX_LUNS; cpi->initiator_id = mpt->mpt_ini_id; cpi->bus_id = cam_sim_bus(sim); From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 09:15:30 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB5891065677; Thu, 2 Jul 2009 09:15:30 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A7DDE8FC17; Thu, 2 Jul 2009 09:15:30 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n629FUSD038911; Thu, 2 Jul 2009 09:15:30 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n629FUSc038910; Thu, 2 Jul 2009 09:15:30 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907020915.n629FUSc038910@svn.freebsd.org> From: Robert Watson Date: Thu, 2 Jul 2009 09:15:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195280 - in head/sys: kern security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:15:31 -0000 Author: rwatson Date: Thu Jul 2 09:15:30 2009 New Revision: 195280 URL: http://svn.freebsd.org/changeset/base/195280 Log: Clean up a number of aspects of token generation from audit arguments to system calls: - Centralize generation of argument tokens for VM addresses in a macro, ADDR_TOKEN(), and properly encode 64-bit addresses in 64-bit arguments. - Fix up argument numbers across a large number of syscalls so that they match the numeric argument into the system call. - Don't audit the address argument to ioctl(2) or ptrace(2), but do keep generating tokens for mmap(2), minherit(2), since they relate to passing object access across execve(2). Approved by: re (audit argument blanket) Obtained from: TrustedBSD Project MFC after: 1 week Modified: head/sys/kern/sys_process.c head/sys/security/audit/audit_bsm.c Modified: head/sys/kern/sys_process.c ============================================================================== --- head/sys/kern/sys_process.c Thu Jul 2 04:56:11 2009 (r195279) +++ head/sys/kern/sys_process.c Thu Jul 2 09:15:30 2009 (r195280) @@ -402,7 +402,6 @@ ptrace(struct thread *td, struct ptrace_ #endif AUDIT_ARG_PID(uap->pid); AUDIT_ARG_CMD(uap->req); - AUDIT_ARG_ADDR(uap->addr); AUDIT_ARG_VALUE(uap->data); addr = &r; switch (uap->req) { Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Thu Jul 2 04:56:11 2009 (r195279) +++ head/sys/security/audit/audit_bsm.c Thu Jul 2 09:15:30 2009 (r195280) @@ -253,7 +253,7 @@ kau_free(struct au_record *rec) } \ } while (0) -#define EXTATTR_TOKENS do { \ +#define EXTATTR_TOKENS(namespace_argnum) do { \ if (ARG_IS_VALID(kar, ARG_VALUE)) { \ switch (ar->ar_arg_value) { \ case EXTATTR_NAMESPACE_USER: \ @@ -263,8 +263,8 @@ kau_free(struct au_record *rec) tok = au_to_text(EXTATTR_NAMESPACE_SYSTEM_STRING);\ break; \ default: \ - tok = au_to_arg32(3, "attrnamespace", \ - ar->ar_arg_value); \ + tok = au_to_arg32((namespace_argnum), \ + "attrnamespace", ar->ar_arg_value); \ break; \ } \ kau_write(rec, tok); \ @@ -277,6 +277,24 @@ kau_free(struct au_record *rec) } while (0) /* + * Not all pointer arguments to system calls are of interest, but in some + * cases they reflect delegation of rights, such as mmap(2) falled by + * minherit(2) before execve(2), so do the best we can. + */ +#define ADDR_TOKEN(argnum, argname) do { \ + if (ARG_IS_VALID(kar, ARG_ADDR)) { \ + if (sizeof(void *) == sizeof(uint32_t)) \ + tok = au_to_arg32((argnum), (argname), \ + (uint32_t)(uintptr_t)ar->ar_arg_addr); \ + else \ + tok = au_to_arg64((argnum), (argname), \ + (uint64_t)(uintptr_t)ar->ar_arg_addr); \ + kau_write(rec, tok); \ + } \ +} while (0) + + +/* * Implement auditing for the auditon() system call. The audit tokens that * are generated depend on the command that was sent into the auditon() * system call. @@ -286,21 +304,20 @@ audit_sys_auditon(struct audit_record *a { struct au_token *tok; + tok = au_to_arg32(3, "length", ar->ar_arg_len); + kau_write(rec, tok); switch (ar->ar_arg_cmd) { case A_OLDSETPOLICY: if ((size_t)ar->ar_arg_len == sizeof(int64_t)) { - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg64(2, "policy", ar->ar_arg_auditon.au_policy64); kau_write(rec, tok); break; } /* FALLTHROUGH */ + case A_SETPOLICY: - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); - tok = au_to_arg32(1, "policy", ar->ar_arg_auditon.au_policy); + tok = au_to_arg32(2, "policy", ar->ar_arg_auditon.au_policy); kau_write(rec, tok); break; @@ -315,8 +332,6 @@ audit_sys_auditon(struct audit_record *a case A_OLDSETQCTRL: if ((size_t)ar->ar_arg_len == sizeof(au_qctrl64_t)) { - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg64(2, "setqctrl:aq_hiwater", ar->ar_arg_auditon.au_qctrl64.aq64_hiwater); kau_write(rec, tok); @@ -335,8 +350,9 @@ audit_sys_auditon(struct audit_record *a break; } /* FALLTHROUGH */ + case A_SETQCTRL: - tok = au_to_arg32(3, "setqctrl:aq_hiwater", + tok = au_to_arg32(2, "setqctrl:aq_hiwater", ar->ar_arg_auditon.au_qctrl.aq_hiwater); kau_write(rec, tok); tok = au_to_arg32(2, "setqctrl:aq_lowater", @@ -354,17 +370,15 @@ audit_sys_auditon(struct audit_record *a break; case A_SETUMASK: - tok = au_to_arg32(3, "setumask:as_success", + tok = au_to_arg32(2, "setumask:as_success", ar->ar_arg_auditon.au_auinfo.ai_mask.am_success); kau_write(rec, tok); - tok = au_to_arg32(3, "setumask:as_failure", + tok = au_to_arg32(2, "setumask:as_failure", ar->ar_arg_auditon.au_auinfo.ai_mask.am_failure); kau_write(rec, tok); break; case A_SETSMASK: - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg32(2, "setsmask:as_success", ar->ar_arg_auditon.au_auinfo.ai_mask.am_success); kau_write(rec, tok); @@ -375,23 +389,19 @@ audit_sys_auditon(struct audit_record *a case A_OLDSETCOND: if ((size_t)ar->ar_arg_len == sizeof(int64_t)) { - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg64(2, "setcond", ar->ar_arg_auditon.au_cond64); kau_write(rec, tok); break; } /* FALLTHROUGH */ + case A_SETCOND: - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); - tok = au_to_arg32(3, "setcond", ar->ar_arg_auditon.au_cond); + tok = au_to_arg32(2, "setcond", ar->ar_arg_auditon.au_cond); kau_write(rec, tok); break; case A_SETCLASS: - tok = au_to_arg32(3, "length", ar->ar_arg_len); kau_write(rec, tok); tok = au_to_arg32(2, "setclass:ec_event", ar->ar_arg_auditon.au_evclass.ec_number); @@ -402,8 +412,6 @@ audit_sys_auditon(struct audit_record *a break; case A_SETPMASK: - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg32(2, "setpmask:as_success", ar->ar_arg_auditon.au_aupinfo.ap_mask.am_success); kau_write(rec, tok); @@ -413,8 +421,6 @@ audit_sys_auditon(struct audit_record *a break; case A_SETFSIZE: - tok = au_to_arg32(3, "length", ar->ar_arg_len); - kau_write(rec, tok); tok = au_to_arg32(2, "setfsize:filesize", ar->ar_arg_auditon.au_fstat.af_filesz); kau_write(rec, tok); @@ -530,13 +536,13 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_SOCKET: case AUE_SOCKETPAIR: if (ARG_IS_VALID(kar, ARG_SOCKINFO)) { - tok = au_to_arg32(1,"domain", + tok = au_to_arg32(1, "domain", ar->ar_arg_sockinfo.so_domain); kau_write(rec, tok); - tok = au_to_arg32(2,"type", + tok = au_to_arg32(2, "type", ar->ar_arg_sockinfo.so_type); kau_write(rec, tok); - tok = au_to_arg32(3,"protocol", + tok = au_to_arg32(3, "protocol", ar->ar_arg_sockinfo.so_protocol); kau_write(rec, tok); } @@ -734,7 +740,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_EACCESS: UPATH1_VNODE1_TOKENS; if (ARG_IS_VALID(kar, ARG_VALUE)) { - tok = au_to_arg32(1, "mode", ar->ar_arg_value); + tok = au_to_arg32(2, "mode", ar->ar_arg_value); kau_write(rec, tok); } break; @@ -784,7 +790,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_CLOSE: if (ARG_IS_VALID(kar, ARG_FD)) { - tok = au_to_arg32(2, "fd", ar->ar_arg_fd); + tok = au_to_arg32(1, "fd", ar->ar_arg_fd); kau_write(rec, tok); } UPATH1_VNODE1_TOKENS; @@ -792,7 +798,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_CORE: if (ARG_IS_VALID(kar, ARG_SIGNUM)) { - tok = au_to_arg32(0, "signal", ar->ar_arg_signum); + tok = au_to_arg32(1, "signal", ar->ar_arg_signum); kau_write(rec, tok); } UPATH1_VNODE1_TOKENS; @@ -807,7 +813,7 @@ kaudit_to_bsm(struct kaudit_record *kar, /* extattrctl(2) filename parameter is in upath2/vnode2 */ UPATH2_TOKENS; VNODE2_TOKENS; - EXTATTR_TOKENS; + EXTATTR_TOKENS(4); break; case AUE_EXTATTR_GET_FILE: @@ -819,7 +825,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_EXTATTR_LIST_LINK: case AUE_EXTATTR_DELETE_LINK: UPATH1_VNODE1_TOKENS; - EXTATTR_TOKENS; + EXTATTR_TOKENS(2); break; case AUE_EXTATTR_GET_FD: @@ -830,7 +836,7 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(2, "fd", ar->ar_arg_fd); kau_write(rec, tok); } - EXTATTR_TOKENS; + EXTATTR_TOKENS(2); break; case AUE_FEXECVE: @@ -945,11 +951,6 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(2, "cmd", ar->ar_arg_cmd); kau_write(rec, tok); } - if (ARG_IS_VALID(kar, ARG_ADDR)) { - tok = au_to_arg32(1, "arg", - (u_int32_t)(uintptr_t)ar->ar_arg_addr); - kau_write(rec, tok); - } if (ARG_IS_VALID(kar, ARG_VNODE1)) FD_VNODE1_TOKENS; else { @@ -995,11 +996,7 @@ kaudit_to_bsm(struct kaudit_record *kar, break; case AUE_LOADSHFILE: - if (ARG_IS_VALID(kar, ARG_ADDR)) { - tok = au_to_arg32(4, "base addr", - (u_int32_t)(uintptr_t)ar->ar_arg_addr); - kau_write(rec, tok); - } + ADDR_TOKEN(4, "base addr"); UPATH1_VNODE1_TOKENS; break; @@ -1029,11 +1026,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_MLOCK: case AUE_MUNLOCK: case AUE_MINHERIT: - if (ARG_IS_VALID(kar, ARG_ADDR)) { - tok = au_to_arg32(1, "addr", - (u_int32_t)(uintptr_t)ar->ar_arg_addr); - kau_write(rec, tok); - } + ADDR_TOKEN(1, "addr"); if (ARG_IS_VALID(kar, ARG_LEN)) { tok = au_to_arg32(2, "len", ar->ar_arg_len); kau_write(rec, tok); @@ -1071,14 +1064,14 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_NFS_SVC: if (ARG_IS_VALID(kar, ARG_CMD)) { - tok = au_to_arg32(1, "request", ar->ar_arg_cmd); + tok = au_to_arg32(1, "flags", ar->ar_arg_cmd); kau_write(rec, tok); } break; case AUE_UMOUNT: if (ARG_IS_VALID(kar, ARG_VALUE)) { - tok = au_to_arg32(1, "flags", ar->ar_arg_value); + tok = au_to_arg32(2, "flags", ar->ar_arg_value); kau_write(rec, tok); } UPATH1_VNODE1_TOKENS; @@ -1113,11 +1106,7 @@ kaudit_to_bsm(struct kaudit_record *kar, break; case AUE_RESETSHFILE: - if (ARG_IS_VALID(kar, ARG_ADDR)) { - tok = au_to_arg32(1, "base addr", - (u_int32_t)(uintptr_t)ar->ar_arg_addr); - kau_write(rec, tok); - } + ADDR_TOKEN(1, "base addr"); break; case AUE_OPEN_RC: @@ -1151,11 +1140,6 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(1, "request", ar->ar_arg_cmd); kau_write(rec, tok); } - if (ARG_IS_VALID(kar, ARG_ADDR)) { - tok = au_to_arg32(3, "addr", - (u_int32_t)(uintptr_t)ar->ar_arg_addr); - kau_write(rec, tok); - } if (ARG_IS_VALID(kar, ARG_VALUE)) { tok = au_to_arg32(4, "data", ar->ar_arg_value); kau_write(rec, tok); @@ -1172,6 +1156,10 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(3, "uid", ar->ar_arg_uid); kau_write(rec, tok); } + if (ARG_IS_VALID(kar, ARG_GID)) { + tok = au_to_arg32(3, "gid", ar->ar_arg_gid); + kau_write(rec, tok); + } UPATH1_VNODE1_TOKENS; break; @@ -1210,14 +1198,14 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_SETEGID: if (ARG_IS_VALID(kar, ARG_EGID)) { - tok = au_to_arg32(1, "gid", ar->ar_arg_egid); + tok = au_to_arg32(1, "egid", ar->ar_arg_egid); kau_write(rec, tok); } break; case AUE_SETEUID: if (ARG_IS_VALID(kar, ARG_EUID)) { - tok = au_to_arg32(1, "uid", ar->ar_arg_euid); + tok = au_to_arg32(1, "euid", ar->ar_arg_euid); kau_write(rec, tok); } break; @@ -1315,8 +1303,9 @@ kaudit_to_bsm(struct kaudit_record *kar, tok = au_to_arg32(2, "who", ar->ar_arg_uid); kau_write(rec, tok); } + PROCESS_PID_TOKENS(2); if (ARG_IS_VALID(kar, ARG_VALUE)) { - tok = au_to_arg32(2, "priority", ar->ar_arg_value); + tok = au_to_arg32(3, "priority", ar->ar_arg_value); kau_write(rec, tok); } break; @@ -1509,12 +1498,9 @@ kaudit_to_bsm(struct kaudit_record *kar, break; case AUE_WAIT4: - if (ARG_IS_VALID(kar, ARG_PID)) { - tok = au_to_arg32(0, "pid", ar->ar_arg_pid); - kau_write(rec, tok); - } + PROCESS_PID_TOKENS(1); if (ARG_IS_VALID(kar, ARG_VALUE)) { - tok = au_to_arg32(0, "options", ar->ar_arg_value); + tok = au_to_arg32(3, "options", ar->ar_arg_value); kau_write(rec, tok); } break; From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 09:16:25 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66DB01065675; Thu, 2 Jul 2009 09:16:25 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 55BE48FC08; Thu, 2 Jul 2009 09:16:25 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n629GPrt038973; Thu, 2 Jul 2009 09:16:25 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n629GPJB038971; Thu, 2 Jul 2009 09:16:25 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907020916.n629GPJB038971@svn.freebsd.org> From: Robert Watson Date: Thu, 2 Jul 2009 09:16:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195281 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:16:25 -0000 Author: rwatson Date: Thu Jul 2 09:16:25 2009 New Revision: 195281 URL: http://svn.freebsd.org/changeset/base/195281 Log: Audit file descriptor and command arguments to ioctl(2). Approved by: re (audit argument blanket) MFC after: 1 week Modified: head/sys/kern/sys_generic.c Modified: head/sys/kern/sys_generic.c ============================================================================== --- head/sys/kern/sys_generic.c Thu Jul 2 09:15:30 2009 (r195280) +++ head/sys/kern/sys_generic.c Thu Jul 2 09:16:25 2009 (r195281) @@ -693,6 +693,8 @@ kern_ioctl(struct thread *td, int fd, u_ int error; int tmp; + AUDIT_ARG_FD(fd); + AUDIT_ARG_CMD(com); if ((error = fget(td, fd, &fp)) != 0) return (error); if ((fp->f_flag & (FREAD | FWRITE)) == 0) { From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 09:50:14 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83D631065674; Thu, 2 Jul 2009 09:50:14 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7216E8FC21; Thu, 2 Jul 2009 09:50:14 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n629oE6K039791; Thu, 2 Jul 2009 09:50:14 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n629oE35039790; Thu, 2 Jul 2009 09:50:14 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907020950.n629oE35039790@svn.freebsd.org> From: Robert Watson Date: Thu, 2 Jul 2009 09:50:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195282 - head/sys/security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 09:50:15 -0000 Author: rwatson Date: Thu Jul 2 09:50:13 2009 New Revision: 195282 URL: http://svn.freebsd.org/changeset/base/195282 Log: Fix comment misthink. Submitted by: b. f. Approved by: re (audit argument blanket) MFC after: 1 week Modified: head/sys/security/audit/audit_bsm.c Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Thu Jul 2 09:16:25 2009 (r195281) +++ head/sys/security/audit/audit_bsm.c Thu Jul 2 09:50:13 2009 (r195282) @@ -278,7 +278,7 @@ kau_free(struct au_record *rec) /* * Not all pointer arguments to system calls are of interest, but in some - * cases they reflect delegation of rights, such as mmap(2) falled by + * cases they reflect delegation of rights, such as mmap(2) followed by * minherit(2) before execve(2), so do the best we can. */ #define ADDR_TOKEN(argnum, argname) do { \ From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 10:02:10 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96953106566C; Thu, 2 Jul 2009 10:02:10 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 855758FC0A; Thu, 2 Jul 2009 10:02:10 +0000 (UTC) (envelope-from ariff@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62A2AJw040108; Thu, 2 Jul 2009 10:02:10 GMT (envelope-from ariff@svn.freebsd.org) Received: (from ariff@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62A2A7t040106; Thu, 2 Jul 2009 10:02:10 GMT (envelope-from ariff@svn.freebsd.org) Message-Id: <200907021002.n62A2A7t040106@svn.freebsd.org> From: Ariff Abdullah Date: Thu, 2 Jul 2009 10:02:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195283 - head/sys/tools/sound X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 10:02:11 -0000 Author: ariff Date: Thu Jul 2 10:02:10 2009 New Revision: 195283 URL: http://svn.freebsd.org/changeset/base/195283 Log: Slightly increase amount of bandwidth of resampling filter for feeder_rate_quality=3. This have the benefit of reducing aliasing artifacts due to alias masking. Spectrogram analysis: o Old preset (100:36:0.90) http://people.freebsd.org/~ariff/z_comparison/z_q3_old.png o New preset (100:36:0.92): http://people.freebsd.org/~ariff/z_comparison/z_q3_new.png Approved by: re (kib) Modified: head/sys/tools/sound/feeder_rate_mkfilter.awk Modified: head/sys/tools/sound/feeder_rate_mkfilter.awk ============================================================================== --- head/sys/tools/sound/feeder_rate_mkfilter.awk Thu Jul 2 09:50:13 2009 (r195282) +++ head/sys/tools/sound/feeder_rate_mkfilter.awk Thu Jul 2 10:02:10 2009 (r195283) @@ -592,7 +592,7 @@ BEGIN { if (ARGC < 2) { ARGC = 1; ARGV[ARGC++] = "100:8:0.85"; - ARGV[ARGC++] = "100:36:0.90"; + ARGV[ARGC++] = "100:36:0.92"; ARGV[ARGC++] = "100:164:0.97"; #ARGV[ARGC++] = "100:8"; #ARGV[ARGC++] = "100:16"; From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 14:19:34 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07E461065673; Thu, 2 Jul 2009 14:19:34 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E9EA48FC1B; Thu, 2 Jul 2009 14:19:33 +0000 (UTC) (envelope-from jamie@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62EJX9M046651; Thu, 2 Jul 2009 14:19:33 GMT (envelope-from jamie@svn.freebsd.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62EJXMe046649; Thu, 2 Jul 2009 14:19:33 GMT (envelope-from jamie@svn.freebsd.org) Message-Id: <200907021419.n62EJXMe046649@svn.freebsd.org> From: Jamie Gritton Date: Thu, 2 Jul 2009 14:19:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195285 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:19:34 -0000 Author: jamie Date: Thu Jul 2 14:19:33 2009 New Revision: 195285 URL: http://svn.freebsd.org/changeset/base/195285 Log: Call prison_check from vfs_suser rather than re-implementing it. Approved by: re (kib), bz (mentor) Modified: head/sys/kern/vfs_subr.c Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Thu Jul 2 12:41:21 2009 (r195284) +++ head/sys/kern/vfs_subr.c Thu Jul 2 14:19:33 2009 (r195285) @@ -461,8 +461,7 @@ vfs_suser(struct mount *mp, struct threa * If the file system was mounted outside the jail of the calling * thread, deny immediately. */ - if (mp->mnt_cred->cr_prison != td->td_ucred->cr_prison && - !prison_ischild(td->td_ucred->cr_prison, mp->mnt_cred->cr_prison)) + if (prison_check(td->td_ucred, mp->mnt_cred) != 0) return (EPERM); /* From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 16:33:39 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 971A11065673; Thu, 2 Jul 2009 16:33:39 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 857848FC12; Thu, 2 Jul 2009 16:33:39 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62GXdcd049284; Thu, 2 Jul 2009 16:33:39 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62GXdLq049282; Thu, 2 Jul 2009 16:33:39 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200907021633.n62GXdLq049282@svn.freebsd.org> From: Robert Watson Date: Thu, 2 Jul 2009 16:33:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195291 - head/sys/security/audit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 16:33:40 -0000 Author: rwatson Date: Thu Jul 2 16:33:38 2009 New Revision: 195291 URL: http://svn.freebsd.org/changeset/base/195291 Log: Create audit records for AUE_POSIX_OPENPT, currently w/o arguments. Approved by: re (audit argument blanket) Modified: head/sys/security/audit/audit_bsm.c Modified: head/sys/security/audit/audit_bsm.c ============================================================================== --- head/sys/security/audit/audit_bsm.c Thu Jul 2 15:59:32 2009 (r195290) +++ head/sys/security/audit/audit_bsm.c Thu Jul 2 16:33:38 2009 (r195291) @@ -690,6 +690,7 @@ kaudit_to_bsm(struct kaudit_record *kar, case AUE_MSGSYS: case AUE_NTP_ADJTIME: case AUE_PIPE: + case AUE_POSIX_OPENPT: case AUE_PROFILE: case AUE_RTPRIO: case AUE_SEMSYS: From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 18:02:55 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA524106564A; Thu, 2 Jul 2009 18:02:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE1168FC2A; Thu, 2 Jul 2009 18:02:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62I2tOo051183; Thu, 2 Jul 2009 18:02:55 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62I2tR1051178; Thu, 2 Jul 2009 18:02:55 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200907021802.n62I2tR1051178@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 2 Jul 2009 18:02:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195294 - in head/sys: fs/cd9660 kern nfsclient ufs/ffs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:02:57 -0000 Author: kib Date: Thu Jul 2 18:02:55 2009 New Revision: 195294 URL: http://svn.freebsd.org/changeset/base/195294 Log: In vn_vget_ino() and their inline equivalents, mnt_ref() the mount point around the sequence that drop vnode lock and then busies the mount point. Not having vlocked node or direct reference to the mp allows for the forced unmount to proceed, making mp unmounted or reused. Tested by: pho Reviewed by: jeff Approved by: re (kensmith) MFC after: 2 weeks Modified: head/sys/fs/cd9660/cd9660_lookup.c head/sys/kern/vfs_vnops.c head/sys/nfsclient/nfs_vnops.c head/sys/ufs/ffs/ffs_softdep.c Modified: head/sys/fs/cd9660/cd9660_lookup.c ============================================================================== --- head/sys/fs/cd9660/cd9660_lookup.c Thu Jul 2 16:41:46 2009 (r195293) +++ head/sys/fs/cd9660/cd9660_lookup.c Thu Jul 2 18:02:55 2009 (r195294) @@ -376,9 +376,11 @@ found: ltype = VOP_ISLOCKED(pdp); error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { + vfs_ref(mp); VOP_UNLOCK(pdp, 0); error = vfs_busy(mp, 0); vn_lock(pdp, ltype | LK_RETRY); + vfs_rel(mp); if (error) return (ENOENT); if (pdp->v_iflag & VI_DOOMED) { Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Thu Jul 2 16:41:46 2009 (r195293) +++ head/sys/kern/vfs_vnops.c Thu Jul 2 18:02:55 2009 (r195294) @@ -1307,9 +1307,11 @@ vn_vget_ino(struct vnode *vp, ino_t ino, ("vn_vget_ino: vp not locked")); error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { + vfs_ref(mp); VOP_UNLOCK(vp, 0); error = vfs_busy(mp, 0); vn_lock(vp, ltype | LK_RETRY); + vfs_rel(mp); if (error != 0) return (ENOENT); if (vp->v_iflag & VI_DOOMED) { Modified: head/sys/nfsclient/nfs_vnops.c ============================================================================== --- head/sys/nfsclient/nfs_vnops.c Thu Jul 2 16:41:46 2009 (r195293) +++ head/sys/nfsclient/nfs_vnops.c Thu Jul 2 18:02:55 2009 (r195294) @@ -1043,9 +1043,11 @@ nfs_lookup(struct vop_lookup_args *ap) ltype = VOP_ISLOCKED(dvp); error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { + vfs_ref(mp); VOP_UNLOCK(dvp, 0); error = vfs_busy(mp, 0); vn_lock(dvp, ltype | LK_RETRY); + vfs_rel(mp); if (error == 0 && (dvp->v_iflag & VI_DOOMED)) { vfs_unbusy(mp); error = ENOENT; Modified: head/sys/ufs/ffs/ffs_softdep.c ============================================================================== --- head/sys/ufs/ffs/ffs_softdep.c Thu Jul 2 16:41:46 2009 (r195293) +++ head/sys/ufs/ffs/ffs_softdep.c Thu Jul 2 18:02:55 2009 (r195294) @@ -5104,9 +5104,11 @@ softdep_fsync(vp) FFSV_FORCEINSMQ)) { error = vfs_busy(mp, MBF_NOWAIT); if (error != 0) { + vfs_ref(mp); VOP_UNLOCK(vp, 0); error = vfs_busy(mp, 0); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + vfs_rel(mp); if (error != 0) return (ENOENT); if (vp->v_iflag & VI_DOOMED) { From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 18:24:38 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E2361065672; Thu, 2 Jul 2009 18:24:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1CDA28FC12; Thu, 2 Jul 2009 18:24:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62IOc3d051651; Thu, 2 Jul 2009 18:24:38 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62IObWJ051643; Thu, 2 Jul 2009 18:24:37 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200907021824.n62IObWJ051643@svn.freebsd.org> From: Ed Schouten Date: Thu, 2 Jul 2009 18:24:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195295 - in head/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf sparc64/conf sun4v/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:24:38 -0000 Author: ed Date: Thu Jul 2 18:24:37 2009 New Revision: 195295 URL: http://svn.freebsd.org/changeset/base/195295 Log: Enable POSIX semaphores on all non-embedded architectures by default. More applications (including Firefox) seem to depend on this nowadays, so not having this enabled by default is a bad idea. Proposed by: miwi Patch by: Florian Smeets Approved by: re (kib) Modified: head/sys/amd64/conf/GENERIC head/sys/i386/conf/GENERIC head/sys/ia64/conf/GENERIC head/sys/pc98/conf/GENERIC head/sys/powerpc/conf/GENERIC head/sys/sparc64/conf/GENERIC head/sys/sun4v/conf/GENERIC Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/amd64/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -65,6 +65,7 @@ options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/i386/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -66,6 +66,7 @@ options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev Modified: head/sys/ia64/conf/GENERIC ============================================================================== --- head/sys/ia64/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/ia64/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -58,6 +58,7 @@ options STACK # stack(9) support options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options SYSVSHM # SYSV-style shared memory +options P1003_1B_SEMAPHORES # POSIX-style semaphores options UFS_ACL # Support for access control lists options UFS_DIRHASH # Hash-based directory lookup scheme options UFS_GJOURNAL # Enable gjournal-based UFS journaling Modified: head/sys/pc98/conf/GENERIC ============================================================================== --- head/sys/pc98/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/pc98/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -69,6 +69,7 @@ options STACK # stack(9) support #options SYSVSHM # SYSV-style shared memory #options SYSVMSG # SYSV-style message queues #options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) Modified: head/sys/powerpc/conf/GENERIC ============================================================================== --- head/sys/powerpc/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/powerpc/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -61,6 +61,7 @@ options STACK #stack(9) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing Modified: head/sys/sparc64/conf/GENERIC ============================================================================== --- head/sys/sparc64/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/sparc64/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -66,6 +66,7 @@ options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing Modified: head/sys/sun4v/conf/GENERIC ============================================================================== --- head/sys/sun4v/conf/GENERIC Thu Jul 2 18:02:55 2009 (r195294) +++ head/sys/sun4v/conf/GENERIC Thu Jul 2 18:24:37 2009 (r195295) @@ -58,6 +58,7 @@ options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 18:48:53 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4D011065673; Thu, 2 Jul 2009 18:48:53 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 7C3988FC21; Thu, 2 Jul 2009 18:48:53 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id E34BD1CC95; Thu, 2 Jul 2009 20:48:52 +0200 (CEST) Date: Thu, 2 Jul 2009 20:48:52 +0200 From: Ed Schouten To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <20090702184852.GO48776@hoeg.nl> References: <200907021824.n62IObWJ051643@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Syt/7Y6mYgEPaoSP" Content-Disposition: inline In-Reply-To: <200907021824.n62IObWJ051643@svn.freebsd.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: Subject: Re: svn commit: r195295 - in head/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf sparc64/conf sun4v/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 18:48:54 -0000 --Syt/7Y6mYgEPaoSP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Ed Schouten wrote: > Log: > Enable POSIX semaphores on all non-embedded architectures by default. > =20 > More applications (including Firefox) seem to depend on this nowadays, > so not having this enabled by default is a bad idea. > =20 > Proposed by: miwi > Patch by: Florian Smeets > Approved by: re (kib) MFC after: 2 weeks --=20 Ed Schouten WWW: http://80386.nl/ --Syt/7Y6mYgEPaoSP Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpNARQACgkQ52SDGA2eCwWWTgCfR/O3vEtOhS3er9H2Sd5/pr6D BEQAn2glWb2ClFsauOSg9VP1iFsiBgy/ =E72z -----END PGP SIGNATURE----- --Syt/7Y6mYgEPaoSP-- From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 19:01:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9EF181065698; Thu, 2 Jul 2009 19:01:01 +0000 (UTC) (envelope-from prvs=142781d323=brian@Awfulhak.org) Received: from idcmail-mo2no.shaw.ca (idcmail-mo2no.shaw.ca [64.59.134.9]) by mx1.freebsd.org (Postfix) with ESMTP id 4BE8F8FC16; Thu, 2 Jul 2009 19:01:01 +0000 (UTC) (envelope-from prvs=142781d323=brian@Awfulhak.org) Received: from pd7ml2no-ssvc.prod.shaw.ca ([10.0.153.162]) by pd7mo1no-svcs.prod.shaw.ca with ESMTP; 02 Jul 2009 12:32:25 -0600 X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=0 a=6I5d2MoRAAAA:8 a=C-UynQaA-aZk2ReJXe4A:9 a=AbxwMikquOh-mseD8SUQ9ZxaWA0A:4 a=SV7veod9ZcQA:10 a=WJ3hkfHDukgA:10 a=w7u_LHQg_AsA:10 Received: from unknown (HELO store.lan.Awfulhak.org) ([174.7.23.140]) by pd7ml2no-dmz.prod.shaw.ca with ESMTP; 02 Jul 2009 12:32:19 -0600 Received: from store.lan.Awfulhak.org (localhost.localdomain [127.0.0.1]) by localhost (Email Security Appliance) with SMTP id 0FE81C433AC_A4CFD67B; Thu, 2 Jul 2009 18:33:11 +0000 (GMT) Received: from gw.Awfulhak.org (gw.lan.Awfulhak.org [172.16.0.1]) by store.lan.Awfulhak.org (Sophos Email Appliance) with ESMTP id D3CB6C460FC_A4CFD60F; Thu, 2 Jul 2009 18:33:04 +0000 (GMT) Received: from localhost (brian@gw.lan.Awfulhak.org [172.16.0.1]) by gw.Awfulhak.org (8.14.3/8.14.3) with ESMTP id n62IWB21046278; Thu, 2 Jul 2009 11:32:12 -0700 (PDT) (envelope-from brian@Awfulhak.org) Date: Thu, 2 Jul 2009 11:32:15 -0700 From: Brian Somers To: Ed Schouten Message-ID: <20090702113215.38b4ece6@Awfulhak.org> In-Reply-To: <200907021824.n62IObWJ051643@svn.freebsd.org> References: <200907021824.n62IObWJ051643@svn.freebsd.org> X-Mailer: Claws Mail 3.7.1 (GTK+ 2.16.2; i386-portbld-freebsd8.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195295 - in head/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf sparc64/conf sun4v/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 19:01:02 -0000 On Thu, 2 Jul 2009 18:24:37 +0000 (UTC), Ed Schouten wrote: > Author: ed > Date: Thu Jul 2 18:24:37 2009 > New Revision: 195295 > URL: http://svn.freebsd.org/changeset/base/195295 > > Log: > Enable POSIX semaphores on all non-embedded architectures by default. > > More applications (including Firefox) seem to depend on this nowadays, > so not having this enabled by default is a bad idea. > > Proposed by: miwi > Patch by: Florian Smeets > Approved by: re (kib) > > Modified: > head/sys/amd64/conf/GENERIC > head/sys/i386/conf/GENERIC > head/sys/ia64/conf/GENERIC > head/sys/pc98/conf/GENERIC > head/sys/powerpc/conf/GENERIC > head/sys/sparc64/conf/GENERIC > head/sys/sun4v/conf/GENERIC Do you plan to MFC this? I can see it irritating quite a few 7.2^H3 users... Cheers. -- Brian Somers Don't _EVER_ lose your sense of humour ! From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 19:12:28 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF708106564A; Thu, 2 Jul 2009 19:12:28 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 75E018FC1B; Thu, 2 Jul 2009 19:12:28 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: by palm.hoeg.nl (Postfix, from userid 1000) id D9D5A1CD73; Thu, 2 Jul 2009 21:12:27 +0200 (CEST) Date: Thu, 2 Jul 2009 21:12:27 +0200 From: Ed Schouten To: Brian Somers Message-ID: <20090702191227.GQ48776@hoeg.nl> References: <200907021824.n62IObWJ051643@svn.freebsd.org> <20090702113215.38b4ece6@Awfulhak.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Vds9iKEW4pZxyAo4" Content-Disposition: inline In-Reply-To: <20090702113215.38b4ece6@Awfulhak.org> User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195295 - in head/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf sparc64/conf sun4v/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 19:12:29 -0000 --Vds9iKEW4pZxyAo4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Brian Somers wrote: > Do you plan to MFC this? I can see it irritating quite a few > 7.2^H3 users... Yes. I forgot to mention it in the commit message, but I will. --=20 Ed Schouten WWW: http://80386.nl/ --Vds9iKEW4pZxyAo4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkpNBpsACgkQ52SDGA2eCwXFTACbBg04TOwkpOGab50/ldf00FOH dJQAn1tWjFVJjUxUBEF8Doh+aK1cSFo8 =4fEf -----END PGP SIGNATURE----- --Vds9iKEW4pZxyAo4-- From owner-svn-src-head@FreeBSD.ORG Thu Jul 2 20:05:22 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F92D106566C; Thu, 2 Jul 2009 20:05:22 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 33B058FC15; Thu, 2 Jul 2009 20:05:22 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62K5MqE053615; Thu, 2 Jul 2009 20:05:22 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62K5LXo053614; Thu, 2 Jul 2009 20:05:21 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200907022005.n62K5LXo053614@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 2 Jul 2009 20:05:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195296 - in head: sys/ufs/ufs tools/regression/acltools X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 20:05:22 -0000 Author: trasz Date: Thu Jul 2 20:05:21 2009 New Revision: 195296 URL: http://svn.freebsd.org/changeset/base/195296 Log: Fix fpathconf(3) on fifos, in effect making ls(1) properly display '+' on them. Taken from kern/125613, with cosmetic changes. PR: kern/125613 Submitted by: Jaakko Heinonen Approved by: re (kib) Modified: head/sys/ufs/ufs/ufs_vnops.c head/tools/regression/acltools/tools-posix.test Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Thu Jul 2 18:24:37 2009 (r195295) +++ head/sys/ufs/ufs/ufs_vnops.c Thu Jul 2 20:05:21 2009 (r195296) @@ -112,6 +112,7 @@ static vop_symlink_t ufs_symlink; static vop_whiteout_t ufs_whiteout; static vop_close_t ufsfifo_close; static vop_kqfilter_t ufsfifo_kqfilter; +static vop_pathconf_t ufsfifo_pathconf; /* * A virgin directory (no blushing please). @@ -2101,6 +2102,29 @@ ufsfifo_kqfilter(ap) } /* + * Return POSIX pathconf information applicable to fifos. + */ +static int +ufsfifo_pathconf(ap) + struct vop_pathconf_args /* { + struct vnode *a_vp; + int a_name; + int *a_retval; + } */ *ap; +{ + + switch (ap->a_name) { + case _PC_ACL_EXTENDED: + case _PC_ACL_PATH_MAX: + case _PC_MAC_PRESENT: + return (ufs_pathconf(ap)); + default: + return (fifo_specops.vop_pathconf(ap)); + } + /* NOTREACHED */ +} + +/* * Return POSIX pathconf information applicable to ufs filesystems. */ static int @@ -2520,6 +2544,7 @@ struct vop_vector ufs_fifoops = { .vop_inactive = ufs_inactive, .vop_kqfilter = ufsfifo_kqfilter, .vop_markatime = ufs_markatime, + .vop_pathconf = ufsfifo_pathconf, .vop_print = ufs_print, .vop_read = VOP_PANIC, .vop_reclaim = ufs_reclaim, Modified: head/tools/regression/acltools/tools-posix.test ============================================================================== --- head/tools/regression/acltools/tools-posix.test Thu Jul 2 18:24:37 2009 (r195295) +++ head/tools/regression/acltools/tools-posix.test Thu Jul 2 20:05:21 2009 (r195296) @@ -353,3 +353,37 @@ $ rmdir ddd/ddd $ rm ddd/xxx $ rmdir ddd +# Test if we deal properly with fifos. +$ mkfifo fff +$ ls -l fff | cut -d' ' -f1 +> prw-r--r-- + +$ setfacl -m u:42:r,g:43:w fff +$ getfacl fff +> # file: fff +> # owner: root +> # group: wheel +> user::rw- +> user:42:r-- +> group::r-- +> group:43:-w- +> mask::rw- +> other::r-- + +$ ls -l fff | cut -d' ' -f1 +> prw-rw-r--+ + +$ setfacl -bn fff +$ getfacl fff +> # file: fff +> # owner: root +> # group: wheel +> user::rw- +> group::r-- +> other::r-- + +$ ls -l fff | cut -d' ' -f1 +> prw-r--r-- + +$ rm fff + From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 14:23:36 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 270D81065697; Fri, 3 Jul 2009 14:23:36 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id D51898FC0A; Fri, 3 Jul 2009 14:23:35 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id 831D6359951; Fri, 3 Jul 2009 16:23:35 +0200 (CEST) Received: by snail.stack.nl (Postfix, from userid 1677) id 17D25228CC; Fri, 3 Jul 2009 16:23:35 +0200 (CEST) Date: Fri, 3 Jul 2009 16:23:35 +0200 From: Jilles Tjoelker To: Edward Tomasz Napierala Message-ID: <20090703142334.GA53614@stack.nl> References: <200907011552.n61FqJL5016996@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200907011552.n61FqJL5016996@svn.freebsd.org> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195243 - head/bin/chmod X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 14:23:36 -0000 On Wed, Jul 01, 2009 at 03:52:19PM +0000, Edward Tomasz Napierala wrote: > + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); There doesn't seem to be anything like lpathconf() or fpathconfat(AT_SYMLINK_NOFOLLOW), so this may not work properly for symlinks (chmod -h). -- Jilles Tjoelker From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 17:54:34 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D2C4106566C; Fri, 3 Jul 2009 17:54:34 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B38B8FC1E; Fri, 3 Jul 2009 17:54:34 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63HsYJA084496; Fri, 3 Jul 2009 17:54:34 GMT (envelope-from kientzle@svn.freebsd.org) Received: (from kientzle@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63HsXRn084493; Fri, 3 Jul 2009 17:54:33 GMT (envelope-from kientzle@svn.freebsd.org) Message-Id: <200907031754.n63HsXRn084493@svn.freebsd.org> From: Tim Kientzle Date: Fri, 3 Jul 2009 17:54:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195318 - head/usr.bin/cpio X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 17:54:34 -0000 Author: kientzle Date: Fri Jul 3 17:54:33 2009 New Revision: 195318 URL: http://svn.freebsd.org/changeset/base/195318 Log: This fixes bsdcpio's -R option to accept numeric user or group Ids as well as user or group names. In particular, this fixes freesbie2, which uses -R 0:0 to copy a bunch of files so that the result will be owned by root. Also fixes a related bug that mixed-up the uid and gid specified by -R when in passthrough mode. Thanks to Dominique Goncalves for reporting this regression. Approved by: re (kib) Modified: head/usr.bin/cpio/cmdline.c head/usr.bin/cpio/cpio.c Modified: head/usr.bin/cpio/cmdline.c ============================================================================== --- head/usr.bin/cpio/cmdline.c Fri Jul 3 16:33:42 2009 (r195317) +++ head/usr.bin/cpio/cmdline.c Fri Jul 3 17:54:33 2009 (r195318) @@ -268,16 +268,36 @@ cpio_getopt(struct cpio *cpio) * Parse the argument to the -R or --owner flag. * * The format is one of the following: - * - Override user but not group - * : - Override both, group is user's default group - * : - Override both - * : - Override group but not user + * - Override user but not group + * : - Override both, group is user's default group + * : - Override user but not group + * : - Override both + * : - Override group but not user + * + * Where uid/gid are decimal representations and groupname/username + * are names to be looked up in system database. Note that + * uid/gid parsing takes priority over username/groupname lookup, + * so this won't do a lookup for usernames or group names that + * consist entirely of digits. * * A period can be used instead of the colon. * - * Sets uid/gid as appropriate, -1 indicates uid/gid not specified. + * Sets uid/gid return as appropriate, -1 indicates uid/gid not specified. * */ +static int +decimal_parse(const char *p) +{ + /* TODO: guard against overflow. */ + int n = 0; + for (; *p != '\0'; ++p) { + if (*p < '0' || *p > '9') + return (-1); + n = n * 10 + *p - '0'; + } + return (n); +} + int owner_parse(const char *spec, int *uid, int *gid) { @@ -318,24 +338,34 @@ owner_parse(const char *spec, int *uid, } memcpy(user, u, ue - u); user[ue - u] = '\0'; - pwent = getpwnam(user); - if (pwent == NULL) { - cpio_warnc(errno, "Couldn't lookup user ``%s''", user); - return (1); + *uid = decimal_parse(user); + if (*uid < 0) { + /* Couldn't parse as integer, try username lookup. */ + pwent = getpwnam(user); + if (pwent == NULL) { + cpio_warnc(errno, + "Couldn't lookup user ``%s''", user); + return (1); + } + *uid = pwent->pw_uid; + if (*ue != '\0' && *g == '\0') + *gid = pwent->pw_gid; } free(user); - *uid = pwent->pw_uid; - if (*ue != '\0' && *g == '\0') - *gid = pwent->pw_gid; } if (*g != '\0') { - struct group *grp; - grp = getgrnam(g); - if (grp != NULL) - *gid = grp->gr_gid; - else { - cpio_warnc(errno, "Couldn't look up group ``%s''", g); - return (1); + *gid = decimal_parse(g); + if (*gid < 0) { + /* Couldn't parse int, try group name lookup. */ + struct group *grp; + grp = getgrnam(g); + if (grp != NULL) + *gid = grp->gr_gid; + else { + cpio_warnc(errno, + "Couldn't look up group ``%s''", g); + return (1); + } } } return (0); Modified: head/usr.bin/cpio/cpio.c ============================================================================== --- head/usr.bin/cpio/cpio.c Fri Jul 3 16:33:42 2009 (r195317) +++ head/usr.bin/cpio/cpio.c Fri Jul 3 17:54:33 2009 (r195318) @@ -575,7 +575,7 @@ file_to_archive(struct cpio *cpio, const if (cpio->uid_override >= 0) st.st_uid = cpio->uid_override; if (cpio->gid_override >= 0) - st.st_gid = cpio->uid_override; + st.st_gid = cpio->gid_override; archive_entry_copy_stat(entry, &st); #if !defined(_WIN32) || defined(__CYGWIN__) From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 18:37:13 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D00D4106564A; Fri, 3 Jul 2009 18:37:13 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (lor.one-eyed-alien.net [69.66.77.232]) by mx1.freebsd.org (Postfix) with ESMTP id 6D9748FC15; Fri, 3 Jul 2009 18:37:13 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (localhost [127.0.0.1]) by lor.one-eyed-alien.net (8.14.3/8.14.3) with ESMTP id n63IaA04045312; Fri, 3 Jul 2009 13:36:10 -0500 (CDT) (envelope-from brooks@lor.one-eyed-alien.net) Received: (from brooks@localhost) by lor.one-eyed-alien.net (8.14.3/8.14.3/Submit) id n63IaAqU045311; Fri, 3 Jul 2009 13:36:10 -0500 (CDT) (envelope-from brooks) Date: Fri, 3 Jul 2009 13:36:10 -0500 From: Brooks Davis To: Tim Kientzle Message-ID: <20090703183609.GA45185@lor.one-eyed-alien.net> References: <200907031754.n63HsXRn084493@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="r5Pyd7+fXNt84Ff3" Content-Disposition: inline In-Reply-To: <200907031754.n63HsXRn084493@svn.freebsd.org> User-Agent: Mutt/1.5.17 (2007-11-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (lor.one-eyed-alien.net [127.0.0.1]); Fri, 03 Jul 2009 13:36:10 -0500 (CDT) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r195318 - head/usr.bin/cpio X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 18:37:14 -0000 --r5Pyd7+fXNt84Ff3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Jul 03, 2009 at 05:54:33PM +0000, Tim Kientzle wrote: > Modified: head/usr.bin/cpio/cmdline.c > ============================================================================== > --- head/usr.bin/cpio/cmdline.c Fri Jul 3 16:33:42 2009 (r195317) > +++ head/usr.bin/cpio/cmdline.c Fri Jul 3 17:54:33 2009 (r195318) > @@ -268,16 +268,36 @@ cpio_getopt(struct cpio *cpio) > * Parse the argument to the -R or --owner flag. > * > * The format is one of the following: > - * - Override user but not group > - * : - Override both, group is user's default group > - * : - Override both > - * : - Override group but not user > + * - Override user but not group > + * : - Override both, group is user's default group > + * : - Override user but not group > + * : - Override both > + * : - Override group but not user > + * > + * Where uid/gid are decimal representations and groupname/username > + * are names to be looked up in system database. Note that > + * uid/gid parsing takes priority over username/groupname lookup, > + * so this won't do a lookup for usernames or group names that > + * consist entirely of digits. Is this behavior specified somewhere? It is counter to the usual rule that the system should attempt to resolve all strings as a name first. For example, the following is from the chown manpage in POSIX.1-2008 If a numeric owner operand exists in the user database as a user name, the user ID number associated with that user name shall be used as the user ID. Numeric usernames are a disaster, especially if they can't match the uid for some reason, but following this rule consistently at least makes things more sane if you're stuck with them. -- Brooks --r5Pyd7+fXNt84Ff3 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFKTk+ZXY6L6fI4GtQRAr05AKCfi+4Wh+5DqlwwG4RumKfgYHYoigCgj/ni on202oO4v1XuEGyckC/9a6E= =oewl -----END PGP SIGNATURE----- --r5Pyd7+fXNt84Ff3-- From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 19:17:53 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 59EF31065672; Fri, 3 Jul 2009 19:17:53 +0000 (UTC) Date: Fri, 3 Jul 2009 19:17:53 +0000 From: Alexey Dokuchaev To: Tim Kientzle Message-ID: <20090703191753.GA48087@FreeBSD.org> References: <200907031754.n63HsXRn084493@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <200907031754.n63HsXRn084493@svn.freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195318 - head/usr.bin/cpio X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:17:53 -0000 Tim Kientzle wrote: > Author: kientzle > Date: Fri Jul 3 17:54:33 2009 > New Revision: 195318 > URL: http://svn.freebsd.org/changeset/base/195318 > > + * Where uid/gid are decimal representations and groupname/username > + * are names to be looked up in system database. Note that ^^^^^^^ Bad indentation: "uid/gid" occupies seven characters, so wrap is premature here (there are exactly seven ^ marks above). > + * uid/gid parsing takes priority over username/groupname lookup, > + * so this won't do a lookup for usernames or group names that > + * consist entirely of digits. > * > * A period can be used instead of the colon. > * > - * Sets uid/gid as appropriate, -1 indicates uid/gid not specified. > + * Sets uid/gid return as appropriate, -1 indicates uid/gid not specified. > * > */ > +static int > +decimal_parse(const char *p) > +{ > + /* TODO: guard against overflow. */ > + int n = 0; > + for (; *p != '\0'; ++p) { > + if (*p < '0' || *p > '9') > + return (-1); > + n = n * 10 + *p - '0'; > + } > + return (n); > +} Roll own your own strtoul(3)? What kind of NIH is this? :-) > + > int > owner_parse(const char *spec, int *uid, int *gid) > { > @@ -318,24 +338,34 @@ owner_parse(const char *spec, int *uid, > } > memcpy(user, u, ue - u); > user[ue - u] = '\0'; > - pwent = getpwnam(user); > - if (pwent == NULL) { > - cpio_warnc(errno, "Couldn't lookup user ``%s''", user); > - return (1); > + *uid = decimal_parse(user); > + if (*uid < 0) { > + /* Couldn't parse as integer, try username lookup. */ > + pwent = getpwnam(user); > + if (pwent == NULL) { > + cpio_warnc(errno, > + "Couldn't lookup user ``%s''", user); > + return (1); > + } > + *uid = pwent->pw_uid; > + if (*ue != '\0' && *g == '\0') > + *gid = pwent->pw_gid; Why not something simple like this: if ((pwent = getpwnam(user)) != NULL) uid = pwent->pw_uid; else { errno = 0; uid = strtoul(user, &ep, 10); if (errno || user[0] == '\0' || *ep != '\0') cpio_warnc("invalid user: %s", user); } ./danfe From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 21:12:38 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B0E1106566C; Fri, 3 Jul 2009 21:12:38 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 182098FC24; Fri, 3 Jul 2009 21:12:38 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63LCcHK088545; Fri, 3 Jul 2009 21:12:38 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63LCcWv088541; Fri, 3 Jul 2009 21:12:38 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907032112.n63LCcWv088541@svn.freebsd.org> From: Rui Paulo Date: Fri, 3 Jul 2009 21:12:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195325 - in head: share/man/man4 sys/dev/acpi_support X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 21:12:38 -0000 Author: rpaulo Date: Fri Jul 3 21:12:37 2009 New Revision: 195325 URL: http://svn.freebsd.org/changeset/base/195325 Log: acpi_hp.c: - sysctl dev.acpi_hp.0.verbose to toggle debug output - A modification so this can deal with different array lengths when reading the CMI BIOS - now it works ok on HP Compaq nx7300 as well. - Change behaviour to query only max_instance-1 CMI BIOS instances, because all HPs seen so far are broken in that respect (or there is a fundamental misunderstanding on my side, possible as well). This way a disturbing ACPI Error Field exceeds Buffer message is avoided. - New bit to set on dev.acpi_hp.0.cmi_detail (0x8) to also query the highest guid instance of CMI bios acpi_hp.4: - Document dev.acpi_hp.0.verbose sysctl in man page - Document new bit for dev.acpi_hp.0.cmi_detail - Add a section to manpage about hardware that has been reported to work ok Submitted by: Michael Gmelin Approved by: re (kib) MFC after: 2 weeks Modified: head/share/man/man4/acpi_hp.4 head/share/man/man4/acpi_wmi.4 head/sys/dev/acpi_support/acpi_hp.c Modified: head/share/man/man4/acpi_hp.4 ============================================================================== --- head/share/man/man4/acpi_hp.4 Fri Jul 3 21:09:55 2009 (r195324) +++ head/share/man/man4/acpi_hp.4 Fri Jul 3 21:12:37 2009 (r195325) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_HP 4 i386 .Os .Sh NAME @@ -92,8 +92,8 @@ WWAN on air status changed to 0 (not on WWAN on air status changed to 1 (on air) .El .Ss Xr devfs 8 Ss Device -You can read /dev/hpcmi to see your current BIOS settings. The detail level -can be adjusted by setting the sysctl +You can read /dev/hpcmi to see your current BIOS settings. +The detail level can be adjusted by setting the sysctl .Va cmi_detail as described below. .Sh SYSCTL VARIABLES @@ -166,13 +166,29 @@ Show a list of valid options for the BIO .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) .It Li 0x08 -Query highest BIOS entry instance. This is broken on many HP models and -therefore disabled by default. +Query highest BIOS entry instance. +This is broken on many HP models and therefore disabled by default. .El +.It Va dev.acpi_hp.0.verbose +(read-only) +Set verbosity level .El .Pp Defaults for these sysctls can be set in .Xr sysctl.conf 5 . +.Sh HARDWARE +The +.Nm +driver has been reported to support the following hardware: +.Pp +.Bl -bullet -compact +.It +HP Compaq 8510p +.It +HP Compaq nx7300 +.El +.Pp +It should work on most HP laptops that feature a WMI enabled BIOS. .Sh FILES .Bl -tag -width ".Pa /dev/hpcmi" .It Pa /dev/hpcmi @@ -248,7 +264,7 @@ The driver was written by .An Michael Gmelin Aq freebsd@grem.de .Pp -It has been inspired by hp-wmi driver, which implements a subset of these +It has been inspired by hp-wmi driver, which implements a subset of these features (hotkeys) on Linux. .Pp .Bl -tag -width indent Modified: head/share/man/man4/acpi_wmi.4 ============================================================================== --- head/share/man/man4/acpi_wmi.4 Fri Jul 3 21:09:55 2009 (r195324) +++ head/share/man/man4/acpi_wmi.4 Fri Jul 3 21:12:37 2009 (r195325) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_WMI 4 i386 .Os .Sh NAME @@ -48,7 +48,8 @@ acpi_wmi_load="YES" The .Nm driver provides an interface for vendor specific WMI implementations -(e.g. HP and Acer laptops). It creates /dev/wmistat, which can be read to get +(e.g. HP and Acer laptops). +It creates /dev/wmistat, which can be read to get information about GUIDs found in the system. .Sh FILES .Bl -tag -width /dev/wmistat -compact Modified: head/sys/dev/acpi_support/acpi_hp.c ============================================================================== --- head/sys/dev/acpi_support/acpi_hp.c Fri Jul 3 21:09:55 2009 (r195324) +++ head/sys/dev/acpi_support/acpi_hp.c Fri Jul 3 21:12:37 2009 (r195325) @@ -92,6 +92,7 @@ ACPI_MODULE_NAME("HP") #define ACPI_HP_METHOD_HDDTEMP 18 #define ACPI_HP_METHOD_DOCK 19 #define ACPI_HP_METHOD_CMI_DETAIL 20 +#define ACPI_HP_METHOD_VERBOSE 21 #define HP_MASK_WWAN_ON_AIR 0x1000000 #define HP_MASK_BLUETOOTH_ON_AIR 0x10000 @@ -121,6 +122,7 @@ struct acpi_hp_softc { int has_cmi; /* CMI GUID found */ int cmi_detail; /* CMI detail level (set by sysctl) */ + int verbose; /* add debug output */ int wlan_enable_if_radio_on; /* set by sysctl */ int wlan_disable_if_radio_off; /* set by sysctl */ int bluetooth_enable_if_radio_on; /* set by sysctl */ @@ -275,6 +277,12 @@ static struct { "(cat /dev/hpcmi)", .access = CTLTYPE_INT | CTLFLAG_RW }, + { + .name = "verbose", + .method = ACPI_HP_METHOD_VERBOSE, + .description = "Verbosity level", + .access = CTLTYPE_INT | CTLFLAG_RW + }, { NULL, 0, NULL, 0 } }; @@ -334,10 +342,10 @@ MODULE_DEPEND(acpi_hp, acpi, 1, 1, 1); static void acpi_hp_evaluate_auto_on_off(struct acpi_hp_softc *sc) { - int wireless; - int new_wlan_status; - int new_bluetooth_status; - int new_wwan_status; + int wireless; + int new_wlan_status; + int new_bluetooth_status; + int new_wwan_status; wireless = acpi_hp_exec_wmi_command(sc->wmi_dev, ACPI_HP_WMI_WIRELESS_COMMAND, 0, 0); @@ -345,7 +353,8 @@ acpi_hp_evaluate_auto_on_off(struct acpi new_bluetooth_status = -1; new_wwan_status = -1; - device_printf(sc->wmi_dev, "Wireless status is %x\n", wireless); + if (sc->verbose) + device_printf(sc->wmi_dev, "Wireless status is %x\n", wireless); if (sc->wlan_disable_if_radio_off && !(wireless & HP_MASK_WLAN_RADIO) && (wireless & HP_MASK_WLAN_ENABLED)) { acpi_hp_exec_wmi_command(sc->wmi_dev, @@ -391,10 +400,11 @@ acpi_hp_evaluate_auto_on_off(struct acpi new_wlan_status = (wireless & HP_MASK_WLAN_ON_AIR); if ((new_wlan_status?1:0) != sc->was_wlan_on_air) { sc->was_wlan_on_air = sc->was_wlan_on_air?0:1; - device_printf(sc->wmi_dev, - "WLAN on air changed to %i " - "(new_wlan_status is %i)\n", - sc->was_wlan_on_air, new_wlan_status); + if (sc->verbose) + device_printf(sc->wmi_dev, + "WLAN on air changed to %i " + "(new_wlan_status is %i)\n", + sc->was_wlan_on_air, new_wlan_status); acpi_UserNotify("HP", sc->handle, 0xc0+sc->was_wlan_on_air); } @@ -404,9 +414,12 @@ acpi_hp_evaluate_auto_on_off(struct acpi if ((new_bluetooth_status?1:0) != sc->was_bluetooth_on_air) { sc->was_bluetooth_on_air = sc->was_bluetooth_on_air? 0:1; - device_printf(sc->wmi_dev, "BLUETOOTH on air changed" - " to %i (new_bluetooth_status is %i)\n", - sc->was_bluetooth_on_air, new_bluetooth_status); + if (sc->verbose) + device_printf(sc->wmi_dev, + "BLUETOOTH on air changed" + " to %i (new_bluetooth_status is %i)\n", + sc->was_bluetooth_on_air, + new_bluetooth_status); acpi_UserNotify("HP", sc->handle, 0xd0+sc->was_bluetooth_on_air); } @@ -415,9 +428,11 @@ acpi_hp_evaluate_auto_on_off(struct acpi new_wwan_status = (wireless & HP_MASK_WWAN_ON_AIR); if ((new_wwan_status?1:0) != sc->was_wwan_on_air) { sc->was_wwan_on_air = sc->was_wwan_on_air?0:1; - device_printf(sc->wmi_dev, "WWAN on air changed to %i" - " (new_wwan_status is %i)\n", - sc->was_wwan_on_air, new_wwan_status); + if (sc->verbose) + device_printf(sc->wmi_dev, + "WWAN on air changed to %i" + " (new_wwan_status is %i)\n", + sc->was_wwan_on_air, new_wwan_status); acpi_UserNotify("HP", sc->handle, 0xe0+sc->was_wwan_on_air); } @@ -440,7 +455,7 @@ acpi_hp_attach(device_t dev) struct acpi_hp_softc *sc; struct acpi_softc *acpi_sc; devclass_t wmi_devclass; - int arg; + int arg; ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); @@ -460,6 +475,7 @@ acpi_hp_attach(device_t dev) sc->was_wwan_on_air = 0; sc->cmi_detail = 0; sc->cmi_order_size = -1; + sc->verbose = 0; memset(sc->cmi_order, 0, sizeof(sc->cmi_order)); acpi_sc = acpi_device_get_parent_softc(dev); @@ -553,7 +569,7 @@ acpi_hp_attach(device_t dev) static int acpi_hp_detach(device_t dev) { - int ret; + int ret; ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); struct acpi_hp_softc *sc = device_get_softc(dev); @@ -580,12 +596,12 @@ acpi_hp_detach(device_t dev) static int acpi_hp_sysctl(SYSCTL_HANDLER_ARGS) { - struct acpi_hp_softc *sc; - int arg; - int oldarg; - int error = 0; - int function; - int method; + struct acpi_hp_softc *sc; + int arg; + int oldarg; + int error = 0; + int function; + int method; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); @@ -608,7 +624,7 @@ acpi_hp_sysctl(SYSCTL_HANDLER_ARGS) static int acpi_hp_sysctl_get(struct acpi_hp_softc *sc, int method) { - int val = 0; + int val = 0; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); ACPI_SERIAL_ASSERT(hp); @@ -696,6 +712,9 @@ acpi_hp_sysctl_get(struct acpi_hp_softc case ACPI_HP_METHOD_CMI_DETAIL: val = sc->cmi_detail; break; + case ACPI_HP_METHOD_VERBOSE: + val = sc->verbose; + break; } return (val); @@ -707,7 +726,8 @@ acpi_hp_sysctl_set(struct acpi_hp_softc ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); ACPI_SERIAL_ASSERT(hp); - if (method != ACPI_HP_METHOD_CMI_DETAIL) + if (method != ACPI_HP_METHOD_CMI_DETAIL && + method != ACPI_HP_METHOD_VERBOSE) arg = arg?1:0; if (arg != oldarg) { @@ -759,6 +779,9 @@ acpi_hp_sysctl_set(struct acpi_hp_softc sc->cmi_order_size = -1; } break; + case ACPI_HP_METHOD_VERBOSE: + sc->verbose = arg; + break; } } @@ -794,15 +817,15 @@ acpi_hp_notify(ACPI_HANDLE h, UINT32 not static int acpi_hp_exec_wmi_command(device_t wmi_dev, int command, int is_write, int val) { - UINT32 params[5] = { 0x55434553, - is_write?2:1, - command, - is_write?4:0, - val}; - UINT32* result; - ACPI_OBJECT *obj; - ACPI_BUFFER in = { sizeof(params), ¶ms }; - ACPI_BUFFER out = { ACPI_ALLOCATE_BUFFER, NULL }; + UINT32 params[5] = { 0x55434553, + is_write?2:1, + command, + is_write?4:0, + val}; + UINT32* result; + ACPI_OBJECT *obj; + ACPI_BUFFER in = { sizeof(params), ¶ms }; + ACPI_BUFFER out = { ACPI_ALLOCATE_BUFFER, NULL }; int retval; if (ACPI_FAILURE(ACPI_WMI_EVALUATE_CALL(wmi_dev, ACPI_HP_WMI_BIOS_GUID, @@ -827,7 +850,8 @@ acpi_hp_exec_wmi_command(device_t wmi_de static __inline char* acpi_hp_get_string_from_object(ACPI_OBJECT* obj, char* dst, size_t size) { - int length; + int length; + dst[0] = 0; if (obj->Type == ACPI_TYPE_STRING) { length = obj->String.Length+1; @@ -847,33 +871,32 @@ acpi_hp_get_string_from_object(ACPI_OBJE * The block returned is ACPI_TYPE_PACKAGE which should contain the following * elements: * Index Meaning - * 0 Setting Name [string] - * 1 Value (comma separated, asterisk marks the current value) [string] - * 2 Path within the bios hierarchy [string] - * 3 IsReadOnly [int] - * 4 DisplayInUI [int] - * 5 RequiresPhysicalPresence [int] - * 6 Sequence for ordering within the bios settings (absolute) [int] - * 7 Length of prerequisites array [int] - * 8 Prerequisite1 [string] - * 9 Prerequisite2 [string] - * 10 Prerequisite3 [string] - * 11 Current value (in case of enum) [string] / Array length [int] - * 12 Enum length [int] / Array values - * 13ff Enum value at index x [string] + * 0 Setting Name [string] + * 1 Value (comma separated, asterisk marks the current value) [string] + * 2 Path within the bios hierarchy [string] + * 3 IsReadOnly [int] + * 4 DisplayInUI [int] + * 5 RequiresPhysicalPresence [int] + * 6 Sequence for ordering within the bios settings (absolute) [int] + * 7 Length of prerequisites array [int] + * 8..8+[7] PrerequisiteN [string] + * 9+[7] Current value (in case of enum) [string] / Array length [int] + * 10+[7] Enum length [int] / Array values + * 11+[7]ff Enum value at index x [string] */ static int acpi_hp_get_cmi_block(device_t wmi_dev, const char* guid, UINT8 instance, char* outbuf, size_t outsize, UINT32* sequence, int detail) { - ACPI_OBJECT *obj; - ACPI_BUFFER out = { ACPI_ALLOCATE_BUFFER, NULL }; - int i; - int outlen; - int size = 255; - int has_enums = 0; - char string_buffer[size]; - int enumbase; + ACPI_OBJECT *obj; + ACPI_BUFFER out = { ACPI_ALLOCATE_BUFFER, NULL }; + int i; + int outlen; + int size = 255; + int has_enums = 0; + int valuebase = 0; + char string_buffer[size]; + int enumbase; outlen = 0; outbuf[0] = 0; @@ -887,8 +910,13 @@ acpi_hp_get_cmi_block(device_t wmi_dev, return (-EINVAL); } + if (obj->Package.Count >= 8 && + obj->Package.Elements[7].Type == ACPI_TYPE_INTEGER) { + valuebase = 8 + obj->Package.Elements[7].Integer.Value; + } + /* check if this matches our expectations based on limited knowledge */ - if (obj->Package.Count >= 13 && + if (valuebase > 7 && obj->Package.Count > valuebase + 1 && obj->Package.Elements[0].Type == ACPI_TYPE_STRING && obj->Package.Elements[1].Type == ACPI_TYPE_STRING && obj->Package.Elements[2].Type == ACPI_TYPE_STRING && @@ -896,20 +924,12 @@ acpi_hp_get_cmi_block(device_t wmi_dev, obj->Package.Elements[4].Type == ACPI_TYPE_INTEGER && obj->Package.Elements[5].Type == ACPI_TYPE_INTEGER && obj->Package.Elements[6].Type == ACPI_TYPE_INTEGER && - obj->Package.Elements[7].Type == ACPI_TYPE_INTEGER && - obj->Package.Elements[8].Type == ACPI_TYPE_STRING && - obj->Package.Elements[9].Type == ACPI_TYPE_STRING && - obj->Package.Elements[10].Type == ACPI_TYPE_STRING && - ((obj->Package.Elements[11].Type == ACPI_TYPE_STRING && - obj->Package.Elements[12].Type == ACPI_TYPE_INTEGER && - obj->Package.Count >= - 13+obj->Package.Elements[12].Integer.Value) || - (obj->Package.Elements[11].Type == ACPI_TYPE_INTEGER && - obj->Package.Count >= - 12+obj->Package.Elements[11].Integer.Value)) - ) { - enumbase = obj->Package.Elements[11].Type == ACPI_TYPE_STRING? - 12:11; + obj->Package.Elements[valuebase].Type == ACPI_TYPE_STRING && + obj->Package.Elements[valuebase+1].Type == ACPI_TYPE_INTEGER && + obj->Package.Count > valuebase + + obj->Package.Elements[valuebase+1].Integer.Value + ) { + enumbase = valuebase + 1; if (detail & ACPI_HP_CMI_DETAIL_PATHS) { strlcat(outbuf, acpi_hp_get_string_from_object( &obj->Package.Elements[2], string_buffer, size), @@ -924,11 +944,10 @@ acpi_hp_get_cmi_block(device_t wmi_dev, outlen += 43; while (strlen(outbuf) < outlen) strlcat(outbuf, " ", outsize); - if (enumbase == 12) - strlcat(outbuf, acpi_hp_get_string_from_object( - &obj->Package.Elements[11], - string_buffer, size), - outsize); + strlcat(outbuf, acpi_hp_get_string_from_object( + &obj->Package.Elements[valuebase], string_buffer, + size), + outsize); outlen += 21; while (strlen(outbuf) < outlen) strlcat(outbuf, " ", outsize); @@ -936,7 +955,7 @@ acpi_hp_get_cmi_block(device_t wmi_dev, if (outbuf[i] == '\\') outbuf[i] = '/'; if (detail & ACPI_HP_CMI_DETAIL_ENUMS) { - for (i = enumbase+1; i < enumbase + 1 + + for (i = enumbase + 1; i < enumbase + 1 + obj->Package.Elements[enumbase].Integer.Value; ++i) { acpi_hp_get_string_from_object( @@ -980,8 +999,8 @@ acpi_hp_get_cmi_block(device_t wmi_dev, */ static __inline int acpi_hp_hex_to_int(const UINT8 *hexin, UINT8 *byteout) { - unsigned int hi; - unsigned int lo; + unsigned int hi; + unsigned int lo; hi = hexin[0]; lo = hexin[1]; @@ -1010,10 +1029,10 @@ static __inline int acpi_hp_hex_to_int(c static void acpi_hp_hex_decode(char* buffer) { - int i; - int length = strlen(buffer); - UINT8 *uin; - UINT8 uout; + int i; + int length = strlen(buffer); + UINT8 *uin; + UINT8 uout; if (((int)length/2)*2 == length || length < 10) return; @@ -1044,8 +1063,8 @@ acpi_hp_hex_decode(char* buffer) static int acpi_hp_hpcmi_open(struct cdev* dev, int flags, int mode, struct thread *td) { - struct acpi_hp_softc *sc; - int ret; + struct acpi_hp_softc *sc; + int ret; if (dev == NULL || dev->si_drv1 == NULL) return (EBADF); @@ -1076,8 +1095,8 @@ acpi_hp_hpcmi_open(struct cdev* dev, int static int acpi_hp_hpcmi_close(struct cdev* dev, int flags, int mode, struct thread *td) { - struct acpi_hp_softc *sc; - int ret; + struct acpi_hp_softc *sc; + int ret; if (dev == NULL || dev->si_drv1 == NULL) return (EBADF); @@ -1106,13 +1125,13 @@ acpi_hp_hpcmi_close(struct cdev* dev, in static int acpi_hp_hpcmi_read(struct cdev *dev, struct uio *buf, int flag) { - struct acpi_hp_softc *sc; - int pos, i, l, ret; - UINT8 instance; - UINT8 maxInstance; - UINT32 sequence; - int linesize = 1025; - char line[linesize]; + struct acpi_hp_softc *sc; + int pos, i, l, ret; + UINT8 instance; + UINT8 maxInstance; + UINT32 sequence; + int linesize = 1025; + char line[linesize]; if (dev == NULL || dev->si_drv1 == NULL) return (EBADF); From owner-svn-src-head@FreeBSD.ORG Fri Jul 3 22:17:37 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A446A106566C; Fri, 3 Jul 2009 22:17:37 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 927A58FC34; Fri, 3 Jul 2009 22:17:37 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63MHbEF090031; Fri, 3 Jul 2009 22:17:37 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63MHbUI090027; Fri, 3 Jul 2009 22:17:37 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <200907032217.n63MHbUI090027@svn.freebsd.org> From: Konstantin Belousov Date: Fri, 3 Jul 2009 22:17:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195329 - head/sys/vm X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 22:17:38 -0000 Author: kib Date: Fri Jul 3 22:17:37 2009 New Revision: 195329 URL: http://svn.freebsd.org/changeset/base/195329 Log: When forking a vm space that has wired map entries, do not forget to charge the objects created by vm_fault_copy_entry. The object charge was set, but reserve not incremented. Reported by: Greg Rivers Reviewed by: alc (previous version) Approved by: re (kensmith) Modified: head/sys/vm/vm_extern.h head/sys/vm/vm_fault.c head/sys/vm/vm_map.c Modified: head/sys/vm/vm_extern.h ============================================================================== --- head/sys/vm/vm_extern.h Fri Jul 3 21:51:44 2009 (r195328) +++ head/sys/vm/vm_extern.h Fri Jul 3 22:17:37 2009 (r195329) @@ -55,7 +55,8 @@ vm_map_t kmem_suballoc(vm_map_t, vm_offs void swapout_procs(int); int useracc(void *, int, int); int vm_fault(vm_map_t, vm_offset_t, vm_prot_t, int); -void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t); +void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t, + vm_ooffset_t *); void vm_fault_unwire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t); int vm_fault_wire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t, boolean_t); int vm_forkproc(struct thread *, struct proc *, struct thread *, struct vmspace *, int); Modified: head/sys/vm/vm_fault.c ============================================================================== --- head/sys/vm/vm_fault.c Fri Jul 3 21:51:44 2009 (r195328) +++ head/sys/vm/vm_fault.c Fri Jul 3 22:17:37 2009 (r195329) @@ -1126,11 +1126,9 @@ vm_fault_unwire(vm_map_t map, vm_offset_ * entry corresponding to a main map entry that is wired down). */ void -vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry) - vm_map_t dst_map; - vm_map_t src_map; - vm_map_entry_t dst_entry; - vm_map_entry_t src_entry; +vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map, + vm_map_entry_t dst_entry, vm_map_entry_t src_entry, + vm_ooffset_t *fork_charge) { vm_object_t backing_object, dst_object, object; vm_object_t src_object; @@ -1161,13 +1159,16 @@ vm_fault_copy_entry(dst_map, src_map, ds #endif VM_OBJECT_LOCK(dst_object); + KASSERT(dst_entry->object.vm_object == NULL, + ("vm_fault_copy_entry: vm_object not NULL")); dst_entry->object.vm_object = dst_object; dst_entry->offset = 0; - if (dst_entry->uip != NULL) { - dst_object->uip = dst_entry->uip; - dst_object->charge = dst_entry->end - dst_entry->start; - dst_entry->uip = NULL; - } + dst_object->uip = curthread->td_ucred->cr_ruidinfo; + uihold(dst_object->uip); + dst_object->charge = dst_entry->end - dst_entry->start; + KASSERT(dst_entry->uip == NULL, + ("vm_fault_copy_entry: leaked swp charge")); + *fork_charge += dst_object->charge; prot = dst_entry->max_protection; /* Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Fri Jul 3 21:51:44 2009 (r195328) +++ head/sys/vm/vm_map.c Fri Jul 3 22:17:37 2009 (r195329) @@ -2909,7 +2909,8 @@ vm_map_copy_entry( * Cause wired pages to be copied into the new map by * simulating faults (the new pages are pageable) */ - vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry); + vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry, + fork_charge); } } @@ -3073,6 +3074,7 @@ vmspace_fork(struct vmspace *vm1, vm_oof MAP_ENTRY_IN_TRANSITION); new_entry->wired_count = 0; new_entry->object.vm_object = NULL; + new_entry->uip = NULL; vm_map_entry_link(new_map, new_map->header.prev, new_entry); vmspace_map_entry_forked(vm1, vm2, new_entry); From owner-svn-src-head@FreeBSD.ORG Sat Jul 4 09:45:24 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D71771065675; Sat, 4 Jul 2009 09:45:24 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out2.smtp.messagingengine.com (out2.smtp.messagingengine.com [66.111.4.26]) by mx1.freebsd.org (Postfix) with ESMTP id A403D8FC34; Sat, 4 Jul 2009 09:45:24 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id DA1A63A4F3A; Sat, 4 Jul 2009 05:45:23 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Sat, 04 Jul 2009 05:45:25 -0400 X-Sasl-enc: GhrvgQg+PdeQ2/3IWcOJxqw1oEPc+24fCQv10CXKzAKE 1246700723 Received: from [192.168.123.18] (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 3BEED290A; Sat, 4 Jul 2009 05:45:23 -0400 (EDT) Message-ID: <4A4F24AF.3080900@incunabulum.net> Date: Sat, 04 Jul 2009 10:45:19 +0100 From: Bruce Simpson User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Ed Schouten References: <200907021824.n62IObWJ051643@svn.freebsd.org> In-Reply-To: <200907021824.n62IObWJ051643@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195295 - in head/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf sparc64/conf sun4v/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 09:45:25 -0000 Ed Schouten wrote: > Author: ed > Date: Thu Jul 2 18:24:37 2009 > New Revision: 195295 > URL: http://svn.freebsd.org/changeset/base/195295 > > Log: > Enable POSIX semaphores on all non-embedded architectures by default. > > More applications (including Firefox) seem to depend on this nowadays, > so not having this enabled by default is a bad idea. > Thank you. I didn't do this as normally we're pretty conservative about this sort of change, but now they are fixed, it just plain makes sense. I suspect Boost.Interprocess doesn't work on FreeBSD yet -- it needs sem_t's shared between processes. Does anybody have work in progress for this? We are in 8.0 freeze right now and it would be great to be able to sort this out, IF someone has it up their sleeve. This was recently bashed around on -STABLE. cheers BMS From owner-svn-src-head@FreeBSD.ORG Sat Jul 4 11:11:21 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2D81106564A; Sat, 4 Jul 2009 11:11:21 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 966A98FC17; Sat, 4 Jul 2009 11:11:21 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n64BBLss011266; Sat, 4 Jul 2009 11:11:21 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n64BBLH6011263; Sat, 4 Jul 2009 11:11:21 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <200907041111.n64BBLH6011263@svn.freebsd.org> From: Attilio Rao Date: Sat, 4 Jul 2009 11:11:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195339 - head/usr.sbin/tzsetup X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jul 2009 11:11:22 -0000 Author: attilio Date: Sat Jul 4 11:11:21 2009 New Revision: 195339 URL: http://svn.freebsd.org/changeset/base/195339 Log: Add a new options (-s) that, when specified, skips the question about adjusting the clock to UTC. That avoids to write on /etc/wall_cmos_clock which is useful in some cases (example: host user in a jail). Sponsored by: Sandvine Incorporated Initially submitted by: Matt Koivisto Approved by: re (kib) Modified: head/usr.sbin/tzsetup/tzsetup.8 head/usr.sbin/tzsetup/tzsetup.c Modified: head/usr.sbin/tzsetup/tzsetup.8 ============================================================================== --- head/usr.sbin/tzsetup/tzsetup.8 Sat Jul 4 10:15:01 2009 (r195338) +++ head/usr.sbin/tzsetup/tzsetup.8 Sat Jul 4 11:11:21 2009 (r195339) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd January 24, 1996 +.Dd July 4, 2009 .Dt TZSETUP 8 .Os .Sh NAME @@ -31,7 +31,7 @@ .Nd set local timezone .Sh SYNOPSIS .Nm -.Op Fl n +.Op Fl ns .Op Ar default .Sh DESCRIPTION The @@ -51,6 +51,9 @@ The following option is available: .Bl -tag -offset indent -width Fl .It Fl n Do not create or copy files. +.It Fl s +Skip the initial question about adjusting the clock if not set to +.Tn UTC . .El .Pp It is possible to short-circuit the menu system by specifying a Modified: head/usr.sbin/tzsetup/tzsetup.c ============================================================================== --- head/usr.sbin/tzsetup/tzsetup.c Sat Jul 4 10:15:01 2009 (r195338) +++ head/usr.sbin/tzsetup/tzsetup.c Sat Jul 4 11:11:21 2009 (r195339) @@ -652,7 +652,7 @@ static void usage(void) { - fprintf(stderr, "usage: tzsetup [-n]\n"); + fprintf(stderr, "usage: tzsetup [-ns]\n"); exit(1); } @@ -666,14 +666,17 @@ int main(int argc, char **argv) { char title[64], prompt[128]; - int c, fd; + int c, fd, skiputc; - while ((c = getopt(argc, argv, "n")) != -1) { + skiputc = 0; + while ((c = getopt(argc, argv, "ns")) != -1) { switch(c) { case 'n': reallydoit = 0; break; - + case 's': + skiputc = 1; + break; default: usage(); } @@ -690,27 +693,30 @@ main(int argc, char **argv) sort_countries(); make_menus(); - snprintf(title, sizeof(title), - "Select local or UTC (Greenwich Mean Time) clock"); - snprintf(prompt, sizeof(prompt), - "Is this machine's CMOS clock set to UTC? " - "If it is set to local time,\n" - "or you don't know, please choose NO here!"); init_dialog(); - if (!DIALOG_UTC(title, prompt, 7, 72)) { - if (reallydoit) - unlink(_PATH_WALL_CMOS_CLOCK); - } else { - if (reallydoit) { - fd = open(_PATH_WALL_CMOS_CLOCK, - O_WRONLY | O_CREAT | O_TRUNC, - S_IRUSR | S_IRGRP | S_IROTH); - if (fd < 0) - err(1, "create %s", _PATH_WALL_CMOS_CLOCK); - close(fd); + if (skiputc == 0) { + snprintf(title, sizeof(title), + "Select local or UTC (Greenwich Mean Time) clock"); + snprintf(prompt, sizeof(prompt), + "Is this machine's CMOS clock set to UTC? " + "If it is set to local time,\n" + "or you don't know, please choose NO here!"); + if (!DIALOG_UTC(title, prompt, 7, 72)) { + if (reallydoit) + unlink(_PATH_WALL_CMOS_CLOCK); + } else { + if (reallydoit) { + fd = open(_PATH_WALL_CMOS_CLOCK, + O_WRONLY | O_CREAT | O_TRUNC, + S_IRUSR | S_IRGRP | S_IROTH); + if (fd < 0) + err(1, "create %s", + _PATH_WALL_CMOS_CLOCK); + close(fd); + } } + dialog_clear_norefresh(); } - dialog_clear_norefresh(); if (optind == argc - 1) { snprintf(title, sizeof(title), "Default timezone provided"); snprintf(prompt, sizeof(prompt),