Перейти до

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

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

...

core файл могу выложить если нужно

Можешь упаковать core-файл вместе со всеми бинарями и конфигом в архив? Хотя и так уже кое-что видно, но лишним не будет.

  • Відповіді 131
  • Створено
  • Остання відповідь

Top Posters In This Topic

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

...

core файл могу выложить если нужно

Можешь упаковать core-файл вместе со всеми бинарями и конфигом в архив? Хотя и так уже кое-что видно, но лишним не будет.

Уже нашел ошибку. В плагине для мускула не проверяется вариант когда запрос не вернул ни одной строки. Считается что запрошенный логин всегда существует. Патч приведу позже. Может быть завтра.

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

...

core файл могу выложить если нужно

Можешь упаковать core-файл вместе со всеми бинарями и конфигом в архив? Хотя и так уже кое-что видно, но лишним не будет.

выложил http://skyprox.net.ru/upload/stg_debug.tar.gz

 

кстати вопрос, модули и библиотеки которые при make install помещаются в /usr/lib отличаются по размеру от тех собираются при сборке стг, это нормально?

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

...

core файл могу выложить если нужно

Можешь упаковать core-файл вместе со всеми бинарями и конфигом в архив? Хотя и так уже кое-что видно, но лишним не будет.

выложил http://skyprox.net.ru/upload/stg_debug.tar.gz

 

кстати вопрос, модули и библиотеки которые при make install помещаются в /usr/lib отличаются по размеру от тех собираются при сборке стг, это нормально?

Конечно отличаются. Во первых это отладочная сборка - они содержат в себе отладочную информацию. Во вторых при make install-bin копирование происходит средствами утилиты install которая делает strip всем бинарникам "вычищая" лишнюю информацию из них.

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

Конечно отличаются. Во первых это отладочная сборка - они содержат в себе отладочную информацию. Во вторых при make install-bin копирование происходит средствами утилиты install которая делает strip всем бинарникам "вычищая" лишнюю информацию из них.

спасибо за информацию :)

патч приблизительно когда будет готов?

 

PS. напомню, авторизуется даже при отрицательном балансе

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

Конечно отличаются. Во первых это отладочная сборка - они содержат в себе отладочную информацию. Во вторых при make install-bin копирование происходит средствами утилиты install которая делает strip всем бинарникам "вычищая" лишнюю информацию из них.

спасибо за информацию :)

патч приблизительно когда будет готов?

 

PS. напомню, авторизуется даже при отрицательном балансе

quick&dirty:

diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.cpp b/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                     
index fefadd5..f62a846 100644                                                                                                                                                    
--- a/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                                                                                     
+++ b/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                                                                                     
@@ -711,6 +711,13 @@ if (!(res=mysql_store_result(sock)))                                                                                                                        
    return -1;                                                                                                                                                                  
}                                                                                                                                                                               

+if (mysql_num_rows(res) != 1)                                                                                                                                                   
+{                                                                                                                                                                               
+    errorStr = "User not found";                                                                                                                                                
+    mysql_close(sock);                                                                                                                                                          
+    return -1;                                                                                                                                                                  
+}                                                                                                                                                                               
+                                                                                                                                                                                
row = mysql_fetch_row(res);

string param;

Решает проблему с падением. По поводу авторизации при отрицательном балансе баг пока висит в треккере.

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

quick&dirty:

diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.cpp b/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                     
index fefadd5..f62a846 100644                                                                                                                                                    
--- a/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                                                                                     
+++ b/projects/stargazer/plugins/store/mysql/mysql_store.cpp                                                                                                                     
@@ -711,6 +711,13 @@ if (!(res=mysql_store_result(sock)))                                                                                                                        
    return -1;                                                                                                                                                                  
}                                                                                                                                                                               

+if (mysql_num_rows(res) != 1)                                                                                                                                                   
+{                                                                                                                                                                               
+    errorStr = "User not found";                                                                                                                                                
+    mysql_close(sock);                                                                                                                                                          
+    return -1;                                                                                                                                                                  
+}                                                                                                                                                                               
+                                                                                                                                                                                
row = mysql_fetch_row(res);

string param;

Решает проблему с падением. По поводу авторизации при отрицательном балансе баг пока висит в треккере.

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

--- projects/stargazer/plugins/store/mysql/mysql_store.cpp
+++ projects/stargazer/plugins/store/mysql/mysql_store.cpp
@@ -711,6 +711,13 @@ if (!(res=mysql_store_result(sock)))
    return -1;
}

+if (mysql_num_rows(res) != 1)
+{
+    errorStr = "User not found";
+    mysql_close(sock);
+    return -1;
+}
+
row = mysql_fetch_row(res);

string param;

 

madf, большое спасибо! всё отлично! :) осталось дело за малым

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

.....По поводу авторизации при отрицательном балансе баг пока висит в треккере.

А как же с Accounting быть???

И как быть, если в дистре только 1й радиус?

Можно патчи отдельно сделать, что бы паралельно под две ветки радиуса были плагины???

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

.....По поводу авторизации при отрицательном балансе баг пока висит в треккере.

А как же с Accounting быть???

И как быть, если в дистре только 1й радиус?

Можно патчи отдельно сделать, что бы паралельно под две ветки радиуса были плагины???

да мы тут как бы с первым радиусом боремся :)

под второй никаких манов и примеров конфига нет пока

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

.....По поводу авторизации при отрицательном балансе баг пока висит в треккере.

А как же с Accounting быть???

И как быть, если в дистре только 1й радиус?

Можно патчи отдельно сделать, что бы паралельно под две ветки радиуса были плагины???

Пока никак.

Это что за такой дистр необновляемый? Сейчас 2-й уже везде впихнули.

Патч был на модуль для работы с MySQL.

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

Пока никак.

Это что за такой дистр необновляемый? Сейчас 2-й уже везде впихнули.

Патч был на модуль для работы с MySQL.

жаль((

я бы поучаствовал.

дистр: CentOS 5

[root@stg ~]# cat /etc/redhat-release 
CentOS release 5.5 (Final)
[root@stg ~]# rpm -q freeradius
freeradius-1.1.3-1.6.el5

на чем есть, на том и работаем...

ну патчем то понятно)

 

ps хотя вопрос сниматся, как дурацкий:

[root@stg ~]# yum list freeradius2
freeradius2.x86_64                                                             2.1.7-7.el5                                                              base

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

ещё хотелось бы чтобы авторизовать можно было только столько сессий сколько ip адресов прописано в конфигурации учётной записи юзера

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

ещё хотелось бы чтобы авторизовать можно было только столько сессий сколько ip адресов прописано в конфигурации учётной записи юзера

Никак нельзя. Stargazer умеет работать только с одним IP-адресом для одной учетки. Даже если их там прописано много - авторизован будет только один.

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

Никак нельзя. Stargazer умеет работать только с одним IP-адресом для одной учетки. Даже если их там прописано много - авторизован будет только один.

авторизуюсь с 2 разных машин под одним логином и паролем, на обоих работает :)

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

Никак нельзя. Stargazer умеет работать только с одним IP-адресом для одной учетки. Даже если их там прописано много - авторизован будет только один.

авторизуюсь с 2 разных машин под одним логином и паролем, на обоих работает :)

Одновременно?!

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

Одновременно?!

ошибся, авторизуется с обоих машин и в момент авторизации на второй пропадает интернет и на первой

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

Одновременно?!

ошибся, авторизуется с обоих машин и в момент авторизации на второй пропадает интернет и на первой

Нет, даже такого быть не может. Оно при попытке авторизации с другого IP скажет что "Ваш логин уже испольуется" и не авторизует.

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

Никак нельзя. Stargazer умеет работать только с одним IP-адресом для одной учетки. Даже если их там прописано много - авторизован будет только один.

Присоединяюсь к пожеланию. Может в todo?

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

Никак нельзя. Stargazer умеет работать только с одним IP-адресом для одной учетки. Даже если их там прописано много - авторизован будет только один.

Присоединяюсь к пожеланию. Может в todo?

Для реализации этого придется перелопатить половину кода Stargazer'а. Так что точно не в 2.407.

  • 2 weeks later...
Опубліковано:

Заметил, что у стандартного rlm_stg фича(бага):

когда у юзера "минус", или отключен или заморожен - он все равно авторизует логин на ВПН-сервере.

Это так и должно быть?

Странно. Я бы сказал что такого не может быть. Для определения того, авторизовывать пользователя или нет, используется вызов USER::IsInetable, который как раз и обрабатывает disabled, passive, freeMb, credit и cash. Прошу еще раз внимательно это проверить.

уважаемый madf, всё таки это действительно баг или что-то настроено не так?

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

Заметил, что у стандартного rlm_stg фича(бага):

когда у юзера "минус", или отключен или заморожен - он все равно авторизует логин на ВПН-сервере.

Это так и должно быть?

Странно. Я бы сказал что такого не может быть. Для определения того, авторизовывать пользователя или нет, используется вызов USER::IsInetable, который как раз и обрабатывает disabled, passive, freeMb, credit и cash. Прошу еще раз внимательно это проверить.

уважаемый madf, всё таки это действительно баг или что-то настроено не так?

Если это действительно так то это баг.

Но подтвердить пока не смог.

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

Если это действительно так то это баг.

Но подтвердить пока не смог.

готов помочь и по содействовать, можно по асе 153908318

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

или может быть исправить баг в rlm_stg от последней сборки rc2?

ip-test:~# /sbin/radiusd -X
Starting - reading configuration files ...
reread_config:  reading radiusd.conf
Config:   including file: /etc/raddb/proxy.conf
Config:   including file: /etc/raddb/clients.conf
Config:   including file: /etc/raddb/snmp.conf
Config:   including file: /etc/raddb/eap.conf
main: prefix = "/"
main: localstatedir = "/var"
main: logdir = "/var/log/freeradius"
main: libdir = "/lib/"
main: radacctdir = "/var/log/freeradius/radacct"
main: hostname_lookups = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 0
main: allow_core_dumps = no
main: log_stripped_names = no
main: log_file = "/var/log/freeradius/radius.log"
main: log_auth = no
main: log_auth_badpass = no
main: log_auth_goodpass = no
main: pidfile = "/var/run/freeradius.pid"
main: user = "root"
main: group = "root"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "//sbin/checkrad"
main: proxy_requests = yes
proxy: retry_delay = 5
proxy: retry_count = 3
proxy: synchronous = no
proxy: default_fallback = yes
proxy: dead_time = 120
proxy: post_proxy_authorize = no
proxy: wake_all_if_all_dead = no
security: max_attributes = 200
security: reject_delay = 1
security: status_server = no
main: debug_level = 0
read_config_files:  reading dictionary
read_config_files:  reading naslist
Using deprecated naslist file.  Support for this will go away soon.
read_config_files:  reading clients
read_config_files:  reading realms
radiusd:  entering modules setup
Module: Library search path is /lib
Ошибка сегментирования
ip-test:~#

 

сейчас работает от rc1

  • 1 year later...
Опубліковано:

доброго времени суток,

пытаюсь заставить работать связку: accel-ppp+rlm_stg+stargazer на centos6 x64

в момент авторизации получаю:

Debug: rlm_stg: stg_authorize()
Ошибка сегментирования

в исходниках в этом месте:

   DEBUG("rlm_stg: stg_authorize()");

   uname = pairfind(request->packet->vps, PW_USER_NAME);
   if (uname) {
    DEBUG("rlm_stg: stg_authorize() user name defined as '%s'", uname->vp_strvalue);
   } else {
    DEBUG("rlm_stg: stg_authorize() user name undefined");
    return RLM_MODULE_FAIL;
   }

 

т.е. что-то не так с uname, кто силен в кодинге? Хелп...

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

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

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

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

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

Вхід

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

Войти сейчас
×
×
  • Створити нове...