Date: Wed, 5 Jul 2006 02:15:44 +0100 From: "mal content" <artifact.one@googlemail.com> To: "Peter Jeremy" <peterjeremy@optushome.com.au> Cc: freebsd-hackers@freebsd.org Subject: Re: Stop further socket() or connect() calls. Message-ID: <8e96a0b90607041815s7888cf7areb5244247b9bdb53@mail.gmail.com> In-Reply-To: <20060703190448.GD727@turion.vk2pj.dyndns.org> References: <8e96a0b90607031009v4ec2630fgfc432f5dad15abda@mail.gmail.com> <20060703190448.GD727@turion.vk2pj.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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); } int connect(int s, const struct sockaddr *sa, socklen_t len) { return __syscall(SYS_connect, s, sa, len); } int bind(int s, const struct sockaddr *sa, socklen_t len) { return __syscall(SYS_bind, s, sa, len); } int listen(int s, int bl) { return __syscall(SYS_listen, s, bl); } --- This doesn't work, it causes various runtime errors. Where are the system calls defined in the source? I could just copy the definitions. cheers MC
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8e96a0b90607041815s7888cf7areb5244247b9bdb53>