Hi Leonid,
Looks like there is a compatibility bug between permission and db_text
modules when comes to DB data types....Give me couple of days to sort
this out.
In the mean while, if you want to use db_text for permissions, please
use the attached patch.
Thanks and regards,
Bogdan
Леонид Наседкин wrote:
Hi there.
I'm trying to use permission module with db_text, and it's not
working, and I can't understand what's wrong.
Opensips 1.6.1 svnrevision: 2:6509
In opensips.cfg:
loadmodule "db_text.so"
modparam("db_text", "db_mode", 0)
loadmodule "permissions.so"
modparam("permissions","db_url", "text:///etc/opensips/dbtext")
In /etc/opensips/dbtext/address:
id(int,auto) grp(int) ip(str) mask(int) port(int) proto(str)
pattern(str,null) context_info(str,null)
10:1:10.100.0.0:23:5060:udp::
20:1:10.110.0.0:23:5060:udp::
30:1:10.120.0.0:23:5060:udp::
LOG:
DBG:core:init_mod: initializing module permissions
DBG:permissions:mod_init: initializing...
WARNING:permissions:parse_config_file: file not found:
/etc/opensips/permissions.allow
WARNING:permissions:mod_init: default allow file
(/etc/opensips/permissions.allow) not found => empty rule set
WARNING:permissions:parse_config_file: file not found:
/etc/opensips/permissions.deny
WARNING:permissions:mod_init: default deny file
(/etc/opensips/permissions.deny) not found => empty rule set
DBG:core:find_mod_export: found <db_bind_api> in module db_text
[/usr/lib/opensips/modules/]
DBG:core:db_bind_mod: using db bind api for db_text
INFO:db_text:dbt_init: using database at: /etc/opensips/dbtext/
DBG:db_text:dbt_cache_get_db: looking for db /etc/opensips/dbtext/!
DBG:db_text:dbt_cache_get_db: new db!
DBG:db_text:dbt_load_file: request for table [version]
DBG:db_text:dbt_load_file: db is [/etc/opensips/dbtext/]
DBG:db_text:dbt_load_file: loading file [/etc/opensips/dbtext//version]
DBG:db_text:dbt_table_new: mtime is 1263556066
DBG:db_text:dbt_load_file: column[0] is STR!
DBG:db_text:dbt_load_file: column[1] is INT!
DBG:db_text:dbt_query: new res with 1 cols
DBG:db_text:dbt_result_new: new res with 1 cols
DBG:core:db_new_result: allocate 28 bytes for result set at 0x816b044
DBG:core:db_allocate_columns: allocate 16 bytes for result columns at
0x816aedc
DBG:core:db_allocate_rows: allocate 28 bytes for result rows and
values at 0x816b090
DBG:core:db_free_columns: freeing result columns at 0x816aedc
DBG:core:db_free_rows: freeing 1 rows
DBG:core:db_free_row: freeing row values at 0x816b098
DBG:core:db_free_rows: freeing rows at 0x816b090
DBG:core:db_free_result: freeing result set at 0x816b044
DBG:db_text:dbt_load_file: request for table [address]
DBG:db_text:dbt_load_file: db is [/etc/opensips/dbtext/]
DBG:db_text:dbt_load_file: loading file [/etc/opensips/dbtext//address]
DBG:db_text:dbt_table_new: mtime is 1263558311
DBG:db_text:dbt_load_file: column[0] is INT!
DBG:db_text:dbt_load_file: column[1] is INT!
DBG:db_text:dbt_load_file: column[2] is STR!
DBG:db_text:dbt_load_file: column[3] is INT!
DBG:db_text:dbt_load_file: column[4] is INT!
DBG:db_text:dbt_load_file: column[5] is STR!
DBG:db_text:dbt_load_file: column[6] is STR!
DBG:db_text:dbt_load_file: column[7] is STR!
DBG:db_text:dbt_query: new res with 8 cols
DBG:db_text:dbt_result_new: new res with 8 cols
DBG:core:db_new_result: allocate 28 bytes for result set at 0x816b004
DBG:core:db_allocate_columns: allocate 128 bytes for result columns at
0x8186b68
DBG:core:db_allocate_rows: allocate 504 bytes for result rows and
values at 0x8186bf4
DBG:permissions:reload_address_table: number of rows in address table: 3
ERROR:permissions:reload_address_table: database problem
DBG:core:db_free_columns: freeing result columns at 0x8186b68
DBG:core:db_free_rows: freeing 3 rows
DBG:core:db_free_row: freeing row values at 0x8186c0c
DBG:core:db_free_row: freeing row values at 0x8186cac
DBG:core:db_free_row: freeing row values at 0x8186d4c
DBG:core:db_free_rows: freeing rows at 0x8186bf4
DBG:core:db_free_result: freeing result set at 0x816b004
CRITICAL:permissions:init_address: reload of address table failed
ERROR:permissions:mod_init: failed to initialize the allow_address
function
ERROR:core:init_mod: failed to initialize module permissions
ERROR:core:main: error while initializing modules
DBG:db_text:destroy: destroy ...
--
WBR, Leonid Nasedkin
icq: 256816
skype: leonidnasedkin
------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
Bogdan-Andrei Iancu
www.voice-system.ro
Index: modules/permissions/address.c
===================================================================
--- modules/permissions/address.c (revision 6510)
+++ modules/permissions/address.c (working copy)
@@ -140,18 +140,18 @@
val = ROW_VALUES(row + i);
if ((ROW_N(row + i) == 8) &&
- VAL_TYPE(val) == DB_STRING && !VAL_NULL(val) &&
+ VAL_TYPE(val) == DB_STR && !VAL_NULL(val) &&
VAL_TYPE(val + 1) == DB_INT && !VAL_NULL(val + 1)
&& (unsigned int)VAL_INT(val + 1) >= 0 &&
VAL_TYPE(val + 2) == DB_INT && !VAL_NULL(val + 2) &&
(unsigned int)VAL_INT(val + 2) > 0 &&
(unsigned int)VAL_INT(val + 2) <= 32 &&
- VAL_TYPE(val + 4) == DB_STRING && !VAL_NULL(val + 4) &&
+ VAL_TYPE(val + 4) == DB_STR && !VAL_NULL(val + 4) &&
VAL_TYPE(val + 3) == DB_INT && !VAL_NULL(val + 3) &&
(VAL_NULL(val + 5) || (
- VAL_TYPE(val + 5) == DB_STRING && !VAL_NULL(val + 5))) &&
+ VAL_TYPE(val + 5) == DB_STR && !VAL_NULL(val + 5))) &&
(VAL_NULL(val + 6) || (
- VAL_TYPE(val + 6) == DB_STRING && !VAL_NULL(val + 6)))
+ VAL_TYPE(val + 6) == DB_STR && !VAL_NULL(val + 6)))
) {
id = (unsigned int) VAL_INT(val + 7);
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users