madf Posted February 9, 2012 Posted February 9, 2012 Ссылка для скачивания: stg-2.408.tar.gz ChangeLog (от версии 2.407-p1): General: Стандартизован стиль именования параметров: CamelCase. В документации к XML-RPC API добавлено пропущенное поле 'password' для метода chg_admin. Приведена в порядок работа с сигналами. Теперь сигналы перехватываются только из основного потока и перехватываются корректно, в отличие от старых версий. Для остановки плагинов больше не используется pthread_kill, т.к. плагины его все равно теперь игнорируют. Устаревшая функция usleep заменена на более продвинутую функцию nanosleep в соответствии с POSIX.1-2008. Удалены странные, непонятные и ненужные комментарии в коде. Некоторые типы данных сделаны более "строгими". Добавлено несколько дополнительных проверочных утверждений. Упрощено API плагинов. Удален странный код. Большая часть кода приведена в соответствие с рекомендациями Скотта Мейерса. Вычищена куча кода. Но это еще не конец. Исправлена ошибка установки в случае наличия предыдущей установки. Добавлена поддержка FreeBSD9. Структура базы для Firebird больше не создается автоматически при make install-data, нужно создавать вручную. Compilation: При проверке условий сборки теперь используются переменные CC и CXX вместо явного вызова gcc/g++. Если переменные CC и CXX не определены то используются gcc и g++ по умолчанию. Добавлено разделение флагов на CFLAGS и CXXFLAGS. Теперь релиз рекомендуется собирать так: $ CFLAGS="-O2" CXXFLAGS="${CFLAGS}" ./build Флаг компиляторы -g3 заменен на -ggdb3 (все равно его поддерживает и gcc, и clang, и ekopath). Существенно переработана система сборки. Теперь она не сорит заголовочными файлами и библотеками там где не нужно. Убрана зависимость от bash. Libraries: Использование динамических внутренних библиотек признано нецелесообразным, возвращены старые-добрые a-файлы (последний раз они были в версии 2.401). Добавлена специализация x2str для беззнаковых типов. Библиотеки crypto.lib и scriptexecuter.lib теперь содержат 100% кода на языке C! Исправлена работа библиотеки ia.lib на платформах с Big Endian. Plugins: В плагин для PostgreSQL добавлен параметр retries указывающий количество повторных попыток установить соединение с БД. Оптимизирована логика работы RemoveDir - теперь он удаляет ваши каталоги на 50% быстрее! Унифицированы имена параметров плагинов для работы с БД: Server, Database, User, Password. Старые имена поддерживаются, но объявлены устаревшими. В будущем будут удалены. Добавлен плагин для работы с snmpd по протоколу SMUX. Позволяет производить мониторинг некоторых параметров системы:общее количество абонентов; количество абонентов online; количество авторизованных абонентов; количество абонентов с флагом alwaysOnline; количество абонентов с отрицательным балансом; количество абонентов с отключенной детальной статистикой; количество отключенных ("disabled") абонентов; количество "замороженных" ("passive") абонентов; количество абонентов с положительным кредитом; количество абонентов с положительным предоплаченным трафиком; количество абонентов меняющих тарифный план в следующем месяце; количество абонентов с ненулевым трафиком за сессию; общее количество тарифов; количество абонентов потарифно; общее количество админов; общее количество сервисов; общее количество корпораций; общее количество правил классификации трафика. [*]Добавлен шаблонный класс PLUGIN_CREATOR для универсального удобного порождения плагинов. [*]При немедленном изменении тарифа через XML-RPC API добавлен "сброс" отложенного тарифа. [*]Возможно исправлена ошибка приводящая к "зависаниям" плагина конфигуратора. [*]Исправлена утечка ресурсов (файловых дескрипторов) в плагине файлового хранилища. [*]Улучшены сообщения об ошибках авторизации, теперь в них на 73.1% больше информации! [*]В плагине для XML-RPC API вынужденно используется внешний сокет для корректной остановки плагина. Привет мейнтейнерам Debian которые до сих пор не обновили xmlrpc-c! Зато минус одно падение с SIGSEGV и General Protection Fault при останове! [*]Плагин remote_script больше не сообщает об ошибке и позволяет системе запуститься если файл привязки подсетей пуст. [*]Пересмотрен порядок загрузки плагинов. stargazer: Исправлена ошибка приводящая к неправильному сообщению о причине отключения. Убрано бесполезное изменение значения nice для процесса. Добавлены три возможных сценария снятия абонплаты:обычный; не снимать абонплату при отрицательном балансе; не снимать абонплату ели баланс при этом станет отрицательным. [*]Добавлен параметр ReconnectOnTariffChange указывающий системе выполнять переподключение абонента при изменении тарифа. [*]Добавлена "подписка" на добавление и удаление тарифов. [*]Управление авторизацией абонентов перемещено из класса USER в класс USERS что позволило избавиться от дедлока в определенных условиях. [*]Устранена возможность выгрузки активного плагина. Минус одно потенциальное падение с SIGSEGV и General Protection Fault! ChangeLog практически полностью повторяет 2.408-rc1, я не стал в него включать исправления ошибок привнесенных этой версией, но могу вас заверить - они там все (исправления, не ошибки ) есть. Обращаю внимание тех кто уже использует плагин SMUX - изменился STG-MIB. Добавлен еще один параметр - activeUsers - количество абонентов с ненулевым трафиком за текущую сессию. Он более корректно отображает тех кто сейчас действительно использует услугу. Для остальных же в документации есть раздел по настройке плагина и snmpd. stg-2.408.tar.gz stargazer_help_v2.17.pdf
tp-link123 Posted February 12, 2012 Posted February 12, 2012 Поставил, настроил, запустил... Когда подключаюсь виндовым конфигуратором (1.91.9) и пытаюсь создать пользователя - пишет "Неверное значение" и выделяет поле "Логин". Как решить?
madf Posted February 13, 2012 Author Posted February 13, 2012 У меня все прекрасно добавляется. Возможно, значение все-таки неверное? Хотя по коду это сообщение может быть только для величины кредита, суммы на счету и значений статистики.
sasuke_uchiha Posted February 24, 2012 Posted February 24, 2012 Имею несколько вопросов по предоставленому "пакету" версии 2.408 1. Установил консольный авторизатор из файла конфига понял что имееться веб лицо к нему....не стартанула, хотя статистика, сказала что пользователь залогинен. Пробовал на клиенте( Ubuntu 11.10). 2. Конфигуратор под Windows, безлимитным трафиком не удивишь, интресует в конфигураторе что б не учет обьема, а скорости... Вопрос непосредственно по серверу, откоректировавши параметр направлений, с количество 4х ( 0..3 ) мне статистика выдет что их 9...почему? Сервер FreeBSD 8.2 (kernel -generic) (сервер для тестов потому ядро стандартное что б не заморачиваться). модуль store_mysql (MYSQL_VER=5.1.60)
dummy Posted February 25, 2012 Posted February 25, 2012 CENTOS 6.2 [root@router stargazer]# rpm -qa | grep firebird firebird-filesystem-2.5.1.26351.0-1.el6.x86_64 firebird-libfbclient-2.5.1.26351.0-1.el6.x86_64 firebird-devel-2.5.1.26351.0-1.el6.x86_64 firebird-superserver-2.5.1.26351.0-1.el6.x86_64 firebird-2.5.1.26351.0-1.el6.x86_64 firebird-libfbembed-2.5.1.26351.0-1.el6.x86_64 stargazer.log: 2012-02-26 00:34:53 -- Stg v. 2.408 2012-02-26 00:34:53 -- Message queue created successfully. msgKey=5555 msgID=196608 2012-02-26 00:34:53 -- Timer thread started successfully. 2012-02-26 00:34:53 -- Storage plugin: 'Error loading plugin '/usr/lib/stg/mod_store_firebird.so': '/usr/li b/stg/mod_store_firebird.so: undefined symbol: isc_vax_integer'' 2012-02-26 00:34:54 -- Queue removed successfully. 2012-02-26 00:34:54 -- StgTimer: Stop successfull. 2012-02-26 00:34:54 -- Stg stopped successfully. 2012-02-26 00:34:54 -- --------------------------------------------- В Debian 6.0 - то же самое ЗЫ: stg-2.407-p1 собирается и работает без проблем
Keen Posted February 26, 2012 Posted February 26, 2012 "не снимать абонплату при отрицательном балансе;" Полезная функция. Но интересует: "не снимать абон. при балансе меньше кредита". Можно ли организовать?
madf Posted February 26, 2012 Author Posted February 26, 2012 Имею несколько вопросов по предоставленому "пакету" версии 2.408 1. Установил консольный авторизатор из файла конфига понял что имееться веб лицо к нему....не стартанула, хотя статистика, сказала что пользователь залогинен. Пробовал на клиенте( Ubuntu 11.10). 2. Конфигуратор под Windows, безлимитным трафиком не удивишь, интресует в конфигураторе что б не учет обьема, а скорости... Вопрос непосредственно по серверу, откоректировавши параметр направлений, с количество 4х ( 0..3 ) мне статистика выдет что их 9...почему? Сервер FreeBSD 8.2 (kernel -generic) (сервер для тестов потому ядро стандартное что б не заморачиваться). модуль store_mysql (MYSQL_VER=5.1.60) 1. Нужно убедиться что в конфиге указано: DisableWeb = no. Web-интерфейс доступен по адресу http://localhost:5580 2. Stargazer "заточен" под учет объема. По этому для учета скорости нужно утанавливать цены тарфика в 0 и хранить значения скорости либо в отдельных таблицах либо в полях userdata для каждого абонента. В первом случае они не будут доступны через конфигуратор, во втором - будут. Так же можно "кодировать" значения скорости в названиях тарифов, например: unlim512. В любом случае требуется дополнительная поддержка со стороны скриптов для управления шейпером. По вопросу: как было откорректировано количество направлений?
madf Posted February 26, 2012 Author Posted February 26, 2012 CENTOS 6.2 [root@router stargazer]# rpm -qa | grep firebird firebird-filesystem-2.5.1.26351.0-1.el6.x86_64 firebird-libfbclient-2.5.1.26351.0-1.el6.x86_64 firebird-devel-2.5.1.26351.0-1.el6.x86_64 firebird-superserver-2.5.1.26351.0-1.el6.x86_64 firebird-2.5.1.26351.0-1.el6.x86_64 firebird-libfbembed-2.5.1.26351.0-1.el6.x86_64 stargazer.log: 2012-02-26 00:34:53 -- Stg v. 2.408 2012-02-26 00:34:53 -- Message queue created successfully. msgKey=5555 msgID=196608 2012-02-26 00:34:53 -- Timer thread started successfully. 2012-02-26 00:34:53 -- Storage plugin: 'Error loading plugin '/usr/lib/stg/mod_store_firebird.so': '/usr/li b/stg/mod_store_firebird.so: undefined symbol: isc_vax_integer'' 2012-02-26 00:34:54 -- Queue removed successfully. 2012-02-26 00:34:54 -- StgTimer: Stop successfull. 2012-02-26 00:34:54 -- Stg stopped successfully. 2012-02-26 00:34:54 -- --------------------------------------------- В Debian 6.0 - то же самое ЗЫ: stg-2.407-p1 собирается и работает без проблем Интересно. Покажите, пожалуйста, вывод команды ldd /usr/lib/stg/mod_store_firebird.so
madf Posted February 26, 2012 Author Posted February 26, 2012 "не снимать абонплату при отрицательном балансе;" Полезная функция. Но интересует: "не снимать абон. при балансе меньше кредита". Можно ли организовать? Т.е. ну читывать кредит? Можно. Как-то так: diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index 2bf8d08..16a2ac4 100644 --- a/projects/stargazer/settings_impl.cpp +++ b/projects/stargazer/settings_impl.cpp @@ -375,7 +375,7 @@ while (node) if (strcasecmp(node->getName(), "FeeChargeType") == 0) { - if (ParseUnsignedInRange(node->getValue(0), 0, 2, &feeChargeType) != 0) + if (ParseUnsignedInRange(node->getValue(0), 0, 3, &feeChargeType) != 0) { strError = "Incorrect FeeChargeType value: '" + string(node->getValue(0)) + "'"; return -1; diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index 733e625..fcea0b9 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -1250,6 +1250,10 @@ switch (settings->GetFeeChargeType()) if (c + credit >= fee) property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); break; + case 3: + if (c >= 0) + property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); + break; } ResetPassiveTime(); } @@ -1312,6 +1316,13 @@ switch (settings->GetFeeChargeType()) SetPrepaidTraff(); } break; + case 3: + if (c >= 0) + { + property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge"); + SetPrepaidTraff(); + } + break; } } //----------------------------------------------------------------------------- - и указать в конфиге FeeChargeType = 3
dummy Posted February 26, 2012 Posted February 26, 2012 Интересно. Покажите, пожалуйста, вывод команды ldd /usr/lib/stg/mod_store_firebird.so root@serv:/home/soft/stg-2.408/stg-2.408/projects/stargazer# ldd /usr/lib/stg/mod_store_firebird.so linux-vdso.so.1 => (0x00007fff8b1ff000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007effaf51a000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007effaf298000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007effaf081000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007effaecfa000) /lib64/ld-linux-x86-64.so.2 (0x00007effafb16000) root@serv:/home/soft/stg-2.408/stg-2.408/projects/stargazer#
dummy Posted February 26, 2012 Posted February 26, 2012 Это Debian 6.0 root@serv:/home/soft/stg-2.408/stg-2.408/projects/stargazer# uname -a Linux serv 3.2.0-1-amd64 #1 SMP Sun Feb 5 15:17:15 UTC 2012 x86_64 GNU/Linux
madf Posted February 26, 2012 Author Posted February 26, 2012 Интересно. Покажите, пожалуйста, вывод команды ldd /usr/lib/stg/mod_store_firebird.so root@serv:/home/soft/stg-2.408/stg-2.408/projects/stargazer# ldd /usr/lib/stg/mod_store_firebird.so linux-vdso.so.1 => (0x00007fff8b1ff000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007effaf51a000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007effaf298000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007effaf081000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007effaecfa000) /lib64/ld-linux-x86-64.so.2 (0x00007effafb16000) root@serv:/home/soft/stg-2.408/stg-2.408/projects/stargazer# Приношу свои извинения. В процессе перехода на сборку со статическими библиотеками потерялась зависимость от libfbclient.so. Вот патч: diff --git a/projects/stargazer/plugins/store/firebird/Makefile b/projects/stargazer/plugins/store/firebird/Makefile index b4cce92..be9b437 100644 --- a/projects/stargazer/plugins/store/firebird/Makefile +++ b/projects/stargazer/plugins/store/firebird/Makefile @@ -22,5 +22,11 @@ STGLIBS = ibpp locker crypto +FB_CFLAGS = $(shell fb_config --cflags) +FB_LDFLAGS = $(shell fb_config --libs) + +CXXFLAGS += $(FB_CFLAGS) +LDFLAGS += $(FB_LDFLAGS) + include ../../Makefile.in
dummy Posted February 27, 2012 Posted February 27, 2012 projects/stargazer/plugins/store/firebird/Makefile: (из git) ############################################################################### # $Id: Makefile,v 1.9 2008/12/04 17:15:53 faust Exp $ ############################################################################### include ../../../../../Makefile.conf DEFS += -DIBPP_LINUX PROG = mod_store_firebird.so SRCS = ./firebird_store.cpp ./firebird_store_admins.cpp ./firebird_store_corporations.cpp ./firebird_store_messages.cpp ./firebird_store_services.cpp ./firebird_store_tariffs.cpp ./firebird_store_users.cpp ./firebird_store_utils.cpp STGLIBS = ibpp common locker crypto FB_CFLAGS = $(shell fb_config --cflags) FB_LDFLAGS = $(shell fb_config --libs) CXXFLAGS += $(FB_CFLAGS) LDFLAGS += $(FB_LDFLAGS) include ../../Makefile.in stargazer.log: 2012-02-27 08:02:00 -- --------------------------------------------- 2012-02-27 08:24:33 -- Stg v. 2.408 2012-02-27 08:24:33 -- Message queue created successfully. msgKey=5555 msgID=163840 2012-02-27 08:24:33 -- Timer thread started successfully. 2012-02-27 08:24:33 -- Storage plugin: 'Error loading plugin '/usr/lib/stg/mod_store_firebird.so': '/usr/lib/stg/mod_store_firebird.so: undefined symbol: isc_vax_integer'' 2012-02-27 08:24:34 -- Queue removed successfully. 2012-02-27 08:24:35 -- StgTimer: Stop successfull. 2012-02-27 08:24:35 -- Stg stopped successfully. 2012-02-27 08:24:35 -- --------------------------------------------- ldd /usr/lib/stg/mod_store_firebird.so linux-vdso.so.1 => (0x00007fff7c9ff000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0aba073000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ab9df1000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0ab9bda000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ab9853000) /lib64/ld-linux-x86-64.so.2 (0x00007f0aba66f000) как и было
madf Posted February 27, 2012 Author Posted February 27, 2012 А он был пересобран и переустановлен? $ ldd modules/mod_store_firebird.so linux-vdso.so.1 => (0x00007fffbeebd000) libfbclient.so.2 => /usr/lib64/libfbclient.so.2 (0x00007f710b70b000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6 (0x00007f710b405000) libm.so.6 => /lib64/libm.so.6 (0x00007f710b181000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f710af6a000) libc.so.6 => /lib64/libc.so.6 (0x00007f710abd7000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f710a9d3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f710a7b6000) /lib64/ld-linux-x86-64.so.2 (0x00007f710bcee000)
dummy Posted February 27, 2012 Posted February 27, 2012 А он был пересобран и переустановлен? $ ldd modules/mod_store_firebird.so linux-vdso.so.1 => (0x00007fffbeebd000) libfbclient.so.2 => /usr/lib64/libfbclient.so.2 (0x00007f710b70b000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6 (0x00007f710b405000) libm.so.6 => /lib64/libm.so.6 (0x00007f710b181000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f710af6a000) libc.so.6 => /lib64/libc.so.6 (0x00007f710abd7000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f710a9d3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f710a7b6000) /lib64/ld-linux-x86-64.so.2 (0x00007f710bcee000) а важно ли, что у меня: /usr/lib/x86_64-linux-gnu/libfbclient.so.2 а не так: /usr/lib64/libfbclient.so.2 ? на дебиане 6.0
dummy Posted February 27, 2012 Posted February 27, 2012 он был пересобран и переустановлен ? ./build make install-bin stargazer
madf Posted February 28, 2012 Author Posted February 28, 2012 он был пересобран и переустановлен ? ./build make install-bin stargazer Можно лог сборки увидеть?
dummy Posted February 28, 2012 Posted February 28, 2012 он был пересобран и переустановлен ? ./build make install-bin stargazer Можно лог сборки увидеть? root@serv:/home/soft/stg/git/git-20120228/projects/stargazer$ ./build > build.log constr_SET_OF.c: In function ‘SET_OF_decode_uper’: constr_SET_OF.c:907:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] make[2]: fb_config: Команда не найдена make[2]: Entering directory `/home/soft/stg/git/git-20120228/projects/stargazer/plugins/store/firebird' make[2]: fb_config: Команда не найдена make[2]: fb_config: Команда не найдена root@serv:/home/soft/stg/git/git-20120228/projects/stargazer$ нет такого файла "fb_config" на centos - есть на дебиане - нет root@serv:/# apt-file search fb_config frozen-bubble: /usr/share/perl5/fb_config.pm получилось ! сделал (на основе центосовкого) fb_config: #! /bin/sh #fb_libdir=/usr/lib64 fb_libdir=/usr/lib/x86_64-linux-gnu #fb_incdir=/usr/include/firebird fb_incdir=/usr/include fb_cflags="-I$fb_incdir" fb_libs="-L$fb_libdir -lfbclient" if test "$#" -eq 0 ; then usage exit 1 fi while test $# -gt 0 do case "$1" in --cflags) echo $fb_cflags ;; --libs) echo $fb_libs ;; --help) usage ;; *) usage ; esac shift done подсунул его к исполняемым файлам (/usr/local/bin/fb_config) и все пошло Топорно, но работает
lalex Posted March 27, 2012 Posted March 27, 2012 как исправить ошибки "recv data answer error!", "recv login answer error!", "incorrect login" и "bad comand" при пополнении счета абонента через конфигуратор? в следствии пополнение не происходит и конфигуратор отваливается от сервера. при нажатии кнопки "обновить" всё реконектится и может работать нормально. в версии 2.407р1 такой ошибки не встречалось, она появилась в 2.408-rc2, тогда пришлось возвращаться на 2.407р1. неужели опять прийдется возвращаться?
madf Posted March 27, 2012 Author Posted March 27, 2012 Чего ж сразу не сказали? А что при этом пишется в stargazer.log? И как вы относитесь к детальному расследованию проблемы (я буду предоставлять патчи, вы будете с ними пересобирать и сообщать о результатах пока проблема не будет решена)?
lalex Posted March 27, 2012 Posted March 27, 2012 Чего ж сразу не сказали? А что при этом пишется в stargazer.log? И как вы относитесь к детальному расследованию проблемы (я буду предоставлять патчи, вы будете с ними пересобирать и сообщать о результатах пока проблема не будет решена)? добро. жду в аське.
morfey Posted April 9, 2012 Posted April 9, 2012 Дополню по установке переменных в FreeBSD: setenv CFLAGS -O2 setenv CXXFLAGS ${CFLAGS} ./build gmake install (install-bin)
madf Posted April 10, 2012 Author Posted April 10, 2012 Я бы даже сказал "по установке переменных в tcsh".
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now