LINUX.ORG.RU

Сообщения Bass

 

Почти детективная история

Форум — Security

Сегодня сподобился таки выяснить, что нового в новой версии одной среды разработки, и увидел какие-то нездоровые соединения по HTTPS с сетью 1e100.net:

$ netstat -4 -p | grep seamonkey
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 anthrax:44441 a104-126-161-235.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:60367 74.125.131.95:https     ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:55755 bam-7.nr-data.net:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:34895 ec2-52-17-140-88.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40711 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:58230 lk-in-f155.1e100.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:38400 server-205-251-21:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:47717 173.194.122.222:https   ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40707 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:44442 a104-126-161-235.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40708 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40706 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40710 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:60455 173.194.122.192:https   ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:40709 ec2-52-18-226-11.:https ESTABLISHED 17902/seamonkey
tcp        0      0 anthrax:42138 ec2-54-217-236-18:https ESTABLISHED 17902/seamonkey

В результате гугления было выяснено, что *.1e100.net, как и следует из названия, — это принадлежащий Google сервис проверки подлинности сайтов.

Буквально первая же ссылка ведёт на SuperUser.com, и комментарии там жгут:

Because Google loves you and just wants you to be happy. Like a benevolent big brother watching your every move and giving you the creepily specific targeted advertising you subconsciously know you need.

Окей, но мой браузер — ни разу не Chrome. WTF?!

  • Отключаю к чертям весь safe browsing (browser.safebrowsing.* в about:config).
  • Отключаю OCSP (security.OCSP.enabled=0).
  • Сношу HTTPS Everywhere.

На выходе same shit — мозилла лезет, куда не следует.

Окей, я не ленивый. Поднимаю BIND 9 и добавляю новую зону:

$TTL    604800
@       IN      SOA     ns.1e100.net. root.1e100.net. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.1e100.net.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
*       IN      A       127.0.0.1
*       IN      AAAA    ::1

Перезапускаю BIND, переписываю /etc/resolv.conf. Теперь всё должно работать:

$ host li-in-f155.1e100.net
li-in-f155.1e100.net has address 127.0.0.1
li-in-f155.1e100.net has IPv6 address ::1

Запускаю мозиллу — она снова лезет не туда (я наблюдаю ровно тот же вывод, что и в первом листинге, т. к. обратный DNS по-прежнему работает):

$ dig -x 173.194.220.155 | grep -A1 'ANSWER\ SECTION'
;; ANSWER SECTION:
155.220.194.173.in-addr.arpa. 84939 IN  PTR     lk-in-f155.1e100.net.

Причём сброс DNS-кэша операционной системы, её перезапуск и, наконец, запуск браузера с «чистым» профилем и без расширений тоже ни к чему не приводит. Напрашивается один из двух выводов:

  • либо Safe Browsing — это неотключаемая «фича», и через какой-то сервис браузер продолжает получать список IP-адресов для соединения по HTTPS,
  • либо источник проблемы не на клиенте, а на сервере, и какой-то чёртов JavaScript выполняет роль DNS (разумеется, уже без UDP-запросов на 53-й порт) в обход локального DNS (вы уж простите за конспирологические теории),
  • либо, наконец, я недонастроил локальный DNS.

Соответственно, вопрос: WTF и как с этим бороться? В кодовой базе SeaMonkey 2.40 (Firefox 43) «захардкоженных» IP-адресов и строк вида «1e100.net» я не нашёл.

И, чтобы два раза не вставать, вопрос №2.

Попутно, на волне паранойи, решил запретить на уровне DNS всякие facebook.com, fbcdn.net, fb.com, vk.com и прочую дрянь. Отлично, теперь при вводе в строке адреса браузера «fb.com» открывается локальный Apache. Я доволен. Но есть одно «но».

При попытке зайти на http://facebook.com (который, напомню, разрешается в 127.0.0.1) браузер пытается перейти на https://facebook.com, при том, что на моём локальном Apache не сконфигурирована HTTP Strict-Transport-Security и никаких HTTP 302 он тоже, разумеется, не шлёт. Причём версии браузеров трёхлетней давности такой ерундой не страдают.

WTF?! Опять начинаю искать в кодовой базе — и нахожу просто прелестное.

Без малого 3000 доменов, к которым надо ходить строго так, как приказал Большой Брат, описаны в файле security/manager/ssl/nsSTSPreloadList.inc.

И это ещё полбеды. Есть ещё security/manager/ssl/StaticHPKPins.h, содержащий фингерпринты X.509-сертификатов всё тех же сайтов.

Вопрос: как выключить этот чёртов HPKP (на этапе компиляции либо через about:config)? Хочу свой facebook.com с блэкджеком и шлюхами шахматами и поэтессами.

 , , ,

Bass
()

Аффинные преобразования в подсистеме Core X Fonts

Галерея — Скриншоты

Читал тут давеча стандарт (XLFD Conventions, 1989 года, автор — Джим Флауэрс (Jim Flowers) из DEC) и обнаружил для себя новое.

Оказывается, в поле ptSz можно указать не просто размер шрифта в десятках пунктов (120 == 12pt), а настоящие коэффиценты матрицы (в виде [x1 x2 y1 y2]) для аффинного преобразования символов. При этом пресловутое скалярное значение 120 соответствует матричным коэффициентам [12.0 0 0 12.0] (единичная матрица, умноженная на размер в пунктах; коэффициенты с плавающей точкой; отрицательные значения задаются через тильду (~) вместо минуса (-), поскольку минус является разделителем полей в XLFD).

Применение? Элементарно. Например, так можно получить курсив из обычного шрифта. Или обратный курсив (reverse oblique).

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

А Xft или FreeType так умеет? =)

 ,

Bass
()

Различный межстрочный интервал в зависимости от кодировки шрифта

Форум — Desktop

Исторически использовал Monotype Courier New в кач-ве шрифта XTerm (хорошо отображает и кирилицу, и псевдографику. Ну и, кроме того, он у меня использовался везде — в PuTTY на оффтопике, в IDE, во всяких вимах/емаксах и т. д.). После миграции с KOI8-R на UTF-8 (нет, я не с Луны свалился, это было уже много лет назад), заметил увеличение межстрочного интервала (тж известного как интерлиньяж), после чего любимый Courier New оставалось разве что выкинуть на помойку.

Вот так XTerm выглядел (и выглядит по сей день) в ru_RU.KOI8-R (12pt Courier New).

А вот так он выглядит сейчас (ru_RU.UTF-8, те же 12pt, та же ширина символов, размер терминала по-прежнему 80x24, но вот интерлиньяж увеличен, в результате чего линии псевдографики имеют характерные «разрывы» между строк).

Ну и, собственно, XTerm не один такой красивый. Все программы, использующие Core X11 Fonts, обнаруживают схожее поведение. Вот, например, xfontsel, например.

Что интересно, Courier New — это единственный чёртов TrueType-шрифт, за которым замечен такой грех. У других шрифтов, как -misc-freemono-*, межстрочный интервал от кодировки X11 не зависит.

Вопрос.

Как принудительно изменить межстрочный интервал для конкретного шрифта? В какую сторону смотреть? FreeType? Или Xft?

 , , ,

Bass
()

Core X11 шрифтов вопрос

Форум — Desktop

Это которые серверные и доступны через XLFD-описания (в основном Xaw, Motif, GTK+ 1.x, Qt 1.x).

Вот, помнится, раньше (в Debian до версии 6 («Squeeze») включительно) был такой пакет defoma (и ещё x-ttcidfont-conf к нему впридачу).

В процессе установки новых TrueType-шрифтов включались какие-то триггеры, в результате чего шрифты регистрировались не только в клиентском fontconfig'e, но и в xfs с автоматической доступностью всем X11-серверам в сети (в каталоге со шрифтами обновлялись/создавались fonts.dir/fonts.scale/fonts.alias, сам каталог дописывался в /etc/fs/config, процессу xfs посылался SIGHUP).

На стороне X11-сервера я только делал что-то наподобие «xset fp rehash» — и вуаля!

И вот теперь я типа портирвал этот самый defoma на Debian 7+, воткнул его в машину с Jessie, снёс и переустановил шрифты — и хрен по деревне. Никаких тебе триггеров, и dpkg-reconfigure не помогает. Что как бы наводит на мысль, что была ещё какая-то (ныне выпиленная) обвязка на стороне пакетов шрифтов как раз для интеграции с defoma.

Соответственно, у меня три вопроса:

  1. Кто ещё помнит, как работает defoma?
  2. Какие есть альтернативы? Запускать ручками mkfontscale каждый раз, когда я обновлю шрифты, не хочется. «crontab -e» не предлагать.
  3. Наконец, как с тем же самым обстоят дела в других ОС/дистрибутивах. Особенно интересны отклики пользователей Gentoo и семейства *BSD UNIX — вдруг мне с тёплого лампового дебиана уже сползать пора?

 , ,

Bass
()

Дебиановской политики пост

Форум — Development

Вот, решил тут реанимировать defoma, выкинутый из «Wheezy» без всякой альтернативы (автоматически добавлять новые шрифты в серверный X font path больше никто не умеет).

Ну, поправить зависимости — это понятно.

Но, помимо этого, вот здесь аршинными буквами написано, что

The package should be updated to follow the last version of Debian Policy (Standards-Version 3.9.6 instead of 3.6.2.0).

Я открыл этот Debian Policy — это ж простыня на 100 часов увлекательного чтения! Как мне быстро выяснить, где именно пакет не соответствует новой версии политики? Это я спрашиваю на случай, если maintainer уйдёт в несознанку или не поймёт моего русского.

 

Bass
()

TWIN, или ностальгия по Turbo Vision

Галерея — Скриншоты

Однажды на работе было особенно тоскливо, и решил я собрать эту штуку (а заодно и посмотреть на API).

ИМХО, для десктопа пока не годится (emacs, screen или, прости господи, tmux на экзотических терминалах куда стабильнее), но фичи же! Перекрывающиеся окна! Окна переменного размера! Поддержка Unicode! Расширяемое API!

Что примечательно, проект не делит ни строчки исходного кода ни с одним из форков оригинального Turbo Vision, т. е. велосипед был честно изобретён с нуля.

P.S. Проект уже давно переехал с SF (ещё скриншоты) на GitHub (завалите автора pull-реквестами).

P.P.S. Звиняйте за шрифты и обоину!

 

Bass
()

XmStringGenerate() в режиме XmMULTIBYTE_TEXT или XmWIDECHAR_TEXT

Форум — Development

Народ, а есть спецы, ещё помнящие X11/Motif? Что-то мне подсказывает, что среди моего поколения таких уже точно нет. Вопрос не праздный: http://stackoverflow.com/questions/34360066

 ,

Bass
()

Debian Linux 7.9 на SPARCv9

Галерея — Скриншоты

В связи с выходными и двухдневным периодом безделья было решено проверить работоспособность двух машин Sun Blade 100. На одной батарейка NVRAM-чипа сдохла, так что теперь или вооружаться надфилем/паяльником, или в очередной раз заказывать из-за океана — а вот вторая машина таки завелась.

( читать дальше... )

 , ,

Bass
()

Закос под OpenLook

Галерея — Скриншоты

... или как оно выглядело 10 лет назад.

P. S. Установка, вроде, прошла успешно.

Bass
()

HTTP 302 Moved Temporarily

Форум — Linux-org-ru

Админы, не знаю, насколько это является проблемой сервера, но обратите внимание.

Если лезть на linux.org.ru, 80 порт с GET / HTTP/1.0, то нормально выдаётся страница.

Если же лезть туда же с GET / HTTP/1.0, Host: linux.org.ru, то выдаётся HTTP 302 и редирект на www.linux.org.ru.

Проблема в том, что, в отличие от linux.org.ru/217.76.32.61, www.linux.org.ru не разрешается частью DNS-серверов (возможно, это временно). Приходится или использовать HTTP/1.0, или делать запись в /etc/hosts.

>>>

Bass
()

2 одинаковые сетевые платы

Форум — Linux-hardware

Товарищи,

скажите, пожалуйста,
каким образом система решает,
какая из двух сетевых плат станет eth0, а какая eth1?


Проблема в том, что нужно вставить в машину
вторую сетевую плату, идентичную первой
(с точностью до MAC-адреса, но в этом-то и загвоздка).

Обе платы -- 3c59x (3Com 905).

Все старт-скрипты, как назло, жёстко завязаны на eth0.

Существующая сетевая плата
(в т. ч. её HW Addr и Id внутри PCI-шины; видимо, рез-т вывода lspci) упомянута только в /etc/sysconfig/hwconf,
но на этот файл никто не ссылается.

Дистрибутив -- FC2.


Спасибо.

Bass
()

Проблема монтирования multisession DVD

Форум — Linux-hardware

Привет!

Скажите, пожалуйста, в каком состоянии сейчас находится поддержка мильтисессионных DVD-дисков?

А то гугл выдаёт описания проблем только для 2.6.8-2.6.9, а я столкнулся с морокой на более-менее новом 2.6.18.2.

При попытке примонтировать диск на консоль и в syslog с бешеной скоростью повалились сообщения вида:

> Jul 1 23:15:13 bass kernel: hdc: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33) > Jul 1 23:15:13 bass kernel: Uniform CD-ROM driver Revision: 3.20 > Jul 1 23:15:24 bass kernel: UDF-fs: No VRS found > Jul 1 23:37:27 bass kernel: __find_get_block_slow() failed. block=18446744073708838256, b_blocknr=4294253936 > Jul 1 23:37:27 bass kernel: b_state=0x00000020, b_size=2048 > Jul 1 23:37:27 bass kernel: device blocksize: 2048 > Jul 1 23:37:27 bass kernel: __find_get_block_slow() failed. block=18446744073708838256, b_blocknr=4294253936 > Jul 1 23:37:27 bass kernel: b_state=0x00000020, b_size=2048 > Jul 1 23:37:27 bass kernel: device blocksize: 2048 > Jul 1 23:37:27 bass kernel: __find_get_block_slow() failed. block=18446744073708838256, b_blocknr=4294253936 > Jul 1 23:37:27 bass kernel: b_state=0x00000020, b_size=2048 > Jul 1 23:37:27 bass kernel: device blocksize: 2048 > Jul 1 23:37:27 bass kernel: __find_get_block_slow() failed. block=18446744073708838256, b_blocknr=4294253936 > Jul 1 23:37:27 bass kernel: b_state=0x00000020, b_size=2048 > Jul 1 23:37:27 bass kernel: device blocksize: 2048

-- и машина практически повисла.

Используемый модуль -- ide_cd.

Кстати, решается ли проблема пересаживанием на ide_scsi?

Спасибо.

Bass
()

GTK/Qt и шрифты X-сервера

Форум — Desktop

Здравствуйте, товарищи!

Скажите, пожалуйста, как поведёт себя GTK/Qt-приложение в случае, если на клиентской машине вообще будут отсутствовать какие-либо шрифты, и единственные доступные шрифты будут на X-сеервере?

Например, мозиллу *раньше* (сейчас не знаю) можно было скомпилировать с поддержкой X server fonts (aka core X fonts) и без поддержки шрифтов локальных, так чтобы она не гоняла битмапы с клиента на сервер.

Также желаемая функциональность присутствует "из коробки" у Xt/Athena/Motif/CDE.

А вот можно ли навязать такое поведение приложению, которе использует Pango (с любым из бэкендов) или напрямую FreeType2 или Xft?

Спасибо.

Bass
()

Уязвимость в Solaris CDE

Новости — Безопасность
Группа Безопасность

Sun Microsystems сообщает, что в Session Manager'е CDE, dtsession, была обнаружена ошибка переполнения буфера, ведущая к повышению привилегий.

Уязвимы версии Solaris 2.8, 2.9 и 2.10.

Патчи доступны с sunsolve.sun.com.

Ссылки по теме: http://sunsolve.sun.com/search/docume... http://www.frsirt.com/english/advisor... http://www.zone-h.org/content/view/14...

>>> Подробности

Bass
()

Mozilla и производительность XUL

Форум — Development

Привет!

Как известно, практически любой продукт Mozilla Foundation представляет собой написанную на C++ виртуальную машину, которая отвечает за построение GUI из XML-описания (точнее, XUL-описания) и в которой в интерпретируемом режиме исполняется "логика", написанная на JavaScript.

Фактически, любое окно представляет собой комбинацию XUL-файла и JS-файла.

С одной стороны, это даёт относительную лёгкость разработки внешних расширений (не нужно знать C++),

с другой -- в силу сходства технологий производительность упомянутых программ по порядку величины сравнима с производительностью AJAX-приложений.

На днях посмотрел Оперу -- и, как в растаманской сказке, подумал: "Какая же она, сука, шустрая!" -- (это несмотря на то, что Qt -- "big and bloated").

Соответственно, вопрос знатокам: планируются ли какие-л. меры по оптимизации производительности XUL-приложений? М. б., JIT какой-нибудь?

Спасибо.

Bass
()

Официально анонсирован выход OpenMotif 2.3

Новости — Open Source
Группа Open Source

Напомню, что OpenMotif -- это одна из старейших (за вычетом, наверное, X Athena Widget) библиотек для построения GUI, лежащая в основе сред CDE/DeXtop/Indigo Magic и многих коммерческих продуктов для UNIX.

Что нового в версии 2.3:
* добавлена поддержка антиалиасинга шрифтов посредством XFT;
* поддержка UTF-8 и X11-атома UTF8_STRING;
* возможность отображать одновременно текст и растровые изображения в компонентах Label, LabelGadget и их производных;
* поддержка форматов растровой графики PNG и JPEG в дополнение к старому доброму XPM;
* наконец, исправлено 26 багов.


Исходный код, пакеты и прочие бинарные файлы:
http://www.motifzone.net/index.php?mo...

Документация:
http://motifzone.net/index.php?module...

Release Notes:
http://www.motifzone.org/index.php?mo...

>>> Официальный анонс

Bass
()

Потенциальный боян о GMail

Форум — Talks

Как отреагируете на следующее:

Мужику, использовавшему SeaMonkey + GreaseMonkey(Secure GMail Script) для доступа к web-версии GMail, отрубили этот самый доступ "за использование неразрешённых расширений браузера" (официальная формулировка).

Здесь:

http://www.theinquirer.net/default.aspx?article=37315

Bass
()

Патчи д/binutils

Форум — Development

Привет всем!

binutils-2.15 не компилируется gcc-4.0 в связи с тем, что использует массивы недоопределённого типа (см. http://gcc.gnu.org/gcc-4.0/changes.html -- "Arrays of incomplete element type are invalid in C. GCC now issues an error for such arrays.").

Вопрос: где взять патчи?

Заранее спасибо.

Bass
()

Варианты компиляции glibc

Форум — Development

Здравствуйте, все!

С какими ключами лучше всего конфигурить glibc для использования под ядра 2.4.x? Получалось:

a) с linuxthreads, --with-__thread, --without-tls

б) с linuxthreads, --without-__thread, with_tls (правда, в этом последнем случае make check говорит, что kernel is too old for thread local storage, но по субъективным ощущениям -- всё работает (и вроде даже быстрее).

С nptl -- ничерта не получилось.

Рабочее ядро -- 2.4.30, хедеры -- 2.6.11.7, gcc 3.4.3, binutils 2.15.

Где можно подробно почитать про квалификатор __thread и/или патчах для 2.4.x, включающих поддержку nptl и/или tls? Гуглить не предлагать -- уже пробовал.

Заранее спасибо.

Bass
()

glibc update

Форум — Development

Привет всем!

Недавно ручками обновил glibc, но после обнаружил, что в собранной вручную версии (по сравнению с дефолтной из дистрибутива) отсутствуют 2 дополнения:

The C stubs add-on version 2.1.2.
Glibc-2.0 compatibility add-on by Cristian Gafton

Вопрос: где достать? Поиск в google плодов не дал.
Заранее спасибо.

Bass
()

RSS подписка на новые темы