1 ## $Id: nnrpd_dynamic_wrapper.py 7899 2008-06-22 18:22:07Z iulius $
3 ## Example wrapper for support of old Python authentication scripts,
6 ## This file contains a sample Python script which can be used to
7 ## duplicate the behaviour of the old nnrppythonauth functionality.
8 ## This script only supports dynamic access control by group.
10 ## How to use this wrapper:
11 ## - insert your authentication class into this file;
12 ## - rename your authentication class OLDAUTH.
14 ## See the INN Python Filtering and Authentication Hooks documentation
15 ## for more information.
16 ## The use of this file is *discouraged*.
19 ## Insert your old auth class here.
20 ## Do not include the code which sets the hook.
25 ## Wrapper DYNACCESS class. It creates an instance of the old class and
26 ## calls its methods. Arguments and return values are munged as
27 ## needed to fit the new way of doing things.
30 """Provide dynamic access callbacks to nnrpd."""
31 def dynamic_init(self):
34 def dynamic(self, attributes):
35 return (self.old).authorize(attributes)
37 def dynamic_close(self):
41 ## The rest is used to hook up the dynamic access module on nnrpd. It is unlikely
42 ## you will ever need to modify this.
44 ## Import functions exposed by nnrpd. This import must succeed, or nothing
48 ## Create a class instance.
49 mydynaccess = MYDYNACCESS()
51 ## ...and try to hook up on nnrpd. This would make auth object methods visible
54 set_auth_hook(mydynaccess)
55 syslog('notice', "dynamic access module successfully hooked into nnrpd")
56 except Exception, errmsg:
57 syslog('error', "Cannot obtain nnrpd hook for dynamic access method: %s" % errmsg[0])