Bug 28268

Summary: [FR] не повторять запрос пароля, если ошибка не в нём
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: cryptsetupAssignee: timonbl4 <timonbl4>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: aen, boyarsh, naf, rider, shaba
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 28255    

Description Michael Shigorin 2012-12-24 19:43:23 MSK
cryptsetup(8) различает в коде возврата ситуации, когда ошибка заключается в неподходящей парольной фразе, и иные; для кодов возврата, не равных 2, предлагаю не переспрашивать пароль.  Иначе возможна ситуация, когда контейнер уже вскрыт в initrd (и device уже busy), а пароль тщетно переспрашивается ещё три раза.

RETURN CODES
       Crypsetup returns 0 on success or non-zero on error.

       Error codes are: 1 wrong parameters, 2 no permission (bad  passphrase),
       3  out  of memory, 4 wrong device specified, 5 device already exists or
       device is busy.
Comment 1 Anton V. Boyarshinov 2012-12-26 11:28:36 MSK
Я бы даже добавил тогда сначала вызов cryptsetup с пустой парольной фразой (на случай, если контейнер раскрыт в initrd, что весьма вероятно) и только потом запрос пароля, если проблема только в пароле. Так как с точки зрения пользователя, ввод пароля гораздо более дорогая операция, чем лишний вызов cryptsetup.
Comment 2 Michael Shigorin 2012-12-26 13:33:21 MSK
Зачем?  Пустая не подойдёт, если её не было в слотах паролей, и вместо пятёрки получим двойку.
Comment 3 Anton V. Boyarshinov 2012-12-26 13:37:33 MSK
(В ответ на комментарий №2)
> Зачем?  Пустая не подойдёт, если её не было в слотах паролей, и вместо пятёрки
> получим двойку.

Хмм.. А разве сначала не доступность устройства проверяется? Надо код смотреть..
Comment 4 Anton Farygin 2021-09-25 13:29:40 MSK
На мой взгляд, с 2012 года, логика поведения открытия криптоконтейнеров сильно улучшилась и описываемой проблемы уже не наблюдается. переоткройте, пожалуйста, эту ошибку и перевесьте на текущего ментейнера если я ошибаюсь.