
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.
participants (1)
-
Wichert Akkerman