General: * В init.d-скрипт для Gentoo добавлено явное указание PID-файла. * Исправлена синтаксическая ошибка в примере скрипта OnDisconnect для реализации связки шейпера, VPN и FreeRADIUS (спасибо Алексею Осипову за патч). * В каталоге conf-enabled.d симлинки теперь ссылаются по относительному пути (спасибо Алексею Осипову за патч). * Конфигурационные файлы переведены на английский язык. * В примеры скриптов добавлен шабанг. Compilation: * При создании каталогов в процессе установки для них теперь вместо переменной BIN_MODE используется переменная DIR_MODE с правами на каталог. * Добавлены проверки наличия компилятора в системе. * При построении зависимостей больше не используется флаг -MG. Libraries: * В библиотеке dotconfpp убрана глобальная зависимость от заголовочного файла mempool.h. Теперь для использования этой библиотеки этот заголовочный файл не требуется. * Удалены неиспользуемые библиотеки hostallow и common_settings. * Из названий некоторых библиотек убран префикс stg. * В библиотеке dotconfpp исправлен механизм сообщения об ошибках. * В библиотеке common исправлена ошибка в функции Encode12 которая приводила к неполному кодированию данных если в них встречаются нулевые байты. Plugins: * Убрана лишняя зависимость у плагина для 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: * Изменен механизм работы с сообщениями пользователям. Теперь 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 для управления тайм-аутом кредита.