Yoshihiro Kawabe
2007-Mar-28 11:35 UTC
[Dovecot] Multiple IP(or Host) listen in dovecot.conf.
Hi. Does someone make update for `Multiple IP(or Host) listen in dovecot.conf'? I made trivial patch so. But this patch doesn't solve `Support listening in multiple sockets' in TODO. It appends only the capability as multiple listen in dovecot.conf. So, `login_processes_count' becomes ambiguous. In CASE1, login_processes_count = 2, forked imap-login processes are 8. -- samples dovecot.conf applied this patch are following. CASE 1: listen = 127.0.0.1, 192.168.0.10, imap-server1, imap-server2.example.com or CASE 2: protocol imap { listen = 127.0.0.1:143, imap-server1:10143 ssl_listen = imap-server2:10943, 127.0.0.1 .. } protocol pop3 { listen = 127.0.0.1, pop-server1:10100 .. } -- Update brief. src/master/ master-setting.h: listen_fd and related members changed to array_t. also name add (s). master-setting.c: few member initialization delete. main.c: handle multiple IP and port, fds as array_t. resolve_ip argment change. login-process.h: add listen_fd and ssl_listen_fd member to login_group structre. login-process.c: add login_groups_create function for mapping login process to each listen fd. change dup2 source fd in create_login_process. src/lib network.c: change getnameinfo error value. -- Kawabe,Yoshihiro <sowhat at amnis.co.jp> As the stars blink in the night sky, our married hearts are never splitted. Even if we will unclasp each other hands, until we retain that. by H.S. -------------- next part -------------- A non-text attachment was scrubbed... Name: dovecot-1.0.rc28_multi-listen-1.patch.gz Type: application/octet-stream Size: 4351 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20070328/cc4aebc6/attachment-0002.obj>
Timo Sirainen
2007-Jun-10 19:25 UTC
[Dovecot] Multiple IP(or Host) listen in dovecot.conf.
On Wed, 2007-03-28 at 20:35 +0900, Yoshihiro Kawabe wrote:> Does someone make update for `Multiple IP(or Host) listen in > dovecot.conf'?Looks like I've managed to skip this mail for this long. Although it was still with unread-status..> But this patch doesn't solve `Support listening in multiple sockets' > in TODO. It appends only the capability as multiple listen in > dovecot.conf. So, `login_processes_count' becomes ambiguous. > In CASE1, login_processes_count = 2, forked imap-login processes are > 8.That doesn't seem very good thing to do. I think a lot easier way to implement this would be to just pass multiple listen fds to all of the login processes. + array_t ARRAY_DEFINE(listen_fds, int); + array_t ARRAY_DEFINE(ssl_listen_fds, int); + + array_t ARRAY_DEFINE(listen_ips, struct ip_addr); + array_t ARRAY_DEFINE(ssl_listen_ips, struct ip_addr); + array_t ARRAY_DEFINE(listen_ports, unsigned int); + array_t ARRAY_DEFINE(ssl_listen_ports, unsigned int); And one array of struct { int fd; struct ip_addr ip; bool ssl; } would probably make the code a lot simpler as well.> src/lib > network.c: > change getnameinfo error value.I'm not sure why I originally wrote the code that way. Either there was no man page for getnameinfo() and I just guessed, or there was a man page which contains wrong information. Anyway, this is now fixed for upcoming v1.0.1. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20070610/c2f25d78/attachment-0002.bin>
Yoshihiro Kawabe
2007-Jun-11 17:38 UTC
[Dovecot] Multiple IP(or Host) listen in dovecot.conf.
Hi, Timo.>>>>> "Timo" == Timo Sirainen <tss at iki.fi> writes:Timo> That doesn't seem very good thing to do. I think a lot easier way to Timo> implement this would be to just pass multiple listen fds to all of the Timo> login processes. I agree that implementation is distorted. However, in March, I hope to use multi-listen version so quickly and I had no time to change inter processes(master and each login processes) interface in create_login_process (login-process.c). Actually, I spent several days for that patch within hacking dovecot sources. Timo> And one array of struct { int fd; struct ip_addr ip; bool ssl; } would Timo> probably make the code a lot simpler as well. Yes, I think so. I intended that patch-applied source codes are as similar as original source code possible, but after all those are dissimilar. I'll think about re-make. -- Kawabe,Yoshihiro <sowhat at amnis.co.jp> I can't cry so anymore. I promised you, I live with you. from Blaze up.