sql: ERROR: rlm_sql_oracle: ORA-01403: no data found

Vincent MARCEL Vincent.MARCEL at monext.net
Thu Feb 11 17:53:33 CET 2016


Hi,

Thank you, my radius server is working fine now, except thoses unjustified ORA-01403 errors each time a user authorization is tested.
My authorize_check_query checks password in database for the user.
2 cases :
1/ If password is found, user is accepted (or rejected if password don't match) :
Thu Feb 11 17:11:19 2016 : ERROR: (11) sql: ERROR: Error fetching row
Thu Feb 11 17:11:19 2016 : ERROR: (11) sql: ERROR: rlm_sql_oracle: ORA-01403: no data found
Thu Feb 11 17:11:19 2016 : Auth: (11) Login OK: [FT10895748/FT10895748] (from client localhost port 0)

ORA-01403 is not correct because data is found. Injecting the query in sqlplus don't make ORA-01403 error, so I think it is a radius problem.


2/ If password is not found, user is rejected :
Thu Feb 11 17:11:06 2016 : ERROR: (8) sql: ERROR: Error fetching row
Thu Feb 11 17:11:06 2016 : ERROR: (8) sql: ERROR: rlm_sql_oracle: ORA-01403: no data found
Thu Feb 11 17:11:06 2016 : Auth: (8) Login incorrect (sql: Error fetching row): [tutu/tutu] (from client localhost port 0)

Yes data is not found but making this case an error is not normal : just the user is not authorized because not known, this is normal.

Finally, everything works great except that my log file is contaminated with 2 unjustified ERROR lines each time a user calls the server, instead having just "Login OK" and "Login incorrect" type lines.
Is there an explanation/solution for this or does this mean that everybody with radius v3.0.11 has the same problem with authorize_check_query on Oracle, whatever the query actually is ?

Best regards,
Vincent MARCEL
Tél : 04 42 25 92 22

-----Message d'origine-----
De : Freeradius-Users [mailto:freeradius-users-bounces+vincent.marcel=monext.net at lists.freeradius.org] De la part de Alan DeKok
Envoyé : mercredi 10 février 2016 17:04
À : FreeRadius users mailing list
Objet : Re: sql: ERROR: rlm_sql_oracle: ORA-01403: no data found

On Feb 10, 2016, at 10:52 AM, Vincent MARCEL <Vincent.MARCEL at monext.net> wrote:
> I am trying to authorize a user through a authorize_check_query on Oracle database.
> When I test, I get this error on my radius server :
> (0) sql: Executing select query: SELECT 1,'FT10895748','User-Password','FT10895748',':=' FROM DUAL

  As the later error message says, DON"T have "User-Password" here.  Use "Cleartext-Password".

> (0) sql: ERROR: Error fetching row
> (0) sql: ERROR: rlm_sql_oracle: ORA-01403: no data found
> 
> But this can't be true, this query always returns 1 row !

  That error is returned from Oracle.  There's very little we can do to fix Oracle.

> Below is the output of my server in debug mode, starting from database connection, ending to the authorize test :

  It still seems to work, so I'm not sure what the problem is.

  Alan DeKok.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html



More information about the Freeradius-Users mailing list