| Summary: | [FR] не повторять запрос пароля, если ошибка не в нём | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
| Component: | cryptsetup | Assignee: | 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 | ||
Я бы даже добавил тогда сначала вызов cryptsetup с пустой парольной фразой (на случай, если контейнер раскрыт в initrd, что весьма вероятно) и только потом запрос пароля, если проблема только в пароле. Так как с точки зрения пользователя, ввод пароля гораздо более дорогая операция, чем лишний вызов cryptsetup. Зачем? Пустая не подойдёт, если её не было в слотах паролей, и вместо пятёрки получим двойку. (В ответ на комментарий №2) > Зачем? Пустая не подойдёт, если её не было в слотах паролей, и вместо пятёрки > получим двойку. Хмм.. А разве сначала не доступность устройства проверяется? Надо код смотреть.. На мой взгляд, с 2012 года, логика поведения открытия криптоконтейнеров сильно улучшилась и описываемой проблемы уже не наблюдается. переоткройте, пожалуйста, эту ошибку и перевесьте на текущего ментейнера если я ошибаюсь. |
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.