Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: stix от 19 Декабря 2009, 00:10:20



Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 19 Декабря 2009, 00:10:20
видимо чтото не то с запросами...
создал пользователя test с паролем chxG3GuJ
делаю:

radtest test chxG3GuJ 127.0.0.1 0 hardpass5

в логах
Цитировать
Error: rlm_sql_getvpdata: database query error
Sat Dec 19 00:11:55 2009 : Error: rlm_sql (sql): SQL query error; rejecting user

конфиг брал отсюда
http://groups.google.com/group/nodeny/files
sql.conf

все процедуры в mysql сделал...вроде все по мануалам делал


включая дебаг:
radiusd -X

делаю

radtest test chxG3GuJ 127.0.0.1 0 hardpass5

в дебаге

Цитировать
rad_recv: Access-Request packet from host 127.0.0.1:53172, id=129, length=56
        User-Name = "test"
        User-Password = "chxG3GuJ"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 0
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
  modcall[authorize]: module "preprocess" returns ok for request 0
radius_xlat:  'test'
rlm_sql (sql): sql_set_user escaped user --> 'test'
radius_xlat:  'call'
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_mysql: MYSQL check_error: 1064 received
rlm_sql_getvpdata: database query error
rlm_sql (sql): SQL query error; rejecting user
rlm_sql (sql): Released sql socket id: 4
  modcall[authorize]: module "sql" returns fail for request 0
modcall: leaving group authorize (returns fail) for request 0
Finished request 0


почему
rlm_sql_mysql: MYSQL check_error: 1064 received
 никак не въеду....уже процедуры руками писал, и от разных пользователей.
с консоли выполняется, а через радиус не хочет


Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 19 Декабря 2009, 01:33:16
зашел юзером bill_kernel в мускул

Цитировать
mysql> call radcheck('test');
+----+------+-----------+----------+----+
| id | name | Attribute | Value    | == |
+----+------+-----------+----------+----+
|  4 | test | Password  | chxG3GuJ | == |
+----+------+-----------+----------+----+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
из sql.conf

Цитировать
sql_user_name = "%{User-Name}"
 authorize_check_query = "call radcheck('%{SQL-User-Name}')"

подставляя в
Цитировать
authorize_check_query = "call radcheck('test')"
все равно ошибка
Цитировать
rlm_sql_mysql: query:  call radcheck('test')
rlm_sql_mysql: MYSQL check_error: 1312 received

скопировал данные из дефолтной базы radius в базу bill.
сделал дефолтный запрос authorize_check_query и оно работает.

а при authorize_check_query и вызове процедуры, такая фигня....
либо в процедуре косяк, либо в authorize_check_query


Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 19 Декабря 2009, 14:32:19
authorize_check_query = "SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name='%{SQL-User-Name}'"

так отработало нормально

Цитировать
radtest test chxG3GuJ 127.0.0.1 0 hardpass5
Sending Access-Request of id 27 to 127.0.0.1 port 1812
        User-Name = "test"
        User-Password = "chxG3GuJ"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=27, length=20


Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 19 Декабря 2009, 15:05:24
я понял, проблема в мультизапросах Mysql.
он не поддерживает CLIENT_MULTI_STATEMENTS

это нужно наверное где то добавить в описание.
потому в консоли будет работать,  а из под радиуса - нет

как решить - хз.


Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 20 Декабря 2009, 14:02:27
Ура, после прочтения сотен страниц американских форумов выяснилось что проблема была в rlm_sql_mysql
пофиксил и все завертелось.


Название: Re: Nodeny 49, радиус и Центос
Отправлено: nops от 20 Апреля 2010, 14:25:16
Дык ты расскажи что пофиксил...
мне конечно радиус не нужен вроде как, но кому-нибудь пригодится твой совет


Название: Re: Nodeny 49, радиус и Центос
Отправлено: Efendy от 20 Апреля 2010, 15:32:52
И карму повысим)


Название: Re: Nodeny 49, радиус и Центос
Отправлено: versus от 20 Апреля 2010, 18:56:35
Насколько я помню вся связка крутилась на линуксе и пофиксилось после того как взяли другой мускул. Могу конечно шибатся, давно было


Название: Re: Nodeny 49, радиус и Центос
Отправлено: smallcms от 21 Апреля 2010, 23:59:32
nops просто любитель позаниматься некропостингом  ;D


Название: Re: Nodeny 49, радиус и Центос
Отправлено: kesha от 23 Апреля 2010, 12:04:35
Дык ты расскажи что пофиксил...
мне конечно радиус не нужен вроде как, но кому-нибудь пригодится твой совет
100% - могу сказать одно, мне помогла сборка последнего релиза первого радиус


Название: Re: Nodeny 49, радиус и Центос
Отправлено: stix от 28 Апреля 2010, 08:29:20
в репозиториях центоса кривой rlm_sql_mysql
собрал из исходников и все полетело, в старом модуле rlm_sql_mysql нет поддержки передачи значений из выполняемых процедур :)