From: Nick Porter Date: Mon, 17 Aug 2020 18:46:14 +0000 (+0100) Subject: Set default _begin and _commit queries to blank X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c17c25250013bd5032538fdc3e8be0fa1a7d4ea4;p=thirdparty%2Ffreeradius-server.git Set default _begin and _commit queries to blank Most operations are carried out by single queries, so have no need to be wrapped as transactions. The exception is Oracle where everything is a transaction so wrap in "commit". --- diff --git a/raddb/mods-config/sql/ippool-dhcp/oracle/queries.conf b/raddb/mods-config/sql/ippool-dhcp/oracle/queries.conf index b9466b25554..251098a0030 100644 --- a/raddb/mods-config/sql/ippool-dhcp/oracle/queries.conf +++ b/raddb/mods-config/sql/ippool-dhcp/oracle/queries.conf @@ -4,13 +4,6 @@ # # $id: 416d59802a1321c16b936bb5e63c288ca3634bcd $ -start_begin = "commit" -alive_begin = "commit" -stop_begin = "commit" -on_begin = "commit" -off_begin = "commit" - - # # Use a stored procedure to find AND allocate the address. Read and customise # `procedure.sql` in this directory to determine the optimal configuration. @@ -109,19 +102,19 @@ allocate_update = "\ # # Queries to extend a lease - used in response to DHCP-Request packets # -extend_begin = "" +extend_begin = "commit" extend_update = "\ UPDATE ${ippool_table} \ SET expiry_time = current_timestamp + INTERVAL '${lease_duration}' second(1) \ WHERE pool_name = '%{control:${pool_name}}' \ AND pool_key = '${pool_key}' \ AND framedipaddress = '%{DHCP-Requested-IP-Address}'" -extend_commit = "" +extend_commit = "commit" # # Queries to release a lease - used in response to DHCP-Release packets # -release_begin = "" +release_begin = "commit" release_clear = "\ UPDATE ${ippool_table} \ SET gateway = '', \ @@ -130,18 +123,18 @@ release_clear = "\ WHERE pool_name = '%{control:${pool_name}}' \ AND pool_key = '${pool_key}' \ AND framedipaddress = '%{DHCP-Client-IP-Address}'" -release_commit = "" +release_commit = "commit" # # Queries to mark leases as "bad" - used in response to DHCP-Decline # -mark_begin = "" +mark_begin = "commit" mark_update = "\ UPDATE ${ippool_table} \ SET status_id = (SELECT status_id FROM dhcpstatus WHERE status = 'declined') \ WHERE pool_name = '%{control:${pool_name}}' \ AND framedipaddress = '%{DHCP-Requested-IP-Address}'" -mark_commit = "" +mark_commit = "commit" # diff --git a/raddb/mods-config/sql/ippool/oracle/queries.conf b/raddb/mods-config/sql/ippool/oracle/queries.conf index 264db6cc347..9f4b0d191e4 100644 --- a/raddb/mods-config/sql/ippool/oracle/queries.conf +++ b/raddb/mods-config/sql/ippool/oracle/queries.conf @@ -4,13 +4,6 @@ # # $Id$ -allocate_begin = "commit" -start_begin = "commit" -alive_begin = "commit" -stop_begin = "commit" -on_begin = "commit" -off_begin = "commit" - # # This query allocates an IP address from the Pool # The ORDER BY clause of this query tries to allocate the same IP-address @@ -134,6 +127,7 @@ allocate_update = "\ # This query extends an IP address lease by "lease_duration" when an accounting # START / ALIVE record arrives # +extend_begin = "commit" extend_update = "\ UPDATE ${ippool_table} \ SET \ @@ -143,10 +137,12 @@ extend_update = "\ AND framedipaddress = '%{${attribute_name}}' \ AND username = '%{SQL-User-Name}' \ AND callingstationid = '%{%{Calling-Station-Id}:-0}'" +extend_commit = "commit" # # This query frees an IP address when an accounting STOP record arrives # +release_begin = "commit" release_clear = "\ UPDATE ${ippool_table} \ SET \ @@ -159,11 +155,13 @@ release_clear = "\ AND username = '%{SQL-User-Name}' \ AND callingstationid = '%{%{Calling-Station-Id}:-0}' \ AND framedipaddress = '%{${attribute_name}}'" +release_commit = "commit" # # This query frees all IP addresses allocated to a NAS when an # accounting ON / OFF record arrives from that NAS # +bulkrelease_begin = "commit" bulkrelease_clear = "\ UPDATE ${ippool_table} \ SET \ @@ -172,3 +170,4 @@ bulkrelease_clear = "\ callingstationid = '0', \ expiry_time = current_timestamp - INTERVAL '1' second(1) \ WHERE nasipaddress = '%{Nas-IP-Address}'" +bulkrelease_commit = "commit" diff --git a/src/modules/rlm_sqlippool/rlm_sqlippool.c b/src/modules/rlm_sqlippool/rlm_sqlippool.c index bdaf814821e..fa188c31006 100644 --- a/src/modules/rlm_sqlippool/rlm_sqlippool.c +++ b/src/modules/rlm_sqlippool/rlm_sqlippool.c @@ -125,32 +125,32 @@ static CONF_PARSER module_config[] = { { FR_CONF_OFFSET("pool_check", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, pool_check), .dflt = "" }, - { FR_CONF_OFFSET("extend_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, extend_begin), .dflt = "START TRANSACTION" }, + { FR_CONF_OFFSET("extend_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, extend_begin), .dflt = "" }, { FR_CONF_OFFSET("extend_update", FR_TYPE_STRING | FR_TYPE_XLAT , rlm_sqlippool_t, extend_update), .dflt = "" }, - { FR_CONF_OFFSET("extend_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, extend_commit), .dflt = "COMMIT" }, + { FR_CONF_OFFSET("extend_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, extend_commit), .dflt = "" }, - { FR_CONF_OFFSET("release_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, release_begin), .dflt = "START TRANSACTION" }, + { FR_CONF_OFFSET("release_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, release_begin), .dflt = "" }, { FR_CONF_OFFSET("release_clear", FR_TYPE_STRING | FR_TYPE_XLAT , rlm_sqlippool_t, release_clear), .dflt = "" }, - { FR_CONF_OFFSET("release_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, release_commit), .dflt = "COMMIT" }, + { FR_CONF_OFFSET("release_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, release_commit), .dflt = "" }, - { FR_CONF_OFFSET("bulkrelease_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, bulkrelease_begin), .dflt = "START TRANSACTION" }, + { FR_CONF_OFFSET("bulkrelease_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, bulkrelease_begin), .dflt = "" }, { FR_CONF_OFFSET("bulkrelease_clear", FR_TYPE_STRING | FR_TYPE_XLAT , rlm_sqlippool_t, bulkrelease_clear), .dflt = "" }, - { FR_CONF_OFFSET("bulkrelease_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, bulkrelease_commit), .dflt = "COMMIT" }, + { FR_CONF_OFFSET("bulkrelease_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, bulkrelease_commit), .dflt = "" }, - { FR_CONF_OFFSET("mark_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, mark_begin), .dflt = "START TRANSACTION" }, + { FR_CONF_OFFSET("mark_begin", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, mark_begin), .dflt = "" }, { FR_CONF_OFFSET("mark_update", FR_TYPE_STRING | FR_TYPE_XLAT , rlm_sqlippool_t, mark_update), .dflt = "" }, - { FR_CONF_OFFSET("mark_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, mark_commit), .dflt = "COMMIT" }, + { FR_CONF_OFFSET("mark_commit", FR_TYPE_STRING | FR_TYPE_XLAT, rlm_sqlippool_t, mark_commit), .dflt = "" }, { FR_CONF_POINTER("messages", FR_TYPE_SUBSECTION, NULL), .subcs = (void const *) message_config },