mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
switch to APR 1.0 API (which is still in flux)
because of the changes to the argument lists of apr_mmap_dup and apr_socket_create, 2.1-dev won't build with apr and apr-util's 0.9 branch anymore git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101154 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
2
CHANGES
2
CHANGES
@@ -2,6 +2,8 @@ Changes with Apache 2.1.0-dev
|
||||
|
||||
[Remove entries to the current 2.0 section below, when backported]
|
||||
|
||||
*) Switch to APR 1.0 API.
|
||||
|
||||
*) Modify ap_get_client_block() to note if it has seen EOS.
|
||||
[Justin Erenkrantz]
|
||||
|
||||
|
@@ -79,7 +79,7 @@ extern "C" {
|
||||
* @param tm the exploded time
|
||||
* @param t the time to explode: MUST be within the last
|
||||
* AP_TIME_RECENT_THRESHOLD seconds
|
||||
* @note This is a faster alternative to apr_explode_localtime that uses
|
||||
* @note This is a faster alternative to apr_time_exp_lt that uses
|
||||
* a cache of pre-exploded time structures. It is useful for things
|
||||
* that need to explode the current time multiple times per second,
|
||||
* like loggers.
|
||||
|
@@ -170,7 +170,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
|
||||
*ptr = '\0';
|
||||
|
||||
/* Figure out what the extension is so that we can matche it. */
|
||||
ext = strrchr(apr_filename_of_pathname(cmd_only), '.');
|
||||
ext = strrchr(apr_filepath_name_get(cmd_only), '.');
|
||||
|
||||
/* If there isn't an extension then give it an empty string */
|
||||
if (!ext) {
|
||||
|
@@ -1646,7 +1646,7 @@ static int isapi_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
|
||||
{
|
||||
apr_status_t rv;
|
||||
|
||||
apr_pool_sub_make(&loaded.pool, pconf, NULL);
|
||||
apr_pool_create_ex(&loaded.pool, pconf, NULL, NULL);
|
||||
if (!loaded.pool) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, APR_EGENERAL, NULL,
|
||||
"ISAPI: could not create the isapi cache pool");
|
||||
|
@@ -447,7 +447,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
|
||||
* win32 parsing here, therefore the final extension is the only one
|
||||
* we will consider.
|
||||
*/
|
||||
ext = strrchr(apr_filename_of_pathname(*cmd), '.');
|
||||
ext = strrchr(apr_filepath_name_get(*cmd), '.');
|
||||
|
||||
/* If the file has an extension and it is not .com and not .exe and
|
||||
* we've been instructed to search the registry, then do so.
|
||||
|
2
modules/cache/mod_file_cache.c
vendored
2
modules/cache/mod_file_cache.c
vendored
@@ -315,7 +315,7 @@ static int mmap_handler(request_rec *r, a_file *file)
|
||||
apr_mmap_t *mm;
|
||||
apr_bucket_brigade *bb = apr_brigade_create(r->pool, c->bucket_alloc);
|
||||
|
||||
apr_mmap_dup(&mm, file->mm, r->pool, 0);
|
||||
apr_mmap_dup(&mm, file->mm, r->pool);
|
||||
b = apr_bucket_mmap_create(mm, 0, (apr_size_t)file->finfo.size,
|
||||
c->bucket_alloc);
|
||||
APR_BRIGADE_INSERT_TAIL(bb, b);
|
||||
|
@@ -671,7 +671,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t key,
|
||||
apr_status_t rv;
|
||||
|
||||
/* if we don't see the file, then it's a locknull */
|
||||
rv = apr_lstat(&finfo, fname, APR_FINFO_MIN, p);
|
||||
rv = apr_stat(&finfo, fname, APR_FINFO_MIN | APR_FINFO_LINK, p);
|
||||
if (rv != APR_SUCCESS && rv != APR_INCOMPLETE) {
|
||||
if ((err = dav_fs_remove_locknull_member(p, fname, &buf)) != NULL) {
|
||||
/* ### push a higher-level description? */
|
||||
|
@@ -1490,8 +1490,8 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
|
||||
|
||||
|
||||
/* ### Optimize me, dirent can give us what we need! */
|
||||
status = apr_lstat(&fsctx->info1.finfo, fsctx->path1.buf,
|
||||
APR_FINFO_NORM, pool);
|
||||
status = apr_stat(&fsctx->info1.finfo, fsctx->path1.buf,
|
||||
APR_FINFO_NORM | APR_FINFO_LINK, pool);
|
||||
if (status != APR_SUCCESS && status != APR_INCOMPLETE) {
|
||||
/* woah! where'd it go? */
|
||||
/* ### should have a better error here */
|
||||
|
@@ -949,7 +949,7 @@ static apr_status_t write_body(cache_handle_t *h, request_rec *r, apr_bucket_bri
|
||||
if (rv != APR_SUCCESS) {
|
||||
return rv;
|
||||
}
|
||||
apr_file_unset_inherit(tmpfile);
|
||||
apr_file_inherit_unset(tmpfile);
|
||||
apr_os_file_get(&(mobj->fd), tmpfile);
|
||||
|
||||
/* Open for business */
|
||||
|
@@ -678,7 +678,7 @@ static const char *add_include_vars_lazy(request_rec *r, const char *var)
|
||||
val = ap_ht_time(r->pool, r->finfo.mtime, conf->default_time_fmt, 0);
|
||||
}
|
||||
else if (!strcasecmp(var, "USER_NAME")) {
|
||||
if (apr_get_username(&val, r->finfo.user, r->pool) != APR_SUCCESS) {
|
||||
if (apr_uid_name_get(&val, r->finfo.user, r->pool) != APR_SUCCESS) {
|
||||
val = "<unknown>";
|
||||
}
|
||||
}
|
||||
|
@@ -812,7 +812,7 @@ static char *find_default_item(char *bogus_name, apr_array_header_t *list)
|
||||
*/
|
||||
|
||||
#ifdef CASE_BLIND_FILESYSTEM
|
||||
#define MATCH_FLAGS FNM_CASE_BLIND
|
||||
#define MATCH_FLAGS APR_FNM_CASE_BLIND
|
||||
#else
|
||||
#define MATCH_FLAGS 0
|
||||
#endif
|
||||
@@ -1298,7 +1298,7 @@ static struct ent *make_autoindex_entry(const apr_finfo_t *dirent,
|
||||
|
||||
#ifndef CASE_BLIND_FILESYSTEM
|
||||
if (pattern && (apr_fnmatch(pattern, dirent->name,
|
||||
FNM_NOESCAPE | FNM_PERIOD)
|
||||
APR_FNM_NOESCAPE | APR_FNM_PERIOD)
|
||||
!= APR_SUCCESS))
|
||||
return (NULL);
|
||||
#else /* !CASE_BLIND_FILESYSTEM */
|
||||
@@ -1308,7 +1308,7 @@ static struct ent *make_autoindex_entry(const apr_finfo_t *dirent,
|
||||
* reliably - so we have to granularise at the OS level.
|
||||
*/
|
||||
if (pattern && (apr_fnmatch(pattern, dirent->name,
|
||||
FNM_NOESCAPE | FNM_PERIOD | FNM_CASE_BLIND)
|
||||
APR_FNM_NOESCAPE | APR_FNM_PERIOD | APR_FNM_CASE_BLIND)
|
||||
!= APR_SUCCESS))
|
||||
return (NULL);
|
||||
#endif /* !CASE_BLIND_FILESYSTEM */
|
||||
|
@@ -482,7 +482,7 @@ static apr_status_t run_cgi_child(apr_file_t **script_out,
|
||||
/* Bad things happened. Everyone should have cleaned up. */
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rc, r,
|
||||
"couldn't create child process: %d: %s", rc,
|
||||
apr_filename_of_pathname(r->filename));
|
||||
apr_filepath_name_get(r->filename));
|
||||
}
|
||||
else {
|
||||
apr_pool_note_subprocess(p, procnew, APR_KILL_AFTER_TIMEOUT);
|
||||
@@ -607,7 +607,7 @@ static int cgi_handler(request_rec *r)
|
||||
return DECLINED;
|
||||
}
|
||||
|
||||
argv0 = apr_filename_of_pathname(r->filename);
|
||||
argv0 = apr_filepath_name_get(r->filename);
|
||||
nph = !(strncmp(argv0, "nph-", 4));
|
||||
conf = ap_get_module_config(r->server->module_config, &cgi_module);
|
||||
|
||||
|
@@ -775,7 +775,7 @@ static int cgid_server(void *data)
|
||||
*/
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, rc, r->server,
|
||||
"couldn't create child process: %d: %s", rc,
|
||||
apr_filename_of_pathname(r->filename));
|
||||
apr_filepath_name_get(r->filename));
|
||||
}
|
||||
else {
|
||||
apr_hash_set(script_hash, &cgid_req.conn_id, sizeof(cgid_req.conn_id),
|
||||
|
@@ -1066,7 +1066,7 @@ static int read_type_map(apr_file_t **map, negotiation_state *neg,
|
||||
break;
|
||||
}
|
||||
mime_info.bytes = len;
|
||||
mime_info.file_name = apr_filename_of_pathname(rr->filename);
|
||||
mime_info.file_name = apr_filepath_name_get(rr->filename);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@@ -3376,7 +3376,7 @@ static int apply_rewrite_cond(rewritecond_entry *p, rewrite_ctx *ctx)
|
||||
|
||||
case CONDPAT_FILE_LINK:
|
||||
#if !defined(OS2)
|
||||
if ( apr_lstat(&sb, input, APR_FINFO_MIN, r->pool) == APR_SUCCESS
|
||||
if ( apr_stat(&sb, input, APR_FINFO_MIN | APR_FINFO_LINK, r->pool) == APR_SUCCESS
|
||||
&& sb.filetype == APR_LNK) {
|
||||
rc = 1;
|
||||
}
|
||||
|
@@ -325,7 +325,7 @@ static int translate_userdir(request_rec *r)
|
||||
#if APR_HAS_USER
|
||||
char *homedir;
|
||||
|
||||
if (apr_get_home_directory(&homedir, w, r->pool) == APR_SUCCESS) {
|
||||
if (apr_uid_homepath_get(&homedir, w, r->pool) == APR_SUCCESS) {
|
||||
filename = apr_pstrcat(r->pool, homedir, "/", userdir, NULL);
|
||||
}
|
||||
#else
|
||||
@@ -376,7 +376,7 @@ static ap_unix_identity_t *get_suexec_id_doer(const request_rec *r)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (apr_get_userid(&ugid->uid, &ugid->gid, username, r->pool) != APR_SUCCESS) {
|
||||
if (apr_uid_get(&ugid->uid, &ugid->gid, username, r->pool) != APR_SUCCESS) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@@ -158,7 +158,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
|
||||
|
||||
if ((rv = apr_socket_create(newsock,
|
||||
localsa->family, /* has to match */
|
||||
SOCK_STREAM, conn->pool)) != APR_SUCCESS) {
|
||||
SOCK_STREAM, 0, conn->pool)) != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, srv,
|
||||
"rfc1413: error creating query socket");
|
||||
return rv;
|
||||
@@ -180,7 +180,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
|
||||
* addresses from the query socket.
|
||||
*/
|
||||
|
||||
if ((rv = apr_bind(*newsock, localsa)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_bind(*newsock, localsa)) != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_CRIT, rv, srv,
|
||||
"rfc1413: Error binding query socket to local port");
|
||||
apr_socket_close(*newsock);
|
||||
@@ -191,7 +191,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
|
||||
* errors from connect usually imply the remote machine doesn't support
|
||||
* the service; don't log such an error
|
||||
*/
|
||||
if ((rv = apr_connect(*newsock, destsa)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_connect(*newsock, destsa)) != APR_SUCCESS) {
|
||||
apr_socket_close(*newsock);
|
||||
return rv;
|
||||
}
|
||||
@@ -223,7 +223,7 @@ static apr_status_t rfc1413_query(apr_socket_t *sock, conn_rec *conn,
|
||||
while (i < buflen) {
|
||||
apr_size_t j = strlen(buffer + i);
|
||||
apr_status_t status;
|
||||
status = apr_send(sock, buffer+i, &j);
|
||||
status = apr_socket_send(sock, buffer+i, &j);
|
||||
if (status != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv,
|
||||
"write: rfc1413: error sending request");
|
||||
@@ -249,7 +249,7 @@ static apr_status_t rfc1413_query(apr_socket_t *sock, conn_rec *conn,
|
||||
while((cp = strchr(buffer, '\012')) == NULL && i < sizeof(buffer) - 1) {
|
||||
apr_size_t j = sizeof(buffer) - 1 - i;
|
||||
apr_status_t status;
|
||||
status = apr_recv(sock, buffer+i, &j);
|
||||
status = apr_socket_recv(sock, buffer+i, &j);
|
||||
if (status != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv,
|
||||
"read: rfc1413: error reading response");
|
||||
|
@@ -267,10 +267,10 @@ int ap_proxy_connect_handler(request_rec *r, proxy_server_conf *conf,
|
||||
"proxy: CONNECT: sending the CONNECT request to the remote proxy");
|
||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||
"CONNECT %s HTTP/1.0" CRLF, r->uri);
|
||||
apr_send(sock, buffer, &nbytes);
|
||||
apr_socket_send(sock, buffer, &nbytes);
|
||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
|
||||
apr_send(sock, buffer, &nbytes);
|
||||
apr_socket_send(sock, buffer, &nbytes);
|
||||
}
|
||||
else {
|
||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
@@ -278,11 +278,11 @@ int ap_proxy_connect_handler(request_rec *r, proxy_server_conf *conf,
|
||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||
"HTTP/1.0 200 Connection Established" CRLF);
|
||||
ap_xlate_proto_to_ascii(buffer, nbytes);
|
||||
apr_send(client_socket, buffer, &nbytes);
|
||||
apr_socket_send(client_socket, buffer, &nbytes);
|
||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
|
||||
ap_xlate_proto_to_ascii(buffer, nbytes);
|
||||
apr_send(client_socket, buffer, &nbytes);
|
||||
apr_socket_send(client_socket, buffer, &nbytes);
|
||||
#if 0
|
||||
/* This is safer code, but it doesn't work yet. I'm leaving it
|
||||
* here so that I can fix it later.
|
||||
@@ -336,7 +336,7 @@ int ap_proxy_connect_handler(request_rec *r, proxy_server_conf *conf,
|
||||
/* ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"proxy: CONNECT: sock was set");*/
|
||||
nbytes = sizeof(buffer);
|
||||
if (apr_recv(sock, buffer, &nbytes) == APR_SUCCESS) {
|
||||
if (apr_socket_recv(sock, buffer, &nbytes) == APR_SUCCESS) {
|
||||
o = 0;
|
||||
i = nbytes;
|
||||
while(i > 0)
|
||||
@@ -348,7 +348,7 @@ int ap_proxy_connect_handler(request_rec *r, proxy_server_conf *conf,
|
||||
* if ((nbytes = ap_rwrite(buffer + o, nbytes, r)) < 0)
|
||||
* rbb
|
||||
*/
|
||||
if (apr_send(client_socket, buffer + o, &nbytes) != APR_SUCCESS)
|
||||
if (apr_socket_send(client_socket, buffer + o, &nbytes) != APR_SUCCESS)
|
||||
break;
|
||||
o += nbytes;
|
||||
i -= nbytes;
|
||||
@@ -366,13 +366,13 @@ int ap_proxy_connect_handler(request_rec *r, proxy_server_conf *conf,
|
||||
/* ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
|
||||
"proxy: CONNECT: client was set");*/
|
||||
nbytes = sizeof(buffer);
|
||||
if (apr_recv(client_socket, buffer, &nbytes) == APR_SUCCESS) {
|
||||
if (apr_socket_recv(client_socket, buffer, &nbytes) == APR_SUCCESS) {
|
||||
o = 0;
|
||||
i = nbytes;
|
||||
while(i > 0)
|
||||
{
|
||||
nbytes = i;
|
||||
if (apr_send(sock, buffer + o, &nbytes) != APR_SUCCESS)
|
||||
if (apr_socket_send(sock, buffer + o, &nbytes) != APR_SUCCESS)
|
||||
break;
|
||||
o += nbytes;
|
||||
i -= nbytes;
|
||||
|
@@ -954,7 +954,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
int failed = 1;
|
||||
while (connect_addr) {
|
||||
|
||||
if ((rv = apr_socket_create(&sock, connect_addr->family, SOCK_STREAM, r->pool)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_create(&sock, connect_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: FTP: error creating socket");
|
||||
connect_addr = connect_addr->next;
|
||||
@@ -993,7 +993,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
connect_addr->family, connect_addr, connectname);
|
||||
|
||||
/* make the connection out of the socket */
|
||||
rv = apr_connect(sock, connect_addr);
|
||||
rv = apr_socket_connect(sock, connect_addr);
|
||||
|
||||
/* if an error occurred, loop round and try again */
|
||||
if (rv != APR_SUCCESS) {
|
||||
@@ -1272,7 +1272,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
"proxy: FTP: EPSV contacting remote host on port %d",
|
||||
data_port);
|
||||
|
||||
if ((rv = apr_socket_create(&data_sock, connect_addr->family, SOCK_STREAM, r->pool)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_create(&data_sock, connect_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: FTP: error creating EPSV socket");
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
@@ -1291,7 +1291,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
apr_socket_addr_get(&data_addr, APR_REMOTE, sock);
|
||||
apr_sockaddr_ip_get(&data_ip, data_addr);
|
||||
apr_sockaddr_info_get(&epsv_addr, data_ip, connect_addr->family, data_port, 0, p);
|
||||
rv = apr_connect(data_sock, epsv_addr);
|
||||
rv = apr_socket_connect(data_sock, epsv_addr);
|
||||
if (rv != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
|
||||
"proxy: FTP: EPSV attempt to connect to %pI failed - Firewall/NAT?", epsv_addr);
|
||||
@@ -1359,7 +1359,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
"proxy: FTP: PASV contacting host %d.%d.%d.%d:%d",
|
||||
h3, h2, h1, h0, pasvport);
|
||||
|
||||
if ((rv = apr_socket_create(&data_sock, connect_addr->family, SOCK_STREAM, r->pool)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_create(&data_sock, connect_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: error creating PASV socket");
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
@@ -1376,7 +1376,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
|
||||
/* make the connection */
|
||||
apr_sockaddr_info_get(&pasv_addr, apr_psprintf(p, "%d.%d.%d.%d", h3, h2, h1, h0), connect_addr->family, pasvport, 0, p);
|
||||
rv = apr_connect(data_sock, pasv_addr);
|
||||
rv = apr_socket_connect(data_sock, pasv_addr);
|
||||
if (rv != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
|
||||
"proxy: FTP: PASV attempt to connect to %pI failed - Firewall/NAT?", pasv_addr);
|
||||
@@ -1402,7 +1402,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
apr_port_t local_port;
|
||||
unsigned int h0, h1, h2, h3, p0, p1;
|
||||
|
||||
if ((rv = apr_socket_create(&local_sock, connect_addr->family, SOCK_STREAM, r->pool)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_create(&local_sock, connect_addr->family, SOCK_STREAM, 0, r->pool)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: FTP: error creating local socket");
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
@@ -1422,14 +1422,14 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
|
||||
apr_sockaddr_info_get(&local_addr, local_ip, APR_UNSPEC, local_port, 0, r->pool);
|
||||
|
||||
if ((rv = apr_bind(local_sock, local_addr)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_bind(local_sock, local_addr)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: FTP: error binding to ftp data socket %pI", local_addr);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
|
||||
/* only need a short queue */
|
||||
if ((rv = apr_listen(local_sock, 2)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_listen(local_sock, 2)) != APR_SUCCESS) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
|
||||
"proxy: FTP: error listening to ftp data socket %pI", local_addr);
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
@@ -1766,7 +1766,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
|
||||
/* wait for connection */
|
||||
if (use_port) {
|
||||
for (;;) {
|
||||
rv = apr_accept(&data_sock, local_sock, r->pool);
|
||||
rv = apr_socket_accept(&data_sock, local_sock, r->pool);
|
||||
if (rv == APR_EINTR) {
|
||||
continue;
|
||||
}
|
||||
|
@@ -330,7 +330,7 @@ apr_status_t ap_proxy_http_create_connection(apr_pool_t *p, request_rec *r,
|
||||
apr_socket_timeout_get(p_conn->sock, ¤t_timeout);
|
||||
/* set no timeout */
|
||||
apr_socket_timeout_set(p_conn->sock, 0);
|
||||
socket_status = apr_recv(p_conn->sock, test_buffer, &buffer_len);
|
||||
socket_status = apr_socket_recv(p_conn->sock, test_buffer, &buffer_len);
|
||||
/* put back old timeout */
|
||||
apr_socket_timeout_set(p_conn->sock, current_timeout);
|
||||
if ( APR_STATUS_IS_EOF(socket_status) ) {
|
||||
|
@@ -1167,7 +1167,7 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock,
|
||||
|
||||
while (backend_addr && !connected) {
|
||||
if ((rv = apr_socket_create(newsock, backend_addr->family,
|
||||
SOCK_STREAM, p)) != APR_SUCCESS) {
|
||||
SOCK_STREAM, 0, p)) != APR_SUCCESS) {
|
||||
loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR;
|
||||
ap_log_error(APLOG_MARK, loglevel, rv, s,
|
||||
"proxy: %s: error creating fam %d socket for target %s",
|
||||
@@ -1205,7 +1205,7 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock,
|
||||
proxy_function, backend_addr->family, backend_name);
|
||||
|
||||
/* make the connection out of the socket */
|
||||
rv = apr_connect(*newsock, backend_addr);
|
||||
rv = apr_socket_connect(*newsock, backend_addr);
|
||||
|
||||
/* if an error occurred, loop round and try again */
|
||||
if (rv != APR_SUCCESS) {
|
||||
|
@@ -852,11 +852,11 @@ static void ssl_check_public_cert(server_rec *s,
|
||||
}
|
||||
|
||||
if (SSL_X509_getCN(ptemp, cert, &cn)) {
|
||||
int fnm_flags = FNM_PERIOD|FNM_CASE_BLIND;
|
||||
int fnm_flags = APR_FNM_PERIOD|APR_FNM_CASE_BLIND;
|
||||
|
||||
if (apr_fnmatch_test(cn) &&
|
||||
(apr_fnmatch(cn, s->server_hostname,
|
||||
fnm_flags) == FNM_NOMATCH))
|
||||
fnm_flags) == APR_FNM_NOMATCH))
|
||||
{
|
||||
ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s,
|
||||
"%s server certificate wildcard CommonName (CN) `%s' "
|
||||
|
@@ -118,7 +118,7 @@ void ssl_scache_dbm_kill(server_rec *s)
|
||||
SSLModConfigRec *mc = myModConfig(s);
|
||||
apr_pool_t *p;
|
||||
|
||||
apr_pool_sub_make(&p, mc->pPool, NULL);
|
||||
apr_pool_create_ex(&p, mc->pPool, NULL, NULL);
|
||||
if (p != NULL) {
|
||||
/* the correct way */
|
||||
unlink(apr_pstrcat(p, mc->szSessionCacheDataFile, SSL_DBM_FILE_SUFFIX_DIR, NULL));
|
||||
@@ -350,7 +350,7 @@ void ssl_scache_dbm_expire(server_rec *s)
|
||||
ssl_mutex_on(s);
|
||||
for (;;) {
|
||||
/* allocate the key array in a memory sub pool */
|
||||
apr_pool_sub_make(&p, mc->pPool, NULL);
|
||||
apr_pool_create_ex(&p, mc->pPool, NULL, NULL);
|
||||
if (p == NULL)
|
||||
break;
|
||||
if ((keylist = apr_palloc(p, sizeof(dbmkey)*KEYMAX)) == NULL) {
|
||||
|
@@ -119,7 +119,7 @@ AP_DECLARE(apr_status_t) beosd_accept(void **accepted, ap_listen_rec *lr,
|
||||
apr_status_t status;
|
||||
int sockdes;
|
||||
|
||||
status = apr_accept(&csd, lr->sd, ptrans);
|
||||
status = apr_socket_accept(&csd, lr->sd, ptrans);
|
||||
if (status == APR_SUCCESS) {
|
||||
*accepted = csd;
|
||||
apr_os_sock_get(&sockdes, csd);
|
||||
@@ -195,13 +195,13 @@ AP_DECLARE(apr_status_t) beosd_accept(void **accepted, ap_listen_rec *lr,
|
||||
* occur in mobile IP.
|
||||
*/
|
||||
ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
|
||||
"apr_accept: giving up.");
|
||||
"apr_socket_accept: giving up.");
|
||||
return APR_EGENERAL;
|
||||
#endif /*ENETDOWN*/
|
||||
|
||||
default:
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
|
||||
"apr_accept: (client socket)");
|
||||
"apr_socket_accept: (client socket)");
|
||||
return APR_EGENERAL;
|
||||
}
|
||||
return status;
|
||||
|
@@ -504,7 +504,7 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
|
||||
int sockdes;
|
||||
|
||||
*accepted = NULL;
|
||||
status = apr_accept(&csd, lr->sd, ptrans);
|
||||
status = apr_socket_accept(&csd, lr->sd, ptrans);
|
||||
if (status == APR_SUCCESS) {
|
||||
*accepted = csd;
|
||||
apr_os_sock_get(&sockdes, csd);
|
||||
@@ -608,7 +608,7 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
|
||||
* occur in mobile IP.
|
||||
*/
|
||||
ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
|
||||
"apr_accept: giving up.");
|
||||
"apr_socket_accept: giving up.");
|
||||
return APR_EGENERAL;
|
||||
#endif /*ENETDOWN*/
|
||||
|
||||
@@ -625,7 +625,7 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
|
||||
#else
|
||||
default:
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
|
||||
"apr_accept: (client socket)");
|
||||
"apr_socket_accept: (client socket)");
|
||||
return APR_EGENERAL;
|
||||
#endif
|
||||
}
|
||||
|
@@ -1549,7 +1549,7 @@ AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname,
|
||||
&& !(strcmp(fname, ap_server_root_relative(p, SERVER_CONFIG_FILE)))) {
|
||||
apr_finfo_t finfo;
|
||||
|
||||
if (apr_lstat(&finfo, fname, APR_FINFO_TYPE, p) != APR_SUCCESS)
|
||||
if (apr_stat(&finfo, fname, APR_FINFO_LINK | APR_FINFO_TYPE, p) != APR_SUCCESS)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1608,7 +1608,7 @@ AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname,
|
||||
if (strcmp(dirent.name, ".")
|
||||
&& strcmp(dirent.name, "..")
|
||||
&& (apr_fnmatch(pattern, dirent.name,
|
||||
FNM_PERIOD) == APR_SUCCESS)) {
|
||||
APR_FNM_PERIOD) == APR_SUCCESS)) {
|
||||
fnew = (fnames *) apr_array_push(candidates);
|
||||
fnew->fname = ap_make_full_path(p, path, dirent.name);
|
||||
}
|
||||
|
@@ -167,7 +167,7 @@ AP_DECLARE(void) ap_lingering_close(conn_rec *c)
|
||||
/* Shut down the socket for write, which will send a FIN
|
||||
* to the peer.
|
||||
*/
|
||||
if (apr_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS
|
||||
if (apr_socket_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS
|
||||
|| c->aborted) {
|
||||
apr_socket_close(csd);
|
||||
return;
|
||||
@@ -183,7 +183,7 @@ AP_DECLARE(void) ap_lingering_close(conn_rec *c)
|
||||
apr_socket_opt_set(csd, APR_INCOMPLETE_READ, 1);
|
||||
while (1) {
|
||||
nbytes = sizeof(dummybuf);
|
||||
rc = apr_recv(csd, dummybuf, &nbytes);
|
||||
rc = apr_socket_recv(csd, dummybuf, &nbytes);
|
||||
if (rc != APR_SUCCESS || nbytes == 0)
|
||||
break;
|
||||
|
||||
|
@@ -2845,7 +2845,7 @@ static apr_status_t writev_it_all(apr_socket_t *s,
|
||||
|
||||
/* XXX handle checking for non-blocking socket */
|
||||
while (bytes_written != len) {
|
||||
rv = apr_sendv(s, vec + i, nvec - i, &n);
|
||||
rv = apr_socket_sendv(s, vec + i, nvec - i, &n);
|
||||
bytes_written += n;
|
||||
if (rv != APR_SUCCESS)
|
||||
return rv;
|
||||
@@ -2853,7 +2853,7 @@ static apr_status_t writev_it_all(apr_socket_t *s,
|
||||
*nbytes += n;
|
||||
|
||||
/* If the write did not complete, adjust the iovecs and issue
|
||||
* apr_sendv again
|
||||
* apr_socket_sendv again
|
||||
*/
|
||||
if (bytes_written < len) {
|
||||
/* Skip over the vectors that have already been written */
|
||||
@@ -2908,8 +2908,8 @@ static apr_status_t sendfile_it_all(core_net_rec *c,
|
||||
do {
|
||||
apr_size_t tmplen = file_bytes_left;
|
||||
|
||||
rv = apr_sendfile(c->client_socket, fd, hdtr, &file_offset, &tmplen,
|
||||
flags);
|
||||
rv = apr_socket_sendfile(c->client_socket, fd, hdtr, &file_offset, &tmplen,
|
||||
flags);
|
||||
*bytes_sent += tmplen;
|
||||
total_bytes_left -= tmplen;
|
||||
if (!total_bytes_left || rv != APR_SUCCESS) {
|
||||
@@ -3019,7 +3019,7 @@ static apr_status_t emulate_sendfile(core_net_rec *c, apr_file_t *fd,
|
||||
rv = apr_file_read(fd, buffer, &sendlen);
|
||||
while (rv == APR_SUCCESS && sendlen) {
|
||||
bytes_sent = sendlen;
|
||||
rv = apr_send(c->client_socket, &buffer[o], &bytes_sent);
|
||||
rv = apr_socket_send(c->client_socket, &buffer[o], &bytes_sent);
|
||||
if (rv == APR_SUCCESS) {
|
||||
sendlen -= bytes_sent; /* sendlen != bytes_sent ==> partial write */
|
||||
o += bytes_sent; /* o is where we are in the buffer */
|
||||
|
@@ -159,7 +159,7 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
|
||||
ap_sock_disable_nagle(s);
|
||||
#endif
|
||||
|
||||
if ((stat = apr_bind(s, server->bind_addr)) != APR_SUCCESS) {
|
||||
if ((stat = apr_socket_bind(s, server->bind_addr)) != APR_SUCCESS) {
|
||||
ap_log_perror(APLOG_MARK, APLOG_STARTUP|APLOG_CRIT, stat, p,
|
||||
"make_sock: could not bind to address %pI",
|
||||
server->bind_addr);
|
||||
@@ -167,7 +167,7 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
|
||||
return stat;
|
||||
}
|
||||
|
||||
if ((stat = apr_listen(s, ap_listenbacklog)) != APR_SUCCESS) {
|
||||
if ((stat = apr_socket_listen(s, ap_listenbacklog)) != APR_SUCCESS) {
|
||||
ap_log_perror(APLOG_MARK, APLOG_STARTUP|APLOG_ERR, stat, p,
|
||||
"make_sock: unable to listen for connections "
|
||||
"on address %pI",
|
||||
@@ -295,7 +295,7 @@ static const char *alloc_listener(process_rec *process, char *addr, apr_port_t p
|
||||
sa = sa->next;
|
||||
|
||||
status = apr_socket_create(&new->sd, new->bind_addr->family,
|
||||
SOCK_STREAM, process->pool);
|
||||
SOCK_STREAM, 0, process->pool);
|
||||
|
||||
#if APR_HAVE_IPV6
|
||||
/* What could happen is that we got an IPv6 address, but this system
|
||||
|
@@ -281,7 +281,7 @@ static process_rec *create_process(int argc, const char * const *argv)
|
||||
apr_pool_tag(process->pconf, "pconf");
|
||||
process->argc = argc;
|
||||
process->argv = argv;
|
||||
process->short_name = apr_filename_of_pathname(argv[0]);
|
||||
process->short_name = apr_filepath_name_get(argv[0]);
|
||||
return process;
|
||||
}
|
||||
|
||||
|
@@ -267,7 +267,7 @@ static void tell_workers_to_exit(void)
|
||||
int i = 0;
|
||||
for (i = 0 ; i < ap_max_child_assigned; i++){
|
||||
len = 4;
|
||||
if (apr_sendto(udp_sock, udp_sa, 0, "die!", &len) != APR_SUCCESS)
|
||||
if (apr_socket_sendto(udp_sock, udp_sa, 0, "die!", &len) != APR_SUCCESS)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -443,7 +443,7 @@ static int32 worker_thread(void * dummy)
|
||||
char *tmpbuf = apr_palloc(ptrans, sizeof(char) * 5);
|
||||
apr_sockaddr_info_get(&rec_sa, "127.0.0.1", APR_UNSPEC, 7772, 0, ptrans);
|
||||
|
||||
if ((ret = apr_recvfrom(rec_sa, listening_sockets[0], 0, tmpbuf, &len))
|
||||
if ((ret = apr_socket_recvfrom(rec_sa, listening_sockets[0], 0, tmpbuf, &len))
|
||||
!= APR_SUCCESS){
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, ret, NULL,
|
||||
"error getting data from UDP!!");
|
||||
@@ -483,12 +483,12 @@ static int32 worker_thread(void * dummy)
|
||||
got_fd:
|
||||
|
||||
if (!this_worker_should_exit) {
|
||||
rv = apr_accept(&csd, sd, ptrans);
|
||||
rv = apr_socket_accept(&csd, sd, ptrans);
|
||||
|
||||
apr_thread_mutex_unlock(accept_mutex);
|
||||
if (rv != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,
|
||||
"apr_accept");
|
||||
"apr_socket_accept");
|
||||
} else {
|
||||
process_socket(ptrans, csd, child_slot, bucket_alloc);
|
||||
requests_this_child--;
|
||||
@@ -795,13 +795,13 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
||||
"couldn't create control socket information, shutting down");
|
||||
return 1;
|
||||
}
|
||||
if (apr_socket_create(&udp_sock, udp_sa->family, SOCK_DGRAM,
|
||||
_pconf) != APR_SUCCESS){
|
||||
if (apr_socket_create(&udp_sock, udp_sa->family, SOCK_DGRAM, 0,
|
||||
_pconf) != APR_SUCCESS){
|
||||
ap_log_error(APLOG_MARK, APLOG_ALERT, errno, s,
|
||||
"couldn't create control socket, shutting down");
|
||||
return 1;
|
||||
}
|
||||
if (apr_bind(udp_sock, udp_sa) != APR_SUCCESS){
|
||||
if (apr_socket_bind(udp_sock, udp_sa) != APR_SUCCESS){
|
||||
ap_log_error(APLOG_MARK, APLOG_ALERT, errno, s,
|
||||
"couldn't bind UDP socket!");
|
||||
return 1;
|
||||
|
@@ -605,7 +605,7 @@ static apr_status_t check_pipe_of_death(void **csd, ap_listen_rec *lr,
|
||||
char pipe_read_char;
|
||||
apr_size_t n = 1;
|
||||
|
||||
ret = apr_recv(lr->sd, &pipe_read_char, &n);
|
||||
ret = apr_socket_recv(lr->sd, &pipe_read_char, &n);
|
||||
if (APR_STATUS_IS_EAGAIN(ret)) {
|
||||
/* It lost the lottery. It must continue to suffer
|
||||
* through a life of servitude. */
|
||||
|
@@ -182,7 +182,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s )
|
||||
apr_sockaddr_info_get(&lr->bind_addr, "0.0.0.0", APR_UNSPEC,
|
||||
DEFAULT_HTTP_PORT, 0, s->process->pool);
|
||||
apr_socket_create(&lr->sd, lr->bind_addr->family,
|
||||
SOCK_STREAM, s->process->pool);
|
||||
SOCK_STREAM, 0, s->process->pool);
|
||||
}
|
||||
|
||||
for (lr = ap_listeners; lr; lr = lr->next) {
|
||||
|
@@ -239,7 +239,7 @@ void ap_mpm_child_main(apr_pool_t *pconf)
|
||||
worker_args->pconn = pconn;
|
||||
|
||||
if (num_listeners == 1) {
|
||||
rv = apr_accept(&worker_args->conn_sd, ap_listeners->sd, pconn);
|
||||
rv = apr_socket_accept(&worker_args->conn_sd, ap_listeners->sd, pconn);
|
||||
} else {
|
||||
rc = DosRequestMutexSem(ap_mpm_accept_mutex, SEM_INDEFINITE_WAIT);
|
||||
|
||||
@@ -287,14 +287,14 @@ void ap_mpm_child_main(apr_pool_t *pconf)
|
||||
}
|
||||
|
||||
sd = lr->sd;
|
||||
rv = apr_accept(&worker_args->conn_sd, sd, pconn);
|
||||
rv = apr_socket_accept(&worker_args->conn_sd, sd, pconn);
|
||||
}
|
||||
}
|
||||
|
||||
if (rv != APR_SUCCESS) {
|
||||
if (!APR_STATUS_IS_EINTR(rv)) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,
|
||||
"apr_accept");
|
||||
"apr_socket_accept");
|
||||
clean_child_exit(APEXIT_CHILDFATAL);
|
||||
}
|
||||
} else {
|
||||
|
@@ -461,7 +461,7 @@ void worker_main(void *arg)
|
||||
wouldblock_retry = MAX_WB_RETRIES;
|
||||
|
||||
while (wouldblock_retry) {
|
||||
if ((stat = apr_accept(&csd, sd, ptrans)) == APR_SUCCESS) {
|
||||
if ((stat = apr_socket_accept(&csd, sd, ptrans)) == APR_SUCCESS) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
@@ -523,13 +523,13 @@ void worker_main(void *arg)
|
||||
* occur in mobile IP.
|
||||
*/
|
||||
ap_log_error(APLOG_MARK, APLOG_EMERG, stat, ap_server_conf,
|
||||
"apr_accept: giving up.");
|
||||
"apr_socket_accept: giving up.");
|
||||
clean_child_exit(APEXIT_CHILDFATAL, my_worker_num, ptrans,
|
||||
bucket_alloc);
|
||||
}
|
||||
else {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR, stat, ap_server_conf,
|
||||
"apr_accept: (client socket)");
|
||||
"apr_socket_accept: (client socket)");
|
||||
clean_child_exit(1, my_worker_num, ptrans, bucket_alloc);
|
||||
}
|
||||
}
|
||||
|
@@ -672,7 +672,7 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_
|
||||
char *cmd;
|
||||
char *cwd;
|
||||
|
||||
apr_pool_sub_make(&ptemp, p, NULL);
|
||||
apr_pool_create_ex(&ptemp, p, NULL, NULL);
|
||||
|
||||
/* Build the command line. Should look something like this:
|
||||
* C:/apache/bin/apache.exe -f ap_server_confname
|
||||
@@ -1190,10 +1190,10 @@ void winnt_rewrite_args(process_rec *process)
|
||||
/* WARNING: There is an implict assumption here that the
|
||||
* executable resides in ServerRoot or ServerRoot\bin
|
||||
*/
|
||||
def_server_root = (char *) apr_filename_of_pathname(binpath);
|
||||
def_server_root = (char *) apr_filepath_name_get(binpath);
|
||||
if (def_server_root > binpath) {
|
||||
*(def_server_root - 1) = '\0';
|
||||
def_server_root = (char *) apr_filename_of_pathname(binpath);
|
||||
def_server_root = (char *) apr_filepath_name_get(binpath);
|
||||
if (!strcasecmp(def_server_root, "bin"))
|
||||
*(def_server_root - 1) = '\0';
|
||||
}
|
||||
|
@@ -81,7 +81,7 @@ static DWORD WINAPI service_stderr_thread(LPVOID hPipe)
|
||||
apr_status_t rv;
|
||||
apr_pool_t *p;
|
||||
|
||||
apr_pool_sub_make(&p, NULL, NULL);
|
||||
apr_pool_create_ex(&p, NULL, NULL, NULL);
|
||||
|
||||
errarg[0] = "The Apache service named";
|
||||
errarg[1] = display_name;
|
||||
|
@@ -77,8 +77,8 @@ AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod)
|
||||
(*pod)->p = p;
|
||||
|
||||
/* close these before exec. */
|
||||
apr_file_unset_inherit((*pod)->pod_in);
|
||||
apr_file_unset_inherit((*pod)->pod_out);
|
||||
apr_file_inherit_unset((*pod)->pod_in);
|
||||
apr_file_inherit_unset((*pod)->pod_out);
|
||||
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
|
@@ -414,8 +414,8 @@ AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod)
|
||||
APR_UNSPEC, ap_listeners->bind_addr->port, 0, p);
|
||||
|
||||
/* close these before exec. */
|
||||
apr_file_unset_inherit((*pod)->pod_in);
|
||||
apr_file_unset_inherit((*pod)->pod_out);
|
||||
apr_file_inherit_unset((*pod)->pod_in);
|
||||
apr_file_inherit_unset((*pod)->pod_out);
|
||||
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
@@ -488,7 +488,7 @@ static apr_status_t dummy_connection(ap_pod_t *pod)
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = apr_socket_create(&sock, pod->sa->family, SOCK_STREAM, p);
|
||||
rv = apr_socket_create(&sock, pod->sa->family, SOCK_STREAM, 0, p);
|
||||
if (rv != APR_SUCCESS) {
|
||||
ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf,
|
||||
"get socket to connect to listener");
|
||||
@@ -509,7 +509,7 @@ static apr_status_t dummy_connection(ap_pod_t *pod)
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = apr_connect(sock, pod->sa);
|
||||
rv = apr_socket_connect(sock, pod->sa);
|
||||
if (rv != APR_SUCCESS) {
|
||||
int log_level = APLOG_WARNING;
|
||||
|
||||
|
@@ -418,7 +418,8 @@ static int resolve_symlink(char *d, apr_finfo_t *lfi, int opts, apr_pool_t *p)
|
||||
* owner of the symlink, then get the info of the target.
|
||||
*/
|
||||
if (!(lfi->valid & APR_FINFO_OWNER)) {
|
||||
if ((res = apr_lstat(&fi, d, lfi->valid | APR_FINFO_OWNER, p))
|
||||
if ((res = apr_stat(&fi, d,
|
||||
lfi->valid | APR_FINFO_LINK | APR_FINFO_OWNER, p))
|
||||
!= APR_SUCCESS) {
|
||||
return HTTP_FORBIDDEN;
|
||||
}
|
||||
@@ -429,7 +430,7 @@ static int resolve_symlink(char *d, apr_finfo_t *lfi, int opts, apr_pool_t *p)
|
||||
return HTTP_FORBIDDEN;
|
||||
}
|
||||
|
||||
if (apr_compare_users(fi.user, lfi->user) != APR_SUCCESS) {
|
||||
if (apr_uid_compare(fi.user, lfi->user) != APR_SUCCESS) {
|
||||
return HTTP_FORBIDDEN;
|
||||
}
|
||||
|
||||
@@ -806,7 +807,7 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r)
|
||||
&& ((entry_core->d_components < seg)
|
||||
|| (entry_core->d_is_fnmatch
|
||||
? (apr_fnmatch(entry_core->d, r->filename,
|
||||
FNM_PATHNAME) != APR_SUCCESS)
|
||||
APR_FNM_PATHNAME) != APR_SUCCESS)
|
||||
: (strcmp(r->filename, entry_core->d) != 0)))) {
|
||||
continue;
|
||||
}
|
||||
@@ -976,14 +977,16 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r)
|
||||
continue;
|
||||
}
|
||||
|
||||
/* We choose apr_lstat here, rather that apr_stat, so that we
|
||||
* capture this path object rather than its target. We will
|
||||
* replace the info with our target's info below. We especially
|
||||
* want the name of this 'link' object, not the name of its
|
||||
* target, if we are fixing the filename case/resolving aliases.
|
||||
/* We choose apr_stat with flag APR_FINFO_LINK here, rather that
|
||||
* plain apr_stat, so that we capture this path object rather than
|
||||
* its target. We will replace the info with our target's info
|
||||
* below. We especially want the name of this 'link' object, not
|
||||
* the name of its target, if we are fixing the filename
|
||||
* case/resolving aliases.
|
||||
*/
|
||||
rv = apr_lstat(&thisinfo, r->filename,
|
||||
APR_FINFO_MIN | APR_FINFO_NAME, r->pool);
|
||||
rv = apr_stat(&thisinfo, r->filename,
|
||||
APR_FINFO_MIN | APR_FINFO_NAME | APR_FINFO_LINK,
|
||||
r->pool);
|
||||
|
||||
if (APR_STATUS_IS_ENOENT(rv)) {
|
||||
/* Nothing? That could be nice. But our directory
|
||||
@@ -1273,7 +1276,7 @@ AP_DECLARE(int) ap_location_walk(request_rec *r)
|
||||
if (entry_core->r
|
||||
? ap_regexec(entry_core->r, r->uri, 0, NULL, 0)
|
||||
: (entry_core->d_is_fnmatch
|
||||
? apr_fnmatch(entry_core->d, cache->cached, FNM_PATHNAME)
|
||||
? apr_fnmatch(entry_core->d, cache->cached, APR_FNM_PATHNAME)
|
||||
: (strncmp(entry_core->d, cache->cached, len)
|
||||
|| (entry_core->d[len - 1] != '/'
|
||||
&& cache->cached[len] != '/'
|
||||
@@ -1422,7 +1425,7 @@ AP_DECLARE(int) ap_file_walk(request_rec *r)
|
||||
if (entry_core->r
|
||||
? ap_regexec(entry_core->r, cache->cached , 0, NULL, 0)
|
||||
: (entry_core->d_is_fnmatch
|
||||
? apr_fnmatch(entry_core->d, cache->cached, FNM_PATHNAME)
|
||||
? apr_fnmatch(entry_core->d, cache->cached, APR_FNM_PATHNAME)
|
||||
: strcmp(entry_core->d, cache->cached))) {
|
||||
continue;
|
||||
}
|
||||
@@ -1715,10 +1718,10 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
|
||||
if ((dirent->valid & APR_FINFO_MIN) != APR_FINFO_MIN) {
|
||||
/*
|
||||
* apr_dir_read isn't very complete on this platform, so
|
||||
* we need another apr_lstat (or simply apr_stat if we allow
|
||||
* all symlinks here.) If this is an APR_LNK that resolves
|
||||
* to an APR_DIR, then we will rerun everything anyways...
|
||||
* this should be safe.
|
||||
* we need another apr_stat (with or without APR_FINFO_LINK
|
||||
* depending on whether we allow all symlinks here.) If this
|
||||
* is an APR_LNK that resolves to an APR_DIR, then we will rerun
|
||||
* everything anyways... this should be safe.
|
||||
*/
|
||||
apr_status_t rv;
|
||||
if (ap_allow_options(rnew) & OPT_SYM_LINKS) {
|
||||
@@ -1729,8 +1732,9 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (((rv = apr_lstat(&rnew->finfo, rnew->filename,
|
||||
APR_FINFO_MIN, rnew->pool)) != APR_SUCCESS)
|
||||
if (((rv = apr_stat(&rnew->finfo, rnew->filename,
|
||||
APR_FINFO_LINK | APR_FINFO_MIN,
|
||||
rnew->pool)) != APR_SUCCESS)
|
||||
&& (rv != APR_INCOMPLETE)) {
|
||||
rnew->finfo.filetype = 0;
|
||||
}
|
||||
@@ -1834,8 +1838,9 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (((rv = apr_lstat(&rnew->finfo, rnew->filename,
|
||||
APR_FINFO_MIN, rnew->pool)) != APR_SUCCESS)
|
||||
if (((rv = apr_stat(&rnew->finfo, rnew->filename,
|
||||
APR_FINFO_LINK | APR_FINFO_MIN,
|
||||
rnew->pool)) != APR_SUCCESS)
|
||||
&& (rv != APR_INCOMPLETE)) {
|
||||
rnew->finfo.filetype = 0;
|
||||
}
|
||||
|
@@ -928,7 +928,7 @@ AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg,
|
||||
|
||||
if (finfo.filetype != APR_REG &&
|
||||
#if defined(WIN32) || defined(OS2) || defined(NETWARE)
|
||||
strcasecmp(apr_filename_of_pathname(name), "nul") != 0) {
|
||||
strcasecmp(apr_filepath_name_get(name), "nul") != 0) {
|
||||
#else
|
||||
strcmp(name, "/dev/null") != 0) {
|
||||
#endif /* WIN32 || OS2 */
|
||||
@@ -1852,7 +1852,7 @@ AP_DECLARE(int) ap_is_rdirectory(apr_pool_t *p, const char *path)
|
||||
{
|
||||
apr_finfo_t finfo;
|
||||
|
||||
if (apr_lstat(&finfo, path, APR_FINFO_TYPE, p) != APR_SUCCESS)
|
||||
if (apr_stat(&finfo, path, APR_FINFO_LINK | APR_FINFO_TYPE, p) != APR_SUCCESS)
|
||||
return 0; /* in error condition, just return no */
|
||||
|
||||
return (finfo.filetype == APR_DIR);
|
||||
|
@@ -469,7 +469,7 @@ AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
|
||||
if ((*getsfunc) (w, MAX_STRING_LEN - 1, getsfunc_data) == 0) {
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r,
|
||||
"Premature end of script headers: %s",
|
||||
apr_filename_of_pathname(r->filename));
|
||||
apr_filepath_name_get(r->filename));
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
|
||||
@@ -562,7 +562,7 @@ AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
|
||||
|
||||
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r,
|
||||
"%s: %s", malformed,
|
||||
apr_filename_of_pathname(r->filename));
|
||||
apr_filepath_name_get(r->filename));
|
||||
return HTTP_INTERNAL_SERVER_ERROR;
|
||||
}
|
||||
|
||||
|
26
support/ab.c
26
support/ab.c
@@ -103,9 +103,9 @@
|
||||
** Version 2.0.36-dev
|
||||
** Improvements to concurrent processing:
|
||||
** - Enabled non-blocking connect()s.
|
||||
** - Prevent blocking calls to apr_recv() (thereby allowing AB to
|
||||
** - Prevent blocking calls to apr_socket_recv() (thereby allowing AB to
|
||||
** manage its entire set of socket descriptors).
|
||||
** - Any error returned from apr_recv() that is not EAGAIN or EOF
|
||||
** - Any error returned from apr_socket_recv() that is not EAGAIN or EOF
|
||||
** is now treated as fatal.
|
||||
** Contributed by Aaron Bannert, April 24, 2002
|
||||
**
|
||||
@@ -775,7 +775,7 @@ static void write_request(struct connection * c)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
e = apr_send(c->aprsock, request + c->rwrote, &l);
|
||||
e = apr_socket_send(c->aprsock, request + c->rwrote, &l);
|
||||
|
||||
/*
|
||||
* Bail early on the most common case
|
||||
@@ -1257,7 +1257,7 @@ static void start_connect(struct connection * c)
|
||||
apr_pool_create(&c->ctx, cntxt);
|
||||
|
||||
if ((rv = apr_socket_create(&c->aprsock, destsa->family,
|
||||
SOCK_STREAM, c->ctx)) != APR_SUCCESS) {
|
||||
SOCK_STREAM, 0, c->ctx)) != APR_SUCCESS) {
|
||||
apr_err("socket", rv);
|
||||
}
|
||||
if ((rv = apr_socket_opt_set(c->aprsock, APR_SO_NONBLOCK, 1))
|
||||
@@ -1265,7 +1265,7 @@ static void start_connect(struct connection * c)
|
||||
apr_err("socket nonblock", rv);
|
||||
}
|
||||
c->start = apr_time_now();
|
||||
if ((rv = apr_connect(c->aprsock, destsa)) != APR_SUCCESS) {
|
||||
if ((rv = apr_socket_connect(c->aprsock, destsa)) != APR_SUCCESS) {
|
||||
if (APR_STATUS_IS_EINPROGRESS(rv)) {
|
||||
apr_pollfd_t new_pollfd;
|
||||
c->state = STATE_CONNECTING;
|
||||
@@ -1287,7 +1287,7 @@ static void start_connect(struct connection * c)
|
||||
if (bad++ > 10) {
|
||||
fprintf(stderr,
|
||||
"\nTest aborted after 10 failures\n\n");
|
||||
apr_err("apr_connect()", rv);
|
||||
apr_err("apr_socket_connect()", rv);
|
||||
}
|
||||
c->state = STATE_UNCONNECTED;
|
||||
start_connect(c);
|
||||
@@ -1387,7 +1387,7 @@ static void read_connection(struct connection * c)
|
||||
}
|
||||
else {
|
||||
#endif
|
||||
status = apr_recv(c->aprsock, buffer, &r);
|
||||
status = apr_socket_recv(c->aprsock, buffer, &r);
|
||||
if (APR_STATUS_IS_EAGAIN(status))
|
||||
return;
|
||||
else if (r == 0 && APR_STATUS_IS_EOF(status)) {
|
||||
@@ -1395,12 +1395,12 @@ static void read_connection(struct connection * c)
|
||||
close_connection(c);
|
||||
return;
|
||||
}
|
||||
/* catch legitimate fatal apr_recv errors */
|
||||
/* catch legitimate fatal apr_socket_recv errors */
|
||||
else if (status != APR_SUCCESS) {
|
||||
err_except++; /* XXX: is this the right error counter? */
|
||||
/* XXX: Should errors here be fatal, or should we allow a
|
||||
* certain number of them before completely failing? -aaron */
|
||||
apr_err("apr_recv", status);
|
||||
apr_err("apr_socket_recv", status);
|
||||
}
|
||||
#ifdef USE_SSL
|
||||
}
|
||||
@@ -1758,7 +1758,7 @@ static void test(void)
|
||||
if (rv & APR_POLLOUT) {
|
||||
if (c->state == STATE_CONNECTING) {
|
||||
apr_pollfd_t remove_pollfd;
|
||||
rv = apr_connect(c->aprsock, destsa);
|
||||
rv = apr_socket_connect(c->aprsock, destsa);
|
||||
remove_pollfd.desc_type = APR_POLL_SOCKET;
|
||||
remove_pollfd.desc.s = c->aprsock;
|
||||
apr_pollset_remove(readbits, &remove_pollfd);
|
||||
@@ -1768,7 +1768,7 @@ static void test(void)
|
||||
if (bad++ > 10) {
|
||||
fprintf(stderr,
|
||||
"\nTest aborted after 10 failures\n\n");
|
||||
apr_err("apr_connect()", rv);
|
||||
apr_err("apr_socket_connect()", rv);
|
||||
}
|
||||
c->state = STATE_UNCONNECTED;
|
||||
start_connect(c);
|
||||
@@ -1822,14 +1822,14 @@ static void test(void)
|
||||
static void copyright(void)
|
||||
{
|
||||
if (!use_html) {
|
||||
printf("This is ApacheBench, Version %s\n", AP_AB_BASEREVISION " <$Revision: 1.130 $> apache-2.0");
|
||||
printf("This is ApacheBench, Version %s\n", AP_AB_BASEREVISION " <$Revision: 1.131 $> apache-2.0");
|
||||
printf("Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\n");
|
||||
printf("Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/\n");
|
||||
printf("\n");
|
||||
}
|
||||
else {
|
||||
printf("<p>\n");
|
||||
printf(" This is ApacheBench, Version %s <i><%s></i> apache-2.0<br>\n", AP_AB_BASEREVISION, "$Revision: 1.130 $");
|
||||
printf(" This is ApacheBench, Version %s <i><%s></i> apache-2.0<br>\n", AP_AB_BASEREVISION, "$Revision: 1.131 $");
|
||||
printf(" Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br>\n");
|
||||
printf(" Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/<br>\n");
|
||||
printf("</p>\n<p>\n");
|
||||
|
Reference in New Issue
Block a user