OK Further to this - it's not due to the config changes I removed them - but it is something from the upgrade between 3.0.15 that was on this server and 3.0.18 which I am now using Logins are working fine using sql - it is only the sqlippool that is crashing here Happy to provide any details needed here / make any changes ... Richard On Saturday 06/04/2019 at 9:55 pm, Richard J Palmer wrote:
Hmmmm
OK Now I am getting a little stuck...
I created a version on my 'test' server - and reverted the hard coded config and added:
start_begin = "BEGIN TRANSACTION" allocate_begin = "BEGIN TRANSACTION" stop_begin = "BEGIN TRANSACTION" on_begin = "BEGIN TRANSACTION" off_begin = "BEGIN TRANSACTION"
To the config file ..
And during a login that uses ippool - I get:
-- rlm_sql (sql1): Reserved connection (2) (0) sqlippool: EXPAND %{User-Name} (0) sqlippool: --> cgnattest@adsl.merula.net (0) sqlippool: SQL-User-Name set to 'cgnattest@adsl.merula.net' (0) sqlippool: EXPAND BEGIN TRANSACTION (0) sqlippool: --> BEGIN TRANSACTION (0) sqlippool: Executing query: BEGIN TRANSACTION src/modules/rlm_sql/rlm_sql.c:381: Type mismatch: name[rlm_sql_t] expected[rlm_sql_handle_t]
talloc abort: src/modules/rlm_sql/rlm_sql.c:381: Type mismatch: name[rlm_sql_t] expected[rlm_sql_handle_t] ----
Have I done something silly here ?
This is using a newly upgraded 3.0.18 install
Thanks in advance
Richard
On Saturday 06/04/2019 at 9:10 pm, Alan DeKok wrote:
On Apr 6, 2019, at 3:54 PM, Richard J Palmer <richard@merula.net> wrote:
I am getting somewhere
Sounds good.
There's actually a couple of other changes - One in the source code - one for the queries.
I have it running in theory and will test and come back on this one soon....
With the source code - the issue I found was the Transaction code was different in Mssql to mysql - The start / end transaction calls seem to be hard coded - so for now I have tweaked the code to send the MS SQL commit functions - BUT I suspect that may be better as a config setting ?
The transaction code should be pretty common: start transaction, do work, end transaction. And all of those SQL statements can go into the configuration files.
e.g. having "allocate_commit = COMMIT" in the source is just a default. If you need a different statement for commit, just put "allocate_commit = whatever" into the configuration files. No source code changes required.
What's different about the MS-SQL commit functions?
I am going to test this 'in anger' now so we get accounting data for a few test accounts and make sure things look OK...
Once working would you like a copy of the code changes / working queries to apply to the code ?
Yes. Probably only one file with the queries is needed.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (1)
-
Richard J Palmer