madf Posted April 12, 2011 Posted April 12, 2011 Ссылка для скачивания: 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
nightfly Posted April 12, 2011 Posted April 12, 2011 Вау, всєм баяцца. Коряві айді в rscriptd і відстріл користувачів дуже пригнічували і стримували перехід з 2.406. Зрання буду тестувати
madf Posted April 13, 2011 Author Posted April 13, 2011 Очень прошу отписываться здесь о результатах тестирования, впечатлениях и замечаниях. Мне очень важно успеть до 20-го числа подготовить релиз (как это ни странно, но от этого зависит моя з/п в этом месяце и будет очень неприятно видеть в нем тривиальные ошибки.
morfey Posted April 14, 2011 Posted April 14, 2011 ubuntu 10.10, на bsd ще не пробував sgconf & sgconf_xml root@morfey-desktop:~/downloads/stg-2.407-rc3/projects/sgconf# gmake install install -m 0755 -o root -s sgconf //usr/sbin/sgconf gmake -C /home/morfey/downloads/stg-2.407-rc3/projects/sgconf/../../stglibs install gmake[1]: Вхожу у каталог "/home/morfey/downloads/stg-2.407-rc3/stglibs" gmake install -C conffiles.lib gmake[2]: Вхожу у каталог "/home/morfey/downloads/stg-2.407-rc3/stglibs/conffiles.lib" mkdir -m -p //usr/lib/stg mkdir: неправильний режим `-p' gmake[2]: *** [install] Помилка 1 gmake[2]: Залишаю каталог "/home/morfey/downloads/stg-2.407-rc3/stglibs/conffiles.lib" gmake[1]: *** [conffiles.lib] Помилка 2 gmake[1]: Залишаю каталог "/home/morfey/downloads/stg-2.407-rc3/stglibs" gmake: *** [install-bin] Помилка 2 після чого sgconf: error while loading shared libraries: libstgsrvconf.so: cannot open shared object file: No such file or directory Це в мене руки кривуваті?)
madf Posted April 14, 2011 Author Posted April 14, 2011 Дякую, fixed. stg-dir-mode-patch.diff stg-dir-mode-patch.diff.txt
yKpon Posted April 14, 2011 Posted April 14, 2011 ясєн красєн. Білд нормально пройшов, інстал вище sgconf собирается просто через ./build, инсталл не нужно madf, нашёл баг, sgconf запрашивает библиотеку /usr/lib/stg/libconffiles.so, а там libstgconffiles.so, пофиксил через симлинк и ещё по поводу libstgsrvconf.so, его как и в предыдущих версиях приходится вручную закидывать в lib
madf Posted April 14, 2011 Author Posted April 14, 2011 ясєн красєн. Білд нормально пройшов, інстал вище sgconf собирается просто через ./build, инсталл не нужно madf, нашёл баг, sgconf запрашивает библиотеку /usr/lib/stg/libconffiles.so, а там libstgconffiles.so, пофиксил через симлинк и ещё по поводу libstgsrvconf.so, его как и в предыдущих версиях приходится вручную закидывать в lib При чем утт сборка, человек пишет про установку. Багу не подтверждаю, sgconf запрашивает libstgconffiles.so. Это у тебя старая версия завалялась. И вручную закидывать ничего не нужно, достаточно сделать make install.
yKpon Posted April 14, 2011 Posted April 14, 2011 При чем утт сборка, человек пишет про установку. Багу не подтверждаю, sgconf запрашивает libstgconffiles.so. Это у тебя старая версия завалялась. И вручную закидывать ничего не нужно, достаточно сделать make install. прошу прощения, да действительно с библиотеками всё правильно по поводу make install skyprox:/home/stg/stg-2.407-rc3/projects/sgconf# cat README.txt Compiling: > ./build ни слова а make install выкидывает аналогично skyprox:/home/stg/stg-2.407-rc3/projects/sgconf# make install install -m 0755 -o root -s sgconf //usr/sbin/sgconf make -C /home/stg/stg-2.407-rc3/projects/sgconf/../../stglibs install make[1]: Entering directory `/home/stg/stg-2.407-rc3/stglibs' make install -C conffiles.lib make[2]: Entering directory `/home/stg/stg-2.407-rc3/stglibs/conffiles.lib' mkdir -m -p //usr/lib/stg mkdir: неверный режим «-p» make[2]: *** [install] Ошибка 1 make[2]: Leaving directory `/home/stg/stg-2.407-rc3/stglibs/conffiles.lib' make[1]: *** [conffiles.lib] Ошибка 2 make[1]: Leaving directory `/home/stg/stg-2.407-rc3/stglibs' make: *** [install-bin] Ошибка 2
madf Posted April 14, 2011 Author Posted April 14, 2011 При чем утт сборка, человек пишет про установку. Багу не подтверждаю, sgconf запрашивает libstgconffiles.so. Это у тебя старая версия завалялась. И вручную закидывать ничего не нужно, достаточно сделать make install. прошу прощения, да действительно с библиотеками всё правильно по поводу make install skyprox:/home/stg/stg-2.407-rc3/projects/sgconf# cat README.txt Compiling: > ./build ни слова а make install выкидывает аналогично skyprox:/home/stg/stg-2.407-rc3/projects/sgconf# make install install -m 0755 -o root -s sgconf //usr/sbin/sgconf make -C /home/stg/stg-2.407-rc3/projects/sgconf/../../stglibs install make[1]: Entering directory `/home/stg/stg-2.407-rc3/stglibs' make install -C conffiles.lib make[2]: Entering directory `/home/stg/stg-2.407-rc3/stglibs/conffiles.lib' mkdir -m -p //usr/lib/stg mkdir: неверный режим «-p» make[2]: *** [install] Ошибка 1 make[2]: Leaving directory `/home/stg/stg-2.407-rc3/stglibs/conffiles.lib' make[1]: *** [conffiles.lib] Ошибка 2 make[1]: Leaving directory `/home/stg/stg-2.407-rc3/stglibs' make: *** [install-bin] Ошибка 2 ReadMe поправим, а по поводу make install - я там выше патчи приложил
madf Posted April 14, 2011 Author Posted April 14, 2011 Еще один патч, исправляющий установку на FreeBSD всех версий (спасибо nightfly): stg-includes-install-on-freebsd-patch.diff stg-includes-install-on-freebsd-patch.diff.txt
nightfly Posted April 14, 2011 Posted April 14, 2011 Дебаг ін да процес Може ше хтось хоче половити баги в рскріптд?
Bas Posted April 18, 2011 Posted April 18, 2011 tower# ./build ############################################################################# Building STG 2.4 for FreeBSD 8 ############################################################################# Checking gcc... found Checking g++... found Checking endianess... Little Endian Checking for -lexpat... yes Checking for -lfbclient... no Checking for mysql_config... yes Checking for mysql_config --cflags... [-I/usr/local/include/mysql -fno-strict-aliasing -pipe] Checking for mysql_config --libs_r... [-L/usr/local/lib/mysql -lmysqlclient_r -lz -pthread -lcrypt -lm -pthread] Checking for pg_config... pg_config: not found no Checking for -lpq... no Checking for xmlrpc-c-config... xmlrpc-c-config: not found no Checking for -lxmlrpc... no gmake -C /usr/home/bas/stg-install/stg-2.407-rc3/projects/stargazer/../../stglibs includes gmake: /usr/local/bin/bash: Command not found gmake -C /usr/home/bas/stg-install/stg-2.407-rc3/projects/stargazer/../../stglibs gmake: /usr/local/bin/bash: Command not found gmake: *** [libs] Error 127 Мелочь, а не приятно После установки bash всё пошло. 1. Не все используют bash. 2. Если bash необходим (понятное дело, что нет), то его надо добавить в список зависимостей или требований к пре-установленному софту. 3. Можно вытягивать переменную командного интерпретатора и подсовывать скрипту. 2011-04-18 19:24:36 -- DOTCONF++: file 'start/stargazer.conf': realpath('start/stargazer.conf') failed: No such file or directory 2011-04-18 19:24:36 -- ReadSettings error. Cannot read file start/stargazer.conf Всё делаю на почти девственно чистой FreeBSD 8.1. Установил только mc, screen, mysql, bash. tower# uname -a FreeBSD tower.kamnt.ru 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 В настройках ничего не менял, дописал сим. линк на store_mysql, прописал там пароль и всё. В stargazer.conf стоит одно направление Internet, а в файле rules по прежнему указано 3 направления.
madf Posted April 18, 2011 Author Posted April 18, 2011 ... 2011-04-18 19:24:36 -- DOTCONF++: file 'start/stargazer.conf': realpath('start/stargazer.conf') failed: No such file or directory 2011-04-18 19:24:36 -- ReadSettings error. Cannot read file start/stargazer.conf Всё делаю на почти девственно чистой FreeBSD 8.1. Установил только mc, screen, mysql, bash. tower# uname -a FreeBSD tower.kamnt.ru 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 В настройках ничего не менял, дописал сим. линк на store_mysql, прописал там пароль и всё. В stargazer.conf стоит одно направление Internet, а в файле rules по прежнему указано 3 направления. Как запускался? Наверное, stargazer start? В документации четко написано что первым параметром указывается путь к каталогу с файлами конфигурации. В случае если параметр отсутствует то используется путь /etc/stargazer по умолчани. PS: попробую отказаться от bash в пользу sh.
nightfly Posted April 18, 2011 Posted April 18, 2011 Тем временем небольшая завлекалочка в свете приближающегося релиза 2.407
Bas Posted April 18, 2011 Posted April 18, 2011 ... 2011-04-18 19:24:36 -- DOTCONF++: file 'start/stargazer.conf': realpath('start/stargazer.conf') failed: No such file or directory 2011-04-18 19:24:36 -- ReadSettings error. Cannot read file start/stargazer.conf Как запускался? Наверное, stargazer start? В документации четко написано что первым параметром указывается путь к каталогу с файлами конфигурации. В случае если параметр отсутствует то используется путь /etc/stargazer по умолчани. Совершенно верно, /usr/sbin/stargazer start По умолчанию Stargazer ставит конфиги в /etc/stargazer, а так как не люблю менять умолчания, то они там и лежат. Прошу прощения, но документация не менялась столько лет, что я видимо разучился её искать? Где эти новшества? В папке doc не то, в README всё старое. Всё запустилось, /usr/sbin/stargazer без start. Буду обкатывать
nightfly Posted April 19, 2011 Posted April 19, 2011 Прошу прощения, но документация не менялась столько лет, что я видимо разучился её искать? Где эти новшества? ну они интуитивны как бы - с коих пор дожны инит скрипты лежать в PREFIX/sbin/? И вобще документация - для слабых духом, истинные джедаи надеются на научный "тык"
Bas Posted April 19, 2011 Posted April 19, 2011 init-скрипты лежат где надо, а вот бинарник кидается во freebsd по умолчанию именно в /usr/sbin
madf Posted April 19, 2011 Author Posted April 19, 2011 ... 2011-04-18 19:24:36 -- DOTCONF++: file 'start/stargazer.conf': realpath('start/stargazer.conf') failed: No such file or directory 2011-04-18 19:24:36 -- ReadSettings error. Cannot read file start/stargazer.conf Как запускался? Наверное, stargazer start? В документации четко написано что первым параметром указывается путь к каталогу с файлами конфигурации. В случае если параметр отсутствует то используется путь /etc/stargazer по умолчани. Совершенно верно, /usr/sbin/stargazer start По умолчанию Stargazer ставит конфиги в /etc/stargazer, а так как не люблю менять умолчания, то они там и лежат. Прошу прощения, но документация не менялась столько лет, что я видимо разучился её искать? Где эти новшества? В папке doc не то, в README всё старое. Всё запустилось, /usr/sbin/stargazer без start. Буду обкатывать Документация обновляется перед релизом. Ссылка на нее есть на сайте: http://stg.dp.ua/download/other/stargazer_help_v2.13.pdf Новшеств по этому поводу никаких - способ запуска не менялся с версии 1. Я вообще не понял откуда взялся start в качестве первого параметра. Наверное вы перепутали бинарник с init.d-скриптом.
Recommended Posts