Гость maap Опубликовано: September 17, 2004 at 12:33 Опубликовано: September 17, 2004 at 12:33 users.cpp USERS::Add ... if(userNum + 1 > settings->maxUsers) { WriteServLog("..."); return(1); } необходимо переместить в начало функции, так как в обратном случае совершается ряд ненужных действий. при userNum=maxUsers. user.h Везде где фигурирует unsigned long в обозначение ip необходимо заменить на uint32_t или на struct in_addr, хотя с первым работы будет меньше Почеу убрали OnUserAdd/Del Скрипты ?
DarkNight Опубліковано: September 17, 2004 at 13:57 Опубліковано: September 17, 2004 at 13:57 А теперь поподробнее чем этот БАГ проявляет себя?
Гость maap Опубліковано: September 17, 2004 at 15:59 Опубліковано: September 17, 2004 at 15:59 Первый заключается в том что юзера бодавляются даже после того как их максимальное кол-во было достигнуто второй баг, может привести к переполнению стека, так как long = 4b int = 2b , но это чисто гипотетически, на самом деле это просто безобидная ошибка
stg-34 Опубліковано: September 17, 2004 at 16:57 Опубліковано: September 17, 2004 at 16:57 users.cpp USERS::Add ... if(userNum + 1 > settings->maxUsers) { WriteServLog("..."); return(1); } необходимо переместить в начало функции, так как в обратном случае совершается ряд ненужных действий. при userNum=maxUsers. Абсолютно согласен. Исправил. Спасибо. user.h Везде где фигурирует unsigned long в обозначение ip необходимо заменить на uint32_t или на struct in_addr, хотя с первым работы будет меньше Имхо не киритично. Но правильнее было бы uint32. Кстати, второй баг, может привести к переполнению стека, так как long = 4b int = 2b Не может. Скажика-ка чему равно sizeof(long int) на машинке с i386?
Гость maap Опубліковано: September 17, 2004 at 17:58 Опубліковано: September 17, 2004 at 17:58 у меня следующяя проблемма, стоит впн сервер, и есть два направления одно город(eth1), другой внешний интернет(ppp0 masquerade) но по какойто причине городской трафик подсчитывает а внешний нехочет. что может быть причиной ?
Гость maap Опубліковано: September 17, 2004 at 18:04 Опубліковано: September 17, 2004 at 18:04 еще один баг, user.cpp ::Connect if (access(str1, X_OK) == 0 && cash > -credit) { sprintf(str2, "%s %s %s %f %d", str1, login, inet_ntoa(*(struct in_addr *)&currip), cash, id); Exec(str2); } else { WriteServLog("Script OnConnect cannot be executed. File not found."); } } вообщем исходя из этого если денег меньше чем -кредит то в лог он запишет что неможет достучаться до фаила OnConnect
stg-34 Опубліковано: September 17, 2004 at 18:32 Опубліковано: September 17, 2004 at 18:32 у меня следующяя проблемма, стоит впн сервер, и есть два направления одно город(eth1), другой внешний интернет(ppp0 masquerade)но по какойто причине городской трафик подсчитывает а внешний нехочет. что может быть причиной ? А как у тебя прописаны рулезы и через какой интерфейс подключены юзеры?
stg-34 Опубліковано: September 17, 2004 at 18:33 Опубліковано: September 17, 2004 at 18:33 вообщем исходя из этого если денег меньше чем -кредит то в лог он запишет что неможет достучаться до фаила OnConnect Снова сенкс.
Гость maap Опубліковано: September 18, 2004 at 02:35 Опубліковано: September 18, 2004 at 02:35 rules: ALL 83.172.18.0/24 DIR0 ALL 239.29.80.0/24 DIR0 //город ... ALL 0.0.0.0/0 DIR1 //внешка юзера подключены через впн соеденения тоесть ифс: ppp1,ppp2,ppp3,ppp4 .... внешка это ppp0 впн соеденения до провайдера
Гость maap Опубліковано: September 18, 2004 at 04:31 Опубліковано: September 18, 2004 at 04:31 Еще вопрос, вы узнавали можно ли лицензировать ваше детище , и если да то как ?
stg-34 Опубліковано: September 18, 2004 at 07:52 Опубліковано: September 18, 2004 at 07:52 юзера подключены через впн соеденения тоесть ифс: ppp1,ppp2,ppp3,ppp4 .... внешка это ppp0 впн соеденения до провайдера А что стоит в настройках юзеров в стг, в параметре интерфейс?
stg-34 Опубліковано: September 18, 2004 at 07:53 Опубліковано: September 18, 2004 at 07:53 Еще вопрос, вы узнавали можно ли лицензировать ваше детище , и если да то как ? Можно, денег много надо.
Quarcel Опубліковано: September 18, 2004 at 08:25 Опубліковано: September 18, 2004 at 08:25 В догонку ::Connect ......... if (access(str1, X_OK) == 0 && cash > -credit) { sprintf(str2, "%s %s %s %f %d", str1, login, inet_ntoa(*(struct in_addr *)&currip), cash, id); .......... inet_ntoa - не thread safe функция(возвращет указатель на статический буфер), может в этом проблемы и нету если в других тредах она не используется - тут уж сами смотрите
Гость maap Опубліковано: September 18, 2004 at 08:34 Опубліковано: September 18, 2004 at 08:34 так что там должно стоять ? интерфеис стоит городской 2Quarcel нет, от этого проблемм нет, там и ненадо сафе сред.
stg-34 Опубліковано: September 18, 2004 at 08:40 Опубліковано: September 18, 2004 at 08:40 так что там должно стоять ? интерфеис стоит городской Потому и не считает. Должен стоять интерфейс к которому подключен юзер. Т.е. ppp1 или ppp2, ...
Гость maap Опубліковано: September 18, 2004 at 10:47 Опубліковано: September 18, 2004 at 10:47 он ловит пакеты после пострутинга ? если я укажу внешний интерфейс ппп0 на который маскарадиться он будет считать ?
stg-34 Опубліковано: September 18, 2004 at 17:33 Опубліковано: September 18, 2004 at 17:33 Для корректной работы нужно указать интерфейс к которому подключен юзер
Гость maap Опубліковано: September 19, 2004 at 03:31 Опубліковано: September 19, 2004 at 03:31 Так это невозможно так как все ппп сервисы использующие пппд неимеют возможности применять соотношение юзер-иф
stg-34 Опубліковано: September 19, 2004 at 07:04 Опубліковано: September 19, 2004 at 07:04 Так это невозможно так как все ппп сервисы использующие пппд неимеют возможности применять соотношение юзер-иф Вот поэтому потихоньку пишется модуль ВПН для СТГ.
Гость Guest Опубліковано: September 21, 2004 at 10:55 Опубліковано: September 21, 2004 at 10:55 Лучше не пишиты модуль для ВПН, а сделайте возможность онлайн изменений в настройках пользователя, через сокет или еще какнибудь , это будет намного гибким решением, да и простым
Гость maap Опубліковано: September 21, 2004 at 11:00 Опубліковано: September 21, 2004 at 11:00 gg] вообщем проще вам будет посредством либо kill -HUP stargazer либо прослушывания сокета это реализовать,
Гость maap Опубліковано: September 21, 2004 at 15:03 Опубліковано: September 21, 2004 at 15:03 старгазер не читает из ппп интерфейсов, это можно поправить ? всмысле если да, то хотелось бы просто что бы вы указали место где надо рыться
Гость maap Опубліковано: September 21, 2004 at 17:31 Опубліковано: September 21, 2004 at 17:31 и еще есть предложение добавления в скрипты useradd/del/change мак адреса из текущей арп таблицы. готов посодействовать.
Гость maap Опубліковано: September 21, 2004 at 17:54 Опубліковано: September 21, 2004 at 17:54 еще один недостаток, можно одновременно замораживать и помечать отключенным. никак эти два события на друг друга невлияют, но всеже. при этом невыполняется скприпт что нерабует, и так как правила в фаирвол охото вносить. )
Гость maap Опубліковано: September 21, 2004 at 18:02 Опубліковано: September 21, 2004 at 18:02 еще одна идея, в конфигураторе добавить возможность просматривать, удалять и добавлять список так называемых лан адресов, и еще кнопочку для пересчитывания rules, так вот по нажатиям на кнопочки, строки должны добавляться в некоторый список, и выполняться скрипты для синхронизации с иптаблесами и таблицой маршрутизации.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас