Jump to content

madf

Сitizens
  • Content Count

    4,122
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by madf

  1. Спасибо за бектрейс и информацию, но еще неплохо было-бы описать, при каких действиях это произошло.
  2. При чем тут "верю/не верю". Если есть объективные причины, по которой изменение типа возвращаемого функцией значения с uint16_t на uint32_t приводит к неправильному подсчету трафика - это проблема и ее нужно решать. Если кто-то без объяснений говорит что есть баг который исправляется некими шаманскими действиями - я это прийму во внимание, но отложу рассмотрение на неопределенный срок. Пока не появится логическое объяснение бага и метода его устранения.
  3. Не вижу смысла. Конвертор используется редко. Перезапустить его после устранения проблем в базе недолго. По поводу 1 диалекта: изначально плагин разрабатывался под версию 1.5, но библиотека, которую он юзает, может работать и с 1 версией. Так что можешь попробовать. Я, вроде-бы, ничего специфического не использовал.
  4. 1. Пока еще не завершен переход на Unicode 2. А откуда нам знать, какой интерпретатор вы будете юзать? 3. Да, очепятка. Уже поправлена. 4. Самая последняя версия конфигуратора? sgconfig.1.89.9.win.exe? 5. Моя логика при написании конвертора была такая-же как и при создании Stargazer: если невозможно получить необходимые данные из базы - значит она повреждена. А это ошибка из ряда критических - лучше сразу стопнуть и призвать на помощь админа.
  5. Но корелляция-то есть? То есть, при скачивании 200 кб получаем 2 Гб, а при 400 кб - 4 Гб? Такое наблюдается? Может в трафкаунтер просто мусор попадает. Патчи какие-нить накладывались?
  6. А корелляция между тем сколько скачалось и сколько показало наблюдается? Могу предположить неправильную настройку фаервола.
  7. А чем не понравился, если не секрет?
  8. Это небольшой дэмон, который слушает сеть на предмет сообщений от STG. В моменты подключения/отключения юзеров на STG плагин remote_script отправляет этому дэмону соответствующее сообщение. Дэмон выполняет соответствующий скрипт с полученными параметрами. Дэмонов может быть несколько. Принадлежность конкретного юзера конкретному серверу rscriptd определяется конфигом плагина, в котором указывается, какие сервера обслуживают какие подсети.
  9. По поводу документации на rscriptd. Там особо-то и документировать нечего. Ставиш на серваке rscriptd, прописываеш параметры авторизации и скрипты. В конфиге Stg есть нормальзо закоментированная секция для плагина. Прописываеш адреса серверов для подсетей и пароль. И все.
  10. Чтобы выполнить скрипт на сервере B не нужно никаких костылей - достаточно rscriptd. А вот подсчитывать трафик для юзеров на сервере B не получится.
  11. Поменяй местами 317 и 318 - вынеси sendto за скобку.
  12. Если второй STG будет на B, а авторизовываться юзеры будут на А - никакого подсчета трафика на B не будет. При таких раскладах единственное решение - режим Always Online для юзеров и расшаренная база (с MySQL и Firebird проблем быть не должно, а файлы можно шарить по NFS). Другой вариант - использовать для подсчета трафика всякие железки и снимать данные по Netflow. Ах да, есть еще извращенный вариант: авторизация на FTP через плагин RADIUS.
  13. Тогда человек заменил 50 на 10 необоснованно и абсолютно не аргументированно. Такая замена может привести к тому, что в счетчик попадут неполные пакеты. Среди данных окажется мусор и результат подсчета будет иметь сомнительную достоверность. В качестве альтернативы могу предложить следующее: оставить 50, но строчку sendto(cddiv.sock, buf, bytes, 0, (struct sockaddr*)&divertaddr, divertaddrSize); вынести за пределы блока ветвления (projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp:317). При таком решении с одной стороны остается гарантия, что в счетчик попадут тольк
  14. Что значит "не заработал"? Какие симптомы? Зачем вы сменили 50 на 10? Вы считаете, что заголовок IP-пакета уместится в 10 байт? Так, например, поля IP-адреса отправителя и получателя идут со смещением 12 и 16 байт соответственно. Если прочитается пакет длиной менее 20 байт - мы получим в этих полях мусор. str2x тут не при чем. Это просто шаблонный вариант предыдущей серии функций strto... Он используется в системе очень широко и если бы в нем были проблемы - они были-бы везде.
  15. Не нужно было приводить хидеры - я ядро не разрабатываю Адекватность можно сравнить по версиям ядра и хидеров (они устанавливаются раздельно). Я думаю, что ASPLinux использует ту-же сборку компилятора, что и RedHat. А у них есть одна особенноть - они не включают по умолчанию -D_GNU_SOURCE. В результате остаются выключенными в features.h опции -D_BSD_SOURCE и -D_SVID_SOURCE, которые в строках 252-254 включают -D__USE_MISC, который окружает большой блок определений в net/if.h, в т.ч. и # define IFNAMSIZ IF_NAMESIZE. Резюмирую: projects/stargazer/plugins/capture/ipq_linux/Makefile: #####
  16. Сегодня проверю на этом ядре. А ты проверь адекватность установленных хидеров ядра текущему ядру. Может у тебя устаревшие хидеры? PS: у меня IFNAMSIZ определен в 130 строке файла /usr/include/net/if.h, который подключается из 2 строки файла /usr/include/linux/netfilter_ipv4/ip_queue.h
  17. На официальном сайте, естественно. Например, тут
  18. Это "может быть" обновление компонента dotconfpp. Просто замени CASEINSENSITIVE на CASEINSENSETIVE.
  19. Ты где это узрел?! Вот тут: g++ stgconfig.o rsconf.o configproto.o parser.o parser_tariff.o parser_admin.o /usr/lib/libpthread.so /usr/lib/libexpat.so /var/pub/stg-2.404.9.7/projects/stargazer/../../lib/libstg_common.so /var/pub/stg-2.404.9.7/projects/stargazer/../../lib/libstg_logger.so -L/usr/local/lib -shared -L/var/pub/stg-2.404.9.7/projects/stargazer/../../lib -Wl,-rpath,/usr/lib/stg -lpthread -lexpat -lstg_common -lstg_logger -o mod_conf_sg.so - все нормально! Проблема со сборкой cap_ipq.so, который действительно юзает хидеры ядра
  20. В конфигураторе при добавлении или редактировании перечислить через запятую
  21. Точнее даже так: --- main.cpp 2008-04-16 16:33:55.000000000 +0300 +++ main.cpp.new 2008-04-16 16:32:33.000000000 +0300 @@ -527,6 +527,7 @@ int c; //int digit_optind = 0; REQUEST req; +string str; RESETABLE<string> t1; @@ -592,7 +593,8 @@ break; case 'm': //message - ParseMessage(optarg, &req.usrMsg); + ParseMessage(optarg, &str); + req.usrMsg = str; break; case 'e': //Prepaid Traffic (предыдущий не должен скомпиллиться, вернуть main.cpp к исходному виду, после этого наложить новый патч).
  22. stg-2.404 --- main.cpp 2008-01-05 14:13:57.000000000 +0200 +++ main.cpp.new 2008-04-16 16:18:13.000000000 +0300 @@ -592,7 +592,9 @@ break; case 'm': //message - ParseMessage(optarg, &req.usrMsg); + string str; + ParseMessage(optarg, &str); + req.usrMsg = str; break; case 'e': //Prepaid Traffic I'm sorry...
  23. Все должно отправляться
×
×
  • Create New...