The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"freeradius + SQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Маршрутизаторы CISCO и др. оборудование. (Public)
Изначальное сообщение [Проследить за развитием треда]

"freeradius + SQL" 
Сообщение от GateKeeper Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 20-Фев-05, 17:06  (MSK)
Народ, кто-нибудь сабжевую связку учил делать следующее:
NAS отдает Acct-Update пакет, freeradius выполняет запрос в базе, база возвращает на это дело атрибут, freeradius передает этот атрибут NAS'у? Уже неделю бьюсь, такое ощущение, что все, что делает freeradius - только лишь проверяет, успешно ли выполнился запрос, а все, что было в ответе на этот запрос, просто игнорирует.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • freeradius + SQL, Tester, 10:26 , 21-Фев-05, (1)  
  • freeradius + SQL, Beginner, 13:00 , 21-Фев-05, (2)  
    • freeradius + SQL, John Smith, 19:27 , 21-Фев-05, (3)  
      • freeradius + SQL, GateKeeper, 15:55 , 23-Фев-05, (4)  
        • freeradius + SQL, Beginner, 08:18 , 24-Фев-05, (5)  
          • freeradius + SQL, GateKeeper, 16:32 , 24-Фев-05, (6)  
  • freeradius + SQL, GateKeeper, 18:25 , 26-Фев-05, (7)  
    • freeradius + SQL, Beginner, 08:43 , 28-Фев-05, (8)  
      • freeradius + SQL, ak, 09:38 , 28-Фев-05, (9)  
        • freeradius + SQL, GateKeeper, 17:13 , 28-Фев-05, (10)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "freeradius + SQL" 
Сообщение от Tester Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 21-Фев-05, 10:26  (MSK)
>Народ, кто-нибудь сабжевую связку учил делать следующее:
>NAS отдает Acct-Update пакет, freeradius выполняет запрос в базе, база возвращает на
>это дело атрибут, freeradius передает этот атрибут NAS'у? Уже неделю бьюсь,
>такое ощущение, что все, что делает freeradius - только лишь проверяет,
>успешно ли выполнился запрос, а все, что было в ответе на
>этот запрос, просто игнорирует.

А что это за NAS, который понимает атрибут в ответ на свой аккаунтинг-пакет?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "freeradius + SQL" 
Сообщение от Beginner emailНайти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 21-Фев-05, 13:00  (MSK)
>Народ, кто-нибудь сабжевую связку учил делать следующее:
>NAS отдает Acct-Update пакет, freeradius выполняет запрос в базе, база возвращает на
>это дело атрибут, freeradius передает этот атрибут NAS'у? Уже неделю бьюсь,
>такое ощущение, что все, что делает freeradius - только лишь проверяет,
>успешно ли выполнился запрос, а все, что было в ответе на
>этот запрос, просто игнорирует.
запусти freeradius в режиме debug (кажется ключ -X) и посмотри что он принимает от NAS и что ему возвращает. Сразу будет видно где что передается.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "freeradius + SQL" 
Сообщение от John Smith Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации. on 21-Фев-05, 19:27  (MSK)
IMHO смотреть то нужно как раз таки на стороне NAS
freeradius отправлять то может и отправляет, а вот получает ли это дело NAS?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "freeradius + SQL" 
Сообщение от GateKeeper Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(ok) on 23-Фев-05, 15:55  (MSK)
>IMHO смотреть то нужно как раз таки на стороне NAS
>freeradius отправлять то может и отправляет, а вот получает ли это дело
>NAS?

Хинт: NAS - mpd с патчем для атрибута Drop-User. И он реально отрабатывает этот атрибут. radclient же показал, что freeradius этот атрибут, получив его из DB, в mpd не пересылает. Таким образом, атрибут дохнет в недрах freeradius.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "freeradius + SQL" 
Сообщение от Beginner emailНайти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 24-Фев-05, 08:18  (MSK)
>>IMHO смотреть то нужно как раз таки на стороне NAS
>>freeradius отправлять то может и отправляет, а вот получает ли это дело
>>NAS?
>
>Хинт: NAS - mpd с патчем для атрибута Drop-User. И он реально
>отрабатывает этот атрибут. radclient же показал, что freeradius этот атрибут, получив
>его из DB, в mpd не пересылает. Таким образом, атрибут дохнет
>в недрах freeradius.


Какой конкретно атрибут дохнет?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "freeradius + SQL" 
Сообщение от GateKeeper Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 24-Фев-05, 16:32  (MSK)
>Какой конкретно атрибут дохнет?

Вышеуказанный Drop-User. Насколько я понял этот процесс, в freenibs за формирование этого атрибута от имени freeradius отвечал модуль rlm_nibs, здесь же этого модуля нет (и не нужен), и атрибут формируется еще в базе. Дальше радиуса этот атрибут не проходит.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "freeradius + SQL" 
Сообщение от GateKeeper Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(ok) on 26-Фев-05, 18:25  (MSK)
Все. Проблема решена. Пришлось править исходники freeradius. Всем спасибо.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "freeradius + SQL" 
Сообщение от Beginner emailНайти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 28-Фев-05, 08:43  (MSK)
>Все. Проблема решена. Пришлось править исходники freeradius. Всем спасибо.

Не пришлешь заплатку? Может пригодится, а то я тоже эту хрень сейчас ковыряю.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "freeradius + SQL" 
Сообщение от ak Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 28-Фев-05, 09:38  (MSK)
>>Все. Проблема решена. Пришлось править исходники freeradius. Всем спасибо.
>
>Не пришлешь заплатку? Может пригодится, а то я тоже эту хрень сейчас
>ковыряю.


а еще лучше - так выложить гденить..

думаю тема многим интересна

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "freeradius + SQL" 
Сообщение от GateKeeper Найти другие сообщения данного автораПоместить сообщение в закладки. См. нижнее поле навигации.(??) on 28-Фев-05, 17:13  (MSK)
>а еще лучше - так выложить гденить..
>
>думаю тема многим интересна

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

diff -rc /usr/ports/net/freeradius/work/freeradius-1.0.2/src/modules/rlm_sql/rlm_sql.c /usr/local/src/freeradius/freeradius-1.0.2/src/modules/rlm_sql/rlm_sql.c
*** /usr/ports/net/freeradius/work/freeradius-1.0.2/src/modules/rlm_sql/rlm_sql.c Thu Sep 30 18:54:22 2004
--- /usr/local/src/freeradius/freeradius-1.0.2/src/modules/rlm_sql/rlm_sql.c Mon Feb 28 17:05:45 2005
***************
*** 883,889 ****
--- 883,892 ----
  
   SQLSOCK *sqlsocket = NULL;
   VALUE_PAIR *pair;
+ VALUE_PAIR *check_tmp = NULL;
+ VALUE_PAIR *reply_tmp = NULL;
   SQL_INST *inst = instance;
+ int     found = 0;
   int ret = RLM_MODULE_OK;
   int     numaffected = 0;
   int     acctstatustype = 0;
***************
*** 958,963 ****
--- 961,973 ----
   ret = RLM_MODULE_FAIL;
   }
   else {
+ found = sql_getvpdata(inst, sqlsocket, &check_tmp, querystr, PW_VP_USERDATA);
+ if (found > 0) {
+ radius_xlat(querystr, sizeof(querystr), inst->config->authorize_group_check_query, request, sql_escape_func);
+ sql_getvpdata(inst, sqlsocket, &check_tmp, querystr, PW_VP_GROUPDATA);
+ radius_xlat(querystr, sizeof(querystr), inst->config->authorize_reply_query, request, sql_escape_func);
+ sql_getvpdata(inst, sqlsocket, &reply_tmp, querystr, PW_VP_USERDATA);
+ }
   numaffected = (inst->module->sql_affected_rows)(sqlsocket, inst->config);
   if (numaffected < 1) {
  
***************
*** 1106,1111 ****
--- 1116,1125 ----
  
   }
  
+ pairxlatmove(request, &request->reply->vps, &reply_tmp);
+ pairxlatmove(request, &request->config_items, &check_tmp);
+ pairfree(&reply_tmp);
+ pairfree(&check_tmp);
   sql_release_socket(inst, sqlsocket);
  
   return ret;

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру