pyrad 0.3 - RADIUS client

Wichert Akkerman wichert@wiggy.net
Fri, 3 Jan 2003 15:29:56 +0100


pyrad is an implementation of a RADIUS client as described in RFC2865.
It takes care of all the details like building RADIUS packets, sending
them and decoding responses. (RADIUS is a common protocol used for
authentication, authorisation and accounting for remote access (and
similar) services).

This is a maintenance release; the next release will focus on new
features such as a trivial RADIUS server implementation.

Changes since previous release
------------------------------
* client.Timeout is now derived from Exception
* docstring/epydoc documentation added
* include example dictionaries and authentication script


Example
-------
Here is an example of doing a authentication request:

  from pyrad.client import Client
  from pyrad.dictionary import Dictionary

  srv=Client(server="radius.my.domain", secret="s3cr3t",
        dict=dictionary.Dictionary("dicts/dictionary", "dicts/dictionary.acc"))

  req=srv.CreatePacket(code=pyrad.client.AccessRequest,
                User_Name="wichert", NAS_Identifier="localhost")
  req["User-Password"]=req.PwCrypt("password")

  reply=srv.SendPacket(req)
  if reply.code==pyrad.client.AccessAccept:
      print "access accepted"
  else:
      print "access denied"

  print "Attributes returned by server:"
  for i in reply.keys():
      print "%s: %s" % (i, reply[i])


Requirements
------------

pyrad requires Python 2.0 or later.


Author, copyright, availability
-------------------------------

pyrad was written by Wichert Akkerman <wichert@deephackmode.org>

The current version and documentation can be found at its homepage:

  http://www.wiggy.net/code/pyrad.xhtml

Copyright 2002 Wichert Akkerman. All rights reserved.
pyrad is distributed under the BSD license. Please see the source
archive for the full license text.

-- 
Wichert Akkerman <wichert@wiggy.net>           http://www.wiggy.net/
A random hacker