mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-18 13:07:50 +00:00
4aa6831f14
As we've already concluded, overwriting a shared object can crash running processes using code or data from this shared object. For example if gdm is crashed, we may leave the system unusable :(.
149 lines
4.5 KiB
XML
149 lines
4.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
%general-entities;
|
|
]>
|
|
|
|
<sect1 id="ch-system-libxcrypt" role="wrap">
|
|
<?dbhtml filename="libxcrypt.html"?>
|
|
|
|
<sect1info condition="script">
|
|
<productname>libxcrypt</productname>
|
|
<productnumber>&libxcrypt-version;</productnumber>
|
|
<address>&libxcrypt-url;</address>
|
|
</sect1info>
|
|
|
|
<title>Libxcrypt-&libxcrypt-version;</title>
|
|
|
|
<indexterm zone="ch-system-libxcrypt">
|
|
<primary sortas="a-Libxcrypt">Libxcrypt</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title/>
|
|
|
|
<para>The Libxcrypt package contains a modern library for one-way
|
|
hashing of passwords.</para>
|
|
|
|
<segmentedlist>
|
|
<segtitle>&buildtime;</segtitle>
|
|
<segtitle>&diskspace;</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>&libxcrypt-fin-sbu;</seg>
|
|
<seg>&libxcrypt-fin-du;</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Libxcrypt</title>
|
|
|
|
<para>Prepare Libxcrypt for compilation:</para>
|
|
|
|
<screen><userinput remap="configure">./configure --prefix=/usr \
|
|
--enable-hashes=strong,glibc \
|
|
--enable-obsolete-api=no \
|
|
--disable-static \
|
|
--disable-failure-tokens</userinput></screen>
|
|
|
|
<variablelist>
|
|
<title>The meaning of the new configure options:</title>
|
|
|
|
<varlistentry>
|
|
<term><parameter>--enable-hashes=strong,glibc</parameter></term>
|
|
<listitem>
|
|
<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>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><parameter>--enable-obsolete-api=no</parameter></term>
|
|
<listitem>
|
|
<para>Disable obsolete API functions. They are not needed for
|
|
a modern Linux system built from source.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><parameter>--disable-failure-tokens</parameter></term>
|
|
<listitem>
|
|
<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>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Compile the package:</para>
|
|
|
|
<screen><userinput remap="make">make</userinput></screen>
|
|
|
|
<para>To test the results, issue:</para>
|
|
|
|
<screen><userinput remap="test">make check</userinput></screen>
|
|
|
|
<para>Install the package:</para>
|
|
|
|
<screen><userinput remap="install">make install</userinput></screen>
|
|
|
|
<note>
|
|
|
|
<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
|
|
compliant with LSB, build the package again with the following
|
|
commands:</para>
|
|
|
|
<screen role="nodump"><userinput>make distclean
|
|
./configure --prefix=/usr \
|
|
--enable-hashes=strong,glibc \
|
|
--enable-obsolete-api=glibc \
|
|
--disable-static \
|
|
--disable-failure-tokens
|
|
make
|
|
cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib</userinput></screen>
|
|
</note>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="contents-libxcrypt" role="content">
|
|
<title>Contents of Libxcrypt</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed libraries</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>libcrypt.so</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="libcrypt">
|
|
<term><filename class="libraryfile">libcrypt</filename></term>
|
|
<listitem>
|
|
<para>Contains functions to hash passwords</para>
|
|
<indexterm zone="ch-system-libxcrypt libcrypt">
|
|
<primary sortas="c-libcrypt">libcrypt</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|