#
# $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.
#
# 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 = '', \
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"
#
#
# $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
# 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 \
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 \
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 \
callingstationid = '0', \
expiry_time = current_timestamp - INTERVAL '1' second(1) \
WHERE nasipaddress = '%{Nas-IP-Address}'"
+bulkrelease_commit = "commit"
{ 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 },