On Tue, Oct 18, 2005 at 09:20:51AM -0700, OpenMacNews said:
> hi,
> 
> Tony Finch wrote:
> > On Tue, 18 Oct 2005, OpenMacNews wrote:
> >> if there's a check you can suggest i can run to help clarify, happy to
> >> do so ...
> > 
> > Not a trivial one or I would have done it myself :-)
> 
> well, i didn't want to presume ... you could be 'occupied' at a pub, or 
> sumthin' ;-)
> 
> > The thing to do is to
> > write something to call getpeername() on a connected unix domain socket
> > and print the result.
> > 
> >>> 0.0.0.0 is a synonym for localhost.
> >> clear.  just odd to me that they'd use 0.0.0.0, and that the "ususal"
> >> 127.0.0.1 or 'localhost' entries in hosts.allow are simply
> >> infeffectual/ignored.
> > 
> > 0.0.0.0 would make sense if the socket address were unset or incorrectly
> > set.
> 
> hmmm ... food for thought while i read-up.  sounds like it's worth posting on 
> info-cyrus, too.

A quick perl hack that may do (rough and untested, but you get the idea):

use Socket;
my $sockname = "/tmp/test.sock";
socket(UNIX, PF_UNIX, SOCK_STREAM, 0) || die "socket: $!";
unlink($sockname);
bind(UNIX, sockaddr_un($sockname)) || die "bind: $!";
chmod(0666, $sockname);
listen(UNIX, SOMAXCONN) || die "listen: $!";
close(STDIN);
close(STDOUT);
while (1)
{
    @conn = accept(C, UNIX);
    printf STDERR("sock is %s, peer is %s\n", $conn[0], $conn[1]);
    sysread(C, $_, 1024);
    close(C);
}

And then dump something into it somehow (another short script that
writes to it, or the netcat that talks to sockets).  The bit here is
that accept on a socket in perl in list context returns a 2 element
array containing the peer as the second element, so it becomes easy for
you to test the result of getpeerbyname().

Take care,
-- 
 --------------------------------------------------------------------------
|  Stephen Gran                  | Money is the root of all wealth.        |
|  [EMAIL PROTECTED]             |                                         |
|  http://www.lobefin.net/~steve |                                         |
 --------------------------------------------------------------------------

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to