X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/5d0c56f2bac80277823ad7a6e9b668a1cfb17aee..a5709854a8f0dc833598a2e1aefbd3000aeefb41:/ChangeLog diff --git a/ChangeLog b/ChangeLog index a8920223..df054715 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,93 +1,101 @@ General: - * Чистка кода. + * В init.d-скрипт для Gentoo добавлено явное указание PID-файла. + * Исправлена синтаксическая ошибка в примере скрипта OnDisconnect для + реализации связки шейпера, VPN и FreeRADIUS (спасибо Алексею Осипову + за патч). + * В каталоге conf-enabled.d симлинки теперь ссылаются по относительному + пути (спасибо Алексею Осипову за патч). + * Конфигурационные файлы переведены на английский язык. + * В примеры скриптов добавлен шабанг. Compilation: - * Флаги -W и -Wall добавляются при компиляции в отладочном режиме. В - релизном режиме эти флаги не добавляются. - * Развязаны зависимости библиотек - поддерживается параллельная - компиляция (make -j2 и более). - * Добавлена поддержка FreeBSD 8. + * При создании каталогов в процессе установки для них теперь вместо + переменной BIN_MODE используется переменная DIR_MODE с правами на + каталог. + * Добавлены проверки наличия компилятора в системе. + * При построении зависимостей больше не используется флаг -MG. Libraries: - * При сборке библиотеки авторизатора ia_auth_c используется корректная - библиотека потоков (определенная скриптом build) вместо жестко - прописанной -lpthread. - * Исправлена ошибка приводящая к Segmentation fault при использовании - библиотеки авторизатора ia_auth_c без указания всех callback-ов. + * В библиотеке dotconfpp убрана глобальная зависимость от заголовочного + файла mempool.h. Теперь для использования этой библиотеки этот + заголовочный файл не требуется. + * Удалены неиспользуемые библиотеки hostallow и common_settings. + * Из названий некоторых библиотек убран префикс stg. + * В библиотеке dotconfpp исправлен механизм сообщения об ошибках. + * В библиотеке common исправлена ошибка в функции Encode12 которая + приводила к неполному кодированию данных если в них встречаются нулевые + байты. Plugins: - * В mod_auth_ia исправлена ошибка приводящая к некорректному - определению длины текста сообщения на платформах с Big Endian. - * В плагинах mod_auth_ia, mod_conf_sg, mod_cap_ether, mod_cap_nf, - mod_radius, mod_remote_script оптимизирована логика работы с сетью. - Используется select с блокирующим чтением, что позволяет более - аккуратно останавливать работу плагинов. - * В mod_conf_sg исправлена ошибка обработки XML содержащего - незакодированные символы кирилицы (например в логине пользователя). - Это приводило к необычным эффектам при работе с модулем пополнения по - картам, но никаких разрушительных действий при этом не происходило. - * В mod_remote_script обновлена версия протокола для работы с - rscriptd. - * В mod_remote_script добавлена поддержка работы с множеством роутеров - для одной сети. В файле с описанием они разделяются пробелами. - * Исправлена работа с мьютексами в mod_ping (ранее они просто не - работали). - * В mod_store_files добавлен пользовательский log2 который дублирует - log но дополнительно журналирует параметр freeMb и причину отключения - при отключении пользователя. - * В mod_store_files исправлена ошибка разбора структуры файлов - приводящая к краху без сообщения об ошибке при отсутствии символа '=' - в строке с параметром. Теперь при этом выводится сообщение об ошибке. - * В mod_store_postgresql добавлена поддержка журналирования freeMb и - причины отключения. Обратная совместимость со старой базой сохранена. - * В mod_store_postgresql исправлена ошибка сохранения поля phone. - * В mod_store_postgresql исправлена ошибка приводящая к обнулению - данных статистики при переходе на новый месяц. - * В mod_store_firebird добавлена установка client encoding при - подключении к СУБД. + * Убрана лишняя зависимость у плагина для MySQL. + * В плагине файлового хранилища добавлен расширенный формат помесячной + статистики (включены все поля из обычной статистики). Классический формат + оставлен для совместимости. + * В плагине XML-RPC API исправлено название поля (disabledetailstat -> + disableddetailstat). + * В плагине XML-RPC API исправлено название поля (tariff -> name). + * В плагине XML-RPC API исправлена ошибка приводящая к невозможности + удаления пользователя. + * Переименованы некоторые методы в XML-RPC API: + tariff_change -> chg_user_tariff; + send_message -> send_user_message; + add_cash -> add_user_cash; + set_cash -> set_user_cash. + * В методе info плагина XML-RPC API убрано кодирование названий полей + dirNames. + * В плагине XML-RPC API добавлено преобразование в юникод полей note, + address, email, group и массива dirNames. -rlm_stg: - * Исправлена ошибка сборки на FreeBSD 4.6 с gcc-2.95.3. - * Исправлена ошибка сборки на FreeBSD 8.0 с gcc-4.2.1. +stargazer: + * Изменен механизм работы с сообщениями пользователям. Теперь Staragzer не + обращается постоянно к базе за списком сообщений перед попыткой отправки, + а читает их при авторизации абонента и далее поддерживает у себя в памяти + актуальный список. + * Исправлена ошибка которая приводила к падению при попытке пользователя + авторизоваться через FreeRADIUS с неправильным логином. + * Исправлена ошибка которая приводила к неправильной передаче параметра + "id" в rscriptd. + * Добавлена возможность удаления из БД сообщений которые не были + отправлены более указанного промежутка времени. + * Исправлена ошибка которая приводила к массовым отключениям в rscriptd + после массовых включений. + * Исправлено преобразование кодировки (добавлена поддержка Украинского и + Белорусского языков). + * Исправлена дата старта таймера в режиме отладки. + * Вызов localtime заменен на реэнтерабельный вызов localtime_r (устраняет + потенциальные проблемы с многопоточностью). + * Внутренние классы разделены на "интерфейсы" (абстрактные базовые классы) + и реализацию. Теперь возможна сборка плагинов out of the box (вне дерева + исходников Stargazer). + * Из имен интерфейсных классов убран префикс BASE_. Так же переименованы + заголовочные файлы с их определением. + * Начат процесс замены usleep на nanosleep. usleep помечена как устаревшая + в POSIX.2001. + * Исправлена ошибка которая иногда приводила к тому что некоторые + подсистемы стартовали до запуска внутреннего таймера, что могло привести + к "зависанию" детальной статистики некоторых пользователей и "утечке" + памяти. + * Добавлена возможность отслеживать состояние поля connected класса USER + посредством нотификаторов. + * Общие заголовочные файлы перемещенны в подкаталог stg и добавлена их + установка в /usr/include/stg. rscriptd: - * Добавлено создание и удаление pid-файла. - * Обновлен протокол работы с mod_remote_script. - * Оптимизация (без потерь отрабатывает одновременное подключение 3000 - пользователей). + * Исправлена ошибка которая могла привести к "гонкам" (race conditions). + * Удалено ожидание после перехода в режим дэмона. + * Добавлено ожидание освобождения очереди сообщений при останове. sgauth: - * Исправлена ошибка сборки на FreeBSD 4 (использование библиотеки - потоков -lc_r). - * Исправлена ошибка генерации css-файла. + * Исправлена ошибка из-за которой авторизатор не стартовал (спасибо + Алексею Осипову за патч). + * Исправлено чтение конфигурационного файла по умолчанию (спасибо + Алексею Осипову за патч). + * Добавлена инициализация статистики нулями (если подключиться не удалось + в таблице теперь выводятся нули вместо мусора). + * Исправлено значение параметра ListenWebIP по умолчанию в + конфигурационном файле. sgconf: - * Исправлена ошибка сборки на FreeBSD (добавлены пути поиска - заголовочных файлов /usr/local/include и библиотек - /usr/local/lib). - -stargazer: - * Исправлена работа параметра FullFee для "замороженных" - пользователей. - * Исправлена ошибка приводящая (в некоторых случаях) к обнулению полей - статистики пользователя при изменении параметров посредством - sgconf/sgconfig. - * Поля cash и freeMb теперь используются напрямую при подсчете трафика - (вместо интерфейса свойств), что позволяет немного уменьшить нагрузку - на процессор и исправить неприятный баг (обновление времени последнего - изменения счета при подсчете трафика). - * Начаты работы по изменению подсистемы событий. В частности, - реализованы асинхронные вызовы нотификаторов что позволяет избежать - deadlock в некоторых ситуациях. Создан обобщенный интерфейс - отложенного вызова методов классов. - * В файл stargazer.conf для FreeBSD добавлены параметры FullFee и - ShowFeeInCash с описанием. - * При отключении пользователя в лог теперь пишется состояние параметра - freeMb и причина отключения (поддерживается файловой БД и PostgreSQL с - обновлением структуры базы). - * Увеличена точность подсчета стоимости трафика на границе порога и - бесплатных мегабайт. Ранее трафик на граниче порога и бесплатных - мегабайт считался по цене допорогового, теперь он делится на 2 - допороговый и послепороговый. Это особенно ощутимо при использовании - NetFlow. - * В файле конфигурации обнаружена (!) поддержка директивы IncludeFile. + * Исправлено преобразование кодировки (добавлена поддержка Украинского и + Белорусского языков). + * Добавлен флаг -E для управления тайм-аутом кредита.