[Comm] qico.xe
Anton Gorlov
=?iso-8859-1?q?pnz=2Estalker_=CE=C1_mail=2Eru?=
Пт Июл 22 14:08:46 MSD 2005
В incoming/backports/2.4/ направлена свежая ветка qico - qico.xe
(extended). Изменений довольно таки много. После qico-si починили emsi
(там она была поломана..убедился на личном опыте).
Version 0.57xe
~~~~~~~~~~~~~~~~
- new: теперь в мейлере используется только неблокируемые операции
ввода/вывода.
- Новая буква в loglevels: N - работа с нодлистом.
- changed: переделана работа с нодлистами.
ВНИМАНИЕ! Перекомпилируйте нодлисты!
- changed: во время mailhour или zmh будем звонить на узел не только при
наличии
нетмейла, но и при наличии пустого ?lo файла на него (с учетом
callonflavors).
- changed: код binkp полностью переписан, добавлена поддержка входящих
freq-ов
при соединении по binkp/1.0 (проверялось на bforce и argus).
- configure: --enable-dlmalloc, позволяет использовать неродную библиотеку
распределения памяти (malloc/free etc) by Doug Lea.
- Новое слово: HydraRH1 yes/no - позволяет отключить RH1 режим на гидре
- Новое слово: ModemCheckDSR yes/no - проверять или нет наличие сигнала
DSR/CTS перед звонком по модему.
- bugfix: если у вас имя файла устройства для com порта превышал 8 символов
(без /dev/), qcc вел себя не адекватно (попытка 2, удачная :) .
- bugfix: несколько уменьшилась падучесть демона.
- bugfix: qcc неверно показывал скорость удаленного узла, если она
превышала 64K.
- bugfix: если нам выставили HAT - ничего не отсылаем (пытались отослать
freq).
- bugfix: при обрыве сессии на входящих звонках могли долго висеть
(попытка 2).
- bugfix: игнорируем чат на гидре, если чат у нас запрещен.
- bugfix: при ip соединении не занимаем весь процессор, если не получается
присоединиться к серверу.
- Новый ключ qico: -f - не закрываем управляющий терминал и не
демонизируемся
(thanks to tony feldman).
Version 0.56.4xe
~~~~~~~~~~~~~~~~
- bugfix: если не был прописан bso - падали в корку.
- bugfix: при обрыве сессии на входящих звонках могли долго висеть.
- bugfix: если у вас имя файла устройства для com порта превышал 7 символов
(без /dev/), qcc вел себя не адекватно.
- bugfix: могли позвонить на узел по нескольким линиям сразу.
- Hydra4/8/16k и чат вернулись в код.
- cvs tag: xe-0_56-r3
Version 0.56.3xe
~~~~~~~~~~~~~~~~
- bugfix: Hydra теперь должна работать со всеми мейлерами.
- bugfix: Переписан ASO и BSO рескан.
- Новое слово: HydraLogVerbose yes/no
- known bug: на гидре не работает чат! надеюсь, временно.
- regression: Hydra4/8/16k планируется убрать из кода.
- qcc: теперь переход в основную консоль можно делать не по '0', а как
в quake - по обратной кавычке (или тильда (~) без шифта).
- cvs tag: xe-0_56-r3
Version 0.56.2xe
~~~~~~~~~~~~~~~~
- Новое слово: 'hydrahdx yes/no' - работать на one-way (yes) или two-way
(no)
гидре. Полезно при сильно асимметричных коннектах, например HST.
- Новое слово: 'hydracrc16 yes/no' - если yes, то не говорим удаленной
стороне,
что умеем crc32, no - говорим.
- Новое слово: 'loginscript pathname' - запускать указанную программу сразу
после дозвона, но до EMSI. В зависимости от возвращенного кода
устанавливаем
или обрываем сессию.
- cvs tag: xe-0_56-r2
!!! Обращаю ваше внимание, что старое внимание в силе !!!
Version 0.56.1xe
~~~~~~~~~~~~~~~~
- bugfix: Hydra теперь более соответствует последней спецификации (на мой
взгляд разумеется).
!!! Внимание. В версии 0.56.1xe НЕ работает Hydra4/8/16k !!!
Впрочем, обычная может тоже не работать.
Не пользуйтеcь параметром --enable-hydra8k для configure.
Version 0.55xe
~~~~~~~~~~~~~~
- Добавлена обработка переменных окружения в конфиге.
- Новое слово: 'resolvehostname yes/no' - показывать при входящем tcp звонке
не только ip адрес, но и имя хоста (может вызывать задержку сессии при
плохо работающем DNS).
- bugfix: при сборке на FreeBSD 4.X с помощью gcc 2.95.4 qico 0.55si с cvs
выпадала в Segmentation Fault.
- bugfix: вернулась на место прежняя обработка EMSI.
- cvs tag: xe-0_55-qicoxe
Version 0.55si
~~~~~~~~~~~~~~
- В процессе разработки находится поддержка перла на уровне хуков.
в связи с этим добавлен ключ --enable-perl у configure и слово 'perlfile'
в конфиг. пример скрипта и уже реализованные возможности можно посмотреть
в stuff/test.pl.
Version 0.54si
~~~~~~~~~~~~~~
- Стабильная версия.
- bugfix: не работала докачка файлов.
- bugfix: имена файлов, отдаваемых по фреку, иногда содержали путь.
- bugfix: по qctl -K или kill в qcc не прибивались файлы со статусом hold.
- bugfix: многие таймауты срезались до одной секунды.
- bugfix: в лог выводилось локальное время, вместо ремотного.
- тэг на CVS: stbl54.
Version 0.53si
~~~~~~~~~~~~~~
- Добавлено слово `runoncall' - данный скрипт будет запускаться сразу перед
началом набора номера или коннекта к ремоте. в качестве аргументов скрипт
получает адрес и телефон или хост системы с которой будет сессия.
- qcc: по нажатию 'ctrl+l' перерисовываем экран.
- Новое условие: 'line' - номер хидден-линии или 0, если линия только одна.
- Теперь даты в собственном логе qcc тоже пишутся в соответствии с локалью.
- Новая буква 'r' у слов `mapin' и `mapout' - перекодировывать или нет имена
из *.req файлов в транспортную кодировку. раньше перекодировывались
всегда.
- Новое слово: 'recodepkts yes/no' - создавать pkt отчёты (чат и фреки) в
транспортной кодировке. раньше были всегда в транспортной.
- Новые слова: 'remotecp' и 'localcp' - таблицы перекодировки. формат
таблиц и слов смотрите в примере конфига. раньше всегда использовались
внутренние таблицы. пример таблицы, аналогичной внутренней, есть в stuff.
В связи с этим удалено слово 'remoterecode'.
- Пишем в лог ремотную дату, если она отличается от нашей.
- Слова `lockdir', `modem*', `phonetr' и `port' больше не являются
обязательными (для ip-only станций).
- Теперь из qcc можно запрашивать одновременно несколько файлов, разделяя
их пробелом. если имя содержит пробелы, то его нужно взять в двойные
кавычки.
- Теперь binkp можно запретить при компиляции, указав --disable-binkp.
- Теперь у qcc и qctl можно указать не только порт, но и хост, к которому
нужно коннектится. ip-адрес или хост задаются ключом `-a'.
- Новое слово: 'serverpwd' - пароль для клиентов. так же добавлен ключ `-w',
у qcc и qctl, для указания пароля к серверу. если указан ключ '-w-', то
пароль запрашивается с клавиатуры.
- Теперь в файле конфигурации допустимы вложенные блоки 'if-endif'.
- Новое условие: 'mailer' - строка названия/версии мэйлера удалённой
стороны.
- Новое условие: 'exec' - условие выполняется, если программа возвращает 0
(true). пробелы в строке запуска программы надо заменять запятыми.
- Добавлены порт для FreeBSD от Andey Slusar <vasallia на ukr.net> и qico.spec.
- bugfix: qcc неверно обрабатывал изменение размера терминала.
- bugfix: команда `h' в qcc неверно работала с числами больше 255.
- bugfix: на binkp имена файлов не перекодировывались и не нормализовались.
- тэг на CVS: qico53
Version 0.52si
~~~~~~~~~~~~~~
- Стабильная версия.
- bugfix: не собирались на системах со старым интерфейсом recv().
- bugfix: при связи с TheBrake самопроизвольно открывался чат.
- bugfix: если демона небыло, то всё равно пытались с ним обмениваться.
- bugfix: дефолтная скорость всегда была 300, а не из --with-default-speed.
- bugfix: qcc неверно работал с окном ввода строк на коротких терминалах.
- bugfix: падали при попытке установить размер блока для (dir|zed)zap.
- bugfix: qctl работал некорректно.
- bugfix: на *BSD демон зависал и жрал ресурсы.
- bugfix: не работали многие if-условия.
- тэг на CVS: stbl52.
Version 0.51si-cvs
~~~~~~~~~~~~~~~~~~
- IPC заменено на IP. соответственно было убрано слово `ipcperm' и добавлено
`server' - порт для демона, по умолчанию 60178. используются, как tcp
- для
клиентов, так и udp - для линий. добавлен логлевел 'I' для дебага ip.
- В связи с этим у qcc и qctl появился новый ключ: `-P <port>' - порт,
к которому они будут коннектиться. в качестве порта можно
использовать его
номер или название из /etc/services, как и в слове `server'.
- Добавлен протокол '4' - Hydra4K. требует --enable-hydra8k при configure.
- Теперь если ваша система имеет DNOTIFY (проверятся configure'ом) и вы
используете ASO, то можно ставить `rescanperiod' например на час (3600),
т.к. демон будет делать рескан сам при изменениях в `asooutbound' и при
необходимости. также добавлена опция `--disable-notify' у configure.
- Добавлен чат в BinkP и опция 'T' в `binkpopt'. Для совместимости со
стандартами binkp 1.0 и 1.1, чат разрешён только если обе стороны
предъявили 'OPT CHAT'.
- Добавлена поддержка socks(4,5)-proxy, слово `socks' в конфиг. не
тестировано.
- Новое условие: 'host' - хост удалённой стороны.
- Новое условие: 'sfree' - свободное место на указанном пути.
- В qcc максимальное количество окон увеличено до 16.
- Теперь в qcc история ввода строк/адресов разделена по типам.
- Добавлена поддержка однострочных условий в конфиге. примеры в conf.sample.
- Теперь понимаем двух-буквенные дни недели и слова 'not','xor','or','and'.
Так-же понимаем 'addr' вместо 'address' и разбиение на несколько строк.
- bugfix: условие 'connstr' проверяло точное совпадение строки, а не
вхождение.
- bugfix: qcc неправильно работал с несколькими ip линиями.
- bugfix: binkp "зависал" с binkd младше 0.9.6 (из-за потери NR).
- bugfix: binkp падал на входящих, если не мог залочить аутбаунд.
- bugfix: на исходящих с демона телефон всегда транслировался,
независимо от значения слова `translatesubst'.
- bugfix: не всегда корректно работал ключ 'f' в `mapout'.
иногда имя передаваемого файла сообщалось вместе с путём.
- bugfix: содержимое лонгбоксов не всегда добавлялось в очередь.
- bugfix: если условие было описано с ошибками, то оно просто
игнорировалось.
- bugfix: qcc зависал, если терминал был шире 127 символов на строку.
- bugfix: терялась доменная часть адреса.
- bugfix: не работало автосоздание каталогов.
- bugfix: количество aka-адресов было ограничено из-за маленького буффера.
- тэг на CVS: qico51
Version 0.50si-cvs
~~~~~~~~~~~~~~~~~~
- Последняя версия с ipc.
- Новое условие: 'connstr'.
- Теперь демон умеет делать "звонки" на ip узлы. Для звонка должно подходить
время (из нодлиста или сабста), отсутствовать флаг nodial.tcpip и
узел должен
быть описан в сабстах с ip протоколом или в нодлисте иметь pvt статус
и один из флагов IBN или IFC. если хост в сабстах не указан, то он
создаётся
из адреса в виде [p.]f.n.z.fidonet.net.
- В связи с этим немного изменён формат слова subst. Подробности в конфиге.
- Теперь домен для binkp берём из доменной части адреса. если таковой нет,
то из слова 'domain'. если и его нет - используем @fidonet.org.
- Добавлена поддержка BinkP расширений NR, MB и CRYPT.
- Добавлен файл TodayFixes: самые свежие фиксы, которые ещё не попали
в ChangeLog (туда попадает с опозданием на один коммит).
- У всех программ добавлен ключ `-v' - показывает полную версию.
- Добавлено слово `failpolls yes/no' - создавать пулы после неудачной
сессии.
- Добавлено слово `rmboxes yes/no' - удалять или нет пустые файлбоксы.
- Добавлена поддержка http(s)-proxy, слово `proxy' в конфиг. не тестировано.
- bugfix: получали липовую ошибку M_GET for unknown file.
- bugfix: падали в корку, если логлевел Y был больше 1.
- bugfix: теперь BinkP нормально передаёт файлы с пробелом в имени.
- bugfix: опция `binkpopt' работала неверно.
- bugfix: целая толпа прочих фиксов в BinkP.
- note: перекомпилируйте нодлисты!
- тэг на CVS: qico50.
Version 0.49.12si
~~~~~~~~~~~~~~~~~
- Первая "стабильная" версия в ветке si. без binkp.
- тэг на CVS: stbl12.
Version 0.49.10si
~~~~~~~~~~~~~~~~~
- qcc теперь умеет выполнять различные команды. Жмите `F1' в qcc, всё
узнаете.
Ещё рекомендую прочитать пункт о qcc в README, для большего понимания.
- Сделано вырезание ненужной информации из лог-части экрана qcc. Сами экраны
теперь переключаются более корректно, без глюков.
- qcc теперь корректно закрывается по сигналам sighup/sigterm/sigint, либо
при завершении работы демона (по `qctl -q').
- qcc теперь парсит командную строку. делайте `qcc -h' для получения помощи.
- и вообще: qcc переделан почти полностью, и изменения сюда писать не буду!
- Чат. В конфиг добавлены переменные `chatlog', протокол `C' в `protorder',
`chatlognetmail', 'chattoemail', `runonchat' и `chathallostr'.
- Ручной skip и suspend принимаемых файлов.
- Теперь, если наш или ремотный мылер скипает/рефузит файл, а следующий файл
tic, то он тоже скипается/рефузится. Включается переменной `autoticskip'.
- Убран показ размера в мегабайтах, по причине неинформативности.
- Добавлена переменная `modemnodial <string>', в которую заносится ответ
модема, после получения которого все узлы ставятся в холд на
`holdonnodial'
минут. Это что-б модем не ломился часто, когда разговариваешь по
телефону.
- Добавлены переменные `fails_hold_div' и `fails_hold_time'. Вообщем, если
число неудачных попыток без остатка делится на `fails_hold_div', то узел
ставится в холд на `fails_hold_time' минут.
- Сделана перекодировка русских имён файлов. Включается добавлением ключей
в маппинг. новые ключи: `k' - конвертирует имя из cp866 в koi8-r, и `c' -
конвертирует из koi8-r в cp866. Вообщем смотрите qico.conf.sample, там
много нового и интересного. ;)
- Сделана обработка escape-последовательностей в EMSI - теперь корректно
понимаются русские буквы и псевдографика (коды>=128) во всех полях EMSI.
- Сделана перекодировка koi8-r<>cp866 везде, где это необходимо. При желании
отключается, установкой `remoterecode' в `no' (влияет на маппинг тоже!).
- Добавлена переменная `emsifreqtime' - время файловых запросов для EMSI.
Если не определена, то используется `freqtime' или "Never", если
фреков нет.
- Добавлена переменная `ignorenrq'. Если включена, то файловые запросы (.req
файл) будет посылаться, даже если ремота не поддерживает фреки (NRQ в
EMSI).
- Добавлена переменная `qstoutbound'. Если определена, то вся иерархия с
.qst файлами будет создаваться не в основном аутбаунде, а в этом
каталоге.
- Добавлена поддержка файловых запросов в S.R.I.F. формате (fsc-0086).
- При создании пула или файл-реквеста с узла снимается флаг Imm, если был.
- Теперь, если `realmincps off', то значит `mincpsin' и `mincpsout' указаны
в процентах от скорости коннекта: mincps=connectspeed/1000*mincps.
- Новый параметр `autosuspend' - автоматически задерживать при приёме файлы,
подходящие под маску (можно указать несколько).
- Новый параметр `alwaysoverwrite' - всегда перезаписывать при приёме файлы,
подходящие под маску (можно указать несколько).
- Если реальное имя ремотного мылера не совпадает с указанным в EMSI, то
выводятся оба названия (только на гидре). Так-же появилась некоторая
"намагниченность" собственного названия. ;)
- Если переменная окружения CALLER_ID не определена, или определена, но
содержит менее 4х знаков или строку "none", то она игнорируется.
- Новый параметр `hstimeout' - задаёт максимальное время, для осуществления
emsi-handshake.
- Новый ключ к qico: `-f' - запуск после падения демона (вместо ipcs и
ipcrm)
(только при компиляции без --disable-debug)
- Добавлена переменная `longrescan' - по дефолту всегда использовалось
по возможности "быстрое" пересканирование очереди. т.е. если время
изменения
lo'шки не изменилось, то размер самих файлов не перепроверялся. Теперь,
если определена эта переменная, то каждое указанное пересканирование
будет "долгим" (полным). Если указать 1, то все ресканы будут долгими.
- Добавлена переменная `runonemsi' - указывает на программу, которая
запускается сразу после установки EMSI-сессии. после команды добавляется
адрес ремоты в качестве аргумента. Завершение работы программы не
ожидается.
- Добавлена переменная `autohold' - файлы, попадающие под маску этого слова,
не будут отдаваться удалённой стороне. Полезно для того, что-б, скажем,
отдавать в какое-то время только почту, а всё остальное задерживать.
- Теперь в словах `autoskip', `autosuspend', `alwaysoverwrite' и `autohold'
можно использовать символ '!' и макросы. '!' указывает, на то, что надо
что-то сделать с файлами, НЕ попадающими под маску. и макросы: %N - мыло,
%E - бандлы с эхами, %F - все остальные файлы.
- Новое слово: `killbadpkt yes/no' - убивать недокаченные *.pkt.
- Новое слово: `holdout yes/no' - задерживать файлы со статусом 'hold' при
исходящих звонках.
- Новая буква для loglevels: X. Означает будет-ли виден отладочный лог qcc.
- Реализована поддержка .csy флагов занятости. Изменена работа с .bsy
флагами.
- Больше не посылаем и не принимаем мейл-полы (pkt'шки по 60 байт).
- Если логлевел 'E' больше 1, то пишем в `emsilog' свою emsi тоже.
- Новое слово: `sendonly yes/no' - если включено, то в эмси ставим флаг HAT.
- Реализована поддержка протокола BinkP. Пока все в стадии доработок и
тестирования. Пока не рекомендуется к использованию. Соответственно
новые слова: `domain' - доменное имя сети и `binkpopt' - опции BinkP,
экспрешн `binkp' - выполняется, если установлена binkp сессия,
логлевел `B', ключи `-b' и протокол `-a binkp'.
- Теперь понимаем флавор файлбоксов (напр. 2.5093.56.7.d - direct).
- Новое слово: `defboxflv' - определяет флавор для боксов, не имеющих
оного. Может принимать одно из значений: d h n i c.
- bugfix: не удаляем каталог основного аутбаунда после сессии. ???
- bugfix: теперь не "зависает" при переводе системного времени назад.
- bugfix: невозможно было сконнектиться двумя киками на zmodem и dirzap.
- bugfix: теперь .pkt, с отчётом о файловых запросах, отдаётся в конце
сессии
и создаётся более корректно.
- bugfix: корректно работаем с переходом на летнее время (daylight saving).
- bugfix: теперь адекватно реагируем на несовпадение/отсутствие паролей.
- bugfix: нельзя было определить protorder в условии if address.
- bugfix: иногда терялось расширение, если был ключ 'b' в `mapout'.
- bugfix: не сбрасывался счётчик ожидания звонка после busy/nodialtone.
- bugfix: если у ремоты был HRQ, то после неудачной сессии узел ставился
в холд.
- bugfix: считалось, что все исходящие сессии были на неизвестные узлы.
- bugfix: при некоторых условиях EMSI сессия не устанавливалась.
- Напоминаю, что изменения, вносимые и в оригинальную версию, или не мной,
заносятся ниже, в лог изменений 0.49.10.
- Косметика.
Version 0.49.10
~~~~~~~~~~~~~~~
- Добавлена возможность одновременной работы AmigaStyle и BinkleyStyle
outbound.
Убран флаг `outbound' и добавлены соответственно `asooutbound' и
`bsooutbound'.
Убран флаг конфигуратора `--enable-aso'. Добавлены баги. :) Ищите.. :)
- Новый ключ к qico: `-t' - проверка файла конфигурации на валидность.
- Произведён переход на autotools (autoconf-2.53, automake-1.5)
- Добавлена переменная useproctitle [yes|no]. По умолчанию: yes
Данная переменная управляет выводом команды `ps'. В случае если стоит
"no" то выводиться
путь к qico иначе - как и раньше, статус программы.
- Добавлен флаг "translatesubst yes|no", по умолчанию "no". Если указан, то
номера телефонов в подстановках транслируются как и нодлистовые (в
качестве
телефонов необходимо прописывать полный номер 7-095-123-4567).
- Debug Log работы с модемом. (by Pavel Levshin)
- Команда сбора статистики работы модема. (by Pavel Levshin)
- Нодлисты при поиске по маске (nodelist.999) ищутся без учёта регистра.
- функция basename взята из FreeBSD libc
- change: расшифровка конфиг-файла теперь ведётся в логи. (Не удобно,
когда надо
Enter нажимать)
- bugfix: В случае если у пользователя нет возможности читать файл, файл
в очередь отправки
не добавляется. В случае если у пользователя нет возможности писать в
файл - файл нельзя
удалить после отправки. Если указанный путь не regular файл (каталог,
сокет, пайп и тп),
то он также не попадает в очередь отправки.
- bugfix: Исправлена работа чтения конфигурационного файла, для изменения
номеров (флаг "phonetr") в зависимости от имени порта.
- bugfix: Исправлена работа с ASO при работе с нодой номер которой
длиннее 4 цифр.
- bugfix: Исправлена работа с модемом (не дёргалась DTR, запрещалась
работа с tty после sighup даже после tty_local, что-то ещё... не помню)
(by Pavel Levshin)
- bugfix: Поправлен configure в районе определения возможностей syslog'а.
- bugfix: В qico.conf.sample закрыто условие tcp/ip
- bugfix: Поправлена затычка для ломанных basename(). Предыдущий вариант
ошибался при простом имени (без '/'), из-за чего возникали серьёзные
проблемы.
- bugfix: Если стояло `needalllisted yes', то статус узла определялся
неправильно.
- bugfix: исправлена ошибка обработки нодлиста в случае если попадаются Down
станции.
Version 0.49.9
~~~~~~~~~~~~~~
- Так как Hydra8K и Hydra16K могут легко заблокироваться, если в ядре
недостаточно большие буфера у драйвера последовательного порта, то они
теперь запрещены по умолчанию. Для разрешения надо configure сказать
`--enable-hydra8k', после чего обозначения протоколов `8' и `6' станут
доступны.
- Новая буква для loglevels: R. Означает file Requests.
- Проведён дополнительный аудит кода, выявлено ещё несколько потенциальных
переполнений буфера и race conditions.
- Удалены все реальные адреса и телефоны из qico.conf.sample.
- Новое слово в конфиге: needalllisted (yes|no). по-умолчанию -- `no'.
Если стоит `no', то, что бы партнёр получил флаг `listed' достаточно
одного найденного адреса в списке предъявленных.
Если стоит `yes', то для получения `listed' необходимо, что бы все адреса
были найдены в нодлистах.
Раньше проверялся только первый адрес.
- Теперь строчка modemhangup посылается в модем не только после исходящих,
но и после входящих сессий.
- Новое слово в конфиге: alwayskillfiles (yes|no). по-умолчанию -- `no'.
Если выставить в `yes', то файлы, прописанные в LO'шках как обнуляемые
после отсылки (`#' в начале строки) будут удаляться, как если бы строка
начиналась с `^'.
- Новое слово в конфиге: rootdir. Если оно задано, то первое, что делает
демон или отвечающая копия -- это chdir в этот каталог.
Результат не проверяется.
- Умеем собираться с Electric Fence (libefence, отладчик памяти). Это
определяется перед компиляцией ключом к configure `--enable-efence'.
- собирается и запускается на NetBSD/i386 1.5
- basename() проверяется на глючность (в некоторых системах
basename() возвращает указатель на последний символ '/', а не
на символ после него).
- Добавлена реализация strcspn() для систем, где оно отсутствует.
- Проверено, что собираемся на FreeBSD 2.1.0 (gcc 2.6.3).
(Thnx to Alex Semenyaka <alexs на snark.rinet.ru>).
- Теперь параметр конфига defperm влияет не только на файлы в инбаунде,
но и на файлы, создаваемые в аутбаунде (*.?lo) при полах и аттачах.
Причём, только при создании таких файлов (права на существующие файлы,
в которые производиться запись, не меняются).
- Теперь при компиляции gcc (а кто-то компилирует чем-то другим?) все
проверки
на loglevels происходят в месте вызова, что экономит один вызов функции
на каждое отключенное через loglevels отладочное сообщение (но несколько
раздувает код, конечно).
- Новая буква в loglevels: Y. Это разбор и проверка условий в конфиге.
- Собираемся на системах без EIDRM в <errno.h>. На таких системах определяем
EIDRM в EINVAL (может быть неверно). Так же, проверяем errno на
EINVAL в тех
же случаях, что и на EIDRM.
- Собираемся на системах без getsid(). На таких системах всегда считаем себя
лидером сессии.
- Теперь во всех строках команд для модемов понимаются символы '^' и 'v'.
Поднять и опустить DTR соответственно.
Таким образом, в командах для модемов понимаются спец-символы:
| -- ^M, он же <Enter>, он же '\r'
~ -- Пауза в 1 секунду.
' -- Пауза в 0.2 секунды.
^ -- Установка DTR.
v -- Сброс DTR.
- Теперь индекс нодлистов сортируется и из него удаляются одинаковые узлы
из разных листов. Приоритет имеют нодлисты, указанные в конфиге первыми,
то есть локальный сегмент лучше указывать раньше мирового нодлиста.
Поиск по нодлисту теперь бинарный.
ВНИМАНИЕ! Перекомпилируйте нодлисты!
(Thnx to Yuriy Kaminskiy, 2:5020/517.21).
- Новая переменная в конфиге: holdonsuccess. Определяет на сколько минут
задерживать прозвонку на узел после успешной сессии. 0 -- не задерживать
вообще (старое поведение). По-умолчанию -- 0.
Если есть повод задержать файлы и/или файловые запросы, то задержка
происходит на максимум из waithrq и holdonsuccess.
Работает как на входящих, так и на выходящих сессиях, но на входящих не
учитывает флаги задержки файлов и/или файловых запросов (так как на
входящих
и исходящих эти флаги могут различаться).
- Теперь configure проверяет параметры для всех своих аргументов.
- bugfix: Закрываем pkt-файл с отчётом о файловом запросе перед отсылкой.
Очень часто не-закрытие файла приводило к пустому пакету.
- bugfix: Не портим окружение (environment) при установке названия процесса.
Такая порча могла приводить к искажению вывода времени в логе и другим
странным эффектам.
- bugfix: Работает immonflavors. И как никто не заметил, что оно вообще не
работало?
- bugfix: При неопределённой скорости коннекта не падаем при выводе в лог
ожидаемого времени передачи файла.
- bugfix: Поправлена грубая ошибка при работе с Txy-флагом. Эта ошибка могла
приводить к звонкам на станции не вовремя на некоторых системах.
(Thnx to Artem Afanasiev, 2:5030/1600).
- bugfix: Поправлены отладочные сообщения для Y.
- bugfix: Работает условие listed в конфиге для большего числа параметров --
флаг выставляется до посылки EMSI_DAT на входящих сессиях.
- bugfix: При loglevel C>0 теперь действительно дампится конфиг, а не только
сабсты.
- bugfix: Теперь условие date в конфиге должно работать правильно в случае
диапазона дней.
- bugfix: Теперь файлы вида NN.NN.NN.NN.some (где NN -- числа) в каталоге
для файлбоксов (longfileboxes) не пытаются рассматриваться как
файл-боксы,
и вообще не обращается внимание ни на что, кроме каталогов и
символических
ссылок (так что, появление таких файлов не будет приводить к переполнению
мастер-лога сообщениями о невозможности открыть каталог).
(Thnx to Maxi Rovnich, 2:5030/872.0).
- bugfix: configure проверяет, можно ли одновременно включать <syslog.h>
и <sys/syslog.h>. На некоторых системах двойное включение приводило
к ошибке компиляции и, в результате, не находились facilitynames и
prioritynames.
- bugfix: В qcc поправлен разбор пакета о посылке файлов. Может быть
поможет...
(Thnx to Sir Raorn <raorn на binec.ru>).
- bugfix: Пароль в пакете с ответом на файловый реквест дополняется нулями,
а не пробелами. Так же, исправлена возможная ошибка при использовании
паролей
длиннее 8 символов.
- bugfix: На не-интел процессорах делаем правильный заголовок пакета с
отчётом
о файловом запросе.
- bugfix: В mail-only время не пытаемся звонить, если на узел нет нетмейла.
- bugfix: Поиск ioctl(TIOCSCTTY) опять поправлен.
- bugfix: Теперь ASO точно работает -- глупая опечатка поправлена.
Version 0.49.8
~~~~~~~~~~~~~~
truncated.
/* $Id: Changes,v 1.19 2005/06/13 18:19:03 mitry Exp $ */
Подробная информация о списке рассылки community