CONFIGFILE = "/usr/local/fidonet/etc/config"
DEBUGFILE = "/usr/local/fidonet/log/ifmail.debug"
LOGFILE = "/usr/local/fidonet/log/ifmail.log"
LOCKDIR = "/var/spool/lock"
PUBDIR = "/var/spool/uucppublic"
NEWSSPOOL = "/usr/local/news/spool"
# 386BSD:
OPTS = -DHAS_STATFS -DSTATFS_IN_MOUNT_H -DHAS_SETSID -DHAS_NDBM_H \
-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
-DHAS_REGEX_H -DHAS_TCP -DHAS_SYSLOG -DNEED_UUCPFROM \
-DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
-DHAS_SYS_ERRLIST -DHAS_BSD_SIGNALS \
-DINT32=long -DINT16=short \
-DHAS_SELECT \
-DHAS_FILLOG \
-DNO_RECEIVED \
-DNO_FROM \
-DSHOW_SPEED \
-DT_LINE \
-DFTN_MSGID \
-DEXT_FREQ \
-DHAVE_TXY \
-DSECURE_LOG \
-DEMSI_SIZE \
-DRM_SKIP \
-DPKT_PW \
-DLOCALE=\"ru.SU_KOI8-R\"
Добавьте опцию -DDONT_HAVE_GETOPT
если у вас не установлена
библиотека GNU getopt (отсутствуют файлы /usr/local/include/getopt.h,
/usr/local/lib/libgnugetopt.*. Если хотите, можете установить эту библиотеку
из packages/devel)-DPARANOID
, хотя я этого не делал.-DFORCEINTL
, при этом в письмах даже внутри
одной зоны будет ставиться INTL, например :
@TOPT 30
@INTL 2:5058/99 2:5020/0
@MSGID: 2:5058/99@fidonet 5c2bba89
@RFC-Message-ID: <12428.991029@domain.my>
[...]
Если вы любите читать логи, то опция -DHAS_SYSLOG
полезна тем, что
при ее установке логи пишутся как в ifmail.log (если установлена опция -DHAS_FILLOG
),
так и через syslog, что позволяет разделить вывод программ (ifcico, iftoss, ...)
по разным лог-файлам (если это вам нужно), например :
/etc/syslog.conf :
-------------------
!ifcico
*.* /usr/local/fidonet/log/ifcico
!ifmail
*.* /usr/local/fidonet/log/ifmail
!ifnews
*.* /usr/local/fidonet/log/ifnews
!ifunpack
*.* /usr/local/fidonet/log/ifunpack
[...]
-----------------
Опция -DNO_RECEIVED
влияет на наличие в
письме поля "Received:", например, если не устанавливать ее :
(нетмейл)
@MSGID: 2:5058/99@fidonet a7cd1089
@RFC-Message-ID: <8412.991029@domain.my>
Received: from host.domain.my (host.domain.my [192.168.12.34])
by host2.domain.my (8.9.3/8.9.3/vkx1) with ESMTP id JAA00189
for <Sysop@p1.f99.n5058.z2.fidonet.org>; Fri, 29 Oct 1999 09:53:57 +0600 (ESS)
[...]
Рекомендую ее не убирать.-DNO_FROM
влияет на наличие в теле
письма поля "From:", например, если не устанавливать ее :
(нетмейл)Рекомендую ее не убирать.@MSGID: 2:5058/99@fidonet a7cd1089 @RFC-Message-ID: <8412.991029@domain.my> From: Cool Sysop <fido@domain.my> [...]
(эхомейл)@MSGID: news.domain.my 60fbfeed @RFC-Message-ID: <7vb5nm$2ss_002@news.domain.my> From: fido@domain.my (Cool Sysop) [...]
-DT_LINE
, в tearline будет название вашей
почтовой программы (TheBat, PMMail, Eudora, etc.) - для нетмейла, и название
вашей читалки новостей (Forte Agent, NewsXPress, XNews, etc.) - для эхомейла.
Названия программ берутся из "X-mailer" и "X-Newsreader"
заголовков интернетовского письма, например :
(нетмейл)Если эта опция не установлена, то на месте tearline в эхомейле будет полное название ifmail'а, а в нетмейловом сообщении tearline будет отсутствовать вовсе, например :[...] --- The Bat! (v1.00) UNREGISTERED @Via 2:5058/99@fidonet, Wed Oct 27 1999 at 09:28 ifmail (2.14.os7)
(эхомейл)[...] --- News Xpress 2.01 * Origin: The one and only (2:5058/99@fidonet)
(нетмейл)Если опция[...] @Via 2:5058/99@fidonet, Wed Oct 27 1999 at 09:28 ifmail (2.14.os7)
(эхомейл)[...] --- ifmail v.2.14.os7 * Origin: The one and only (2:5058/99@fidonet)
-DDENY_BAD_HEADERS
не установлена, то куча заголовков
из вашего интернетовского письма попадет в его фидошный образ, например :
(нетмейл)Естественно, ее лучше установить, но предварительно почитайте о правомочности обрезания таких заголовков в транзитных письмах в misc/FAQ ("Q: How do I get rid of the RFC headers converted to that silly kludges in the FidoNet messages?"). Так что решайте сами - резать или нет. ;-)@MSGID: 2:5058/99@fidonet 2443a844 @RFC-X-Priority: 3 (Normal) @RFC-Message-ID: <16394.991027@domain.my> [...]
(эхомейл)@MSGID: news.domain.my 23585be8 @RFC-Path: news.domain.my!host1 @RFC-Sender: user1@host.domain.my @RFC-Distribution: big8 @RFC-Message-ID: <7v5qsp$2l8_002@news.domain.my> @RFC-NNTP-Posting-Host: host1.domain.my @RFC-X-Trace: host.domain.my 940994266 9561 192.168.12.34 (27 Oct 1999 03:17:46 GMT) @RFC-X-Complaints-To: newsmaster@domain.my @RFC-NNTP-Posting-Date: 27 Oct 1999 03:17:46 GMT [...]
-DFBOX
- поддержка файлбоксов. Подробнее о них рассказано ниже.-DHIDDENS
- поддержка hidden и override;-DAMIGADOS_4D_OUTBOUND
- Amiga-формат outbound'а. Перед использованием
убедитесь, поддерживают ли его другие ваши программы (binkd, filefix, etc.);-DHAS_FILE_ATTACH
(и прочие *ATTACH*
) - поддержка
транзитных файлаттачей. Я это не использовал;-DSHELL = \"/bin/sh\"
у меня пакет не смог
откомпилироваться (выдавалась ошибка в execsh.c);ACL
в iftoss (описано в файле README.access-list). Я не пробовал.
OPTS=
у меня стала
выглядеть примерно так (знаком "+"
выделены добавившиеся опции, знаком "-"
удаленные) :
# 386BSD:
OPTS = -DHAS_STATFS -DSTATFS_IN_MOUNT_H -DHAS_SETSID -DHAS_NDBM_H \
-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
-DHAS_REGEX_H -DHAS_TCP -DHAS_SYSLOG -DNEED_UUCPFROM \
-DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
-DHAS_SYS_ERRLIST -DHAS_BSD_SIGNALS \
-DINT32=long -DINT16=short \
-DHAS_SELECT \
-DHAS_FILLOG \
-DNO_RECEIVED \
-DNO_FROM \
-DSHOW_SPEED \
- -DT_LINE \
+ -DDONT_HAVE_GETOPT \
+ -DFORCEINTL \
+ -DDENY_BAD_HEADERS \
+ -DFBOX \
+ -DHIDDENS \
+ -DSHELL = \"/bin/sh\" \
-DFTN_MSGID \
-DEXT_FREQ \
-DHAVE_TXY \
-DSECURE_LOG \
-DEMSI_SIZE \
-DRM_SKIP \
-DPKT_PW \
-DLOCALE=\"ru.SU_KOI8-R\"
При прописывании этих опций не забывайте добавлять "\" в
конце каждой строчки.OPTS =
, идем дальше :BINDIR = /usr/local/fidonet/bin
OWNER = fido
GROUP = fido
SHARED=1
и включим SHARED=0
(при SHARED=1
у меня не получилось скомпилировать ifmail)LIBS
в секции Linux
, раскоментируем
LIBS
в секции 386BSD,FreeBSD
и добавим путь
-L/usr/local/lib
- если библиотека gdbm лежит там
(/usr/local/lib/libgdbm.*), иначе - поправьте. Соответственно нужно подправить
путь к gdbm.h : INCLUDES = -I${INCDIR} -I/usr/local/include
NEEDED =
в секции Linux
и
раскоментируем в секции SunOS,386BSD,FreeBSD
.NEEDED = signal.o
оставьте закоментаренной.
for d in iflib ifgate ifcico; do (cd $d && echo $d && make all) || exit; done;
iflib
"Makefile", line 40: Missing dependency operator
"Makefile", line 47: Need an operator
"Makefile", line 54: Need an operator
"Makefile", line 74: Missing dependency operator
"Makefile", line 77: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1
Stop.
то вам нужен GNU make. Если он не установлен, то в общем-то можно в Makefile'ах
из каталогов ifcico, ifgate, iflib ручками вычистить конструкции типа ifeq
(1,${SHARED}) / else / endif
, оставив части между else
и endif
(если мы компилируем без shared libs). Но лучше все же установить gmake, т.к.
он пригодится при компиляции других программ. Его можно взять из packages, секция
devel.fido:*:120:
fido:*:120:120::0:0:fidonet:/usr/local/fidonet:/bin/sh
,
заменив UID на незанятый, а GID на тот, что прописали для группы fido).---mkdirs.sh---------
#!/bin/sh
cd /usr/local/fidonet
mkdir bin
mkdir bin/areafix
mkdir bin/filefix
mkdir bin/freq
mkdir bin/stat
mkdir bin/route
mkdir fileboxes
mkdir etc
mkdir etc/areafix
mkdir etc/filefix
mkdir etc/freq
mkdir etc/ftrack
mkdir etc/route
mkdir etc/ifpolld
mkdir inbound.pro
mkdir inbound.unp
mkdir log
mkdir log/archive
mkdir magic
mkdir man
mkdir man/man1
mkdir man/man3
mkdir man/man8
mkdir nodelist
mkdir outbound
mkdir tmp
mkdir tmp/areafix
mkdir tmp/areafix/queue
mkdir tmp/filefix
mkdir tmp/filefix/queue
mkdir tmp/filefix/bad
mkdir tmp/filefix/tics
---------------------
Этот скрипт, конечно, создает несколько лишних на первый взгляд
каталогов, но на них я буду ссылаться в дальнейших описаниях.MANDATORY_MANPATH /usr/local/fidonet/man
$ ls -la /dev/cuaa*
crw-rw---- 1 uucp dialer 28, 128 29 окт 11:38 /dev/cuaa0
crw-rw---- 1 uucp dialer 28, 129 25 окт 00:26 /dev/cuaa1
crw-rw---- 1 uucp dialer 28, 130 23 окт 20:39 /dev/cuaa2
crw-rw---- 1 uucp dialer 28, 131 23 окт 20:39 /dev/cuaa3
Это uucp:dialer. Таким образом, для того, чтобы ifcico могла звонить, ее
владелец (fido) должен входить в группу dialer. Редактируем /etc/group :
dialer:*:68:fido
uucp:*:66:fido
logfile
и debugfile
можно закоментарить,
тогда будут использоваться значения, заданные в файле CONFIG при копиляции программы.address
прописываете ваш адрес и aka.include /usr/local/fidonet/etc/ifmail.passwd
,sysalias /usr/local/fidonet/etc/aliases
fido:
Cool_Sysop@p0.f99.n5058.z2.fidonet.org
myfqdn domain.my
,inbound /usr/local/fidonet/inbound.unp
listinbound /usr/local/fidonet/inbound.unp
protinbound /usr/local/fidonet/inbound.pro
outbound /usr/local/fidonet/outbound
-DEXT_FREQ
и собираетесь
разрешить у себя freq's, то прописываете путь к freq-процессору :ext_rp /usr/local/fidonet/bin/freq/ifextrp
magic /usr/local/fidonet/magic
nodelist /usr/local/fidonet/nodelist/nodelist
nodelist pnt5058.ndl 2:5058/0@fidonet
nodelist node99.ndl 2:5058/0@fidonet
domtrans .fidonet .fidonet.org
database /usr/local/fidonet/ifdbm,
sequencer /usr/local/fidonet/seq,
areas /usr/local/fidonet/etc/Areas.
badgroups
- на ваше усмотрение, я их вообще убрал.outtab /usr/local/fidonet/etc/outkoi8alt
intab /usr/local/fidonet/etc/outaltkoi8
-DNO_RECEIVED
и -DNO_FROM
received no
bodyfrom no
sendmail /usr/sbin/sendmail -f $F $T
rnews /usr/local/news/bin/rnews
iftoss /usr/local/fidonet/bin/iftoss
unzip /usr/local/bin/unzip -ojq $F
unarj /usr/local/bin/unarj e $F
unarc /usr/local/bin/unpack $F
unzoo /usr/local/bin/zoo -extract $F
packer /usr/local/bin/zip -9q $F $P
maxmsize
, а то 12.3k
- маловато.#newslog /usr/lib/news/log
#msgidbm /tmp/ifmsgids
ModemPort cuaa0:L115200
ModemPort (time Any1800-0800,Sat,Sun) cuaa1:L115200
PhoneTrans 7-3532- /
ModemDial ATDPW \T\r
options
выставляем желаемые опции (все они описаны в комментариях)# Вы же прочитали Readme.janus из -tma.5.3, да ? :-)
options NoJanus
EMSI data
прописываем информацию о станции, избегая '}' и ']'.
outbox 2:5058/500 /usr/local/fidonet/fileboxes/500-box
outbox 2:5058/0 /usr/local/fidonet/fileboxes/HOST-box
hidden 2:5058/500 7-3532-955-2408 CM
override 2:5058/99.1 7-3532-955-0944 1.22:00-5.09:00,6.00:00-7.24:00
$CRACK$.TALKS fido7.cracks.talks fido7
, т.е.
без спецсимволов.$CRACK$ crack
$CRACK$.TALKS crack.talks
ORN.SONGS&RHYTHMS orn.songs_rhythms
* *
О том, ставить или нет префикс fido7 во втором столбце - решайте сами. В простейшем
случае, если у вас только фидошные линки, то под каким именем inn хранит эху в
ньюс-базе - это ваше личное дело. Все равно при упаковке на линка ifmail ей
вернет "фидошное" название. Если же у вас есть источник usenet-ньюсов
(например ваш провайдер предоставляем вам доступ), то проще, конечно, придерживаться
единообразия.## =()<. @<_PATH_SHELLVARS>@>()=
if [ -r /usr/local/news/lib/innshellvars ]; then
. /usr/local/news/lib/innshellvars
LOG=/usr/local/fidonet/log/${PROGNAME}.log
CONF=/usr/local/fidonet/etc/config
## Get the compression flags.
echo "${PROGNAME}: [$$] begin ${SITE}"
case "${SITE}" in
f500.n5058.z2)
# На аплинка - crash (.clo)
IFNEWS_OPTIONS="-g C"
;;
# На пойнта - hold (.hlo)
p1.f99.n5058.z2)
IFNEWS_OPTIONS="-g H"
;;
# На всех остальных - по умолчанию (.flo)
*)
IFNEWS_OPTIONS="-g N"
;;
esac
,
Подкорректируйте путь к ifnews. Если у вас большой исходящий траффик, то можете
добавить ключик -b0 в строку с вызовом batcher'а (man batcher) :time batcher \
-p"/usr/local/fidonet/bin/ifnews ${IFNEWS_OPTIONS}
[...]
This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru Original of this document is located at http://howto.id.ru/ifmail.html Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2001 Last updated : March, 09, 2001 |