ben 97/01/04 07:10:19
Modified: src http_config.c http_config.h http_request.c mod_browser.c Log: Experimental Header Parse API. Revision Changes Path 1.40 +4 -0 apache/src/http_config.c Index: http_config.c =================================================================== RCS file: /export/home/cvs/apache/src/http_config.c,v retrieving revision 1.39 retrieving revision 1.40 diff -C3 -r1.39 -r1.40 *** http_config.c 1997/01/01 18:10:16 1.39 --- http_config.c 1997/01/04 15:10:15 1.40 *************** *** 292,297 **** --- 292,301 ---- return run_method (r, XtOffsetOf (module, logger), 1); } + int header_parse (request_rec *r) { + return run_method (r, XtOffsetOf (module, header_parser), 1); + } + /* Auth stuff --- anything that defines one of these will presumably * want to define something for the other. Note that check_auth is * separate from check_access to make catching some config errors easier. 1.27 +3 -1 apache/src/http_config.h Index: http_config.h =================================================================== RCS file: /export/home/cvs/apache/src/http_config.h,v retrieving revision 1.26 retrieving revision 1.27 diff -C3 -r1.26 -r1.27 *** http_config.h 1997/01/01 18:10:17 1.26 --- http_config.h 1997/01/04 15:10:16 1.27 *************** *** 216,221 **** --- 216,222 ---- int (*type_checker)(request_rec *); int (*fixer_upper)(request_rec *); int (*logger)(request_rec *); + int (*header_parser)(request_rec *); } module; /* Initializer for the first few module slots, which are only *************** *** 225,231 **** * handle it back-compatibly, or at least signal an error). */ ! #define MODULE_MAGIC_NUMBER 19961211 #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL /* Generic accessors for other modules to get at their own module-specific --- 226,232 ---- * handle it back-compatibly, or at least signal an error). */ ! #define MODULE_MAGIC_NUMBER 19970103 #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL /* Generic accessors for other modules to get at their own module-specific *************** *** 291,295 **** --- 292,297 ---- int run_fixups (request_rec *); /* poke around for other metainfo, etc.... */ int invoke_handler (request_rec *); int log_transaction (request_rec *r); + int header_parse (request_rec *); #endif 1.35 +5 -0 apache/src/http_request.c Index: http_request.c =================================================================== RCS file: /export/home/cvs/apache/src/http_request.c,v retrieving revision 1.34 retrieving revision 1.35 diff -C3 -r1.34 -r1.35 *** http_request.c 1997/01/01 18:10:22 1.34 --- http_request.c 1997/01/04 15:10:16 1.35 *************** *** 867,872 **** --- 867,877 ---- die (access_status, r); return; } + + if ((access_status = header_parse (r))) { + die (access_status, r); + return; + } switch (satisfies(r)) { case SATISFY_ALL: 1.7 +3 -2 apache/src/mod_browser.c Index: mod_browser.c =================================================================== RCS file: /export/home/cvs/apache/src/mod_browser.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C3 -r1.6 -r1.7 *** mod_browser.c 1997/01/01 18:10:29 1.6 --- mod_browser.c 1997/01/04 15:10:17 1.7 *************** *** 138,144 **** { NULL }, }; ! int fixup_browser_module(request_rec *r) { server_rec *s = r->server; browser_server_config_rec *sconf = get_module_config (s->module_config, --- 138,144 ---- { NULL }, }; ! int parse_headers_browser_module(request_rec *r) { server_rec *s = r->server; browser_server_config_rec *sconf = get_module_config (s->module_config, *************** *** 182,187 **** NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ ! fixup_browser_module, /* fixups */ NULL, /* logger */ }; --- 182,188 ---- NULL, /* check auth */ NULL, /* check access */ NULL, /* type_checker */ ! NULL, /* fixups */ NULL, /* logger */ + parse_headers_browser_module,/* header parser */ };