[cgiapp] What to do about a documentation mismatch
Nicholas Bamber
nicholas at periapt.co.uk
Mon May 31 12:28:37 EDT 2010
I am still working my way through all the code in
CGI::Application::Plugin::Authentication. I'm mainly concentrating on
getting the test coverage up at the moment. In that I have found what I
believe is a mismatch between the documentation and the code. The issue
is with custom filters and arguably there are two bugs.
1.) Standard filters can take "parameters" and the documentation does
not explain that parameters are not supported for custom filters.
2.) The example custom filter takes only one argument which is taken to
be a credential (a password in fact). According to the code it should
take the first argument to be a "parameter".
Now if I make the code fit the documentation I have to risk breaking
some code and also make it clear that custom filters do not take
parameters. If change the documentation then I should also add support
for parameters. However I am not clear that parameters in general do
much. As I understand it is only really used for "crypt" functionality.
I should really own up and say I have some philosophical issues with
this filter stuff. It's mostly designed to work with the DBI driver but
I do not agree with the DBI driver's approach. I think an authentication
driver should be a robust implementation of a specific trusted
authentication algorithm. The DBI driver instead tries to be a lego set
of authentication bricks. I think this approach is doomed because not
only does the implentation have to be good, but the specific
configuration must be as well.
So my long term plan is:
1.) Do the best that can be done with the DBI driver.
2.) Provide a robust driver as soon as I am confident I can produce one.
It stills needs to be flexible but probably not as flexible as the DBI
driver. I would like to copy the algorithm from ESAPI but they have not
finalized their guidelines.
3.) Deprecate the DBI driver.
In the meantime I am taking the code as I find it.
More information about the cgiapp
mailing list