<?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>