Mombu the Programming Forum sponsored links

Go Back   Mombu the Programming Forum > Programming > pyrad 0.8 - native python RADIUS implementation
User Name
Password
REGISTER NOW! Mark Forums Read

sponsored links


Reply
 
1 2nd May 14:16
wichert akkerman
External User
 
Posts: 1
Default pyrad 0.8 - native python RADIUS implementation



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


Changes since previous release
------------------------------

* Fix time-handling in the client packet sending code: it would loop
forever since the now time was updated at the wrong moment. Fix from
Michael Mitchell.
* Fix passing of dict parameter when creating reply packets


Example
-------

Here is an example of doing a authentication request:

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

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

req=srv.CreateAuthPacket(code=pyrad.packet.AccessR equest,
User_Name="wichert", NAS_Identifier="localhost")
req["User-Password"]=req.PwCrypt("password")

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

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

And an example for a trivial RADIUS server:

from pyrad import dictionary, packet, server

class FakeServer(server.Server):
def _HandleAuthPacket(self, fd, pkt):
server.Server._HandleAuthPacket(self, fd, pkt)

reply=self.CreateReplyPacket(pkt)
reply.code=packet.AccessAccept
self.SendReplyPacket(fd, reply)

srv=FakeServer(dict=dictionary.Dictionary("diction ary"))
srv.hosts["127.0.0.1"]=server.RemoteHost("127.0.0.1", "s3cr3t", "localhost")
srv.BindToAddress("")
srv.Run()


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

pyrad requires Python 2.2 or later.


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

The current version and do***entation can be found at its homepage:

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

Copyright 2002-2004 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> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.
  Reply With Quote


  sponsored links


Reply


Thread Tools
Display Modes




Copyright © 2006 SmartyDevil.com - Dies Mies Jeschet Boenedoesef Douvema Enitemaus -
666