Welcome! Log In Create A New Profile

Advanced

Re: imap_client_buffer not being obeyed

Maxim Dounin
October 08, 2012 06:58AM
Hello!

On Sat, Oct 06, 2012 at 01:53:54AM -0400, iceman wrote:

> I have imap_client_buffer set to 64k(as required by imap protocol) in the
> nginx.conf file
> However when an imap client sends a very long command, post authentication,
> the length gets truncated at 4k(the default page size of the linux operating
> system)
>
> how can i debug this problem? i have stepped through the code using gdb. as
> far as i can see, in mail_proxy module, the value of the conf file(120000
> for testing) was correctly seen
>
> gdb) p p->upstream.connection->data
> $24 = (void *) 0x9e4bd48
> (gdb) p s
> $25 = (ngx_mail_session_t *) 0x9e4bd48
> (gdb) p p->buffer->end
> Cannot access memory at address 0x1c
> (gdb) p s->buffer->end - s->buffer->last
> $26 = 120000
> (gdb) p s
> $27 = (ngx_mail_session_t *) 0x9e4bd48
> (gdb) n
> 205 pcf = ngx_mail_get_module_srv_conf(s, ngx_mail_proxy_module);
> (gdb) n
> 207 s->proxy->buffer = ngx_create_temp_buf(s->connection->pool,
> (gdb) p pcf
> $28 = (ngx_mail_proxy_conf_t *) 0x9e3c480
> (gdb) p *pcf
> $29 = {enable = 1, pass_error_message = 1, xclient = 1, buffer_size =
> 120000,
> timeout = 86400000, upstream_quick_retries = 0, upstream_retries = 0,
> min_initial_retry_delay = 3000, max_initial_retry_delay = 3000,
> max_retry_delay = 60000}
>
> When the command below is sent using telnet, only 4 k of data is accepted,
> then nginx hangs until i hit enter on keyboard......after which the
> truncated command is sent to the upstream imap server.
>
> I am using nginx 0.78, is this a known issue?

I would recommend the following:

a) Test with something better than telnet. While telnet is
generally usable for testing, it might have issues with testing
things buffer sizes as telnet usually have it's own buffers.
Moreover, usually telnet works in line-at-a-time mode, which means
it's telnet who is responsible for handling of the command until
you hit enter.

b) If you still see the issue, upgrade to at least latest stable
version of nginx, 1.2.4, before further testing. There is no such
version "0.78", but as long as it starts with "0." it's really
old.


--
Maxim Dounin
http://nginx.com/support.html

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

imap_client_buffer not being obeyed

iceman October 06, 2012 01:53AM

Re: imap_client_buffer not being obeyed

iceman October 06, 2012 01:55AM

Re: imap_client_buffer not being obeyed

iceman October 06, 2012 01:57AM

Re: imap_client_buffer not being obeyed

iceman October 08, 2012 01:41AM

Re: imap_client_buffer not being obeyed

Maxim Dounin October 08, 2012 06:58AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 107
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready