Этот документ описывает использование 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.