Перейти до

about Stargazer2 bug


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

Опубликовано:

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 Скрипты ?

Опубліковано:

Первый заключается в том что юзера бодавляются даже после того как их максимальное кол-во было достигнуто

второй баг, может привести к переполнению стека, так как long = 4b int = 2b

, но это чисто гипотетически, на самом деле это просто безобидная ошибка

Опубліковано:

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?

Опубліковано:

у меня следующяя проблемма, стоит впн сервер, и есть два направления одно город(eth1), другой внешний интернет(ppp0 masquerade)

но по какойто причине городской трафик подсчитывает а внешний нехочет.

что может быть причиной ?

Опубліковано:

еще один баг, 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

Опубліковано:
у меня следующяя проблемма, стоит впн сервер, и есть два направления одно город(eth1), другой внешний интернет(ppp0 masquerade)

но по какойто причине городской трафик подсчитывает а внешний нехочет.

что может быть причиной ?

А как у тебя прописаны рулезы и через какой интерфейс подключены юзеры?

Опубліковано:
вообщем исходя из этого если денег меньше чем -кредит то в лог он запишет что неможет достучаться до фаила OnConnect

Снова сенкс.

Опубліковано:

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 впн соеденения до провайдера

Опубліковано:

Еще вопрос, вы узнавали можно ли лицензировать ваше детище , и если да то как ?

Опубліковано:
юзера подключены через впн соеденения тоесть ифс: ppp1,ppp2,ppp3,ppp4 ....

 

внешка это ppp0 впн соеденения до провайдера

А что стоит в настройках юзеров в стг, в параметре интерфейс?

Опубліковано:

В догонку

 

::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 функция(возвращет указатель на статический буфер), может в этом проблемы и нету если в других тредах она не используется - тут уж сами смотрите

Опубліковано:

так что там должно стоять ? интерфеис стоит городской

 

 

2Quarcel

нет, от этого проблемм нет, там и ненадо сафе сред.

Опубліковано:
так что там должно стоять ? интерфеис стоит городской

Потому и не считает. Должен стоять интерфейс к которому подключен юзер. Т.е. ppp1 или ppp2, ...

Опубліковано:

он ловит пакеты после пострутинга ?

если я укажу внешний интерфейс ппп0 на который маскарадиться он будет считать ?

Опубліковано:

Так это невозможно так как все ппп сервисы использующие пппд неимеют возможности применять соотношение юзер-иф

Опубліковано:
Так это невозможно так как все ппп сервисы использующие пппд неимеют возможности применять соотношение юзер-иф

Вот поэтому потихоньку пишется модуль ВПН для СТГ. :)

Опубліковано:

Лучше не пишиты модуль для ВПН, а сделайте возможность онлайн изменений в настройках пользователя, через сокет или еще какнибудь , это будет намного гибким решением, да и простым

Опубліковано:

gg] вообщем проще вам будет посредством либо kill -HUP stargazer либо прослушывания сокета это реализовать,

Опубліковано:

старгазер не читает из ппп интерфейсов, это можно поправить ?

всмысле если да, то хотелось бы просто что бы вы указали место где надо рыться

Опубліковано:

и еще есть предложение добавления в скрипты useradd/del/change мак адреса из текущей арп таблицы. готов посодействовать.

Опубліковано:

еще один недостаток, можно одновременно замораживать и помечать отключенным. никак эти два события на друг друга невлияют, но всеже.

 

при этом невыполняется скприпт что нерабует, и так как правила в фаирвол охото вносить. )

Опубліковано:

еще одна идея, в конфигураторе добавить возможность просматривать, удалять и добавлять список так называемых лан адресов, и еще кнопочку для пересчитывания rules, так вот по нажатиям на кнопочки, строки должны добавляться в некоторый список, и выполняться скрипты для синхронизации с иптаблесами и таблицой маршрутизации.

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

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