From f9363450a3fcb3f3460f4458a193988ca6695683 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Wed, 4 Mar 2009 11:13:14 +0000 Subject: fixed build on FreeBSD --- src/Makefile | 2 +- src/configure | 2 +- src/plain_packet.c | 1 + src/sig_handler.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/sig_handler.h | 45 ++++++++++++++++++++++++++++++++++++++ src/signal.c | 64 ------------------------------------------------------ src/signal.h | 45 -------------------------------------- src/uanytun.c | 2 +- 8 files changed, 113 insertions(+), 112 deletions(-) create mode 100644 src/sig_handler.c create mode 100644 src/sig_handler.h delete mode 100644 src/signal.c delete mode 100644 src/signal.h (limited to 'src') diff --git a/src/Makefile b/src/Makefile index 42f1aff..358c612 100644 --- a/src/Makefile +++ b/src/Makefile @@ -42,7 +42,7 @@ CRYPT_OBJ := key_derivation.o \ auth_algo.o OBJ := log.o \ string_list.o \ - signal.o \ + sig_handler.o \ options.o \ tun.o \ udp.o \ diff --git a/src/configure b/src/configure index 2112aa8..9d13a5b 100755 --- a/src/configure +++ b/src/configure @@ -119,7 +119,7 @@ case $TARGET in echo "loading BSD specific TUN Device" CFLAGS=$CFLAGS' -I/usr/local/include' LDFLAGS=$LDFLAGS' -L/usr/local/lib' - if [ "$TARGET" == 'OpenBSD' ]; then + if [ "x$TARGET" = "xOpenBSD" ]; then V4_MAPPED=0 fi ;; diff --git a/src/plain_packet.c b/src/plain_packet.c index 469f412..1d7ba2b 100644 --- a/src/plain_packet.c +++ b/src/plain_packet.c @@ -38,6 +38,7 @@ #include #include +#include #include #include #include diff --git a/src/sig_handler.c b/src/sig_handler.c new file mode 100644 index 0000000..6fd4b85 --- /dev/null +++ b/src/sig_handler.c @@ -0,0 +1,64 @@ +/* + * uAnytun + * + * uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full + * featured implementation uAnytun has no support for multiple connections + * or synchronisation. It is a small single threaded implementation intended + * to act as a client on small platforms. + * The secure anycast tunneling protocol (satp) defines a protocol used + * for communication between any combination of unicast and anycast + * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel + * mode and allows tunneling of every ETHER TYPE protocol (e.g. + * ethernet, ip, arp ...). satp directly includes cryptography and + * message authentication based on the methodes used by SRTP. It is + * intended to deliver a generic, scaleable and secure solution for + * tunneling and relaying of packets of any protocol. + * + * + * Copyright (C) 2007-2008 Christian Pointner + * + * This file is part of uAnytun. + * + * uAnytun is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * uAnytun is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with uAnytun. If not, see . + */ + +#include "datatypes.h" + +#include "log.h" +#include +#include "sig_handler.h" + +volatile sig_atomic_t signal_exit = 0; + +void signal_init() +{ + signal(SIGINT, handle_signal); + signal(SIGQUIT, handle_signal); + signal(SIGTERM, handle_signal); + signal(SIGHUP, handle_signal); + signal(SIGUSR1, handle_signal); + signal(SIGUSR2, handle_signal); +} + +void handle_signal(int sig) +{ + switch(sig) { + case SIGINT: log_printf(NOTICE, "SIG-Int caught, exitting"); signal_exit = 1; break; + case SIGQUIT: log_printf(NOTICE, "SIG-Quit caught, exitting"); signal_exit = 1; break; + case SIGTERM: log_printf(NOTICE, "SIG-Term caught, exitting"); signal_exit = 1; break; + case SIGHUP: log_printf(NOTICE, "SIG-Hup caught"); break; + case SIGUSR1: log_printf(NOTICE, "SIG-Usr1 caught"); break; + case SIGUSR2: log_printf(NOTICE, "SIG-Usr2 caught"); break; + default: log_printf(NOTICE, "Signal %d caught, ignoring", sig); break; + } +} diff --git a/src/sig_handler.h b/src/sig_handler.h new file mode 100644 index 0000000..a7779be --- /dev/null +++ b/src/sig_handler.h @@ -0,0 +1,45 @@ +/* + * uAnytun + * + * uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full + * featured implementation uAnytun has no support for multiple connections + * or synchronisation. It is a small single threaded implementation intended + * to act as a client on small platforms. + * The secure anycast tunneling protocol (satp) defines a protocol used + * for communication between any combination of unicast and anycast + * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel + * mode and allows tunneling of every ETHER TYPE protocol (e.g. + * ethernet, ip, arp ...). satp directly includes cryptography and + * message authentication based on the methodes used by SRTP. It is + * intended to deliver a generic, scaleable and secure solution for + * tunneling and relaying of packets of any protocol. + * + * + * Copyright (C) 2007-2008 Christian Pointner + * + * This file is part of uAnytun. + * + * uAnytun is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * uAnytun is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with uAnytun. If not, see . + */ + +#ifndef _SIG_HANDLER_H_ +#define _SIG_HANDLER_H_ + +#include + +extern volatile sig_atomic_t signal_exit; + +void signal_init(); +void handle_signal(int sig); + +#endif diff --git a/src/signal.c b/src/signal.c deleted file mode 100644 index 01ec5d5..0000000 --- a/src/signal.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * uAnytun - * - * uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full - * featured implementation uAnytun has no support for multiple connections - * or synchronisation. It is a small single threaded implementation intended - * to act as a client on small platforms. - * The secure anycast tunneling protocol (satp) defines a protocol used - * for communication between any combination of unicast and anycast - * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel - * mode and allows tunneling of every ETHER TYPE protocol (e.g. - * ethernet, ip, arp ...). satp directly includes cryptography and - * message authentication based on the methodes used by SRTP. It is - * intended to deliver a generic, scaleable and secure solution for - * tunneling and relaying of packets of any protocol. - * - * - * Copyright (C) 2007-2008 Christian Pointner - * - * This file is part of uAnytun. - * - * uAnytun is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. - * - * uAnytun is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with uAnytun. If not, see . - */ - -#include "datatypes.h" - -#include "log.h" -#include "signal.h" -#include - -volatile sig_atomic_t signal_exit = 0; - -void signal_init() -{ - signal(SIGINT, handle_signal); - signal(SIGQUIT, handle_signal); - signal(SIGTERM, handle_signal); - signal(SIGHUP, handle_signal); - signal(SIGUSR1, handle_signal); - signal(SIGUSR2, handle_signal); -} - -void handle_signal(int sig) -{ - switch(sig) { - case SIGINT: log_printf(NOTICE, "SIG-Int caught, exitting"); signal_exit = 1; break; - case SIGQUIT: log_printf(NOTICE, "SIG-Quit caught, exitting"); signal_exit = 1; break; - case SIGTERM: log_printf(NOTICE, "SIG-Term caught, exitting"); signal_exit = 1; break; - case SIGHUP: log_printf(NOTICE, "SIG-Hup caught"); break; - case SIGUSR1: log_printf(NOTICE, "SIG-Usr1 caught"); break; - case SIGUSR2: log_printf(NOTICE, "SIG-Usr2 caught"); break; - default: log_printf(NOTICE, "Signal %d caught, ignoring", sig); break; - } -} diff --git a/src/signal.h b/src/signal.h deleted file mode 100644 index 70dc1e6..0000000 --- a/src/signal.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * uAnytun - * - * uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full - * featured implementation uAnytun has no support for multiple connections - * or synchronisation. It is a small single threaded implementation intended - * to act as a client on small platforms. - * The secure anycast tunneling protocol (satp) defines a protocol used - * for communication between any combination of unicast and anycast - * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel - * mode and allows tunneling of every ETHER TYPE protocol (e.g. - * ethernet, ip, arp ...). satp directly includes cryptography and - * message authentication based on the methodes used by SRTP. It is - * intended to deliver a generic, scaleable and secure solution for - * tunneling and relaying of packets of any protocol. - * - * - * Copyright (C) 2007-2008 Christian Pointner - * - * This file is part of uAnytun. - * - * uAnytun is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. - * - * uAnytun is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with uAnytun. If not, see . - */ - -#ifndef _SIGNAL_H_ -#define _SIGNAL_H_ - -#include - -extern volatile sig_atomic_t signal_exit; - -void signal_init(); -void handle_signal(int sig); - -#endif diff --git a/src/uanytun.c b/src/uanytun.c index 83b16bb..396903d 100644 --- a/src/uanytun.c +++ b/src/uanytun.c @@ -40,7 +40,7 @@ #include #include "log.h" -#include "signal.h" +#include "sig_handler.h" #include "options.h" #include "tun.h" -- cgit v1.2.3