diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-01-18 13:03:58 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-01-18 13:03:58 +0000 |
commit | 02025fd6bdfa997f521c3b26a08aeba366308e84 (patch) | |
tree | 44db6ebb4e310f97f4550b7d7d69932636764304 /src/imap/ngx_imap_proxy.c | |
parent | 543d02a4427e1833f8f9bdb60e3ff5e9fe2eb21b (diff) | |
download | nginx-02025fd6bdfa997f521c3b26a08aeba366308e84.tar.gz nginx-02025fd6bdfa997f521c3b26a08aeba366308e84.zip |
nginx-0.1.14-RELEASE importrelease-0.1.14
*) 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.
Diffstat (limited to 'src/imap/ngx_imap_proxy.c')
-rw-r--r-- | src/imap/ngx_imap_proxy.c | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/src/imap/ngx_imap_proxy.c b/src/imap/ngx_imap_proxy.c index d846b0b7e..dde349500 100644 --- 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_session_t *s) { 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,20 +45,31 @@ void ngx_imap_proxy_init(ngx_imap_session_t *s) p->upstream.log = s->connection->log; p->upstream.log_error = NGX_ERROR_ERR; - 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); + 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 - 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); + 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->peer[0].max_fails = 1; + peers->peer[0].fail_timeout = 60; + peers->peer[0].weight = 1; + rc = ngx_event_connect_peer(&p->upstream); if (rc == NGX_ERROR) { |