Перейти к содержимому


Фото
- - - - -

drweb-sender exit status = 127


  • Please log in to reply
6 ответов в этой теме

#1 y0sh1

y0sh1

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 17 Сентябрь 2013 - 08:49

Привет всем

 

Пытаюсь прикрутить drweb к exim через транспорт.  Делаю всё как описано в документации.

Проблема в том, что проверенная почта от дрвеб не может вернуться назад в Exim.

 

Ошибка в локe drweb

 

Sep 17 11:38:42 relay drweb-sender: [0x802409000] sender.pipe WARN 00000157/1VLnzl-00010m-Vd by authid <root> normal termination, exit status = 127; was error (pid=3897)

 

 

 

Главный конфиг

 

trusted_users = mailnull: drweb

 

Настройка рутера

 

drweb_router:
        driver = accept
        condition = "${if eq {$received_protocol}{drwebscanned}{0}{1}}"
        #check_local_user
        retry_use_local_part
        transport = drweb_transport

 

Если раскомментировать  check_local_user, то почта не уходит к дрвебу на проверку (роутер не срабатывает) - почта идет как обычно как если бы дрвеба не было

 

 

 

 

 

Настройка траспорта

drweb_transport:
        driver = lmtp
        socket = /var/drweb/ipc/.drweb_maild
        batch_max = 100
        timeout = 3m
        user = drweb
        headers_add = "X-Maild-Checked: DrWEB for Exim"

 

 



#2 valya krasnoglazova

valya krasnoglazova

    Newbie

  • Members
  • 94 Сообщений:

Отправлено 17 Сентябрь 2013 - 14:01

Добрый день,

 

1. покажите, пожалуйста настройки в секции [Sender]  maild_exim.conf

2. ls -al  на бинарь, который задан в Sender/Address



#3 y0sh1

y0sh1

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 17 Сентябрь 2013 - 14:09

[Sender]
StalledProcessingInterval = 10m
SendingIntervals = 0s, 10m, 1h, 4h, 12h, 1d, 1d
Method = pipe
MailerName = Exim
Address = /usr/local/sbin/exim
Options =
InPoolOptions = auto
OutPoolOptions = auto
HeloCmdTimeout = 5m
MailFromCmdTimeout = 5m
RcptToCmdTimeout = 5m
DataCmdTimeout = 2m
DataBlockTimeout = 3m
EndOfDataTimeout = 10m
OtherCmdsTimeout = 2m
PipeTimeout = 2m
SendDSN = no


# ls -al /usr/local/sbin/exim
lrwxr-xr-x  1 root  wheel  13 16 сен 16:06 /usr/local/sbin/exim -> exim-4.80.1-2
# ls -al /usr/local/sbin/exim-4.80.1-2
-rwsr-xr-x  1 root  wheel  1029144 16 сен 16:06 /usr/local/sbin/exim-4.80.1-2
#



#4 valya krasnoglazova

valya krasnoglazova

    Newbie

  • Members
  • 94 Сообщений:

Отправлено 17 Сентябрь 2013 - 14:14

если тут все нормально надо смотреть по логам Exim,  инжекту обработанного письма могут мешать в данном случае:

 

- проверки в ACL для локальных/всех писем (ограничения на длину значений headers, размер письма, проверки адресов для конверта, тела)

 

- недостаток прав на запись или переполнение /var/spool/exim/input: 

 

у юзера от имени которого стартует /usr/sbin/exim (в случае интеграции с MailD это будет drweb) - должны быть права на запись в /var/spool/exim/input  - но тогда в логах, конечно, был бы виден Permission denied

 

в любом случае хочется увидеть весь лог exim для обработки данного письма



#5 valya krasnoglazova

valya krasnoglazova

    Newbie

  • Members
  • 94 Сообщений:

Отправлено 17 Сентябрь 2013 - 14:16

приаттачьте, плииз, в личку лог maild + лог exim на момент обработки  - так будет легче разбираться

 

с настройками [Sender] все ок.

 

Exim, если можно, в debug режиме пустите:  /usr/local/sbin/exim -bd -q10m -dd   - будет сразу видно, выполняются ли какие-либо проверки при локальном инжекте

 

 

в доке по Exim кстати, касательно кода выхода 127

 

If Exim is unable to run the command (that is, if execve() fails), the return code is set to 127. This is the value that a shell returns if it is asked to run a non-existent command. The wording for the log line suggests that a non-existent command may be the problem.

 

http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_pipe_transport.html


Сообщение было изменено valya krasnobaeva: 17 Сентябрь 2013 - 14:25


#6 valya krasnoglazova

valya krasnoglazova

    Newbie

  • Members
  • 94 Сообщений:

Отправлено 17 Сентябрь 2013 - 15:40

Если раскомментировать  check_local_user, то почта не уходит к дрвебу на проверку (роутер не срабатывает) - почта идет как обычно как если бы дрвеба не было

 

проверка check_local_user в роутере  заключается в том, что exim путем системного вызова getpwnam() проверяет  local-part адреса получателя на принадлежность к пользовательским аккаунтам на данном хосте, если аккаунт пользователя из local-part адреса найден  - роутер выполняется, если нет - скипается и управление передается следующему по списку роутеру

 

то есть скорее всего local-part не был найден в списке системных аккаунтов => drweb_router был проскипан

 

таким образом, если в настройках drweb_router данную проверку раскомментарить - для локальных юзеров почта проверяться на вирусы и спам не будет.


Сообщение было изменено valya krasnobaeva: 17 Сентябрь 2013 - 15:41


#7 y0sh1

y0sh1

    Newbie

  • Posters
  • 10 Сообщений:

Отправлено 18 Сентябрь 2013 - 08:49

я перекомпилил Exim и все его зависимости и сейчас ситуация поменялась: см. тему drweb + exim router => mail loop:   http://forum.drweb.com/index.php?showtopic=315238


Сообщение было изменено y0sh1: 18 Сентябрь 2013 - 08:49



Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых