- make peace with libtool-1.5.10 and automake-1.9.3.

CVS patchset: 7571
CVS date: 2004/11/11 01:04:07
This commit is contained in:
jbj 2004-11-11 01:04:07 +00:00
parent 103a5c0e48
commit 7008350f3e
7 changed files with 451 additions and 398 deletions

View File

@ -30,6 +30,7 @@
- use external libneon for http/https transport.
- python: add python 2.4 support.
- add --delsign to purge packages of digital signatures.
- make peace with libtool-1.5.10 and automake-1.9.3.
4.3.1 -> 4.3.2:
- use /etc/selinux/targeted/contexts/files/file_contexts for now.

View File

@ -3,14 +3,14 @@
export CFLAGS
export LDFLAGS
LTV="libtoolize (GNU libtool) 1.5.6"
LTV="libtoolize (GNU libtool) 1.5.10"
ACV="autoconf (GNU Autoconf) 2.59"
AMV="automake (GNU automake) 1.9.2"
AMV="automake (GNU automake) 1.9.3"
USAGE="
This script documents the versions of the tools I'm using to build rpm:
libtool-1.5.6
libtool-1.5.10
autoconf-2.59
automake-1.9.2
automake-1.9.3
Simply edit this script to change the libtool/autoconf/automake versions
checked if you need to, as rpm should build (and has built) with all
recent versions of libtool/autoconf/automake.

View File

@ -3,14 +3,14 @@
export CFLAGS
export LDFLAGS
LTV="libtoolize (GNU libtool) 1.5.6"
LTV="libtoolize (GNU libtool) 1.5.10"
ACV="autoconf (GNU Autoconf) 2.59"
AMV="automake (GNU automake) 1.9.2"
AMV="automake (GNU automake) 1.9.3"
USAGE="
This script documents the versions of the tools I'm using to build rpm:
libtool-1.5.6
libtool-1.5.10
autoconf-2.59
automake-1.9.2
automake-1.9.3
Simply edit this script to change the libtool/autoconf/automake versions
checked if you need to, as rpm should build (and has built) with all
recent versions of libtool/autoconf/automake.

View File

@ -3,14 +3,14 @@
export CFLAGS
export LDFLAGS
LTV="libtoolize (GNU libtool) 1.5.6"
LTV="libtoolize (GNU libtool) 1.5.10"
ACV="autoconf (GNU Autoconf) 2.59"
AMV="automake (GNU automake) 1.9.2"
AMV="automake (GNU automake) 1.9.3"
USAGE="
This script documents the versions of the tools I'm using to build rpm:
libtool-1.5.6
libtool-1.5.10
autoconf-2.59
automake-1.9.2
automake-1.9.3
Simply edit this script to change the libtool/autoconf/automake versions
checked if you need to, as rpm should build (and has built) with all
recent versions of libtool/autoconf/automake.

View File

@ -140,6 +140,8 @@ struct ne_request_s {
ne_off_t body_length; /* length of request body */
ne_off_t body_progress; /* number of bytes of body sent so far */
int chunked; /* send request incrementally chunked */
/* temporary store for response lines. */
char respbuf[BUFSIZ];
@ -487,6 +489,29 @@ static int send_request_body(ne_request *req)
return ret;
}
int ne_send_request_chunk(ne_request *req, const char *buffer, size_t size)
{
char chunksize[20];
int ret;
ne_snprintf(chunksize, sizeof chunksize, "%x%s", size, EOL);
chunksize[sizeof(chunksize)-1] = '\0';
ret = ne_sock_fullwrite(req->session->socket, chunksize, strlen(chunksize));
if (!ret && size > 0)
ret = ne_sock_fullwrite(req->session->socket, buffer, size);
if (!ret)
ret = ne_sock_fullwrite(req->session->socket, EOL, sizeof(EOL)-1);
/* XXX Final EOL on last 0 byte chunk? perhaps call ne_finish_request? */
if (!ret && size == 0)
ret = ne_sock_fullwrite(req->session->socket, EOL, sizeof(EOL)-1);
return ret;
}
/* Lob the User-Agent, connection and host headers in to the request
* headers */
static void add_fixed_headers(ne_request *req)
@ -666,6 +691,11 @@ void ne_set_request_body_provider64(ne_request *req, off64_t bodysize,
}
#endif
void ne_set_request_chunked(ne_request *req, int chunked)
{
req->chunked = chunked;
}
void ne_set_request_expect100(ne_request *req, int flag)
{
req->use_expect100 = flag;
@ -1053,7 +1083,10 @@ static int send_request(ne_request *req, const ne_buffer *request)
int aret = aborted(req, _("Could not send request"), ret);
return RETRY_RET(retry, ret, aret);
}
/* Return with request in progress if sending incrementally chunked body. */
if (req->chunked) return ret;
if (!req->use_expect100 && req->body_length > 0) {
/* Send request body, if not using 100-continue. */
ret = send_request_body(req);
@ -1239,32 +1272,10 @@ static int lookup_host(ne_session *sess, struct host_info *info)
}
}
int ne_begin_request(ne_request *req)
int ne_finish_request(ne_request *req)
{
struct body_reader *rdr;
struct host_info *host;
ne_buffer *data;
const ne_status *const st = &req->status;
int ret;
/* Resolve hostname if necessary. */
host = req->session->use_proxy?&req->session->proxy:&req->session->server;
if (host->address == NULL)
HTTP_ERR(lookup_host(req->session, host));
req->resp.mode = R_TILLEOF;
/* Build the request string, and send it */
data = build_request(req);
DEBUG_DUMP_REQUEST(data->data);
ret = send_request(req, data);
/* Retry this once after a persistent connection timeout. */
if (ret == NE_RETRY && !req->session->no_persist) {
NE_DEBUG(NE_DBG_HTTP, "Persistent connection timed out, retrying.\n");
ret = send_request(req, data);
}
ne_buffer_destroy(data);
if (ret != NE_OK) return ret;
/* Determine whether server claims HTTP/1.1 compliance. */
req->session->is_http11 = (st->major_version == 1 &&
@ -1287,9 +1298,9 @@ int ne_begin_request(ne_request *req)
}
#endif
/* HEAD requests and 204, 304 responses have no response body,
/* HEAD requests and 201, 204, 304 responses have no response body,
* regardless of what headers are present. */
if (req->method_is_head || st->code == 204 || st->code == 304)
if (req->method_is_head || st->code == 201 || st->code == 204 || st->code == 304)
req->resp.mode = R_NO_BODY;
/* Prepare for reading the response entity-body. Call each of the
@ -1302,6 +1313,42 @@ int ne_begin_request(ne_request *req)
return NE_OK;
}
int ne_begin_request(ne_request *req)
{
struct body_reader *rdr;
struct host_info *host;
ne_buffer *data;
const ne_status *const st = &req->status;
int ret;
/* Resolve hostname if necessary. */
host = req->session->use_proxy?&req->session->proxy:&req->session->server;
if (host->address == NULL)
HTTP_ERR(lookup_host(req->session, host));
req->resp.mode = R_TILLEOF;
/* Build the request string, and send it */
data = build_request(req);
DEBUG_DUMP_REQUEST(data->data);
ret = send_request(req, data);
/* Retry this once after a persistent connection timeout. */
if (ret == NE_RETRY && !req->session->no_persist && !req->chunked) {
NE_DEBUG(NE_DBG_HTTP, "Persistent connection timed out, retrying.\n");
ret = send_request(req, data);
}
ne_buffer_destroy(data);
if (ret != NE_OK) return ret;
/* Return with request in progress if sending incrementally chunked body. */
if (req->chunked)
return ret; /* XXX perhaps NE_INPROGRESS? */
ret = ne_finish_request(req);
return ret;
}
int ne_end_request(ne_request *req)
{
struct hook *hk;

View File

@ -258,6 +258,20 @@ ssize_t ne_read_response_block(ne_request *req, /*@out@*/ char *buffer, size_t b
/*@globals internalState @*/
/*@modifies req, buffer, internalState @*/;
/* Mark the request body as incrementally chunked. */
void ne_set_request_chunked(ne_request *req, int chunked)
/*@modifies req @*/;
/* Send request body chunk.
* Return 0 on success, else NE_* return. */
int ne_send_request_chunk(ne_request *req, const char *buffer, size_t size)
/*@modifies req @*/;
/* Finish incrementally chunked request. */
int ne_finish_request(ne_request *req)
/*@globals internalState @*/
/*@modifies req, internalState @*/;
/* Include the HTTP/1.1 header "Expect: 100-continue" in request 'req'
* if 'flag' is non-zero. Warning: 100-continue support is not
* implemented correctly in some HTTP/1.1 servers, enabling this

711
zlib/configure vendored

File diff suppressed because it is too large Load Diff