fossplanet.ru: Архив
2010-06-01 - 2010-06-30
Восток-2: первый выход в открытый космос. Воспоминания Алексея Леонова -- он, собственно, и выходил. А командиром экипажа был Павел Беляев.
2.6.32 belyayevВ детстве мы с папой были в Ленинграде, ходили в Русский музей. Там
мне очень понравилась меня просто поразила картина Куинджи "Лунная ночь над Днепром". Она прямо светится изнутри, на картинках из интернета этого не видно.
2.6.27-kuindzhi
Всю следующую неделю я в Берлине на
LinuxTag. Херлхихь вилькомен, если кто будет там в это время. Пока я точно знаю только про
andy_shev.
Если всё сложится, в следующем году
Libre Graphics Meeting будет во Вьетнаме.

И организовывать его будет вот эта милая девочка. Её зовут Hong Phuc Dang, ей 26 лет и у неё своя собственная небольшая
компания. А ещё у неё фуллтаймовая работа
вот здесь. Ну и кроме того в прошлом году она помогала в организации GNOME Asia 2009, а ещё она президент
FOSS.vn.
Пришел на саппорт реквест, который саппротеры до меня проэскалировали. Хотя мы еще вроде как продукта на базе 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 уметь надо!
Замучившись настраивать 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 в своей системе?
apt-cache rdepends libavahi-client3 в stable выдает 59 пакетов.
Из них большая часть - еще большее десктопное дерьмо вроде telepathy и totem, но попадаются и полезные вещи вроде libsane или libvirt-bin.
Так на глаз sane, libvirt, x11vnc и vlc. Может кому-то еще mpd понадобится, но мне нафиг не нужен.
UPD благодаря совету
besm6 удалось избавиться от зависимости evince от гномовских библиотек. Но вот inkscape пока остался.
Помните анекдот "На четвертый день великий вождь Винету догадался, что у сарая нет задней стены".
Вот по-моему, разработчики Mozilla foundation побили рекорд настоящего индейца. Концепеция плагинов в Мозилле существует еще со времен ранних Netscape, то есть не менее 15 лет,
и только в Firefox 3.6.4 додумались их запускать в отдельном процессе.
Нет бы сразу предложить авторам плагинов интерфейс через shared pixmap или reparenting x-ового окна.
Обновляюсь (пока писал, уже обновился) до нового (финального?) билда 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).
Кстати о птичках. Перед тем, как уйти с работы [домой на выходные], выпустил новый vzctl-3.0.24. Предыдущий раз такое случалось в ноябре 2008 года, с тех пор в
vzctl git репозитории накопилось ажно триста коммитов. Теперь сижу, затаив дыхание, и думаю -- вдруг каких глюков насажал туда. Хотя, по идее, всё больше починял да поправлял, выпрямлял да полировал. А вдруг доулучшался? Боязно.
Ещё у этого релиза очень большой (возможно, самый большой на данный момент) список людей, которые в него добровольно вложились (см.
тут) -- 32 человека, из них не меньше 14 русских. Из этих русских, правда, двое работают в Parallels (Кирилл Горкунов и Андрей Вагин), но они именно что добровольцы -- никто их над vzctl работать не заставлял, строгой необходимости не было. Поэтому и попали в этот список, а меня, например, там нет -- мне за это платят деньги.
В ближайших планах -- поддержать наконец маски для IP адресов, это мы просто протупили, не сделав с самого начала. Ещё убрать крон-джобы, заменив их на демона, использующего vzevent (или скрипт для udev -- но тогда надо в ядре делать стандартную udev-based нотификацию о событиях). Возможно также, что случится форк -stable и выйдут версии 3.0.24.1 и т.п. Ну и в целом надеюсь выпускать эту штуку почаще, а то как-то, мягко говоря, подзатянул...
http://code.google.com/p/pam-face-authentication/Вот что, оказывается, бывает. Надо собрать и себе на eee-pc приспособить.
С документацией там, как обычно в новых опенсурсных проектах, все ужасно.
Получаю удовольствие от переделки некрасивого кода на шелле в красивый. Доктор, меня вылечат?
Было (не моё, работает, но выглядит не очень):
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
}
Назад