madf Posted September 16, 2009 Posted September 16, 2009 Новая версия Stargazer-a stg-2.406. Главные изменения: исправлены 3 критические ошибки (падение сервера и блокировка авторизации пользователей), добавлена поддержка big-endian-архитектур (в частности, Sparc64), добавлена экспериментальная поддержка СУБД PostgreSQL, расширены функции консольного конфигуратора и ускорено обновление списка пользователей в конфигураторе для ОС Windows. При использовании СУБД PostgreSQL в качестве хранилища базу нужно создать вручную. SQL-дамп находится в файле projects/stargazer/inst/var/00-base-00.postgresql.sql архива с исходниками. Тут находится ChangeLog. Обновленная документация находится тут: stargazer_help_v2.13.pdf. На сайте так-же доступны исходные коды последней версии авторизатора и конфигуратора. Начиная с этого релиза изменяется схема нумерации версий Stargazer. Из нее исключены номера версий протокола конфигуратора и авторизатор, т.к. сервер поддерживает старые версии протоколов. Вместо них возможно появление минорных номеров версий. Приношу свои извинения за долгую недоступность исходников авторизатора и конфигуратора (фактически, нарушение GPL). По поводу конфигуратора: внесены изменения в плагин и протокол. Теперь при обновлении списка пользователей от сервера передаются только измененные данные, что приводит к значительному ускорению работы конфигуратора. Первичная загрузка списка пользователей происходит так-же долго как и раньше. Плагин совместим с предыдущими версиями конфигуратора (правда, при этом ускорение обновления не работает). Конфигуратор не совместим с предыдущими версиями плагина. Структура базы PostgreSQL на 90% совпадает со структурой базы Firebird. Исключение - исчезла таблица tb_stats. Данные из нее перенесены в tb_users, а метки времени в tb_stats_traffic. Такие-же изменения буду внесены и в Firebird как только я подготовлю скрипты миграции. Так-же планируется оптимизация нескольких запросов для Firebird. Stargazer с базой в PostgreSQL и нагрузкой в ~1000 пользователей успешно работает уже больше месяца. В базу можно добавить индексы по вкусу
Smeet Posted September 22, 2009 Posted September 22, 2009 Собралось без ошибок, после make install-bin : "Makefile", line 33: Missing dependency operator "Makefile", line 36: Need an operator "Makefile", line 39: Need an operator "Makefile", line 47: Need an operator Error expanding embedded variable. P.S. freebsd 6.3 .....спустя час: помогло вместо make использовать gmake, свое сообщение удалить не смог...
Neelix Posted September 22, 2009 Posted September 22, 2009 на сервере у вас закончилось свободное место
trinux Posted September 22, 2009 Posted September 22, 2009 а есть не исходные коды авторизатора и конфигуратора новых? всмысле уже собранные exe-шники.
Neelix Posted September 22, 2009 Posted September 22, 2009 а есть не исходные коды авторизатора и конфигуратора новых? всмысле уже собранные exe-шники. куда-то делся ia_auth_c.h #include "ia_auth_c.h"
Smeet Posted September 22, 2009 Posted September 22, 2009 Проблемы с Divert так и остались на том же уровне, что и предыдущие два релиза: Пакеты из сокета не возвращаются в ipfw и насчитывает вместо КилоБайт --> ГигаБайты. а я уже и не помню, в каких местах что менять. Кто помнит, подскажите, т.к. на другой подсчет пока не планирую перейти.
madf Posted September 22, 2009 Author Posted September 22, 2009 Собралось без ошибок, после make install-bin : "Makefile", line 33: Missing dependency operator "Makefile", line 36: Need an operator "Makefile", line 39: Need an operator "Makefile", line 47: Need an operator Error expanding embedded variable. P.S. freebsd 6.3 .....спустя час: помогло вместо make использовать gmake, свое сообщение удалить не смог... FreeBSD - gmake install а есть не исходные коды авторизатора и конфигуратора новых? всмысле уже собранные exe-шники. Конфигуратор: инсталлятор, исходники. Авторизатор: инсталлятор, исходники. Найти можно было тут. Авторизатор с последней версии не изменился. Я только исходники выложил. куда-то делся ia_auth_c.h Откуда делся?
Smeet Posted September 23, 2009 Posted September 23, 2009 Старый sgconf_xml не работает, выдает: /libexec/ld-elf.so.1: Shared object "libsrvconf.so" not found, required by "sgconf_xml" если же положить старую библиотеку у /usr/lib/stg то выдает: /libexec/ld-elf.so.1: //usr/lib/stg/libstg_common.so: Undefined symbol "stgTime" а нового нет в папке project простой sgconf не собирается, выдает: common.cpp:38:19: iconv.h: No such file or directory common.cpp: In function `std::string IconvString(const std::string&, const std::string&, const std::string&)': common.cpp:944: error: `iconv_t' was not declared in this scope common.cpp:944: error: expected `;' before "handle" common.cpp:947: error: `handle' was not declared in this scope common.cpp:964: error: `handle' was not declared in this scope common.cpp:966: error: `iconv' was not declared in this scope common.cpp:972: error: `iconv_close' was not declared in this scope common.cpp:982: error: `iconv_close' was not declared in this scope gmake[2]: *** [common.o] Error 1 gmake[2]: Leaving directory `/usr/billing/2.406/stglibs/common.lib' gmake[1]: *** [common.lib] Error 2 gmake[1]: Leaving directory `/usr/billing/2.406/stglibs' gmake: *** [libs] Error 2 то же выдает, если скопировать из предыдущего релиза папку sgconf_xml и попробовать собрать. ОГРОМНАЯ просьба поправить.
madf Posted September 23, 2009 Author Posted September 23, 2009 Старый sgconf_xml не работает, выдает: /libexec/ld-elf.so.1: Shared object "libsrvconf.so" not found, required by "sgconf_xml"если же положить старую библиотеку у /usr/lib/stg то выдает: /libexec/ld-elf.so.1: //usr/lib/stg/libstg_common.so: Undefined symbol "stgTime" а нового нет в папке project простой sgconf не собирается, выдает: common.cpp:38:19: iconv.h: No such file or directory common.cpp: In function `std::string IconvString(const std::string&, const std::string&, const std::string&)': common.cpp:944: error: `iconv_t' was not declared in this scope common.cpp:944: error: expected `;' before "handle" common.cpp:947: error: `handle' was not declared in this scope common.cpp:964: error: `handle' was not declared in this scope common.cpp:966: error: `iconv' was not declared in this scope common.cpp:972: error: `iconv_close' was not declared in this scope common.cpp:982: error: `iconv_close' was not declared in this scope gmake[2]: *** [common.o] Error 1 gmake[2]: Leaving directory `/usr/billing/2.406/stglibs/common.lib' gmake[1]: *** [common.lib] Error 2 gmake[1]: Leaving directory `/usr/billing/2.406/stglibs' gmake: *** [libs] Error 2 то же выдает, если скопировать из предыдущего релиза папку sgconf_xml и попробовать собрать. ОГРОМНАЯ просьба поправить. Для работы sgconf нужен iconv. В *BSD он идет отдельным пакетом. Если кто выложит исходники sgconf_xml или даст ссылку где они есть - могу попробовать поправить. Проект-то не наш.
Smeet Posted September 23, 2009 Posted September 23, 2009 Для работы sgconf нужен iconv. В *BSD он идет отдельным пакетом.Если кто выложит исходники sgconf_xml или даст ссылку где они есть - могу попробовать поправить. Проект-то не наш. Установил /usr/ports/converters/iconv ошибка та же, один в один.
madf Posted September 23, 2009 Author Posted September 23, 2009 Где находится iconv.h? В /usr/include или в /usr/local/include? И полный лог сборки, пожалуйста.
Flamik Posted September 23, 2009 Posted September 23, 2009 madf, скачал исходники авторизатора http://stg.dp.ua/download/inetaccess/2.61.....2.61.8.src.rar пытаюсь собрать в C++Bulder 6 вылетают ошибки: [C++ Error] MainUnit.h(47): E2209 Unable to open include file 'ia_auth_c.h' [C++ Error] SelectDirUnit.h(14): E2209 Unable to open include file 'Common.h' [C++ Error] SelectDirUnit.h(26): E2451 Undefined symbol 'DIR_NUM' [C++ Error] MainUnit.h(135): E2451 Undefined symbol 'IA_MAX_MSG_LEN_8' [C++ Error] MainUnit.h(136): E2451 Undefined symbol 'IA_MAX_MSG_LEN_8' [C++ Error] MainUnit.h(153): E2303 Type name expected [C++ Error] MainUnit.h(153): E2139 Declaration missing ; [C++ Error] MainUnit.h(154): E2451 Undefined symbol 'DIR_NUM' [C++ Error] MainUnit.h(172): E2293 ) expected [C++ Error] MainUnit.h(173): E2293 ) expected [C++ Error] MainUnit.cpp(38): E2209 Unable to open include file 'Common.h' [C++ Error] settings.h(56): E2451 Undefined symbol 'DIR_NUM' [C++ Error] settings.h(74): E2451 Undefined symbol 'DIR_NUM' [C++ Error] MainUnit.cpp(52): E2141 Declaration syntax error [C++ Error] MainUnit.cpp(78): E2451 Undefined symbol 'clnp' [C++ Error] MainUnit.cpp(78): E2303 Type name expected [C++ Error] MainUnit.cpp(78): E2379 Statement missing ; [C++ Error] MainUnit.cpp(81): E2451 Undefined symbol 'StatUpdate' [C++ Error] MainUnit.cpp(84): E2451 Undefined symbol 'SetDirName' [C++ Error] MainUnit.cpp(111): E2451 Undefined symbol 'stat' [C++ Error] MainUnit.cpp(149): E2451 Undefined symbol 'DIR_NUM' [C++ Error] MainUnit.cpp(166): E2451 Undefined symbol 'DIR_NUM' [C++ Error] MainUnit.cpp(177): E2316 'TMainForm::SetDirName(const vector<string,allocator<string> > &,void *)' is not a member of 'TMainForm' [C++ Error] MainUnit.cpp(233): E2451 Undefined symbol 'IA_MAX_MSG_LEN_8' [C++ Error] MainUnit.cpp(250): E2451 Undefined symbol 'clnp' [C++ Error] MainUnit.cpp(250): E2228 Too many error or warning messages Если ia_auth_c.h и далее файлы которые он просит брать из исходников старгайзера то в тоге получаем ошибку: [C++ Warning] OptionsUnit.cpp(204): W8004 'ip' is assigned a value that is never used [C++ Warning] HistoryUnit.cpp(73): W8012 Comparing signed and unsigned values [C++ Warning] HistoryUnit.cpp(115): W8012 Comparing signed and unsigned values [C++ Warning] MsgDbUnit.cpp(77): W8012 Comparing signed and unsigned values [C++ Warning] MsgDbUnit.cpp(143): W8012 Comparing signed and unsigned values [Linker Fatal Error] Fatal: Unable to open file 'CRYPTO.LIB' Старгайзер собрался на серваке без проблем!, хочется авторизатор малость под себя прилизать
madf Posted September 23, 2009 Author Posted September 23, 2009 Для сборки авторизатора нужна библиотека ia_auth_c.lib, crypto.lib и, кажется, еще common.lib из исходников Stargazer'а.
Smeet Posted September 24, 2009 Posted September 24, 2009 Где находится iconv.h? В /usr/include или в /usr/local/include?И полный лог сборки, пожалуйста. /usr/include/sys/iconv.h /usr/local/include/iconv.h /usr/src/bin/csh/iconv.h /usr/src/sys/sys/iconv.h скопировал в /usr/include/ теперь на другое ругается: ############################################################################# Building sgconf for FreeBSD 6 ############################################################################# Checking endianess... Little Endian Checking for -lexpat... yes gmake -C /usr/temp/2.406/projects/sgconf/../../stglibs includes gmake[1]: Entering directory `/usr/temp/2.406/stglibs' gmake includes -C conffiles.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/conffiles.lib' cp -p conffiles.h /usr/temp/2.406/projects/sgconf/../../include gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/conffiles.lib' gmake includes -C crypto.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/crypto.lib' cp -p ag_md5.h blowfish.h /usr/temp/2.406/projects/sgconf/../../include gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/crypto.lib' gmake includes -C common.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/common.lib' cp -p debug.h stg_error.h common.h /usr/temp/2.406/projects/sgconf/../../include gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/common.lib' gmake includes -C srvconf.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/srvconf.lib' cp -p servconf.h netunit.h /usr/temp/2.406/projects/sgconf/../../include gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/srvconf.lib' gmake[1]: Leaving directory `/usr/temp/2.406/stglibs' gmake -C /usr/temp/2.406/projects/sgconf/../../stglibs gmake[1]: Entering directory `/usr/temp/2.406/stglibs' gmake -C conffiles.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/conffiles.lib' gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/conffiles.lib' gmake[2]: Entering directory `/usr/temp/2.406/stglibs/conffiles.lib' cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c conffiles.cpp g++ -shared -Wl,-rpath,//usr/lib/stg -Wl,-soname,libconffiles.so conffiles.o -o libconffiles.so -L /usr/temp/2.406/projects/sgconf/../../lib ar rc libconffiles.a conffiles.o ranlib libconffiles.a cp *.so /usr/temp/2.406/projects/sgconf/../../lib cp *.a /usr/temp/2.406/projects/sgconf/../../lib gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/conffiles.lib' gmake -C crypto.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/crypto.lib' gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/crypto.lib' gmake[2]: Entering directory `/usr/temp/2.406/stglibs/crypto.lib' cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c ag_md5.c cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c blowfish.cpp g++ -shared -Wl,-rpath,//usr/lib/stg -Wl,-soname,libstg_crypto.so ag_md5.o blowfish.o -o libstg_crypto.so -L /usr/temp/2.406/projects/sgconf/../../lib ar rc libstg_crypto.a ag_md5.o blowfish.o ranlib libstg_crypto.a cp *.so /usr/temp/2.406/projects/sgconf/../../lib cp *.a /usr/temp/2.406/projects/sgconf/../../lib gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/crypto.lib' gmake -C common.lib gmake[2]: Entering directory `/usr/temp/2.406/stglibs/common.lib' gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/common.lib' gmake[2]: Entering directory `/usr/temp/2.406/stglibs/common.lib' cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c debug.c cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c stg_error.c cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c common.cpp cc -DARCH_LE -fPIC -I /usr/temp/2.406/projects/sgconf/../../include -I ./ -DFREE_BSD5 -DSTG_TIME -c stg_strptime.cpp g++ -shared -Wl,-rpath,//usr/lib/stg -Wl,-soname,libstg_common.so debug.o stg_error.o common.o stg_strptime.o /usr/temp/2.406/projects/sgconf/../../lib/libstg_crypto.so -liconv -o libstg_common.so -L /usr/temp/2.406/projects/sgconf/../../lib /usr/bin/ld: cannot find -liconv gmake[2]: *** [libstg_common.so] Error 1 gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/common.lib' gmake[1]: *** [common.lib] Error 2 gmake[1]: Leaving directory `/usr/temp/2.406/stglibs' gmake: *** [libs] Error 2 сделал ссылку: ln -s /usr/local/lib/libiconv.* /usr/lib/ теперь выдает: gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/srvconf.lib' gmake[1]: Leaving directory `/usr/temp/2.406/stglibs' cc -c main.cpp -DARCH_LE -DHAVE_DECL_GETOPT=1 -Wall -I /usr/temp/2.406/projects/sgconf/../../include -I/usr/local/include -DFREE_BSD5 In file included from main.cpp:39: /usr/local/include/getopt.h:108: error: declaration of C function `int getopt()' conflicts with /usr/include/unistd.h:377: error: previous declaration `int getopt(int, char* const*, const char*)' here gmake: *** [main.o] Error 1
madf Posted September 24, 2009 Author Posted September 24, 2009 Не надо было ссылку делать. Попробуй так: CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./build
madf Posted September 24, 2009 Author Posted September 24, 2009 По поводу последней ошибки: попробуй убрать из main.cpp строчку #include <getopt.h>
Smeet Posted September 24, 2009 Posted September 24, 2009 Не надо было ссылку делать.Попробуй так: CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./build я правильно понимаю, что переменные надо прописать в Makefile ? прописал, удалил ссылки на iconv.h, ошибка та же, не может его найти. когда удалил #include <getopt.h> стало выдавать: gmake[2]: Leaving directory `/usr/temp/2.406/stglibs/srvconf.lib' gmake[1]: Leaving directory `/usr/temp/2.406/stglibs' cc -c main.cpp -DARCH_LE -DHAVE_DECL_GETOPT=1 -Wall -I /usr/temp/2.406/projects/sgconf/../../include -I/usr/local/include -DFREE_BSD5 main.cpp:117: error: elements of array `option long_options_get[]' have incomplete type main.cpp:117: error: storage size of `long_options_get' isn't known main.cpp:57: error: storage size of `long_options_get' isn't known main.cpp:179: error: elements of array `option long_options_set[]' have incomplete type main.cpp:179: error: storage size of `long_options_set' isn't known main.cpp:119: error: storage size of `long_options_set' isn't known main.cpp: In function `int mainGet(int, char**)': main.cpp:692: error: `getopt_long' was not declared in this scope main.cpp:692: warning: unused variable 'getopt_long' main.cpp: In function `int mainSet(int, char**)': main.cpp:873: error: `getopt_long' was not declared in this scope main.cpp:873: warning: unused variable 'getopt_long' gmake: *** [main.o] Error 1
madf Posted September 24, 2009 Author Posted September 24, 2009 Нет, их не нужно прописывать в Makefile. Их нужно указать перед скриптом build
Smeet Posted September 25, 2009 Posted September 25, 2009 Нет, их не нужно прописывать в Makefile. Их нужно указать перед скриптом build не получается: CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./build CXXFLAGS=-I/usr/local/include: Command not found. а вот так воспринимает: )) env CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./build но все равно ошибка остается (в предыдущем моем посте)
madf Posted September 25, 2009 Author Posted September 25, 2009 Сорри, я во Фре не спец. Суть в том что нужно перед запуском скрипта build установить две указанные выше переменные окружения.
Smeet Posted September 25, 2009 Posted September 25, 2009 я тоже, мне гугл помог )) Так что делать с ошибкой In file included from main.cpp:39: /usr/local/include/getopt.h:108: error: declaration of C function `int getopt()' conflicts with /usr/include/unistd.h:377: error: previous declaration `int getopt(int, char* const*, const char*)' here gmake: *** [main.o] Error 1 удаление #include getopt() не помогает...
madf Posted September 25, 2009 Author Posted September 25, 2009 Попробуй оставить #include <getopt.h> и удали #include <unistd.h>
hexer Posted September 27, 2009 Posted September 27, 2009 А кто подскажет куда копать, у меня sgconf не отправляет сообщения в кирилице, тока латиница. Просто вываливается "Error"
Smeet Posted September 28, 2009 Posted September 28, 2009 Попробуй оставить #include <getopt.h> и удали #include <unistd.h> у меня старый getopt.h лежал в /usr/local/include скопировал из /usr/include и все собралось без ошибок, ничего не удаляя из main.cpp! sgconf не отправляет сообщения в кирилице, тока латиница.Просто вываливается "Error" а у меня более содержательное ): iconv error
Recommended Posts