Перейти до

stg-2.407-rc3


Рекомендованные сообщения

Ссылка для скачивания: 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. Но это для экстремалов :lol:

 

С праздником, коллеги!

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

Ссылка на сообщение
Поделиться на других сайтах

Вау, всєм баяцца.

Коряві айді в rscriptd і відстріл користувачів дуже пригнічували і стримували перехід з 2.406. Зрання буду тестувати :lol:

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

 

Це в мене руки кривуваті?)

Ссылка на сообщение
Поделиться на других сайтах

ясєн красєн.

 

Білд нормально пройшов, інстал вище

sgconf собирается просто через ./build, инсталл не нужно

 

madf, нашёл баг, sgconf запрашивает библиотеку /usr/lib/stg/libconffiles.so, а там libstgconffiles.so, пофиксил через симлинк

 

и ещё по поводу libstgsrvconf.so, его как и в предыдущих версиях приходится вручную закидывать в lib

Ссылка на сообщение
Поделиться на других сайтах

ясєн красєн.

 

Білд нормально пройшов, інстал вище

sgconf собирается просто через ./build, инсталл не нужно

 

madf, нашёл баг, sgconf запрашивает библиотеку /usr/lib/stg/libconffiles.so, а там libstgconffiles.so, пофиксил через симлинк

 

и ещё по поводу libstgsrvconf.so, его как и в предыдущих версиях приходится вручную закидывать в lib

При чем утт сборка, человек пишет про установку.

Багу не подтверждаю, sgconf запрашивает libstgconffiles.so. Это у тебя старая версия завалялась.

И вручную закидывать ничего не нужно, достаточно сделать make install.

Ссылка на сообщение
Поделиться на других сайтах

При чем утт сборка, человек пишет про установку.

Багу не подтверждаю, 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

Ссылка на сообщение
Поделиться на других сайтах

При чем утт сборка, человек пишет про установку.

Багу не подтверждаю, 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 - я там выше патчи приложил :)

Ссылка на сообщение
Поделиться на других сайтах

Еще один патч, исправляющий установку на FreeBSD всех версий (спасибо nightfly):

stg-includes-install-on-freebsd-patch.diff

stg-includes-install-on-freebsd-patch.diff.txt

Ссылка на сообщение
Поделиться на других сайтах

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 направления.

Ссылка на сообщение
Поделиться на других сайтах

...

 

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.

Ссылка на сообщение
Поделиться на других сайтах

...

 

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. Буду обкатывать ;)

Ссылка на сообщение
Поделиться на других сайтах
Прошу прощения, но документация не менялась столько лет, что я видимо разучился её искать? Где эти новшества?

ну они интуитивны как бы - с коих пор дожны инит скрипты лежать в PREFIX/sbin/?

 

И вобще документация - для слабых духом, истинные джедаи надеются на научный "тык" :)

Ссылка на сообщение
Поделиться на других сайтах

...

 

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-скриптом.

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...