fidogate+rntrack
- From
- Andrey Kharchenko (2:5060/3.1)
- To
- All
- Date
- 2005-08-10T10:33:38Z
- Area
- RU.UNIX.FTN
Hello everybody.
Реализована такая связка: Fidogate-5.1.3ds(собран с ключом --enable-dnt-netmail, что бы не трогал нетмеил. При тоссинге он его перемещает в отдельный каталог у казанный опцией --with-netmaildir при сборке) и RNtrack 1.11
У меня работает так:
===[toss]===
#!/bin/sh
# тосит эхо мейл, нетмейл нетрогая перемещает в папку
# указанную --with-netmaildir при сборке
/usr/local/ftn/fidogate/bin/runinc
# обрабатывает папку с нетмелом в которую fidogate
# собранный с обцией --with-netmaildir перекинул весь нетмейл
/usr/local/ftn/rntrack/rntrack
===[toss]===
С обработкой эхомейла вопросов нет. FidoGate прекрасно с этим справляется.
Вопрос в RNtrack'е. Вот часть конфига отвечающая за обработку каталога в который Fidogate скинул весь нетмейл:
===[rntrack.cgf]===
Scandir: "##/usr/local/ftn/fidogate/var/spool/netmail"
\ Инбаунд
Mask: * * "areafix" 2:5060/3.9000 * *
Mask: * * "areafix" 7:1470/3.9000 * *
Action: Call "/usr/local/ftn/fidogate/libexec/ftnafpkt -I /usr/local/ftn/fidogate/var/spool/netmail -l"
\ Письма для ареафикса обрабатываем
Mask: * * "allfix" 2:5060/3.9001 * *
Mask: * * "filefix" 2:5060/3.9001 * *
Mask: * * "allfix" 7:1470/3.9001 * *
Mask: * * "filefix" 7:1470/3.9001 * *
Action: Call "/usr/local/ftn/fidogate/libexec/ftnafpkt -I /usr/local/ftn/fidogate/var/spool/netmail -l -F"
\ Письма для файлфикса обрабатываем
Mask: * * * * * -E
Action: Move "/usr/local/ftn/rntrack/netmail/in"
\ Распаковка входящих нетмэйловых пакетов
===[rntrack.cgf]===
Как на мой взгляд этот кусок работает: Проверяет каталок с нетмейлом на наличие писем для локального areafix или filefix.
- Если таких нет, то дальше вся почта перекладывается во внутренний каталог трекера, где подлежит дальнейшей проверке и в дальнейшем раскладывается на линков.
- Если же письма адресованные areafix или filefix найдены, отрабатывается действие Call, описанное в конфиге.
Все бы хорошо. Но недавно нашел слабое место в этом механизме. Если в каталок нетмела, в который fidogate перекладывает весь нетмейл поступает по одному .pkt, работает все хорошо. Но, если в этот каталог попадает несколько .pkt и среди них есть .pkt к areafix или filefix, более того, по алфавиту эти письма стоят перед .pkt с транзитной почтой, тут появляется большой глюк.
Условие за конфига RNtrack'а:
Mask: * * "areafix" 2:5060/3.9000 * *
Mask: * * "areafix" 7:1470/3.9000 * *
Action: Call "/usr/local/ftn/fidogate/libexec/ftnafpkt -I /usr/local/ftn/fidogate/var/spool/netmail -l"
Честно отрабатывается и запускает ftnafpkt и эта программка честно обрабатывает .pkt-шники адресованные ей, но по мимо их, она обрабатывает и все оставшиеся .pkt в каталоге /usr/local/ftn/fidogate/var/spool/netmail. Транзитные письма людей приходят в негодность.
ВОПРОС: Можно ли в RNtrack узнавать имя обрабатываемого файла?
Объясню! Написав в конфиге вот так:
Mask: * * "areafix" 2:5060/3.9000 * *
Mask: * * "areafix" 7:1470/3.9000 * *
Action: Call "/usr/local/ftn/fidogate/libexec/ftnafpkt -I /usr/local/ftn/fidogate/var/spool/netmail -l <имя .pkt>"
Будет обрабатываться Толька эта .pkt, другие трогать ftnafpkt не будет. Это и будет решение проблемы.
Andrey
--- GoldED+/W32 1.1.4.7
* Origin: Sirius (2:5060/3.1)
SEEN-BY: 46/50 400/814 450/1024 5000/5000 5010/53 5011/13 5012/46 5015/10
SEEN-BY: 5019/31 5020/545 715 4441 5021/29 5027/16 5030/115 5035/38 5036/34
SEEN-BY: 5053/16 5054/1 8 9 18 37 45 63 67 81 5059/9 5060/3 90 5062/10 5063/3
SEEN-BY: 5069/7 5077/70 5080/1003 5085/13 5092/1 5095/20 5096/18 6000/12 254
SEEN-BY: 6001/10
PATH: 5060/3 5020/545 5054/1 37