Перейти до

madf

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

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

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

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

    22

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

  1. madf

    stg-2.407-rc3

    Очень прошу отписываться здесь о результатах тестирования, впечатлениях и замечаниях. Мне очень важно успеть до 20-го числа подготовить релиз (как это ни странно, но от этого зависит моя з/п в этом месяце и будет очень неприятно видеть в нем тривиальные ошибки.
  2. madf

    purestg2

    На отсутствие каких хидеров ругается?
  3. Ссылка для скачивания: stg-2.407-rc3.tar.gz ChangeLog: 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 для управления тайм-аутом кредита. Это последний релиз-кандидат, релиз ожидается до 20-го числа. Сильных изменений по сравнению с rc3 я не предполагаю, буду заниматься в основном документацией. Репозиторий с исходными кодами захостил на Gitorious: git@gitorious.org:stg/stg.git В процессе тестирования мне удалось собрать Stargazer с помощью CLang версий 2.8 и 2.9 а также gcc-4.5.2 с поддержкой LTO и Graphite. Но это для экстремалов С праздником, коллеги! stg-2.407-rc3.tar.gz Upd (патчи): stg-dir-mode-patch.diff - исправление установки sgconf; stg-includes-install-on-freebsd-patch.diff - исправление установки заголовочных файлов. stg-dir-mode-patch.diff.txt stg-includes-install-on-freebsd-patch.diff.txt
  4. madf

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

    Проверил на текущей сборке пароль на 3 символа - не подтвердилось. Все данные перед шифрованием зануляются. Перепроверил у себя. Любопытно, мусор получается только с моим паролем и никаким другим. Пароль вышлю в ЛС. Повторяется и на MySQL и на файловой БД. Спасибо, пофиксил. Проблема была в том что Encode12 останавливалась байте со значением 0. А при шифровании он вполне мог встретиться в середине пакета данных. Так что на некоторый паролях оно валилось У меня, правда, нормально работало с твоим паролем, но valgrind страшно ругался на неинициализированные данные.
  5. madf

    stg-2.407-rc2

    Ні, не чіпав. Шо я ворог собі? Це ж треба було б виправлять віндовий конфігуратор - а воно мені треба?
  6. madf

    Stargazer+PostgreSQL

    Просто берем и чистим. Из tb_sessions_data записи удалятся автоматически по внешним ключам. Т.к. системе эта информация не нужна то чистка пройдет безболезненно. То-же относится и к tb_detail_stats
  7. madf

    Два стайргейзера

    А версия какая? И что в качестве БД используется? Stg v. 2.407-rc2, mysql, 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 x86_64 GNU/Linux Ключевое слово - mysql . К тому же у него самого (не у плагина а у СУБД) не очень хорошо сделан конкуррентный доступ. Хотя было-бы, конечно, неплохо получить core-файл от отладочного билда. Вдруг что-то еще?
  8. madf

    Два стайргейзера

    А версия какая? И что в качестве БД используется?
  9. madf

    stg-2.407-rc2

    А нафіга? Я ще API офіційно не публікував
  10. madf

    stg-2.407-rc2

    Є! Точно! Моя вина... Перейменував наступні методи: add_cash -> add_user_cash set_cash -> set_user_cash change_tariff -> chg_user_tariff send_message -> send_user_message Шоби "бути послідовним" ©®
  11. madf

    stg-2.407-rc2

    Пофіксив.
  12. madf

    stg-2.407-rc2

    disabledetailstat -> disableddetailstat (у документації пофіксив). Немає методу 'change_tariff', є метод 'chg_tariff', і саме так описано у документації.
  13. madf

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

    Проверил на текущей сборке пароль на 3 символа - не подтвердилось. Все данные перед шифрованием зануляются.
  14. madf

    purestg2

    Поднял логи за последний переход между месяцами - ни на одном из трех серверов задержек не обнаружил.
  15. madf

    purestg2

    Да, проблема кроется где-то в этом замирании. Madf, как думаешь, чем может быть вызвана такая задержка? Такое ощущение, что stargazer просто повис на некоторое время, не отвечая ни на чьи запросы, в том числе и на purestg2, вот он и начал отключать пользователей по таймауту. Другое дело, это не объясняет, почему именно orlova_ya осталась онлайн, а остальные нет? Возможно, именно так, с "замиранием" происходят "залипания авторизации", о которых говорил madf. Действительно странно. Было бы интересно в момент замирания получить трассу стеков, жаль момент упущен. "Залипания" у нас происходили не на границе месяца а при смене IP. Не думаю что с этим связанно. Хотя всякое может быть, я пока так и не нашел откуда такая проблема вылазит. Сейчас посмотрю что еще может происходить при пересечении границы месяца такого что может затормозить начисление предоплаченного трафика. Заодно подниму свои логи, поищу похожие эффекты.
  16. madf

    purestg2

    USERS::FindByName() - блокирующая; USER::GetAuthorized() - не блокирующая; USER::IsAuthorizedBy() - блокирующая; USER::Unauthorize() - блокирующая; USER::Authorize() - блокирующая; USER::IsInetable() - не блокирующая. USER::property при доступе блокируется только на очень короткий срок - они не связанны с мьютексом класса USER. В целом - вполне вероятно. Отладочный лог покажет что происходит в этот момент.
  17. madf

    purestg2

    Странно. Конфигуратор должен показывать, что пользователь стал оффлайн, пока включен disabled. Независимо от того, авторизован он или нет. Надо кстати уточнить у madf: что означает Online в конфигураторе: что пользователь авторизован или что пользователь подключен? ... Подключен. Странно, похоже на глюк с "залипанием" авторизации.
  18. madf

    детальная статистика

    ну исходю из CREATE TABLE IF NOT EXISTS `detailstat_03_2011` ( `login` varchar(40) default '', `day` tinyint(4) default '0', `startTime` time default NULL, `endTime` time default NULL, `IP` varchar(17) default '', `dir` int(11) default '0', `down` bigint(20) default '0', `up` bigint(20) default '0', `cash` double default '0', KEY `login` (`login`), KEY `dir` (`dir`), KEY `day` (`day`), KEY `IP` (`IP`) ) ENGINE=MyISAM; похоже вроде на правду Так там же кусок файла был приложен, а не дамп БД
  19. madf

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

    поддерживаю, насколько это осуществимо? стоит ли ждать этого в rc3? Нет, слишком много изменений. И так в rc3 половину кода перелопатил...
  20. madf

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

    Не выбор кодировки а исключительно Unicode. Не понимаю людей которые до сих пор пользуются koi8/cp1251/cp866 и прочими пережитками прошлого.
  21. madf

    детальная статистика

    Ой, чойта? Там полей меньше Формат: -> <начало_интервала> - <конец_интервала> <IP> <направление> <download> <upload> <деньги>
  22. madf

    rscriptd

    Наверное потому что совпадают ID для Message Queue. Если их сделать разными - должно работать. это как? где смотреть и менять ? в логе rscriptd вижу такое Message queue created successfully. msgKey=5555 msgID=655360 Параметр ExecMsgKey. Поставить что-то отличное от 5555.
  23. madf

    rscriptd

    Совпадает ли архитектура сервера на котором запущен Stargazer с архитектурой сервера на котором запущен rscriptd? Не используются ли Sparc/Sparc64?
  24. madf

    rscriptd

    Наверное потому что совпадают ID для Message Queue. Если их сделать разными - должно работать.
  25. madf

    rscriptd

    Нет, он целиком шлет состояние всех юзеров и потом контролирует что в нем изменилось - в этом и ценность. ... Не совсем так. Он шлет по пакету на каждое событие Connect и Disconnect и по alive-пакету на каждого подключенного пользователя. rscriptd со своей стороны по этим пакетам отслеживает состояние пользователей и выполняет необходимые скрипты. По остальным пунктам согласен - надо журнал работы отладочной версии.
×
×
  • Створити нове...