Перейти до

madf

Сitizens
  • Всього повідомлень

    4 122
  • Приєднався

  • Останній візит

  • Дней в лидерах

    22

Все, що було написано madf

  1. madf

    stg-2.408

    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
  2. madf

    stg-2.408

    Т.е. ну читывать кредит? Можно. Как-то так: 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
  3. madf

    stg-2.408

    Интересно. Покажите, пожалуйста, вывод команды ldd /usr/lib/stg/mod_store_firebird.so
  4. madf

    stg-2.408

    1. Нужно убедиться что в конфиге указано: DisableWeb = no. Web-интерфейс доступен по адресу http://localhost:5580 2. Stargazer "заточен" под учет объема. По этому для учета скорости нужно утанавливать цены тарфика в 0 и хранить значения скорости либо в отдельных таблицах либо в полях userdata для каждого абонента. В первом случае они не будут доступны через конфигуратор, во втором - будут. Так же можно "кодировать" значения скорости в названиях тарифов, например: unlim512. В любом случае требуется дополнительная поддержка со стороны скриптов для управления шейпером. По вопросу: как было откорректировано количество направлений?
  5. madf

    аналог inetaccess для Android

    Нету. Но если на андроиде есть gcc то можно собрать консольный sgauth.
  6. madf

    sgconfig win

    Именно
  7. madf

    sgconfig win

    У вас не определено ни одного направления в конфигурационном файле Stargazer'а.
  8. madf

    stg-2.408

    У меня все прекрасно добавляется. Возможно, значение все-таки неверное? Хотя по коду это сообщение может быть только для величины кредита, суммы на счету и значений статистики.
  9. madf

    Сбор багов и feature requests

    1. То что у вас два раза останавливаются плагины однозначно говорит о том что запущено было два экземпляра. Ну или что у вас они все в конфиге задублированны. 2. Локализовать не требуется, проблема известна - плагин авторизатора не может занять свой порт потому что он уже кем-то занят. Что еще раз говорит в пользу старта двух экземпляров Stargazer.
  10. madf

    Сбор багов и feature requests

    Начнем с того что версия старовата А закончим тем что вы пытались запустить два stargazer'а одновременно А долгий старт - да, есть такая проблема. Это когда он уже успел сделать fork, но потом что-то пошло не так (как в приведенном примере) и форкнутый процесс умер, а родительский ждет от него уведомления об успешном запуске.
  11. Он сокет не закрывает никогда. Один сокет на всех юзеров. Ноги у проблемы растут из phase time.
  12. Единственный случай или проявляется регулярно? Я встречался с похожей ситуацией, но в других условиях. Пока вылечить не могу.
  13. Ссылка для скачивания: 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
  14. Не могли пожалуйста какие такие мотивы например могут быть, что - то в голову нечего налезет. Просто интересно что это может быть. Например, мониторинг активности по OnConnect/OnDisconnet. Или алергия на код mod_auth_ao. Мало ли причин можно придумать?
  15. Это звучит глупо. Скорее всего у провайдера свои мотивы которые он не хочет раскрывать. Или ТП совсем тупая и не понимает что и как работает.
  16. madf

    Проблема с НАСом

    В rscriptd.conf UserTimeout можно смело поднимать в 2-3 раза. Если абонов много - возможно придется поднимать SendPeriod. А так вроде все нормально.
  17. madf

    Проблема с НАСом

    Какие точные значения UserTimeout и SendPeriod сейчас? Есть ли потери пакетов между биллинговым сервером и NAS? Какая версия Stargazer?
  18. madf

    Проблема с НАСом

    Да, еще как правильно заметил nightfly, в случае "тяжелых" скриптов имеет смысл увеличить ExecutersNum до 2-3. Ну или даже больше - тут надо мониторить ситуацию.
  19. madf

    Проблема с НАСом

    Тогда проблем нет - увеличивайте UserTimeout, уменьшайте SendPreriod (тут осторожно) и проверяйте канал связи между NAS и биллингом на потери.
  20. madf

    Проблема с НАСом

    UserTimeout - время через которое абон будет отключен если по нему не приходит alive-пакетов. SendPeriod - периодичность отсылки alive-пакетов. В общем случае увеличение UserTimeout и уменьшение SendPeriod должно помочь, но судя по вашей симптоматике у вас проблема в другом месте.На сколько я понял, после отключения они назад сами не подключаются?
  21. madf

    Сбор багов и feature requests

    - это как понимать? Какая из версий запускается? Похоже что обе... В 2.408 библиотеки компонуются статически, обновлять нечего. Разве что плагины.
  22. Кратко на этот вопрос не ответишь. Изменения нужно вносить в файл MainUnit.cpp в методы SetUserDataGrid, UsersGridMouseDown; в файл DrawGridUnit.cpp в методы DrawCell, DrawGridCaption, DrawGridData. Возможно еще в файл UserUnit.h и UserUnit.cpp в методы Sort и Filter если необходима поддержка сортировки и фильтрации. Это то что я бегло "накопал", возможно изменений надо сделать больше.
  23. madf

    stargazer под freebsd 9

    Технически - должен. Но я не успеваю за ними детектилку версии менять. Надо будет подправить скрипт build.
  24. вопрос снят. К стати, увеличение ExecutersNum должно было помочь в вашем случае без внедрения этого "ручного управления доступом".
  25. Да. А с текущими цифрами возможны какие-то грабли ? Мне казалось я всё предусмотрел. Из моих соображений как недостаток можно рассматривать большое число опросов состояния очереди на медленно выполняемых скриптах, мне не известно насколько ресурсо-ёмкая эта операция т.е. возможна доп. нагрузка на систему заметная на слабых машинах хотя у себя я пока такого не заметил. Пауза слишком маленькая - повышение нагрузки на процессор (не забываем что при msgctl происходит переключение контекста!). Пауза слишком большая - увеличение латентности системы при реакции на события. Максимальный размер очереди слишком мал - неэффективно используется очередь (простои в работе системы). Максимальный размер очереди слишком велик - вероятность блокировки при переполнении. Даже 1 может быть слишком много - в скрипте можно изменить тысячу параметров и получить дедлок. Тут нужно искать другое решение проблемы.
×
×
  • Створити нове...