[exim-dev] [Bug 1775] test 0564 fails to bind to socket and …

Pàgina inicial
Delete this message
Reply to this message
Autor: admin
Data:  
A: exim-dev
Assumptes vells: [exim-dev] [Bug 1775] New: test 0564 fails to bind to socket and dies, leaving spool/test/log around
Assumpte: [exim-dev] [Bug 1775] test 0564 fails to bind to socket and dies, leaving spool/test/log around
https://bugs.exim.org/show_bug.cgi?id=1775

Kirill Miazine <km@???> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|4.86+ HEAD                  |4.87
   Target Milestone|Exim 4.87                   |Exim 4.88
                 CC|                            |hs@???


--- Comment #3 from Kirill Miazine <km@???> ---
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.