https://bugs.exim.org/show_bug.cgi?id=1775

Kirill Miazine <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|4.86+ HEAD                  |4.87
   Target Milestone|Exim 4.87                   |Exim 4.88
                 CC|                            |[email protected]

--- Comment #3 from Kirill Miazine <[email protected]> ---
I've been looking at this a bit more and had to dig down to the kernel. It
seems that EADDRINUSE will be returned if existing socket and new socket are
set up by different users:                                                      

http://bxr.su/OpenBSD/sys/netinetin_pcb.c#434

This looks indeed to be the case, change was introduced here:

http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/netinet/in_pcb.c.diff?r1=1.8&r2=1.9&f=h

After adding some debugging to the kernel and re-running the test, I got a
confirmation that the different socket owners are indeed the reason for
EADDRINUSE:

EADDRINUSE! so->so_euid (1000) != t->inp_socket->so_euid (0)

In test 0562 the socket is set up as user root, while runtest in 0564 uses my
own user id to set up the socket.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim 
details at http://www.exim.org/ ##

Reply via email to