Как научить postfix + dovecot delivery класть письма в /dev/null
Расскажите, как письма приходящие на noreply@domain.com класть в /dev/null, при том что postfix раскладывает письма через dovecot delivery? База пользователей хранится в ldap.
Расскажите, как письма приходящие на noreply@domain.com класть в /dev/null, при том что postfix раскладывает письма через dovecot delivery? База пользователей хранится в ldap.
http://www.valdyas.org/fading/index.cgi/software/i_feel_dumb.comments
Стало интересно, кто на что жмет в этом диалоге и как к нему относится? :)
Фрагмент кода 1:
n = 32;
printf( "n = %d\n", n );
m_mask = ( (uint32_t)1 << n ) - 1;// << ( 32 - n );
printf("mask = %x\n", m_mask);
Результат:
n = 32
mask = 0
Фрагмент кода 2:
n = 32;
// printf( "n = %d\n", n );
m_mask = ( (uint32_t)1 << n ) - 1;// << ( 32 - n );
printf("mask = %x\n", m_mask);
Результат:
mask = ffffffff
Собирается код g++ -O2. Есть идеи куда копать?
Подскажите пожалуйста, как реализовать subj в перле? Т.е. нужно написать функцию в которую аргументы передаются по имени например some_function( -some_arg=>"value" ). Как внутри sub some_function{} получить значение $some_arg?
Пытаюсь разобраться со спиритом, но чего-то не могу собрать код с его использованием, может кто подскажет что я делаю не так? calc.h: #ifndef CALC_H #define CALC_H #include <boost/spirit/core.hpp> #include <stack> class Calc { public: double evaluate(char *expr); void do_push_value(double x){}; void do_add(char const*, char const*){}; void do_subt(char const*, char const*){}; void do_mult(char const*, char const*){}; void do_div(char const*, char const*){}; void do_pow(char const*, char const*){}; void do_neg(char const*, char const*){}; void do_cos(char const*, char const*){}; void do_sin(char const*, char const*){}; struct calculator : public boost::spirit::grammar<calculator> { template <typename ScannerT> struct definition { definition(calculator const&) { expression = term >> *( ('+' >> term)[&Calc::do_add] | ('-' >> term)[&Calc::do_subt] ) ; term = factor >> *( ('*' >> factor)[&Calc::do_mult] | ('/' >> factor)[&Calc::do_div] | ('^' >> factor)[&Calc::do_pow] ) ; factor = boost::spirit::real_p[&Calc::do_push_value] | '(' >> expression >> ')' | ('-' >> factor)[&Calc::do_neg] | ("cos" >> factor)[&Calc::do_cos] | ("sin" >> factor)[&Calc::do_sin] | ('+' >> factor) ; } boost::spirit::rule<ScannerT> expression, term, factor; boost::spirit::rule<ScannerT> const& start() const { return expression; } }; } calc; std::stack<double> stack; }; #endif // CALC_H calc.cpp: #include "calc.h" using namespace boost::spirit; ... double Calc::evaluate(char* expr) { parse_info<> info = parse(expr, calc, space_p); }; ..
В общем проблема заключается в том, что hal/привод определяет VideoDVD диски как DataDVD, вот и думаю что с этим можно сделать. Все это на iBook G4, дистрибутив Fedora 7 (ppc), версия hal - 0.5.9, привод - combo cdrw/dvd matshita cw-8124.
Вот что говорит hald при вставке диска:
...
[6632]: 19:48:06.537 [I] probe-volume.c:627: volume_id_probe_all returned 0
[6632]: 19:48:06.537 [D] probe-volume.c:123: volume.fsusage = 'filesystem'
[6632]: 19:48:06.537 [D] probe-volume.c:128: volume.fstype = 'udf'
[6632]: 19:48:06.538 [D] probe-volume.c:136: volume.uuid = ''
[6632]: 19:48:06.538 [D] probe-volume.c:143: volume.label = 'Constantine'
19:48:06.538 [I] hald_dbus.c:1240: volume.block_size -> 2048
19:48:06.538 [I] hald_dbus.c:1248: volume.size -> 4681957376
19:48:06.538 [I] hald_dbus.c:1232: volume.disc.type -> unknown
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.has_audio -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.has_data -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_blank -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_appendable -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_rewritable -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.has_data -> True
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_videodvd -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_vcd -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_svcd -> False
19:48:06.538 [I] hald_dbus.c:1264: volume.disc.is_videodvd -> False
19:48:06.538 [I] hald_dbus.c:1232: volume.disc.type -> dvd_rom
19:48:06.538 [I] hald_dbus.c:1248: volume.disc.capacity -> 4681957376
19:48:06.538 [I] hald_dbus.c:1232: volume.fsusage -> filesystem
19:48:06.538 [I] hald_dbus.c:1232: volume.fstype -> udf
19:48:06.538 [I] hald_dbus.c:1232: volume.uuid ->
19:48:06.538 [I] hald_dbus.c:1232: volume.label -> Constantine
19:48:06.538 [I] hald_dbus.c:1232: info.product -> Constantine
Может есть идеи как это победить и в чем именно проблема?
Знающие perl, подскажите пожалуста как следующий плюсовый код проще всего реализовать в perl
class T
{
public:
int value1;
int value2;
}
typedef std::vector<T> tlist;
т.е. нужна очередь записей из 2-х элементов с возможностью поиска, добавления и удаления.
Hi all!
Пытаюсь разобратся с редактированием тегов с помощью TagLib и наткнулся на одну странную вещь...
Объясните, почему этот код работает правельно:
...
TagLib::ID3v2::FrameFactory::instance()->setDefaultTextEncoding( TagLib::String::UTF8 );
TagLib::FileRef *f = new TagLib::FileRef( argv[1] );
TagLib::Tag *tag = f->tag();
tag->setTitle( "БлаБлаБла" );
f->save();
...
Т.е. записанный ID3v2 тег действительно в UTF8 и воспринимается всеми программами нормально.
А следующий код глючит:
...
TagLib::ID3v2::FrameFactory::instance()->setDefaultTextEncoding( TagLib::String::UTF8 );
TagLib::MPEG::File *f = new TagLib::MPEG::File( argv[1] );
TagLib::Tag *tag = f->ID3v2Tag();
tag->setTitle( "БлаБлаБла" );
f->save( TagLib::MPEG::File::ID3v2, false );
...
В этом случае в поле Title находится набор непонятных символов, такое чувство, что это UTF8 воспринимаемый всеми как latin1 ...
В общем где я туплю (или TagLib) и че делать?:)
Можно сказать впервые купил лицензионный AudioCD:) На этом диске есть бонус в качестве видеоклипа. Т.е. на диске 2 сессии: 1-я - 15 аудио треков, 2-я - Data/Mode2 XA Form1 с клипом. Вопрос - как млять посмотреть этот клип??? Диск не монтируется, с помощью readcd попробовал скопировать вторую сессию по секторам, но полученный образ не монтируется ...
Есть пара сайтов на которых konqueror не правильно определяет кодировку или сервер отдает неправельную, в основном это cp1251. Хочу повесить на хоткей установку кодировки в cp1251 для текущего таба, в принципе все просто 'dcop konqueror-4096 html-widgetXXX setEncoding windows-1251', кроме одного как узнать XXX для текущего таба?
Вышла новая версия второго по популярности аудио плейера под Linux (по данным linuxquestions.org) amaroK!
Нового в 1.2:
- Полная поддержка Audioscrobbler (www.audioscrobbler.org)
- Для хранения коллекции теперь можно ипользовать MySQL
- Значительно увеличилась скорость загрузки плейлиста
- 10-и полосный эквалайзер
- Загрузка текстов с lyrics.com
- Интеграция с iPod
- Новый OSD, поддержка прозрачности
- Визуализация с использованием libVisual
- Новый логотип :)
- Интерфейс для скриптов на python
Также в этой версии немного переделана перекодировка тегов (для mp3), при ее включении меняется приоритет чтения ID3 тегов с v2 на v1, что практически полностью решает проблему для российских пользователей с локалью отличной от cp1251!
Полный ChangeLog - http://webcvs.kde.org/kdeextragear-1/...
>>> Подробности
И так, есть perl скрипт который при запуске форкается и подключается к mysql через perl DBI, потом в вечном цикле пишет данные в базу.
Выглядит это примерно так:
---
#!/usr/bin/perl
fork && exit;
$dbh=DBI->connect("DBI:mysql:database=$mysqldbas;host=$mysqlserv;port=$m ysqlport",$mysqluser,$mysqlpass,{AutoCommit=>1,RaiseError=>0,PrintErr or=>1})||&errorcon;
while (<STDIN>)
{
$sth=$dbh->prepare("...");
$sth->execute();
$sth->finish();
}
---
Так вот, после обновления MySQL до 4.1.9, perl до 5.8.5, perl-DBI до 1.40 и perl-DBD-MySQL до 2.9004 скрипт перестал делать риконнект при таймаутах и обрывах, т.е. если на выходных никто не работает, и скрипт ничего не пишет в сокет то mysql убивает соединение и скрипт отваливается, раньше при тех-же условиях perl просто переподключался к мускулу:( Причем это происходит и при подключении через Unix Socket и через TCP Socket (правда в 2 раза чаще).
Есть какие нибудь идеии? А то kill -9 script_pid && /usr/local/bin/script в crontab'е совсем не модно:(
Основные нововведения в 1.1
- Автоматическая загрузка обложек
- Новый аудио-движок MAS
- Визард первого запуска
- Crossfading теперь поддерживаю два движка - aRTS и GStreamer
- "Продвинутый" редактор тегов с функцией загрузки тегов из сети и "mass-tagging"
- Улучшена система статистики композиций
- Интеграция с K3B для записи дисков прямо из плейлиста
- Возможность выбора кодировки для ID3v1 тегов!
Исправлено множество багов.
Полный ChageLog
Скриншоты
>>> Подробности
http://www.linux.org.ru/profile/Delay/view-message.jsp?msgid=664692
Сообщение удалено Demetrio по причине '22 числа ещё вышел'
Вышел он именно 26 числа!
http://amarok.kde.org/component/option,com_simpleboard/Itemid,/func,view/cati...
"We are most likely releasing amaroK 1.1 this weekend."
Может все-таки запостиш?
Всем привет. Люди помогите, у меня тут в институте закончилась технологическая практика, нужно писать отчет:( Тема - система учета и контроля проксируемого сетевого трафика. На диплом хочу писать полноценный биллинг. На данном этапе написал системку по типу squid2mysql. И пришло время писать отчет (40 - 60 листов), а мне вообще в голову ничего не лезет ... пошарился по нету, никакой инфы по теории, даже обоснования для разработки написать немогу:(, ни темболее ТЗ:) Может у кого есть какие идеи? Или кто уже писал ченить подобное ..., в общем выручайте! Предварительный отчет нужен до 25 августа:)
Помогите разобратся, чего нехватает в моем конфиге, для того чтобы squid брал объекты из кэша? Squid работает уже 4 дня на 8 пользователей, du -sh /var/cache/squid = 18M, при этом в access.log ни одной записи TCP_HIT, лиш изредка проскакивает TCP_IMS_HIT. В чем проблема?
Вот мой конфиг:
http_port 3128
visible_hostname PROXY
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
maximum_object_size 16384 KB
cache_dir ufs /var/cache/squid 1024 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
emulate_httpd_log on
ftp_user squid@aaanet.ru
ftp_list_width 32
ftp_passive on
hosts_file /etc/hosts
client_netmask 255.255.255.0
auth_param basic program /usr/lib/squid/mysql_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
authenticate_cache_garbage_interval 1 hour
authenticate_ttl 1 minutes
authenticate_ip_ttl 0 seconds
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl password proxy_auth REQUIRED
http_access allow password
http_access deny all
http_reply_access allow all
cache_effective_user squid
cache_effective_group squid
#logfile_rotate 0
error_directory /usr/share/squid/errors/Russian-koi8-r
coredump_dir /var/cache
Написал тут патчик для перекодировки ID3v1 тегов.
Плиз оцените, а то я первый раз что-то пишу под опенсорс, буду благодарен за здоровую критику:)
Подробности на http://www.redroot.ru/article.php?5.255
Пытаюсь разобраться с новой примочкой TagLib::ID3v1::setStringHandler для перекодировки ID3v1 тегов.
Вобщем написал клас для перекодировки, установил ее, и если для получения тегов использую TagLib::MPEG::File(patch).ID3v1Tag() то все замечательно кодируется, а если использую общий клас для всех аудио файлов TagLib::FileRef(patch).tag() или даже TagLib::MPEG::File(patch).tag() то нихера не работае. Но ведь TagLib::Tag это абстрактный клас, который зависти от типа аудио и наследуется TagLib::ID3v1::Tag, то почему не работает?
В документации по TagLib::MPEG::File::tag написано:
...
Returns a pointer to a tag that is the *union* of the ID3v2 and ID3v1 tags. The ID3v2 tag is given priority in reading the information -- if requested information exists in both the ID3v2 tag and the ID3v1 tag, the information from the ID3v2 tag will be returned.
...
А теперь вопрос это баг, или это фича?
Если это баг то уже пишу багрепорт:)
Если это фича или я мало что понимаю то как бороться?
Есть код: //id3v1stringhandler.h namespace TagLib { class ByteVector; class String; namespace ID3v1 { class StringHandler; } } class QTextCodec; class ID3v1StringHandler : public StringHandler { private: QTextCodec *m_codec; public: ID3v1StringHandler(); virtual String parse(const ByteVector &data) const; void setCodec(int index); }; //id3v1stringhandler.cpp #include <qtextcodec.h> #include <tstring.h> #include <id3v1tag.h> #include <tbytevector.h> #include "id3v1stringhandler.h" ID3v1StringHandler::ID3v1StringHandler() { m_codec=QTextCodec::codecForLocale(); } void ID3v1StringHandler::setCodec(int index) { m_codec=QTextCodec::codecForIndex(index); } String ID3v1StringHandler::parse(const ByteVector &data) const { return QStringToTString(m_codec->toUnicode(data.data(), data.size())); } Пытаюсь скомпилить: $ g++ -c id3v1stringhandler.cpp -I$QTDIR/include -I/usr/include/taglib -L$QTDIR/lib -lqt-mt -ltag В ответ куча ругани, если все инклуды прописываю в id3v1string.h и говорю using namespace std; то все работает, но тогда появляются конфликты в основном проекте. Вопрос: Как-же это все победить?:)
Люди подскажите как на плюсах можно посчитать md5 файла? Нашел в <kmdcodec.h> класс KMD5, но он считает md5 для определенного буфера, а как посчитать md5 для большого файла? загружать его полностью в память?
следующие → |