Date: Wed, 12 Dec 2007 22:13:46 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 130740 for review Message-ID: <200712122213.lBCMDkVh073772@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=130740 Change 130740 by jb@jb_freebsd1 on 2007/12/12 22:13:35 Another day, another IFC. Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#52 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/articles/Makefile#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/articles/nanobsd/Makefile#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/articles/nanobsd/article.sgml#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/translators.ent#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#17 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#13 integrate .. //depot/projects/dtrace/ports/LEGAL#26 integrate .. //depot/projects/dtrace/ports/MOVED#54 integrate .. //depot/projects/dtrace/src/include/nsswitch.h#5 integrate .. //depot/projects/dtrace/src/lib/Makefile#18 integrate .. //depot/projects/dtrace/src/lib/libc/gen/getgrent.c#7 integrate .. //depot/projects/dtrace/src/lib/libc/gen/getgrouplist.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/locale/localeconv.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/net/nsdispatch.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/string/strtok.3#4 integrate .. //depot/projects/dtrace/src/lib/libc/string/strtok.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/string/wcstok.c#4 integrate .. //depot/projects/dtrace/src/share/man/man5/src.conf.5#12 integrate .. //depot/projects/dtrace/src/share/mk/bsd.own.mk#18 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/machdep.c#23 integrate .. //depot/projects/dtrace/src/sys/conf/files#57 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_cam.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_pci.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amrvar.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/ich.c#9 integrate .. //depot/projects/dtrace/src/sys/i386/i386/machdep.c#22 integrate .. //depot/projects/dtrace/src/sys/net/route.c#10 integrate .. //depot/projects/dtrace/src/sys/net/route.h#4 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_l2tp.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet/if_ether.c#13 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_ofld.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/tcp_ofld.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.h#2 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_var.h#7 integrate .. //depot/projects/dtrace/src/sys/netinet/toedev.h#1 branch .. //depot/projects/dtrace/src/sys/sys/socket.h#8 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_BZIP2#2 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_GNU#3 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_GSSAPI#1 branch .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_KERBEROS#4 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_KVM#2 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_PAM#3 integrate .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_TOOLCHAIN#4 integrate .. //depot/projects/dtrace/src/tools/build/options/WITH_GSSAPI#2 delete .. //depot/projects/dtrace/src/tools/build/options/makeman#9 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#52 (text+ko) ==== @@ -1,4 +1,4 @@ -<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.741 2007/12/04 12:41:22 chinsan Exp $ --> +<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.743 2007/12/12 18:50:26 chinsan Exp $ --> <!-- NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical order by first name. @@ -1191,6 +1191,11 @@ </listitem> <listitem> + <para>BluePex Security Solutions + <email>freebsd-ports@bluepex.com</email></para> + </listitem> + + <listitem> <para>Bob Frazier <email>bobf@mrp3.com</email></para> </listitem> @@ -6057,6 +6062,11 @@ </listitem> <listitem> + <para>Matthias Schmidt + <email>schmidtm@mathematik.uni-marburg.de</email></para> + </listitem> + + <listitem> <para>Matthias Sund <email>m.sund@arcor.de</email></para> </listitem> ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/articles/Makefile#3 (text+ko) ==== @@ -2,7 +2,7 @@ # The FreeBSD Documentation Project # The FreeBSD French Documentation Project # -# $FreeBSD: doc/fr_FR.ISO8859-1/articles/Makefile,v 1.16 2003/08/15 10:21:34 gioria Exp $ +# $FreeBSD: doc/fr_FR.ISO8859-1/articles/Makefile,v 1.17 2007/12/12 18:34:58 blackend Exp $ # Original revision: 1.3 # @@ -24,6 +24,7 @@ SUBDIR+= make-world SUBDIR+= mh SUBDIR+= multi-os +SUBDIR+= nanobsd SUBDIR+= new-users SUBDIR+= ntfs SUBDIR+= pam ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/translators.ent#4 (text+ko) ==== @@ -6,7 +6,7 @@ traduction francaise $Id: translators.ent,v 1.8 2001/11/19 22:24:01 eagle Exp $ - $FreeBSD: doc/fr_FR.ISO8859-1/share/sgml/translators.ent,v 1.9 2007/12/05 12:19:22 blackend Exp $ + $FreeBSD: doc/fr_FR.ISO8859-1/share/sgml/translators.ent,v 1.10 2007/12/12 18:32:54 blackend Exp $ Original revision: N/A --> @@ -42,6 +42,8 @@ <email>blackend@FreeBSD.org</email>"> <!ENTITY a.fr.mathieu "Clément Mathieu <email>cykl@mAdchAt.org</email>"> +<!ENTITY a.fr.tignon "Jean-Loic Tignon + <email>loic@vigilan.net</email>"> @@ -80,4 +82,6 @@ "<para><emphasis>Version française de &a.fr.fonvieille;.</emphasis></para>"> <!ENTITY trans.a.mathieu "<para><emphasis>Version française de &a.fr.mathieu;.</emphasis></para>"> +<!ENTITY trans.a.tignon + "<para><emphasis>Version française de &a.fr.tignon;.</emphasis></para>"> ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#12 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.149 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml,v 1.15 2007/10/23 02:08:21 loader Exp $ + Original Revision: 1.150 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml,v 1.16 2007/12/12 05:30:50 loader Exp $ --> <chapter id="basics"> @@ -264,6 +264,35 @@ 尽管仍然能进入单用户模式, 但如果您不熟悉它就会非常令人头疼。</para> </note> </sect2> + + <sect2 id="consoles-vidcontrol"> + <title>改变控制台的显示模式</title> + + <para>FreeBSD 控制台默认的显示模式可以被调整为 1024x768, 1280x1024, + 或者任何你的显卡芯片和显示器所支持的其他尺寸。 + 要使用一个不同的显示模式, + 你必须首先重新编译内核并包含以下2个选项:</para> + + <programlisting>OPTIONS VESA +OPTIONS SC_PIXEL_MODE</programlisting> + + <para>在内核用这2个选项编译完成后,你就可以使用 &man.vidcontrol.1; + 工具来测定你的硬件支持何种显示模式了。 以 root + 身份在控制台键入以下命令来获得一份所支持的显示模式列表。</para> + + <screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen> + + <para>这个命令的输出是一份你的硬件所支持的显示模式列表。 + 你可以在以 root 身份在控制台上键入以下命令来改变显示模式:</para> + + <screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen> + + <para>如果你对于新的显示模式满意,那么可以把它加入到 + <filename>/etc/rc.conf</filename> 使机器在每次启动的时候都能生效, + 我们使用了上一个例子中的模式:</para> + + <programlisting>allscreens_flags="MODE_279"</programlisting> + </sect2> </sect1> <sect1 id="permissions"> ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#17 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.384 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/install/chapter.sgml,v 1.25 2007/11/20 14:10:29 loader Exp $ + Original Revision: 1.385 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/install/chapter.sgml,v 1.26 2007/12/12 05:30:51 loader Exp $ --> <chapter id="install"> @@ -191,11 +191,11 @@ 的硬件种类实在太过复杂,这个步骤不一定总是能成功。 这时,您就可能需要手动更改有问题的设备的设定值。</para> - <para>如果您已经安装了其它的操作系统,如 &windows; 或 Linux,那么您可以先由 - 这些系统所提供的工具来查看您的设备设定值是怎么分配的。如果您真的没办法 - 确定某些接口卡用什么设定值,那么您可以检查看看,说不定它的设定已经标示 - 在卡上。常用的 IRQ 号号码为 3、5 以及 7;IO 端口的值通常以 16 进制位表示,例如 - Ox330。</para> + <para>如果您已经安装了其它的操作系统,如 &windows; 或 Linux, + 那么您可以先由这些系统所提供的工具来查看您的设备设定值是怎么分配的。 + 如果您真的没办法确定某些接口卡用什么设定值,那么您可以检查看看, + 说不定它的设定已经标示在卡上。常用的 IRQ 号码为 3、5 以及 7; + IO 端口的值通常以 16 进制位表示,例如 Ox330。</para> <para>我们建议您在安装 FreeBSD 之前把这些信息打印或记录下来,做成表格 的样子也许会比较有帮助,例如:</para> @@ -333,12 +333,13 @@ <para>FreeBSD 必须安装在主分区。 FreeBSD 可以在这个分区上面存放系统数据 或是您建立的任何文件。然而,如果您有多个硬盘,您也可以在这些硬盘上(全部 或部分)建立 FreeBSD 分区。在您安装 FreeBSD 的时候,必须要有一个分区可以给 - FreeBSD 使用。这个分区可以是尚未规划的分区或是已经划好,但是里面的数据 - 您都不想保存的分区。</para> + FreeBSD 使用。这个分区可以是尚未规划的分区, + 或是已经存在且存有数据但您不再需要的分区。</para> - <para>如果您已经用完了您硬盘上的所有分区,那么您必须使用其它操作系统所 - 提供的工具(如 DOS 或 &windows; 下的 <command>fdisk</command>)来腾出一个分区 - 给 FreeBSD 使用。</para> + <para>如果您已经用完了您硬盘上的所有分区, + 那么您必须使用其它操作系统所提供的工具 + (如 DOS 或 &windows; 下的 <command>fdisk</command>) + 来腾出一个分区给 FreeBSD 使用。</para> <para>如果您的某个分区有多余的空间,您可以使用它。但是使用前您需要先整理 一下这些分区。</para> @@ -355,7 +356,7 @@ <application>PResizer</application>,它们的文档可以在同一目录中找到。<application>FIPS</application>、 <application>PResizer</application>,和 <application>&partitionmagic;</application> 能够改变 <acronym>FAT16</acronym> 以及 <acronym>FAT32</acronym> 分区的大小 — - 它们可以在 &ms-dos; 以及 &windows; ME 系统中使用。 这些工具的说明文件可以在同一个目录下面找到 + 它们可以在 &ms-dos; 以及 &windows; ME 系统中使用。 这些工具的说明文件可以在同一个目录下面找到。 <application>&partitionmagic;</application> 和 <application>GParted</application> 都能改变 <acronym>NTFS</acronym> 分区的尺寸。 <application>GParted</application> 在许多 Live CD Linux 发行版, 如 @@ -363,7 +364,7 @@ <para>目前已经有报告显示改变 µsoft; Vista 分区尺寸时会出现问题。 在进行此类操作时, 建议您准备一张 Vista 安装 CDROM。 - 此外, 与其他磁盘维护操作类我我, 强烈建议您事先进行备份。</para> + 如同其他的磁盘维护操作一样, 强烈建议您事先进行备份。</para> <warning> <para>不当的使用这些工具可能会删掉您硬盘上的数据资料!在使用这些工具前 @@ -399,8 +400,8 @@ </listitem> <listitem> - <para>使用上面提及的 <application>&partitionmagic;</application> 来整理 - 或切割您的分区。</para> + <para>使用上面提及的 <application>&partitionmagic;</application> + 来整理或切割您的分区。</para> </listitem> </orderedlist> </example> @@ -412,9 +413,10 @@ <indexterm><primary>Alpha</primary></indexterm> - <para>在 Alpha 上,您必须使用一整颗硬盘给 FreeBSD,没有办法在同一个硬盘上跟 - 其它操作系统共存。根据不同的 Alpha 机器,您的硬盘可以是 SCSI 或 IDE 硬盘,只要 - 您的机器可以从这些硬盘开机就可以。</para> + <para>在 Alpha 上,您必须使用一整颗硬盘给 FreeBSD, + 没有办法在同一个硬盘上跟其它操作系统共存。 + 根据不同的 Alpha 机器,您的硬盘可以是 SCSI 或 IDE 硬盘, + 只要您的机器可以从这些硬盘开机就可以。</para> <para>按照 Digital/Compaq 使用手册书写的惯例,所有 SRM 输入的部分都用大写 表示。注意,SRM 大小写有别。</para> @@ -629,11 +631,13 @@ <step> <title>准备软盘</title> - <para>您必须为您下载的每一个映像文件准备一张软盘。并且请避免使用到坏掉的 - 软盘。最简单的方式就是您先将这些软盘格式化,不要相信所谓的已格式化的软 - 盘。在 &windows; 下的格式化程序不会告诉您出现多少坏块,它只是简单的标记它 - 们为 <quote>bad</quote> 并且忽略它们。根据建议您应该使用全新的软盘来存放 - 安装程序。</para> + <para>您必须为您下载的每一个映像文件准备一张软盘。 + 并且请避免使用到坏掉的软盘。 + 最简单的方式就是您先将这些软盘格式化, + 不要相信所谓的已格式化的软盘。在 &windows; + 下的格式化程序不会告诉您出现多少坏块, + 它只是简单的标记它们为 <quote>bad</quote> 并且忽略它们。 + 根据建议您应该使用全新的软盘来存放安装程序。</para> <important> <para>如果您在安装 FreeBSD 的过程中造成当机、冻结或是其它怪异现象,第一个 @@ -3560,8 +3564,22 @@ <guimenuitem>System Tools</guimenuitem> 菜单的 <application>Compression Agent</application> 来完成。</para> - <para>&os;可以支持基于 &ms-dos; 的文件系统 (FAT16 和 FAT32)。 - 这要求您使用带参数的 &man.mount.8; 命令。 最常使用的是:</para> + <para>&os; 可以支持基于 &ms-dos; 的文件系统 (有时被称为 FAT + 文件系统)。 &man.mount.msdosfs.8; + 命令能够把这样的文件系统挂接到现有的目录结构中, + 并允许访问 FAT 文件系统上的内容。 通常我们并不直接使用 + &man.mount.msdosfs.8;,它一般会在 <filename>/etc/fstab</filename> + 中的某一行被调用或者被 &man.mount.8; 工具并配合适当的参数来调用。 + + <para><filename>/etc/fstab</filename>中一个典型的例子:</para> + + <programlisting>/dev/ad0sN /dos msdosfs rw 0 0</programlisting> + + <note><para><filename>/dos</filename> 目录必须事先存在。 + 更多关于 <filename>/etc/fstab</filename> 的细节, + 请参阅 &man.fstab.5;。</para></note> + + <para>一个使用 &man.mount.8; 挂载 &ms-dos; 文件系统的例子:</para> <screen>&prompt.root; <userinput>mount -t msdosfs /dev/ad0s1 /mnt</userinput></screen> @@ -3569,11 +3587,11 @@ 查看命令 <command>dmesg</command>和 <command>mount</command> 的输出。它们应该 可以让您得到足够的分区信息。</para> - <note><para> &ms-dos; 的扩展分区会被映射在 &os;分区的末尾。换句话说,分区号要大于 - &os; 正在使用的分区号。例如,第一个 &ms-dos; 分区可能位于 - <filename>/dev/ad0s1</filename>,&os; 分区可能位于 - <filename>/dev/ad0s2</filename>,跟着是 &ms-dos; 的扩展分区位于 - <filename>/dev/ad0s3</filename>。这可能会使您感觉迷茫。</para></note> + <note><para>&os; 可能使用和其他操作系统不同计数方法来标记磁盘 slices, + 特别需要指出的是, &ms-dos; + 的扩展分区通常会比 &ms-dos; 主分区被标记为更高的数值。 + 可以使用 &man.fdisk.8; 工具来帮助测定哪些 slices 属于 &os; + 哪些是属于其他的操作系统。</para></note> <para>NTFS 分区也可以通过类似 &man.mount.ntfs.8; 命令挂接在FreeBSD上。</para> </sect2> ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#12 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.441 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml,v 1.18 2007/11/20 14:10:30 loader Exp $ + Original Revision: 1.442 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml,v 1.19 2007/12/12 05:30:51 loader Exp $ --> <appendix id="mirrors"> @@ -1190,8 +1190,10 @@ doc/el_* doc/es_* doc/fr_* +doc/hu_* doc/it_* doc/ja_* +doc/mn_* doc/nl_* doc/no_* doc/pl_* ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#13 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Simplified Chinese Project Original Revision: 1.184 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml,v 1.20 2007/08/09 15:40:40 loader Exp $ + $FreeBSD: doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml,v 1.21 2007/12/12 05:30:51 loader Exp $ --> <chapter id="x11"> @@ -459,7 +459,7 @@ <filename>Xorg.8.log</filename> 等等。</para> </note> - <para>如果一切准备停当, 就可以把配置文件放到公共的目录中了。 + <para>如果一切准备妥当, 就可以把配置文件放到公共的目录中了。 您可以在 &man.Xorg.1; 里面找到具体位置。 这个位置通常是 <filename>/etc/X11/xorg.conf</filename> 或 <filename>/usr/local/etc/X11/xorg.conf</filename>。</para> ==== //depot/projects/dtrace/ports/LEGAL#26 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.557 2007/10/26 21:07:02 jkim Exp $ +# $FreeBSD: ports/LEGAL,v 1.558 2007/12/12 11:34:22 garga Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -477,8 +477,6 @@ distribution coming with the TV card qkmj95p5-freebsd games/qkmj Do not sell for profit -qmail* mail/qmail-* Restricted binary distribution - of modified versions qtools-* mail/qtools Possibly restricted binary distribution of modified versions ==== //depot/projects/dtrace/ports/MOVED#54 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1517 2007/12/11 21:47:57 lioux Exp $ +# $FreeBSD: ports/MOVED,v 1.1519 2007/12/12 17:42:10 linimon Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3335,3 +3335,10 @@ x11-themes/kde-icons-gorilla_svg||2007-12-11|Unfetchable x11-themes/kde-icons-kids||2007-12-11|Unfetchable x11-themes/kde-icons-outline||2007-12-11|Unfetchable +java/jdk11|java/jdk16|2007-12-11|Obsolete version| +java/jdk12|java/jdk16|2007-12-11|Obsolete version| +java/jfc||2007-12-11|For obsolete version of jdk| +java/jre||2007-12-11|For obsolete version of jdk| +java/linux-blackdown-jdk12|java/linux-blackdown-jdk14|2007-12-11|Obsolete version| +java/linux-sun-jdk12|java/linux-sun-jdk16|2007-12-11|Obsolete version| +x11-wm/ion-3||2007-12-12|Removed by insistence of software author| ==== //depot/projects/dtrace/src/include/nsswitch.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: nsswitch.h,v 1.6 1999/01/26 01:04:07 lukem Exp $ */ -/* $FreeBSD: src/include/nsswitch.h,v 1.4 2006/04/28 12:03:34 ume Exp $ */ +/* $FreeBSD: src/include/nsswitch.h,v 1.5 2007/12/12 10:08:02 bushman Exp $ */ /*- * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. @@ -68,7 +68,8 @@ #define NSSRC_DNS "dns" /* DNS; IN for hosts, HS for others */ #define NSSRC_NIS "nis" /* YP/NIS */ #define NSSRC_COMPAT "compat" /* passwd,group in YP compat mode */ -#define NSSRC_CACHE "cache" /* cache daemon */ +#define NSSRC_CACHE "cache" /* nscd daemon */ +#define NSSRC_FALLBACK "__fallback" /* internal fallback source */ /* * currently implemented databases @@ -132,6 +133,7 @@ */ #define NS_FILES_CB(F,C) { NSSRC_FILES, F, C }, #define NS_COMPAT_CB(F,C) { NSSRC_COMPAT, F, C }, +#define NS_FALLBACK_CB(F) { NSSRC_FALLBACK, F, NULL }, #ifdef HESIOD # define NS_DNS_CB(F,C) { NSSRC_DNS, F, C }, ==== //depot/projects/dtrace/src/lib/Makefile#18 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.227 2007/12/10 19:09:24 dougb Exp $ +# $FreeBSD: src/lib/Makefile,v 1.228 2007/12/12 16:39:31 ru Exp $ .include <bsd.own.mk> @@ -62,12 +62,8 @@ _libsdp= libsdp .endif -.if ${MK_KERBEROS} != "no" +.if ${MK_GSSAPI} != "no" _libgssapi= libgssapi -.else -.if ${MK_GSSAPI} == "yes" -_libgssapi= libgssapi -.endif .endif .if ${MK_IPX} != "no" ==== //depot/projects/dtrace/src/lib/libc/gen/getgrent.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ * */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.36 2006/09/18 09:34:48 maxim Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.37 2007/12/12 10:08:02 bushman Exp $"); #include "namespace.h" #include <sys/param.h> @@ -40,6 +40,7 @@ #include <rpcsvc/yp_prot.h> #include <rpcsvc/ypclnt.h> #endif +#include <assert.h> #include <ctype.h> #include <errno.h> #ifdef HESIOD @@ -143,6 +144,9 @@ static int compat_setgrent(void *, void *, va_list); static int compat_group(void *, void *, va_list); +static int gr_addgid(gid_t, gid_t *, int, int *); +static int getgroupmembership_fallback(void *, void *, va_list); + #ifdef NS_CACHING static int grp_id_func(char *, size_t *, va_list, void *); static int grp_marshal_func(char *, size_t *, void *, va_list, void *); @@ -361,89 +365,195 @@ NSS_MP_CACHE_HANDLING(group); #endif /* NS_CACHING */ - -/* XXX IEEE Std 1003.1, 2003 specifies `void setgrent(void)' */ -int -setgrent(void) -{ #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); +static const nss_cache_info setgrent_cache_info = NS_MP_CACHE_INFO_INITIALIZER( + group, (void *)nss_lt_all, + NULL, NULL); #endif - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setgrent, (void *)SETGRENT }, +static const ns_dtab setgrent_dtab[] = { + { NSSRC_FILES, files_setgrent, (void *)SETGRENT }, #ifdef HESIOD - { NSSRC_DNS, dns_setgrent, (void *)SETGRENT }, + { NSSRC_DNS, dns_setgrent, (void *)SETGRENT }, #endif #ifdef YP - { NSSRC_NIS, nis_setgrent, (void *)SETGRENT }, + { NSSRC_NIS, nis_setgrent, (void *)SETGRENT }, #endif - { NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT }, + { NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT }, #ifdef NS_CACHING - NS_CACHE_CB(&cache_info) + NS_CACHE_CB(&setgrent_cache_info) #endif - { NULL, NULL, NULL } - }; - (void)_nsdispatch(NULL, dtab, NSDB_GROUP, "setgrent", defaultsrc, 0); - return (1); -} - + { NULL, NULL, NULL } +}; -int -setgroupent(int stayopen) -{ #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); +static const nss_cache_info endgrent_cache_info = NS_MP_CACHE_INFO_INITIALIZER( + group, (void *)nss_lt_all, + NULL, NULL); #endif - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setgrent, (void *)SETGRENT }, +static const ns_dtab endgrent_dtab[] = { + { NSSRC_FILES, files_setgrent, (void *)ENDGRENT }, #ifdef HESIOD - { NSSRC_DNS, dns_setgrent, (void *)SETGRENT }, + { NSSRC_DNS, dns_setgrent, (void *)ENDGRENT }, #endif #ifdef YP - { NSSRC_NIS, nis_setgrent, (void *)SETGRENT }, + { NSSRC_NIS, nis_setgrent, (void *)ENDGRENT }, #endif - { NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT }, + { NSSRC_COMPAT, compat_setgrent, (void *)ENDGRENT }, #ifdef NS_CACHING - NS_CACHE_CB(&cache_info) + NS_CACHE_CB(&endgrent_cache_info) #endif - { NULL, NULL, NULL } - }; - (void)_nsdispatch(NULL, dtab, NSDB_GROUP, "setgrent", defaultsrc, - stayopen); - return (1); -} - + { NULL, NULL, NULL } +}; -void -endgrent(void) -{ #ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - NULL, NULL); +static const nss_cache_info getgrent_r_cache_info = NS_MP_CACHE_INFO_INITIALIZER( + group, (void *)nss_lt_all, + grp_marshal_func, grp_unmarshal_func); #endif - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setgrent, (void *)ENDGRENT }, +static const ns_dtab getgrent_r_dtab[] = { + { NSSRC_FILES, files_group, (void *)nss_lt_all }, #ifdef HESIOD - { NSSRC_DNS, dns_setgrent, (void *)ENDGRENT }, + { NSSRC_DNS, dns_group, (void *)nss_lt_all }, #endif #ifdef YP - { NSSRC_NIS, nis_setgrent, (void *)ENDGRENT }, + { NSSRC_NIS, nis_group, (void *)nss_lt_all }, #endif - { NSSRC_COMPAT, compat_setgrent, (void *)ENDGRENT }, + { NSSRC_COMPAT, compat_group, (void *)nss_lt_all }, #ifdef NS_CACHING - NS_CACHE_CB(&cache_info) + NS_CACHE_CB(&getgrent_r_cache_info) #endif - { NULL, NULL, NULL } + { NULL, NULL, NULL } +}; + +static int +gr_addgid(gid_t gid, gid_t *groups, int maxgrp, int *grpcnt) +{ + int ret, dupc; + + for (dupc = 0; dupc < MIN(maxgrp, *grpcnt); dupc++) { + if (groups[dupc] == gid) + return 1; + } + + ret = 1; + if (*grpcnt < maxgrp) + groups[*grpcnt] = gid; + else + ret = 0; + + (*grpcnt)++; + + return ret; +} + +static int +getgroupmembership_fallback(void *retval, void *mdata, va_list ap) +{ + const ns_src src[] = { + { mdata, NS_SUCCESS }, + { NULL, 0} }; - (void)_nsdispatch(NULL, dtab, NSDB_GROUP, "endgrent", defaultsrc); + struct group grp; + struct group *grp_p; + char *buf; + size_t bufsize; + const char *uname; + gid_t *groups; + gid_t agroup; + int maxgrp, *grpcnt; + int i, rv, ret_errno; + + /* + * As this is a fallback method, only provided src + * list will be respected during methods search. + */ + assert(src[0].name != NULL); + + uname = va_arg(ap, const char *); + agroup = va_arg(ap, gid_t); + groups = va_arg(ap, gid_t *); + maxgrp = va_arg(ap, int); + grpcnt = va_arg(ap, int *); + + rv = NS_UNAVAIL; + + buf = malloc(GRP_STORAGE_INITIAL); + if (buf == NULL) + goto out; + + bufsize = GRP_STORAGE_INITIAL; + + gr_addgid(agroup, groups, maxgrp, grpcnt); + + _nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", src, 0); + for (;;) { + do { + ret_errno = 0; + grp_p = NULL; + rv = _nsdispatch(&grp_p, getgrent_r_dtab, NSDB_GROUP, + "getgrent_r", src, &grp, buf, bufsize, &ret_errno); + + if (grp_p == NULL && ret_errno == ERANGE) { + free(buf); + if ((bufsize << 1) > GRP_STORAGE_MAX) { + buf = NULL; + errno = ERANGE; + goto out; + } + + bufsize <<= 1; + buf = malloc(bufsize); + if (buf == NULL) { + goto out; + } + } + } while (grp_p == NULL && ret_errno == ERANGE); + + if (ret_errno != 0) { + errno = ret_errno; + goto out; + } + + if (grp_p == NULL) + break; + + for (i = 0; grp.gr_mem[i]; i++) { + if (strcmp(grp.gr_mem[i], uname) == 0) + gr_addgid(grp.gr_gid, groups, maxgrp, grpcnt); + } + } + + _nsdispatch(NULL, endgrent_dtab, NSDB_GROUP, "endgrent", src); +out: + free(buf); + return (rv); +} + +/* XXX IEEE Std 1003.1, 2003 specifies `void setgrent(void)' */ +int +setgrent(void) +{ + (void)_nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", defaultsrc, 0); + return (1); +} + + +int +setgroupent(int stayopen) +{ + (void)_nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", defaultsrc, + stayopen); + return (1); +} + + +void +endgrent(void) +{ + (void)_nsdispatch(NULL, endgrent_dtab, NSDB_GROUP, "endgrent", defaultsrc); } @@ -451,31 +561,11 @@ getgrent_r(struct group *grp, char *buffer, size_t bufsize, struct group **result) { -#ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - group, (void *)nss_lt_all, - grp_marshal_func, grp_unmarshal_func); -#endif - - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_group, (void *)nss_lt_all }, -#ifdef HESIOD - { NSSRC_DNS, dns_group, (void *)nss_lt_all }, -#endif -#ifdef YP - { NSSRC_NIS, nis_group, (void *)nss_lt_all }, -#endif - { NSSRC_COMPAT, compat_group, (void *)nss_lt_all }, -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { NULL, NULL, NULL } - }; int rv, ret_errno; ret_errno = 0; *result = NULL; - rv = _nsdispatch(result, dtab, NSDB_GROUP, "getgrent_r", defaultsrc, + rv = _nsdispatch(result, getgrent_r_dtab, NSDB_GROUP, "getgrent_r", defaultsrc, grp, buffer, bufsize, &ret_errno); if (rv == NS_SUCCESS) return (0); @@ -560,6 +650,30 @@ } + +int +__getgroupmembership(const char *uname, gid_t agroup, gid_t *groups, + int maxgrp, int *grpcnt) +{ + static const ns_dtab dtab[] = { + NS_FALLBACK_CB(getgroupmembership_fallback) + { NULL, NULL, NULL } + }; + int rv; + + assert(uname != NULL); + /* groups may be NULL if just sizing when invoked with maxgrp = 0 */ + assert(grpcnt != NULL); + + *grpcnt = 0; + rv = _nsdispatch(NULL, dtab, NSDB_GROUP, "getgroupmembership", + defaultsrc, uname, agroup, groups, maxgrp, grpcnt); + + /* too many groups found? */ + return (*grpcnt > maxgrp ? -1 : 0); +} + + static struct group grp; static char *grp_storage; static size_t grp_storage_size; @@ -1436,3 +1550,5 @@ return (NS_RETURN); } } + + ==== //depot/projects/dtrace/src/lib/libc/gen/getgrouplist.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)getgrouplist.c 8.2 (Berkeley) 12/8/94"; #endif /* LIBC_SCCS and not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/gen/getgrouplist.c,v 1.15 2007/01/09 00:27:53 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getgrouplist.c,v 1.16 2007/12/12 10:08:02 bushman Exp $"); /* * get credential @@ -42,46 +42,11 @@ #include <string.h> #include <unistd.h> +extern int __getgroupmembership(const char *, gid_t, gid_t *, int, int *); + int getgrouplist(const char *uname, gid_t agroup, gid_t *groups, int *grpcnt) { - const struct group *grp; - int i, maxgroups, ngroups, ret; + return __getgroupmembership(uname, agroup, groups, *grpcnt, grpcnt); +} - ret = 0; - ngroups = 0; - maxgroups = *grpcnt; - /* - * When installing primary group, duplicate it; - * the first element of groups is the effective gid - * and will be overwritten when a setgid file is executed. - */ - groups[ngroups++] = agroup; - if (maxgroups > 1) - groups[ngroups++] = agroup; - /* - * Scan the group file to find additional groups. - */ - setgrent(); - while ((grp = getgrent()) != NULL) { - for (i = 0; i < ngroups; i++) { - if (grp->gr_gid == groups[i]) - goto skip; - } - for (i = 0; grp->gr_mem[i]; i++) { - if (!strcmp(grp->gr_mem[i], uname)) { - if (ngroups >= maxgroups) { - ret = -1; - break; - } - groups[ngroups++] = grp->gr_gid; - break; - } - } -skip: - ; - } - endgrent(); - *grpcnt = ngroups; - return (ret); -} ==== //depot/projects/dtrace/src/lib/libc/locale/localeconv.c#4 (text+ko) ==== @@ -11,10 +11,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -36,7 +32,7 @@ static char sccsid[] = "@(#)localeconv.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/locale/localeconv.c,v 1.13 2003/06/26 10:46:16 phantom Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/localeconv.c,v 1.14 2007/12/12 07:43:23 phantom Exp $"); #include <locale.h> ==== //depot/projects/dtrace/src/lib/libc/net/nsdispatch.c#6 (text+ko) ==== @@ -68,7 +68,7 @@ * */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.14 2007/05/17 03:33:23 jon Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/nsdispatch.c,v 1.15 2007/12/12 10:08:03 bushman Exp $"); #include "namespace.h" #include <sys/param.h> @@ -136,6 +136,15 @@ #endif /* + * When this is set to 1, nsdispatch won't use nsswitch.conf + * but will consult the 'defaults' source list only. + * NOTE: nested fallbacks (when nsdispatch calls fallback functions, + * which in turn calls nsdispatch, which should call fallback + * function) are not supported + */ +static int fallback_dispatch = 0; + +/* * Attempt to spew relatively uniform messages to syslog. */ #define nss_log(level, fmt, ...) \ @@ -600,7 +609,7 @@ va_list ap; const ns_dbt *dbt; const ns_src *srclist; - nss_method method; + nss_method method, fb_method; void *mdata; int isthreaded, serrno, i, result, srclistsize; @@ -609,6 +618,9 @@ nss_cache_data *cache_data_p; int cache_flag; #endif + + dbt = NULL; + fb_method = NULL; isthreaded = __isthreaded; serrno = errno; @@ -624,8 +636,13 @@ result = NS_UNAVAIL; goto fin; } - dbt = vector_search(&database, _nsmap, _nsmapsize, sizeof(*_nsmap), - string_compare); + if (fallback_dispatch == 0) { + dbt = vector_search(&database, _nsmap, _nsmapsize, sizeof(*_nsmap), + string_compare); + fb_method = nss_method_lookup(NSSRC_FALLBACK, database, + method_name, disp_tab, &mdata); + } + if (dbt != NULL) { srclist = dbt->srclist; srclistsize = dbt->srclistsize; @@ -684,6 +701,12 @@ if (result & (srclist[i].flags)) break; + } else if (fb_method != NULL) { + fallback_dispatch = 1; + va_start(ap, defaults); + result = fb_method(retval, (void *)srclist[i].name, ap); + va_end(ap); + fallback_dispatch = 0; } } ==== //depot/projects/dtrace/src/lib/libc/string/strtok.3#4 (text+ko) ==== @@ -22,12 +22,6 @@ .\" disclaimer in the documentation and/or other materials provided .\" with the distribution. >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712122213.lBCMDkVh073772>