coar 00/07/31 05:11:35
Modified: apidoc TODO api.list dict-ACCESS_CONF.html dict-BIG_SECURITY_HOLE.html dict-OR_AUTHCFG.html dict-OR_FILEINFO.html dict-OR_INDEXES.html dict-OR_LIMIT.html dict-OR_OPTIONS.html dict-RSRC_CONF.html dict-pool.html dict-request_rec.html Added: apidoc dict-HANDLE.html dict-ap_bfilbuf.html dict-ap_pool.html Log: Enhancing some description files, making the API list more complete (particularly with regard to cross-references), updating the TODO list, and adding some new docco. Revision Changes Path 1.7 +93 -5 httpd-docs-1.3/apidoc/TODO Index: TODO =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/TODO,v retrieving revision 1.6 retrieving revision 1.7 diff -u -u -r1.6 -r1.7 --- TODO 2000/07/27 10:06:53 1.6 +++ TODO 2000/07/31 12:11:25 1.7 @@ -1,4 +1,8 @@ The following need to be added to api.list: +MODULE_MAGIC_NUMBER_MAJOR +MODULE_MAGIC_NUMBER_MINOR +MODULE_MAGIC_COOKIE +AP_MODULE_MAGIC_AT_LEAST TARGET HTTP_VERSION HTTP_VERSION_MAJOR @@ -11,13 +15,97 @@ DEFAULT_KEEPALIVE APLOG_LEVELMASK APLOG_WIN32ERROR -REQUEST_NO_BODY -REQUEST_CHUNKED_ERROR -REQUEST_CHUNKED_DECHUNK -REQUEST_CHUNKED_PASS +apache_sfio +child_info +The following have description files that need to be enhanced or re-written: +DECLINED +DONE +FLAG +HTTPD_ROOT (refer to ap_server_root()) +HTTP_ACCEPTED +HTTP_BAD_GATEWAY +HTTP_BAD_REQUEST +HTTP_CONFLICT +HTTP_CONTINUE +HTTP_CREATED +HTTP_FORBIDDEN +HTTP_GATEWAY_TIME_OUT +HTTP_GONE +HTTP_INTERNAL_SERVER_ERROR +HTTP_LENGTH_REQUIRED +HTTP_METHOD_NOT_ALLOWED +HTTP_MOVED_PERMANENTLY +HTTP_MOVED_TEMPORARILY +HTTP_MULTIPLE_CHOICES +HTTP_NON_AUTHORITATIVE +HTTP_NOT_ACCEPTABLE +HTTP_NOT_FOUND +HTTP_NOT_IMPLEMENTED +HTTP_NOT_MODIFIED +HTTP_NO_CONTENT +HTTP_OK +HTTP_PARTIAL_CONTENT +HTTP_PAYMENT_REQUIRED +HTTP_PRECONDITION_FAILED +HTTP_PROXY_AUTHENTICATION_REQUIRED +HTTP_REQUEST_ENTITY_TOO_LARGE +HTTP_REQUEST_TIME_OUT +HTTP_REQUEST_URI_TOO_LARGE +HTTP_RESET_CONTENT +HTTP_SEE_OTHER +HTTP_SERVICE_UNAVAILABLE +HTTP_SWITCHING_PROTOCOLS +HTTP_UNAUTHORIZED +HTTP_UNSUPPORTED_MEDIA_TYPE +HTTP_USE_PROXY +HTTP_VARIANT_ALSO_VARIES +HTTP_VERSION_NOT_SUPPORTED +ITERATE +ITERATE2 +MODULE_MAGIC_NUMBER +MULTI_ERR +MULTI_OK +MULTI_TIMEOUT +M_CONNECT +M_DELETE +M_GET +M_INVALID +M_OPTIONS +M_POST +M_PUT +M_TRACE +NO_ARGS +OK +RAW_ARGS +SERVER_BUSY_DNS +SERVER_BUSY_KEEPALIVE +SERVER_BUSY_LOG +SERVER_BUSY_READ +SERVER_BUSY_WRITE +SERVER_DEAD +SERVER_GRACEFUL +SERVER_NUM_STATUS +SERVER_READY +SERVER_STARTING +SERVER_SUPPORT +SERVER_VERSION +START_REQUEST +STOP_REQUEST +TAKE1 +TAKE12 +TAKE123 +TAKE13 +TAKE2 +TAKE23 +TAKE3 +ap_acquire_mutex + +conn_rec +server_rec +BUFF + The following need examples added to api.list: -ap_bfilbuf ap_bfileno ap_bflsbuf ap_bflush 1.23 +226 -26 httpd-docs-1.3/apidoc/api.list Index: api.list =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/api.list,v retrieving revision 1.22 retrieving revision 1.23 diff -u -u -r1.22 -r1.23 --- api.list 2000/07/27 10:06:54 1.22 +++ api.list 2000/07/31 12:11:25 1.23 @@ -741,7 +741,7 @@ char *case_preserved_filename; \n \ };\ |\ - |SA-core-rec\ + |SA-core-rec,HTTP_VERSION_MAJOR,HTTP_VERSION_MINOR\ |dict-$*.html S|server_addr_rec\ |typedef struct $* $*; \n \ @@ -803,9 +803,12 @@ void (*error) ($* *fb, int op, void *data); \n \ void *error_data; \n \ long int bytes_sent; \n \ - pool *pool; \n \ + ap_pool *pool; \n \ int fd; \n \ int fd_in; \n \ +#ifdef WIN32 \n \ + HANDLE hFH \n \ +#endif \n \ void *t_handle; \n \ #ifdef B_SFIO \n \ Sfio_t *sf_in; \n \ @@ -829,7 +832,7 @@ const char *end_token; \n \ } $*;\ |\ - |SA-core-rec\ + |SA-core-rec,SA-overrides\ |dict-$*.html S|command_rec\ |typedef struct command_struct {\n \ @@ -841,14 +844,14 @@ const char *errmsg;\n \ } $*;\ |\ - |SA-core-rec\ + |SA-core-rec,SA-overrides\ |dict-$*.html #; #; Directive overrides #; X|SA-overrides\ |ACCESS_CONF,OR_AUTHCFG,OR_FILEINFO,OR_INDEXES,OR_LIMIT\ - ,OR_OPTIONS,RSRC_CONF\ + ,OR_OPTIONS,RSRC_CONF,ap_allow_overrides,cmd_parms,command_rec\ |\ |\ | @@ -939,7 +942,7 @@ #; #; Random constants #; -X|CTCEs\ +X|SA-compileflags\ |BIG_SECURITY_HOLE,DEFAULT_ADMIN,DOCUMENT_LOCATION,DYNAMIC_MODULE_LIMIT\ ,HARD_SERVER_LIMIT,HTTPD_ROOT\ |\ @@ -948,33 +951,33 @@ C|BIG_SECURITY_HOLE\ |Compile-time definition\ |env CFLAGS="-Wall -D$*" ./configure\ - |CTCEs\ + |SA-compileflags\ |dict-$*.html C|DEFAULT_ADMIN\ |Compile-time definition\ |env CFLAGS="-Wall -D$*=\"/usr/httpd/htdocs\"" ./configure\ - |CTCEs\ + |SA-compileflags\ |dict-$*.html C|DOCUMENT_LOCATION\ |Compile-time definition\ |env CFLAGS="-Wall -D$*=\"/usr/httpd/htdocs\"" ./configure\ - |CTCEs,ap_document_root\ + |SA-compileflags,ap_document_root\ |dict-$*.html C|DYNAMIC_MODULE_LIMIT\ |Compile-time definition\ |env CFLAGS="-Wall -D$*=64" ./configure\ - |CTCEs\ + |SA-compileflags\ |dict-$*.html C|HARD_SERVER_LIMIT\ |Compile-time definition\ |env CFLAGS="-Wall -D$*=1024" ./configure \n \n \ for (i = 0; i < $*; ++i) {\n ...per-child processing...\n}\ - |CTCEs\ + |SA-compileflags\ |dict-$*.html C|HTTPD_ROOT\ |Compile-time definition\ |env CFLAGS="-Wall -D$*=\"/usr/httpd\"" ./configure\ - |CTCEs\ + |SA-compileflags\ |dict-$*.html #; #; Tables.. @@ -1141,7 +1144,7 @@ #; now the items relating to pools #; X|SA-pool\ - |pool,ap_bytes_in_pool,ap_clear_pool,ap_destroy_pool,ap_find_pool\ + |pool,ap_pool,ap_bytes_in_pool,ap_clear_pool,ap_destroy_pool,ap_find_pool\ ,ap_pool_is_ancestor,ap_pool_join,ap_make_sub_pool,ap_pstrcat,ap_palloc\ ,ap_pcalloc,ap_pclosedir,ap_pclosef,ap_pclosesocket,ap_pduphostent\ ,ap_pfclose,ap_pfdopen,ap_pfopen,ap_pgethostbyname,ap_popendir\ @@ -1150,12 +1153,21 @@ |\ | S|pool\ - |[struct] pool <var>opaque-structure</var>\ + |typedef struct pool pool;\n \ +typedef struct pool ap_pool;\n \ +struct pool <var>opaque-structure</var>\ |pool *p; \ \nchar *foo; \ \nfoo = ap_pstrcat(p, "string 1", "string 2", null);\ |SA-pool\ |dict-$*.html +S|ap_pool\ + |typedef struct pool pool;\n \ +typedef struct pool ap_pool;\n \ +struct pool <var>opaque-structure</var>\ + |\ + |SA-pool\ + |dict-$*.html R|ap_bytes_in_pool\ |long $*(pool *p);\ |\ @@ -1594,7 +1606,7 @@ R|ap_allow_overrides\ |int $*(request_rec *r);\ |request_rec *r;\nint result;\nresult = $*(r);\ - |\ + |SA-overrides\ |dict-$*.html R|ap_vsnprintf\ |int $*(char *buf, size_t numbytes, const char *fmt, va_list ap);\ @@ -1639,50 +1651,169 @@ |request_rec *r;\n$*(r);\ |\ |dict-$*.html +S|HANDLE\ + |Opaque data structure defined by Windows.\ + |\ + |\ + |dict-$*.html +X|SA-BUFF\ + |BUFF,ap_bclose,ap_bcreate,ap_bfilbuf,ap_bfileno,ap_bflsbuf,ap_bflush\ + ,ap_bgetc\ + ,ap_bgetopt,ap_bgets,ap_bhalfduplex,ap_bpushfd,ap_bpushh,ap_bsetopt\ + ,ap_bsetflag,ap_bgetflag,ap_bonerror,ap_bread,ap_blookc,ap_bskiplf\ + ,ap_bwrite,ap_bputs,ap_bvputs,ap_bprintf,ap_vbprintf,ap_bputc\ + ,ap_bnonblock,ap_bspawn_child\ + ,B_SFIO,B_RD,B_WR,B_RDWR,B_EOF,B_EOUT,B_RDERR,B_WRERR,B_ERROR\ + ,B_CHUNK,B_SAFEREAD,B_SOCKET,B_ASCII2EBCDIC,B_EBCDIC2ASCII\ + ,BO_BYTECT\ + |\ + |\ + | +C|B_SFIO\ + |\ + |\ + |SA-BUFF\ + |dict-$*.html +C|BO_BYTECT\ + |#define $* (1)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_RD\ + |#define $* (1)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_WR\ + |#define $* (2)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_RDWR\ + |#define $* (3)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_EOF\ + |#define $* (4)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_EOUT\ + |#define $* (8)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_RDERR\ + |#define $* (16)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_WRERR\ + |#define $* (32)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_ERROR\ + |#ifdef $*\n \ +#undef $*\n \ +#define $* (48)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_CHUNK\ + |#define $* (64)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_SAFEREAD\ + |#define $* (128)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_SOCKET\ + |#define $* (256)\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_ASCII2EBCDIC\ + |#ifdef CHARSET_EBCDIC\n \ +#define $* 0x40000000\n \ +#endif\ + |\ + |SA-BUFF\ + |dict-$*.html +C|B_EBCDIC2ASCII\ + |#ifdef CHARSET_EBCDIC\n \ +#define $* 0x80000000\n \ +#endif\ + |\ + |SA-BUFF\ + |dict-$*.html R|ap_bclose\ |int $*(BUFF *fb);\ |status = $*(r->connection->client);\ - |\ + |SA-BUFF\ |dict-$*.html R|ap_bcreate\ |BUFF *$*(pool *p, int flags);\ |c->fp = $*(p, B_RDWR | B_SOCKET);\ - |\ + |SA-BUFF\ |dict-$*.html R|ap_bfilbuf\ |int $*(BUFF *fb);\ - |\ - |\ + |SA-BUFF\ + |ap_bgetc\ |dict-$*.html R|ap_bfileno\ |int $*(BUFF *fb, int direction);\ - |\ |\ + |SA-BUFF\ |dict-$*.html R|ap_bflsbuf\ |int $*(int c, BUFF *fb);\ - |\ |\ + |SA-BUFF\ |dict-$*.html R|ap_bflush\ |int $*(BUFF *fb);\ |\ + |SA-BUFF\ + |dict-$*.html +M|ap_bgetc\ + |#ifndef CHARSET_EBCDIC\n \ +#define $*(fb) ( ((fb)->incnt == 0) ? ap_bfilbuf(fb) \n \ + : ((fb)->incnt--, *((fb)->inptr++)) ) \n \ +#else\n \ +#define $*(fb) ( ((fb)->incnt == 0) ? ap_bfilbuf(fb) \ \n \ + : ((fb)->incnt--, \ \n \ + (fb->flags & B_ASCII2EBCDIC) \ \n \ + ? os_toebcdic[(unsigned char)*((fb)->inptr++)] \ \n \ + : *((fb)->inptr++)) ) \n \ +#endif\n \ + |if ((c = $*(r->connection->client)) == CR) { \n \ + c = $*(r->connection->client);\n}\ + |SA-BUFF\ + |dict-$*.html +M|ap_bgetflag\ + |#define $*(fb, flag) ((fb)->flags & (flag))\ |\ + |SA-BUFF\ |dict-$*.html R|ap_bgetopt\ |int $*(BUFF *fb, int optname, void *optval);\ |\ - |\ + |SA-BUFF\ |dict-$*.html R|ap_bgets\ |int $*(char *s, int n, BUFF *fb);\ - |\ |\ + |SA-BUFF\ |dict-$*.html R|ap_bhalfduplex\ |void $*(BUFF *fb);\ - |\ |\ + |SA-BUFF\ |dict-$*.html R|ap_block_alarms\ |void $*(void);\ @@ -1709,6 +1840,28 @@ |\ |\ |dict-$*.html +R|ap_bpushh\ + |void $*(BUFF *fb, HANDLE hFH);\ + |\ + |\ + |dict-$*.html +M|ap_bputc\ + |#ifndef CHARSET_EBCDIC\n \ +#define $*(c, fb) ((((fb)->flags & \ + (B_EOUT|B_WRERR|B_WR)) != B_WR || \ \n \ + (fb)->outcnt == (fb)->bufsiz) ? ap_bflsbuf(c, (fb)) : \ \n \ + ((fb)->outbase[(fb)->outcnt++] = (c), 0))\n \ +#else\n \ +#define $*(c, fb) ((((fb)->flags & \ + (B_EOUT|B_WRERR|B_WR)) != B_WR || \ \n \ + (fb)->outcnt == (fb)->bufsiz) ? ap_bflsbuf(c, (fb)) : \ \n \ + ((fb)->outbase[(fb)->outcnt++] = (fb->flags & \ +B_EBCDIC2ASCII) \ \n \ + ? os_toascii[(unsigned char)c] : (c), 0)) \n \ +#endif\ + |\ + |SA-BUFF\ + |dict-$*.html R|ap_bputs\ |int $*(const char *x, BUFF *fb);\ |\ @@ -1734,6 +1887,14 @@ |\ |\ |dict-$*.html +R|ap_bspawn_child\ + |int $*(pool *p, int (*func) (void *data, child_info *info), \n \ + void *data, enum kill_conditions kill_how, \n \ + BUFF **pipe_in, BUFF **pipe_out, \ +BUFF **pipe_err);\ + |\ + |SA-BUFF\ + |dict-$*.html R|ap_bvputs\ |int $*(BUFF *fb, ...);\ |\ @@ -2010,7 +2171,7 @@ R|ap_get_client_block\ |long $*(request_rec *r, char *buffer, int bufsiz);\ |\ - |\ + |SA-readbody\ |dict-$*.html R|ap_get_gmtoff\ |struct tm *$*(int *tz);\ @@ -2730,10 +2891,36 @@ |\ |\ |dict-$*.html +X|SA-readbody\ + |ap_get_client_block,ap_setup_client_block,REQUEST_NO_BODY\ + ,REQUEST_CHUNKED_ERROR,REQUEST_CHUNKED_DECHUNK,REQUEST_CHUNKED_PASS\ + |\ + |\ + | +C|REQUEST_NO_BODY\ + |#define $* 0\ + |\ + |SA-readbody\ + |dict-$*.html +C|REQUEST_CHUNKED_ERROR\ + |#define $* 1\ + |\ + |SA-readbody\ + |dict-$*.html +C|REQUEST_CHUNKED_DECHUNK\ + |#define $* 2\ + |\ + |SA-readbody\ + |dict-$*.html +C|REQUEST_REQUEST_CHUNKED_PASS\ + |#define $* 3\ + |\ + |SA-readbody\ + |dict-$*.html R|ap_setup_client_block\ |int $*(request_rec *r, int read_policy);\ |\ - |\ + |SA_readbody\ |dict-$*.html R|ap_setup_prelinked_modules\ |void $*(void);\ @@ -2934,6 +3121,19 @@ #endif \ |entity = strstr(request, CRLF CRLF) + (2 * strlen(CRLF));\ |SA-stringconst\ + |dict-$*.html +M|HTTP_VERSION_MAJOR\ + |#define $*(number) ((number)/1000)\ + |if (HTTP_VERSION_MAJOR(r->proto_num) < 1) {\n \ + /* Protocol version is less than 1.0 */\n}\ + |HTTP_VERSION_MAJOR,HTTP_VERSION_MINOR\ + |dict-$*.html +M|HTTP_VERSION_MINOR\ + |#define $*(number) ((number)%1000)\ + |if (($*(r->proto_num) >= 1)\n && \ + ($*(r->proto_num) > 1)) {\n \ + /* Protocol version is greater than 1.1 */\n}\ + |HTTP_VERSION_MAJOR,HTTP_VERSION_MINOR\ |dict-$*.html M|OS_ASC\ |#ifndef CHARSET_EBCDIC \n \ 1.3 +6 -3 httpd-docs-1.3/apidoc/dict-ACCESS_CONF.html Index: dict-ACCESS_CONF.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-ACCESS_CONF.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-ACCESS_CONF.html 2000/07/24 22:13:48 1.2 +++ dict-ACCESS_CONF.html 2000/07/31 12:11:25 1.3 @@ -1,7 +1,10 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -ACCESS_CONF allows *.conf inside <Directory> or <Location>. +A directive with the <code>ACCESS_CONF</code> bit set may appear +in the server-wide configuration files (<i>e.g.</i>, <code>httpd.conf</code>) +inside <Directory> or <Location> containers. </p> 1.2 +5 -1 httpd-docs-1.3/apidoc/dict-BIG_SECURITY_HOLE.html Index: dict-BIG_SECURITY_HOLE.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-BIG_SECURITY_HOLE.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- dict-BIG_SECURITY_HOLE.html 2000/07/23 15:32:50 1.1 +++ dict-BIG_SECURITY_HOLE.html 2000/07/31 12:11:26 1.2 @@ -2,7 +2,8 @@ Ordinarily the Apache server is started as the <code>root</code> superuser, and then switches to an unprivileged user identity as soon as possible. If you try to have Apache continue its normal operations -as <code>root</code>, it will display an error message and exit. +as <code>root</code> (with a "<code>User root</code>" directive), +it will display an error message and exit. If you <i>really</i> want the server to start as <code>root</code> and not switch identities, you need to rebuild the server with this compile-time definition. @@ -12,3 +13,6 @@ <dd>Having the Web server perform its normal operations as the superuser <code>root</code> is very dangerous, and not recommended.</dd> </dl> +<p> +This is not an issue on the Windows platform. +</p> 1.3 +8 -4 httpd-docs-1.3/apidoc/dict-OR_AUTHCFG.html Index: dict-OR_AUTHCFG.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-OR_AUTHCFG.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-OR_AUTHCFG.html 2000/07/24 22:13:52 1.2 +++ dict-OR_AUTHCFG.html 2000/07/31 12:11:26 1.3 @@ -1,8 +1,12 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -OR_AUTHCFG allows *.conf inside <Directory> or <Location> and -.htaccess when AllowOverride AuthConfig. +A directive with the <code>OR_AUTHCFG</code> bit set may appear +in the server-wide configuration files (<i>e.g.</i>, <code>httpd.conf</code>) +inside <Directory> or <Location> containers, and in +<code>.htaccess</code> files when the scope is covered by an +<code>AllowOverride AuthConfig</code> keyword. </p> 1.3 +8 -3 httpd-docs-1.3/apidoc/dict-OR_FILEINFO.html Index: dict-OR_FILEINFO.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-OR_FILEINFO.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-OR_FILEINFO.html 2000/07/24 22:13:52 1.2 +++ dict-OR_FILEINFO.html 2000/07/31 12:11:27 1.3 @@ -1,7 +1,12 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -OR_FILEINFO allows *.conf anywhere and .htaccess when AllowOverride FileInfo. +A directive with the <code>OR_FILEINFO</code> bit set may appear +anywhere in the server-wide configuration files (<i>e.g.</i>, +<code>httpd.conf</code>), and in +<code>.htaccess</code> files when the scope is covered by an +<code>AllowOverride FileInfo</code> keyword. </p> 1.3 +8 -3 httpd-docs-1.3/apidoc/dict-OR_INDEXES.html Index: dict-OR_INDEXES.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-OR_INDEXES.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-OR_INDEXES.html 2000/07/24 22:13:52 1.2 +++ dict-OR_INDEXES.html 2000/07/31 12:11:27 1.3 @@ -1,7 +1,12 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -OR_INDEXES allows *.conf anywhere and .htaccess when AllowOverride Indexes. +A directive with the <code>OR_FILEINFO</code> bit set may appear +anywhere in the server-wide configuration files (<i>e.g.</i>, +<code>httpd.conf</code>), and in +<code>.htaccess</code> files when the scope is covered by an +<code>AllowOverride Indexes</code> keyword. </p> 1.3 +8 -4 httpd-docs-1.3/apidoc/dict-OR_LIMIT.html Index: dict-OR_LIMIT.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-OR_LIMIT.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-OR_LIMIT.html 2000/07/24 22:13:52 1.2 +++ dict-OR_LIMIT.html 2000/07/31 12:11:27 1.3 @@ -1,8 +1,12 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -OR_LIMIT allows *.conf inside <Directory> or <Location> and -.htaccess when AllowOverride Limit. +A directive with the <code>OR_LIMIT</code> bit set may appear +in the server-wide configuration files (<i>e.g.</i>, <code>httpd.conf</code>) +inside <Directory> or <Location> containers, and in +<code>.htaccess</code> files when the scope is covered by an +<code>AllowOverride Limit</code> keyword. </p> 1.3 +8 -3 httpd-docs-1.3/apidoc/dict-OR_OPTIONS.html Index: dict-OR_OPTIONS.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-OR_OPTIONS.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-OR_OPTIONS.html 2000/07/24 22:13:52 1.2 +++ dict-OR_OPTIONS.html 2000/07/31 12:11:27 1.3 @@ -1,7 +1,12 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -OR_OPTIONS allows *.conf anywhere and .htaccess when AllowOverride Options. +A directive with the <code>OR_LIMIT</code> bit set may appear +anywhere in the server-wide configuration files (<i>e.g.</i>, +<code>httpd.conf</code>), and in +<code>.htaccess</code> files when the scope is covered by an +<code>AllowOverride Options</code> keyword. </p> 1.3 +6 -3 httpd-docs-1.3/apidoc/dict-RSRC_CONF.html Index: dict-RSRC_CONF.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-RSRC_CONF.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- dict-RSRC_CONF.html 2000/07/24 22:13:52 1.2 +++ dict-RSRC_CONF.html 2000/07/31 12:11:28 1.3 @@ -1,7 +1,10 @@ <p> -Bitmasks of allowed locations for a configuration directive are the union of -those indicated by each set bit in the req_override mask. +Allowed locations for a configuration directive are the union of +those indicated by each set bit in the <code>req_override</code> mask in the +<code>command_rec</code> structure. </p> <p> -RSRC_CONF allows *.conf outside <Directory> or <Location>. +A directive with the <code>RSRC_CONF</code> bit set may appear +in the server-wide configuration files (<i>e.g.</i>, <code>httpd.conf</code>) +outside <Directory> or <Location> containers. </p> 1.4 +6 -17 httpd-docs-1.3/apidoc/dict-pool.html Index: dict-pool.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-pool.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- dict-pool.html 2000/07/24 22:14:01 1.3 +++ dict-pool.html 2000/07/31 12:11:28 1.4 @@ -1,19 +1,8 @@ <p> -Memory pool allocation routines in Apache are designed so that we don't have -to keep track of EVERYTHING so that it can be explicitly freed later. -(a fundamentally unsound strategy --- particularly in the presence of die()). +The <code>pool</code> type is another name for the +<code>ap_pool</code> structure (<i>q.v.</i>). The +latter is the preferred type name, to avoid name collisions +with third-party library symbols. However, due to +historical reasons, a lot of legacy usages of the +<code>pool</code> type name exist. </p> -<p> -Instead, we maintain pools, and allocate items (both memory and I/O -handlers) from the pools --- currently there are two, one for per -transaction info (request_rec/conn_rec), and one for config info (server_rec). -When a transaction is over, we can delete everything in the per-transaction -pool without fear, and without thinking too hard about it either. -There are two reasons a pool can be destroyed: -</p> -<OL> - <LI>The server has finished with that pool, or - </LI> - <LI>The server has forked and is preparing to <EM>exec</EM> another program. - </LI> -</OL> 1.4 +109 -6 httpd-docs-1.3/apidoc/dict-request_rec.html Index: dict-request_rec.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/apidoc/dict-request_rec.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- dict-request_rec.html 2000/07/23 15:32:50 1.3 +++ dict-request_rec.html 2000/07/31 12:11:29 1.4 @@ -6,9 +6,112 @@ given the argument name '<code>r</code>' (<i>e.g.</i>, <code>ap_add_common_vars(r)</code>). </p> -<p> -If a module routine is passed a <code>request_rec</code> structure, -the <code>pool</code> pointer in the structure is available for -memory allocation. When the request is completed, the -memory pool will be released. -</p> + +<h4>Detailed Field Descriptions</h4> +<dl> + <dt><code><b>pool *pool</b></code></dt> + <dd>If a module routine is passed a <code>request_rec</code> structure, + the <code>pool</code> pointer in the structure is available for + memory allocation. (See the description of <code>ap_palloc()</code> + and related routines.) When the request is completed, the + memory pool will be released.</dd> + <dt><code><b>conn_rec *connection</b></code></dt> + <dd>This is a pointer to the <code>conn_rec</code> structure + describing the TCP/IP connexion over which the request was received.</dd> + <dt><code><b>server_rec *server</b></code></dt> + <dd>This field contains a pointer to the <code>server_rec</code> + structure for the virtual host which was assigned to handle the + request.</dd> + <dt><code><b>request_rec *next</b></code></dt> + <dt><code><b>request_rec *prev</b></code></dt> + <dt><code><b>request_rec *main</b></code></dt> + <dd>These fields are pointers to other <code>request_rec</code> + structures in the case of a complex opertion involving + subrequests. The <code>main</code> pointer refers to the + request actually received from the client, as opposed to any + internal ones created by Apache during its request resolution.</dd> + <dt><code><b>char *the_request</b></code></dt> + <dd>This is a pointer to the actual request string received from the client + (<i>e.g.</i>, "<code>GET /index.html HTTP/1.1</code>").</dd> + <dt><code><b>int assbackwards</b></code></dt> + <dd>This is a Boolean flag indicating whether the request was made + using the HTTP/0.9 protocol. It is set to non-zero if so.</dd> + <dt><code><b>enum proxyreqtype proxyreq</b></code></dt> + <dd>This field is only used by proxy modules, and indicates + the type of proxy request involved. See the description of the + <code>proxyreqtype</code> enumeration for more information.</dd> + <dt><code><b>int header_only</b></code></dt> + <dd>This Boolean flag is set to non-zero if the request was made with the + <code>HEAD</code> method. The response headers will be returned, + but modules shouldn't bother to generate any content for the response.</dd> + <dt><code><b>char *protocol</b></code></dt> + <dd>This is a pointer to a string representing the protocol of the + request, such as "<code>HTTP/0.9</code>" or "<code>HTTP/1.1</code>".</dd> + <dt><code><b>int proto_num</b></code></dt> + <dd>This is a numeric representation of the protocol level. It can + be parsed with the <code>HTTP_VERSION_MAJOR()</code> and + <code>HTTP_VERSION_MINOR()</code> macros (<i>q.q.v.</i>).</dd> + <dt><code><b>char *hostname</b></code></dt> + <dd>Pointer to a string indicating the hostname to which the request + was directed (extracted from either the <code>r->the_request</code> + string or the <code>Host</code> request header field). Note that + this value may be different from the name of the host actually + processing the request; that is, it may differ from any value in the + <code>r->server->names</code> array.</dd> + <dt><code><b>time_t request_time</b></code></dt> + <dd>This field is used to record the time the request was received + by the server. This value is stored in local time, not GMT.</dd> + <dt><code><b>const char *status_line</b></code></dt> + <dt><code><b>int status</b></code></dt> + <dt><code><b>const char *method</b></code></dt> + <dd>This is a pointer to a string representing the name of the HTTP method + used to make the request, such as "<code>GET</code>", as extracted + from the <code>r->the_request</code> string.</code></dd> + <dt><code><b>int method_number</b></code></dt> + <dd>This field contains a numeric value representing the request + method. The possible values are give mnemonic names prefixed with + "<code>M_</code>", such as "<code>M_GET</code>" and "<code>M_DELETE</code>". + See the description of <code>M_GET</code> for additional references and + information. If the request was made using an unrecognised method, + the value in this field will be <code>M_INVALID</code>, even if the + server has been configured to recognise the method (such as with + the <code>Script</code> directive).</dd> + <dt><code><b>int allowed</b></code></dt> + <dt><code><b>int sent_bodyct</b></code></dt> + <dt><code><b>long bytes_sent</b></code></dt> + <dt><code><b>time_t mtime</b></code></dt> + <dt><code><b>int chunked</b></code></dt> + <dt><code><b>int byterange</b></code></dt> + <dt><code><b>char *boundary</b></code></dt> + <dt><code><b>const char *range</b></code></dt> + <dt><code><b>long clength</b></code></dt> + <dt><code><b>long remaining</b></code></dt> + <dt><code><b>long read_length</b></code></dt> + <dt><code><b>int read_body</b></code></dt> + <dt><code><b>int read_chunked</b></code></dt> + <dt><code><b>unsigned expecting_100</b></code></dt> + <dt><code><b>table *headers_in</b></code></dt> + <dt><code><b>table *headers_out</b></code></dt> + <dt><code><b>table *err_headers_out</b></code></dt> + <dt><code><b>table *subprocess_env</b></code></dt> + <dt><code><b>table *notes</b></code></dt> + <dt><code><b>const char *content_type</b></code></dt> + <dt><code><b>const char *handler</b></code></dt> + <dt><code><b>const char *content_encoding</b></code></dt> + <dt><code><b>const char *content_language</b></code></dt> + <dt><code><b>array_header *content_languages</b></code></dt> + <dt><code><b>char *vlist_validator</b></code></dt> + <dt><code><b>int no_cache</b></code></dt> + <dt><code><b>int no_local_copy</b></code></dt> + <dt><code><b>char *unparsed_uri</b></code></dt> + <dt><code><b>char *uri</b></code></dt> + <dt><code><b>char *filename</b></code></dt> + <dt><code><b>char *path_info</b></code></dt> + <dt><code><b>char *args</b></code></dt> + <dt><code><b>struct stat finfo</b></code></dt> + <dt><code><b>uri_components parsed_uri</b></code></dt> + <dt><code><b>void *per_dir_config</b></code></dt> + <dt><code><b>void *request_config</b></code></dt> + <dt><code><b>const struct htaccess_result *htaccess</b></code></dt> + <dt><code><b>char *case_preserved_filename</b></code></dt> +</dl> 1.1 httpd-docs-1.3/apidoc/dict-HANDLE.html Index: dict-HANDLE.html =================================================================== <p> Because the concept of file pointers, descriptors, and handles differs from platform to platform, some API routines and structures on Windows use the Windows <code>HANDLE</code> type instead of, or perhaps in addition to, the more widespread Unix types. </p> <p> Where a <code>HANDLE</code> type appears, the Windows semantics for its use apply. </p> 1.4 +2 -2 httpd-docs-1.3/apidoc/dict-ap_bfilbuf.html 1.1 httpd-docs-1.3/apidoc/dict-ap_pool.html Index: dict-ap_pool.html =================================================================== <p> Memory pool allocation routines in Apache are designed so that developers don't have to keep track of <i>every</i> allocation so that it can be explicitly freed later. </p> <p> Instead, Apache uses memory <i>pools</i>, and items (both memory and I/O handlers) are allocated from them. Currently there are two long-term pools; one for <i>per</i>-transaction info (request_rec and conn_rec structures and such), and one for config info (server_rec structures, <i>et alia</i>). When a transaction is over, Apache can delete everything in the <i>per</i>-transaction pool without fear, and without thinking too hard about it either. </p> <p> There are two reasons a pool can be destroyed: </p> <ol> <li>The server has finished with that pool, or</li> <li>The server has forked and is preparing to <code>exec</code> another program.</li> </ol>