My new OpenSER server will not load the permissions module. I built this box from source downloaded from the openser.org site three days ago (openser-1.2.1-tls_src.tar.gz), and populated my PostgreSQL database with the scripts/postgresqldb.sh script included with the source.
I'm setting up permissions.so like:
loadmodule "permissions.so"
modparam("permissions", "db_url", "postgres://<<snip>>")
modparam("permissions", "db_mode", 0)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "ip_addr_col", "src_ip")
modparam("permissions", "default_allow_file", "/usr/local/etc/openser/permissions.allow")
modparam("permissions", "default_deny_file", "/usr/local/etc/openser/permissions.deny")
When I attempt to start openser with the permissions module, I receive the following in the log:
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: permissions - initializing
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: Default allow file (/usr/local/etc/openser/permissions.allow) not found => empty rule set
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: Default deny file (/usr/local/etc/openser/permissions.deny) not found => empty rule set
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: permissions:init_addresses(): Invalid table version 2 - expected 3
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: Error while initializing allow_address function
Jun 14 19:13:21 gaia /usr/local/sbin/openser[21948]: init_mod(): Error while initializing module permissions
I have verified the table is in the database:
openser=# select * from trusted;
id | src_ip | proto | from_pattern | tag
----+--------+-------+--------------+-----
(0 rows)
I was instructed to increment the version of the table in the database, and I did using the information from the log (changing the version to 3) and still received the same error. The version table had the following for trusted when it was installed (from script):
openser=# select * from version where table_name = 'trusted';
table_name | table_version
------------+---------------
trusted | 4
(1 row)
Any light that someone could shed on this for me would be greatly appreciated.
Many thanks,
Kw
Kelvin Williams writes:
permissions:init_addresses(): Invalid table version 2 - expected 3
I have verified the table is in the database:
openser=# select * from trusted;
id | src_ip | proto | from_pattern | tag
----+--------+-------+--------------+-----
the above error comes from address table, not trusted table. change version of address table in version table to 3 and try again. also check that your address table fields correspond to those in the script. you can also make sure that postgre and mysql address tables have the same fields.
-- juha
On Freitag, 15. Juni 2007, Juha Heinanen wrote:
Kelvin Williams writes:
permissions:init_addresses(): Invalid table version 2 - expected 3
I have verified the table is in the database:
openser=# select * from trusted;
id | src_ip | proto | from_pattern | tag
----+--------+-------+--------------+-----
the above error comes from address table, not trusted table. change version of address table in version table to 3 and try again. also check that your address table fields correspond to those in the script. you can also make sure that postgre and mysql address tables have the same fields.
Hello,
i've increased the version field in the address table in the 1.2 branch. The tables are mostly the same, so this should be safe.
Cheers,
Henning