Этот документ описывает использование fidoconfig для того, чтобы fido работало на вашей любимой платформе.
Этот документ применим к fidoconfig версии 1.4.
Целью написания fidoconfig было создание единого конфигурационного файла для нескольких разных fido программ: редактора, тоссера и т.д. Дополнительной целью было создание одной библиотеки (fidoconfig), которая может быть использована всеми программами. Преимущество в том, что вам придется редактировать один конфигурационный файл, так что изменять параметры системы намного проще, чем в обычных программных пакетах. Также баги могут прокрасться только в одну библиотеку, а не в тысячи и тысячи библиотек. Конфиг может быть использован во всех операционных системах. Библиотека также должна быть вполне портируемой.
Это раздел описывает написание конфигурационного файла fidoconfig, используемые ключевые слова и расположение файла.
Библиотека fidoconfig ищет конфигурационный файл в разных местах:
Если вы собираете библиотеку с помощью huskymak.cfg, расположение может быть переопределено параметром CFGDIR.
Также вы можете установить переменную окружения FIDOCONFIG, указывающую
на конфигурационный файл:
set FIDOCONFIG=e:\bbs\fidoconfig\config
FIDOCONFIG=~/fidoconfig/config
export FIDOCONFIG
Конфигурационный(е) файл(ы) должны быть доступны для чтения. Если вы собираетесь использовать возможности автосоздания арий HPT/HTICK/и т.д., файлы должны быть доступны для записи.
Все символы не регистрозависимы.
{<whiteSpace>} в начале строки игнорируется.
Все ключевые слова обрабатываются по порядку, первое найденное подходящее слово признается действующим. Если допускается несколько ключевых слов одного типа, действующим считается последнее, подходящее ситуации. Другими словами, следующее определение перебивает предыдущее. Если ключевое слово не найдено, используеся значение по умолчанию.
"#" в начале строки или <whiteSpace>#<whiteSpace> в строке означают начало
комментария. Комментарий заканчивается с концом строки. Символ комментария "#"
может быть переопределен с помощью токена commentChar.
Если первое слово в строке - неизвестно, программа выходит с сообщением об ошибке.
Каждое ключевое слово должно находиться на отдельной строке.
Параметры ключевых слов:
<integer>1234567890
<string><bool><addr>2:5000/117
<file><path>Замечание! [<parameter>] означает, что параметр может быть опущен.
Библиотека FIDOCONFIG может устанавливать внутренние переменные:
set basedir=/home/user/fido/
Переменная [OS] автоматически устанавливается для следующих ОС:
Вы можете установить что-то вроде:
if [OS]==UNIX
tearline `uptime`
endif
Некоторые программы могут быть скомпилированы с переменной module. Она может быть использована для ускорения парсинга конфига:
if [module]==htick
include /etc/ftn/fileareas
endif
Если работает HPT, файлобласти не парсятся, так как [module]==hpt.
Доступны следующие modules:
Также могут быть использованы внешние переменные:
autoexec.bat:
SET VAR=myvar
fidoconfig:
if [VAR]==myvar
...
else
...
endif
ifdef UNIX
MsgBaseDir [home]/msgbase
endif
Вы можете использовать программный вывод через `cmd`. Это доступно
только для UNIX и OS/2+EMX:
Name Power Station under `uname -mrs`
Список доступных команд:
Вы можете сравнивать с шаблоном, используя =~ и !~ вместо == и !=:
if [VAR] =~ *substr*
...
endif
if [VAR] !~ bla?bla*
...
endif
Эти ключевые слова могут использоваться несколькими программами. Более спицифичные ключевые слова вы найдете в документациях соотвествующих программ.
version <integer>.<integer>
version 0.13
Здесь вы указываете, к какой версии fidoconfig относится ваш конфиг. В настоящее время этот оператор ничего не делает.
Этот оператор не может повторяться.
name <string>
name Leetebrok BBS
Здесь вы указываете название вашей системы.
Этот оператор не может повторяться.
location <string>
location Dusseldorf
Здесь вы указываете свое местоположение.
Этот оператор не может повторяться.
sysop <string>
sysop Matthias Tichy
С помощью этого ключевого слова вы указываете свое имя.
Этот оператор не может повторяться.
include <file>
include /etc/fido/areas
Вы можете включать другие файлы в ваш конфигурационный файл. Например, если вы хотите иметь меняющиеся части конфига, вы можете включить файл и (через cron или вручную) изменять его содержание без изменения остального конфига. Вы также можете рзделить конфиг на несколько частей. Таким образом вы сможете иметь определения файларий отдельно от эхоарий. Это даст более легкий обзор конфига.
Этот оператор может повторяться. Но не делайте рекурсивных включений, т.е. включений файла, который включает другой файл, который включает первый. Хотя в большинстве случаев это будет обнаружено и исправлено, не исключен случай, когда обнаружение не произойдет.
Address <addr>
Address 2:2433/1245
Эта команда указывает, какие aka имеет ваша система. Это оператор полностью
5d-совместим, что означает, что вы можете иметь адреса вида
2:2433/1245.1@fidonet.org. Первый адрес является основным и будет
использоваться тоссером в различных случаях, например, если номер зоны не может
быть получен из кладжа @INTL в нетмейловом письме.
Этот оператор может повторяться. fidoconfig не полностью поддерживает имя домена
commentChar <char>
commentChar ;
Эта команда определяет символ, используемый для обозначения остатка строки как комментария. По умолчанию - '#'.
Этот оператор может повторяться.
outbound <path>
outbound /var/spool/fido/out
Эта команда определяет ваш путь к binkley-style аутбаунду. Такой аутбаунд состоит из базового пути и поддиректорий. Каждая поддиректория предоставляет место для всех файлов одной зоны. Базовый путь - путь вашей зоны по умолчанию.
Example:
Директория зоны содержит flow-файлы для каждого узла. Flow-файл узла имеет имя вида NNNNFFFF.?lo
Для пойнтов создаются поддиректории с именем flow-файла узла и суффиксом .pnt. В этой директории имена flow-файлов имеют вид PPPPPPPP (8-значные номера пойнтов в 16-ричном формате).
Для более глубокого понимания binkley-style outbound смотрите документацию binkley-term и исходные коды.
Этот оператор не может повторяться.
inbound <path>
inbound /var/spool/fido/in
Эта команда определяет, где хранятся входящие файлы. Эта директория - базовая, что означает, что туда попадают файлы в случае непарольной сессии и если удаленная система не указана в нод- или пойнт-листах. Из этого инбаунда тоссится только нетмейл.
Этот оператор не может повторяться.
tempDir <path>
tempDir /var/tmp
Эта команда определяет путь, в котором должны храниться временные файлы ваших fido-програм. Эта директория может очищаться при загрузке системы. Хорошая идея - использовать для этого виртуальный диск в памяти.
Значение по умолчанию - путь, определенный переменными окружения TEMP, TMP или TMPDIR (первой используется TEMP, если она не определена, то TMP, затем TMPDIR). Если эти переменные окружения не определены: - win32 версии используют %WINDIR%\TEMP (обычно c:\windows\temp в Win9x/Me и c:\winnt\temp в Windows NT/2000/XP) - версии для unix-like ОС используют /tmp - остальные версии используют c:\
Этот оператор не может повторяться.
logFileDir <path>
logFileDir /var/spool/log/fido
Эта команда определяет путь, где должны храниться лог-файлы fido-программ.
Этот оператор не может повторяться.
Некоторые программы используют logFileDir для постоянных временных/рабочих файлов.
syslogFacility <facility>
syslogFacility local0
Некоторые программы Husky могут писать логи через syslogd вместо лог-файла. Для
таких программ это ключевое слово определяет, какое средство использовать для
записи в syslog. Syslogd будет использовать это средство для определения, в
какой лог-файл syslog это лог-сообщение будет записано. Общие имена, которые
могут быть использованы: mail, news, uucp, local0.
Точные значения зависят от вашей операционной системы. Более полная
информация дана в man pages для syslog.conf или
/usr/include/sys/syslog.h.
Запись лога через syslogd поддерживается только для платформ UNIX, и в настоящее время используется только herp и никакой другой программой Husky. Пишет ли программа в лог-файл или через syslog, или обоими способами, зависит только от программы, но не от вашего файла fidoconfig. Обращайтесь к собственной документации программы.
loglevels <string>
loglevels 1345789,A-F Q
Этот оператор определяет список уровней лога для записи в лог-файл. Тире означает диапазон (A-F раскрывается как ABCDEF). Распознаются только чиловые и буквенные уровни лога, остальные игнорируются.
В примере мы выводим в лог сообщения с уровнями 1,3,4,5,7,8,9,A,B,C,D,E,F,Q.
Уровни детализации лога:
По умолчанию: 1234567890ABCDEF
Этот оператор не может повторяться.
screenloglevels <string>
screenloglevels 2345789,A-C
Устанавливает уровни вывода лога на экран. Смотрите loglevels.
Этот оператор не может повторяться.
seqDir <path>
seqDir /var/spool/fido/seq
Устанавливает путь к текущей msgid-последовательности.
По умолчанию используется переменная окружения SEQDIR.
Этот оператор не может повторяться.
seqOutrun <string>
seqOutrun 1m
Устанавливает максимальное превышение msgid-последоваельностью текущего времени.
Используются десятичные числа с суффиксом (опционально).
Суффиксы:
Секунды устанавливаются без суффикса.
По умолчанию используется переменная окружения SEQOUT или 3y, если она не определена.
Этот оператор не может повторяться.
Pack zip|tgz|rar|arc|arj|..... <call>
Pack zip zip -9 -g -q $a $f
Это оператор определяет командную строку архиватора. Файл будет перемещен в архив, что значит, что он будет удален с жесткого диска. Он останется только в архиве.
$a заменяется на имя файла архива.
$f заменяется на имя файла, который должен быть упакован.
Если какая-либо husky программа скомпилирована с hptzip, можно использовать следующее определение:
Pack zip zipInternal
Этот оператор может повторяться.
Смотрите также документацию к hpt и htick.
На некоторых ОС, если вызванная программа не найдена (не может быть запущена), результат команды pack не определен. (Например, DOS. Причина: command.com не возвращает код ошибки, если исполняемый файл не найден). Чтобы устранить опасность, пожалуйста, прописывайте архиваторы с полными путями.
Unpack "<call>" <offset> <matchcode>
Unpack "c:\arc\pkunpak /r $a $p $f" 0 1a
Unpack "c:\arc\pak e /wn $a $p" -2 fe
Unpack "c:\arc\lha e /m $a $p $f" 2 2d6c68
Unpack "c:\arc\zoo e:O $a $p $f" 0 5a4f4f
Unpack "c:\arc\jar e -y $a $p $f" 14 1a4a61721b
# *.rar
Unpack "c:\arc\unrar e -y -c- -o+ -inul $a $p $f" 0 52617221
# rar-sfx/DOS
Unpack "c:\arc\unrar e -y -c- -o+ -inul $a $p $f" 28 52534658
Unpack "/usr/bin/zoo e:O $a $p $f" 0 5a4f4f
Unpack "/usr/bin/arc eno $a $p'*.*' $f" 0 1a
Unpack "/usr/bin/unzip -joLqq $a -d $p $f" 0 504b0304
Unpack "cd $p && /usr/bin/unarj e $a $f>/dev/null" 0 60ea
Unpack "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f" 0 52617221
Unpack "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f" 28 52534658
Unpack "/usr/bin/jar e -y $a $p $f" 14 1a4a61721b
Unpack "cd $p && /usr/bin/ha eyq -e $a $f" 0 4841
Этот оператор определяет вызовы определенных распаковщиков в соответствии с идентификатором в архивном файле.
call строка вызова архиватора (заключена в кавычки!);
offset позиция идентификатора в архивном файле;
match code идентификатор в 16-ричном виде, ?? раскрывается как "любой
байт";
$a заменяется на файл, который должен быть извлечен из архива;
$p заменяется на путь, куда распаковывать файлы (обычно tempoutbound);
$f заменяется именем файла с описанием, если он существует (используется
htick, смотрите токен FileDescName; возможно, и другими husky программами).
Пример: unpack "unzip -joLqq $a -d $p $f" 0 504b0304
файлы, упакованные zip, распознаются по
504b0304(hex) по смещению 0(integer)
они могут быть распакованы htick с помощью команды
"unzip -joLqq <filename> -d <path> <description_filename>"
Если какая-либо husky программа скомпилирована с hptzip, можно использовать следующее определение:
Unpack zip zipInternal 0 504b0304
Этот оператор может повторяться.
Смотрите также документацию к hpt и htick.
На некоторых ОС, если вызванная программа не найдена (не может быть запущена), результат команды unpack не определен. (Например, DOS. Причина: command.com не возвращает код ошибки, если исполняемый файл не найден). Чтобы устранить опасность, пожалуйста, прописывайте распаковщики с полными путями.
link <string>
link Matthias Tichy
Этот оператор начинает новое описание линка. Все операторы (если они имеют отношение к линкам), находящиеся до следующего оператора link, меняют настройки только этого линка. Имя - это имя линка.
Этот оператор может повторяться.
linkdefaults [begin | end | destroy]
linkdefaults
Этот оператор начинает секцию определений по умолчанию для линков.
Все последующие (относящиеся к линкам) операторы изменяют настройки линка по
умолчанию до тех пор, пока не найден один из операторов 'link',
'linkdefaults end', 'linkdefaults destroy'.
Все параметры, указанные в секциях linkdefaults, копируются в настройки линка
всякий раз, когда в конфигурационном файле найден оператор 'link'.
Относящиеся к линкам операторы, найденные после 'linkdefaults end' или
'linkdefaults destroy', или до первого оператора 'link' или
'linkdefaults', рассматриваются как ошибки.
Оператор 'linkdefaults' без 'begin' или 'end' означает
'linkdefaults begin'.
'linkdefaults destroy' уничтожает все настройки по умолчанию.
Будьте осторожны с Pause, Export и т.д. ;-)
Этот оператор может повторяться. Новые определения заменяют предыдущие.
aka <addr>
aka 2:2433/1245
Этот оператор определяет aka текущего линка.
Этот оператор может повторяться только для разных линков.
ouraka <addr>
ouraka 2:2433/1247
Этот оператор определяет aka, который используется с этим линком.
Этот оператор может повторяться только для разных линков.
password [<string>]
password secret
Этот оператор устанавливает пароль по умолчанию для линка. Если вы не задаете другие пароли, они совпадают с этим. Пароль регистронезависим.
Этот оператор может повторяться только для разных линков.
pktpwd [<string>]
pktpwd geheim
Этот оператор устанавливает пароль на pkt для данного линка. Пароль должен быть не длиннее 8 символов (из-за ограничений другого ПО). Допустимо пустое значение.
Этот оператор может повторяться только для разных линков.
ticpwd [<string>]
ticpwd geheim
Этот оператор устанавливает пароль на tic для данного линка. Пароль должен быть не длиннее 8 символов (из-за ограничений другого ПО). Допустимо пустое значение.
Этот оператор может повторяться только для разных линков.
areafixpwd [<string>]
areafixpwd geheim
Этот оператор устанавливает пароль на areafix для данного линка. Пустое значение допустимо, но не рекомендуется.
Этот оператор может повторяться только для разных линков.
filefixpwd [<string>]
filefixpwd geheim
Этот оператор устанавливает пароль на filefix для данного линка. Пустое значение допустимо, но не рекомендуется.
Этот оператор может повторяться только для разных линков.
bbspwd [<string>]
bbspwd geheim
Этот оператор устанавливает пароль на BBS для данного линка. Допустимо пустое значение.
Этот оператор может повторяться только для разных линков.
sessionpwd [<string>]
sessionpwd geheim
Этот оператор устанавливает пароль на сессию для данного линка. Допустимо пустое значение.
Этот оператор может повторяться только для разных линков.
handle <name>
handle eddie
Этот оператор задает никнейм линка. Он предназначается для BBS.
Этот оператор может повторяться только для разных линков.
packer <packer>
packer zip
Это оператор устанавливает паковщик для линка. Вы можете использовать паковщик,
который определили ранее оператором pack.
Если этот оператор отсутствует, или установлено packer none, почта не
будет паковаться. Pkt будут складываться в аутбаунд.
Этот оператор может повторяться только для разных линков.
BadArea <name> <file> [-b <msgbase>] [Options]
BadArea badarea /var/spool/fido/msgb/bad -b Squish
Этот оператор определяет BadArea.
Смотрите документацию на HPT.
Этот оператор не может повторяться.
dupeArea <name> <file> [-b <msgbase>] [Options]
dupeArea dupeArea /var/spool/fido/msgb/dupes -b Squish
Этот оператор определяет DupeArea.
Смотрите документацию на HPT.
Этот оператор не может повторяться.
EchoArea <name> <file> [-b <msgbase>] [Options] [linkAKAs] [linkOptions]
EchoArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger
-b Squish -a 2:2433/1247 -g A -dupeCheck move -dupehistory 11 -d "Linux
development" 2:2433/1245 -def
Этот оператор определяет эхообласть. Смотрите документацию на HPT.
Этот оператор может повторяться.
NetmailArea <name> <file> [-b <msgbase>] [Options]
NetmailArea netmail /var/spool/fido/msgb/netmail -b Squish
Этот оператор определяет NetMailArea.
Смотрите документацию на HPT.
Этот оператор может повторяться.
LocalArea <name> <file> [-b <msgbase>] [Options]
LocalArea MyBBSarea /var/spool/fido/msgb/MyBBS -b Squish
Этот оператор определяет LocalArea: область сообщений на BBS.
Смотрите документацию на HPT.
FileArea <name> <fileareapath> <uplink> [options] [<downlinks>]
filearea Photoes /var/spool/fido/fileecho/Photoes 2:50/1 -d "Sysop photoes"
Этот оператор определяет FileArea: определение файл-эхи.
Смотрите документацию на HTick.
bbsarea <name> <bbsareapath>
BBSarea Incoming /var/spool/fido/BBS/incoming
Этот оператор определяет BBSArea: определение файл-области BBS.
Используется при построении файл-листа.
Смотрите документацию на HTick.
Эта секция содержит только список ключевых слов. Читайте документацию на HPT.
accessgrp
address
addtoseen
advancedareafix
advisorylock
afterunpack
aka
allowemptypktpwd
allowpktaddrdiffer
arcmailsize
arcnetmail
areafix
areafixecholimit
areafixfrompkt
areafixhelp
areafixReportsAttr
areafixkillrequests
areafixmsgsize
areafixnames
areafixorigin
areafixpwd
areafixqueryreports
areafixqueuefile
areafixsplitstr
areafixfromname
areasfilenamecase
areasmaxdupeage
autoareacreate
autoareacreatedefaults
autoareacreatefile
autoareacreateflag
autoareacreatesubdirs
autopassive
autopause
availlist
badarea
beforepack
bundlenamestyle
carbonaddr
carbonandquit
carboncopy
carbondelete
carbonexcludefwdfrom
carbonextern
carbonfrom
carbonfromarea
carbongroups
carbonkeepsb
carbonkludge
carbonmove
carbonout
carbonreason
carbonrule
carbonsubj
carbontext
carbonto
createareascase
createfwdnonpass
defarcmailsize
denyfwdfile
denyfwdmask
denyfwdreqaccess
denyuncondfwdreqaccess
disabletid
disablepid
dupearea
dupebasetype
dupehistorydir
echoarea
echoareadefaults
echomailflavour
echotosslog
excludepassthroughcarbon
export
filebox
fileboxalways
fileboxesdir
forwardareapriority
forwardpkts
forwardrequestfile
forwardrequestmask
forwardrequests
forwardrequesttimeout
hptperlfile
idlepassthrutimeout
ignorecapword
ignoreseen
import
importlog
inbound
include
intab
keeptrsfiles
keeptrsmail
killedrequesttimeout
kludgeareanetmail
level
link
linkbundlenamestyle
linkdefaults
linkfilebasedir
linkgrp
linkmsgbasedir
linkwithimportlog
localarea
localinbound
lockfile
logechotoscreen
mandatory
mindiskfreespace
msgbasedir
name
netarea
netmailarea
netmailextern
netmailflag
newarearefusefile
noprocessbundles
norules
notvalidfilenamechars
optgrp
origin
ouraka
outbound
outtab
pack
packaka
packer
packnetmailonscan
password
pause
pktpwd
pktsize
processpkt
protinbound
publicgroup
readonly
reducedseenby
remap
remoterobotname
reportto
robotsarea
route
routefile
routemail
rulesdir
separatebundles
setconsoletitle
statlog
sysop
tearline
tempinbound
tempoutbound
tossingext
unpack
writeonly
Эта секция содержит только список ключевых слов. Читайте документацию на HTick.
AddDLC
AnnAreaTag
AnnAddrfrom
AnnAddrto
AnnExclude
AnnFileOrigin
AnnFileRFrom
AnnFrom
AnnInclude
AnnMessFlags
AnnOrigin
AnnounceSpool
AnnSubj
AnnTo
AutoFileCreateFlag
BbsArea
BusyFileDir
ConvertLongNames
ConvertShortNames
DLCDigits
ExecOnFile
FileArea
FileAreaBaseDir
FileAreaCreatePerms
FileDescPos
FileAreaDefaults
FileDescName
FileEchoFlavour
FileLDescString
FileFixFromName
FileFixHelp
FileFixReportsAttr
FileFixKillRequests
FileFixNames
MaxTicLineLength
OriginInAnnounce (obsoleted)
PassFileAreaDir
RemoteFileRobotName
SaveTic
TicOutbound
In Link section:
AutoFileCreate
AutoFileCreateDefaults
AutoFileCreateFile
AutoFileCreateSubdirs
DelNotRecievedTIC
FileFixEchoLimit
FileFixFSC87Subset
ForwardFilePriority
ForwardFileRequestFile
ForwardFileRequests
NoTIC
LinkFileBaseDir
PackAka
TickerPackToBox
nodelistDir <path>
nodelistDir /var/spool/fido/nodelist
Эта команда указывает путь, где актуальные нодлисты находятся, или куда они должны быть записаны. Путь содержит исходный нодлист (see nodelist). Тут будут также храниться и скомпилированные нодлисты вроде FIDOUSER.LST.
Этот оператор не может повторяться.
fidoUserList <filename>
fidoUserList fidouser.lst
Если этот оператор определен, компилятор нодлиста (например, ulc)
создаст в директории с нодлистами (see nodelistdir) файл с заданным именем
- список пользователей. Это простой текстовый файл со строками фиксированной
длины, который содержит имена пользоватетелей (узлов, пойнтов) и
соответствующие им узловые или пойнтовые адреса. Список отсортирован по именам
пользователей (не учитывая регистр), так что он может быть быстро просмотрен в
поисках адреса. Формат "список пользователей fido" понимает, к примеру,
msged.
Nodelist <name>
Nodelist nodelist or Nodelist points24
Этот оператор начинает новое определение нодлиста. Все последующие операторы,
находящиеся до следующего оператора nodelist и относящиеся к нодлистам,
изменяют настройки этого нодлиста.
Имя, которое вы указываете, должно совпадать с базовым именем (без расширения и
пути) исходного распакованного файла нодлиста. Утилиты husky ulc и
nlupdate проверяют совпадение имен без учета регистра, но другим
утилитам может понадобиться точное написание. Ожидается, что исходный нодлист
находится в директории нодлистов (see nodelistdir).
DiffUpdate <path_and_basname>
DiffUpdate /var/spool/filebase/nodediff/nodediff
Здесь вы можете указать базовое имя файлов изменения нодлиста (ноддиффов), которые используются для поддержания свежести нодлиста. Аргументом DiffUpdate является полное, с путем, имя ноддиффа, без расширения. Например, если файлэха находится в /var/spool/filebase/24000, куда ваш тикер складывает апдейты для немецкого пойнтлиста, и эти апдейты имеют имена points24.a26, points24.a33 и т.д., то вы используете
DiffUpdate /var/spool/filebase/24000/points24
Ключевое слово Diffupdate используется, например, nlupdate. Он
распакует ноддифф (если он заархивирован, конечно, неархивированные диффы также
поддерживаются), применит дифф к соответствующему нодлисту и удалит временно
распакованный дифф.
FullUpdate <path_and_basname>
FullUpdate /var/spool/filebase/nodelist/nodelist
Этот оператор работает как DiffUpdate (see diffupdate). Разница в
том, что здесь вы не указываете расположение файла ноддиффа, а указываете, где
могут быть найдены файлы/архивы полных нодлистов. Некоторые левонеты (обычно)
не распространяют файлы ноддиффов, но просто хатчат свежие нодлисты каждые
несколько недель. В этом случае вам понадобится оператор FullUpdate.
DefaultZone <zone>
DefaultZone 2
Некоторые нодлисты не начинаются с указания ‘Zone’. Это случай, например,
немецкого пойнтлиста, но он возможен и в левонетах, где всего одна зона. В этом
случае вы можете использовать ключевое слово DefaultZone, чтобы указать
номер зоны по умолчанию для всех узлов, указанных в нодлисте.
Nodelistformat <format>
NodelistFormat standard
NodelistFormat points4d
NodelistFormat points24
Здесь вы можете указать формат распакованного нодлиста. По умолчанию это ‘standard’ - стандартный формат нодлиста Fidonet. Вы можете также указать ‘points4d’, что нужно компилятору нодлиста, чтобы распознать стандартный пойнтлист 4D формата или ‘points24’ немецкого формата points24 - чтобы он видел правильные 5D пойнтовые адреса вместо фейковых.
Общие токены:
Токены определения линка:
sendMailCmd string
sendMailCmd /usr/sbin/sendmail $a <$f>
Это ключевое слово используется для определения команды отправки почты и ее параметров. Макрос '$a' указывает положение e-mail адреса получателя; макрос '$f' указывает положение имени файла с телом письма. Если '$f' опущен, тело письма будет заполняться из stdin.
Этот оператор не может повторяться.
email <email-address>
email eddie@ironmaiden.com
Это ключевое слово используется для указания e-mail адреса линка. Может быть использовано для отправки pkt по e-mail.
Этот оператор может повторяться только для разных линков.
emailFrom <email-address>
emailFrom fred@ironmaiden.com
Это ключевое слово используется для указания e-mail адреса, используемого как адрес отправителя в исходящих письмах для этого линка.
Этот оператор может повторяться только для разных линков.
emailSubj <subject>
emailSubj Fido over EMail message in UUE format
Это ключевое слово используется для указания поля "Тема" в письмах к и от этого линка. Оно может игнорироваться некоторыми кодировками (например, SEAT).
Этот оператор может повторяться только для разных линков.
emailEncoding (MIME | SEAT | UUE)
emailEncoding MIME
Это ключевое слово используется для указания кодировки исходящих на этого линка писем.
Этот оператор может повторяться только для разных линков.
Эта секция содержит только список ключевых слов. Читайте документацию на BsoPack.
maxunpackednetmail
packnetmail
Herp - это Husky External file Request Processor (внешний фрек-процессор). Следующие ключевые слова fidoconfig специфичны для herp. Некоторые программы herp, в частности herpidx, также используют часть конфигурации htick, например, определения файловых областей.
reqidxDir <path>
reqidxDir /var/spool/fido/reqidx
Эта команда указывает директорию, которая будет использоваться для хранения индекса запросов, сгенерированного herpidx. Эта директория должна быть доступной для записи для процесса herpidx и как минимум доступной для чтения для пользователя, под которым будут запускаться ваш мейлер и herp. herpidx будет размещать здесь разнообразные файлы индексов запросов. Эта директория не должна использоваться ни для каких других целей. Индекс может стать довольно большим, так что отведите достаточно места.
# sample fido config file for fidoconfig 1.4
# $Id: config,v 1.19.2.1 2006/03/11 21:25:52 stas_degteff Exp $
#
# This file is universal for unix-based and DOS-based OS. OS specific
# statements is specified using "if-elseif-else-endif" conditional operators.
##
## Section 1: common
##
version 0.14 # Config format version. Some software may check this.
Name hpt-HQ
Location Paderborn, GER
Sysop Matthias Tichy
LogLevels 23456789ABCDEF # see fidoconfig documentaion for log levels
Address 2:2432/645
Address 44:4932/110
#
# Define command lines of the packers and unpackers.
#
if "[OS]"=="UNIX"
set fidoconfigdir=/usr/local/etc/fido
set fidodatadir=/var/fido
set path_archivers=/usr/local/bin/
else
set fidoconfigdir=c:\fido\config
set fidodatadir=c:\fido
set path_archivers=c:\arch
endif
# INFO-ZIP
Unpack "[path_archivers]unzip -j -Loqq $a -d $p" 0 504b0304
Pack zip [path_archivers]zip -9 -j -q $a $f
if not "[OS]"=="UNIX"
# Unpack "[path_archivers]pkzipc -ext -dir=none -over=all -nozip -silent $a $p $f" 0 504b0304
# Unpack "[path_archivers]pkunzip -njCL $a -d $p $f" 0 504b0304
# Unpack "[path_archivers]pkzip25 -ext -silent -over=all -nofix -nozip $a $p $f" 0 504b0304
endif
Unpack "[path_archivers]arc eno $a $p'*.*'" 0 1a
if not "[OS]"=="UNIX"
Unpack "[path_archivers]pkunpak /r $a $p" 0 1a
Pack arc [path_archivers]pkpak -oct a $a $f
Unpack "[path_archivers]pak e /wn $a $p" -2 fe
Pack pak [path_archivers]pak a $a $f
Unpack "[path_archivers]lha e /m $a $p" 2 2d6c68
Pack lha [path_archivers]lha a /o /m $a $f
endif
Unpack "[path_archivers]zoo e:O $a $p" 0 5a4f4f
Pack zoo [path_archivers]zoo a: $a $f
if "[OS]"=="UNIX"
Unpack "cd $p && [path_archivers]unarj e $a > /dev/null" 0 60ea
else
Unpack "[path_archivers]arj e -+ -y $a $p" 0 60ea
Pack arj [path_archivers]arj a -+ -e -y $a $f
endif
Unpack "[path_archivers]jar e -y $a $p" 14 1a4a61721b
Pack jar [path_archivers]jar a -y $a $f
Unpack "[path_archivers]ha eyq $a" 0 4841
Pack ha [path_archivers]ha a21eq $a $f
# *.rar
Unpack "[path_archivers]unrar e -y -c- -o+ -inul $a $p $f" 0 52617221
# rar-sfx/DOS
Unpack "[path_archivers]unrar e -y -c- -o+ -inul $a $p $f" 28 52534658
# rar 2.90 R sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 23040 52617221 # Default.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 9573 52617221 # DOS.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 9493 52617221 # Dos_US.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 25099 52617221 # Os2.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 13312 52617221 # WinCon.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 13824 52617221 # WinConUS.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 25088 52617221 # Zip.sfx
# Rar 3.0 R sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 46592 52617221 # Default.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 93816 52617221 # Dos.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 37376 52617221 # WinCon.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 31232 52617221 # Zip.sfx
# Rar 3.0 sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 47104 52617221 # Default.sfx
# Rar 3.1b1 sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 50688 52617221 # Default.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 94128 52617221 # Dos.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 34816 52617221 # Zip.sfx
# Rar 3.1b2 sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 49152 52617221 # Default.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 94016 52617221 # Dos.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 34304 52617221 # Zip.sfx
# Rar 3.1b3 sfxs
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 49664 52617221 # Default.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 93932 52617221 # Dos.sfx
Unpack "[path_archivers]rar e -y -c- -o+ -inul $a $p $f" 37888 52617221 # WinCon.sfx
Pack rar [path_archivers]rar a -ep -md1024 -m5 -mm -inul -s $a $f
Unpack "[path_archivers]arj e -+ -y $a $p >nul" 0 60ea
Pack arj [path_archivers]arj a -+ -e -y $a $f >nul
Unpack "[path_archivers]unace e -y -c- $a $p $f" 7 2a2a414345
Pack 7ZIP [path_archivers]7za a -y $a $f
Unpack "[path_archivers]7za e -y $a $p $f" 0 377ABCAF
if "[module]"==hpt
route hold noroute 2:2432/645.*
route hold noroute 2:240/6223.*
route crash noroute 2:2432/646
route hold 44:4932/120 44:4932/120 44:4932/130
route crash 44:4932/100 44:*
route normal 2:2435/424 2:2435/*
route crash 2:2432/646 *
endif
Inbound [fidodatadir]in
ProtInbound [fidodatadir]in.sec
LocalInbound [fidodatadir]in.loc
Outbound [fidodatadir]out
tempOutbound [fidodatadir]out.tmp
tempInbound [fidodatadir]in.tmp
#MsgBaseDir Passthrough
MsgBaseDir [fidodatadir]msgb
FileAreaBaseDir [fidodatadir]files
public [fidodatadir]public
logFileDir [fidodatadir]log
DupeHistoryDir [fidodatadir]dupes
NodelistDir [fidodatadir]nodelist
PassFileAreaDir [fidodatadir]passFileDir
magic [fidodatadir]magic
if "[module]"=="hpt"
# include [fidoconfigdir]config.hpt
# HPT's transcoding isn't recommended to use,
# You shoulds use recode features of your message editor instead.
#intab [fidoconfigdir]outaltkoi8
#outtab [fidoconfigdir]outkoi8alt
lockfile [fidodatadir]lock.hpt
advisoryLock 9
echotosslog [fidodatadir]echotoss.log
importlog [fidodatadir]import.log
areafixhelp [fidodatadir]areafix.hlp
AreafixReportsAttr loc pvt k/s dir
endif
if "[module]"=="htick"
# include [fidoconfigdir]config.htick
FileFixHelp [fidodatadir]filefix.hlp
FilefixReportsAttr loc pvt k/s npd dir
lockfile [fidodatadir]lock.htick
advisoryLock 6
endif
##
## Section 2: Nodelists
##
if "[OS]"=="UNIX"
NodeList nodelist
DiffUpdate [fidodatadir]files/nodediff
NodeList linuxnet
DiffUpdate [fidodatadir]files/lin44.node
else
NodeList nodelist
DiffUpdate [fidodatadir]files\nodediff
NodeList linuxnet
DiffUpdate [fidodatadir]files\lin44.node
endif
##
## Section 3: define links
##
#
# Links for 2:2432/645
#
LinkDefaults
OurAka 2:2432/645
Level 65535
Packer ZIP
AutoAreaCreateDefaults passthrough -dupeHistory 11 -dupecheck move
AutoAreaCreateFile [fidoconfigdir]echoareas
AutoFileCreateFile [fidoconfigdir]fileareas
AutoFileCreateDefaults -lw 10
AutoFileCreateSubdirs on
EchomailFlavour direct
FileEchoFlavour normal
PackNetmail on
MaxUnpackedNetmail 64
EchomailFlavour Normal
EmailFrom fido@my.host
EmailSubj FTN Mail Transport : FTNbundle from 2:2432/645
EmailEncoding MIME
TickerPackToBox on
FileFixFSC87Subset
ArcmailSize 450
Pause off
LinkGrp COMMON
AccessGrp INTERNATIONAL,COMMON,LOCAL
LinkDefaults end
Link Matthias Schniedermeyer
Aka 2:2432/600
Password xxxxxxxxx
EchoMailFlavour Crash
AutoAreaCreate on
AutoFileCreate on
forwardRequests on
Link Carsten Ellermann
Aka 2:2432/215
password xxxxxxx
autoAreaCreate on
autoFileCreate on
Link Matthias Tichy
Aka 2:2432/646
Password xxxxxxxx
autoAreaCreate on
forwardPkts on
Link Matthias Born
Aka 2:240/6223
Password xxxxxxx
EchoMailFlavour hold
Link Sascha Silbe
Aka 2:2435/424
ourAka 2:2432/645
AutoFileCreate on
Password xxxxxxxx
#
# Links for 44:4932/110
#
LinkDefaults
OurAka 44:4932/110
Level 65535
Packer ZIP
AutoAreaCreateDefaults passthrough -dupeHistory 11 -dupecheck move
AutoAreaCreateFile [fidoconfigdir]echo44
AutoFileCreateFile [fidoconfigdir]file44
AutoFileCreateDefaults -lw 10
AutoFileCreateSubdirs on
EchomailFlavour direct
FileEchoFlavour normal
PackNetmail on
MaxUnpackedNetmail 64
EchomailFlavour Normal
EmailFrom fido@my.host
EmailSubj FTN Mail Transport : FTNbundle from 44:4932/110
EmailEncoding MIME
TickerPackToBox on
FileFixFSC87Subset
ArcmailSize 450
Pause off
LinkGrp LINNET
AccessGrp LINNET,LOCAL
LinkDefaults end
Link Matthias Schniedermeyer
Aka 44:4932/100
password xxxxxxxx
EchoMailFlavour Crash
AutoAreaCreate on
AutoFileCreate on
Link Matthias Born
Aka 44:4932/120
Password xxxxxxx
EchoMailFlavour hold
##
## Section 4: define areas
##
if "[OS]"=="UNIX"
#NetmailArea NetmailArea [fidodatadir]msgb/netmail -b msg
NetmailArea NetmailArea [fidodatadir]msgb/net -b Squish
BadArea BadArea [fidodatadir]msgb/bad -b Squish
DupeArea DupeArea [fidodatadir]msgb/dupe -b Squish
LocalArea carbonArea [fidodatadir]msgb/carbonArea -b Squish -manual
else
#NetmailArea NetmailArea [fidodatadir]msgb\netmail -b msg
NetmailArea NetmailArea [fidodatadir]msgb\net -b Squish
BadArea BadArea [fidodatadir]msgb\bad -b Squish
DupeArea DupeArea [fidodatadir]msgb\dupe -b Squish
LocalArea carbonArea [fidodatadir]msgb\carbonArea -b Squish -manual
endif
if "[OS]"=="UNIX"
LocalArea carbonArea [fidodatadir]msgb/carbonArea -b Squish -manual
else
LocalArea carbonArea [fidodatadir]msgb\carbonArea -b Squish -manual
endif
if "[module]"=="hpt"
CarbonTo Matthias Tichy
CarbonCopy carbonArea
endif
##
## SubSection 4.1: include areas configs
##
include [fidoconfigdir]echoareas
include [fidoconfigdir]fileareas
include [fidoconfigdir]echo44
include [fidoconfigdir]file44
Так как оригинальный GoldEd от Odinn Sorensen совсем не поддерживает fidoconfig, а msged и aquaed - только в бета версиях, мы разработали три программы, которые конвертируют ваш fidoconfig в эти собственные форматы конфигурационных файлов.
fconf2golded ~/golded/golded.cfg ~/golded/goldDefaults.cfg
fconf2msged ~/msged.areas
fconf2aquaed ~/aquaed/aquaed.cfg
Вам следует запускать tparser каждый раз после того, как вы изменили конфиг. Если tparser нашел ошибку в конфиге, пожалуйста, исправьте его и попробуйте снова.
tparser -Dmodule=hpt | less
tparser (как и любая программа fidoconfig) выведет сообщение об ошибке, если вы допустили таковую в конфиге. Также он может вывести какие-то предупреждения о ваших установках в конфиге. Он будет "ворчать" на любое ключевое слово, которое он не знает. Он остановится после первой же ошибки (не предупреждения), чтобы дать вам возможность изменить конфиг.
var в value.
Вы можете написать мне на
mtt@tichy.de
2:2432/645
и в фидошных эхах
linux.develop.ger
fidosoft.husky
Max Levenkov:
sackett@mail.ru
ru.husky (русская)
ru.echoprocessors (русская)
fidosoft.husky (английская)
Свежая библиотека fidoconfig и другой fido софт будут доступны на http://husky.sourceforge.net.