06.23.10

convert vmdk to raw.

Posted in opensource at 2:51 pm by viliar

# qemu-img convert -f vmdk BitrixVirtualAppliance-s001.vmdk BitrixVirtualAppliance-s002.vmdk BitrixVirtualAppliance-s003.vmdk -O raw bitrix.raw

# kpartx -av bitrix.raw
add map loop0p1 : 0 256977 linear /dev/loop0 63
add map loop0p5 : 0 8131505 linear /dev/loop0 257103
# mount /dev/mapper/loop0p5 /mnt/root1/
# mount /dev/mapper/loop0p1 /mnt/root1/boot/

perl-FCGI, RT3

Posted in opensource at 12:13 am by viliar

При обновлении Fedora12 отвалился Request Tracker (RT3) со следующей ошибкой:

Wide character in FCGI::Stream::PRINT Mason/CGIHandler.pm line 105.

Выяснилось, что в fedora очень удачно внесли обновления судя по- всему в perl-FCGI или в какой-то сопутствующий пакет, так что получилось как здесь:

http://www.opennet.ru/openforum/vsluhforumID8/6763.html 

Переводить все на просто CGI не захотелось, рекомендуемый downgrade не проходит, поэтому по мотивам поста с опеннет был сделан грязный хак в файле

/usr/lib/perl5/vendor_perl/5.10.0/HTML/Mason/CGIHandler.pm

#print STDOUT grep {defined} @_;
my @xout = ( grep {defined} @_ );
utf8::encode(@xout);
print STDOUT @xout;

Тикеты заработали. Спасибо себе хорошему, что не сделал снапшот (как делаю обычно перед обновлениями) и господам-мэйнтейнерам.

Update:

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

/usr/lib/perl5/vendor_perl/5.10.0/RT/Interface/Web.pm

--- ./lib/RT/Interface/Web.pm.orig	2009-12-11 17:27:20.000000000 +0000
+++ ./lib/RT/Interface/Web.pm
@@@@ -88,6 +88,7 @@@@ sub EscapeUTF8 {
$$ref =~ s/)/)/g;
$$ref =~ s/"/"/g;
$$ref =~ s/'/'/g;
+    $$ref = Encode::encode_utf8($$ref);
}

# }}}
@

Взято отсюда

Update2

История имеет продолжение. Как выяснилось, после правильного фикса проблема пропала при использовании одного браузера, но проявляется точно так же, как и в начале в другом. Пока не понятно, толи там как-то все завязано на User-Agent, то ли, м.б., виноват какой-нибудь кеш масона. Вечером буду копаться дальше.

Update3

Чуда не произошло. Будучи сильно стесненным во времени, я не стал разбираться, почему под FreeBSD со старым firefox оно не работает, не работает под Ubuntu с последней Оперой, но работает под Ubuntu c последним Firefox и под виндой тоже вполне себе. Хотя я уверен, что это был бы очень увлекательный разбор полетов. Поэтому для меня решили проблему следующие строчки по переводу всего хозяйства под mod_perl:
#FCGIWrapper “/usr/sbin/mason_handler.fcgi” .fcgifcgi-perl
#SetHandler fcgid-script
#ScriptAlias /  /usr/sbin/mason_handler.fcgi/

SetHandler perl-script
PerlResponseHandler RT::Mason
PerlRequire /usr/sbin/webmux.pl
Ну и активация mod_perl.

06.21.10

post systems, antispam.

Posted in mail at 1:15 pm by viliar

Кстати, уже пару лет как посещяет мысль написать пару статей, на предмет построения почтовой системы postfix+dovecot+sqlite и отдельного стоящего почтового прокси (mx) на основе postfix для фильтрации спама. Благо в обоих случаях есть опыт внедрения и в принципе, довольно результативного в плане работы антиспама. Таки судя по всему напишу.

Stay tuned! (c) :-)

postfix 2.8, sqlite

Posted in mail at 1:09 pm by viliar

В последнем снапшоте 20100618 добавили поддержку sqlite. Но добавили так, что на CentOS не собирается со следующей ошибкой:
“dict_sqlite.c:71:2: error: #error “Your SQLite version is too old”
dict_sqlite.c: In function ‘dict_sqlite_lookup’:
dict_sqlite.c:203: warning: implicit declaration of function ’sqlite3_prepare_v2′
make: *** [dict_sqlite.o] Error 1
make: *** [update] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.38770 (%build)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.38770 (%build)

Старые грабли, пару лет назад я на них уже наступал

Отправил письмо на postfix-devel, посмотрил, что разработчики скажут. Но скорее всего правильно будет на этапе компиляции проверять версию sqlite и использовать всякие ifdef’ы.

14 queries. 0.280 seconds