Bug 40568 - Пароли у chromium/chromium-gost не сохраняются в кошельке
Summary: Пароли у chromium/chromium-gost не сохраняются в кошельке
Status: CLOSED WONTFIX
Alias: None
Product: Branch p9
Classification: Distributions
Component: chromium-gost (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-23 17:59 MSK by Николай Пряхин
Modified: 2021-08-05 12:19 MSK (History)
8 users (show)

See Also:


Attachments
p9-kwallet(not work) (196.62 KB, image/png)
2021-07-23 17:59 MSK, Николай Пряхин
no flags Details
p8-kwallet(work) (124.13 KB, image/png)
2021-07-23 18:00 MSK, Николай Пряхин
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Николай Пряхин 2021-07-23 17:59:18 MSK
Created attachment 9533 [details]
p9-kwallet(not work)

Шаги: 
1. Активировать чекбокс "Запрос при обращении приложений к бумажнику" у kwalletmanager в "Настройки-Настроить Бумажник-Контроль доступа";
2. Перезагрузить;
3. Запустить браузер Chromium/chromium-gost;
4. Разрешить браузеру доступ к кошельку;
5. Авторизоваться на любом сайте (например почта на yandex.ru);
6. Принять предложение сохранить пароль после авторизации;
7. Открыть "Содержимое" кошелька в kwalletmanager.

Фактический результат: запись о сохраненном пароле в kwalletmanager отсутствует. 
Ожидаемый результат: присутствует запись о сохраненном пароле в "Содержимое > Chromium Keys > Пароли > Chromium Safe Storage" 

Дополнение: 
Для сравнения прикладываю скриншот из p8.3-kworkstation-x86-64
Comment 1 Николай Пряхин 2021-07-23 18:00:33 MSK
Created attachment 9534 [details]
p8-kwallet(work)
Comment 2 Sergey V Turchin 2021-07-26 11:29:31 MSK
После переименования некоторых мест внутри chromium на chromium-gost где-то началась несостыковка.
Comment 3 Sergey V Turchin 2021-07-26 11:31:24 MSK
Вполне возможно, что и в gnome keyring тоже перестали сохряняться.
Comment 4 Sergey V Turchin 2021-07-26 12:24:46 MSK
chromium-gost входит в Workstation K, наприменр, поэтому актуально прямо сейчас исправить к выходу 9.2 .
Comment 5 Олег Соловьев 2021-07-27 11:37:53 MSK
Я в тупике. Отладка затруднена, поскольку debuginfo у пакета крайне неполный (без информации об исходниках), а первичная пересборка займёт ощутимое время.

Насколько я вижу, доступ к кошельку действительно запрашивается и даже каталог для ключей создаётся (Chromium Keys), но пароль почему-то не записывается.

Вот вызовы D-Bus, похоже оно думает, что успешно прочитало пароль и не пытается его записать.

method call time=1627374984.005673 sender=:1.68 -> destination=org.kde.kwalletd5 serial=8 path=/modules/kwalletd5; interface=org.kde.KWallet; member=readPassword
   int32 1810065752
   string "Chromium Keys"
   string "Chromium Safe Storage"
   string "Chromium"
method return time=1627374984.005781 sender=:1.14 -> destination=:1.68 serial=252 reply_serial=8
   string ""
Comment 6 Олег Соловьев 2021-07-27 14:01:13 MSK
Перестало работать начиная с chromium 84.0.4147.89
Comment 7 Олег Соловьев 2021-07-28 11:14:03 MSK
Потенциально сработал откат коммита 9fa2a355cb4d2124ad5abeaa2537a1f0c1602a03 из апстрима, в бумажник теперь записывается Chromium Safe Storage, но есть ещё одно изменение, которое надо бы посмотреть.

Похоже, Chromium разучился писать пароли еще с 71 версии
Comment 8 AEN 2021-07-28 11:22:46 MSK
(Ответ для Олег Соловьев на комментарий #7)
> Потенциально сработал откат коммита 9fa2a355cb4d2124ad5abeaa2537a1f0c1602a03
> из апстрима, в бумажник теперь записывается Chromium Safe Storage, но есть
> ещё одно изменение, которое надо бы посмотреть.
> 
> Похоже, Chromium разучился писать пароли еще с 71 версии

Разучился или его отучил апстрим?
Comment 9 Олег Соловьев 2021-07-28 11:36:57 MSK
(In reply to AEN from comment #8)
> Разучился или его отучил апстрим?

Без понятия.
Бага очень сильно плавающая - на 71 то сохраняет пароли, то не сохраняет.
Comment 10 AEN 2021-07-28 11:55:32 MSK
(Ответ для Олег Соловьев на комментарий #9)
> (In reply to AEN from comment #8)
> > Разучился или его отучил апстрим?
> 
> Без понятия.
> Бага очень сильно плавающая - на 71 то сохраняет пароли, то не сохраняет.

Попробуйте сборку от разработчика, пжста

https://github.com/deemru/chromium-gost/releases/tag/92.0.4515.107
Comment 11 Sergey V Turchin 2021-07-28 11:58:48 MSK
В обычном Chromium это тоже есть, т.е. с "gost" не связано.
Comment 12 Олег Соловьев 2021-07-28 12:01:47 MSK
(In reply to AEN from comment #10)
> Попробуйте сборку от разработчика, пжста
> 
> https://github.com/deemru/chromium-gost/releases/tag/92.0.4515.107

Не раньше того, как разберусь с chromium.
Есть метод KWalletDBus::WriteEntry, который раньше использовался для записи в кошелёк, а сейчас не вызывается.
Не берусь сказать, используется ли, т.к. пересборка пакета займёт много времени (> 2 часов)
Comment 13 AEN 2021-07-28 12:13:15 MSK
(Ответ для Олег Соловьев на комментарий #12)
> (In reply to AEN from comment #10)
> > Попробуйте сборку от разработчика, пжста
> > 
> > https://github.com/deemru/chromium-gost/releases/tag/92.0.4515.107
> 
> Не раньше того, как разберусь с chromium.
> Есть метод KWalletDBus::WriteEntry, который раньше использовался для записи
> в кошелёк, а сейчас не вызывается.
> Не берусь сказать, используется ли, т.к. пересборка пакета займёт много
> времени (> 2 часов)
Ок. 
Тогда спрошу иначе. В сборке chromium от google есть эта бага?
Comment 14 Sergey V Turchin 2021-07-28 12:20:24 MSK
(Ответ для AEN на комментарий #13)
> В сборке chromium от google есть эта бага?
А такое разве бывает? Или про Chrome?
Comment 15 AEN 2021-07-28 12:30:06 MSK
(Ответ для Sergey V Turchin на комментарий #14)
> (Ответ для AEN на комментарий #13)
> > В сборке chromium от google есть эта бага?
> А такое разве бывает? Или про Chrome?


https://www.chromium.org/getting-involved/download-chromium
Comment 16 Олег Соловьев 2021-07-28 12:40:50 MSK
(In reply to AEN from comment #8)
> (Ответ для Олег Соловьев на комментарий #7)
> > Потенциально сработал откат коммита 9fa2a355cb4d2124ad5abeaa2537a1f0c1602a03
> > из апстрима, в бумажник теперь записывается Chromium Safe Storage, но есть
> > ещё одно изменение, которое надо бы посмотреть.
> > 
> > Похоже, Chromium разучился писать пароли еще с 71 версии
> 
> Разучился или его отучил апстрим?

Отучил апстрим:
https://bugs.chromium.org/p/chromium/issues/detail?id=571003
https://bugs.chromium.org/p/chromium/issues/detail?id=950267
https://bugs.chromium.org/p/chromium/issues/detail?id=950269
Comment 17 AEN 2021-07-28 12:45:15 MSK
(Ответ для Олег Соловьев на комментарий #16)
> (In reply to AEN from comment #8)
> > (Ответ для Олег Соловьев на комментарий #7)
> > > Потенциально сработал откат коммита 9fa2a355cb4d2124ad5abeaa2537a1f0c1602a03
> > > из апстрима, в бумажник теперь записывается Chromium Safe Storage, но есть
> > > ещё одно изменение, которое надо бы посмотреть.
> > > 
> > > Похоже, Chromium разучился писать пароли еще с 71 версии
> > 
> > Разучился или его отучил апстрим?
> 
> Отучил апстрим:
> https://bugs.chromium.org/p/chromium/issues/detail?id=571003
> https://bugs.chromium.org/p/chromium/issues/detail?id=950267
> https://bugs.chromium.org/p/chromium/issues/detail?id=950269

Тогда это не бага. 
Бороться с умышленной гадостью google себе дороже.
Comment 18 Anton Farygin 2021-08-04 15:27:32 MSK
$ chromium --help|grep pass
       --password-store=<basic|gnome|kwallet>
              Set the password store to use.  The default is to  automatically
              built in,  unencrypted  password  store.   gnome  selects  Gnome
А вот это что делает, если апстрим отучил ?
Comment 19 Олег Соловьев 2021-08-04 15:43:51 MSK
(Ответ для Anton Farygin на комментарий #18)
> $ chromium --help|grep pass
>        --password-store=<basic|gnome|kwallet>
>               Set the password store to use.  The default is to 
> automatically
>               built in,  unencrypted  password  store.   gnome  selects 
> Gnome
> А вот это что делает, если апстрим отучил ?

Наличие опции не всегда подразумевает отсутствие отучивания. после изменений, отгрызающих поддержку gnome keyring и kde wallet в проекте остался мертвый код, который формально пристствует в дереве, но нигде не вызывается.

Его удаление не приводит к ошибкам компиляции.
Не исключено, что эта опция - следствие такого удаления и на самом деле она ни на что не влияет.
Comment 20 Олег Соловьев 2021-08-04 16:31:50 MSK
(Ответ для Олег Соловьев на комментарий #19)
> Наличие опции не всегда подразумевает отсутствие отучивания. после
> изменений, отгрызающих поддержку gnome keyring и kde wallet в проекте
> остался мертвый код, который формально пристствует в дереве, но нигде не
> вызывается.

PS существует ли у нас инструментарий, позволяющий достоверно установить, какие функции нигде никогда не вызываются?
Comment 21 Олег Соловьев 2021-08-04 16:39:50 MSK
Кажется, у нас отмена: в параметрах сборки хрома есть use_dbus и по умолчанию он false, а нужное как раз не компилится с таким флагом.

Пробую с use_dbus == true
Comment 22 Anton Farygin 2021-08-04 17:47:20 MSK
Спасибо.
Comment 23 Олег Соловьев 2021-08-05 10:05:26 MSK
Не сработало.

Перечитал 571003 - там указано, что единственная причина использовать бэкенды - отсутствие шифрования в LoginDatabase и авторы решили отказаться от использования бэкендов для _хранения паролей_: вместо паролей в kwallet/keyring хранится ключ шифрования LoginDatabase, а уже в нём хранятся все пароли/ключи в зашифрованном виде.

Поэтому - wontfix.
Comment 24 AEN 2021-08-05 10:10:57 MSK
Спасибо. 

Теперь понятно.
Comment 25 Vera Blagoveschenskaya 2021-08-05 10:52:12 MSK
(Ответ для Олег Соловьев на комментарий #23)
> Не сработало.
> 
> Перечитал 571003 - там указано, что единственная причина использовать
> бэкенды - отсутствие шифрования в LoginDatabase и авторы решили отказаться
> от использования бэкендов для _хранения паролей_: вместо паролей в
> kwallet/keyring хранится ключ шифрования LoginDatabase, а уже в нём хранятся
> все пароли/ключи в зашифрованном виде.
> 
> Поэтому - wontfix.

Меня, как пользователя, смущает, что kwallet показывает Chromium keys (0) - см. скриншот p9-kwallet(not work).
Comment 26 Олег Соловьев 2021-08-05 11:45:05 MSK
use_dbus == false: chromium успешно обращается к kwallet и создаёт там каталог "Chromium Keys", изменение параметров сборки не требуется
Comment 27 Anton Farygin 2021-08-05 12:10:20 MSK
Вера, удали пожалуйста эту проверку из тестовых сценариев для chromium.

У пользователей chromium, правда, будут проблемы - они же отключили синхронизацию паролей с гуглом и теперь парольную базу из него никаким образом не вытащить.

Может быть есть какие-то расширения для этого ? что делать обычным пользователям.
Comment 28 AEN 2021-08-05 12:13:23 MSK
(Ответ для Anton Farygin на комментарий #27)
> Вера, удали пожалуйста эту проверку из тестовых сценариев для chromium.
> 
> У пользователей chromium, правда, будут проблемы - они же отключили
> синхронизацию паролей с гуглом и теперь парольную базу из него никаким
> образом не вытащить.
> 
> Может быть есть какие-то расширения для этого ? что делать обычным
> пользователям.

Обычных пользователей Google вынуждает перейти на chrome.
Comment 29 Олег Соловьев 2021-08-05 12:19:58 MSK
(Ответ для Anton Farygin на комментарий #27)
> они же отключили синхронизацию паролей с гуглом

И не только паролей. Они вообще вырезали эту синхронизацию и меня как пользователя смущает в первую очередь это.