OSDN Git Service

[lfsja-git] r11.3-140 対応。
authormatsuand <30614168+matsuand@users.noreply.github.com>
Wed, 5 Jul 2023 12:15:06 +0000 (21:15 +0900)
committermatsuand <30614168+matsuand@users.noreply.github.com>
Wed, 5 Jul 2023 12:15:06 +0000 (21:15 +0900)
14 files changed:
configure
src/appendices/dependencies.ch
src/chapter01/changelog.ch
src/chapter01/jchangelog.ch
src/chapter03/packages.ch
src/chapter06/gcc-pass2.ch
src/chapter08/Makefile.am
src/chapter08/Makefile.in
src/chapter08/glibc.ch
src/chapter08/libxcrypt.ch [new file with mode: 0644]
src/chapter08/shadow.ch
src/general.ch
src/prologue/why.ch
version.ac

index 1997a7e..2abbea3 100755 (executable)
--- a/configure
+++ b/configure
@@ -4737,7 +4737,7 @@ fi
 
 
 
-TARGETVER=r11.3-121
+TARGETVER=r11.3-140
 if test "x$revspec" = "xsystemd"; then
   TARGETVER="$TARGETVER-systemd"
 fi
index 2785f85..48e1a05 100644 (file)
 %----------------------------------------------------------------------
 @x Gcc
           <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
-          Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed,
-          Tar, Texinfo, and Zstd</seg>
+          Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch,
+          Perl, Sed, Tar, Texinfo, and Zstd</seg>
 @y
           <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
-          Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed,
-          Tar, Texinfo, Zstd</seg>
+          Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch,
+          Perl, Sed, Tar, Texinfo, Zstd</seg>
 @z
 @x
           <seg>Bash, Binutils, Glibc, Mpc, and Python</seg>
 @z
 
 %----------------------------------------------------------------------
+@x
+<!-- Begin Libxcrypt dependency info -->
+@y
+<!-- Begin Libxcrypt dependency info -->
+@z
+@x
+          <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
+          Make, Perl, and Sed</seg>
+@y
+          <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
+          Make, Perl, Sed</seg>
+@z
+@x
+          <seg>Glibc</seg>
+@y
+          <seg>Glibc</seg>
+@z
+@x
+          <seg>None</seg>
+@y
+          <seg>なし</seg>
+@z
+@x
+          <seg>GCC, Perl, Python,
+          <phrase revision='sysv'>and </phrase>Shadow<phrase
+          revision='systemd'>, and Systemd</phrase></seg>
+@y
+          <seg>GCC, Perl, Python,
+          Shadow<phrase revision='systemd'>, Systemd</phrase></seg>
+@z
+@x
+          <seg>None</seg>
+@y
+          <seg>なし</seg>
+@z
+
+%----------------------------------------------------------------------
 @x Linux
           <seg>Bash, Bc, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc,
           Grep, Gzip, Kmod, Libelf, Make, Ncurses, OpenSSL, Perl, and Sed</seg>
 %----------------------------------------------------------------------
 @x Perl
           <seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
-          Make, Sed, and Zlib</seg>
+          Libxcrypt, Make, Sed, and Zlib</seg>
 @y
           <seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
-          Make, Sed, Zlib</seg>
+          Libxcrypt, Make, Sed, Zlib</seg>
 @z
 @x
-          <seg>GDBM and Glibc</seg>
+          <seg>GDBM, Glibc, and Libxcrypt</seg>
 @y
-          <seg>GDBM, Glibc</seg>
+          <seg>GDBM, Glibc, Libxcrypt</seg>
 @z
 @x
           <seg>Iana-Etc, Less. and Procps-ng</seg>
 @z
 @x
           <seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
-          Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
+          Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
           Util-linux</seg>
 @y
           <seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
-          Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed,
+          Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed,
           Util-linux</seg>
 @z
 @x
-          <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Ncurses, OpenSSL, and
-          Zlib</seg>
+          <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses,
+          OpenSSL, and Zlib</seg>
 @y
-          <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Ncurses, OpenSSL,
-          Zlib</seg>
+          <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses,
+          OpenSSL, Zlib</seg>
 @z
 @x
           <seg>GDB and Valgrind</seg>
 %----------------------------------------------------------------------
 @x Shadow
           <seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
-          GCC, Gettext, Glibc, Grep, Libcap, Make, and Sed</seg>
+          GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, and Sed</seg>
 @y
           <seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
-          GCC, Gettext, Glibc, Grep, Libcap, Make, Sed</seg>
+          GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, Sed</seg>
 @z
 @x
-          <seg>Glibc</seg>
+          <seg>Glibc and Libxcrypt</seg>
 @y
-          <seg>Glibc</seg>
+          <seg>Glibc, Libxcrypt</seg>
 @z
 @x
           <seg>No test suite available</seg>
 %----------------------------------------------------------------------
 @x Systemd
          <seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
-         GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed,
-         Util-linux, and Zstd</seg>
+         GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
+         Pkgconf, Sed, Util-linux, and Zstd</seg>
 @y
          <seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
-         GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed,
-         Util-linux, Zstd</seg>
+         GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
+         Pkgconf, Sed, Util-linux, Zstd</seg>
 @z
 @x
-          <seg>Acl, Attr, Glibc, Libcap, and Util-linux</seg>
+          <seg>Acl, Attr, Glibc, Libcap, Libxcrypt, and Util-linux</seg>
 @y
-          <seg>Acl, Attr, Glibc, Libcap, Util-linux</seg>
+          <seg>Acl, Attr, Glibc, Libcap, Libxcrypt, Util-linux</seg>
 @z
 @x
           <seg>None</seg>
index e9d0fd5..0a33100 100644 (file)
 @z
 
 @x
+      <para>2023-07-02</para>
+      <itemizedlist>
+        <listitem>
+          <para>[xry111] - Add libxcrypt-4.4.35.  Fixes
+          <ulink url='&lfs-ticket-root;5280'>#5280</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[xry111] - Update to iproute2-6.4.0.  Fixes
+          <ulink url='&lfs-ticket-root;5277'>#5277</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[xry111] - Update to linux-6.4.1.  Fixes
+          <ulink url='&lfs-ticket-root;5276'>#5276</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+@y
+      <para>2023-07-02</para>
+      <itemizedlist>
+        <listitem>
+          <para>[xry111] - libxcrypt-4.4.35 追加。
+          <ulink url='&lfs-ticket-root;5280'>#5280</ulink> を Fix に。</para>
+        </listitem>
+        <listitem>
+          <para>[xry111] - iproute2-6.4.0 へのアップデート。
+          <ulink url='&lfs-ticket-root;5277'>#5277</ulink> を Fix に。</para>
+        </listitem>
+        <listitem>
+          <para>[xry111] - linux-6.4.1 へのアップデート。
+          <ulink url='&lfs-ticket-root;5276'>#5276</ulink> を Fix に。</para>
+        </listitem>
+      </itemizedlist>
+@z
+
+@x
       <para>2023-07-01</para>
       <itemizedlist>
         <listitem>
index 3f8fefc..8945c51 100644 (file)
 
 -->
    <listitem>
+      <para>2023-07-05</para>
+      <itemizedlist>
+        <listitem>
+          <para>[matsuand] -
+          r11.3-140 (<ulink url="&lfs-changeset;b551c5d60">b551c5d60</ulink>) までの対応。
+          </para>
+        </listitem>
+      </itemizedlist>
+   </listitem>
+
+   <listitem>
       <para>2023-07-01</para>
       <itemizedlist>
         <listitem>
index 4e866a6..8e84dc6 100644 (file)
         <para>&Download;: <ulink url="&libtool-url;"/></para>
 @z
 
+@x libxcrypt
+        <para>Home page: <ulink url="&libxcrypt-home;"/></para>
+        <para>Download: <ulink url="&libxcrypt-url;"/></para>
+@y
+        <para>&Homepage;: <ulink url="&libxcrypt-home;"/></para>
+        <para>&Download;: <ulink url="&libxcrypt-url;"/></para>
+@z
+
 @x linux
         <para>Home page: <ulink url="&linux-home;"/></para>
         <para>Download: <ulink url="&linux-url;"/></para>
index da0dbc4..eb66474 100644 (file)
           </para>
 @z
 
+@x --disable-libsanitizer
+          <para>Disable GCC sanitizer runtime libraries.  They are not
+          needed for the temporary installation.  This switch is necessary
+          to build GCC without
+          <systemitem class='library'>libcrypt</systemitem> installed for
+          the target.  In <xref linkend='ch-tools-gcc-pass1'/> it was
+          implied by <parameter>--disable-libstdcxx</parameter>, but now we
+          have to explicitly pass it.</para>
+@y
+          <para>
+          GCC のサニタイザーランタイムライブラリを無効にします。
+          これはここでの一時的インストールにおいては不要です。
+          本スイッチは、インストールターゲットにおいて <systemitem
+          class='library'>libcrypt</systemitem> がインストールされていない状況で GCC をビルドする場合に必要となります。
+          <xref linkend='ch-tools-gcc-pass1'/> においては、<parameter>--disable-libstdcxx</parameter> によって暗にそれを行っていましたが、ここではそれを明示的に行う必要があります。
+          </para>
+@z
+
 @x
     <para>Compile the package:</para>
 @y
index 66c055b..e218c71 100644 (file)
@@ -53,6 +53,7 @@ CHANGE_FILES = \
        libffi.ch         \
        libpipeline.ch    \
        libtool.ch        \
+       libxcrypt.ch      \
        m4.ch             \
        make.ch           \
        man-db.ch         \
index ad95c59..7c8c32f 100644 (file)
@@ -286,6 +286,7 @@ CHANGE_FILES = \
        libffi.ch         \
        libpipeline.ch    \
        libtool.ch        \
+       libxcrypt.ch      \
        m4.ch             \
        make.ch           \
        man-db.ch         \
index 1e84be4..587b965 100644 (file)
         <seg>ld-linux-x86-64.so.2, ld-linux.so.2,
         libBrokenLocale.{a,so}, libanl.{a,so},
         libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
-        libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},
+        libdl.{a,so.2}, libg.a, libm.{a,so},
         libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
         libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
         libpcprofile.so, libpthread.{a,so.0},
         <seg>ld-linux-x86-64.so.2, ld-linux.so.2,
         libBrokenLocale.{a,so}, libanl.{a,so},
         libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
-        libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},
+        libdl.{a,so.2}, libg.a, libm.{a,so},
         libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
         libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
         libpcprofile.so, libpthread.{a,so.0},
           </para>
 @z
 
-@x libcrypt
-          <para>The cryptography library</para>
-@y
-          <para>
-          暗号化ライブラリ。
-          </para>
-@z
-
 @x libdl
           <para>Dummy library containing no functions. Previously was the
           dynamic linking interface library, whose functions are now in
diff --git a/src/chapter08/libxcrypt.ch b/src/chapter08/libxcrypt.ch
new file mode 100644 (file)
index 0000000..30b3ae4
--- /dev/null
@@ -0,0 +1,142 @@
+%
+% This is part of LFSbookja package.
+%
+% This is a CTIE change file for the original XML source of the LFSbook.
+%
+@x
+<?xml version="1.0" encoding="ISO-8859-1"?>
+@y
+<?xml version="1.0" encoding="UTF-8"?>
+@z
+
+@x
+    <para>The Libxcrypt package contains a modern library for one-way
+    hashing of passwords.</para>
+@y
+    <para>
+    Libxcrypt パッケージは、パスワードに対する一方向のハッシュ処理を行う最新ライブラリを提供します。
+    </para>
+@z
+
+@x
+    <title>Installation of Libxcrypt</title>
+@y
+    <title>&InstallationOf1;Libxcrypt&InstallationOf2;</title>
+@z
+
+@x
+    <para>Prepare Libxcrypt for compilation:</para>
+@y
+    <para>&PreparePackage1;Libxcrypt&PreparePackage2;</para>
+@z
+
+@x
+      <title>The meaning of the new configure options:</title>
+@y
+      <title>&MeaningOfOption1;configure&MeaningOfOption2;</title>
+@z
+
+@x --enable-hashes=strong,glibc
+          <para>Build strong hash algorithms recommended for security use
+          cases, and the hash algorithms provided by traditional Glibc
+          <systemitem class='library'>libcrypt</systemitem> for
+          compatibility.</para>
+@y
+          <para>
+          安全なユースケースに対して推奨される強力なハッシュアルゴリズムを用いてビルドを行います。
+          このハッシュアルゴリズムは Glibc による従来の <systemitem
+          class='library'>libcrypt</systemitem> と互換性があります。
+          </para>
+@z
+
+@x --enable-obsolete-api=no
+          <para>Disable obsolete API functions.  They are not needed for
+          a modern Linux system built from source.</para>
+@y
+          <para>
+          古い API 関数を無効にします。
+          最新の Linux システムをソースからビルドする際には不要なものです。
+          </para>
+@z
+
+@x --disable-failure-tokens
+          <para>Disable failure token feature.  It's needed for
+          compatibility with the traditional hash libraries of some
+          platforms, but a Linux system based on Glibc does not need
+          it.</para>
+@y
+          <para>
+          failure token 機能を無効にします。
+          これは、特定プラットフォームにおいて、古くからあるハッシュライブラリとの互換性を保つために必要となります。
+          ただし Glibc ベースの Linux システムでは不要なものです。
+          it.</para>
+@z
+
+@x
+    <para>Compile the package:</para>
+@y
+    <para>&CompileThePackage;</para>
+@z
+
+@x
+    <para>To test the results, issue:</para>
+@y
+    <para>
+    ビルド結果をテストする場合は以下を実行します。
+    </para>
+@z
+
+@x
+    <para>Install the package:</para>
+@y
+    <para>&InstallThePackage;</para>
+@z
+
+@x
+      <para>The instructions above disabled obsolete API functions since
+      no package installed by compiling from sources would link against
+      them at runtime. However, the only known binary-only applications
+      that link against these functions require ABI version 1.  If you must
+      have such functions because of some binary-only application or to be
+      to be compliant with LSB, build the package again with the following
+      commands:</para>
+@y
+      <para>
+      上に示した手順では、古い API 関数を無効にしました。
+      このようにしても、ソースからコンパイルしてインストールしたパッケージ類は、実行時にそのライブラリにリンクされるものは一つもありません。
+      ただし、バイナリでのみ提供されている特定のアプリケーションが、その関数ライブラリへのリンクを行い、そこでは ABI バージョン 1 を必要としています。
+      そういったバイナリのみで提供されているアプリケーションの利用においてその関数を必要とするか、あるいは LSB への準拠を必要とする場合には、以下のコマンドを使って本パッケージをもう一度ビルドしてください。
+      </para>
+@z
+
+@x
+    <title>Contents of Libxcrypt</title>
+@y
+    <title>&ContentsOf1;Libxcrypt&ContentsOf2;</title>
+@z
+
+@x
+      <segtitle>Installed libraries</segtitle>
+@y
+      <segtitle>&InstalledLibrary;</segtitle>
+@z
+
+@x
+        <seg>libcrypt.so</seg>
+@y
+        <seg>libcrypt.so</seg>
+@z
+
+@x
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+@y
+      <bridgehead renderas="sect3">&ShortDescriptions;</bridgehead>
+@z
+
+@x libcrypt
+          <para>Contains functions to hash passwords</para>
+@y
+          <para>
+          パスワードをハッシュする関数を提供します。
+          </para>
+@z
index f15c98f..507ee75 100644 (file)
 
 @x
     <para id="shadow-login_defs">Instead of using the default
-    <emphasis>crypt</emphasis> method, use the more secure
-    <emphasis>SHA-512</emphasis> method of password encryption, which also
-    allows passwords longer than 8 characters. In addition, set the number of
-    rounds to 500,000 instead of the default 5000, which is much too low to
-    prevent brute force password attacks. It is also necessary to change
+    <emphasis>crypt</emphasis> method, use the much more secure
+    <emphasis>YESCRYPT</emphasis> method of password encryption, which also
+    allows passwords longer than 8 characters.
+    It is also necessary to change
     the obsolete <filename class="directory">/var/spool/mail</filename> location
     for user mailboxes that Shadow uses by default to the <filename
     class="directory">/var/mail</filename> location used currently. And,
     <filename class="directory">/usr</filename>.</para>
 @y
     <para id="shadow-login_defs">
-    パスワード暗号化に関して、デフォルトの <emphasis>crypt</emphasis> 手法ではなく、より強力な <emphasis>SHA-512</emphasis> 手法を用いることにします。
+    パスワード暗号化に関して、デフォルトの <emphasis>crypt</emphasis> 手法ではなく、より強力な <emphasis>YESCRYPT</emphasis> 手法を用いることにします。
     こうしておくと 8文字以上のパスワード入力が可能となります。
-    またラウンド数をデフォルトの 5000 から 500,000 に設定します。
-    デフォルトの 5000 では、パスワードの総当り攻撃に対しては小さすぎる設定だからです。
     メールボックスを収めるディレクトリとして Shadow ではデフォルトで <filename
     class="directory">/var/spool/mail</filename> ディレクトリを利用していますが、これは古いものであるため <filename
     class="directory">/var/mail</filename> ディレクトリに変更します。
           </para>
 @z
 
+@x --with-{b,yes}crypt
+          <para>The shell expands this to two switches,
+          <parameter>--with-bcrypt</parameter> and
+          <parameter>--with-yescrypt</parameter>.  They allow shadow to use
+          the Bcrypt and Yescrypt algorithms implemented by
+          <application>Libxcrypt</application> for hashing passwords.
+          These algorithms are more secure (in particular, much more
+          resistant to GPU-based attacks) than the traditional SHA
+          algorithms.</para>
+@y
+          <para>
+          これはシェルによって 2 つのスイッチ、つまり <parameter>--with-bcrypt</parameter> と <parameter>--with-yescrypt</parameter> に展開されます。
+          パスワードのハッシュ処理を行うための Bcrypt および Yescrypt アルゴリズムが <application>Libxcrypt</application> において実装されており、本スイッチは shadow がそれを用いることを指示します。
+          このアルゴリズムは従来の SHA アルゴリズムに比べて、(特に GPU ベースの攻撃への耐性が高く)より安全性を有しています。
+          </para>
+@z
+
 @x --with-group-name-max-length=32
           <para>The longest permissible user name is 32 characters.  Make the maximum
           length of a group name the same.</para>
index 5eb542f..ca16463 100644 (file)
@@ -47,9 +47,9 @@
 <!ENTITY copyrightdate   "%crdate;">
 ]]>
 
-<!ENTITY jversion        "20230701">
-<!ENTITY jversiond       "20230701">
-<!ENTITY jcorrespondSHA  "4cd0193c9"> <!-- lfs-git SHA 値; 本箇所での記載のみ -->
+<!ENTITY jversion        "20230705">
+<!ENTITY jversiond       "20230705">
+<!ENTITY jcorrespondSHA  "b551c5d60"> <!-- lfs-git SHA 値; 本箇所での記載のみ -->
 <!ENTITY dir-jversion    "git-ja">
 <!ENTITY dir-jversiond   "git-sysdja">
 @z
index cda0403..dd1bfdd 100644 (file)
         </para>
 @z
 
+@x Libxcrypt
+        <para>This package provides the
+        <systemitem class='library'>libcrypt</systemitem> library
+        needed by various packages (notably, Shadow) for hashing passwords.
+        It replaces the obsolete
+        <systemitem class='library'>libcrypt</systemitem> implmentation in
+        Glibc.</para>
+@y
+        <para>
+        このパッケージは <systemitem
+        class='library'>libcrypt</systemitem> ライブラリを提供するものであり、さまざまなパッケージ(代表的なものとして Shadow)がパスワードのハッシュ処理のために必要としています。
+        これは Glibc における、かつての <systemitem
+        class='library'>libcrypt</systemitem> 実装を置き換えるものです。
+        </para>
+@z
+
 @x Linux Kernel
         <para>This package is the Operating System.  It is the Linux in
         the GNU/Linux environment.</para>
index af01982..2bac7e8 100644 (file)
@@ -2,4 +2,4 @@ dnl
 dnl  This is part of LFSbookja package.
 dnl 
 dnl m4-include this file to define the current LFS version
-m4_define([lfs_version], [r11.3-121])
+m4_define([lfs_version], [r11.3-140])