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