prev
next
ru.ftn.develop
FromMithgol the Webmaster2:50/88.0Date Write2018-06-28 03:45:03
ToAll0:0/0.0Date Arrived2018-06-29 18:50:10
SubjИсправление ошибки в движке генерации HTML для гипертекстового Фидонета
Attr

Вечером 27 июня я с неудовольствием увидел, как в RSS-потоке на основе моего
фидонетовского блога (эхоконференции Ru.Blog.Mithgol) из сообщения
area://Ru.Blog.Mithgol?msgid=2:50/88+5b334ae7 создаётся такой HTML, в котором
посередине мусор, и некоторые строгие читальники (сайт LiveJournal, например)
даже отказываются воспроизводить эту блогозапись далее середины.

Уделив несколько часов отладке, я убедился в том, что моему движку абстрактных
синтаксических деревьев, лежащему в основе генерации кода HTML из фидопочты,
недоставало рекурсии, поэтому при определённых обстоятельствах (впервые так
сложившихся за много лет работы над этой затеей) специальные символы внутри
альтернативного текста (призванного заменить собою некоторую картинку в случае
невозможности показать её) могли быть незаэкранированы и порушить стройность
окружающего гипертекста.

Движок я починил, но теперь всем пользователям, использующим какое угодно
из моих фидонетовских приложений, имеющих дело с гипертекстом, предлагаю
пренепременно обновиться по шагам:

1) Скопировать конфигурацию приложения в безопасное место.

2) Стереть приложение.

3) Заново установить по инструкции (файл README на сайте приложения на GitHub).

4) Заново накатить ранее скопированную конфигурацию.

Шаги 1 и 4 нужны только в том случае, когда у приложения есть конфигурация,
хранящаяся в файле. (Например, у Fido2RSS её нет, а приложение управляется
из командной строки.)

Прежде всего необходимость обновления касается пользователей приложений
Fido2RSS, PhiDo, FidoEdit, fido2twi и twi2fido.

Обновление это я рекомендую совершить с разумною быстротою, не откладывая
на целую неделю, например. На то есть две причины.

Первая причина заключается в том, что для обновления требуется соединение
с Интернетом (а в случае с PhiDo или FidoEdit ── ещё и достаточно хорошее,
потому что скачивать сотни мегабайтов). Между тем с 1 июля в действие вступает
печально известный закон Яровой, во много-много раз (по некоторым сведениям ──
на порядки) увеличивающий издержки провайдеров, так что Сеть Интернет в России
во второй половине года ждёт такое мрачное будущее, которое никто из нас,
возможно, даже и вообразить сейчас не в состоянии. Лучше управиться до этого.

Вторая причина заключается в том, что всякая такая ошибка, которая в код HTML
позволяет при некоторых обстоятельствах насовать неэкранированные спецсимволы,
способна привлечь внимание пытливых личностей, которые путём ряда экспериментов
могут попробовать создать уязвимость XSS с её помощью. Успех этих экспериментов
я не исключаю.

Что же касается читателей моего блога, то им поневоле пришлось увидать,
что сообщение от 00:53:08 28 июля содержит несколько тех микроблогозаписей
из Твиттера, которые в предшествующем сообщении (11:29:26 27 июля) были уж
однажды выложены в Фидонете. Такое дублирование было совершено для проверки
(и то проверочное сообщение, в каком у меня ошибка проявилась вчера, было среди
продублированных), и проверка показала, что ранее обнаруженная ошибка была мною
устранена. Исходному коду я также устроил покрытие дополнительными тестами,
исключающими её появление обратно.


* изначально написано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию Ru.FTN.Develop


Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]

... Hадпись на зеркале: "Другие не лучше". (Александр Дашевский)
--- Эшелону: zipgun налоги TRV ERV rednoise психические военные действия СССР
* Origin: Седьмое чудо пятой власти ── подогревать в России страсти (2:50/88)