24
Aug
2010

dcc-cgp helper

В предыдущей статье DCC для CGP я описывал свой патч для dcc-cgp. В настоящий момент в виде патча мои изменения поддерживать не так удобно, потому я сделал свой тарболл dcc-cgp-1.1.2-dcc-1.3.140.tar.gz

Это модифицированная версия dcc-cgp v1.1.2 и плюс исправленные патчи для накатывания на dcc-1.3.140.

Мои модификации dcc-cgp v1.1.2:

  • изменил коды ошибок GREY_XCODE и DCC_XCODE на x.9.9. Это позволяет сообщать отправляющей стороне о причине ошибки в момент работы greylist-инга;
  • изменил dcc_mk_su () для работы с новыми версиями dcc;
  • изменил GCP_PROTOCOLS – список протоколов, которыми сообщение может попасть в систему и будет обработано этим хелпером. В него добавлены некоторые WEB протоколы, но удалён RPOP;
  • немного исправлены информационные сообщения;
  • переименована функция strcasestr в _strcasestr.

Я уже больше года использую эти модификации на своей системе и пока доволен.

Если вы хотите пользоваться не модифицированной версией от автора dcc-cgp, то вам надо заменить dcc-cgp/dcc-cgp.c на версию из оригинального дистрибутива и модифицировать одну строку:

-      dcc_mk_su(DCCsu, hp->h_addrtype, hp->h_addr, Port);
+      dcc_mk_su(DCCsu, hp->h_addrtype, hp->h_addr, 0, Port);

Установка модифицированной версии аналогична оригинальной:

  • скачать и развернуть архивы dcc и dcc-cgp;
  • содержимое dcc-cgp перенести в дерево dcc;
  • накатить dcc-CGP.patch и для не FreeBSD систем не забыть накатить dcc-CGP-nonFreeBSD.patch;
  • для перехода к не модифицированной версии dcc-cgp заменить dcc-cgp/dcc-cgp.c из оригинального дистрибутива и изменить одну строку как это описано чуть выше;
  • собрать, установить и настроить dcc как это описано в его документации;
  • скопировать получившийся dcc-cgp/dcc-cgp в рабочую папку CGP и настроить его запуск как CGP хелпера.
0
Небольшое, но важное обновление хелпера поиска вложений для CGP: включено mu_message_destroy (). До этого оно было выключено по причине утечек памяти, которые вызывало. Но отсутствие mu_message_destroy () приводило к замусориванию /tmp директории. Сегодня в git версии mailutils появились исправления этих утечек и я включил mu_message_destroy (). После обновления findattach-cgp.c надо удалить мусор в /tmp:
 $ rm /tmp/mu*