Changeset 1460
- Timestamp:
- 11/27/2006 01:50:36 PM (22 months ago)
- Location:
- trunk/src
- Files:
-
- 4 modified
-
mod_indexfile.c (modified) (1 diff)
-
mod_proxy_core.c (modified) (5 diffs)
-
mod_proxy_core_address.c (modified) (2 diffs)
-
mod_proxy_core_address.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mod_indexfile.c
r1349 r1460 206 206 /* fce is already set up a few lines above */ 207 207 208 /* need to reset condition cache since uri.path changed. */ 209 config_cond_cache_reset(srv, con); 210 208 211 return HANDLER_GO_ON; 209 212 } -
trunk/src/mod_proxy_core.c
r1444 r1460 448 448 449 449 if (-1 == (fd = socket(con->address->addr.plain.sa_family, SOCK_STREAM, 0))) { 450 ERROR("socket failed: %s", strerror(errno)); 451 return HANDLER_ERROR; 450 452 } 451 453 … … 456 458 con->sock->type = IOSOCKET_TYPE_SOCKET; 457 459 458 if (-1 == connect(fd, &(con->address->addr.plain), sizeof(con->address->addr))) {460 if (-1 == connect(fd, &(con->address->addr.plain), con->address->addrlen)) { 459 461 switch(errno) { 460 462 case EINPROGRESS: … … 466 468 con->sock->fd = -1; 467 469 470 ERROR("connect failed: %s", strerror(errno)); 468 471 return HANDLER_ERROR; 469 472 } … … 1190 1193 con->mode = p->id; 1191 1194 1195 if (con->conf.log_request_handling) { 1196 ERROR("handling it in mod_proxy_core: uri.path=%s", BUF_STR(con->uri.path)); 1197 } 1192 1198 sess->remote_con = con; 1193 1199 } … … 1561 1567 p->set_defaults = mod_proxy_core_set_defaults; 1562 1568 p->handle_physical = mod_proxy_core_check_extension; 1569 p->handle_start_backend = mod_proxy_core_check_extension; 1563 1570 p->handle_send_request_content = mod_proxy_send_request_content; 1564 1571 p->handle_read_response_content = mod_proxy_core_start_backend; -
trunk/src/mod_proxy_core_address.c
r1422 r1460 98 98 if (0 == strncmp(BUF_STR(name), "unix:", 5)) { 99 99 /* a unix domain socket */ 100 #ifdef HAVE_SYS_UN_H 101 proxy_address *a = proxy_address_init(); 102 103 /* setup AF_UNIX sockaddr */ 104 a->addr.un.sun_family = AF_UNIX; 105 strcpy(a->addr.un.sun_path, BUF_STR(name) + 5); 106 a->addrlen = sizeof(a->addr.un); 107 /* 108 #ifdef SUN_LEN 109 a->addrlen = SUN_LEN(&(a->addr.un)); 110 #else 111 a->addrlen = (name->used - 5) + sizeof(a->addr.un.sun_family); 112 #endif 113 */ 114 115 a->state = PROXY_ADDRESS_STATE_ACTIVE; 116 buffer_copy_string_buffer(a->name, name); 117 118 proxy_address_pool_add(address_pool, a); 119 return 0; 120 #else 100 121 ERROR("unix: scheme is not supported for %s", BUF_STR(name)); 101 122 return -1; 123 #endif 102 124 } else if (name->ptr[0] == '[') { 103 125 if (name->ptr[name->used - 1] == ']') { … … 152 174 153 175 memcpy(&(a->addr), cur->ai_addr, cur->ai_addrlen); 176 a->addrlen = cur->ai_addrlen; 154 177 155 178 a->state = PROXY_ADDRESS_STATE_ACTIVE; -
trunk/src/mod_proxy_core_address.h
r1422 r1460 15 15 typedef struct { 16 16 sock_addr addr; 17 socklen_t addrlen; 17 18 18 19 buffer *name; /* a inet_ntoa() prepresentation of the address */

