1. De huntgroups file.

biz	NAS-IP-Address = 194.235.77.1, NAS-Port = 0-29
	User-Name = miquels,
	User-Name = ed,
	User-Group = biz

  Als er een user restrictie is op een huntgroup geld er een OR voor
  de users die genoemd zijn (ie er moet er 1 matchen).

  Er mogen meerdere entries met dezelfde naam zijn, maw er is een
  impliciete fallthrough (alle entries worden gelezen).

2. De mappings file.

ppp	User-Name = P*
	User-Name-Is-Star = yes,
	Framed-Protocol = PPP

  De naam van de entry wordt verder niet gebruikt, de "conditions" wel.
  Een usernaam kan maar 1x matchen, maw er is geen fallthrough. Dit betekent
  dat de laaste entry als DEFAULT kan dienen.


3. De users file.
   In de users file kan een naam meerdere malen voorkomen. Er is geen
   fallthrough, _tenzij_ de entry het attribute "Fall-Through" bevat.
   Dan wordt er gewoon doorgezocht en worden ook de defaults toegepast.
   Ook een DEFAULT kan meerdere keren voorkomen, dan worden de condities
   van die entry toegepast.

   Zo kan een user bv. een statisch IP adres per NAP krijgen door een
   huntgroup voor elke NAP te definieeren.

miquels	Huntgroup-Name = NAP-Alphen
	Framed-IP-Address = 194.235.77.162,
	Fall-Through

4. Volgorde van user authentication:

   a. De mappings file wordt op de username losgelaten. Bij een match worden
      de attributes uit de mappings file aan het request toegevoegd, en
      wordt evt. de username voor de volgende stappen aangepast.
   b. De userfile wordt gelezen om een match te vinden. Er is in principe
      maar 1 match mogelijk, maar als een matching entry Fall-Throug bevat
      wordt er doorgezocht. Een volgende entry kan alleen nog niet ingevulde
      attributes toevoegen maar geen bestaande attributes overriden.
   c. Als er geen match is:
        c1: indien er een proxy is: vraag aan de proxy
        c2: anders login incorrect.
   d. Check de huntgroups file. Als een huntgroup beperkt is, en de user
      matcht niet: login incorrect.
   e. Als er een proxy is: vraag aan de proxy
   f. Login OK!

