On Tue, 18 Oct 2005, OpenMacNews wrote:
>
> hopefully, a little more digging/understanding will reveal whether the
> fix -- in fact -- addresses the getpeername() issue you'd suggested.
That Cyrus patch indicates an OS bug, so I had a look at the FreeBSD
revision history and found the following. This change is not present
in the Darwin source, so it's a bug in Mac OS X.
--------------------------------
2003/01/22 13:13:13 ume
/home/ncvs/src/sys/kern/uipc_usrreq.c,v
1.103 +2 -0
getpeername() returns with no error but didn't fill struct sockaddr
correctly against PF_LOCAL. It seems that the test always fails then
sockaddr was not filled. So, I added else clause for workaround.
I doubt if it is right fix. However, it is better than nothing. I
found that NetBSD has same potential problem. But, fortunately,
NetBSD has equivalent else clause.
MFC after: 1 week
--------------------------------
Tony.
--
<fanf@???> <dot@???>
http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}