Перейти до

about Stargazer2 bug


Гость maap

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

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)

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

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

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

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах
так что там должно стоять ? интерфеис стоит городской

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

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

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

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити нове...