Перейти до

Alexey Osipov

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

    178
  • Приєднався

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

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

    1

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

  1. Alexey Osipov

    purestg2

    у меня те кто авторизуются через авторизатор и те что через впн находятся в разных подсетях, онконнектом это и обрабатываю а если клиент сегодня авторизатором, а завтра поставил убунту и хочет впн ? каждый раз перенастраивать ? Можно назначить скрипт `preupscript` в purestg2, в котором создавать какой-нибудь файл-флаг. А в `OnConnect` проверять наличие этого флага - если есть, значит клиент авторизуется через VPN, иначе - через InetAccess. Удалять файл-флаг например в `OnDisconnect`. А вообще да - это было бы неплохой фичей - иметь в OnConnect название авторизатора.
  2. Alexey Osipov

    purestg2

    но скорее всего дело в том что меняет не конфигуратор Да, именно в этом.
  3. Alexey Osipov

    purestg2

    почему тогда он скидывает адрес предыдущего соединения? Посмотрел по исходному коду старгейзера. Конфиг пользователей скидывается в базу только в следующих случаях: 1) При истечении срока действия кредита (user_impl.cpp:1089). 2) При изменении тарифа пользователя (user_impl.cpp:615). 3) При добавлении нового пользователя (users_impl.cpp:169). 4) При остановке старгейзера (users_impl.cpp:503). 5) При изменении данных пользователя через конфигуратор. Тогда получается, что адрес предыдущего соединения был вписан в базу в тот момент, когда ты "добавил в учётку ещё один адрес с которог
  4. Alexey Osipov

    purestg2

    stg может работать и не в дебаге. Нужно только, чтобы в настройках модуля purestg2 присутствовал параметр debug (без значения, просто одно слово - debug). Очевидно старгейзер не сразу скидывает данные в базу. А что это за база такая? Не видел её среди поддерживаемых в stg.
  5. Alexey Osipov

    purestg2

    В каких случаях не происходит? Хотелось бы увидеть соответствующие отладочные (опция debug) логи pppd и stg при таких случаях.
  6. Alexey Osipov

    Анлимы без костылей...

    Предлагаю такой расклад: $100: произвольное (настраиваемое в конфиге STG) количество Userdata-полей для пользователей, тарифов, админов. $150: то же, с возможностью настройки типов полей (поле не принимает значение, которое не подходит ему по типу). $200: то же, с доработкой виндового конфигуратора для настройки этих самых полей. $250: то же, с возможностью настройки полей, которые будут передаваться в скрипты OnConnect/OnDisconnect. Разумеется, это надо делать с возвратом кода в проект.
  7. Alexey Osipov

    Анлимы без костылей...

    Между прочим, здравая идея про настраиваемые поля. Мне бы тоже было удобно. Сейчас у меня значения из юзердаты вытаскиваются из скриптов при помощи xmlrpc. А было бы здорово иметь возможность самому конфигурировать, какие поля будут приходить в скрипты в качестве аргументов. Всё это действительно делается не очень сложно и это можно вполне запланировать в какую-нибудь будущую версию STG. Другое дело, что это должен кто-то сделать. А наилучшая мотивация - это когда тебе самому НАДО. Мне вот вроде бы и надо, но и без этого уже всё построено и работает. Zero_real, сможете меня материальн
  8. Alexey Osipov

    purestg2

    Если при этом больше ошибок нет, то это детская опечтка у меня в коде. В git поправил. Патч: diff --git a/stargazer/purestg2.cpp b/stargazer/purestg2.cpp index cd760f6..71bc0f7 100644 --- a/stargazer/purestg2.cpp +++ b/stargazer/purestg2.cpp @@ -958,6 +958,8 @@ int AUTH_PURESTG2::checkUserTimeouts() WriteServLog("purestg2: BUG: Can't find socket for user \"%s\"", user->GetLogin().c_str()); } } + + return 0; } //----------------------------------------------------------------------------- int AUTH_PURESTG2::checkStgDisconnects()
  9. Alexey Osipov

    purestg2

    А может нет?
  10. Alexey Osipov

    purestg2

    А логи? Причем и от pppd, и от Stargazer.
  11. Собраны и выложены пакеты для Stargazer 2.407. Изменено первое сообщение темы. Помните, что для успешного обновления, нужно предварительно остановить старгейзер.
  12. Alexey Osipov

    purestg2

    Согласно анонсу выпущен purestg 2.2: http://code.google.com/p/purestg2/downloads/detail?name=purestg2-2.2.tar.gz Эта версия совместима с Stargazer-2.407-rc3. Начиная с rc3, если вы устанавливаете Stargazer в систему методом `make install`, все заголовочные файлы старгейзера, необходимые для сборки purestg2, автоматически устанавливаются в /usr/include/stg. Поэтому команда для сборки purestg2 теперь выглядит просто: $ ./configure --prefix=/usr $ make # make install --prefix разумеется можно исправить по собственному желанию. Старый способ с использованием --with-stg-headers
  13. Alexey Osipov

    purestg2

    Итак. Готовится релиз purestg 2.2 с кодовым названием "Proper disconnects"/"Правильное отключение" Новое: Если пользователя отключил старгейзер (кончились деньги или ещё что-то), то плагин тут же разрывает pppd соединение. Раньше это происходило через keepalivetimeout секунд. "Сторожевые таймеры" для пользователей. Если для какого-то пользователя вовремя не пришел PING пакет от pppd, то пользователь насильно отключается. Должно помочь в случае непредвиденного зависания онлайна как у товарища yKponа. Корректная отработка ситуации, если pppd упал или завершился по SIGKILL. Измене
  14. Alexey Osipov

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

    Проверил на текущей сборке пароль на 3 символа - не подтвердилось. Все данные перед шифрованием зануляются. Перепроверил у себя. Любопытно, мусор получается только с моим паролем и никаким другим. Пароль вышлю в ЛС. Повторяется и на MySQL и на файловой БД.
  15. Alexey Osipov

    purestg2

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

    purestg2

    Я имел ввиду логи старгейзера, а не pppd/pptp. Самые ранние логи старгейзера, которые я увидел, начинаются с: 2011-04-01 00:03:28 -- purestg2: User qwest (socket=15) is disconnected. А хочется увидеть, что было в 00:02:00 и рядом. Или там вообще ничего не было связанного с purestg2? дело за малым, изобрести машину времени Ну, в этом месяце планируется плановая перезагрузка старгейзера? Есть смысл воткнуть дебаг в обоих местах, чтобы при переходе на следующий месяц был отладочный вывод, если ситуация повторится.
  17. Alexey Osipov

    purestg2

    Вообще интересные вещи происходят у товарища yKponа. 1. Почему вдруг все пользователи начали повально отключаться в начале нового месяца? Причем, как самостоятельно: Apr 1 00:01:35 skyprox pptp[4732]: LCP terminated by peer (_M-tbM-\^@<M-Mt^@^@^@^@) Так и из-за потери связи pppd со старгейзером: Apr 1 00:02:42 skyprox pptp[9075]: purestg2: No ping from stargazer, exiting. Apr 1 00:02:42 skyprox pptp[9075]: Terminating on signal 15 2. pppd после загрузки плагина pptp.so преображается в pptp: Apr 1 00:02:00 skyprox pptpd[23473]: CTRL: Client 172.28.31.18 control
  18. Alexey Osipov

    purestg2

    Покажи чуть выше, где pptp[9075] начал отключаться. Странно. Конфигуратор должен показывать, что пользователь стал оффлайн, пока включен disabled. Независимо от того, авторизован он или нет. Надо кстати уточнить у madf: что означает Online в конфигураторе: что пользователь авторизован или что пользователь подключен? А в логах старгейзера при этом что? Хотя да, это не поможет. На данный момент плагин проверят состояние пользователя только по приходу события PING от pppd. А раз pppd у нас упал, то и проверки disable не будет. Не должно.
  19. Alexey Osipov

    purestg2

    Крайне любопытно. Теоретически мог повлиять Broken pipe, но я пока не понимаю как. А pppd для orlova_ya соответственно уже не существует? А запись о дисконнекте orlova_ya была до этого? А можно ещё посмотреть на логи pppd в районе этого самого Broken Pipe (2011-04-01 00:03:28)? Сбросить онлайн можно через конфигуратор - поставить пользователю флаг disabled и затем убрать. Ну и я наверное сделаю ещё дополнительно отключение о таймауту, если от pppd долго не приходило никаких весточек.
  20. Alexey Osipov

    purestg2

    да, именно так, а сколько таймаут? Нисколько. Сразу сбрасывается. В логах это выглядит примерно так:
  21. Alexey Osipov

    purestg2

    Проверил. После kill <pid процесса pppd> Online нормально сбрасывается. Или под "убитая вручную клиентская pppd сессия" имелось ввиду что-то другое?
  22. А вы попробуйте бенчмаркнуть выборку по одной табличке где скажем 50М записей или по табличке где 500к - думаю разницу очень хорошо прочувствуете =) Нет у меня двух таблиц с одинаковой структурой и таким количеством данных. Старенький сервер сделал "SELECT * FROM ... ORDER BY ..." за 3 секунды на таблице из 2М записей. Не знаю, много это или мало, но я не думаю, что анализ детальной статистики - такая уж частая операция, чтобы лишние 5 секунд были критичными. Я не прав? Prepared Statements тут не будут иметь особого эффекта. Разве что при записи детальной статистики и данных о трафик
  23. Alexey Osipov

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

    Тынц: http://local.com.ua/forum/topic/26478-%D0%BF%D0%B5%D1%80%D0%B5%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-mysql/ Собираем информацию, что нужно переделать. Можно использовать Гуглокод для проекта (wiki, download, bugs), а исходники хранить в git в другом месте. Так делает, например порт Git под Windows и мой purestg2. Я для исходников использую GitHub. Он простой, я за вечер освоил. Есть ещё nongnu.org с Git'ом и всем остальным, но дизайн у него своеобразный.
  24. Как внезапно выяснилось здесь у модуля MySQL нет постоянного сопровождающего разработчика: Я, как постоянный пользователь этого модуля, знакомый с C, C++ и MySQL, мог бы взяться за его поддержку. В этой теме я бы хотел услышать от пользователей, что хотелось бы видеть нового и какие ошибки хотелось бы поправить. То, что бросилось в глаза мне, когда я читал код: Не используются "prepared statements" Результаты запросов преобразовывются из строки Нет механизма автоматической конвертации схемы БД из предыдущих версий Отдельно хотелось бы обсудить таблицы detailstat_MM_
  25. Alexey Osipov

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

    Почему об этом не написано в README, на сайте или ещё в каком-нибудь очевидном месте? Возможно, я займусь. http://madf.dyndns.org/trac/projects/stg лежит. Не пора ли на внешний хостинг?
×
×
  • Створити нове...