pozitronik / CloudMailRu

Total Commander plugin for cloud.mail.ru service
GNU General Public License v3.0
357 stars 50 forks source link

error: parsing authorization data #244

Closed oleg-zubarik closed 4 years ago

oleg-zubarik commented 4 years ago

Вечер добрый, после обеда перестал работать плагин.

Total Commander 8.52a 32bit, 64bit Windows 10 x64 CloudMailRu-master v05042020

Захожу в FS-плагины -> CloudMailRu -> Имя моего облака. В консоли: "error: parsing authorization data" (лог тут wcftplog.txt). При этом одноразовый пароль для двухфакторной аутентификации приходит в SMS, но окошко для его вставки не появляется.

Пробовал: 1) Новый чистый Total Commander 8.52a с единственным заново подключенным плагином CloudMailRu-master v05042020 2) Перезагружать компьютер 3) Подключаться в другое облако 4) Подключаться на другом компьютере с чистым Total Commander 8.52a и единственным заново подключенным плагином CloudMailRu-master v05042020

Результат одинаковый: "error: parsing authorization data". Кажется, разработчики облака что-то поправили в API на своей стороне

pozitronik commented 4 years ago

Исправлено: изменилась страница выдачи, из которой плагин выдирал токен. Я переделал парсер, теперь он будет учитывать похожие изменения в будущем.

oleg-zubarik commented 4 years ago

На Total Commander x64 работает, на Total Commander x32 после ввода одноразового пароля Total Commander вылетает. Протесчено на 2 стендах.

pozitronik commented 4 years ago

Да, подтверждаю. Только в x32, и только в release-сборке. Падает при попытке освобождения буфера, выделенного под код авторизации. Почему - непонятно.

Keks1984 commented 4 years ago

Не работает. Пишет error: parsing authorization data. Иногда даже смс приходит двухфакторной авторизации.

pozitronik commented 4 years ago

Не работает. Пишет error: parsing authorization data. Иногда даже смс приходит двухфакторной авторизации.

Уточню, на всякий случай: именно на x64 в последней master-сборке?

Keks1984 commented 4 years ago

Не работает. Пишет error: parsing authorization data. Иногда даже смс приходит двухфакторной авторизации.

Уточню, на всякий случай: именно на x64 в последней master-сборке?

TC Да. Total Commander 9.51 final x64 с оффсайта.

pozitronik commented 4 years ago

Речь о мастер-билде плагина. Я проверил работу двухфакторки, на x64 всё работает, как ожидается, и с СМС-подтверждением, и кодом через приложение. С x32-билдом проблема пока не решена, не доходят руки.

Keks1984 commented 4 years ago

Речь о мастер-билде плагина. Я проверил работу двухфакторки, на x64 всё работает, как ожидается, и с СМС-подтверждением, и кодом через приложение. С x32-билдом проблема пока не решена, не доходят руки.

Спасибо. Все работает. Просто изначально делал по инструкции из описания. Там ни слова про это.

pozitronik commented 4 years ago

Спасибо. Все работает. Просто изначально делал по инструкции из описания. Там ни слова про это.

Вот, первым же пунктом. Не говоря уж о упоминании в этом обсуждении.

pozitronik commented 4 years ago

Падает при попытке освобождения буфера, выделенного под код авторизации. Почему - непонятно.

Копаю: падает при включении оптимизации ({$O+}) компилятора, другие настройки (отладочные символы, выравнивание, etc) как будто бы не влияют. Переключение менеджера памяти с основного на отладочный также не влияет.

pozitronik commented 4 years ago

Я так и не смог понять, что является причиной ошибки. Включение оптимизаций исключает работу с отладчиком, а отключение оптимизации не воспроизводит ошибку. Основное подозрение - на некорректную обработку буфера в диалоговой функции Total Commander, вторичное - на какую-то ошибку преобразования типов при работе со словарём. Но оба подозрения достаточно необъективны и непроверяемы.

Мне пришлось обойти это, использовав вместо коллбека TC свою диалоговую функцию, благо такая в плагине уже имеется. Она не требует прямой инициализации буфера, и с ней всё отрабатывает хорошо. Просьба проверить на мастер-сборках.