LINUX.ORG.RU
ФорумAdmin

libxfont 1.4.7-2 ломает xfs

 , , ,


0

2

Обновляю Debian Jessie из jessie-backports.

Получается обновить всё, кроме libxfont и libxfont-dev, потому что у меня исторически стоит xfs из Wheezy, и я им, чёрт возьми, пользуюсь.

Смотрю ChangeLog и вижу прекрасное:

libxfont (1:1.4.7-2) unstable; urgency=high

  * Pull from upstream git to fix FTBFS with new fontsproto (closes: #746052)
  * CVE-2014-0209: integer overflow of allocations in font metadata
  * CVE-2014-0210: unvalidated length fields when parsing xfs protocol replies
  * CVE-2014-0211: integer overflows calculating memory needs for xfs replies
  * Add breaks on xfs because we broke it by disabling font protocol support
    in 1.4.7.

 -- Julien Cristau <jcristau@debian.org>  Tue, 13 May 2014 17:25:49 +0200

Я правильно понимаю, что они таки сломали поддержку шрифтов X11, доступных по сети?

Нахрена?

WTF?

★★★★★

Вообще, в иксах иногда применяют такую (плохую, на мой взгляд) методологию «случайной поломки». Специально что-то ломают немного и ждут. Если никто не рыпнулся, то считают, что это никому не нужно, и выбрасывают. Но это редко применяется. О такой методологии открыто говорил Кит Паккард.

Я правильно понимаю, что они таки сломали поддержку шрифтов X11, доступных по сети?

Нахрена?

xfs, хоть и работал, но ему никто внимания не уделял уже 1000 лет:

man xfs

Future Directions

Significant further development of xfs is unlikely. One of 
the original motivations behind it was the single-threaded 
nature of the X server -- a user's X session could seem to 
"freeze up" while the X server took a moment to rasterize a 
font. This problem with the X server, which remains single-
threaded in all popular implementations to this day, has been 
mitigated on two fronts: machines have gotten much faster, 
and client-side font rendering (particularly via the Xft 
library) is the norm in contemporary software. 

А ты что, реально раздавал server-side fonts X-серверам по сети через порт 7100? Я в последний раз xfs использовал локально через unix socket лет эдак 15 назад или чуть поменьше. И тогда казалось, что с ним действительно чуточку быстрее работало, но потом машины стали быстрее, и уже разницы не было. А сейчас уже многие терминалы и emacs, тулкиты умеют в xft.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Евгений, спасибо.

Я понимаю разницу между клиентскими и серверными шрифтами. И, в общем, краткий ответ «да» — я таки использую (в домашней сети) раздачу шрифтов по TCP нескольким солярным рабочим станциям.

Насколько я понял, просмотрев дебиановский git, всё сводится к коммиту 42fe1a7e29ee0650a33fc92b54ca95fbe4c19573, изменяющему флаги configure:

diff --git a/debian/rules b/debian/rules
index 414aa3d..3b931a6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,7 +14,7 @@ LDFLAGS  = $(shell dpkg-buildflags --get LDFLAGS)
 LDFLAGS := $(LDFLAGS:-Wl,-Bsymbolic-functions=)
 
 CONFFLAGS += \
-	--enable-fc \
+	--disable-fc \
 	--enable-builtins \
 	--enable-pcfformat \
 	--enable-bdfformat \

Так что требуется просто откатить коммит и перепаковать.

P.S. Но, в целом, Debian становится всё менее и менее пригоден для олдскульного десктопа. Пора перелезать на FreeBSD.

Bass ★★★★★
() автор топика
Последнее исправление: Bass (всего исправлений: 1)
Ответ на: комментарий от Bass

P.S. Но, в целом, Debian становится всё менее и менее пригоден для олдскульного десктопа. Пора перелезать на FreeBSD.

Тогда разумно сопровождающему в Debian написать и спросить про причины. Я так понимаю, что сама возможность не пропала, но сопровождающий решил отключить. Что за мотивация была — черт знает. Может, в девелоперской рассылке обсуждали или какой-то баг был заведен и закрыт отключением работы с xfs. Надо глянуть

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Bass

А еще можно завести баг к пакету в раздел wishlist с описанием юзкейса и просьбой вернуть все в зад. Вдруг что-то ответят и расскажут, зачем и почему это все произошло. Я тоже не понимаю, зачем все это отключать. Главное, чтобы в апстриме это дело не порекомендовали отключить. Сейчас пока выглядит все, как инициатива сопровождающих в Debian.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от Zubok

Причина была веская — CVE-2013-6462. Я так понимаю, в апстриме в конечном счёте всё починили, но в debian/rules никто ничего возвращать не стал.

Собственно, дырами в безопасности вызвано и то, что xfs в Jessie уже не включили, и я отчасти понимаю сопровождающих.

Но есть ненулевое количество олдфагов, которым этот xfs таки нужен.

Ещё раз спасибо. Сопровождающему напишу.

Bass ★★★★★
() автор топика
Ответ на: комментарий от Zubok

Я тоже не понимаю, зачем все это отключать.

Собственно, вместе с этими нововведениями теряется возможность изменить font path без перезапуска X-сервера (всякие xset fp+, xset +fp и xset fp rehash работают куда менее надёжно).

Сейчас пока выглядит все, как инициатива сопровождающих в Debian.

Именно так.

Евгений, ещё вопрос, раз такая пьянка. Если я, скажем, хочу вернуть в Debian xfs и сопровождать его — куда имеет смысл писать?

wnpp@debian.org?

Или debian-devel@lists.debian.org?

Bass ★★★★★
() автор топика
Ответ на: комментарий от Bass

И вот еще.

$ zless /usr/share/doc/libxfont2/changelog.Debian.gz 

...

  * CVE-2014-0210: unvalidated length fields when parsing xfs protocol replies
  * CVE-2014-0211: integer overflows calculating memory needs for xfs replies
  * Add breaks on xfs because we broke it by disabling font protocol support
    in 1.4.7.

 -- Julien Cristau <jcristau@debian.org>  Tue, 13 May 2014 17:25:49 +0200

...

  * Disable support for connecting to a font server.  That code is horrible and
    full of holes.

 -- Julien Cristau <jcristau@debian.org>  Tue, 07 Jan 2014 17:51:29 +0100

...

Надо преодолеть эту причину, чтобы все назад вернуть. То есть сделать так, чтобы код был не horrible и не full of holes. Можно Debian Developer не становиться, а узнать, что не нравится, исправить и слать патчи в апрстим через багзиллу на fd.o и потом еще дублировать в их девелоперскую рассылку. Но только diff оформлять по их правилам. А с Debian, наверное, просто согласовать: если все будет ок, они назад включат? А если там уже все ок и исправлено то, что тогда не понравилось сопровождающему, то попросить включить назад, а то наверняка сопровождающий не следит за этим.

А пока ты можешь просто пересобрать пакет и устанавливать его локально, хоть он и с дырами, по мнению DD.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 4)

вы упоротые там с тегом xfs :)

Deleted
()
Ответ на: комментарий от Bass

Причина была веская — CVE-2013-6462.

Скорее эти: CVE-2014-0210 и CVE-2014-0211. А CVE-2013-6462 касается другого.

Zubok ★★★★★
()
18 апреля 2019 г.

Прошло полтора года, и у меня наконец дошли руки: #927375.

Bass ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.