English Indonesian
Fedora 28 now uses https://sourceforge.net/projects/libtirpc/[libtirpc] to implement the Sun RPC protocol.
Fedora 28 provides the GNU C Library (*glibc*) version 2.27.
In reaction to plans to remove the *libcrypt* library from *glibc*, this update replaces *libcrypt* in Fedora's version of *glibc* with the *libxcrypt* library. The use of the *libxcrypt* library allows easier integration of new hashing algorithms, promises the benefits of a faster development cycle than *libcrypt*, and provides support for all hashing algorithms ever introduced to the `crypt()` function.
Libcrypt replaced by libxcrypt in glibc
See the link:++https://sourceware.org/ml/libc-announce/2018/msg00000.html++[release announcement] for full information about changes brought by this version, and the link:++https://sourceware.org/glibc/wiki/Release/2.27#Packaging_Changes++[glibc wiki entry about this release] which contains a section on packaging changes. Also note the separate change related to *glibc* described in <<sect-c-sunrpc>>.
sudo dnf repoquery --whatrequires 'libcrypt.so*' | sed -e 's!-[0-9]\+.*$!!g' | sort -u
Sun RPC Interfaces Moved From glibc To libtirpc
The glibc imlementation of Sun RPC was not compatible with IPv6 and adding IPv6 support would have required a change to the glibc ABI. As a result, the Sun RPC implementation was moved to a separate library, libtirpc, which has been packaged in Fedora since Fedora 7. Sun RPC support in glibc has been deprecated for a long time and this change aligns Fedora with the upstream projects.
The GNU C Library version 2.27
The *libxcrypt* library is backwards binary compatible with `libcrypt.so.1` shipped as a part of the GNU{nbsp}C Library. Therefore, all binaries built against *libcrypt* should work without modifications with `libcrypt.so.1` provided by *libxcrypt*. It is, however, not possible to recompile programs that use the following legacy APIs supplied by *libcrypt* against *libxcrypt*: `encrypt`, `encrypt_r`, `setkey`, `setkey_r`, and `fcrypt`.
There is, also, no reverse compatibility. Therefore, binaries linked against `libcrypt.so.1` provided by *libxcrypt* will not work with *glibc*'s default *libcrypt*.
To list all packages built against *libcrypt*, run the following command: