From: ccspa Date: Fri, 29 Jun 2012 07:10:00 +0000 (+0100) Subject: Client-IP-Address with Packet-Src-IP-Address for cui X-Git-Tag: release_3_0_0_beta0~141^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F66%2Fhead;p=thirdparty%2Ffreeradius-server.git Client-IP-Address with Packet-Src-IP-Address for cui --- diff --git a/raddb/policy.conf b/raddb/policy.conf index 752d82ea1c..6e0cd4bff7 100644 --- a/raddb/policy.conf +++ b/raddb/policy.conf @@ -326,7 +326,7 @@ policy { # if (!Chargeable-User-Identity) { update request { - Chargeable-User-Identity := "%{cui: SELECT cui FROM cui WHERE clientipaddress = '%{Client-IP-Address}' AND callingstationid = '%{Calling-Station-Id}' AND username = '%{User-Name}'}" + Chargeable-User-Identity := "%{cui: SELECT cui FROM cui WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' AND callingstationid = '%{Calling-Station-Id}' AND username = '%{User-Name}'}" } } diff --git a/raddb/sql/mysql/cui.conf b/raddb/sql/mysql/cui.conf index eb7cfca2fd..32b48b64b1 100644 --- a/raddb/sql/mysql/cui.conf +++ b/raddb/sql/mysql/cui.conf @@ -6,12 +6,12 @@ postauth_query = "INSERT IGNORE INTO ${cui_table} \ (clientipaddress, callingstationid, username, cui, lastaccounting) \ VALUES \ - ('%{Client-IP-Address}', '%{Calling-Station-Id}', '%{User-Name}', '%{reply:Chargeable-User-Identity}', NULL) ON DUPLICATE KEY UPDATE lastaccounting='0000-00-00 00:00:00', cui='%{reply:Chargeable-User-Identity}'"; + ('%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}', '%{Calling-Station-Id}', '%{User-Name}', '%{reply:Chargeable-User-Identity}', NULL) ON DUPLICATE KEY UPDATE lastaccounting='0000-00-00 00:00:00', cui='%{reply:Chargeable-User-Identity}'"; accounting_start_query = "UPDATE ${cui_table} \ SET \ lastaccounting = CURRENT_TIMESTAMP \ - WHERE clientipaddress = '%{Client-IP-Address}' \ + WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'"; @@ -19,13 +19,13 @@ accounting_start_query = "UPDATE ${cui_table} \ accounting_update_query = "UPDATE ${cui_table} \ SET \ lastaccounting = CURRENT_TIMESTAMP \ - WHERE clientipaddress = '%{Client-IP-Address}' \ + WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'"; accounting_stop_query = "DELETE FROM ${cui_table} WHERE \ - clientipaddress = '%{Client-IP-Address}' \ + clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'"; diff --git a/raddb/sql/postgresql/cui.conf b/raddb/sql/postgresql/cui.conf index d90eccc64c..db5752569d 100644 --- a/raddb/sql/postgresql/cui.conf +++ b/raddb/sql/postgresql/cui.conf @@ -6,12 +6,12 @@ postauth_query = "INSERT INTO ${cui_table} \ (clientipaddress, callingstationid, username, cui) \ VALUES \ - ('%{Client-IP-Address}', '%{Calling-Station-Id}', '%{User-Name}', '%{reply:Chargeable-User-Identity}')"; + ('%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}', '%{Calling-Station-Id}', '%{User-Name}', '%{reply:Chargeable-User-Identity}')"; accounting_start_query = "UPDATE ${cui_table} \ SET \ lastaccounting = now() \ - WHERE clientipaddress = '%{Client-IP-Address}' \ + WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'"; @@ -19,13 +19,13 @@ accounting_start_query = "UPDATE ${cui_table} \ accounting_update_query = "UPDATE ${cui_table} \ SET \ lastaccounting = now() \ - WHERE clientipaddress = '%{Client-IP-Address}' \ + WHERE clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'"; accounting_stop_query = "DELETE FROM ${cui_table} WHERE \ - clientipaddress = '%{Client-IP-Address}' \ + clientipaddress = '%{%{Packet-Src-IPv6-Address}:-%{Packet-Src-IP-Address}}' \ AND callingstationid = '%{Calling-Station-Id}' \ AND username = '%{User-Name}' \ AND cui = '%{Chargeable-User-Identity}'";