[cl-openid-devel] Fwd: getaddrinfo fails upon calling 'cl-openid:initiate-authentication

Maciej Pasternacki maciej at pasternacki.net
Sat Mar 7 01:26:51 UTC 2009


Hello,

On 2009-03-07, at 01:34, Aad Versteden wrote:

> Because I had seen another strange error come up during testing, I
> have added the backtrace of an (other) error that got thrown whilst
> trying to execute your example (see bottom).  The error occurs upon
> calling (cl-openid:initiate-authentication *relying-party*
> "http://www.pasternacki.net/").  It is only thrown when using the
> darcs dist method to install the library.

It fails on CL-OpenID trying to call undefined function, which should  
be imported from ironclad.  Maybe you have an old version of ironclad  
in your asdf-install directory?  Try to remove and reinstall it.

By the way, that's one of the asdf-install's problems that I try to  
solve with cl-librarian: asdf-install doesn't provide any isolation by  
default, and librarian's shelves are separate, isolated library sets  
so that one project's environment doesn't interfere with and isn't  
affected by any other projects.

> The system currently works and I have built a wrapper for cl-openid
> for cl-ayworks named, cm-openid (github for more info).  I still need
> to catch the errors that might get thrown when the identification
> fails, is there a comprehensible list of errors available somewhere.
> If not, I'll go the dirty way, and catch all errors.

There is no list of errors that may get thrown.  Failed authentication  
process throws CL-OPENID:OPENID-ASSERTION-ERROR, but libraries can  
throw their own conditions on e.g. invalid ID (nonexistent host name),  
network errors or others.  I decided not to catch them on my own,  
because I would just rethrow other condition then, which would just  
make situation more obscure, and some conditions would be able to slip  
through -- it's not Java, libraries themselves don't specify all  
conditions they may throw, and libraries use other libraries, and  
implementations themselves throw errors too, and with multiple  
implementations... and so on.  It seems to be best to catch OPENID- 
ASSERTION-ERROR to display failed login info, and all the other errors  
to display/log backtrace and show user a 5xx error.

Regards,
Maciej.

-- 
Maciej Pasternacki -><- http://www.pasternacki.net/ -><- http://www.3ofcoins.net/





More information about the cl-openid-devel mailing list