Date: Fri, 21 Feb 1997 00:36:59 +1100 (EDT) From: Darren Reed <avalon@coombs.anu.edu.au> To: davidn@labs.usn.blaze.net.au (David Nugent) Cc: avalon@coombs.anu.edu.au, davidn@labs.usn.blaze.net.au, freebsd-hackers@freebsd.org Subject: Re: "connection refused" Message-ID: <199702201339.FAA12811@freefall.freebsd.org> In-Reply-To: <19970221002216.09741@usn.blaze.net.au> from "David Nugent" at Feb 21, 97 00:22:16 am
next in thread | previous in thread | raw e-mail | index | archive | help
In some mail from David Nugent, sie said: > > On Feb 02, 1997 at 11:29:25PM, Darren Reed wrote: > > > I'm currently working on a network server that needs to use local > > > creditials on a remote connection, and if that fails, to issue a > > > "connection refused". > > > > You can't do this (using sockets). > > Hmm, the manpage seems to suggest otherwise. See below. > > > > I don't quite understand how you want to use the credentials...the > > description seems confusing. Can you put it in TCP/IP terms ? :) > > Sorry, just the remote address, as determined by accept(). I don't > want or need network probes finding the server, which is why I'd > like an attempted connection from anyone but specific ip addresses > to get "connection refused", as though there was nothing there. > The protocol in question will do challenge/key and encryption, but > this is just to prevent probes from seeing it as a possible target > in the first place. > > Anyway, the manpage for accept(2) states: > > One can obtain user connection request data without confirming the con- > nection by issuing a recvmsg(2) call with an msg_iovlen of 0 and a non- > zero msg_controllen, or by issuing a getsockopt(2) request. Similarly, > one can provide user connection rejection information by issuing a > sendmsg(2) call with providing only the control information, or by call- > ing setsockopt(2). > > Unless I'm reading this incorrectly, this is precisely what I'd like > to do. I just can work out how to do it. :-) Try calling accept() with the host you want to accept from, rather than INADDR_ANY. What does it say before that ? A connection is ESTABLISHED before it comes back via accept(). What does Stevens have to say on this topic ? Darren
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702201339.FAA12811>