AquaMail Forum

На Русском языке => Ошибки => Topic started by: Face2face on June 10, 2017, 10:59:49 am

Title: Не грузятся папки с &
Post by: Face2face on June 10, 2017, 10:59:49 am
Если в Яндекс почте есть папка с & в имени, то Aqua Mail выдаёт ошибку и не загружает ни одного письма из такой папки.
Title: Re: Не грузятся папки с &
Post by: Kostya Vasilyev on June 11, 2017, 03:44:11 pm
Да, действительно, заведу ошибку. Спасибо.
Title: Re: Не грузятся папки с &
Post by: Kostya Vasilyev on June 11, 2017, 04:52:19 pm
1 - Пробовал папку "Foo & Bar" создавал через веб-почту.

2 - С другим сервером (Fastmail) работает, проверил. С Mail.ru тоже.

3 - Яндекс возвращает имя папки вот так:

"Foo&AKAAJgCg-Bar"

Это означает:

"Foo & Bar" -- но не пробелы, а символы с кодом 0xA0, "non-breakable space" (пробел запрещающий перенос).

Не знаю, зачем они меняют обычные пробелы на "неразрывные", но меняют.

Ошибка №1 (не очень существенная).

Ладно, с этим Аква справляется.

4 - При проверке почты, Аква кодирует имя папки (какую папку выбирать) вот так:

"Foo&AKA-&-&AKA-Bar"

И Яндекс отвечает "такой папки нет".

5 - Наблюдательный читатель заметит, что результат кодирования имени Аквой отличается от того, что изначально вернул сервер.

Однако:

1 - Оба варианта, "Foo&AKAAJgCg-Bar" (вернул Яндекс) и "Foo&AKA-&-&AKA-Bar" (закодировала Аква) декодируются в одно и то же имя папки.

Так что сервер должен "узнать" папку, сначала декодировать, потом смотреть по декодированному имени.

Но видимо "распознавание" папки у Яндекса происходит *до* декодирования имени.

Ошибка №2.

2 - Спецификация IMAP "английским по белому" сообщает что

https://tools.ietf.org/html/rfc3501#section-5.1.3

- The character "&" (0x26) is represented by the two-octet sequence "&-".

И далее:

- Modified BASE64 MUST NOT be used to represent any printing US-ASCII character which can represent itself.

То есть:

- Символ "&" кодируется как "&-"

- Кодировку base64 ЗАПРЕЩЕНО использовать для символов для которых она не требуется.

Так что из двух вариантов кодировки - именно вариант Аквы ("Foo&AKA-&-&AKA-Bar") правильный, а вариант сервера Яндекса ("Foo&AKAAJgCg-Bar") неправильный.

Ошибка №3.

---

Ошибки (3 штуки) Яндекса а не наши, пожалуйста пишите в их поддержку.
Title: Re: Не грузятся папки с &
Post by: Face2face on June 13, 2017, 11:07:54 pm
Лучше будет, если Вы напишите. Вы как разработчик сможете лучше объяснить разработчикам, что именно они должны починить.
Title: Re: Не грузятся папки с &
Post by: Kostya Vasilyev on June 15, 2017, 08:33:33 pm
А я уже объяснил - просто дайте ссылку на моё сообщение, и они прочитают. Или скопируйте мой текст.