$Id: CHANGED.rus,v 1.21 2005/01/13 09:45:29 skold Exp $ -------------------------------------------------------------------------- Версия 1.4.2 ------------- 2004-12-24: * Исправлена функция s_user.c/m_nick() (NICK 2) на предмет направления киллов по сервисным коллизиям -silencio 2004-12-07: * Исправлена функция parse.c/parse(): return -1 в Ignoring prefix заменён на return 1 (вызывал инвалидацию fd) Обновление хабов ОБЯЗАТЕЛЬНО -skold 2004-12-06: * Исправлена функция channel.c/clean_channelname() (буква ё + koi8-u) -skold 2004-10-06 (1.4.2release): * убрана блокировка каналов по киллу на последнего оператора канала * улучшена обработка имени канала в channel.c/clean_channelname() -skold 2004-09-21: * исправлены два мелких переполнения буфера в tkserv -erra 2004-09-14: * исправлена обработка кэша и финальная точка к имени хоста в mod_dnsbl.c -erra 2004-08-19 (1.4.2pre_20): * устранена утечка памяти, внесенная 2003-09-24 в channel.c/match_mode_id() -skold 2004-08-09: * поправлена ошибка переполнения буфера в pre_18 ircd/channel.c -skold 2004-07-06: * причина передаётся из KLINE в tkserv -erra 2004-05-16: * исправлено переполнение буфера команды "KICK #chan me, someone" (ошибка NJOIN) -skold * исправлена некорректная обработка сервисных коллизий -silencio * исправлено отслеживание kill'а на клиентских серверах, получивших KILL в результате коллизии -skold 2004-05-02: * убран код сумеречного режима -skold * временный код для резолвера во FreeBSD jail -skold * исправлено переполнение буфера в функции add_local_domain() -skold * добавлена возможность заходить на тихие (+q) каналы вне зависимости от MAXCHANNELSPERUSER -skold 2004-03-31: * отработка команды STATS для локальных операторов на своём сервере -skold * исправлена маскировка user@host для команды STATS o -skold * исправлено переполнение буфера в umode +x для одноуровневых доменов (без точки) -erra 2004-02-27: * исправлена инициализация таблиц toertab[] в KOI8 -skold * небольшое исправление к заданию параметра client_flood -skold 2004-02-24: * исправлено удаление K/E строк посредством tkserv -erra 2004-02-14: * К логам канала &KILLS добавлены ident@host -skold * исправлены умолчания в config.h.dist -skold 2004-02-12: * небольшое исправление к спискам коллизий, чтобы усложнить намеренную коллизию -skold 2004-02-05: * изменён алгоритм VHOST для лучшей маскировки -LoSt 2004-02-04: * VHOST_MODE_MATCH теперь включён всегда -skold 2004-02-03: * наконец исправлена работа со строками K/E в tkserv -erra 2004-01-16: * исправлена работа с кэшированными записями DNSBL -erra 2004-01-11: * исправления к expire_collision_map -skold 2004-01-09: * исправлена ошибка сегментирования в add_history(pre_8) -skold * убрано ретранслирование сообщения об ошибке в m_umode -skold * добавлен KILL зависших коллизий в expire_collision_map -erra 2004-01-07: * добавлен префикс ником в RPL_WHOISHOST -erra * введен RPL_CHARSET вместо жёстко заданного ответа (в whois) -erra * в механизм устаревания коллизий добавлен вывод списка коллизий -skold * изменена работа с переменной invincible и параметром SERVICES_SERV: добавлен KILL для enforcer'а -skold * введен в работу неиспользуемый ранее aCollmap->tstamp -skold * улучшена совместимость в common/parse.c -skold 2004-01-06: * добавлена команда EXEMPT в tkserv (теперь v1.4.0) -erra * добавлен параметр компиляции TKSERV_VERBOSE -erra * добавлен синтаксис "TKLINE E ..." для взаимодействия с сервисами -erra * параметр TK_MAXTIME перенесён из config.h в tkconf.h -erra * жёстко записанные значения в tkserv заменены параметром TK_MAXTIME -erra 2004-01-05: * добавлено исключение для коллизий ников, приходящих от сервисов - их не меняем -erra * части кода отмечены #ifdef USE_SERVICES -erra * вновь написано ограничение срока действий списков коллизий -erra 2003-12-30: * пользовательский режим +h убран -erra * существенно изменена обработка коллизий -erra, skold * m_restart - поправлен для режима +x -skold 2003-12-12: * поправлена некорректная команда :old NICK :new для коллизии ника -skold * поправлено обрезание цифр в конце ника -skold * небольшая поправка к m_quit -skold * канал &LOCAL теперь якобы только по приглашениям -skold * карты коллизий должны быть сильно переписаны в связи с ошибкой алгоритма -skold 2003-12-09: * добавлен параметр MODES_RESTRICTED: запрещает /mode #channel +e/+I для тех, кто не на канале (и не оператор IRC) -erra * также запрещён /mode #channel +I для всех, кроме операторов канала (или IRC) -erra * добавлен лог для канала &LOCAL (отдельный от userlog) -erra * реструктурированы определения логов в config.h для лучшей читаемости -erra 2003-11-30: * исправлен поиск host/ip = ... and host/ip = !... в iauth.conf -erra * добавлен "!" для строк исключений в вывод /stats A -kmale * исправлена опечатка в ircdwatch.c -erra * поправлены таблицы tolower/toupper в common/match.c. TODO: обойтись без них вовсе -erra 2003-11-28: * убран чёрный список EasyNet из support/iauth.conf -erra * убран статистический отчёт при запросе удалённого сервера в /lusers, поскольку цифры неверны -erra 2003-11-16: * малая поправка к get_client_xname (неверный формат) -skold * дополнительная отладка к valloc и спискам коллизий -skold 2003-11-14: * переделан get_client_xname для m_trace -erra * закомментированы все конструкции #undef MACRO value, чтобы убрать предупреждения gcc3.3 -erra 2003-11-08: * поправлен выход за границы массивов в m_service и m_nick -skold * поправлен запрет на ник anonymous, который по сути не работал -skold 2003-11-07: * поправлена ошибка сегментирования, внесенная поправкой к opnotices -skold * поправлен m_trace, чтобы не показывал настоящий хост пользователей в режиме +x -skold 2003-11-04: * исправлена передача opnotice/opmsg между серверами -kmale * поправлен нотис операторам о проходе через бан -kmale * добавлен нотис оператору IRC при проходе через бан -erra * восстановлены настоящие хосты для сервисов (S:) -erra 2003-10-29: * отчёт о глобальных пользователях -erra * поправлено неверное распространение команд, внесенное вчера -erra * исправлен RPL_BOUNCE -erra 2003-10-28: [pre-release] * добавлены строки E: (исключения из K:) -erra * поправлена ошибка логики в s_bsd.c (клиентский флуд) -erra * client_flood и localpref документированы в example.conf -erra * строки E: документированы в example.conf -erra * исправлена ошибка сегментирования вследствие вызова lock_nick после exit_one_client -erra * добавлен синтаксис "KLINE *" или "KLINE *.domain" для m_kline -erra 2003-10-27: * добавлена поддержка RPL_ISUPPORT, изменён код ответа RPL_BOUNCE -erra * небольшая модернизация производительности в channel.c -erra * добавлен параметр client_flood (клиентский флуд) в строки I: (пишется в aconf->localpref) -erra * добавлен код EXTRA_STATISTICS (из IRCNet ircd) -erra 2003-10-24: * добавлена инициализация для localpref (в 0) -erra * слегка улучшен генератор случайных чисел -erra * отрезаны лишние цифры из нового ника при коллизии -erra * исключена функция strcpyzt (заменена на strncpyzt) -erra * новая возможность: отсылка на тот же порт, на который пришёл клиент (B:) -erra 2003-10-20: * внесены поправки к mod_dnsbl (например, кэш результатов) от Beeth * исправлена обработка случая "list = somehost.bl.org" (только один хост) для mod_dnsbl -erra 2003-10-18: * поправлено отображение настоящего хоста в логах и системных каналах -erra 2003-10-13: [Brain Damage] * спешная адаптация пакета irc2.10.3p5 package, исправление к переполнению буфера в m_join buffer -erra * исправлена зависшая опечатка в config.h.dist (комментарий к MAXLOCKS) -erra 2003-10-12: * добавлена защита от переполнения в алгоритм маскировки хоста -erra 2003-10-10: * добавлен параметр localpref в вывод команды /stats c -erra 2003-10-09: * исправлено чтение строки "ip = !1.2.3.4" из iauth.conf -erra * исправлено чтение строки "ip = ..." из iauth.conf -erra * исправлен отчёт "IP = ..." при вызове iauth -c iauth.conf -erra 2003-10-07: * устранено зацикливание в списка коллизий (при коллизии смены ника) -erra 2003-10-06: * исправлен механизм рестарта сервера (переписана обработка сигналов: ircd/ircd_signal.c): - SIGCHLD обрабатывался некорректно - s_restart() использовал устаревшую обработку сигналов - restart() устарел и посему удалён - server_reboot() не отслеживал потомков ircd - исправлен - #ifdef PROFIL и s_monitor устарели - удалены -skold * убраны my[n]cmp из common/match.c, все вызовы заменены на str[n]casecmp -erra 2003-09-30: * исправлено скрытие хостов для строк O: (не работало) -erra * добавлен цифровой код для /stats f -erra 2003-09-29: [Equinox+] * исправлена обработка синтаксиса "nick!" -erra * исправлена ранее испорченная обработка юникс сокетов в common/send.c -erra * ограничена команда STATS для не операторов до C/H/O/U, хосты из строк O: спрятаны для не операторов -erra * два новых параметра в config.h - VHOST_MODE_MATCH (по умолчанию выключен) и STATS_RESTRICTED (включен по умолчанию) -erra * изменена буква строк X: на F: -erra * добавлена команда /stats f - показать строки F: -erra * нотис "стал оператором IRC" исправлен, чтобы сообщать настоящий хост -skold 2003-09-28: * исправлено выделение памяти под клиенты -skold * добавлен нотис операторам IRC о тех, кто пытается получить +o -skold * ещё одна маленькая поправка к алгоритму шифрованных хостов -erra * команда STATS запрещена всем, кроме операторов сети -skold * добавлен синтаксис "nick!" для получения "nick +x" в момент соединения -skold, -erra 2003-09-25: * изменён алгоритм шифрования хостов -erra 2003-09-25: * добавлен mod_webproxy.c (взят из IRCNet ircd) -erra * изменён mod_webproxy в соответствии с общим стилем -erra * doc/iauth.conf.5 и support/iauth.conf обновлены соответственно -erra * добавлен подробный ответ от модуля rfc931 -erra * добавлен параметр NO_DIRECT_VHOST в support/config.h.dist и m_umode -erra * дополнительные зависимости в support/Makefile.in 2003-09-24: * изменения в алгоритм шифрования хостов, шифрование усилено -erra * исправлен ответ 002 -erra * исправлена ранее поломанная ошибка "забанен на канале" -erra * исправлена функция match_modeid для шифрованных хостов -erra * убран статический буфер из make_nick_user_host -erra * нотисы входа сквозь бан по приглашению и операторы заменены на операторские (opnotice) -erra * добавлен настоящий хост в данные whowas -erra 2003-09-23: * закончена разработка виртуальных (шифрованных) хостов для пользовательского режима +x -erra * несколько малых правок в разных местах кода -erra * добавлен параметр NO_DEFAULT_VHOST в config.h -erra 2003-09-22: [Equinox] * исправлена обработка команды RMODE до полностью рабочего состояния -erra * директива "connect thru" перемещена в ircd.conf (строки x:) -erra * исправлен chkconf.c для распознания строк X: -erra * начата работа над маскированием хостов пользователей (только операторы IRC могут видеть настоящий хост по /whois), оставлено для TODO -erra * заменён код ответа "изменена кодовая страница" -erra * заменены последние два символа в таблице b64, чтобы лучше соответствовать стандартам DNS -erra * проверка идента на корректность перемещена в register_user -erra 2003-09-19: * ещё более плавная работа проверок в can_join() -erra * изменено поведение в m_invite() - запрещено приглашение на несушествующий канал -kmale, -erra * оптимизированы функции списка коллизий по производительности, добавлен отладочный вывод -skold 2003-09-18: * исправлены "сумеречные" нотисы для операторов сети, входящих на канал, в случае если для них есть исключение или приглашение -kmale, -erra 2003-09-14: * малая поправка к s_bsd.c (код возврата) -Umka * причина отказа авторизации соединения перемещена в cptr->name, ибо в остальных местах она перезаписывается другими данными -erra * сделан отдельный флаг для коллизии -erra, -Umka 2003-09-13: * введены читабельные отказы авторизации от iauth -erra * небольшая поправка к выводу mod_dnsbl.c в /stats a и iauth -c -erra 2003-09-11: * много поправок к mod_dnsbl.c, добавлен параметр "paranoid" -skold, -erra * обновлён doc/iauth.conf.5 по поводу параметра "paranoid" -erra 2003-09-10: * устранена ошибка сегментирования в mod_dnsbl.c -erra * исправлен возврат без заданного значения в shrink_collmap() -erra * малая поправка к a_conf.c (iauth) -erra * устранена небольшая течь памяти в m_nick (s_user.c, обработка коллизии :old NICK :new) -erra 2003-09-09: [rc7] * исправлено условие проверки списка коллизий в common/parse.c -erra * переделан вызов m_nick из обработки коллизий -erra 2003-09-08: * убрано сообщение о коллизии в обработке коллизии смены ника :old NICK :new как излишнее -erra 2003-09-07: * ещё немного поправок к спискам коллизий -erra * устранена ошибка сегментирования в del_from_collision_map -erra * начат ответник (FAQ) -erra 2003-09-05: * тщательно переработаны списки коллизий, переписано выделение памяти -erra * удалены codepages-rusnet1.3/ как устаревшие -erra 2003-09-02: * изменены ircd/s_err.c и ircd/s_users.c на предмет возврата времени входа пользователя в выводе whois -erra * введены списки коллизий -erra 2003-09-01: * введена модифицированная функция crc32+b64 (ircd/hash.c), добавлено поле контрольной суммы в структуру aServer для обработки коллизий ников -erra 2003-08-29: * протестирована и исправлена обработка коллизии "NICK new", введена (но не протестирована) обработка коллизии ":old NICK :new" -erra Результаты печальны, нужен другой алгоритм. 2003-08-28: * изменено условие в m_force чтобы не посылать KILL в неверном направлении -erra * косметические правки rusnet/rusnet_cmds.c -erra * исправлена ошибка сегментирования и отладочный вывод в tkserv -skold * изменена функция m_nick с целью форсирования корректных ников, недоработано -erra 2003-08-27: * малые поправки к ircdwatch -skold * изменён список DNSBL по умолчанию в support/iauth.conf -erra * добавлена ещё одна замена KILL на FORCE в m_nick -erra 2003-08-26: * добавлен вызов m_kill в m_force для старых серверов, которые не поддерживают эту команду -erra 2003-08-25: * исправлен support/iauth.conf: изменено слово 'host' на 'list' в параметрах dnsbl -erra 2003-08-05: * исправлен механизм удержания ников - в config.h внесены новые параметры, связанные с удержанием ников -kmale * удержание ников исследовано и слегка скорректировано -erra 2003-08-04: * обновлён iauth/a_conf.c, чтобы позволить ip = 1.2.3.4 также как ip = 1.2.3.4/32 в iauth.conf -erra 2003-08-01: * дописан mod_dnsbl.c для iauth, чтобы позволить обращение к нескольким чёрным спискам -erra * iauth.conf.5 дополнен информацией о dnsbl -erra 2003-07-30: * добавлен пример 'ip = ...' в справочную страницу iauth.conf.5 -erra 2003-07-29: * исправлено вырезание списка каналов для ChanServ -erra 2003-07-18: * добавлен логгинг канала &AUTH (в connlog) -erra * исправлен двойной логгинг (в файлы и syslog) -erra 2003-07-17: * исправлены непроверенные пути логов и механизм записи логов вообще -erra * исправлен mod_dnsbl -erra * добавлено ведение лога канала &LOCAL -erra 2003-07-16: [rc6] * включено ведение логов для каналов &ERRORS и &NOTICES в файл(ы) (настраиваемо), все имена файлов для логов перемещены из Makefile в config.h -erra * начат модуль dnsbl для iauth -erra 2003-07-15: * изменена обработка команд /*serv, чтобы они посылали PRIVMSG service@server вместо просто PRIVMSG service -erra 2003-07-11: * исправлен support/Makefile.in для сборки chkconf -erra 2003-07-09: * добавлена проверка идента на корректность в m_user -LoSt * добавлены методы m_*serv для команд /nickserv и т.д. -erra * исправленные версии openconf() и dgets() мигрированы в chkconf.c -erra 2003-07-03: * dgets() переделан (common/support.c), теперь #include корректно работает -erra * добавлен лог каналов &ERRORS (*.warn) и &NOTICES (*.info) в syslog -erra 2003-07-01: [rc5] * переписана обработка opnotices/opmsg: выходит, что исходный ircd использует chptr->clist->flags в качестве внутреннего счётчика -erra 2003-06-27: * исправлена однонаправленная посылка расширений протокола между серверами. Есть два места в ircd, где передаётся стартовая строка PASS ... |IRC, до сих пор было сделано только одно из них -erra * удалено поле rusnet_proto из структуры Server - вся необходимая информация перемещена в поле version -erra 2003-06-19: * return 0 добавлен в несколько разных функций в rusnet_cmds -erra 2003-06-18: * opnotice/opmsg приведены к рабочему состоянию -erra 2003-06-16: * добавлены opnotice/opmsg (/notice @#channel, /msg @#channel) -erra 2003-06-11: * исправлена проверка лимитов срока действия в tkserv -erra 2003-06-06: * добавлены функцим str[n]casecmp в common/support.c -erra * изменено умолчание в iauth.conf на предмет отказа открытым прокси -erra * добавлен поиск strcasecmp в скрипт configure и окружение -erra 2003-06-05: [rc4] * исправлена обработка команды KLINE, теперь она работает -erra * изменён tkserv, чтобы разрешить добавлять или удалять перманентные строки K: -erra * убран список каналов для сервисных ников -baron * изменён initconf(), чтобы позволить вложенные конфигурации -erra * изменены правила в Makefile для tkserv, чтобы он работал с kills.conf вместо ircd.conf -erra 2003-05-06: * скорректировано поведение для "постоянных" строк K: в rusnet_cmds.c, добавлен параметр TK_MAXTIME в config.h для лучшей настройки -erra 2003-05-05: [rc3] * ещё раз переделана обработка строк K: (неправильный вызов приводил к отстрелу всех пользователей сервера по команде /rehash, если присутствовала хоть одна строка, начинающаяся с K:*:) -erra * новая команда протокола: KLINE -baron, -erra * множественные поправки к rusnet_cmds.c -erra * новые параметры в config.h для обработки KLINE -erra * команда RCPAGE может быть послана оператором, если задано в config.h -erra 2003-04-28: * переработаны и исправлены строки K: для ников. Изменена функция find_kill (добавлен новый аргумент) для обеспечения требуемой функциональности -erra * удалены ненужные куски кода, связанные с обработкой директивы "interface" в rusnet.conf -erra 2003-04-26: [rc2] * новые возможности: приоритет автоконнекта (строки c/C: - параметр localpref в структуре Server), поиск ников в строках K: -erra * функциональность директивы "connect thru" в rusnet.conf расширена механизмом отката (когда указан несуществующий IP, будет использован основной IP сервера) -erra * удалена директива "interface" из rusnet.conf как избыточная -erra * документирован rusnet.conf (см. doc/example.rusnet.conf) -erra 2003-04-15: * исправлена работа с кодовыми таблицами -LoSt * исправления к m_force, m_rmode, m_rcpage -erra * множество обрамлений (#ifdef RUSNET_IRCD) во многих точках кода -erra 2003-04-02: [beta3] * новые команды протокола: RMODE, RCPAGE -baron * новый режим канала: +c (цветовыделение запрещено) -baron * исправления в codepages.universal -LoSt * исправлен ircd/whowas.c -LoSt * исправлены common/parse.c и common/send.c -LoSt * исправлены configure и configure.in на предмет ложного обнаружения Solaris на FreeBSD 5.x -erra 2002-09-22: [beta1] * rusnet/rusnet_cmds.c: изменена обработка команды FORCE с широковещательной на персонально маршрутизируемую. Это должно невообразимо уменьшить трафик на момент загрузки сервисов -az 2002-09-21: начало * RusNet IRCD теперь основан на ircd 2.10.3p3 (было 2.10.3) с ftp.irc.org, практически все куски кода были обрамлены #ifdef RUSNET_IRCD для сохранения совместимости и лучшей применимости -erra Версия 1.4.1 _____________ PATCHLEVEL 5 ------------ Изменения: rusnet/ rusnet_init.c Мусор в описании маршрута, когда описание не введено в директиве "connect" файла rusnet.conf после "thru 1.2.3.4", возможно переполнение при наличии доступа на запись к rusnet.conf срочность: средняя. PATCHLEVEL 4 ------------ Изменения: rusnet/ rusnet_cmds.c решена проблема обвала при обработке команды FORCE в отладочном режиме (DEBUGMODE) -Alex "Umka" Ljashkov common/ os.c (см.: RUSNET POLL) Сделаны изменения для поддержки функции poll() в ОС Linux. PATCHLEVEL 3 ------------ Изменения: rusnet/ rusnet.h rusnet_init.h rusnet_misc.c rusnet_virtual.c s_bsd.c (см.: RUSNET CONNECT) В rusnet.conf внесены изменения, чтобы позволить перенаправление исходящих соединений на отдельно взятый интерфейс (адрес IP) -Adel PATCHLEVEL 2 ------------ 2000-08-28: * Улучшены WHOIS_NOTICES. Теперь операторы получают нотис вне зависимости от того, находятся ли они на запрашиваемом сервере. 2000-08-25: * Добавлены EXTRA_NOTICES для операторов сети. Теперь можно, видеть кто делает WHOIS на тебя. Смотреть JOIN/EXIT/NICKCHANGE на канале &OPER, можно смотреть пользователей в режиме +i (невидимок) и пользователей на других каналах, не находясь на них. Исправлен Makefile для инсталяции codepages. 2000-08-17: * Добавлена новая таблица для маков... так называемая MacRoman Big thanks: Alexander Javoronkov 2000-06-27: * Добавлена поддержка topic set by (код 333)