# -*- text -*-
##
## test.conf	-- Virtual server configuration for testing radiusd.
##
##	$Id$
##

test_port	= 10000

realm test.example.com {
      authhost = 127.0.0.1:${test_port}
      secret = testing123
}

#
#  This virtual server is chosen for processing requests when using:
#
#	radiusd -Xd src/tests/ -i 127.0.0.1 -p 12340 -n test
#
server test {
       listen {
	      type = detail
	      filename = ${radacctdir}/detail
	      load_factor = 10
       }

       	listen {
		ipaddr = 127.0.0.1
		port = ${test_port}
		type = auth
	}

authorize {
	update reply {
		Test-Server-Port = "%{Packet-Dst-Port}"
	}

	if (User-Name == "bob") {
		#
		#  Digest-* tests have a password of "zanzibar"
		#  Or, a hashed version thereof.
		#
		if (Digest-Response) {
			if ("%{Test-Number}" == "1") {
				update control {
					Cleartext-Password := "zanzibar"
				}
			}
			elsif (Test-Number == "2") {
				update control {
					Digest-HA1 := 12af60467a33e8518da5c68bbff12b11
				}
			}
		}	
		else {
			update control {
				Cleartext-Password := "bob"
			}
		}
	}

	if (User-Name =~ /^(.*)@test\.example\.com$/) {
		update request {
			Stripped-User-Name := "%{1}"
		}
		update control {
			Proxy-To-Realm := test.example.com
		}
	}

	chap
	mschap
	digest
	eap
	pap
}

authenticate {
	pap
	chap
	mschap
	digest
	eap
}

accounting {
	   if (Packet-Src-IP-Address != 255.255.255.255) {
	      detail
	   }

	   ok
}

}
