22 февраля 2013

Впечатляющие достижения HTML5 и WebGL


В дополнение к портированию Sauerbraten: Cube 2 на HTML5 и WebGL (демо) Mozilla и разработчики 3D движка Unigine выпустили еще одну демку. Смотрится замечательно, хотя немного и притормаживает на моей Nvidia GeForce GT440.

Я не нашел способа включить отображение FPS, поэтому трудно сказать насколько быстро работает эта демка.

При создании этой демки используется Emscripten, позволяющий компилировать C++ код в JavaScript.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

21 февраля 2013

Предоставление доступа по известному ip адресу или через HTTP авторизацию

Если стоит задача разрешить доступ для некоторых клиентов (с известными ip адресами), а у остальных запрашивать HTTP авторизацию, то для Apache это можно сделать так:

Order Allow,Deny
Allow from x.x.x.x
Allow from y.y.y.y

AuthType basic
AuthName "Limited access. Login first!"
AuthUserFile /path/to/valid/.htpasswd
Require valid-user
Satisfy any

В этом случае если посетитель имеет ip адрес x.x.x.x или y.y.y.y, то ему будет предоставлен доступ без запроса пароля, в ином случае будет использована HTTP авторизация.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

mod_fcgid: read data timeout in 40 seconds

Сегодня обнаружилось, что на одном из серверов PHP скрипты падают с различными ошибками. В логах нашлось следующее

[Thu Feb 21 13:43:48 2013] [warn] [client 192.168.1.117] mod_fcgid: read data timeout in 40 seconds
[Thu Feb 21 13:43:48 2013] [error] [client 192.168.1.117] Premature end of script headers: install.php

Поскольку на сервере стоит cPanel, то проблема решается так:
  • увеличить лимит ожидания ответа (я выставил 3600 секунд), для этого нужно добавить в
    /usr/local/apache/conf/includes/pre_virtualhost_global.conf
    <IfModule mod_fcgid.c>
        FcgidIOTimeout 3600
    </IfModule>

  • обновить конфигурацию apache
    /scripts/rebuildhttpdconf

  • перезапустить apache
    service httpd restart

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

17 февраля 2013

Wine 1.5.24 для Debian Squeeze/Wheezy

Вышла новая версия Wine 1.5.24. Пакеты для Debian Squeeze (i386 и amd64) и Debian Wheezy уже заливаются в мой репозитарий, в скором времени будут доступны для установки.

Чтобы установить новую версию Wine в Debian Wheezy (amd64) вы можете воспользоваться инструкцией.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

15 февраля 2013

Перенос системы на диск 3TB

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

Прошлый апгрейд сервера прошел по схеме:
  • Подключаю к серверу новый диск;
  • Создаю таблицу разделов - два primary раздела (один для корня или /boot и второй для LVM2 PV);
  • Мигрирую LVM на новый диск: pvcreate, vgextend, pvmove, vgreduce, pvremove;
  • Переношу данные, которые были вне LVM (/ или /boot);
  • Устанавливаю загрузчик на новый диск (grub-install).
Но в этот раз технологии шагнули дальше и этот способ больше не годился...

08 февраля 2013

Опубликованы подробности уязвимости UPnP в устройствах различных производителей

В прошлом месяце было опубликовано предупреждение о скором раскрытии подробностей о критической уязвимости в беспроводных маршрутизаторах Cisco Linksys. Как и было обещано, на этой неделе опубликовали подробности этой уязвимости.

Суть уязвимости заключается в ошибке в реализации протокола UPnP в стеке Broadcom (используется в уязвимых устройствах Linksys) которая привела к возможности выполнения произвольного кода на уязвимом устройстве с правами привилегированного пользователя. Как оказалось позже, эта уязвимость касается многих устройств других производителей, использующих стек Broadcom. Примечательно, что часть этих устройств уязвима не только из локальной сети.

Согласно информации от Rapid7 из приблизительно 80 млн. устройств, найденных в сети, около 15 млн. - уязвимы.

Подобная уязвимость найдена и уже исправлена в libupnp - свободной реализации протокола UPnP.

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

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

04 февраля 2013

Wine 1.5.23 для Debian Squeeze/Wheezy

Выложил пакеты для Wine 1.5.23 в свой репозитарий для Debian Squeeze/Wheezy. Анонс новой версии.

На этих выходных выдался свободный час и я решил немного улучшить пакеты Wine (wine-unstable), которые я собираю для себя. На linux.org.ru мне порекомендовали обратить внимание на несколько моментов, которые не учтены в моих пакетах:
  • нет поддержки amd64;
  • нет поддержки OpenCL.

Поддержку OpenCL я добавил только вчера и только для версии под Wheezy (пришлось разделить пакет на два, поскольку я не в курсе как добавить "мягкую" зависимость в Build-Depends).

Пакет для Debian Squeeze под архитектуру amd64 я собрал довольно давно, но для Debian Wheezy у меня пока не получается из-за перехода на multi-arch. Это требует адаптации пакета, которая в свою очередь потребует свободного времени. Но как говорил один товарищ в известном фильме Гайдая - "тот кто нам мешает, тот нам и поможет" (C) Кавказская пленница.

Я это к тому, что при помощи multi-arch появилась возможность установить пакеты для архитектуры i386 в amd64 и использовать их без проблем (большинство пакетов Wine под amd64 являются простыми врапперами, которые предлагают установить 32-битную версию). Для этого нужно проделать несколько несложных манипуляций.

Сначала добавим стороннюю архитектуру (у вас ведь нативная amd64?):

root@wheezy ~# dpkg --add-architecture i386

Проверяем, что архитектура присутствует в списке доступных:

root@wheezy ~# dpkg --print-foreign-architectures
i386

Теперь подключите мой репозитарий в APT и обновите список пакетов:

root@wheezy ~# wget -q -O- http://www.tataranovich.com/tataranovich.asc | apt-key add -
root@wheezy ~# apt-get update

Теперь можно установить wine:

root@wheezy ~# apt-get install wine-unstable:i386

Этот способ не позволит запускать 64-битные приложения Windows, но большинству пользователей это не должно быть критично, т.к. я еще не знаю ни одного массового приложения, которое было бы доступно только для архитектуры x86_64.

Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.