1
0
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:
Jeff Trawick
2003-09-03 19:27:12 +00:00
parent d19dc82a59
commit aa21671e13
43 changed files with 138 additions and 131 deletions

View File

@@ -2,6 +2,8 @@ Changes with Apache 2.1.0-dev
[Remove entries to the current 2.0 section below, when backported] [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. *) Modify ap_get_client_block() to note if it has seen EOS.
[Justin Erenkrantz] [Justin Erenkrantz]

View File

@@ -79,7 +79,7 @@ extern "C" {
* @param tm the exploded time * @param tm the exploded time
* @param t the time to explode: MUST be within the last * @param t the time to explode: MUST be within the last
* AP_TIME_RECENT_THRESHOLD seconds * 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 * a cache of pre-exploded time structures. It is useful for things
* that need to explode the current time multiple times per second, * that need to explode the current time multiple times per second,
* like loggers. * like loggers.

View File

@@ -170,7 +170,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
*ptr = '\0'; *ptr = '\0';
/* Figure out what the extension is so that we can matche it. */ /* 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 there isn't an extension then give it an empty string */
if (!ext) { if (!ext) {

View File

@@ -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_status_t rv;
apr_pool_sub_make(&loaded.pool, pconf, NULL); apr_pool_create_ex(&loaded.pool, pconf, NULL, NULL);
if (!loaded.pool) { if (!loaded.pool) {
ap_log_error(APLOG_MARK, APLOG_ERR, APR_EGENERAL, NULL, ap_log_error(APLOG_MARK, APLOG_ERR, APR_EGENERAL, NULL,
"ISAPI: could not create the isapi cache pool"); "ISAPI: could not create the isapi cache pool");

View File

@@ -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 * win32 parsing here, therefore the final extension is the only one
* we will consider. * 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 /* 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. * we've been instructed to search the registry, then do so.

View File

@@ -315,7 +315,7 @@ static int mmap_handler(request_rec *r, a_file *file)
apr_mmap_t *mm; apr_mmap_t *mm;
apr_bucket_brigade *bb = apr_brigade_create(r->pool, c->bucket_alloc); 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, b = apr_bucket_mmap_create(mm, 0, (apr_size_t)file->finfo.size,
c->bucket_alloc); c->bucket_alloc);
APR_BRIGADE_INSERT_TAIL(bb, b); APR_BRIGADE_INSERT_TAIL(bb, b);

View File

@@ -671,7 +671,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, apr_datum_t key,
apr_status_t rv; apr_status_t rv;
/* if we don't see the file, then it's a locknull */ /* 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 (rv != APR_SUCCESS && rv != APR_INCOMPLETE) {
if ((err = dav_fs_remove_locknull_member(p, fname, &buf)) != NULL) { if ((err = dav_fs_remove_locknull_member(p, fname, &buf)) != NULL) {
/* ### push a higher-level description? */ /* ### push a higher-level description? */

View File

@@ -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! */ /* ### Optimize me, dirent can give us what we need! */
status = apr_lstat(&fsctx->info1.finfo, fsctx->path1.buf, status = apr_stat(&fsctx->info1.finfo, fsctx->path1.buf,
APR_FINFO_NORM, pool); APR_FINFO_NORM | APR_FINFO_LINK, pool);
if (status != APR_SUCCESS && status != APR_INCOMPLETE) { if (status != APR_SUCCESS && status != APR_INCOMPLETE) {
/* woah! where'd it go? */ /* woah! where'd it go? */
/* ### should have a better error here */ /* ### should have a better error here */

View File

@@ -949,7 +949,7 @@ static apr_status_t write_body(cache_handle_t *h, request_rec *r, apr_bucket_bri
if (rv != APR_SUCCESS) { if (rv != APR_SUCCESS) {
return rv; return rv;
} }
apr_file_unset_inherit(tmpfile); apr_file_inherit_unset(tmpfile);
apr_os_file_get(&(mobj->fd), tmpfile); apr_os_file_get(&(mobj->fd), tmpfile);
/* Open for business */ /* Open for business */

View File

@@ -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); val = ap_ht_time(r->pool, r->finfo.mtime, conf->default_time_fmt, 0);
} }
else if (!strcasecmp(var, "USER_NAME")) { 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>"; val = "<unknown>";
} }
} }

View File

@@ -812,7 +812,7 @@ static char *find_default_item(char *bogus_name, apr_array_header_t *list)
*/ */
#ifdef CASE_BLIND_FILESYSTEM #ifdef CASE_BLIND_FILESYSTEM
#define MATCH_FLAGS FNM_CASE_BLIND #define MATCH_FLAGS APR_FNM_CASE_BLIND
#else #else
#define MATCH_FLAGS 0 #define MATCH_FLAGS 0
#endif #endif
@@ -1298,7 +1298,7 @@ static struct ent *make_autoindex_entry(const apr_finfo_t *dirent,
#ifndef CASE_BLIND_FILESYSTEM #ifndef CASE_BLIND_FILESYSTEM
if (pattern && (apr_fnmatch(pattern, dirent->name, if (pattern && (apr_fnmatch(pattern, dirent->name,
FNM_NOESCAPE | FNM_PERIOD) APR_FNM_NOESCAPE | APR_FNM_PERIOD)
!= APR_SUCCESS)) != APR_SUCCESS))
return (NULL); return (NULL);
#else /* !CASE_BLIND_FILESYSTEM */ #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. * reliably - so we have to granularise at the OS level.
*/ */
if (pattern && (apr_fnmatch(pattern, dirent->name, 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)) != APR_SUCCESS))
return (NULL); return (NULL);
#endif /* !CASE_BLIND_FILESYSTEM */ #endif /* !CASE_BLIND_FILESYSTEM */

View File

@@ -482,7 +482,7 @@ static apr_status_t run_cgi_child(apr_file_t **script_out,
/* Bad things happened. Everyone should have cleaned up. */ /* Bad things happened. Everyone should have cleaned up. */
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rc, r, ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rc, r,
"couldn't create child process: %d: %s", rc, "couldn't create child process: %d: %s", rc,
apr_filename_of_pathname(r->filename)); apr_filepath_name_get(r->filename));
} }
else { else {
apr_pool_note_subprocess(p, procnew, APR_KILL_AFTER_TIMEOUT); apr_pool_note_subprocess(p, procnew, APR_KILL_AFTER_TIMEOUT);
@@ -607,7 +607,7 @@ static int cgi_handler(request_rec *r)
return DECLINED; return DECLINED;
} }
argv0 = apr_filename_of_pathname(r->filename); argv0 = apr_filepath_name_get(r->filename);
nph = !(strncmp(argv0, "nph-", 4)); nph = !(strncmp(argv0, "nph-", 4));
conf = ap_get_module_config(r->server->module_config, &cgi_module); conf = ap_get_module_config(r->server->module_config, &cgi_module);

View File

@@ -775,7 +775,7 @@ static int cgid_server(void *data)
*/ */
ap_log_error(APLOG_MARK, APLOG_ERR, rc, r->server, ap_log_error(APLOG_MARK, APLOG_ERR, rc, r->server,
"couldn't create child process: %d: %s", rc, "couldn't create child process: %d: %s", rc,
apr_filename_of_pathname(r->filename)); apr_filepath_name_get(r->filename));
} }
else { else {
apr_hash_set(script_hash, &cgid_req.conn_id, sizeof(cgid_req.conn_id), apr_hash_set(script_hash, &cgid_req.conn_id, sizeof(cgid_req.conn_id),

View File

@@ -1066,7 +1066,7 @@ static int read_type_map(apr_file_t **map, negotiation_state *neg,
break; break;
} }
mime_info.bytes = len; 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 { else {

View File

@@ -3376,7 +3376,7 @@ static int apply_rewrite_cond(rewritecond_entry *p, rewrite_ctx *ctx)
case CONDPAT_FILE_LINK: case CONDPAT_FILE_LINK:
#if !defined(OS2) #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) { && sb.filetype == APR_LNK) {
rc = 1; rc = 1;
} }

View File

@@ -325,7 +325,7 @@ static int translate_userdir(request_rec *r)
#if APR_HAS_USER #if APR_HAS_USER
char *homedir; 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); filename = apr_pstrcat(r->pool, homedir, "/", userdir, NULL);
} }
#else #else
@@ -376,7 +376,7 @@ static ap_unix_identity_t *get_suexec_id_doer(const request_rec *r)
return NULL; 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; return NULL;
} }

View File

@@ -158,7 +158,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
if ((rv = apr_socket_create(newsock, if ((rv = apr_socket_create(newsock,
localsa->family, /* has to match */ 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, ap_log_error(APLOG_MARK, APLOG_CRIT, rv, srv,
"rfc1413: error creating query socket"); "rfc1413: error creating query socket");
return rv; return rv;
@@ -180,7 +180,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
* addresses from the query socket. * 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, ap_log_error(APLOG_MARK, APLOG_CRIT, rv, srv,
"rfc1413: Error binding query socket to local port"); "rfc1413: Error binding query socket to local port");
apr_socket_close(*newsock); 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 * errors from connect usually imply the remote machine doesn't support
* the service; don't log such an error * 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); apr_socket_close(*newsock);
return rv; return rv;
} }
@@ -223,7 +223,7 @@ static apr_status_t rfc1413_query(apr_socket_t *sock, conn_rec *conn,
while (i < buflen) { while (i < buflen) {
apr_size_t j = strlen(buffer + i); apr_size_t j = strlen(buffer + i);
apr_status_t status; apr_status_t status;
status = apr_send(sock, buffer+i, &j); status = apr_socket_send(sock, buffer+i, &j);
if (status != APR_SUCCESS) { if (status != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv, ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv,
"write: rfc1413: error sending request"); "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) { while((cp = strchr(buffer, '\012')) == NULL && i < sizeof(buffer) - 1) {
apr_size_t j = sizeof(buffer) - 1 - i; apr_size_t j = sizeof(buffer) - 1 - i;
apr_status_t status; apr_status_t status;
status = apr_recv(sock, buffer+i, &j); status = apr_socket_recv(sock, buffer+i, &j);
if (status != APR_SUCCESS) { if (status != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv, ap_log_error(APLOG_MARK, APLOG_CRIT, status, srv,
"read: rfc1413: error reading response"); "read: rfc1413: error reading response");

View File

@@ -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"); "proxy: CONNECT: sending the CONNECT request to the remote proxy");
nbytes = apr_snprintf(buffer, sizeof(buffer), nbytes = apr_snprintf(buffer, sizeof(buffer),
"CONNECT %s HTTP/1.0" CRLF, r->uri); "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), nbytes = apr_snprintf(buffer, sizeof(buffer),
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version()); "Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
apr_send(sock, buffer, &nbytes); apr_socket_send(sock, buffer, &nbytes);
} }
else { else {
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, 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), nbytes = apr_snprintf(buffer, sizeof(buffer),
"HTTP/1.0 200 Connection Established" CRLF); "HTTP/1.0 200 Connection Established" CRLF);
ap_xlate_proto_to_ascii(buffer, nbytes); 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), nbytes = apr_snprintf(buffer, sizeof(buffer),
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version()); "Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
ap_xlate_proto_to_ascii(buffer, nbytes); ap_xlate_proto_to_ascii(buffer, nbytes);
apr_send(client_socket, buffer, &nbytes); apr_socket_send(client_socket, buffer, &nbytes);
#if 0 #if 0
/* This is safer code, but it doesn't work yet. I'm leaving it /* This is safer code, but it doesn't work yet. I'm leaving it
* here so that I can fix it later. * 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, /* ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"proxy: CONNECT: sock was set");*/ "proxy: CONNECT: sock was set");*/
nbytes = sizeof(buffer); nbytes = sizeof(buffer);
if (apr_recv(sock, buffer, &nbytes) == APR_SUCCESS) { if (apr_socket_recv(sock, buffer, &nbytes) == APR_SUCCESS) {
o = 0; o = 0;
i = nbytes; i = nbytes;
while(i > 0) 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) * if ((nbytes = ap_rwrite(buffer + o, nbytes, r)) < 0)
* rbb * rbb
*/ */
if (apr_send(client_socket, buffer + o, &nbytes) != APR_SUCCESS) if (apr_socket_send(client_socket, buffer + o, &nbytes) != APR_SUCCESS)
break; break;
o += nbytes; o += nbytes;
i -= 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, /* ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
"proxy: CONNECT: client was set");*/ "proxy: CONNECT: client was set");*/
nbytes = sizeof(buffer); nbytes = sizeof(buffer);
if (apr_recv(client_socket, buffer, &nbytes) == APR_SUCCESS) { if (apr_socket_recv(client_socket, buffer, &nbytes) == APR_SUCCESS) {
o = 0; o = 0;
i = nbytes; i = nbytes;
while(i > 0) while(i > 0)
{ {
nbytes = i; nbytes = i;
if (apr_send(sock, buffer + o, &nbytes) != APR_SUCCESS) if (apr_socket_send(sock, buffer + o, &nbytes) != APR_SUCCESS)
break; break;
o += nbytes; o += nbytes;
i -= nbytes; i -= nbytes;

View File

@@ -954,7 +954,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
int failed = 1; int failed = 1;
while (connect_addr) { 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: error creating socket"); "proxy: FTP: error creating socket");
connect_addr = connect_addr->next; 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); connect_addr->family, connect_addr, connectname);
/* make the connection out of the socket */ /* 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 an error occurred, loop round and try again */
if (rv != APR_SUCCESS) { 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", "proxy: FTP: EPSV contacting remote host on port %d",
data_port); 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: error creating EPSV socket"); "proxy: FTP: error creating EPSV socket");
return HTTP_INTERNAL_SERVER_ERROR; 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_socket_addr_get(&data_addr, APR_REMOTE, sock);
apr_sockaddr_ip_get(&data_ip, data_addr); apr_sockaddr_ip_get(&data_ip, data_addr);
apr_sockaddr_info_get(&epsv_addr, data_ip, connect_addr->family, data_port, 0, p); 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) { if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server, ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
"proxy: FTP: EPSV attempt to connect to %pI failed - Firewall/NAT?", epsv_addr); "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", "proxy: FTP: PASV contacting host %d.%d.%d.%d:%d",
h3, h2, h1, h0, pasvport); 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: error creating PASV socket"); "proxy: error creating PASV socket");
return HTTP_INTERNAL_SERVER_ERROR; return HTTP_INTERNAL_SERVER_ERROR;
@@ -1376,7 +1376,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
/* make the connection */ /* 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); 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) { if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server, ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
"proxy: FTP: PASV attempt to connect to %pI failed - Firewall/NAT?", pasv_addr); "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; apr_port_t local_port;
unsigned int h0, h1, h2, h3, p0, p1; 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: error creating local socket"); "proxy: FTP: error creating local socket");
return HTTP_INTERNAL_SERVER_ERROR; 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); 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: error binding to ftp data socket %pI", local_addr); "proxy: FTP: error binding to ftp data socket %pI", local_addr);
return HTTP_INTERNAL_SERVER_ERROR; return HTTP_INTERNAL_SERVER_ERROR;
} }
/* only need a short queue */ /* 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, ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
"proxy: FTP: error listening to ftp data socket %pI", local_addr); "proxy: FTP: error listening to ftp data socket %pI", local_addr);
return HTTP_INTERNAL_SERVER_ERROR; return HTTP_INTERNAL_SERVER_ERROR;
@@ -1766,7 +1766,7 @@ int ap_proxy_ftp_handler(request_rec *r, proxy_server_conf *conf,
/* wait for connection */ /* wait for connection */
if (use_port) { if (use_port) {
for (;;) { for (;;) {
rv = apr_accept(&data_sock, local_sock, r->pool); rv = apr_socket_accept(&data_sock, local_sock, r->pool);
if (rv == APR_EINTR) { if (rv == APR_EINTR) {
continue; continue;
} }

View File

@@ -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, &current_timeout); apr_socket_timeout_get(p_conn->sock, &current_timeout);
/* set no timeout */ /* set no timeout */
apr_socket_timeout_set(p_conn->sock, 0); 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 */ /* put back old timeout */
apr_socket_timeout_set(p_conn->sock, current_timeout); apr_socket_timeout_set(p_conn->sock, current_timeout);
if ( APR_STATUS_IS_EOF(socket_status) ) { if ( APR_STATUS_IS_EOF(socket_status) ) {

View File

@@ -1167,7 +1167,7 @@ PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **newsock,
while (backend_addr && !connected) { while (backend_addr && !connected) {
if ((rv = apr_socket_create(newsock, backend_addr->family, 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; loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR;
ap_log_error(APLOG_MARK, loglevel, rv, s, ap_log_error(APLOG_MARK, loglevel, rv, s,
"proxy: %s: error creating fam %d socket for target %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); proxy_function, backend_addr->family, backend_name);
/* make the connection out of the socket */ /* 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 an error occurred, loop round and try again */
if (rv != APR_SUCCESS) { if (rv != APR_SUCCESS) {

View File

@@ -852,11 +852,11 @@ static void ssl_check_public_cert(server_rec *s,
} }
if (SSL_X509_getCN(ptemp, cert, &cn)) { 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) && if (apr_fnmatch_test(cn) &&
(apr_fnmatch(cn, s->server_hostname, (apr_fnmatch(cn, s->server_hostname,
fnm_flags) == FNM_NOMATCH)) fnm_flags) == APR_FNM_NOMATCH))
{ {
ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s,
"%s server certificate wildcard CommonName (CN) `%s' " "%s server certificate wildcard CommonName (CN) `%s' "

View File

@@ -118,7 +118,7 @@ void ssl_scache_dbm_kill(server_rec *s)
SSLModConfigRec *mc = myModConfig(s); SSLModConfigRec *mc = myModConfig(s);
apr_pool_t *p; apr_pool_t *p;
apr_pool_sub_make(&p, mc->pPool, NULL); apr_pool_create_ex(&p, mc->pPool, NULL, NULL);
if (p != NULL) { if (p != NULL) {
/* the correct way */ /* the correct way */
unlink(apr_pstrcat(p, mc->szSessionCacheDataFile, SSL_DBM_FILE_SUFFIX_DIR, NULL)); 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); ssl_mutex_on(s);
for (;;) { for (;;) {
/* allocate the key array in a memory sub pool */ /* 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) if (p == NULL)
break; break;
if ((keylist = apr_palloc(p, sizeof(dbmkey)*KEYMAX)) == NULL) { if ((keylist = apr_palloc(p, sizeof(dbmkey)*KEYMAX)) == NULL) {

View File

@@ -119,7 +119,7 @@ AP_DECLARE(apr_status_t) beosd_accept(void **accepted, ap_listen_rec *lr,
apr_status_t status; apr_status_t status;
int sockdes; int sockdes;
status = apr_accept(&csd, lr->sd, ptrans); status = apr_socket_accept(&csd, lr->sd, ptrans);
if (status == APR_SUCCESS) { if (status == APR_SUCCESS) {
*accepted = csd; *accepted = csd;
apr_os_sock_get(&sockdes, 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. * occur in mobile IP.
*/ */
ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
"apr_accept: giving up."); "apr_socket_accept: giving up.");
return APR_EGENERAL; return APR_EGENERAL;
#endif /*ENETDOWN*/ #endif /*ENETDOWN*/
default: default:
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
"apr_accept: (client socket)"); "apr_socket_accept: (client socket)");
return APR_EGENERAL; return APR_EGENERAL;
} }
return status; return status;

View File

@@ -504,7 +504,7 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
int sockdes; int sockdes;
*accepted = NULL; *accepted = NULL;
status = apr_accept(&csd, lr->sd, ptrans); status = apr_socket_accept(&csd, lr->sd, ptrans);
if (status == APR_SUCCESS) { if (status == APR_SUCCESS) {
*accepted = csd; *accepted = csd;
apr_os_sock_get(&sockdes, 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. * occur in mobile IP.
*/ */
ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_EMERG, status, ap_server_conf,
"apr_accept: giving up."); "apr_socket_accept: giving up.");
return APR_EGENERAL; return APR_EGENERAL;
#endif /*ENETDOWN*/ #endif /*ENETDOWN*/
@@ -625,7 +625,7 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
#else #else
default: default:
ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
"apr_accept: (client socket)"); "apr_socket_accept: (client socket)");
return APR_EGENERAL; return APR_EGENERAL;
#endif #endif
} }

View File

@@ -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)))) { && !(strcmp(fname, ap_server_root_relative(p, SERVER_CONFIG_FILE)))) {
apr_finfo_t finfo; 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; return;
} }
@@ -1608,7 +1608,7 @@ AP_DECLARE(void) ap_process_resource_config(server_rec *s, const char *fname,
if (strcmp(dirent.name, ".") if (strcmp(dirent.name, ".")
&& strcmp(dirent.name, "..") && strcmp(dirent.name, "..")
&& (apr_fnmatch(pattern, dirent.name, && (apr_fnmatch(pattern, dirent.name,
FNM_PERIOD) == APR_SUCCESS)) { APR_FNM_PERIOD) == APR_SUCCESS)) {
fnew = (fnames *) apr_array_push(candidates); fnew = (fnames *) apr_array_push(candidates);
fnew->fname = ap_make_full_path(p, path, dirent.name); fnew->fname = ap_make_full_path(p, path, dirent.name);
} }

View File

@@ -167,7 +167,7 @@ AP_DECLARE(void) ap_lingering_close(conn_rec *c)
/* Shut down the socket for write, which will send a FIN /* Shut down the socket for write, which will send a FIN
* to the peer. * to the peer.
*/ */
if (apr_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS if (apr_socket_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS
|| c->aborted) { || c->aborted) {
apr_socket_close(csd); apr_socket_close(csd);
return; return;
@@ -183,7 +183,7 @@ AP_DECLARE(void) ap_lingering_close(conn_rec *c)
apr_socket_opt_set(csd, APR_INCOMPLETE_READ, 1); apr_socket_opt_set(csd, APR_INCOMPLETE_READ, 1);
while (1) { while (1) {
nbytes = sizeof(dummybuf); nbytes = sizeof(dummybuf);
rc = apr_recv(csd, dummybuf, &nbytes); rc = apr_socket_recv(csd, dummybuf, &nbytes);
if (rc != APR_SUCCESS || nbytes == 0) if (rc != APR_SUCCESS || nbytes == 0)
break; break;

View File

@@ -2845,7 +2845,7 @@ static apr_status_t writev_it_all(apr_socket_t *s,
/* XXX handle checking for non-blocking socket */ /* XXX handle checking for non-blocking socket */
while (bytes_written != len) { 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; bytes_written += n;
if (rv != APR_SUCCESS) if (rv != APR_SUCCESS)
return rv; return rv;
@@ -2853,7 +2853,7 @@ static apr_status_t writev_it_all(apr_socket_t *s,
*nbytes += n; *nbytes += n;
/* If the write did not complete, adjust the iovecs and issue /* If the write did not complete, adjust the iovecs and issue
* apr_sendv again * apr_socket_sendv again
*/ */
if (bytes_written < len) { if (bytes_written < len) {
/* Skip over the vectors that have already been written */ /* 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 { do {
apr_size_t tmplen = file_bytes_left; apr_size_t tmplen = file_bytes_left;
rv = apr_sendfile(c->client_socket, fd, hdtr, &file_offset, &tmplen, rv = apr_socket_sendfile(c->client_socket, fd, hdtr, &file_offset, &tmplen,
flags); flags);
*bytes_sent += tmplen; *bytes_sent += tmplen;
total_bytes_left -= tmplen; total_bytes_left -= tmplen;
if (!total_bytes_left || rv != APR_SUCCESS) { 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); rv = apr_file_read(fd, buffer, &sendlen);
while (rv == APR_SUCCESS && sendlen) { while (rv == APR_SUCCESS && sendlen) {
bytes_sent = 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) { if (rv == APR_SUCCESS) {
sendlen -= bytes_sent; /* sendlen != bytes_sent ==> partial write */ sendlen -= bytes_sent; /* sendlen != bytes_sent ==> partial write */
o += bytes_sent; /* o is where we are in the buffer */ o += bytes_sent; /* o is where we are in the buffer */

View File

@@ -159,7 +159,7 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
ap_sock_disable_nagle(s); ap_sock_disable_nagle(s);
#endif #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, ap_log_perror(APLOG_MARK, APLOG_STARTUP|APLOG_CRIT, stat, p,
"make_sock: could not bind to address %pI", "make_sock: could not bind to address %pI",
server->bind_addr); server->bind_addr);
@@ -167,7 +167,7 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
return stat; 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, ap_log_perror(APLOG_MARK, APLOG_STARTUP|APLOG_ERR, stat, p,
"make_sock: unable to listen for connections " "make_sock: unable to listen for connections "
"on address %pI", "on address %pI",
@@ -295,7 +295,7 @@ static const char *alloc_listener(process_rec *process, char *addr, apr_port_t p
sa = sa->next; sa = sa->next;
status = apr_socket_create(&new->sd, new->bind_addr->family, status = apr_socket_create(&new->sd, new->bind_addr->family,
SOCK_STREAM, process->pool); SOCK_STREAM, 0, process->pool);
#if APR_HAVE_IPV6 #if APR_HAVE_IPV6
/* What could happen is that we got an IPv6 address, but this system /* What could happen is that we got an IPv6 address, but this system

View File

@@ -281,7 +281,7 @@ static process_rec *create_process(int argc, const char * const *argv)
apr_pool_tag(process->pconf, "pconf"); apr_pool_tag(process->pconf, "pconf");
process->argc = argc; process->argc = argc;
process->argv = argv; process->argv = argv;
process->short_name = apr_filename_of_pathname(argv[0]); process->short_name = apr_filepath_name_get(argv[0]);
return process; return process;
} }

View File

@@ -267,7 +267,7 @@ static void tell_workers_to_exit(void)
int i = 0; int i = 0;
for (i = 0 ; i < ap_max_child_assigned; i++){ for (i = 0 ; i < ap_max_child_assigned; i++){
len = 4; 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; break;
} }
} }
@@ -443,7 +443,7 @@ static int32 worker_thread(void * dummy)
char *tmpbuf = apr_palloc(ptrans, sizeof(char) * 5); char *tmpbuf = apr_palloc(ptrans, sizeof(char) * 5);
apr_sockaddr_info_get(&rec_sa, "127.0.0.1", APR_UNSPEC, 7772, 0, ptrans); 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){ != APR_SUCCESS){
ap_log_error(APLOG_MARK, APLOG_ERR, ret, NULL, ap_log_error(APLOG_MARK, APLOG_ERR, ret, NULL,
"error getting data from UDP!!"); "error getting data from UDP!!");
@@ -483,12 +483,12 @@ static int32 worker_thread(void * dummy)
got_fd: got_fd:
if (!this_worker_should_exit) { if (!this_worker_should_exit) {
rv = apr_accept(&csd, sd, ptrans); rv = apr_socket_accept(&csd, sd, ptrans);
apr_thread_mutex_unlock(accept_mutex); apr_thread_mutex_unlock(accept_mutex);
if (rv != APR_SUCCESS) { if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,
"apr_accept"); "apr_socket_accept");
} else { } else {
process_socket(ptrans, csd, child_slot, bucket_alloc); process_socket(ptrans, csd, child_slot, bucket_alloc);
requests_this_child--; 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"); "couldn't create control socket information, shutting down");
return 1; return 1;
} }
if (apr_socket_create(&udp_sock, udp_sa->family, SOCK_DGRAM, if (apr_socket_create(&udp_sock, udp_sa->family, SOCK_DGRAM, 0,
_pconf) != APR_SUCCESS){ _pconf) != APR_SUCCESS){
ap_log_error(APLOG_MARK, APLOG_ALERT, errno, s, ap_log_error(APLOG_MARK, APLOG_ALERT, errno, s,
"couldn't create control socket, shutting down"); "couldn't create control socket, shutting down");
return 1; 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, ap_log_error(APLOG_MARK, APLOG_ALERT, errno, s,
"couldn't bind UDP socket!"); "couldn't bind UDP socket!");
return 1; return 1;

View File

@@ -605,7 +605,7 @@ static apr_status_t check_pipe_of_death(void **csd, ap_listen_rec *lr,
char pipe_read_char; char pipe_read_char;
apr_size_t n = 1; 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)) { if (APR_STATUS_IS_EAGAIN(ret)) {
/* It lost the lottery. It must continue to suffer /* It lost the lottery. It must continue to suffer
* through a life of servitude. */ * through a life of servitude. */

View File

@@ -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, apr_sockaddr_info_get(&lr->bind_addr, "0.0.0.0", APR_UNSPEC,
DEFAULT_HTTP_PORT, 0, s->process->pool); DEFAULT_HTTP_PORT, 0, s->process->pool);
apr_socket_create(&lr->sd, lr->bind_addr->family, 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) { for (lr = ap_listeners; lr; lr = lr->next) {

View File

@@ -239,7 +239,7 @@ void ap_mpm_child_main(apr_pool_t *pconf)
worker_args->pconn = pconn; worker_args->pconn = pconn;
if (num_listeners == 1) { 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 { } else {
rc = DosRequestMutexSem(ap_mpm_accept_mutex, SEM_INDEFINITE_WAIT); 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; 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 (rv != APR_SUCCESS) {
if (!APR_STATUS_IS_EINTR(rv)) { if (!APR_STATUS_IS_EINTR(rv)) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf,
"apr_accept"); "apr_socket_accept");
clean_child_exit(APEXIT_CHILDFATAL); clean_child_exit(APEXIT_CHILDFATAL);
} }
} else { } else {

View File

@@ -461,7 +461,7 @@ void worker_main(void *arg)
wouldblock_retry = MAX_WB_RETRIES; wouldblock_retry = MAX_WB_RETRIES;
while (wouldblock_retry) { while (wouldblock_retry) {
if ((stat = apr_accept(&csd, sd, ptrans)) == APR_SUCCESS) { if ((stat = apr_socket_accept(&csd, sd, ptrans)) == APR_SUCCESS) {
break; break;
} }
else { else {
@@ -523,13 +523,13 @@ void worker_main(void *arg)
* occur in mobile IP. * occur in mobile IP.
*/ */
ap_log_error(APLOG_MARK, APLOG_EMERG, stat, ap_server_conf, 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, clean_child_exit(APEXIT_CHILDFATAL, my_worker_num, ptrans,
bucket_alloc); bucket_alloc);
} }
else { else {
ap_log_error(APLOG_MARK, APLOG_ERR, stat, ap_server_conf, 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); clean_child_exit(1, my_worker_num, ptrans, bucket_alloc);
} }
} }

View File

@@ -672,7 +672,7 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_
char *cmd; char *cmd;
char *cwd; 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: /* Build the command line. Should look something like this:
* C:/apache/bin/apache.exe -f ap_server_confname * 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 /* WARNING: There is an implict assumption here that the
* executable resides in ServerRoot or ServerRoot\bin * 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) { if (def_server_root > binpath) {
*(def_server_root - 1) = '\0'; *(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")) if (!strcasecmp(def_server_root, "bin"))
*(def_server_root - 1) = '\0'; *(def_server_root - 1) = '\0';
} }

View File

@@ -81,7 +81,7 @@ static DWORD WINAPI service_stderr_thread(LPVOID hPipe)
apr_status_t rv; apr_status_t rv;
apr_pool_t *p; 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[0] = "The Apache service named";
errarg[1] = display_name; errarg[1] = display_name;

View File

@@ -77,8 +77,8 @@ AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod)
(*pod)->p = p; (*pod)->p = p;
/* close these before exec. */ /* close these before exec. */
apr_file_unset_inherit((*pod)->pod_in); apr_file_inherit_unset((*pod)->pod_in);
apr_file_unset_inherit((*pod)->pod_out); apr_file_inherit_unset((*pod)->pod_out);
return APR_SUCCESS; return APR_SUCCESS;
} }

View File

@@ -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); APR_UNSPEC, ap_listeners->bind_addr->port, 0, p);
/* close these before exec. */ /* close these before exec. */
apr_file_unset_inherit((*pod)->pod_in); apr_file_inherit_unset((*pod)->pod_in);
apr_file_unset_inherit((*pod)->pod_out); apr_file_inherit_unset((*pod)->pod_out);
return APR_SUCCESS; return APR_SUCCESS;
} }
@@ -488,7 +488,7 @@ static apr_status_t dummy_connection(ap_pod_t *pod)
return rv; 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) { if (rv != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf, ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf,
"get socket to connect to listener"); "get socket to connect to listener");
@@ -509,7 +509,7 @@ static apr_status_t dummy_connection(ap_pod_t *pod)
return rv; return rv;
} }
rv = apr_connect(sock, pod->sa); rv = apr_socket_connect(sock, pod->sa);
if (rv != APR_SUCCESS) { if (rv != APR_SUCCESS) {
int log_level = APLOG_WARNING; int log_level = APLOG_WARNING;

View File

@@ -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. * owner of the symlink, then get the info of the target.
*/ */
if (!(lfi->valid & APR_FINFO_OWNER)) { 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) { != APR_SUCCESS) {
return HTTP_FORBIDDEN; 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; 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; return HTTP_FORBIDDEN;
} }
@@ -806,7 +807,7 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r)
&& ((entry_core->d_components < seg) && ((entry_core->d_components < seg)
|| (entry_core->d_is_fnmatch || (entry_core->d_is_fnmatch
? (apr_fnmatch(entry_core->d, r->filename, ? (apr_fnmatch(entry_core->d, r->filename,
FNM_PATHNAME) != APR_SUCCESS) APR_FNM_PATHNAME) != APR_SUCCESS)
: (strcmp(r->filename, entry_core->d) != 0)))) { : (strcmp(r->filename, entry_core->d) != 0)))) {
continue; continue;
} }
@@ -976,14 +977,16 @@ AP_DECLARE(int) ap_directory_walk(request_rec *r)
continue; continue;
} }
/* We choose apr_lstat here, rather that apr_stat, so that we /* We choose apr_stat with flag APR_FINFO_LINK here, rather that
* capture this path object rather than its target. We will * plain apr_stat, so that we capture this path object rather than
* replace the info with our target's info below. We especially * its target. We will replace the info with our target's info
* want the name of this 'link' object, not the name of its * below. We especially want the name of this 'link' object, not
* target, if we are fixing the filename case/resolving aliases. * the name of its target, if we are fixing the filename
* case/resolving aliases.
*/ */
rv = apr_lstat(&thisinfo, r->filename, rv = apr_stat(&thisinfo, r->filename,
APR_FINFO_MIN | APR_FINFO_NAME, r->pool); APR_FINFO_MIN | APR_FINFO_NAME | APR_FINFO_LINK,
r->pool);
if (APR_STATUS_IS_ENOENT(rv)) { if (APR_STATUS_IS_ENOENT(rv)) {
/* Nothing? That could be nice. But our directory /* 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 if (entry_core->r
? ap_regexec(entry_core->r, r->uri, 0, NULL, 0) ? ap_regexec(entry_core->r, r->uri, 0, NULL, 0)
: (entry_core->d_is_fnmatch : (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) : (strncmp(entry_core->d, cache->cached, len)
|| (entry_core->d[len - 1] != '/' || (entry_core->d[len - 1] != '/'
&& cache->cached[len] != '/' && cache->cached[len] != '/'
@@ -1422,7 +1425,7 @@ AP_DECLARE(int) ap_file_walk(request_rec *r)
if (entry_core->r if (entry_core->r
? ap_regexec(entry_core->r, cache->cached , 0, NULL, 0) ? ap_regexec(entry_core->r, cache->cached , 0, NULL, 0)
: (entry_core->d_is_fnmatch : (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))) { : strcmp(entry_core->d, cache->cached))) {
continue; 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) { if ((dirent->valid & APR_FINFO_MIN) != APR_FINFO_MIN) {
/* /*
* apr_dir_read isn't very complete on this platform, so * apr_dir_read isn't very complete on this platform, so
* we need another apr_lstat (or simply apr_stat if we allow * we need another apr_stat (with or without APR_FINFO_LINK
* all symlinks here.) If this is an APR_LNK that resolves * depending on whether we allow all symlinks here.) If this
* to an APR_DIR, then we will rerun everything anyways... * is an APR_LNK that resolves to an APR_DIR, then we will rerun
* this should be safe. * everything anyways... this should be safe.
*/ */
apr_status_t rv; apr_status_t rv;
if (ap_allow_options(rnew) & OPT_SYM_LINKS) { 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 { else {
if (((rv = apr_lstat(&rnew->finfo, rnew->filename, if (((rv = apr_stat(&rnew->finfo, rnew->filename,
APR_FINFO_MIN, rnew->pool)) != APR_SUCCESS) APR_FINFO_LINK | APR_FINFO_MIN,
rnew->pool)) != APR_SUCCESS)
&& (rv != APR_INCOMPLETE)) { && (rv != APR_INCOMPLETE)) {
rnew->finfo.filetype = 0; rnew->finfo.filetype = 0;
} }
@@ -1834,8 +1838,9 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
} }
} }
else { else {
if (((rv = apr_lstat(&rnew->finfo, rnew->filename, if (((rv = apr_stat(&rnew->finfo, rnew->filename,
APR_FINFO_MIN, rnew->pool)) != APR_SUCCESS) APR_FINFO_LINK | APR_FINFO_MIN,
rnew->pool)) != APR_SUCCESS)
&& (rv != APR_INCOMPLETE)) { && (rv != APR_INCOMPLETE)) {
rnew->finfo.filetype = 0; rnew->finfo.filetype = 0;
} }

View File

@@ -928,7 +928,7 @@ AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg,
if (finfo.filetype != APR_REG && if (finfo.filetype != APR_REG &&
#if defined(WIN32) || defined(OS2) || defined(NETWARE) #if defined(WIN32) || defined(OS2) || defined(NETWARE)
strcasecmp(apr_filename_of_pathname(name), "nul") != 0) { strcasecmp(apr_filepath_name_get(name), "nul") != 0) {
#else #else
strcmp(name, "/dev/null") != 0) { strcmp(name, "/dev/null") != 0) {
#endif /* WIN32 || OS2 */ #endif /* WIN32 || OS2 */
@@ -1852,7 +1852,7 @@ AP_DECLARE(int) ap_is_rdirectory(apr_pool_t *p, const char *path)
{ {
apr_finfo_t finfo; 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 0; /* in error condition, just return no */
return (finfo.filetype == APR_DIR); return (finfo.filetype == APR_DIR);

View File

@@ -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) { if ((*getsfunc) (w, MAX_STRING_LEN - 1, getsfunc_data) == 0) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r, ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r,
"Premature end of script headers: %s", "Premature end of script headers: %s",
apr_filename_of_pathname(r->filename)); apr_filepath_name_get(r->filename));
return HTTP_INTERNAL_SERVER_ERROR; 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, ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, 0, r,
"%s: %s", malformed, "%s: %s", malformed,
apr_filename_of_pathname(r->filename)); apr_filepath_name_get(r->filename));
return HTTP_INTERNAL_SERVER_ERROR; return HTTP_INTERNAL_SERVER_ERROR;
} }

View File

@@ -103,9 +103,9 @@
** Version 2.0.36-dev ** Version 2.0.36-dev
** Improvements to concurrent processing: ** Improvements to concurrent processing:
** - Enabled non-blocking connect()s. ** - 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). ** 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. ** is now treated as fatal.
** Contributed by Aaron Bannert, April 24, 2002 ** Contributed by Aaron Bannert, April 24, 2002
** **
@@ -775,7 +775,7 @@ static void write_request(struct connection * c)
} }
else else
#endif #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 * Bail early on the most common case
@@ -1257,7 +1257,7 @@ static void start_connect(struct connection * c)
apr_pool_create(&c->ctx, cntxt); apr_pool_create(&c->ctx, cntxt);
if ((rv = apr_socket_create(&c->aprsock, destsa->family, 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); apr_err("socket", rv);
} }
if ((rv = apr_socket_opt_set(c->aprsock, APR_SO_NONBLOCK, 1)) 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); apr_err("socket nonblock", rv);
} }
c->start = apr_time_now(); 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)) { if (APR_STATUS_IS_EINPROGRESS(rv)) {
apr_pollfd_t new_pollfd; apr_pollfd_t new_pollfd;
c->state = STATE_CONNECTING; c->state = STATE_CONNECTING;
@@ -1287,7 +1287,7 @@ static void start_connect(struct connection * c)
if (bad++ > 10) { if (bad++ > 10) {
fprintf(stderr, fprintf(stderr,
"\nTest aborted after 10 failures\n\n"); "\nTest aborted after 10 failures\n\n");
apr_err("apr_connect()", rv); apr_err("apr_socket_connect()", rv);
} }
c->state = STATE_UNCONNECTED; c->state = STATE_UNCONNECTED;
start_connect(c); start_connect(c);
@@ -1387,7 +1387,7 @@ static void read_connection(struct connection * c)
} }
else { else {
#endif #endif
status = apr_recv(c->aprsock, buffer, &r); status = apr_socket_recv(c->aprsock, buffer, &r);
if (APR_STATUS_IS_EAGAIN(status)) if (APR_STATUS_IS_EAGAIN(status))
return; return;
else if (r == 0 && APR_STATUS_IS_EOF(status)) { else if (r == 0 && APR_STATUS_IS_EOF(status)) {
@@ -1395,12 +1395,12 @@ static void read_connection(struct connection * c)
close_connection(c); close_connection(c);
return; return;
} }
/* catch legitimate fatal apr_recv errors */ /* catch legitimate fatal apr_socket_recv errors */
else if (status != APR_SUCCESS) { else if (status != APR_SUCCESS) {
err_except++; /* XXX: is this the right error counter? */ err_except++; /* XXX: is this the right error counter? */
/* XXX: Should errors here be fatal, or should we allow a /* XXX: Should errors here be fatal, or should we allow a
* certain number of them before completely failing? -aaron */ * certain number of them before completely failing? -aaron */
apr_err("apr_recv", status); apr_err("apr_socket_recv", status);
} }
#ifdef USE_SSL #ifdef USE_SSL
} }
@@ -1758,7 +1758,7 @@ static void test(void)
if (rv & APR_POLLOUT) { if (rv & APR_POLLOUT) {
if (c->state == STATE_CONNECTING) { if (c->state == STATE_CONNECTING) {
apr_pollfd_t remove_pollfd; 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_type = APR_POLL_SOCKET;
remove_pollfd.desc.s = c->aprsock; remove_pollfd.desc.s = c->aprsock;
apr_pollset_remove(readbits, &remove_pollfd); apr_pollset_remove(readbits, &remove_pollfd);
@@ -1768,7 +1768,7 @@ static void test(void)
if (bad++ > 10) { if (bad++ > 10) {
fprintf(stderr, fprintf(stderr,
"\nTest aborted after 10 failures\n\n"); "\nTest aborted after 10 failures\n\n");
apr_err("apr_connect()", rv); apr_err("apr_socket_connect()", rv);
} }
c->state = STATE_UNCONNECTED; c->state = STATE_UNCONNECTED;
start_connect(c); start_connect(c);
@@ -1822,14 +1822,14 @@ static void test(void)
static void copyright(void) static void copyright(void)
{ {
if (!use_html) { 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) 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("Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/\n");
printf("\n"); printf("\n");
} }
else { else {
printf("<p>\n"); printf("<p>\n");
printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</i> apache-2.0<br>\n", AP_AB_BASEREVISION, "$Revision: 1.130 $"); printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</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) 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(" Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/<br>\n");
printf("</p>\n<p>\n"); printf("</p>\n<p>\n");