I noticed something that's kind of a pain in the neck in rivetCore:
if (authorization
&& !strcasecmp(ap_getword_nc(POOL, &authorization, ' '), "Basic"))
{
char *tmp;
char *user;
char *pass;
tmp = ap_pbase64decode(POOL, authorization);
user = ap_getword_nulls_nc(POOL, &tmp, ':');
pass = tmp;
Tcl_ObjSetVar2(interp, Tcl_NewStringObj("::request::USER", -1),
Tcl_NewStringObj("user", -1),
STRING_TO_UTF_TO_OBJ(user, POOL),
0);
Tcl_ObjSetVar2(interp, Tcl_NewStringObj("::request::USER", -1),
Tcl_NewStringObj("pass", -1),
STRING_TO_UTF_TO_OBJ(pass, POOL),
0);
}
Maybe we should make this its own function. As it stands right now,
it doesn't fit in well with its surroundings, in that if you do
load_env .... this variable won't get loaded in with the others.
Speaking of which, do you know much about the
NULL, /* check auth */
field of the module structure? What does one do with that?
--
David N. Welton
Consulting: http://www.dedasys.com/
Free Software: http://people.debian.org/~davidw/
Apache Tcl: http://tcl.apache.org/
Personal: http://www.efn.org/~davidw/