Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#5280 closed enhancement (fixed)

Add libxcrypt and use it instead of Glibc libcrypt

Reported by: Xi Ruoyao Owned by: Xi Ruoyao
Priority: normal Milestone: 12.0
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

Glibc developers consider Glibc libcrypt implementation deprecated, and libcrypt may be disabled by default in Glibc-2.38 (a patch is under review now).

As libcrypt is security-related, it seems a bad idea to override the upstream decision and stick with the deprecated implementation. Many distros has already switched to ​libxcrypt for providing libcrypt.so.

We can add libxcrypt immediately before shadow, which is the first package in LFS using libcrypt.

Change History (7)

comment:1 by Xi Ruoyao, 3 years ago

Oh-oh, Perl links to libcrypt.so as well so maybe we need to build libxcrypt in Chapter 7 before Perl. Or maybe we can find a way to disable it for Chapter 7 Perl.

Last edited 3 years ago by Xi Ruoyao (previous) (diff)

in reply to:  1 comment:2 by Xi Ruoyao, 3 years ago

Replying to Xi Ruoyao:

Oh-oh, Perl links to libcrypt.so as well so maybe we need to build libxcrypt in Chapter 7 before Perl. Or maybe we can find a way to disable it for Chapter 7 Perl.

The dependency for Perl is optional. In Chapter 6 we need to disable libsanitizer for GCC pass 2 because building libsanitizer needs the header of libcrypt.

The work is done in the xry111/libxcrypt branch.

comment:3 by Xi Ruoyao, 3 years ago

I'd merge the branch into trunk in mid July if no objection, for sorting things out before Glibc-2.38 update.

comment:4 by Bruce Dubbs, 3 years ago

Let's do the merge as soon as the 6.4.1 kernel comes out.

comment:5 by Xi Ruoyao, 3 years ago

Owner: changed from lfs-book to Xi Ruoyao
Status: new → assigned

comment:6 by Xi Ruoyao, 3 years ago

Resolution: → fixed
Status: assigned → closed

Fixed at r11.3-130-g48834cf19:

  • 48834cf19 (Merge branch 'xry111/libxcrypt' into trunk, 2023-07-03)
  • 9ceb62340 (Package update, 2023-07-03)
  • ac5f78c4b (Merge branch 'trunk' into xry111/libxcrypt, 2023-07-02)
  • 1adc94143 (dependencies: Add Libxcrypt dependency info, 2023-06-30)
  • f652d5bb2 (gcc-pass2: Disable libsanitizer, 2023-06-30)
  • c727d7e7f (Add libxcrypt, 2023-06-30)
  • bbfb090d2 (glibc: Disable obsolete libcrypt implementation, 2023-06-30)

comment:7 by Bruce Dubbs, 3 years ago

Milestone: 11.4 → 12.0

Milestone renamed

Note: See TracTickets for help on using tickets.