> Bill Stoddard wrote:
>
> > +1 in concept.
> >
> > Please add the exports to httpd.exp and bump the MMN Minor.
>
> Like this?
Yep!
>
> Regards,
> Graham
> --
> -----------------------------------------
> [EMAIL PROTECTED] "There's a moon
> over Bourbon Street
> tonight..."
--------------------------------------------------------------------------------
> --- /home/minfrin/src/apache/pristine/apache-1.3/src/support/httpd.exp Sun Mar 24
12:03:02 2002
> +++ src/support/httpd.exp Sat Apr 6 15:22:44 2002
> @@ -129,6 +129,7 @@
> ap_fnmatch
> ap_force_library_loading
> ap_get_basic_auth_pw
> +ap_get_chunk_size
> ap_get_client_block
> ap_get_gmtoff
> ap_get_list_item
> @@ -142,6 +143,7 @@
> ap_get_time
> ap_get_token
> ap_get_virthost_addr
> +ap_getline
> ap_getparents
> ap_getword
> ap_getword_conf
> --- /home/minfrin/src/apache/pristine/apache-1.3/src/include/ap_mmn.h Sun Mar 24
11:58:39 2002
> +++ src/include/ap_mmn.h Sat Apr 6 15:27:46 2002
> @@ -235,6 +235,7 @@
> * filter_callback to the end of buff.h
> * 19990320.11 - Add some fields to the end of the core_dir_config
> * structure
> + * 19990320.12 - add ap_getline(), ap_get_chunk_size()
> */
>
> #define MODULE_MAGIC_COOKIE 0x41503133UL /* "AP13" */
> @@ -242,7 +243,7 @@
> #ifndef MODULE_MAGIC_NUMBER_MAJOR
> #define MODULE_MAGIC_NUMBER_MAJOR 19990320
> #endif
> -#define MODULE_MAGIC_NUMBER_MINOR 11 /* 0...n */
> +#define MODULE_MAGIC_NUMBER_MINOR 12 /* 0...n */
>
> /* Useful for testing for features. */
> #define AP_MODULE_MAGIC_AT_LEAST(major,minor) \
> --- /home/minfrin/src/apache/pristine/apache-1.3/src/main/http_protocol.c Tue Mar 26
00:39:36 2002
> +++ src/main/http_protocol.c Sat Apr 6 14:57:49 2002
> @@ -857,13 +857,13 @@
> * then the actual input line exceeded the buffer length,
> * and it would be a good idea for the caller to puke 400 or 414.
> */
> -static int getline(char *s, int n, BUFF *in, int fold)
> +API_EXPORT(int) ap_getline(char *s, int n, BUFF *in, int fold)
> {
> char *pos, next;
> int retval;
> int total = 0;
> #ifdef CHARSET_EBCDIC
> - /* When getline() is called, the HTTP protocol is in a state
> + /* When ap_getline() is called, the HTTP protocol is in a state
> * where we MUST be reading "plain text" protocol stuff,
> * (Request line, MIME headers, Chunk sizes) regardless of
> * the MIME type and conversion setting of the document itself.
> @@ -978,7 +978,7 @@
>
> static int read_request_line(request_rec *r)
> {
> - char l[DEFAULT_LIMIT_REQUEST_LINE + 2]; /* getline's two extra for \n\0 */
> + char l[DEFAULT_LIMIT_REQUEST_LINE + 2]; /* ap_getline's two extra for \n\0 */
> const char *ll = l;
> const char *uri;
> conn_rec *conn = r->connection;
> @@ -1000,7 +1000,7 @@
> * have to block during a read.
> */
> ap_bsetflag(conn->client, B_SAFEREAD, 1);
> - while ((len = getline(l, sizeof(l), conn->client, 0)) <= 0) {
> + while ((len = ap_getline(l, sizeof(l), conn->client, 0)) <= 0) {
> if ((len < 0) || ap_bgetflag(conn->client, B_EOF)) {
> ap_bsetflag(conn->client, B_SAFEREAD, 0);
> /* this is a hack to make sure that request time is set,
> @@ -1031,7 +1031,7 @@
>
> ap_parse_uri(r, uri);
>
> - /* getline returns (size of max buffer - 1) if it fills up the
> + /* ap_getline returns (size of max buffer - 1) if it fills up the
> * buffer before finding the end-of-line. This is only going to
> * happen if it exceeds the configured limit for a request-line.
> */
> @@ -1056,7 +1056,7 @@
>
> static void get_mime_headers(request_rec *r)
> {
> - char field[DEFAULT_LIMIT_REQUEST_FIELDSIZE + 2]; /* getline's two extra */
> + char field[DEFAULT_LIMIT_REQUEST_FIELDSIZE + 2]; /* ap_getline's two extra */
> conn_rec *c = r->connection;
> char *value;
> char *copy;
> @@ -1071,7 +1071,7 @@
> * Read header lines until we get the empty separator line, a read error,
> * the connection closes (EOF), reach the server limit, or we timeout.
> */
> - while ((len = getline(field, sizeof(field), c->client, 1)) > 0) {
> + while ((len = ap_getline(field, sizeof(field), c->client, 1)) > 0) {
>
> if (r->server->limit_req_fields &&
> (++fields_read > r->server->limit_req_fields)) {
> @@ -1081,7 +1081,7 @@
> "this server's limit.<P>\n");
> return;
> }
> - /* getline returns (size of max buffer - 1) if it fills up the
> + /* ap_getline returns (size of max buffer - 1) if it fills up the
> * buffer before finding the end-of-line. This is only going to
> * happen if it exceeds the configured limit for a field size.
> */
> @@ -2018,7 +2018,7 @@
> return 1;
> }
>
> -static long get_chunk_size(char *b)
> +API_EXPORT(long) ap_get_chunk_size(char *b)
> {
> long chunksize = 0;
>
> @@ -2100,14 +2100,14 @@
>
> if (r->remaining == 0) { /* Start of new chunk */
>
> - chunk_start = getline(buffer, bufsiz, r->connection->client, 0);
> + chunk_start = ap_getline(buffer, bufsiz, r->connection->client, 0);
> if ((chunk_start <= 0) || (chunk_start >= (bufsiz - 1))
> || !ap_isxdigit(*buffer)) {
> r->connection->keepalive = -1;
> return -1;
> }
>
> - len_to_read = get_chunk_size(buffer);
> + len_to_read = ap_get_chunk_size(buffer);
>
> if (len_to_read == 0) { /* Last chunk indicated, get footers */
> if (r->read_body == REQUEST_CHUNKED_DECHUNK) {
> @@ -2141,7 +2141,7 @@
> len_read = chunk_start;
>
> while ((bufsiz > 1) && ((len_read =
> - getline(buffer, bufsiz, r->connection->client, 1)) > 0)) {
> + ap_getline(buffer, bufsiz, r->connection->client, 1)) > 0)) {
>
> if (len_read != (bufsiz - 1)) {
> buffer[len_read++] = CR; /* Restore footer line end */
>