BASH Programming - Введение


Файл config пакета ifmail


# # ФАЙЛ КОHФИГУРАЦИИ IFMAIL # # Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999 # # Это основной файл конфигурации, используемый программами пакета # ifmail. По умолчанию он находится в /etc/ifmail/config, но его имя # можно переопределить для каждой программы, используя ключ командной # строки ``-I''.

# Этот файл конфигурации ориентирован на версию ifmail 2.14 с # наложенными патчами os5 от Сергея Оськина (ftp://oskin.macomnet.ru) # В дальнейшем я собираюсь четко обозначить, какие параметры можно # использовать только с этими патчами, а какие существуют и в # оригинальном ifmail (http://www.average.org/ifmail/)

# Формат этого файла очень прост: # # <параметр> <значение>

# # Регистр букв в параметрах игнорируется.

# Пустые строки, строки, содержащие только пробелы, а также строки, # начинающиеся с символа ``#'', игнорируются.

# В файл конфигурации можно включить другой файл с помощью директивы # ``include'', например: # # include /etc/ifmail/passwd

# ### Информация о станции # ====================

# # Основной адрес станции # Address 2:5020/433@fidonet

# # Дополнительные адреса (AKA) # Address 2:5020/286.16@fidonet

# # Здесь описываются данные, передающиеся во время EMSI-сессии. В # настоящий момент здесь нельзя использовать символы ``]' и ``}'', # поэтому избегайте их.

# # Hазвание станции # Name those who go below

# # Местонахождение станции # Location Moscow, Russia

# # Имя системного оператора # SysOp Alexey Mahotkin



# # Телефон станции # Phone +7-095-SEE-NODELIST

# # Скорость модема # Speed 9600

# # Флаги из нодлиста # Flags XA,V32B,V42B

# ### Журналирование # ============== #

# # ВHИМАHИЕ: в настоящий момент сессионные пароли записываются в # журнальные файлы, поэтому убедитесь, что эти файлы недоступны для # чтения всеми, кроме владельца. #

# # Основной журнальный файл # LogFile /var/log/ifmail/iflog

# # Отладочный журнальный файл # DebugFile /var/log/ifmail/ifdebug

# # Количество отладочной информации. Это значение по умолчанию можно # переопределить для каждой конкретной программы с помощью ключа # командной строки ``-x''. # Verbose 0


# ### Пути к программам и файлам # ========================== #

# ## Каталоги с входящими и выходящими файлами # -----------------------------------------

# # Общий каталог для принятых почтовых пакетов и файлов # Inbound /var/spool/ifmail/inb

# # Каталог для почтовых пакетов и файлов, принятых от узлов, с которыми # у нас запароленные сессии # ProtInbound /var/spool/ifmail/inb.prot

# # Каталог для почтовых пакетов и файлов, принятых от узлов, # присутствующих в наших нодлистах # ListInbound /var/spool/ifmail/inb.list

# # Основной каталог для исходящих почтовых пакетов и файлов блокировок. # Пакеты для узлов из других зон будут помещаться в ``outb.<zone>'', а # пакеты для узлов из других доменов -- в ``<domain>.<zone>''. # Outbound /var/spool/ifmail/outb

# # Замена путей для мэйлеров, работающих под DOS. Если вы укажете этот # параметр, то исходящие почтовые пакеты будут помещаться в Outbound, # но пути к ним в .?LO-файлах будут записываться как указано в этом # параметре. # DosOutbound h:\spool\ifmail\outb

# ## Файловые запросы (FREQ'и) # -------------------------

# # Внешний обработчик файловых запросов. Если этот параметр не указан, # используются параметры ``public'' и ``magicname''. # Ext_RP /usr/lib/ifmail/ifextrp

# # Каталог с файлами, доступными для файлового запроса. # Public /var/spool/uucppublic

# # Каталог с исполняемыми файлами для обработки "волшебных" файловых # запросов. Если в этом каталоге есть запрошенный файл и его можно # выполнить, то он выполняется, и то, что он напечатал на стандартном # выходе, отсылается запрашивавшей системе. Если он неисполняемый, то # в нем должен находиться список файлов, которые отсылаются в ответ на # файловый запрос. Magic /var/lib/ifmail/magic

# ## Hодлисты # --------

# # Основной нодлист. Указанное имя при необходимости дополняется # номером .NNN. # Nodelist /var/spool/ifmail/nl.d/nodelist

# # Дополнительные нодлисты и нодлисты других зон и доменов. # Предполагается, что они находятся в том же каталоге, что и основной # нодлист. Формат таков: # # Nodelist <имя-нодлиста> <стартовый-адрес>



# Nodelist pnt5020.ndl 2:5020/0@fidonet Nodelist chatlist 100:0/0@chateaunet Nodelist private.ndl 2:5020/0@fidonet

# ## Преобразование имен # -------------------

# # Файл системных алиасов. Его формат: # # <имя-пользователя> <FTN-адрес>

# SysAlias /var/spool/ifmail/sysalias

# # Доменное имя, добавляемое к имени пользователя при использовании # системных алиасов. # MyFQDN pccross.msk.ru

# # Если этот параметр указан (HЕ РЕКОМЕHДУЕТСЯ!), то в сообщениях, # адресованных соответствующему пользователю, будут искаться заголовки # RFC. Если этот параметр не указан, то RFC-заголовки ищутся в начале # всех писем. # # MagicName UUCP

# # Преобразование доменов. Формат: # # DomTrans <FTN-домен> <RFC-домен>

# # При преобразовании происходит текстуальная замена первого # совпадающего FTN-домена на RFC-домен. Рекомендуется указывать # начальную точку в имени домена. Если не указано ни одного параметра # DomTrans, то происходит подстановка по умолчанию ``fidonet'' в # ``fidonet.org''. Если указан хотя бы один DomTrans, то следует явно # указать необходимость такой подстановки. # DomTrans .n5020.z2.fidonet .fido.pccross.msk.su DomTrans .n5030.z2.fidonet .fido.tctube.spb.su DomTrans .fidonet .fidonet.org

# # Автоматически обновляемая база соответствий имен пользователей и их # адресов. Если этот параметр не указан или база недоступна, то в # FTN-письмах генерируются кладжи @REPLYADDR и @REPLYTO. # Database /var/spool/ifmail/ifdbm

# ## Прочее # ------

# # Файл, в котором хранятся уникальные ID'ы # Sequencer /var/spool/ifmail/seq

# # Файл, в котором хранится описание соответствие имен эхо-конференций # и ньюсгрупп. Формат таков: # # <ЭХО-КОHФЕРЕHЦИЯ> <ньюсгруппа> <область-распространения>

# # <область-распространения> обычно "fido7" # Areas /etc/ifmail/Areas

# # Таблицы преобразования кодировок символов. Формат таблиц таков: # # <исходный-символ> <пробел> <выходной-символ>

# # Символы могут быть указаны следующим образом: # * символ в одиночных кавычках ('a'); # * десятичный номер символа (123); # * восьмиричный номер символа (0123); # * шестнадцатиричный номер символа (0x7f). # # Строки, начинающиеся с символа ``#'' являются комментариями и # игнорируются. #



# # Преобразование из RFC-сообщений в FTN-сообщения # OutTab /usr/lib/ifmail/outkoi8alt

# # Преобразование из FTN-сообщений в RFC-сообщения # InTab /usr/lib/ifmail/outaltkoi8

# ## Местонахождение различных программ # ----------------------------------

# # Транспорт для отсылания почтовых сообщений. ``$F'' заменяется на # адрес из поля ``From:'', ``$T'' --- на адрес из поля ``To:''. # sendmail /usr/lib/sendmail -f $F $T

# # Программа для постинга статей в ньюсгруппы. # rnews /usr/local/news/bin/rnews

# # Программа iftoss, используемая ifunpack # iftoss /usr/lib/ifmail/iftoss

# # Программы для распаковки почтовых пакетов, используемые ifunpack. # ``$F'' заменяется на имя почтового пакета. # unzip /usr/bin/unzip -ojq $F unarj /usr/bin/unarj e $F unarc /usr/bin/unpack $F unzoo /usr/bin/zoo -extract $F

# # Программа для упаковки почтового пакета, используемая ifpack. # ``$F'' заменяется на имя почтового пакета, ``$P'' --- на список имен # .PKT-файлов. # packer /usr/bin/zip $F $P

# ### Обработка сообщений # ===================

# # Префиксы имен ньюсгрупп, статьи в которые не следует передавать в # FIDO. # BadGroup relcom.ads. BadGroup relcom.commerce.

# # Максимально допустимое количество групп в поле ``Newsgroups:''. # Если статья помещена одновременно в несколько групп, и их количество # превышает максимально допустимое, то статья не попадет в FIDO. Если # этот параметр не указан или равен нулю, то предела не существует. # MaxGroups 5

# # Каким символом заменять пробел между именем и фамилией пользователя. # По умолчанию ``.''. # Dots _

# # Помещать ли в FTN-письма поля ``Received:''. Значение по умолчанию # ``Yes'', рекомендуется ``No''. # Received No

# # Максимальный размер пакованного пакета, в байтах. Если этот размер # превышен, то ifmail создаст следующий пакет. # MaxFSize 300000

# # Максимальный размер непакованного пакета, в байтах. # *.?ut files are NOT created if nonzero specified, you must run ifpack # to make packets go out. (XXX) (что это означает?) MaxPSize 30000



# # Максимальный размер сообщения, конвертируемого из Internet в FIDO, в # байтах. Если этот размер превышен, ifmail разбивает сообщение на # несколько частей. По умолчанию 12300 байт. # MaxMSize 12300

# # Типы пакетов (флаворы), не подпадающие под ограничение на размер # пакета. Такие пакеты также не будут паковаться ifpack'ом, а сразу # помещаются в готовые к отправке пакеты. Флавор ``m'' означает "весь # нетмейл". # NonPacked cm

# # Файл с журналом новостей в формате cnews (XXX: какой файл в INN # можно использовать вместо него?) # NewsLog /usr/lib/new/log

# # Временная база данных SEEN-BY'ев. # MsgIDBM /tmp/ifmsids

# ### Опции управления модемом # ========================

# С этой строки, значения могут быть указаные логическими выражениями в # round brackets. Допустимые операторы: '!', '&', '|', 'Xor'. # Возможны элементы: # - Флаги нодлиста (наприемр, "CM", "MNP", "V32" итд.) # - speed <оператор> <число>

# где <оператор> - это '=', '!=', '<', '>', '<=', '>=' # - address <маска>

# где <маска> - это (возможно неполный) фидоадрес, например, "5020/*" # - time <интервал>[,<интервал>,...] # где <интервал> - запись с указанием дней и времени, например, # Wk2000-0900,Sat1800-0000,Sun # - phone <префикс>

# например, "phone 7-095-"

# Параметры дозвонки

# Параметры "ModemPort", "ModemReset", "ModemDial", "ModemHangup". # Если параметр из этого списка определяется несколько раз, то используется # первое подходящее значение

# Параметры "PhoneTrans", "ModemConnect", "ModemError". # Если параметр из этого списка определяется несколько раз, то используются # все эти значения.

# В отправляемых и ожидаемых строках можно делать следующие подстановки: # \\ символ '\' # \r возврат каретки (0x0d) # \n новая строка (0x0a) # \t табуляция (0x09) # \b забой (0x08) # \s пробел (0x20) # \NNN (где N - восьмеричная цифра) - символ с восьмеричным кодом NNN # \d задержка 1 секунда (только для отправляемых строк) # \p пауза 1/4 секунды (только для отправляемых строк) # \T преобразовывать телефонный номер (только для отправляемых строк) # \D не преобразовывать телефонный номер (только для отправляемых строк)



# ModemPort представляет собой список портов, отделенных пробелами, с указанием # возможной скорости соединения (через двоеточие); если скорость указана с # символом 'L' впереди, то это скорость залочки, иначе будет установлена # максимальная скорость, а настоящая скорость будет взята из нодлиста. Если # скоротсь не указана (или равна нулю), то принимается скорость предыдущего # порта. #ModemPort (time Any0000-0900,Sat,Sun) ttyS0

ModemPort ttyS0:L38400 # Модем занимает порт /dev/ttyS0, FIFO залочен на 38400 (без FIFO он должен # быть залочен на 19200). Я пишу ttyS1, а не cua1, поскольку использую # mgetty. Почему мне приходится это делать объяснено в документации к # mgetty+sendfax от Gert Doering.

#для uugetty используется эта опция #modemPort cua1:38400 #для mgetty используется эта опция ModemPort ttyS1.

# Строки PhoneTrans - это правила преобразования первых цифр телефонного номера # для звонков по локальным или междугородним номерам. В примере ниже код # страны 7, а городской код 095. Для номеров, начинающихся с "7-095-" # удаляется и номер становится семизначным. Для номеров, начинающихся с "7-", # но не с "7-095-", удаляется только "7-" и номер становится междугородним # с префиксом "8W". Для всех прочих номеров осуществляется международный звонок # с добавлением префикса "8W10" к 11-значному номеру. Синтаксис: # "PhoneTrans <что-удалять> / <что-подставялть-взамен>" PhoneTrans 7-095 / PhoneTrans 7- / 8W PhoneTrans / 8W10

# Команда сброса модема ModemReset ATZ\r

# Команда, с помощью которой модем звонит ModemDial ATDP\T\r

# Команда, заставляющая модем положить трубку ModemHangup ATZ\r

# Положительный ответ модема в ответ на выполнение команды ModemOK OK

# Вместо одной строки "CONNECT" я пишу несколько "Connect"-строк для корректного # указания скорости соединенния в журнальном файле. ModemConnect CONNECT\s76800\r ModemConnect CONNECT\s57600\r ModemConnect CONNECT\s38400\r ModemConnect CONNECT\s19200\r ModemConnect CONNECT\s16800\r ModemConnect CONNECT\s14400\r ModemConnect CONNECT\s12000\r ModemConnect CONNECT\s1200\r ModemConnect CONNECT\s9600\r ModemConnect CONNECT\s7200\r ModemConnect CONNECT\s4800\r ModemConnect CONNECT\s2400\r ModemConnect CONNECT\r ModemError BUSY ModemError NO\sCARRIER ModemError NO\sDIAL ModemError RING\r ModemError ERROR



# Время ожидания строк "OK" и "CONNECT". Нельзя применять логические выражения TimeoutReset 3 TimeoutConnect 30

# Задержка в секундах перед каждым звонком в "автоматическом" режиме. # Игнорируется если список адресов задан явно в командной строке DialDelay 0

# Опции дозвонки (зависимости от времени, адреса и флагов нодлиста). # Применяются в порядке их указания. Допустимые опции "[No]Call", "[No]Hold", # "[No]PUA", "[No]EMSI", "[No]WaZOO", "[No]Freqs", "[No]Zmodem", "[No]ZedZap", # "[No]Janus", "[No]Hydra". Здесь, WaZOO установливается для рукопожатия # YooHoo/2U2, но не для схемы передачи. Рукопожатие FTS-0001 и схема DietIFNA # не могут быть запрещены (поскольку они заложены в стандарте). Опция "Hold" # действительно замораживает "замороженные" пакеты и файлы: не отправляет их, # если наша система инициировала соединение, "NoHold" отправит "замороженные" # пакеты, если наша система инициировала соединение. "NoPUA" устанавливается # для "No PickUp All", т.е. PUP ("Pick Up Primary"). NoCall запрещает # исходящие звонки. Этот флаг не имеет значения, если адреса заданы явно в # командной строке. Опции по умолчанию - "все разрешено" #options ((!CM) & time Any0700-0200) Nocall #options (time Any0900-2100 & ! address 2:5020/*) Nocall options (time Any0001-2359) Call NoHold PUA EMSI WaZOO Zmodem ZedZap TCP


Содержание раздела