General: * Уменьшена зависимость между заголовочными файлами. * Проведен рефакторинг некоторых центральных классов. * Добавлены unit-тесты. * Добавлена документация на API XML-RPC. * Добавлены диаграммы взаимодействия клиента и сервера в протоколе авторизатора. * В примеры скриптов добавлен shabang. * Добавлена сторонняя утилита sgconf_xml для непосредственного доступа к протоколу XML конфигуратора. * Чистка кода. Compilation: * Для компоновки теперь используется переменная $(CXX). * При сборке библиотек DEFS теперь добавляются к CXXFLAGS. * Убрана не используемая при сборке библиотек переменная ADD_CXXFLAGS_1. * Переменная ADD_DEFS_1 переименована в ADD_DEFS. * Чистка кода системы сборки. Libraries: * Искуственные "падения" в библиотеке ia_auth_c заменены на проверочные утверждения. * Добавлена специализация функций x2str для типа unsigned long (актуально для 64-битных систем). Plugins: * Исправлено изменение параметра passive через XML RPC. * Добавлена возможность менять кредит и тариф пользователя через XML RPC при изменении его параметров. * При записи IP-адреса админа который произвел изменение в плагине для PostgreSQL исправлена маска: была /24 стала /32. * Исправлено неэффективное вычитываение данных о трафике по направлениям в плагинах БД для файлов и MySQL. * Исправлены зависимости по библиотекам для разных плагинов (ошибка возникла после разделения common.lib и crypto.lib). * Исправлены ошибки приводящая к неработоспособности плагина БД для PostgreSQL пр работе с последней версией БД. * В плагине файловой БД изменен принцип записи новых данных. Теперь запись производится в новый файл, а после ее успешного завершения происходит быстрое переименование. Это позволит снизить вероятность "порчи" базы при нештатном останове сервера. * Исправлена ошибка приводящая к неправильному подсчету трафика при использовании плагина для перехвата трафика через divert-сокеты. Ранее решалась непонятным мне шаманством, но все оказалось очень банально. rlm_stg: * Модифицирован для работы с FreeRADIUS 2.*. stargazer: * Исправлена ошибка приводящая к "перепутыванию" полей userdata. * Исправлена ошибка приводящая к тому что при вызове OnChange в него не попадали IP-адрес и логин админа по инициативе которого было проведено изменение. * Исправлена ошибка приводящая к кратковременному подключению пользователя при изменении его IP-адреса в случае если он до этого не был подключен. * Исправлена проблема приводящая к не сниманию абонплаты у пользователя если он был "заморожен" ранее. * Исправлена ошибка приводящая к появлению сообщения о "заморозке" пользователя при старте Stargazer'а. Ну и снятию с него денег если так прописано в тарифе. * Исправлена ошибка приводящая к не обновлению данных о cash и freeMb в конфигураторе. * Изменен принцип хранения детальной статистики внутри системы. * Изменен способ доступа к полям заголовка IP-пакета (он стал более безопасным и очевидным). * При получении списка админов из БД добавлено игнорирование "@stargazer". * Оптимизирована работа классификатора трафика на случай массивного port-scan (ну и вобще для подобного вида трафика). * В скрипт создания структуры БД для PostgreSQL добавлен "системный" админ с логином "@stargazer" без возможности доступа извне и без прав. Необходим для журналирования изменений инициированных системой. * Конфигурационный файл разбит на основной конфиг и конфиги модулей с использованием диррективы IncludeFile (а-ля Apache). Старый формат тоже поддерживается. * Обновлен init.d-файл для Gentoo. * Изменена версия дабі не вводить в заблуждение пользователей :).