[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