Mercurial > hg > nginx
diff src/imap/ngx_imap_proxy.c @ 479:c52408583801 release-0.1.14
nginx-0.1.14-RELEASE import
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives:
fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the
ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 18 Jan 2005 13:03:58 +0000 |
parents | 23fb87bddda1 |
children | d4ea69372b94 |
line wrap: on
line diff
--- a/src/imap/ngx_imap_proxy.c +++ b/src/imap/ngx_imap_proxy.c @@ -24,6 +24,7 @@ void ngx_imap_proxy_init(ngx_imap_sessio { ngx_int_t rc; ngx_peers_t *peers; + struct sockaddr_in *sin; ngx_imap_proxy_ctx_t *p; if (!(p = ngx_pcalloc(s->connection->pool, sizeof(ngx_imap_proxy_ctx_t)))) { @@ -44,19 +45,30 @@ void ngx_imap_proxy_init(ngx_imap_sessio p->upstream.log = s->connection->log; p->upstream.log_error = NGX_ERROR_ERR; + if (!(sin = ngx_pcalloc(s->connection->pool, sizeof(struct sockaddr_in)))) { + ngx_imap_close_connection(s->connection); + return; + } + + peers->peer[0].sockaddr = (struct sockaddr *) sin; + peers->peer[0].socklen = sizeof(struct sockaddr_in); + + sin->sin_port = htons(110); +#if 1 + sin->sin_addr.s_addr = inet_addr("81.19.64.101"); + peers->peer[0].name.len = sizeof("81.19.64.101:110") - 1; + peers->peer[0].name.data = (u_char *) "81.19.64.101:110"; +#else + sin->sin_addr.s_addr = inet_addr("81.19.69.70"); + peers->peer[0].name.len = sizeof("81.19.69.70:110") - 1; + peers->peer[0].name.data = (u_char *) "81.19.69.70:110"; +#endif + peers->number = 1; - peers->max_fails = 1; -#if 0 - peers->peers[0].addr = inet_addr("81.19.69.70"); - peers->peers[0].addr_port_text.len = sizeof("81.19.69.70:110") - 1; - peers->peers[0].addr_port_text.data = (u_char *) "81.19.69.70:110"; - peers->peers[0].port = htons(110); -#else - peers->peers[0].addr = inet_addr("81.19.64.101"); - peers->peers[0].addr_port_text.len = sizeof("81.19.64.101:110") - 1; - peers->peers[0].addr_port_text.data = (u_char *) "81.19.64.101:110"; - peers->peers[0].port = htons(110); -#endif + + peers->peer[0].max_fails = 1; + peers->peer[0].fail_timeout = 60; + peers->peer[0].weight = 1; rc = ngx_event_connect_peer(&p->upstream);