Date: Tue, 19 Apr 2005 23:05:01 -0400 (EDT) From: "Matthew N. Dodd" <mdodd@FreeBSD.ORG> To: Jung-uk Kim <jkim@niksun.com> Cc: freebsd-ports@FreeBSD.ORG Subject: Re: gnome can not shutdown Message-ID: <20050419225811.A76920@sasami.jurai.net> In-Reply-To: <200504192011.57723.jkim@niksun.com> References: <20050414164406.2bfbeff5@ale.varnet.bsd> <4261A7BE.3070606@freebsd.org><200504192011.57723.jkim@niksun.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>>> #1 0x0000000803f4a823 in connect () from /usr/lib/libthr.so.1
>>> #2 0x000000080458d7b3 in esd_connect_unix () from
>>> /usr/local/lib/libesd.so.2
>>> #3 0x000000080458dbeb in esd_open_sound () from
>>> /usr/local/lib/libesd.so.2 #4 0x0000000800f13c82 in
The problem starts in libesd.
esd.c:
int open_listen_socket(const char *hostname, int port )
...
socket_listen=socket(AF_UNIX, SOCK_STREAM, 0);
...
{
int n = 1;
setsockopt(socket_listen, SOL_SOCKET, SO_REUSEADDR, &n, sizeof(n));
/* if it fails, so what */
}
And continues through some header files...
sys/socket.h:
#define SO_REUSEADDR 0x0004 /* allow local address reuse */
sys/un.h:
#define LOCAL_CONNWAIT 0x004 /* connects block until accepted */
And finally ends up in sys/kern/uipc_usrreq.c:uipc_ctloutput() where
we fail to check the 'level' argument to getsockopt().
Fix committed etc.
--
10 40 80 C0 00 FF FF FF FF C0 00 00 00 00 10 AA AA 03 00 00 00 08 00
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050419225811.A76920>
