fossplanet.ru: Архив

2010-06-01 - 2010-06-30

великие космонавты и художники

Кирилл Колышкин (kir) 01.06.2010 16:15:30

Восток-2: первый выход в открытый космос. Воспоминания Алексея Леонова -- он, собственно, и выходил. А командиром экипажа был Павел Беляев. 2.6.32 belyayev

В детстве мы с папой были в Ленинграде, ходили в Русский музей. Там мне очень понравилась меня просто поразила картина Куинджи "Лунная ночь над Днепром". Она прямо светится изнутри, на картинках из интернета этого не видно. 2.6.27-kuindzhi
(number of comments Comments |Comment on this)

берлин, линукстаг

Кирилл Колышкин (kir) 05.06.2010 17:48:06

Всю следующую неделю я в Берлине на LinuxTag. Херлхихь вилькомен, если кто будет там в это время. Пока я точно знаю только про [info]andy_shev.
(number of comments Comments |Comment on this)

Не могу не поделидзэ :)

Unknown author 07.06.2010 10:06:08

Если всё сложится, в следующем году Libre Graphics Meeting будет во Вьетнаме.

Louis и Hong Phuc

И организовывать его будет вот эта милая девочка. Её зовут Hong Phuc Dang, ей 26 лет и у неё своя собственная небольшая компания. А ещё у неё фуллтаймовая работа вот здесь. Ну и кроме того в прошлом году она помогала в организации GNOME Asia 2009, а ещё она президент FOSS.vn.

И где они такую траву берут?

Victor Wagner (vitus) 08.06.2010 09:06:36

Пришел на саппорт реквест, который саппротеры до меня проэскалировали. Хотя мы еще вроде как продукта на базе OpenSSL 1.0.0 не продаем, но вопросы уже задают:

> Нас интересует работа ГОСТ (89, 94, 2001) в openssl, и хотелось бы
> посмотреть на работу этих алгоритмов.
> Из описания на вашем сайте поддержки российских криптоалгоритмов в
> openssl, дана информация что в состав openssl версии 1.0.0 и выше уже
> включена поддержка росалгоритмов, разработанные вами.
> Я использовал src.rpm и rpm-пакеты openssl версии 1.0.0-3 из репозитария
> Fedora.
> При пересборке и установке openssl, и после выполнения любой команды с
> обращением к требуемым алгоритмам появляется ошибка, например:
> ---------------------------------
> openssl req -newkey gost2001:A -keyout mykey.p8 -out mykey.req
> Unknown algorithm gost2001
> ---------------------------------
> Пытался пересобирать пакет, отредактировав spec-файл (по разным
> источникам надо добавить парамерты в блок конфигурации enable-gost89
> enable-2001, по другим просто enable-gost) всё равно алгоритмы ГОСТ не
> были включены после установки

Блин, по каким-таким источникам? Скрипт Configure в OpenSSL не автоконфом каким сгенерен, человеком писан. Его читать можно. Там даже комментарии есть. И это есть единственный и неповторимый источником знаний о том, какие возможны опции. enable-gost бывает. Но она включена по умолчанию.

Засада в том, что в fedora собирают OpenSSL с no-ec. А если no-ec, то извините, никакого вам ГОСТа Потому что гост на эллиптических кривых. Еще почему-то также требуется dsa и dh. Если что-то из этих трех выключено, то $disable{"gost"} выставляется в "forced" и никакие отдельные enable не помогут, пока не сделаешь enable пререквизиту.

Вторая засада заклюючается в fips. Это - американская сертификация. И требования этой сертификации запрещают использовать не-фипс алгоритмы. Редхатовцы собирают openssl в FIPS mode, чем эффективно режут возможность работы с неамериканскими национальными алгоритмами.


Плюс еще у них некоторые приложения вроде sshd используют FIPS-cпецифичный API, поэтому сделать drop-in replacement не так-то просто, хотя и возможно.

И еще эти извращенцы из RedHat включили в свой rpm патчик, который искусственно занижает OPENSSL_VERSION_NUMBER до номера версии той беты, с котрой они впервые собирались. Хотя с тех пор уже вышло три беты и два релиза. Потому что у них тот же sshd проверяет OPENSSL_VERSION_NUMBER на ТОЧНОЕ равенство. Ну если бы он хотя бы младшую цифру проверял на больше либо равно...

Я понимаю, что человек столкнувшийся впервые с криптографией может всех этих тонкостей не знать. Но читать-то код на perl уметь надо!

hostapd нв Eee PC 900

Victor Wagner (vitus) 10.06.2010 19:33:15

Замучившись настраивать Ad-hoc режим у сетевого адаптера на ноутбуке жены (там дистрибутивное ядро из lenny и madwifi) решил поставить hostapd на свой ноутбук. И не иметь хлопот с организацией сети из всех имеющихся устройств с wifi.

Выяснилось, что hostapd из lenny не умеет работать с драйвером ath5k (у меня-то на ноутбуке ядро из бэкпортов, и где atheros-овские карточки поддерживаются стандартными драйверами).
Пришлось бэкпортить hostapd из squeeze.

Дальше все получилось очень просто. В /etc/network/interfaces завелся отдельный интерфейс
ifaсe wifimaster inet static
address 192.168.xxx.xxx
netmask 255.255.255.0
hostapd /etc/hostapd/hostapd.conf
up /usr/local/sbin/wifimaster enable
down /usr/local/sbin/wifimaster disable

/usr/local/sbin/wifimaster это скрипт который включает форвардинг, добавляет в iptables правило с -jMASQUERADE и перезапускает dnsmasq (который все равно есть. потому что не иметь на ноутбуке кэширующего DNS-сервера - подлое транжирство) с конфигом, в котором тот становится DHCP-сервером и DNS-сервером для всей сети за wifi интерфейсом.
#!/bin/sh

case "$1" in
yes|enable|start|on)
        /etc/init.d/dnsmasq stop
        DNSMASQ_OPTS="--conf-file=/etc/dnsmasq.conf.wifimaster" /etc/init.d/dnsmasq start
        echo 1 > /proc/sys/net/ipv4/ip_forward
        iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -d 0.0.0.0/0 -j MASQUERADE 
;;
no|disable|stop|off)
        /etc/init.d/dnsmasq stop
        /etc/init.d/dnsmasq start
        echo 0 > /proc/sys/net/ipv4/ip_forward
        iptables -t nat --flush
;;
*) echo "Usage $0 enable|disable:"
;;
esac

В конфиге hostapd естественно весь из себя WPA2 и PSK. Можно было бы и с EAP-TLS повозиться, но мне лень. Конфиг hostapd приводить не буду ибо длинный. И 90% его занимают комментарии, из которых все понятно.

Далее для того чтобы переключить интерфейс ath0 из режима WiFi station в режим wifi access point достаточно выполнить две команды
ifdown ath0
ifup ath0=wifimaster

Ну и наоборот - еще проще. Даже без знака = и того, что за ним.

avahi

Victor Wagner (vitus) 23.06.2010 09:15:45

Вот интересно, сколько пакетов нужно пересобрать, чтобы совсем избавиться от avahi в своей системе?

apt-cache rdepends libavahi-client3 в stable выдает 59 пакетов.

Из них большая часть - еще большее десктопное дерьмо вроде telepathy и totem, но попадаются и полезные вещи вроде libsane или libvirt-bin.
Так на глаз sane, libvirt, x11vnc и vlc. Может кому-то еще mpd понадобится, но мне нафиг не нужен.

UPD благодаря совету [info]besm6 удалось избавиться от зависимости evince от гномовских библиотек. Но вот inkscape пока остался.

Любителям плагинов

Victor Wagner (vitus) 23.06.2010 10:59:07

Помните анекдот "На четвертый день великий вождь Винету догадался, что у сарая нет задней стены".

Вот по-моему, разработчики Mozilla foundation побили рекорд настоящего индейца. Концепеция плагинов в Мозилле существует еще со времен ранних Netscape, то есть не менее 15 лет, и только в Firefox 3.6.4 додумались их запускать в отдельном процессе.

Нет бы сразу предложить авторам плагинов интерфейс через shared pixmap или reparenting x-ового окна.

updated to Android 2.2 Froyo final

Кирилл Колышкин (kir) 24.06.2010 20:52:49

Обновляюсь (пока писал, уже обновился) до нового (финального?) билда Froyo -- FRF83. Предыдущий (FRF50), который появился во время Google I/0, был, видимо, бетой для журналистов и т.п. Все нормальные люди ждут, пока апдейты придут по воздуху, а мне неймётся.

Ну вот, взял файлик signed-passion-FRF83-from-FRF50.38d66b26.zip, положил его в корень SD карточки под именем update.zip, далее следовал инструкции. Всё прошло как по маслу, всё работает. Подозреваю, что новой функциональности никакой не будет, а только всякие багфиксы.

Заодно между делом узнал, что был ещё один промежуточный апдейт не для всех -- FRF72. "Все" [нормальные люди], как я понимаю, получат по воздуху апдейт с 2.1sp1 (ERE27) сразу до FRF83.

Понял, что буква E -- от Eclair (Android 2.1), а F -- от Froyo (Android 2.2). Ну и, понятное дело, следующая версия будет называться на букву G (Gingerbread).
(number of comments Comments |Comment on this)

vzctl

Кирилл Колышкин (kir) 25.06.2010 22:13:35

Кстати о птичках. Перед тем, как уйти с работы [домой на выходные], выпустил новый vzctl-3.0.24. Предыдущий раз такое случалось в ноябре 2008 года, с тех пор в vzctl git репозитории накопилось ажно триста коммитов. Теперь сижу, затаив дыхание, и думаю -- вдруг каких глюков насажал туда. Хотя, по идее, всё больше починял да поправлял, выпрямлял да полировал. А вдруг доулучшался? Боязно.

Ещё у этого релиза очень большой (возможно, самый большой на данный момент) список людей, которые в него добровольно вложились (см. тут) -- 32 человека, из них не меньше 14 русских. Из этих русских, правда, двое работают в Parallels (Кирилл Горкунов и Андрей Вагин), но они именно что добровольцы -- никто их над vzctl работать не заставлял, строгой необходимости не было. Поэтому и попали в этот список, а меня, например, там нет -- мне за это платят деньги.

В ближайших планах -- поддержать наконец маски для IP адресов, это мы просто протупили, не сделав с самого начала. Ещё убрать крон-джобы, заменив их на демона, использующего vzevent (или скрипт для udev -- но тогда надо в ядре делать стандартную udev-based нотификацию о событиях). Возможно также, что случится форк -stable и выйдут версии 3.0.24.1 и т.п. Ну и в целом надеюсь выпускать эту штуку почаще, а то как-то, мягко говоря, подзатянул...

Их знали только в лицо...

Victor Wagner (vitus) 28.06.2010 17:58:41

http://code.google.com/p/pam-face-authentication/

Вот что, оказывается, бывает. Надо собрать и себе на eee-pc приспособить.
С документацией там, как обычно в новых опенсурсных проектах, все ужасно.

shell code refactoring

Кирилл Колышкин (kir) 29.06.2010 12:14:51

Получаю удовольствие от переделки некрасивого кода на шелле в красивый. Доктор, меня вылечат?

Было (не моё, работает, но выглядит не очень):

function fix_ifup_route()
{
        local file=/etc/sysconfig/network/scripts/ifup-route
        if grep -q 'run_iproute $ACTION to $TYPE $DEST via $GWAY $IFACE $IPOPTS' ${file} >/dev/null; then
                /bin/cp -a ${file} ${file}.$$ || return
                /bin/sed -e 's|run_iproute $ACTION to $TYPE $DEST via $GWAY $IFACE $IPOPTS|run_iproute $ACTION to $TYPE $DEST ${GWAY:+via $GWAY} $IFACE $IPOPTS|' < ${file} > ${file}.$$
                if [ $? -ne 0 ]; then
                        rm -f ${file}.$$ 2>/dev/null
                fi
                mv -f ${file}.$$ ${file}
        fi
}

Стало (моё, работает, выглядит более-менее):

# Fix a bug in sles9 ifup-route script
function fix_ifup_route()
{
       local file=/etc/sysconfig/network/scripts/ifup-route
       local str='run_iproute $ACTION to $TYPE $DEST via $GWAY $IFACE $IPOPTS'
       if grep -q "$str" $file; then
               sed -i -e "/$str/s/via \$GWAY/\${GWAY:+via \$GWAY}/" $file
       fi
}

Назад