X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f9d2f1ad361cab122f01ff5b1d0c537c327f8427..9280169445dffef7b5e9b9ed510a2993484e7894:/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 для управления тайм-аутом кредита.