dougm 00/09/27 16:51:35 Modified: . Changes ToDo src/modules/perl Apache.xs mod_perl.h perl_config.c Log: $r->get_basic_auth_pw will default $r->auth_type to "Basic" if not already set $r->auth_type is now writeable, e.g. $r->auth_type("Basic") Revision Changes Path 1.530 +5 -0 modperl/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl/Changes,v retrieving revision 1.529 retrieving revision 1.530 diff -u -r1.529 -r1.530 --- Changes 2000/09/27 19:44:20 1.529 +++ Changes 2000/09/27 23:51:28 1.530 @@ -10,6 +10,11 @@ =item 1.24_01-dev +$r->get_basic_auth_pw will default $r->auth_type to "Basic" if not +already set + +$r->auth_type is now writeable, e.g. $r->auth_type("Basic") + fix $r->read() so it will not block if all data has already been read and so that Apache will not hang during ap_discard_request_body() on error or redirect after all data has been read 1.258 +0 -3 modperl/ToDo Index: ToDo =================================================================== RCS file: /home/cvs/modperl/ToDo,v retrieving revision 1.257 retrieving revision 1.258 diff -u -r1.257 -r1.258 --- ToDo 2000/09/27 21:26:24 1.257 +++ ToDo 2000/09/27 23:51:29 1.258 @@ -138,9 +138,6 @@ - recursion triggered by internal_redirect() called by a pushed handler [Ashish Goyal <[EMAIL PROTECTED]>] -- auth stuff segfaults if AuthType isn't set -[Matt Sergeant <[EMAIL PROTECTED]>] - - Gerald's report of Embperl/sub-request/print breakage - /perl/perl-status?sig dumps core under hpux 10.20 1.111 +5 -1 modperl/src/modules/perl/Apache.xs Index: Apache.xs =================================================================== RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v retrieving revision 1.110 retrieving revision 1.111 diff -u -r1.110 -r1.111 --- Apache.xs 2000/09/27 19:44:23 1.110 +++ Apache.xs 2000/09/27 23:51:33 1.111 @@ -824,8 +824,9 @@ char *val const char * -auth_type(r) +mod_perl_auth_type(r, val=NULL) Apache r + char *val const char * document_root(r, ...) @@ -887,6 +888,9 @@ int ret; PPCODE: + if (!auth_type(r)) { + (void)mod_perl_auth_type(r, "Basic"); + } ret = get_basic_auth_pw(r, &sent_pw); XPUSHs(sv_2mortal((SV*)newSViv(ret))); if(ret == OK) 1.104 +1 -0 modperl/src/modules/perl/mod_perl.h Index: mod_perl.h =================================================================== RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v retrieving revision 1.103 retrieving revision 1.104 diff -u -r1.103 -r1.104 --- mod_perl.h 2000/09/22 18:51:59 1.103 +++ mod_perl.h 2000/09/27 23:51:34 1.104 @@ -1185,6 +1185,7 @@ perl_require_module("Apache", s) char *mod_perl_auth_name(request_rec *r, char *val); +char *mod_perl_auth_type(request_rec *r, char *val); module *perl_get_module_ptr(char *name, int len); void *perl_merge_server_config(pool *p, void *basev, void *addv); 1.106 +18 -0 modperl/src/modules/perl/perl_config.c Index: perl_config.c =================================================================== RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v retrieving revision 1.105 retrieving revision 1.106 diff -u -r1.105 -r1.106 --- perl_config.c 2000/09/27 15:37:33 1.105 +++ perl_config.c 2000/09/27 23:51:34 1.106 @@ -158,6 +158,24 @@ #endif } +char *mod_perl_auth_type(request_rec *r, char *val) +{ +#ifndef WIN32 + core_dir_config *conf = + (core_dir_config *)get_module_config(r->per_dir_config, &core_module); + + if(val) { + conf->auth_type = pstrdup(r->pool, val); + set_module_config(r->per_dir_config, &core_module, (void*)conf); + MP_TRACE_g(fprintf(stderr, "mod_perl: setting auth_type to %s\n", conf->auth_name)); + } + + return conf->auth_type; +#else + return (char *) auth_type(r); +#endif +} + void mod_perl_dir_env(request_rec *r, perl_dir_config *cld) { if(MP_HASENV(cld)) {