X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f9d2f1ad361cab122f01ff5b1d0c537c327f8427..0d1120fd953249ad6292b8684a2accb8890fb4ef:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 567a76a3..df054715 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,80 +1,101 @@ General: - * Уменьшена зависимость между заголовочными файлами. - * Проведен рефакторинг некоторых центральных классов. - * Добавлены unit-тесты. - * Добавлена документация на API XML-RPC. - * Добавлены диаграммы взаимодействия клиента и сервера в протоколе - авторизатора. - * В примеры скриптов добавлен shabang. - * Добавлена сторонняя утилита sgconf_xml для непосредственного доступа - к протоколу XML конфигуратора. - * Чистка кода. + * В init.d-скрипт для Gentoo добавлено явное указание PID-файла. + * Исправлена синтаксическая ошибка в примере скрипта OnDisconnect для + реализации связки шейпера, VPN и FreeRADIUS (спасибо Алексею Осипову + за патч). + * В каталоге conf-enabled.d симлинки теперь ссылаются по относительному + пути (спасибо Алексею Осипову за патч). + * Конфигурационные файлы переведены на английский язык. + * В примеры скриптов добавлен шабанг. Compilation: - * Для компоновки теперь используется переменная $(CXX). - * При сборке библиотек DEFS теперь добавляются к CXXFLAGS. - * Убрана не используемая при сборке библиотек переменная - ADD_CXXFLAGS_1. - * Переменная ADD_DEFS_1 переименована в ADD_DEFS. - * Чистка кода системы сборки. - + * При создании каталогов в процессе установки для них теперь вместо + переменной BIN_MODE используется переменная DIR_MODE с правами на + каталог. + * Добавлены проверки наличия компилятора в системе. + * При построении зависимостей больше не используется флаг -MG. Libraries: - * Искуственные "падения" в библиотеке ia_auth_c заменены на - проверочные утверждения. - * Добавлена специализация функций x2str для типа unsigned long - (актуально для 64-битных систем). + * В библиотеке dotconfpp убрана глобальная зависимость от заголовочного + файла mempool.h. Теперь для использования этой библиотеки этот + заголовочный файл не требуется. + * Удалены неиспользуемые библиотеки hostallow и common_settings. + * Из названий некоторых библиотек убран префикс stg. + * В библиотеке dotconfpp исправлен механизм сообщения об ошибках. + * В библиотеке common исправлена ошибка в функции Encode12 которая + приводила к неполному кодированию данных если в них встречаются нулевые + байты. Plugins: - * Исправлено изменение параметра passive через XML RPC. - * Добавлена возможность менять кредит и тариф пользователя через XML - RPC при изменении его параметров. - * При записи IP-адреса админа который произвел изменение в плагине для - PostgreSQL исправлена маска: была /24 стала /32. - * Исправлено неэффективное вычитываение данных о трафике по - направлениям в плагинах БД для файлов и MySQL. - * Исправлены зависимости по библиотекам для разных плагинов (ошибка - возникла после разделения common.lib и crypto.lib). - * Исправлены ошибки приводящая к неработоспособности плагина БД для - PostgreSQL пр работе с последней версией БД. - * В плагине файловой БД изменен принцип записи новых данных. Теперь - запись производится в новый файл, а после ее успешного завершения - происходит быстрое переименование. Это позволит снизить вероятность - "порчи" базы при нештатном останове сервера. - * Исправлена ошибка приводящая к неправильному подсчету трафика при - использовании плагина для перехвата трафика через divert-сокеты. Ранее - решалась непонятным мне шаманством, но все оказалось очень банально. - -rlm_stg: - * Модифицирован для работы с FreeRADIUS 2.*. + * Убрана лишняя зависимость у плагина для 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. stargazer: - * Исправлена ошибка приводящая к "перепутыванию" полей userdata. - * Исправлена ошибка приводящая к тому что при вызове OnChange в него - не попадали IP-адрес и логин админа по инициативе которого было - проведено изменение. - * Исправлена ошибка приводящая к кратковременному подключению - пользователя при изменении его IP-адреса в случае если он до этого не - был подключен. - * Исправлена проблема приводящая к не сниманию абонплаты у - пользователя если он был "заморожен" ранее. - * Исправлена ошибка приводящая к появлению сообщения о "заморозке" - пользователя при старте Stargazer'а. Ну и снятию с него денег если так - прописано в тарифе. - * Исправлена ошибка приводящая к не обновлению данных о cash и - freeMb в конфигураторе. - * Изменен принцип хранения детальной статистики внутри системы. - * Изменен способ доступа к полям заголовка IP-пакета (он стал более - безопасным и очевидным). - * При получении списка админов из БД добавлено игнорирование - "@stargazer". - * Оптимизирована работа классификатора трафика на случай массивного - port-scan (ну и вобще для подобного вида трафика). - * В скрипт создания структуры БД для PostgreSQL добавлен "системный" - админ с логином "@stargazer" без возможности доступа извне и без прав. - Необходим для журналирования изменений инициированных системой. - * Конфигурационный файл разбит на основной конфиг и конфиги модулей с - использованием диррективы IncludeFile (а-ля Apache). Старый формат - тоже поддерживается. - * Обновлен init.d-файл для Gentoo. - * Изменена версия дабі не вводить в заблуждение пользователей :). + * Изменен механизм работы с сообщениями пользователям. Теперь 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: + * Исправлена ошибка которая могла привести к "гонкам" (race conditions). + * Удалено ожидание после перехода в режим дэмона. + * Добавлено ожидание освобождения очереди сообщений при останове. + +sgauth: + * Исправлена ошибка из-за которой авторизатор не стартовал (спасибо + Алексею Осипову за патч). + * Исправлено чтение конфигурационного файла по умолчанию (спасибо + Алексею Осипову за патч). + * Добавлена инициализация статистики нулями (если подключиться не удалось + в таблице теперь выводятся нули вместо мусора). + * Исправлено значение параметра ListenWebIP по умолчанию в + конфигурационном файле. + +sgconf: + * Исправлено преобразование кодировки (добавлена поддержка Украинского и + Белорусского языков). + * Добавлен флаг -E для управления тайм-аутом кредита.