Bug 28888 - [META] migrate from cracklib+libpwquality to passwdqc
Summary: [META] migrate from cracklib+libpwquality to passwdqc
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: cross-component (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL: https://twitter.com/solardiz/status/7...
Keywords: METABUG
Depends on: 40644 39790 39791 39792
Blocks:
  Show dependency tree
 
Reported: 2013-04-22 20:33 MSK by Michael Shigorin
Modified: 2021-08-03 18:59 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2013-04-22 20:33:07 MSK

    
Comment 1 Dmitry V. Levin 2020-03-04 16:14:53 MSK
Migrate from poor redhat reimplementation of the passwdqc package.
Comment 2 Dmitry V. Levin 2020-03-04 16:18:00 MSK
cracklib: ACLs of affected packages (5):
389-ds-base     cas @everybody
libpwquality    aris
mariadb shaba @everybody
netatalk        mike @everybody
revelation      aris

libpwquality: ACLs of affected packages (8):
cockpit slev @everybody
gnome-control-center    aris
gnome-disk-utility      @gnome
gnome-initial-setup     aris
pam_pkcs11      manowar @everybody
plasma5-user-manager    zerg @everybody
seahorse        aris
sirikali        lav
Comment 3 Gleb F-Malinovskiy 2020-03-04 17:21:09 MSK
Была ещё идея сделать такой libpwquality чтобы он был прослойкой над passwdqc.
Comment 4 Dmitry V. Levin 2020-03-04 17:25:25 MSK
(In reply to Gleb F-Malinovskiy from comment #3)
> Была ещё идея сделать такой libpwquality чтобы он был прослойкой над
> passwdqc.

Можно, наверное, но зачем? Лишняя прослойка => дополнительная кривизна => необязательные баги.
Comment 5 Dmitry V. Levin 2021-03-11 23:58:37 MSK
Прошёл год, почти ничего не изменилось:

(In reply to Dmitry V. Levin from comment #2)
> cracklib: ACLs of affected packages (5):

        ACLs of affected packages (4):
 389-ds-base   cas @everybody
 libpwquality  aris
 mariadb       shaba @everybody
 netatalk      mike @everybody

> libpwquality: ACLs of affected packages (8):

        ACLs of affected packages (8):
 cockpit               slev @qa
 gnome-control-center  aris
 gnome-disk-utility    @gnome
 gnome-initial-setup   aris
 pam_pkcs11            manowar @everybody
 revelation            aris
 seahorse              aris
 sirikali              lav
Comment 6 Stanislav Levin 2021-03-12 10:43:47 MSK
К указанному списку добавлю FreeIPA, в сизиф версия с поддержкой libpwquality еще не попала.

Можно поинтересоваться мотивацией миграции? Насколько совместим passwdqc с libpwquality?
Comment 7 Dmitry V. Levin 2021-03-12 14:57:11 MSK
(In reply to Stanislav Levin from comment #6)
> К указанному списку добавлю FreeIPA, в сизиф версия с поддержкой
> libpwquality еще не попала.
> 
> Можно поинтересоваться мотивацией миграции? Насколько совместим passwdqc с
> libpwquality?

Это довольно странная миграция, поскольку мы используем passwdqc раньше, чем libpwquality вообще появилось на свете.  Но в своё время в redhat из соображений совместимости с pam_cracklib решили сделать своё, и к нам оно потом попало через гномовые проекты, которые они пропатчили на использование libpwquality.  В результате у нас в одних местах используется passwdqc, а в других - libpwquality.  Разумеется, было бы хорошо, если бы везде использовалось passwdqc, который изначально лучше libpwquality, а с версии 2.0 становится ещё лучше.

Про сравнение password policy tools что-то написано тут:
https://github.com/systemd/systemd/issues/15055#issuecomment-660194508

Что касается совместимости, то в пакете cryptsetup есть поддержка обоих методов, один из которых можно выбрать во время сборки.
Comment 8 manowar@altlinux.org 2021-03-17 18:29:42 MSK
А где можно узнать о том, как пользоваться этой замечательной библиотекой? Например о том, что возвращает passwdqc_params_load() в случае ошибки — 0 или не-0? Манов я не нашёл.
Comment 9 Dmitry V. Levin 2021-03-17 18:59:17 MSK
(In reply to manowar@altlinux.org from comment #8)
> А где можно узнать о том, как пользоваться этой замечательной библиотекой?

Есть примеры использования, те же pwqcheck.c в самом passwdqc и функция tools_check_passwdqc в пакете cryptsetup.

> Например о том, что возвращает passwdqc_params_load() в случае ошибки — 0
> или не-0?

В случае ошибки passwdqc_params_load() возвращает -1 и текст описания ошибки в параметр reason.

> Манов я не нашёл.

Манов для 3-й секции ещё никто не законтрибьютил.
Comment 10 Dmitry V. Levin 2021-03-22 01:30:40 MSK
(In reply to Dmitry V. Levin from comment #9)
> (In reply to manowar@altlinux.org from comment #8)
> > Манов я не нашёл.
> 
> Манов для 3-й секции ещё никто не законтрибьютил.

Я написал манов для 3-й секции:
https://github.com/openwall/passwdqc/blob/main/libpasswdqc.3
Comment 11 Dmitry V. Levin 2021-08-03 18:52:53 MSK
Status update:

cracklib: ACLs of affected packages (5):
 389-ds-base      cas @everybody
 deepin-pw-check  lvol @everybody
 libpwquality     aris
 mariadb          shaba @everybody
 netatalk         mike @everybody
По сравнению с предыдущим замером: +1 (deepin-pw-check).

libpwquality: ACLs of affected packages (6):
 gnome-control-center  aris
 gnome-disk-utility    @gnome
 gnome-initial-setup   aris
 revelation            aris
 seahorse              aris
 sirikali              lav
По сравнению с предыдущим замером: -2 (cockpit, pam_pkcs11).