Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Jul 2006 11:39:31 +0200
From:      "Daan Vreeken [PA4DAN]" <Danovitsch@vitsch.net>
To:        "mal content" <artifact.one@googlemail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Stop further socket() or connect() calls.
Message-ID:  <200607051139.32393.Danovitsch@vitsch.net>
In-Reply-To: <8e96a0b90607041815s7888cf7areb5244247b9bdb53@mail.gmail.com>
References:  <8e96a0b90607031009v4ec2630fgfc432f5dad15abda@mail.gmail.com> <20060703190448.GD727@turion.vk2pj.dyndns.org> <8e96a0b90607041815s7888cf7areb5244247b9bdb53@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 05 July 2006 03:15, mal content wrote:
> On 03/07/06, Peter Jeremy <peterjeremy@optushome.com.au> wrote:
> > For dynamic executables, you could LD_PRELOAD a .so that replaces
> > all the socket-related syscalls.
>
> Excellent suggestion! Ok, I've created a basic .so file with the following
> code, but I've basically got stuck because I don't know how the original
> syscalls are defined and can't find the definitions in the source:
>
> ---
> #include <sys/syscall.h>
> #include <sys/types.h>
> #include <sys/socket.h>
>
> int socket(int d, int t, int prot)
> {
>   return __syscall(SYS_socket, d, t, prot);
> }
> [ ... ]

Wouldn't this still allow a program to open sockets when the program does the 
__syscall() dance for itself instead of relying on socket() to work?
I have never tried MAC myself, so correct me if I'm wrong, but I think 
something like this could be done using a modified version of mac_portacl(4).

grtz,
Daan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607051139.32393.Danovitsch>