[Serusers] Error loading "trusted" table (permissions.so)

caio elcaio at gmail.com
Fri Jan 16 18:05:08 CET 2009


Miklos Tirpak escribió:
> On 01/16/2009 04:25 PM, caio wrote:
>> ser version 0.9.7
>> but it does work on Gentoo linux.
>> when implemented on Solaris it fails.
> 
> Do the two machines query the same database server?

No, they don't. They are stand-alone with its respective (local) mysql db.

> 
> There might be a problem with the field types, please check that they 
> are strings, and not blobs. Please send me a "describe trusted" mysql 
> output.

mysql> desc trusted;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| src_ip       | varchar(39) | NO   | PRI | NULL    |       |
| proto        | varchar(4)  | NO   | PRI | NULL    |       |
| from_pattern | varchar(64) | NO   | PRI | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Casually, i add a few DBG() calls on 'trusted.c' and now at log see 
these messages:

  0(0) DEBUG: register_fifo_cmd: new command (trusted_reload) registered
  0(0) DEBUG: register_fifo_cmd: new command (trusted_dump) registered
  0(0) unixsock_register_cmd: New command (trusted_reload) registered
  0(0) unixsock_register_cmd: New command (trusted_dump) registered
  0(0) RES_ROWS (row): 135511480
  0(0) Number of rows in trusted table: 1
  0(0) row: 135511480
  0(0) val: 135511648
  0(0) val + 1: 135511664
  0(0) val + 2: 135511680
  0(0) ROW_VALUES (val): 135511648
  0(0) ROW_N(row + i): 3
  0(0) VAL_TYPE(val), is DB_STRING?: 2
  0(0) VAL_TYPE(val + 1), is DB_STRING?: 2
  0(0) VAL_TYPE(val + 2), is DB_STRING?: 1
  0(0) DB_INT: 0
  0(0) DB_DOUBLE: 1
  0(0) DB_STRING: 2
  0(0) DB_STR: 3
  0(0) VAL_NULL(val): 0
  0(0) VAL_NULL(val + 1): 0
  0(0) VAL_NULL(val + 2): 0
  0(0) VAL_STRING(val): 200.2.127.153
  0(0) VAL_STRING(val + 1): any
  0(0) VAL_DOUBLE(val + 2): 0
  0(0) ERROR: permissions: trusted_reload(): Database problem
  0(0) release_connection(): Removing connection from the pool
  0(0) init_trusted(): Reload of trusted table failed
  0(0) Error while initializing allow_trusted function
  0(0) init_mod(): Error while initializing module permissions

Seem that VAL_TYPE of "val + 2" isn't STRING, read it as DOUBLE 
(DB_DOUBLE = 1).
Do not know why.
And because of this the 'if' conditions never are satisfy on trusted.c 
(line #396):

                 if ((ROW_N(row + i) == 3) &&
                     (VAL_TYPE(val) == DB_STRING) && !VAL_NULL(val) &&
                     (VAL_TYPE(val + 1) == DB_STRING) && !VAL_NULL(val + 
1) &&
                     (VAL_TYPE(val + 2) == DB_STRING) && !VAL_NULL(val + 
2)) {

Caio

> 
> Regards,
> Miklos
> 
>>
>> regards,
>> caio
>>
>> Miklos Tirpak escribió:
>>> Hello,
>>>
>>> what is your SER version?
>>> I works for me with 2.0, compiled from CVS.
>>>
>>> Miklos
>>>
>>> On 01/16/2009 01:00 PM, caio wrote:
>>>> Hello all,
>>>>
>>>> Does anyone knows about this "permission.so" module error when try 
>>>> to load "trusted" table (mysql)?
>>>>
>>>> If "trusted" table is empty, there is no error, but whan at least 
>>>> there is 1 record, the error appears.
>>>>
>>>> for example:
>>>>
>>>> mysql> select * from trusted;
>>>> +---------------+-------+--------------+
>>>> | src_ip        | proto | from_pattern |
>>>> +---------------+-------+--------------+
>>>> | 10.124.35.253 | any   | ^sip:.*$     |
>>>> +---------------+-------+--------------+
>>>>
>>>> and when I try lo restart ser:
>>>>
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 966737 
>>>> daemon.info] permissions - initializing
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 414293 
>>>> daemon.warning] Default allow file 
>>>> (/usr/local/etc/ser/permissions.allow) not found => empty rule set
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 844440 
>>>> daemon.warning] Default deny file 
>>>> (/usr/local/etc/ser/permissions.deny) not found => empty rule set
>>>>
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 895822 
>>>> daemon.error] ERROR: permissions: trusted_reload(): Database problem
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 650101 
>>>> daemon.crit] init_trusted(): Reload of trusted table failed
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 345573 
>>>> daemon.error] Error while initializing allow_trusted function
>>>> Jan 15 15:34:45 delcolimba /usr/local/sbin/ser[703]: [ID 660978 
>>>> daemon.error] init_mod(): Error while initializing module permissions
>>>>
>>>>
>>>> or when executing serctl fifo cmd:
>>>>
>>>> root at delcolimba /usr/local # sbin/serctl fifo trusted_dump
>>>> 200 OK
>>>>
>>>> root at delcolimba /usr/local # sbin/serctl fifo trusted_reload
>>>> 400 Trusted table reload failed
>>>>
>>>> root at delcolimba /usr/local # tail /var/adm/messages
>>>>
>>>> Jan 15 15:45:37 delcolimba /usr/local/sbin/ser[717]: [ID 895822 
>>>> daemon.error] ERROR: permissions: trusted_reload(): Database problem
>>>> Jan 15 15:45:37 delcolimba /usr/local/sbin/ser[717]: [ID 450600 
>>>> daemon.error] ERROR: fifo_server: command (trusted_reload) 
>>>> processing failed
>>>>
>>>>
>>>> Thank you,
>>>>
>>>> Caio
>>>> _______________________________________________
>>>> Serusers mailing list
>>>> Serusers at lists.iptel.org
>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>> _______________________________________________
>> Serusers mailing list
>> Serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list