Hi Daniel!
Daniel-Constantin Mierla wrote:
On 10/17/07 16:10, Klaus Darilion wrote:
Currently I have users stored in DB with lower case letters. But I
want to allow my user to use upper case letters as well. But this does
not work as avp_db_load is case sensitive. Is there a way to handle
avp_db_load case insensitive?
is it postgres behind? AFAIK, mysql does ignore case comparison --
although I may be wrong!
Yes it is postgres but AFAIK SQL queries are per default always case
sensitive.
Here is the query from avp_db_load when the SIP request has
sip:[EMAIL PROTECTED] in the From URI:
select value,attribute,type from conference_extension where
username='KLAUS.darilion' AND domain='example.com' AND attribute='106'
As you see it is "username='string'" and a "=" comparison is case
sensitive. For example in registrar module there is a module parameter
for case insensitive lookups which will convert the strings into lower
case for all SQL queries.
The problem is also with dbaliases module: if a user calls
[EMAIL PROTECTED] instead of [EMAIL PROTECTED] (which is the alias) it won't
work:
select username,domain from dbaliases where alias_username='JohnDoe' AND
alias_domain='example.com'
As you see the keys used by dbaliases module are the RURI.
The issue comes from the database server, the value is passed as it is
gotten from the message. It is hard to predict what is the form in
database, upper case, lower case, mixed. Maybe the database server can
be configured to do ignore case string comparison.
I think the only solution would be to have a case_sensitive parameter
(like in registrar module) in all relevant modules.
What do you think?
regards
klaus
_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users