I'm running Apache/1.2b7 on a Linux box.
I downloaded a module for external authorization (from
ftp://ftp.apache.org/apache/dist/contrib/modules/mod_auth_external.c)
which runs gives an external program a username and password and
waits for an exit value.
When the username/password is *invalid*, everything works fine.
The problem is when the username/password is *valid*. It seems this
module runs my verification program 3-4 times. This is a problem because
my program has a side effect of sending mail so I get the same mail sent
3-4 times for one successful access.
Any ideas how to fix this?
If it matters, I'm trying to do basic user authorization and not group.
In my httpd.conf file, I added:
AddExternalAuth testing /bin/verifier
and in my .htaccess file for the directory I'm controlling, I put:
AuthName Testing-Area
AuthExternal testing
AuthType Basic
require valid-user
So, am I even using this module correctly? If so, how can I keep
it from running the external verifier over and over for just one access?
Any help is appreciated!
P.S. My first attempt at a solution was to set a global variable in the
mod_auth_external.c file called "externalProgramValue," initialized to -1.
Then, in the two places in the code where system is called, I replaced them
with code to see if externalProgramValue was still -1. If so, the
system command was executed and the value was stored in
externalProgramValue and used by the module. If externalProgramValue
was no longer -1, then the system command wasn't executed and the
earlier value was used.
However, this doesn't work because externalProgramValue needs to be
re-initialized to -1 everytime this module is used, and I can't
figure out how to do that.
--
Visit the Classic Home Games Museum at http://www.cs.unc.edu/~brownde/museum