SOAPpy patches for paths and authorization

Ivan R. Judson judson at mcs.anl.gov
Tue Nov 11 15:29:27 CST 2003



Hi,

I said I'd do this, and I finally got to it. The diff file attached is 
a cvs diff from my code as of this afternoon. The functionality 
introduced by this patch includes:

- GSI Communication added
- Path mapping to namespaces added
- Authorization callback support is added

What are these things?

GSI Communication:

Using the pyGlobus project (Hi Keith!) the Globus Project's 
(http://www.globus.org) GSI communication layer was added to as a 
transport protocol (akin to http and https), this uses the proto httpg 
by default.

To test this you can run the echoServer.py with -g and the 
echoClient.py with -g, you will need pyGlobus, and a certificate, and 
to generate a proxy (Keith can fill you in on that better than I can).

Path mapping to namespaces:

I've added the ability to register functions and objects with an 
options path = "/foo" argument. It converts the path to a namespace and 
uses the existing infrastructure for doing the registration and 
retrieval.

Authorization callback support

I've added the ability (as generically as I could imagine) to have an 
authorization callback registered for functions or objects. The 
callback has a generic foo(*args, **kw) or Class.Method(self, *args, 
**kw) signature. What's passed currently is a _SOAPContext (like the 
other kw applys). This context contains the connection object which for 
the GSI stuff is what i need to find out who is on the other end. If no 
authorization method is registered (or found) the code is executed as 
expected. If there is an authorization callback it should return 1 or 
0. If it returns 0, a fault is raised with Not Authorized somewhere 
inside.

Please look this patch over and let me know what you think. I'd love it 
if this could be applied to the cvs repo (it would mean I could just 
use a stock SOAPpy for awhile) instead of a badly maintained 0.9.7 
version that's really out of date :-).

Thanks,

--Ivan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SOAPpy.diff
Type: application/octet-stream
Size: 13831 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/ag-dev/attachments/20031111/699dccae/attachment.obj>


More information about the ag-dev mailing list