From owner-freebsd-hackers Wed Oct 15 09:44:24 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id JAA00441 for hackers-outgoing; Wed, 15 Oct 1997 09:44:24 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from gatekeeper.ray.com (gatekeeper.ray.com [138.125.162.1]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id JAA00415 for ; Wed, 15 Oct 1997 09:44:17 -0700 (PDT) (envelope-from Gregory_D_Moncreaff@res.raytheon.com) Received: (mailer@localhost) by gatekeeper.ray.com (8.8.7/8.8.7) id MAA24268 for ; Wed, 15 Oct 1997 12:44:07 -0400 Received: from notes.res.ray.com/138.125.97.35() by gatekeeper.ray.com id sma018755; Wed Oct 15 12:42:51 1997 X-SMAP-TO: Received: by notes.res.ray.com(Lotus SMTP MTA v1.1 (385.6 5-6-1997)) id 85256531.005BCD93 ; Wed, 15 Oct 1997 12:42:44 -0400 X-Lotus-FromDomain: RES From: "Gregory D Moncreaff" To: FreeBSD-Hackers@FreeBSD.org Message-ID: <85256531.005BCD2C.00@notes.res.ray.com> Date: Wed, 15 Oct 1997 12:42:42 -0400 Subject: kern/uipc_socket.c:soreceive() can't get control data from a disconnected socket? Mime-Version: 1.0 Content-type: text/plain; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk Is this by accident or design? PR_CONNREQUIRED is only supposed to gate send according to sys/protosw.h... if (m == 0 || (( ..... ..... if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) == 0 && (so->so_proto->pr_flags & PR_CONNREQUIRED)) { error = ENOTCONN; goto release; ..... while (m && m->m_type == MT_CONTROL && error == 0) { if (flags & MSG_PEEK) { if (controlp) *controlp = m_copy(m, 0, m->m_len); m = m->m_next; ..... release: sbunlock(&so->so_rcv); splx(s); return (error); ===================================================================== Gregory D. Moncreaff Phone 1-508-490-2048 Raytheon Electronic Systems Fax 1-508-490-2086 Gregory_D_Moncreaff@res.raytheon.com Home moncrg@ma.ultranet.com ---------------------------------------------------------------------