Jump to content

Smeet

Muggles
  • Posts

    57
  • Joined

  • Last visited

Everything posted by Smeet

  1. Divert работает из коробки или, как и в предыдущем релизе, надо править в разных местах?
  2. Хотел перейти с freebsd 6.3 на 7.2. На чистую систему скомпилировалось без проблем, запустилось тоже, но при подключении конфигуратором после считывания порядка 70+-3 абонента выдает ошибку: parse error at line 1: not well formed (invalid token) Конфигуратор последний, 1.91.9 Им же подключается к рабочему серверу без проблем. Базу пробовал и в файлах и в мускуле, все едино. В логах сервера: Broken pipe ------------------------ чуть позже: сообщение удалить не смог, поэтому опишу причину: виноваты дрова на сетевуху Ateros (ale) bad chsum
  3. Если одиночное изменение проходит гладко, массовое - нет, то логично предположить, что машина не справляется с выполнением сотен скриптов одновременно. Значит надо оптимизировать и выкидывать все лишнее, оставлять минимум, а потом добавлять функционал. Я бы, например, выкинул бы сначала смски, а определение переменных вынес бы за условие, определяющее что изменилось. Т.е. если поменялась стата, к чему лезть в базу и определять ip,tarif,phone,credit и т.д ?
  4. это где? Там где тут ). Скрипт вызывается при любом изменении: будь то стата, тариф, деньги, блокировка, userdat0-6 и т.д. и ты все эти параметры вычисляешь как изменение счета: не вижу в этом смысла.
  5. я бы кусок newRub=`/bin/echo $newValue | cut -f 1 -d "."` # старый баланс в рублях oldRub=`/bin/echo $oldValue | cut -f 1 -d "."` cashplus=`expr $newRub - $oldRub` поставил после определения параметра cash, а то не понятно что получится после cashplus=`expr $newRub - $oldRub` если там мак будет. К тому же ненужная работа при параметрах типа мак, стата, тариф,лок, даун и т.д. И вопрос: при единичном изменении любого параметра все срабатывает нормально? Есть мнение, что скрипты не успевают отрабатываться при переходе на новый месяц. Мою тысячу старгейзер обрабатывает 18секунд, при 50% изменении смогут 500скриптов за 18 секунд отработать?
  6. Наконец то исчезла ошибка, когда юзер не может подключиться и ему ничего не выдает, и в логах чисто. Работает с 23.09 по сей день, а раньше каждое утро перезагрузка. Спасибо разработчикам.
  7. Сегодня, при переходе на новый месяц случайно обнаружил: у всех, которых стоит заморозка(в тарифе она равна 0.00) снялось со счета 2.7руб. Сумма, конечно, незначительная, но вопросы при расчете абонентов могут возникнуть... Admin '@stargazer', 0.0.0.0: User 'detmir': 'cash' parameter changed from '-1514.193199' to '-1516.919472'. Subscriber fee charge
  8. у меня старый getopt.h лежал в /usr/local/include скопировал из /usr/include и все собралось без ошибок, ничего не удаляя из main.cpp! а у меня более содержательное ): iconv error
  9. я тоже, мне гугл помог )) Так что делать с ошибкой 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() не помогает...
  10. не получается: 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 но все равно ошибка остается (в предыдущем моем посте)
  11. я правильно понимаю, что переменные надо прописать в 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
  12. /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
  13. Установил /usr/ports/converters/iconv ошибка та же, один в один.
  14. Старый 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 и попробовать собрать. ОГРОМНАЯ просьба поправить.
  15. Проблемы с Divert так и остались на том же уровне, что и предыдущие два релиза: Пакеты из сокета не возвращаются в ipfw и насчитывает вместо КилоБайт --> ГигаБайты. а я уже и не помню, в каких местах что менять. Кто помнит, подскажите, т.к. на другой подсчет пока не планирую перейти.
  16. Собралось без ошибок, после 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, свое сообщение удалить не смог...
  17. Неприятный баг проявился при появлении в сети спам-ботов: во время записи детальной статистики не выходят пакеты из диверта (freebsd), соответственно и инета ни у кого нет около 30сек. Я понимаю, разбор трафика ресурсоемкий процесс, но можно ему приоритет понизить по сравнению с пропуском текущего трафика? Выхожу из положения включением правила "skipto" мимо старгейзера, с минимальным интервалом по крону в 1минуту. Это 4мин в час и 1.5часа в сутки трафик не пишется. Теперь спамботы гашу до stg, но будущее не обнадеживает, пропуск трафика все время увеличивается...и скоро будет штатная ситуация как со спамботами. Сервер stg 2.405 patched
  18. Хочется чтобы скрипту OnConnect передавался параметр "Тариф", а то приходиться в мускул лезть... А так же потребность в индексации тарифов, чтобы можно было менять название. (т.е. был unlim-128 цены упали, подымаем скорость, а название то же, в противном случае каждому нужно менять ручками)
  19. А диверт тестировался? А то я глянул в divert_cap.cpp там так же строчка: if ((bytes = recvfrom (cddiv.sock, buf, BUFF_LEN, 0, (struct sockaddr*) &divertaddr, &divertaddrSize)) > 50) Из-за которой диверт не работал. А так же inline uint32_t RAW_PACKET::GetLen() const в raw_ip_packet.h из-за которой диверт считал что попало
  20. Пропатчил, на третьи сутки у одного "счастливчика" перестал подключать, перезагрузка сервера помогла. Проблема осталась. А я так сначала обрадовался...
  21. Понадобился консольный конфигуратор, а он не собрался. Выдает следующее: 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 система freebsd 6.3 а sgconf_xml выполняется с ошибкой: Missing name for redirect что бы это значило? ....cпустя время....в sgconf_xml после -r всего-то нужно было добавить кавычки (а в хелпе об этом ни-ни...)
  22. Может и лучше, вернее - виднее )) НО! начиная с 2.404 еще не разу сам не упал. А до этого бывало и по 3 раза в неделю, и по 3 раза на дню...
  23. Оно не будет оставлять пустых файлов stat и conf при падении. Бэкап мускульной таблицы (исключая детайльную статистику) на порядок меньше файлов. Конвертор в данном релизе рабочий делает туда и обратно. ЗЫ.Начиная с версии 2.403 и по нынешнюю имеется неприяный баг: просто не авторизируется и не выдает никаких ошибок. Смена любого символа в логине или пароле мнгновенноы выдает ошибку, а на правильные - молчок. После перезапуска старгейзера все нормально. Получается такое после долгой непрерывной работы эдак 4-5дней. Уже думаю переодически перезапускать... Случается на одно-двух учетках(всегда разных), какой-либо зависимости не обнаружил, как выявить причину не знаю.
  24. версия 2.405 в логе высвечивается старая версия: в файле raw_ip_packet.h все так же неисправленно: inline uint32_t RAW_PACKET::GetLen() const из-за чего диверт считает мусорный ветер. за отключение детальной статистики - спасибо.
  25. cделай минимальную плату за восстановления паролей (10 руб) и напряги уменьшаться на порядок.Проверено.
×
×
  • Create New...