Перейти до

madf

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

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

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

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

    22

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

  1. Вообще говоря, пару раз наблюдал странный баг: если авторизованному абоненту сменить IP то он иногда так и остается авторизованным навсегда. Но до причин пока не докопался. Такого плана проблемы?
  2. Впервые слышу о таком. Это на stg-2.407-rc2?
  3. madf

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

    Это уже исправлено, спасибо. У меня база сохранилась, ночью подкину базу и выхлоп появиться... Нужно? Да, если не сложно.
  4. madf

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

    Выяснил сам, благодаря madf и gdb Причина в сообщениях когда-то посланных всем пользователям, в т.ч. и всегда Online. Их много накопилось. Вычистил старые сообщения в базе - все наладилось... Позже вышлю выхлоп, если нужно, сейчас не могу остановить сервер. Откуда ж выхлоп возьмется, если оно падать перестало... У нас тоже много сообщений накопилось, но стартует нормально, не падает. К стати, я недавно внес изменения позволяющие автоматически удалять сообщения. В rc3 будет.
  5. madf

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

    Хм. Отчего-то падает. Попробуйте собрать в режиме отладки (./build debug), запустить из-под gdb и получить stack trace: $ gdb /path/to/stargazer (gdb) r /etc/stargazer ... (gdb) thread apply all bt Выхлоп или сюда или мне на почту: faust@stg.dp.ua PS: после ./build debug файлы нужно раскидать вручную, не через make install-bin
  6. madf

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

    Может это он просто долго базу вычитывает? Приведите пожалйста полный лог запуска из stargazer.log и список используемых плагинов. И ps ax | grep stargazer дословно.
  7. madf

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

    Отметил в багтреккере. Скорее всего проблема в том что перед шифрованием копируется только значащая часть строки, без символа \0 в конце.
  8. madf

    sgconf + freebsd7.3

    Так должно найти: $ CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/include ./build
  9. madf

    DEB-пакеты и PPA для Stargazer

    Подготовили с коллегой перевод конфигов. Местами, возможно, коряво, по этому буду рад принять любые правки. Конфиги в приложении и в git. stg_confs.tar
  10. madf

    sgconf + freebsd7.3

    Я так понимаю, в какой-то момент обновилась libc а Stargazer не был пересобран. Просто нужно пересобрать Stargazer. Ну или sgconf.
  11. madf

    stg + Freebsd7.0

    Возможно, madf обратит на это внимание. Давно пора, IMHO, открыть сайт проекта на каком-нибудь бесплатном проект-хостинге - code.google.com, sourceforge.net, ... Отличная доступность и платить не надо. Может и да, но этот вопрос надо согласовывать с Борисом. Все таки он изначальный автор проекта и владелец сайта.
  12. madf

    stg + Freebsd7.0

    На сайте stg.dp.ua выкладываются релизы и патчи. А в этой теме я выкладываю alpha-, beta- и rc*-версии.
  13. Самое простое решение: в OnConnect создавать файлик /var/stargazer/online-users/$IP а в OnDisconnect его удалять.
  14. Очень хочется свалить вину на MySQL но совесть не позволяет. А можешь по шагам описать все свои действия после которых воспроизводится проблема? Особенно что касается создания тарифа. В таблице tariffs поле user_choose - в новой нет ( или не создается ) !?! Подставляем старую базу -> меняем тарифы -> капець Это что еще за такое новое поле? Почему я о нем ничего не знаю? В стандартном stg таких полей нет и небыло.
  15. madf

    purestg2

    В принципе, quick&dirty - сделать как в mod_remote_script. Там с определенным интервалом происходит синхронизация состояния абонента на NAS'е - плагин смотрит IsInetable и шлет соответствующий пакет.
  16. madf

    purestg2

    Мда, действительно. Надо, наверное, подписку на connected вынести наружу. На выходных посмотрю что можно сделать.
  17. madf

    purestg2

    Угу. По идее, повисшие сессии должны были оборваться сами по прошествии keepalivetimeout * 2 секунд. Любопытно, что удаление сокета помогло. У меня не получилось удалением сокета сбросить повисших юзверей. А по-хорошему, нужно делать нормальный двунаправленный обмен событиями между старгейзером и pppd, чтобы инициировать события мог не только pppd, но и старгейзер. А для этого, было бы неплохо в плагине старгейзера подписываться на изменение статуса пользователя IsInetable() как, скажем, на изменение настроек. Вообщем, я ещё подумаю в эту сторону. Можно подписаться на currIP. Пот
  18. madf

    purestg2

    Угу. Я думал про new/delete, но у меня там ещё realloc, а в "man realloc" написано, что Поэтому я испугался и заюзал malloc и free. Впрочем, можно переехать на std::vector. А, я вспомнил, почему не выбрал std::vector. Массив struct pollfd* connections потом уходит в функцию poll, которая ждет на вход обычный СИ массив и с std::vector работать не умеет. Впрочем, в других местах можно и std::vector использовать. Из std::vector можно взять указатель на первый элемент и передать его в poll. Он в памяти хранится как обычный массив. А чем лучше? Меньше вероятность ошибиться с т
  19. Вопрос на самом деле достаточно сложный. Например, у нас на одном из серверов примерно 7500 абонов всего, из которых пиковый онлайн составляет 2800. При этом у анлимщиков отключен подсчет детальной статистики. Основная нагрузка вызвана работой с сообщениями абоненту в авторизатор (плохо реализована работа с сообщениями в Stargazer, а их накопилось аж с 2006-го года если не ранее). Сервачок старый и не очень мощный, база на файлах. Рядом стоит тестовый сервер с около 7000 абонентов с alwaysOnline, полным подсчетом трафика и базой в PostgreSQL. База специальным образом настроена на работу с боль
  20. madf

    purestg2

    Неплохо! Замечания по коду плагина к Stargazer'у (бегло посмотрел): он написан больше на C чем на C++. В C++ не стоит использовать malloc/free, вместо него есть new/delete. И вместо strtol лучше использовать str2x. Собрать не смог пока из-за проблем с заголовочными файлами Stargazer'а. Видимо пора делать то что нужно было сделать давно: выделить интерфейс плагина в абстрактные классы и вынести их в include. Тогда можно будет без проблем сделать dev-пакет для Stargazer'а.
  21. /projects/stargazer/Makefile строка 59 $(CC) $^ $(LDFLAGS) $(LIBS) -o $(PROG) меняем на $(CXX) $^ $(LDFLAGS) $(LIBS) -o $(PROG) и все собирается В rc2 вроде-бы уже исправлено.
  22. madf

    stg-2.407-rc2

    Да, так і є. На відміну від інших параметрів напрямки передаються звичайним масивом, тому їх треба передавати повністю, навіть якщо частина із них не використовується.
  23. madf

    stg-2.407-rc2

    Я б із радістю, та нема коли - робота...
  24. madf

    stg-2.407-rc2

    print_r(__call('stargazer.chg_tariff', array($cookie, 'tariff', array('traffType' => 1)))); Без проблем встановило traffType в 1. З приводу першого - можеш надати мінімальний код на якому це можна побачити?
  25. madf

    stg-2.407-rc2

    Налаштування напрямків тарифікації передаються у вигляді масиву із 10 елементів типу dirprice що сам по собі є асоціативним масивом з полями mday, hday, mnight, hnight, pricedaya, pricedayb, pricenighta, pricenightb, threshold, singleprice, nodiscount. Як це виглядає - можна подивитись через stargazer.get_tariff. Передаються усі напрямки, навіть ті що не використовуються. Відповідність назв та номерів напрямків вказується як і раніше - у stargazer.conf
×
×
  • Створити нове...