From 9a0b2c8ed7d2e9370142a32f0c082a564d1d05cc Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Fri, 4 May 2012 08:18:10 +0000
Subject: [PATCH] radius: Add support for setting the "NAS-Identifier"
 attribute.

Thanks to Stefan Winter for implementing this!

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@3089 44740490-163a-0410-bde0-09ae8108e29a
---
 modules/radius/lib/Auth/Source/Radius.php | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/modules/radius/lib/Auth/Source/Radius.php b/modules/radius/lib/Auth/Source/Radius.php
index 283027ec0..57c023c6c 100644
--- a/modules/radius/lib/Auth/Source/Radius.php
+++ b/modules/radius/lib/Auth/Source/Radius.php
@@ -49,7 +49,10 @@ class sspmod_radius_Auth_Source_Radius extends sspmod_core_Auth_UserPassBase {
 	 * The vendor-specific attribute for the RADIUS attributes we are interrested in.
 	 */
 	private $vendorType;
-
+	/**
+	 * The NAS-Identifier that should be set in Access-Request packets.
+	 */
+	private $nasIdentifier;
 
 	/**
 	 * Constructor for this authentication source.
@@ -74,6 +77,7 @@ class sspmod_radius_Auth_Source_Radius extends sspmod_core_Auth_UserPassBase {
 		$this->timeout = $config->getInteger('timeout', 5);
 		$this->retries = $config->getInteger('retries', 3);
 		$this->usernameAttribute = $config->getString('username_attribute', NULL);
+		$this->nasIdentifier = $config->getString('nas_identifier', NULL);
 
 		$this->vendor = $config->getInteger('attribute_vendor', NULL);
 		if ($this->vendor !== NULL) {
@@ -105,6 +109,9 @@ class sspmod_radius_Auth_Source_Radius extends sspmod_core_Auth_UserPassBase {
 		radius_put_attr($radius, RADIUS_USER_NAME, $username);
 		radius_put_attr($radius, RADIUS_USER_PASSWORD, $password);
 
+		if ($this->nasIdentifier != NULL)
+			radius_put_attr($radius, RADIUS_NAS_IDENTIFIER, $this->nasIdentifier);
+
 		$res = radius_send_request($radius);
 		if ($res != RADIUS_ACCESS_ACCEPT) {
 			switch ($res) {
@@ -179,6 +186,3 @@ class sspmod_radius_Auth_Source_Radius extends sspmod_core_Auth_UserPassBase {
 	}
 
 }
-
-
-?>
\ No newline at end of file
-- 
GitLab