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 для управления тайм-аутом кредита.