This is more "intent to implement" rather than a bug report.
Describe the bug
glibc's libcrypt implementation supports a narrow range of hashes, and none of modern RAM-heavy ones.
glibc maintaines would like to spin this library off into a separate project and drop libcrypt from the glibc altogether.
Some distributions have already switched to API- and ABI-compatible libxcrypt:
Expected behaviour
All packages that use libcrypt.so.1 can use strong hash types.
Action plan
Known issues
I have stumbled upon the following problems while doing a PoC on the packages I regularly use (not the whole archive):
Affected packages
Normally it would be easy to do a reverse-dependency search to see what relies on a particular library. However with a library bundled in glibc the tree of reverse dependencies is not particularly useful.
I have greped the whole nixos-unstable and manually processed the results. Attached is the list of
- Packages with files that link to
libcrypt.so.1 and actually use symbols from them (+++)
- Packages with files that link to
libcrypt.so.1, but don't actually use any symbols (???)
- Packages with files that mention
libcrypt.so.1, but don't link to it (mostly text) (XXX).
This is a very rough list, the only way to get a definite list is by rebuilding the archive, however it should suffice as a starting point.
libcrypt-users.txt
Notify maintainers
@edolstra
This is more "intent to implement" rather than a bug report.
Describe the bug
glibc's libcrypt implementation supports a narrow range of hashes, and none of modern RAM-heavy ones.
glibc maintaines would like to spin this library off into a separate project and drop libcrypt from the glibc altogether.
Some distributions have already switched to API- and ABI-compatible libxcrypt:
Expected behaviour
All packages that use
libcrypt.so.1can use strong hash types.Action plan
libxcrypt.withLibcrypt(defaults to true) toglibcpackage that disables building and installinglibcrypt.so.1andcrypt.hif set to false.libcrypt.so.1inglibcby giving them a flaguseGlibcLibcrypt(defaults to true).useGlibcLibcrypt(defaults to true), and disablewithLibgcryptinglibcanduseGlibcLibgcryptin other packages it is set to false.useGibcLibcryptto default to false.withLibcrypt,useGlibcLibcryptfrom packages, makeuseGlibcLibcryptno-op.Known issues
I have stumbled upon the following problems while doing a PoC on the packages I regularly use (not the whole archive):
libcryptinglibcAffected packages
Normally it would be easy to do a reverse-dependency search to see what relies on a particular library. However with a library bundled in
glibcthe tree of reverse dependencies is not particularly useful.I have
greped the wholenixos-unstableand manually processed the results. Attached is the list oflibcrypt.so.1and actually use symbols from them (+++)libcrypt.so.1, but don't actually use any symbols (???)libcrypt.so.1, but don't link to it (mostly text) (XXX).This is a very rough list, the only way to get a definite list is by rebuilding the archive, however it should suffice as a starting point.
libcrypt-users.txt
Notify maintainers
@edolstra