]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
build: autotools: first pass of trivial autotools changes
authorAlon Bar-Lev <alon.barlev@gmail.com>
Wed, 29 Feb 2012 20:11:56 +0000 (22:11 +0200)
committerDavid Sommerseth <davids@redhat.com>
Thu, 22 Mar 2012 21:07:07 +0000 (22:07 +0100)
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Acked-by: Adriaan de Jong <dejong@fox-it.com>
Acked-by: David Sommerseth <davids@redhat.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
15 files changed:
Makefile.am
compat.m4 [new file with mode: 0644]
configure.ac
lladdr.c
misc.c
misc.h
openvpn.spec.in
options.c
route.c
sig.c
socket.c
syshead.h
tun.c
version.m4
win32.h

index 4b883da6071f98ee35d331b57183f56f6aa9f78e..6c0b2b45fa38ec8d592297d88a7bb3aed9e66464 100644 (file)
 #  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
 
-LDADD = @LIBOBJS@
-
 # This option prevents autoreconf from overriding our COPYING and
 # INSTALL targets:
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign 1.9
 ACLOCAL_AMFLAGS = -I m4
 
 MAINTAINERCLEANFILES = \
@@ -62,11 +60,22 @@ dist_noinst_SCRIPTS = \
        t_cltsrv-down.sh \
        configure_h.awk configure_log.awk
 
+dist_doc_DATA = \
+       COPYRIGHT.GPL \
+       COPYING
+
 dist_noinst_DATA = \
+       .gitignore \
        openvpn.spec \
-       COPYRIGHT.GPL \
        PORTS \
-       INSTALL-win32.txt
+       README.IPv6 TODO.IPv6 \
+       README.polarssl \
+
+if WIN32
+dist_doc_DATA += INSTALL-win32.txt
+else
+dist_noinst_DATA += INSTALL-win32.txt
+endif
 
 openvpn_SOURCES = \
         base64.c base64.h \
@@ -154,9 +163,6 @@ configure.h: Makefile
        awk -f $(srcdir)/configure_h.awk config.h > $@
        awk -f $(srcdir)/configure_log.awk config.log >> $@
 
-dist-hook:
-       cd $(distdir) && for i in $(EXTRA_DIST) $(SUBDIRS) ; do find $$i -name .svn -type d -prune -exec rm -rf '{}' ';' ; rm -f `find $$i -type f | grep -E '(^|\/)\.?\#|\~$$|\.s?o$$'` ; done
-
 if WIN32
 dist_noinst_DATA += openvpn.8
 nodist_html_DATA = openvpn.8.html
diff --git a/compat.m4 b/compat.m4
new file mode 100644 (file)
index 0000000..d5c01f7
--- /dev/null
+++ b/compat.m4
@@ -0,0 +1,70 @@
+dnl  OpenVPN -- An application to securely tunnel IP networks
+dnl             over a single UDP port, with support for SSL/TLS-based
+dnl             session authentication and key exchange,
+dnl             packet encryption, packet authentication, and
+dnl             packet compression.
+dnl
+dnl  Copyright (C) 2008-2012 Alon Bar-Lev <alon.barlev@gmail.com>
+dnl
+dnl  This program is free software; you can redistribute it and/or modify
+dnl  it under the terms of the GNU General Public License as published by
+dnl  the Free Software Foundation; either version 2 of the License, or
+dnl  (at your option) any later version.
+dnl
+dnl  This program is distributed in the hope that it will be useful,
+dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl  GNU General Public License for more details.
+dnl
+dnl  You should have received a copy of the GNU General Public License
+dnl  along with this program (see the file COPYING included with this
+dnl  distribution); if not, write to the Free Software Foundation, Inc.,
+dnl  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+dnl Compatibility layer for <autoconf-2.60 <automake-1.10
+dnl REMOVE THIS IN FUTURE!
+
+ifdef(
+       [AS_VAR_IF],
+       ,
+       [
+               AC_DEFUN([AS_VAR_IF], [dnl
+                       if test "$$1" = "$2"; then
+                               m4_ifval([$3], [$3], [:])
+                       else
+                               m4_ifval([$4], [$4], [:])
+                       fi
+               ])
+       ]
+)
+ifdef(
+       [AC_USE_SYSTEM_EXTENSIONS],
+       ,
+       [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [GNU_SOURCE])]
+)
+ifdef(
+       [AC_TYPE_INT8_T],
+       ,
+       [
+               AC_CHECK_HEADERS([inttypes.h stdint.h])
+               test -z "${ac_cv_header_inttypes_h}${ac_cv_header_stdint_h}" && \
+                       AC_MSG_ERROR([Required inttypes.h stdint.h not found])
+               
+               AC_DEFUN([AC_TYPE_INT8_T], [])
+               AC_DEFUN([AC_TYPE_INT16_T], [])
+               AC_DEFUN([AC_TYPE_INT32_T], [])
+               AC_DEFUN([AC_TYPE_INT64_T], [])
+               AC_DEFUN([AC_TYPE_UINT8_T], [])
+               AC_DEFUN([AC_TYPE_UINT16_T], [])
+               AC_DEFUN([AC_TYPE_UINT32_T], [])
+               AC_DEFUN([AC_TYPE_UINT64_T], [])
+       ]
+)
+if test -z "${docdir}"; then
+       docdir="\$(datadir)/doc/\$(PACKAGE_NAME)"
+       AC_SUBST([docdir])
+fi
+if test -z "${htmldir}"; then
+       htmldir="\$(docdir)"
+       AC_SUBST([htmldir])
+fi
index 69a37361057651921627a1252dd79d1c73db9a82..07b2e1a2029a9a4e5b9a8b72ec125a6ec68a7c89 100644 (file)
@@ -5,6 +5,7 @@ dnl             packet encryption, packet authentication, and
 dnl             packet compression.
 dnl
 dnl  Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net>
+dnl  Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com>
 dnl
 dnl  This program is free software; you can redistribute it and/or modify
 dnl  it under the terms of the GNU General Public License as published by
@@ -23,346 +24,356 @@ dnl  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ(2.50)
+AC_PREREQ(2.59)
 
 m4_include(version.m4)
-AC_INIT([OpenVPN], [PRODUCT_VERSION], [openvpn-users@lists.sourceforge.net], [openvpn])
-AM_CONFIG_HEADER(config.h)
-AC_CONFIG_SRCDIR(syshead.h)
-
-dnl Guess host type.
-AC_CANONICAL_HOST
+AC_INIT([PRODUCT_NAME], [PRODUCT_VERSION], [PRODUCT_BUGREPORT], [PRODUCT_TARNAME])
+m4_include(compat.m4)
+AC_CONFIG_AUX_DIR([.])
+AM_CONFIG_HEADER([config.h])
+AC_CONFIG_SRCDIR([syshead.h])
 AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE(openvpn, [$PACKAGE_VERSION])
-
-AC_ARG_WITH(cygwin-native,
-       [  --with-cygwin-native              Compile native win32],
-       [CYGWIN_NATIVE="${withval}"],
-       [CYGWIN_NATIVE="no"]
-)
-
-WIN32="no"
-CYGWIN="no"
-case "${host}" in
-       *-mingw*)
-               WIN32="yes"
-               cross_compiling="yes"
-       ;;
-       *-*-cygwin*)
-               AC_MSG_CHECKING([cygwin mode to use])
-               if test "${CYGWIN_NATIVE}" = "yes"; then
-                       AC_MSG_RESULT([Using native win32])
-                       CFLAGS="${CFLAGS} -mno-cygwin"
-                       CYGWIN="yes"
-                       WIN32="yes"
-               else
-                       AC_MSG_RESULT([Using cygwin])
-               fi
-       ;;
-       *)
-       ;;
-esac
-
-AC_ARG_ENABLE(lzo,
-   [  --disable-lzo           Disable LZO compression support],
-   [LZO="$enableval"],
-   [LZO="yes"]
-)
+AM_INIT_AUTOMAKE
+AC_CANONICAL_HOST
+AC_USE_SYSTEM_EXTENSIONS
 
-AC_ARG_ENABLE(lzo-stub,
-   [  --enable-lzo-stub       Don't compile LZO compression support but still allow limited interoperability with LZO-enabled peers],
-   [LZO_STUB="$enableval"],
-   [LZO_STUB="no"]
+AC_ARG_ENABLE(
+       [lzo],
+       [AS_HELP_STRING([--disable-lzo], [disable LZO compression support])],
+       ,
+       [enable_lzo="yes"]
 )
 
-AC_ARG_ENABLE(crypto,
-   [  --disable-crypto        Disable crypto support],
-   [CRYPTO="$enableval"],
-   [CRYPTO="yes"]
+AC_ARG_ENABLE(
+       [lzo-stub],
+       [AS_HELP_STRING([--enable-lzo-stub], [don't compile LZO compression support but still allow limited interoperability with LZO-enabled peers])],
+       ,
+       [enable_lzo_stub="no"]
 )
 
-AC_ARG_ENABLE(ssl,
-   [  --disable-ssl           Disable SSL support for TLS-based key exchange],
-   [SSL="$enableval"],
-   [SSL="yes"]
+AC_ARG_ENABLE(
+       [crypto],
+       [AS_HELP_STRING([--disable-crypto], [disable crypto support])],
+       ,
+       [enable_crypto="yes"]
 )
 
-AC_ARG_ENABLE(x509-alt-username,
-   [  --enable-x509-alt-username    Enable the --x509-username-field feature],
-   [X509ALTUSERNAME="$enableval"],
-   [X509ALTUSERNAME="no"]
+AC_ARG_ENABLE(
+       [ssl],
+       [AS_HELP_STRING([--disable-ssl], [disable SSL support for TLS-based key exchange])],
+       ,
+       [enable_ssl="yes"]
 )
 
-AC_ARG_ENABLE(multi,
-   [  --disable-multi         Disable client/server support (--mode server + client mode)],
-   [MULTI="$enableval"],
-   [MULTI="yes"]
+AC_ARG_ENABLE(
+       [x509-alt-username],
+       [AS_HELP_STRING([--enable-x509-alt-username], [enable the --x509-username-field feature])],
+       ,
+       [enable_x509_alt_username="no"]
 )
 
-AC_ARG_ENABLE(server,
-   [  --disable-server        Disable server support only (but retain client support)],
-   [MULTI_SERVER="$enableval"],
-   [MULTI_SERVER="yes"]
+AC_ARG_ENABLE(
+       [multi],
+       [AS_HELP_STRING([--disable-multi], [disable client/server support (--mode server + client mode)])],
+       ,
+       [enable_multi="yes"]
 )
 
-AC_ARG_ENABLE(plugins,
-   [  --disable-plugins       Disable plug-in support],
-   [PLUGINS="$enableval"],
-   [PLUGINS="yes"]
+AC_ARG_ENABLE(
+       [server],
+       [AS_HELP_STRING([--disable-server], [disable server support only (but retain client support)])],
+       ,
+       [enable_server="yes"]
 )
 
-AC_ARG_ENABLE(eurephia,
-   [  --disable-eurephia      Disable support for the eurephia plug-in],
-   [EUREPHIA="$enableval"],
-   [EUREPHIA="yes"]
+AC_ARG_ENABLE(
+       [plugins],
+       [AS_HELP_STRING([--disable-plugins], [disable plug-in support])],
+       ,
+       [enable_plugins="yes"]
 )
 
-AC_ARG_ENABLE(management,
-   [  --disable-management    Disable management server support],
-   [MANAGEMENT="$enableval"],
-   [MANAGEMENT="yes"]
+AC_ARG_ENABLE(
+       [eurephia],
+       [AS_HELP_STRING([--disable-eurephia], [disable support for the eurephia plug-in])],
+       ,
+       [enable_eurephia="yes"]
 )
 
-AC_ARG_ENABLE(pkcs11,
-   [  --disable-pkcs11        Disable pkcs11 support],
-   [PKCS11="$enableval"],
-   [PKCS11="yes"]
+AC_ARG_ENABLE(
+       [management],
+       [AS_HELP_STRING([--disable-management], [disable management server support])],
+       ,
+       [enable_management="yes"]
 )
 
-AC_ARG_ENABLE(socks,
-   [  --disable-socks         Disable Socks support],
-   [SOCKS="$enableval"],
-   [SOCKS="yes"]
+AC_ARG_ENABLE(
+       [pkcs11],
+       [AS_HELP_STRING([--disable-pkcs11], [disable pkcs11 support])],
+       ,
+       [enable_pkcs11="yes"]
 )
 
-AC_ARG_ENABLE(http,
-   [  --disable-http          Disable HTTP proxy support],
-   [HTTP_PROXY="$enableval"],
-   [HTTP_PROXY="yes"]
+AC_ARG_ENABLE(
+       [socks],
+       [AS_HELP_STRING([--disable-socks], [disable Socks support])],
+       ,
+       [enable_socks="yes"]
 )
 
-AC_ARG_ENABLE(fragment,
-   [  --disable-fragment      Disable internal fragmentation support (--fragment)],
-   [FRAGMENT="$enableval"],
-   [FRAGMENT="yes"]
+AC_ARG_ENABLE(
+       [http-proxy],
+       [AS_HELP_STRING([--disable-http-proxy], [disable HTTP proxy support])],
+       ,
+       [enable_http_proxy="yes"]
 )
 
-AC_ARG_ENABLE(multihome,
-   [  --disable-multihome     Disable multi-homed UDP server support (--multihome)],
-   [MULTIHOME="$enableval"],
-   [MULTIHOME="yes"]
+AC_ARG_ENABLE(
+       [fragment],
+       [AS_HELP_STRING([--disable-fragment], [disable internal fragmentation support (--fragment)])],
+       ,
+       [enable_fragment="yes"]
 )
 
-AC_ARG_ENABLE(port-share,
-   [  --disable-port-share    Disable TCP server port-share support (--port-share)],
-   [PORT_SHARE="$enableval"],
-   [PORT_SHARE="yes"]
+AC_ARG_ENABLE(
+       [multihome],
+       [AS_HELP_STRING([--disable-multihome], [disable multi-homed UDP server support (--multihome)])],
+       ,
+       [enable_multihome="yes"]
 )
 
-AC_ARG_ENABLE(debug,
-   [  --disable-debug         Disable debugging support (disable gremlin and verb 7+ messages)],
-   [DEBUG="$enableval"],
-   [DEBUG="yes"]
+AC_ARG_ENABLE(
+       [port-share],
+       [AS_HELP_STRING([--disable-port-share], [disable TCP server port-share support (--port-share)])],
+       ,
+       [enable_port_share="yes"]
 )
 
-AC_ARG_ENABLE(small,
-   [  --enable-small          Enable smaller executable size (disable OCC, usage message, and verb 4 parm list)],
-   [SMALL="$enableval"],
-   [SMALL="no"]
+AC_ARG_ENABLE(
+       [debug],
+       [AS_HELP_STRING([--disable-debug], [disable debugging support (disable gremlin and verb 7+ messages)])],
+       ,
+       [enable_debug="yes"]
 )
 
-AC_ARG_ENABLE(password-save,
-   [  --enable-password-save  Allow --askpass and --auth-user-pass passwords to be read from a file],
-   [PASSWORD_SAVE="$enableval"],
-   [PASSWORD_SAVE="no"]
+AC_ARG_ENABLE(
+       [small],
+       [AS_HELP_STRING([--enable-small], [enable smaller executable size (disable OCC, usage message, and verb 4 parm list)])],
+       ,
+       [enable_small="no"]
 )
 
-AC_ARG_ENABLE(iproute2,
-   [  --enable-iproute2       Enable support for iproute2],
-   test $enableval = "yes" && AC_DEFINE(CONFIG_FEATURE_IPROUTE, 1, [enable iproute2 support])   
+AC_ARG_ENABLE(
+       [password-save],
+       [AS_HELP_STRING([--enable-password-save], [allow --askpass and --auth-user-pass passwords to be read from a file])],
+       [enable_password_save="no"]
 )
 
-AC_ARG_ENABLE(def-auth,
-   [  --disable-def-auth      Disable deferred authentication],
-   [DEF_AUTH="$enableval"],
-   [DEF_AUTH="yes"]
+AC_ARG_ENABLE(
+       [iproute2],
+       [AS_HELP_STRING([--enable-iproute2], [enable support for iproute2])],
+       ,
+       [enable_iproute2="no"]
 )
 
-AC_ARG_ENABLE(pf,
-   [  --disable-pf            Disable internal packet filter],
-   [PF="$enableval"],
-   [PF="yes"]
+AC_ARG_ENABLE(
+       [def-auth],
+       [AS_HELP_STRING([--disable-def-auth], [disable deferred authentication])],
+       ,
+       [enable_def_auth="yes"]
 )
 
-AC_ARG_ENABLE(strict,
-   [  --enable-strict         Enable strict compiler warnings (debugging option)],
-   [STRICT="$enableval"],
-   [STRICT="no"]
+AC_ARG_ENABLE(
+       [pf],
+       [AS_HELP_STRING([--disable-pf], [disable internal packet filter])],
+       ,
+       [enable_pf="yes"]
 )
 
-AC_ARG_ENABLE(pedantic,
-   [  --enable-pedantic       Enable pedantic compiler warnings, will not generate a working executable (debugging option)],
-   [PEDANTIC="$enableval"],
-   [PEDANTIC="no"]
+AC_ARG_ENABLE(
+       [strict],
+       [AS_HELP_STRING([--enable-strict], [enable strict compiler warnings (debugging option)])],
+       ,
+       [enable_strict="no"]
 )
 
-AC_ARG_ENABLE(profiling,
-   [  --enable-profiling      Enable profiling (debugging option)],
-   [PROFILE="$enableval"],
-   [PROFILE="no"]
+AC_ARG_ENABLE(
+       [pedantic],
+       [AS_HELP_STRING([--enable-pedantic], [enable pedantic compiler warnings, will not generate a working executable (debugging option)])],
+       ,
+       [enable_pedantic="no"]
 )
 
-AC_ARG_ENABLE(strict-options,
-   [  --enable-strict-options Enable strict options check between peers (debugging option)],
-   [STRICT_OPTIONS="$enableval"],
-   [STRICT_OPTIONS="no"]
+AC_ARG_ENABLE(
+       [strict-options],
+       [AS_HELP_STRING([--enable-strict-options], [enable strict options check between peers (debugging option)])],
+       ,
+       [enable_strict_options="no"]
 )
 
-AC_ARG_ENABLE(selinux,
-   [  --disable-selinux       Disable SELinux support],
-   [SELINUX="$enableval"],
-   [SELINUX="yes"]
+AC_ARG_ENABLE(
+       [selinux],
+       [AS_HELP_STRING([--disable-selinux], [disable SELinux support])],
+       ,
+       [enable_selinux="no"]
 )
 
-AC_ARG_ENABLE(systemd,
-   [  --enable-systemd        Enable systemd suppport],
-   [SYSTEMD="$enableval"],
-   [SYSTEMD="no"]
+AC_ARG_ENABLE(
+       [systemd],
+       [AS_HELP_STRING([--enable-systemd], [enable systemd suppport])],
+       ,
+       [enable_systemd="no"]
 )
 
-AC_ARG_WITH(ssl-headers,
-   [  --with-ssl-headers=DIR  Crypto/SSL Include files location],
-   [CS_HDR_DIR="$withval"]
-   [CPPFLAGS="$CPPFLAGS -I$withval"] 
+AC_ARG_WITH(
+       [ssl-headers],
+       [AS_HELP_STRING([--with-ssl-headers=DIR], [Crypto/SSL Include files location])],
+       [CS_HDR_DIR="$withval"]
+       [CPPFLAGS="$CPPFLAGS -I$withval"] 
 )
 
-AC_ARG_WITH(ssl-lib,
-   [  --with-ssl-lib=DIR      Crypto/SSL Library location],
-   [LDFLAGS="$LDFLAGS -L$withval"] 
+AC_ARG_WITH(
+       [ssl-lib],
+       [AS_HELP_STRING([--with-ssl-lib=DIR], [Crypto/SSL Library location])],
+       [LDFLAGS="$LDFLAGS -L$withval"] 
 )
 
-AC_ARG_WITH(lzo-headers,
-   [  --with-lzo-headers=DIR  LZO Include files location],
-   [LZO_HDR_DIR="$withval"]
-   [CPPFLAGS="$CPPFLAGS -I$withval"] 
+AC_ARG_WITH(
+       [lzo-headers],
+       [AS_HELP_STRING([--with-lzo-headers=DIR], [LZO Include files location])],
+       [LZO_HDR_DIR="$withval"]
+       [CPPFLAGS="$CPPFLAGS -I$withval"] 
 )
 
-AC_ARG_WITH(lzo-lib,
-   [  --with-lzo-lib=DIR      LZO Library location],
-   [LDFLAGS="$LDFLAGS -L$withval"] 
+AC_ARG_WITH(
+       [lzo-lib],
+       [AS_HELP_STRING([--with-lzo-lib=DIR], [LZO Library location])],
+       [LDFLAGS="$LDFLAGS -L$withval"] 
 )
 
-AC_ARG_WITH(pkcs11-helper-headers,
-   [  --with-pkcs11-helper-headers=DIR pkcs11-helper Include files location],
-   [PKCS11_HELPER_HDR_DIR="$withval"]
-   [CPPFLAGS="$CPPFLAGS -I$withval"] 
+AC_ARG_WITH(
+       [pkcs11-helper-headers],
+       [AS_HELP_STRING([--with-pkcs11-helper-headers=DIR], [pkcs11-helper Include files location])],
+       [PKCS11_HELPER_HDR_DIR="$withval"]
+       [CPPFLAGS="$CPPFLAGS -I$withval"] 
 )
 
-AC_ARG_WITH(pkcs11-helper-lib,
-   [  --with-pkcs11-helper-lib=DIR     pkcs11-helper Library location],
-   [LDFLAGS="$LDFLAGS -L$withval"] 
+AC_ARG_WITH(
+       [pkcs11-helper-lib],
+       [AS_HELP_STRING([--with-pkcs11-helper-lib=DIR], [pkcs11-helper Library location])],
+       [LDFLAGS="$LDFLAGS -L$withval"] 
 )
 
-AC_ARG_WITH(ifconfig-path,
-   [  --with-ifconfig-path=PATH   Path to ifconfig tool],
-   [IFCONFIG="$withval"],
-   [AC_PATH_PROG([IFCONFIG], [ifconfig], [ifconfig], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])]
+AC_ARG_WITH(
+       [ifconfig-path],
+       [AS_HELP_STRING([--with-ifconfig-path=PATH], [Path to ifconfig tool])],
+       [IFCONFIG="$withval"],
+       [AC_PATH_PROG([IFCONFIG], [ifconfig], [ifconfig], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])]
 )
-AC_DEFINE_UNQUOTED(IFCONFIG_PATH, "$IFCONFIG", [Path to ifconfig tool])
+AC_DEFINE_UNQUOTED([IFCONFIG_PATH], ["$IFCONFIG"], [Path to ifconfig tool])
 
-AC_ARG_WITH(iproute-path,
-   [  --with-iproute-path=PATH    Path to iproute tool],
-   [IPROUTE="$withval"],
-   [AC_PATH_PROG([IPROUTE], [ip], [ip], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])]
+AC_ARG_WITH(
+       [iproute-path],
+       [AS_HELP_STRING([--with-iproute-path=PATH], [Path to iproute tool])],
+       [IPROUTE="$withval"],
+       [AC_PATH_PROG([IPROUTE], [ip], [ip], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])]
 )
-AC_DEFINE_UNQUOTED(IPROUTE_PATH, "$IPROUTE", [Path to iproute tool])
-
+AC_DEFINE_UNQUOTED([IPROUTE_PATH], ["$IPROUTE"], [Path to iproute tool])
 
-AC_ARG_WITH(route-path,
-   [  --with-route-path=PATH  Path to route tool],
+AC_ARG_WITH([route-path],
+   [AS_HELP_STRING([--with-route-path=PATH], [Path to route tool])],
    [ROUTE="$withval"],
    [AC_PATH_PROG([ROUTE], [route], [route], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])]
 )
-AC_DEFINE_UNQUOTED(ROUTE_PATH, "$ROUTE", [Path to route tool])
+AC_DEFINE_UNQUOTED([ROUTE_PATH], ["$ROUTE"], [Path to route tool])
 
-AC_ARG_WITH(netstat-path,
-   [  --with-netstat-path=PATH  Path to netstat tool],
-   [NETSTAT="$withval"],
-   [AC_PATH_PROG([NETSTAT], [netstat], [netstat], [$PATH:/usr/local/sbin:/usr/sbin:/sbin:/etc])]
+AC_ARG_WITH(
+       [netstat-path],
+       [AS_HELP_STRING([--with-netstat-path=PATH], [Path to netstat tool])],
+       [NETSTAT="$withval"],
+       [AC_PATH_PROG([NETSTAT], [netstat], [netstat], [$PATH:/usr/local/sbin:/usr/sbin:/sbin:/etc])]
 )
-AC_DEFINE_UNQUOTED(NETSTAT_PATH, "$NETSTAT", [Path to netstat tool])
+AC_DEFINE_UNQUOTED([NETSTAT_PATH], ["$NETSTAT"], [Path to netstat tool])
 
-AC_ARG_WITH(mem-check,
-   [  --with-mem-check=TYPE  Build with debug memory checking, TYPE = dmalloc or valgrind],
-   [MEMCHECK="$withval"]
+AC_ARG_WITH(
+       [mem-check],
+       [AS_HELP_STRING([--with-mem-check=TYPE], [build with debug memory checking, TYPE=dmalloc|valgrind|ssl])],
+       [
+               case "${withval}" in
+                       dmalloc|valgrind|ssl|no) ;;
+                       *) AC_MSG_ERROR([bad value ${withval} for --mem-check]) ;;
+               esac
+       ],
+       [with_mem_check="no"]
 )
 
-AC_ARG_WITH([ssl-type],
-   [  --with-ssl-type=TYPE  Build with the given SSL library, TYPE = openssl or polarssl ],
-   [case "${withval}" in 
-        openssl) SSL_LIB=openssl ;;
-        polarssl) SSL_LIB=polarssl ;;
-        *) AC_MSG_ERROR([bad value ${withval} for --with-ssl-type]) ;;
-   esac],
-   [SSL_LIB="openssl"]
+AC_ARG_WITH(
+       [ssl-type],
+       [AS_HELP_STRING([--with-ssl-type=TYPE], [build with the given SSL library, TYPE = openssl or polarssl])],
+       [
+               case "${withval}" in 
+                       openssl|polarssl) ;;
+                       *) AC_MSG_ERROR([bad value ${withval} for --with-ssl-type]) ;;
+               esac
+       ],
+       [with_ssl_type="openssl"]
 )
 
-dnl fix search path, to allow compilers to find syshead.h
-CPPFLAGS="$CPPFLAGS -I${srcdir}"
-
-dnl check host OS
-openvpn_host=$host
-if test $host_alias; then
-  openvpn_host=$host_alias
-fi
-AC_DEFINE_UNQUOTED(TARGET_ALIAS, "$openvpn_host", [A string representing our host])
+AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${host}", [A string representing our host])
 case "$host" in
-*-*-linux*)
-       AC_DEFINE(TARGET_LINUX, 1, [Are we running on Linux?])
-       dnl RH9 SSL headers workaround
-           if test -z $CS_HDR_DIR && test "$CRYPTO" = "yes"; then
-           CPPFLAGS="$CPPFLAGS $(pkg-config --cflags openssl 2>/dev/null)"
-        fi
-       ;;
-*-*-solaris*)
-       AC_DEFINE(TARGET_SOLARIS, 1, [Are we running on Solaris?])
-       ;;
-*-*-openbsd*)
-       AC_DEFINE(TARGET_OPENBSD, 1, [Are we running on OpenBSD?])
-       ;;
-*-*-freebsd*)
-       AC_DEFINE(TARGET_FREEBSD, 1, [Are we running on FreeBSD?])
-       ;;
-*-*-netbsd*)
-       AC_DEFINE(TARGET_NETBSD, 1, [Are we running NetBSD?])
-       ;;
-*-*-darwin*)
-       dnl some Mac OS X tendering (we use vararg macros...)
-       AC_DEFINE(TARGET_DARWIN, 1, [Are we running on Mac OS X?])
-       CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
-       ;;
-*-mingw*)
-       AC_DEFINE(TARGET_WIN32, 1, [Are we running WIN32?])
-       CPPFLAGS="${CPPFLAGS} -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501"
-       OPENVPN_ADD_LIBS(-lgdi32)
-       OPENVPN_ADD_LIBS(-lws2_32)
-       OPENVPN_ADD_LIBS(-lwininet)
-       OPENVPN_ADD_LIBS(-lcrypt32)
-       OPENVPN_ADD_LIBS(-liphlpapi)
-       OPENVPN_ADD_LIBS(-lwinmm)
-       OPENVPN_ADD_LIBS(-lshell32)
-       ;;
-*-*-dragonfly*)
-       AC_DEFINE(TARGET_DRAGONFLY, 1, [Are we running on DragonFlyBSD?])
-       ;;
-       
+       *-*-linux*)
+               AC_DEFINE([TARGET_LINUX], [1], [Are we running on Linux?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["L"], [Target prefix])
+               ;;
+       *-*-solaris*)
+               AC_DEFINE([TARGET_SOLARIS], [1], [Are we running on Solaris?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["S"], [Target prefix])
+               ;;
+       *-*-openbsd*)
+               AC_DEFINE([TARGET_OPENBSD], [1], [Are we running on OpenBSD?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["O"], [Target prefix])
+               ;;
+       *-*-freebsd*)
+               AC_DEFINE([TARGET_FREEBSD], [1], [Are we running on FreeBSD?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["F"], [Target prefix])
+               ;;
+       *-*-netbsd*)
+               AC_DEFINE([TARGET_NETBSD], [1], [Are we running NetBSD?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["N"], [Target prefix])
+               ;;
+       *-*-darwin*)
+               AC_DEFINE([TARGET_DARWIN], [1], [Are we running on Mac OS X?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["M"], [Target prefix])
+               dnl some Mac OS X tendering (we use vararg macros...)
+               CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
+               ;;
+       *-mingw*)
+               AC_DEFINE([TARGET_WIN32], [1], [Are we running WIN32?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["W"], [Target prefix])
+               CPPFLAGS="${CPPFLAGS} -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501"
+               WIN32=yes
+               OPENVPN_ADD_LIBS(-lgdi32)
+               OPENVPN_ADD_LIBS(-lws2_32)
+               OPENVPN_ADD_LIBS(-lwininet)
+               OPENVPN_ADD_LIBS(-lcrypt32)
+               OPENVPN_ADD_LIBS(-liphlpapi)
+               OPENVPN_ADD_LIBS(-lwinmm)
+               OPENVPN_ADD_LIBS(-lshell32)
+               ;;
+       *-*-dragonfly*)
+               AC_DEFINE([TARGET_DRAGONFLY], [1], [Are we running on DragonFlyBSD?])
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["D"], [Target prefix])
+               ;;
+       *)
+               AC_DEFINE_UNQUOTED([TARGET_PREFIX], ["X"], [Target prefix])
+               ;;
 esac
 
-dnl Checks for programs.
-AC_PROG_CC
+PKG_PROG_PKG_CONFIG
+AC_PROG_CPP
 AC_PROG_INSTALL
-AC_PROG_GCC_TRADITIONAL
-AC_GNU_SOURCE
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
 
 if test "${WIN32}" = "yes"; then
        AC_ARG_VAR([MAN2HTML], [man2html utility])
@@ -370,10 +381,6 @@ if test "${WIN32}" = "yes"; then
        test -z "${MAN2HTML}" && AC_MSG_ERROR([man2html is required for win32])
 fi
 
-dnl Checks for header files.
-AC_HEADER_STDC
-
-dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
 AC_C_VOLATILE
@@ -381,304 +388,323 @@ AC_TYPE_OFF_T
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
 AC_TYPE_UID_T
-AC_HEADER_TIME
+AC_TYPE_INT8_T
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_UINT8_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_SIGNAL
 AX_CPP_VARARG_MACRO_ISO
 AX_CPP_VARARG_MACRO_GCC
 AX_TYPE_SOCKLEN_T
 AX_EMPTY_ARRAY
+AC_CHECK_SIZEOF([unsigned int])
+AC_CHECK_SIZEOF([unsigned long])
+AC_CHECK_HEADERS([ \
+       stdio.h stdarg.h \
+       time.h errno.h fcntl.h io.h direct.h \
+       ctype.h sys/types.h sys/socket.h \
+       signal.h unistd.h \
+       netinet/in.h netinet/in_systm.h \
+       netinet/tcp.h arpa/inet.h netdb.h \
+       windows.h winsock2.h ws2tcpip.h \
+])
 
-dnl Check for more header files.
-AC_CHECK_HEADERS(fcntl.h stdlib.h dnl
-                stdarg.h stdio.h string.h dnl
-                strings.h ctype.h errno.h dnl
-)
+SOCKET_INCLUDES="
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_WINDOWS_H
+#include <windows.h>
+#endif
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+"
 
 if test "${WIN32}" != "yes"; then
-   AC_HEADER_SYS_WAIT
-   AC_CHECK_HEADERS(sys/time.h sys/socket.h sys/un.h sys/ioctl.h sys/stat.h dnl
-                sys/mman.h fcntl.h sys/file.h stdlib.h stdint.h dnl
-                stdarg.h unistd.h signal.h stdio.h string.h dnl
-                strings.h ctype.h errno.h syslog.h pwd.h grp.h dnl
-                net/if_tun.h net/tun/if_tun.h stropts.h sys/sockio.h dnl
-                netinet/in.h netinet/in_systm.h dnl
-                netinet/tcp.h arpa/inet.h dnl
-                netdb.h sys/uio.h linux/if_tun.h linux/sockios.h dnl
-                linux/types.h sys/poll.h sys/epoll.h err.h dnl
-   )
-   AC_CHECK_HEADERS(net/if.h,,,
-                [#ifdef HAVE_SYS_TYPES_H
-                 # include <sys/types.h>
-                 #endif
-                 #ifdef HAVE_SYS_SOCKET_H
-                 # include <sys/socket.h>
-                 #endif
-                ])
-   AC_CHECK_HEADERS(netinet/ip.h,,,
-                [#ifdef HAVE_SYS_TYPES_H
-                 # include <sys/types.h>
-                 #endif
-                 #ifdef HAVE_NETINET_IN_H
-                 # include <netinet/in.h>
-                 #endif
-                 #ifdef HAVE_NETINET_IN_SYSTM_H
-                 # include <netinet/in_systm.h>
-                 #endif
-                ])
-   AC_CHECK_HEADERS(netinet/if_ether.h,,,
-                [#ifdef HAVE_SYS_TYPES_H
-                 # include <sys/types.h>
-                 #endif
-                 #ifdef HAVE_SYS_SOCKET_H
-                 # include <sys/socket.h>
-                 #endif
-                 #ifdef HAVE_NETINET_IN_H
-                 # include <netinet/in.h>
-                 #endif
-                ])
-   AC_CHECK_HEADERS(resolv.h,,,
-                [#ifdef HAVE_NETINET_IN_H 
-                 # include <netinet/in.h>
-                 #endif
-                ])
-   AC_CHECK_HEADERS(linux/errqueue.h,,,
-       [#ifdef HAVE_LINUX_TYPES_H
-        # include <linux/types.h>
-        #endif
+       AC_CHECK_HEADERS([ \
+               sys/time.h sys/un.h sys/ioctl.h sys/stat.h \
+               sys/mman.h sys/file.h \
+               syslog.h pwd.h grp.h \
+               net/if_tun.h net/tun/if_tun.h stropts.h \
+               sys/sockio.h \
+               sys/uio.h linux/if_tun.h linux/sockios.h \
+               linux/types.h sys/poll.h sys/epoll.h err.h \
        ])
-
-   dnl Check if SO_MARK is available
-   AC_TRY_COMPILE([#include <sys/socket.h>], [if( SO_MARK > 0) return 1;], [AC_DEFINE(HAVE_SO_MARK,[],[Is SO_MARK available?])])
+       AC_CHECK_HEADERS(
+               [net/if.h netinet/ip.h netinet/if_ether.h resolv.h],
+               ,
+               ,
+               [[${SOCKET_INCLUDES}]]
+       )
+
+       AC_CHECK_DECLS(
+               [SO_MARK],
+               ,
+               ,
+               [[${SOCKET_INCLUDES}]]
+       )
+
+       AC_SEARCH_LIBS([socket], [socket])
+       AC_SEARCH_LIBS([inet_ntoa], [nsl])
+       AC_SEARCH_LIBS([gethostbyname], [resolv nsl])
+       AC_FUNC_FORK
 fi
 
-AC_CACHE_SAVE
-
-dnl check that in_addr_t is defined
-AC_CHECK_TYPE(
+dnl We emulate signals in Windows
+AC_CHECK_DECLS(
+       [SIGHUP],
+       ,
+       [AC_DEFINE([SIGHUP], [1], [SIGHUP replacement])],
+       [[
+               #ifdef HAVE_SIGNAL_H
+               #include <signal.h>
+               #endif
+       ]]
+)
+AC_CHECK_DECLS(
+       [SIGINT],
+       ,
+       [AC_DEFINE([SIGINT], [2], [SIGINT replacement])],
+       [[
+               #ifdef HAVE_SIGNAL_H
+               #include <signal.h>
+               #endif
+       ]]
+)
+AC_CHECK_DECLS(
+       [SIGUSR1],
+       ,
+       [AC_DEFINE([SIGUSR1], [10], [SIGUSR1 replacement])],
+       [[
+               #ifdef HAVE_SIGNAL_H
+               #include <signal.h>
+               #endif
+       ]]
+)
+AC_CHECK_DECLS(
+       [SIGUSR2],
+       ,
+       [AC_DEFINE([SIGUSR2], [12], [SIGUSR2 replacement])],
+       [[
+               #ifdef HAVE_SIGNAL_H
+               #include <signal.h>
+               #endif
+       ]]
+)
+AC_CHECK_DECLS(
+       [SIGTERM],
+       ,
+       [AC_DEFINE([SIGTERM], [15], [SIGTERM replacement])],
+       [[
+               #ifdef HAVE_SIGNAL_H
+               #include <signal.h>
+               #endif
+       ]]
+)
+
+AC_CHECK_TYPES(
        [in_addr_t],
-       [],
-       [AC_DEFINE(in_addr_t, uint32_t, [Some systems don't define in_addr_t])],
-       [#include "syshead.h"])
-
-dnl check for basic types
-AC_CHECK_TYPE(
-       [uint8_t],
-       [],
-       [AC_DEFINE(uint8_t, unsigned char, [8-bit unsigned type])],
-       [#include "syshead.h"])
-AC_CHECK_TYPE(
-       [uint16_t],
-       [],
-       [AC_DEFINE(uint16_t, unsigned char, [16-bit unsigned type])],
-       [#include "syshead.h"])
-AC_CHECK_TYPE(
-       [uint32_t],
-       [],
-       [AC_DEFINE(uint32_t, unsigned long, [32-bit unsigned type])],
-       [#include "syshead.h"])
+       ,
+       [AC_DEFINE([in_addr_t], [uint32_t], [Workaround missing in_addr_t])],
+       [[${SOCKET_INCLUDES}]]
+)
 
 dnl check for IPv6 types
 AC_CHECK_TYPE(
        [struct tun_pi],
        [AC_DEFINE(HAVE_TUN_PI, 1, [struct tun_pi needed for IPv6 support])],
-       [],
-       [#include "syshead.h"])
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
 AC_CHECK_TYPE(
        [struct iphdr],
        [AC_DEFINE(HAVE_IPHDR, 1, [struct iphdr needed for IPv6 support])],
-       [],
-       [#include "syshead.h"])
-AC_CHECK_TYPE(
-       [struct iovec],
-       [AC_DEFINE(HAVE_IOVEC, 1, [struct iovec needed for IPv6 support])],
-       [],
-       [#include "syshead.h"])
-
-dnl check for extended socket error types
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
 AC_CHECK_TYPE(
        [struct sock_extended_err],
        [AC_DEFINE(HAVE_SOCK_EXTENDED_ERR, 1, [struct sock_extended_err needed for extended socket error support])],
-       [],
-       [#include "syshead.h"])
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
 AC_CHECK_TYPE(
        [struct msghdr],
        [AC_DEFINE(HAVE_MSGHDR, 1, [struct msghdr needed for extended socket error support])],
-       [],
-       [#include "syshead.h"])
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
 AC_CHECK_TYPE(
        [struct cmsghdr],
        [AC_DEFINE(HAVE_CMSGHDR, 1, [struct cmsghdr needed for extended socket error support])],
-       [],
-       [#include "syshead.h"])
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
 AC_CHECK_TYPE(
        [struct in_pktinfo],
        [AC_DEFINE(HAVE_IN_PKTINFO, 1, [struct in_pktinfo needed for IP_PKTINFO support])],
-       [],
-       [#include "syshead.h"])
-
-AC_CHECK_SIZEOF(unsigned int)
-AC_CHECK_SIZEOF(unsigned long)
-
-AC_CACHE_SAVE
-
-AC_CHECK_FUNCS([ctime memset vsnprintf strdup], ,
-               [AC_MSG_ERROR([Required library function not found])])
-AC_CHECK_FUNCS(daemon chroot getpwnam setuid nice system getpid dup dup2 dnl
-              getpass strerror syslog openlog mlockall getgrnam setgid dnl
-              setgroups stat flock readv writev time dnl
-              setsid chdir putenv getpeername unlink dnl
-              chsize ftruncate execve getpeereid umask basename dirname access)
+       ,
+       [[${SOCKET_INCLUDES}]]
+)
+AC_CHECK_TYPE(
+       [struct sockaddr_in6],
+       ,
+       [AC_MSG_ERROR([struct sockaddr_in6 not found, needed for ipv6 transport support.])],
+       [[${SOCKET_INCLUDES}]]
+)
+
+AC_CHECK_FUNCS(
+       [ctime memset vsnprintf strdup],
+       ,
+       [AC_MSG_ERROR([Required library function not found])]
+)
+AC_CHECK_FUNCS([ \
+       daemon chroot getpwnam setuid nice system getpid dup dup2 \
+       getpass strerror syslog openlog mlockall getgrnam setgid \
+       setgroups stat flock readv writev time gettimeofday \
+       setsid chdir putenv getpeername unlink \
+       chsize ftruncate execve getpeereid umask basename dirname access \
+       epoll_create \
+])
+AC_CHECK_FUNCS([sendmsg recvmsg])
+AC_CHECK_FUNCS(
+       [res_init],
+       ,
+       ,
+       [[#include <resolv.h>]]
+)
 
 # Windows use stdcall for winsock so we cannot auto detect these
-m4_define([SOCKET_FUNCS], [socket recv recvfrom send sendto listen dnl
-          accept connect bind select gethostbyname inet_ntoa])
-m4_define([SOCKET_OPT_FUNCS], [setsockopt getsockopt getsockname poll])
-
+m4_define(
+       [SOCKET_FUNCS],
+[socket recv recvfrom send sendto listen dnl
+accept connect bind select gethostbyname inet_ntoa]dnl
+)
+m4_define(
+       [SOCKET_OPT_FUNCS],
+       [setsockopt getsockopt getsockname poll]dnl
+)
 if test "${WIN32}" = "yes"; then
-
        AC_DEFINE([HAVE_GETTIMEOFDAY], [1], [We fake gettimeofday for win32 at otime.c])
-       m4_foreach([F], m4_split(SOCKET_FUNCS SOCKET_OPT_FUNCS),
-               m4_define(UF, [[m4_join([_], [HAVE], m4_toupper(F))]])
-               AC_DEFINE([UF], [1], [Win32 builtin]))
-
+       m4_foreach(
+               [F],
+               m4_split(SOCKET_FUNCS SOCKET_OPT_FUNCS),
+                       m4_define([UF], [[m4_join([_], [HAVE], m4_toupper(F))]])
+                       AC_DEFINE([UF], [1], [Win32 builtin])
+       )
 else
-
-       dnl check for other types
-       AC_TYPE_SIGNAL
-
-       dnl Check for libsocket
-       AC_SEARCH_LIBS(socket, socket)
-
-       dnl Check for libnsl
-       AC_SEARCH_LIBS(inet_ntoa, nsl)
-
-       dnl Check for libresolv
-       AC_SEARCH_LIBS(gethostbyname, resolv nsl)
-
-       dnl optional library functions
-       AC_FUNC_FORK
-
-       AC_CHECK_FUNCS(gettimeofday)
-
-       AC_CHECK_FUNCS(SOCKET_FUNCS, ,
-              [AC_MSG_ERROR([Required library function not found])])
-       AC_CHECK_FUNCS(SOCKET_OPT_FUNCS sendmsg recvmsg)
-
-fi
-
-dnl
-dnl Check for res_init
-dnl
-AC_TRY_LINK([
-    #include <resolv.h>
-  ], [
-    res_init ();
-  ], [
-    AC_MSG_RESULT([res_init DEFINED])
-    AC_DEFINE([HAVE_RES_INIT], 1, [Indicates if res_init is available])
-  ], [
-    AC_MSG_RESULT([res_init UNDEFINED])
-  ])
-
-dnl
-dnl check libraries
-dnl
-
-dnl Checking for a working epoll
-AC_CHECKING([for working epoll implementation])
-OLDLDFLAGS="$LDFLAGS"
-LDFLAGS="$LDFLAGS -Wl,--fatal-warnings"
-AC_CHECK_FUNC(epoll_create, AC_DEFINE(HAVE_EPOLL_CREATE, 1, [epoll_create function is defined]))
-LDFLAGS="$OLDLDFLAGS"
-
-dnl ipv6 support
-AC_CHECKING([for struct sockaddr_in6 for IPv6 support])
-AC_CHECK_TYPE(
-      [struct sockaddr_in6],
-      [],
-      [AC_MSG_ERROR([struct sockaddr_in6 not found, needed for ipv6 transport support.])],
-      [#include "syshead.h"])
-
-dnl
-dnl check for valgrind tool
-dnl
-
-if test "$MEMCHECK" = "valgrind"; then
-   AC_CHECKING([for valgrind tool and Header files])
-   AC_CHECK_HEADER(valgrind/memcheck.h, 
-        [
-           AC_DEFINE(USE_VALGRIND, 1, [Use valgrind memory debugging library])
-           CFLAGS="-g -fno-inline"
-       ],
-        [AC_MSG_ERROR([valgrind headers not found.])]
-   )
-fi
-
-dnl
-dnl check for dmalloc library
-dnl
-
-if test "$MEMCHECK" = "dmalloc"; then
-   AC_CHECKING([for dmalloc Library and Header files])
-   AC_CHECK_HEADER(dmalloc.h, 
-        [AC_CHECK_LIB(dmalloc, malloc,
-           [
-               OPENVPN_ADD_LIBS(-ldmalloc)
-              AC_DEFINE(DMALLOC, 1, [Use dmalloc memory debugging library])
-           ],
-           [AC_MSG_ERROR([dmalloc library not found.])]
-       )],
-        [AC_MSG_ERROR([dmalloc headers not found.])]
-   )
-fi
+       AC_CHECK_FUNCS(
+               SOCKET_FUNCS,
+               ,
+               [AC_MSG_ERROR([Required library function not found])]
+       )
+       AC_CHECK_FUNCS(SOCKET_OPT_FUNCS)
+fi
+
+case "${with_mem_check}" in
+       valgrind)
+               AC_CHECK_HEADER(
+                       [valgrind/memcheck.h],
+                       [
+                               CFLAGS="${CFLAGS} -g -fno-inline"
+                               AC_DEFINE(
+                                       [USE_VALGRIND],
+                                       [1],
+                                       [Use valgrind memory debugging library]
+                               )
+                       ],
+                       [AC_MSG_ERROR([valgrind headers not found.])]
+               )
+               ;;
+       dmalloc)
+               AC_CHECK_HEADER(
+                       [dmalloc.h],
+                       [AC_CHECK_LIB(
+                               [dmalloc],
+                               [malloc],
+                               [
+                                       OPENVPN_ADD_LIBS(-ldmalloc)
+                                       AC_DEFINE(
+                                               [DMALLOC],
+                                               [1],
+                                               [Use dmalloc memory debugging library]
+                                       )
+                               ],
+                               [AC_MSG_ERROR([dmalloc library not found.])]
+                       )],
+                       [AC_MSG_ERROR([dmalloc headers not found.])]
+               )
+               ;;
+       ssl)
+               AC_CHECK_LIB(
+                       [ssl],
+                       [CRYPTO_mem_ctrl],
+                       [
+                               AC_DEFINE(
+                                       [CRYPTO_MDEBUG],
+                                       [1],
+                                       [Use memory debugging function in OpenSSL]
+                               )
+                               AC_MSG_NOTICE([NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG])
+                       ],
+                       [AC_MSG_ERROR([Memory Debugging function in OpenSSL library not found.])]
+               )
+               ;;
+esac
 
 dnl
 dnl Check for dlopen -- first try libc then libdl.
 dnl
-if test "${WIN32}" != "yes"; then
-   if test "$PLUGINS" = "yes"; then
-      AC_CHECKING([for libdl Library and Header files])
-      AC_CHECK_HEADER(dlfcn.h,
-           [AC_CHECK_FUNC(dlopen,
-               [AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading])],
-               [AC_CHECK_LIB(dl, dlopen,
-                  [
-                      OPENVPN_ADD_LIBS(-ldl)
-                     AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading])
-                  ],
-                  [AC_MSG_RESULT([libdl library not found.])]
-              )],
-           )],
-           [AC_MSG_RESULT([libdl headers not found.])]
-      )
-      if test "$EUREPHIA" = "yes"; then
-         AC_DEFINE(ENABLE_EUREPHIA, 1, [Enable support for the eurephia plug-in])
-      fi
-   fi
+if test "${WIN32}" != "yes" -a "${enable_plugins}" = "yes"; then
+       AC_CHECK_HEADER(
+               [dlfcn.h],
+               [AC_CHECK_FUNC(
+                       [dlopen],
+                       [AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading])],
+                       [AC_CHECK_LIB(
+                               [dl],
+                               [dlopen],
+                               [
+                                       OPENVPN_ADD_LIBS(-ldl)
+                                       AC_DEFINE(USE_LIBDL, 1, [Use libdl for dynamic library loading])
+                               ],
+                               [AC_MSG_RESULT([libdl library not found.])]
+                       )],
+               )],
+       )
+       if test "${enable_eurephia}" = "yes"; then
+               AC_DEFINE([ENABLE_EUREPHIA], [1], [Enable support for the eurephia plug-in])
+       fi
 fi
 
 dnl
 dnl Check if LoadLibrary exists on Windows
 dnl
 if test "${WIN32}" = "yes"; then
-   if test "$PLUGINS" = "yes"; then
-       AC_TRY_LINK([
-           #include <windows.h>
-         ], [
-           LoadLibrary (NULL);
-         ], [
-           AC_MSG_RESULT([LoadLibrary DEFINED])
-           AC_DEFINE(USE_LOAD_LIBRARY, 1, [Use LoadLibrary to load DLLs on Windows])
-         ], [
-           AC_MSG_RESULT([LoadLibrary UNDEFINED])
-         ])
-   fi
+       AC_DEFINE(USE_LOAD_LIBRARY, 1, [Use LoadLibrary to load DLLs on Windows])
 fi
 
 dnl
 dnl check for LZO library
 dnl
-
-if test "$LZO" = "yes" && test "$LZO_STUB" = "no"; then
+if test "${enable_lzo}" = "yes" && test "${enable_lzo_stub}" = "no"; then
    LZO_H=""
    AC_CHECKING([for LZO Library and Header files])
    AC_CHECK_HEADER(lzo/lzo1x.h,
@@ -713,15 +739,14 @@ if test "$LZO" = "yes" && test "$LZO_STUB" = "no"; then
 fi
 
 dnl enable multi-client mode
-if test "$LZO_STUB" = "yes"; then
-   AC_DEFINE(LZO_STUB, 1, [Enable LZO stub capability])
+if test "${enable_lzo_stub}" = "yes"; then
+       AC_DEFINE([LZO_STUB], [1], [Enable LZO stub capability])
 fi
 
 dnl
 dnl enable pkcs11 capability
 dnl
-
-if test "$PKCS11" = "yes"; then
+if test "${enable_pkcs11}" = "yes"; then
    AC_CHECKING([for pkcs11-helper Library and Header files])
    AC_CHECK_HEADER(pkcs11-helper-1.0/pkcs11h-core.h,
        [AC_CHECK_LIB(pkcs11-helper, pkcs11h_initialize,
@@ -738,9 +763,8 @@ fi
 dnl
 dnl check for SSL-crypto library
 dnl
-
-if test "$CRYPTO" = "yes"; then
-   if test "$SSL_LIB" = "openssl"; then  
+if test "${enable_crypto}" = "yes"; then
+   if test "${with_ssl_type}" = "openssl"; then  
        AC_CHECKING([for OpenSSL Crypto Library and Header files])
        AC_CHECK_HEADER(openssl/evp.h,,
               [AC_MSG_ERROR([OpenSSL Crypto headers not found.])])
@@ -778,7 +802,7 @@ if test "$CRYPTO" = "yes"; then
          [AC_MSG_ERROR([OpenSSL crypto Library is too old.])]
        )
    fi
-   if test "$SSL_LIB" = "polarssl"; then
+   if test "${with_ssl_type}" = "polarssl"; then
         AC_CHECKING([for PolarSSL Crypto Library and Header files])
         AC_CHECK_HEADER(polarssl/aes.h,
             [AC_CHECK_LIB(polarssl, aes_crypt_cbc,
@@ -796,8 +820,8 @@ if test "$CRYPTO" = "yes"; then
    dnl check for OpenSSL-SSL library
    dnl
 
-   if test "$SSL" = "yes"; then
-      if test "$SSL_LIB" = "openssl"; then  
+   if test "${enable_ssl}" = "yes"; then
+      if test "${with_ssl_type}" = "openssl"; then  
          AC_CHECKING([for OpenSSL SSL Library and Header files])
          AC_CHECK_HEADER(openssl/ssl.h,,
              [AC_MSG_ERROR([OpenSSL SSL headers not found.])]
@@ -814,20 +838,9 @@ if test "$CRYPTO" = "yes"; then
 
          test -n "${sslfound}" || AC_MSG_ERROR([OpenSSL SSL library not found.])
 
-         if test "$MEMCHECK" = "ssl"; then
-               AC_CHECKING([for Memory Debugging Capabilities in OpenSSL Library])
-               AC_CHECK_LIB(ssl, CRYPTO_mem_ctrl,
-                   [
-                       AC_DEFINE(CRYPTO_MDEBUG, 1, [Use memory debugging function in OpenSSL])
-                       AC_MSG_RESULT([NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG])
-                   ],
-                   [AC_MSG_ERROR([Memory Debugging function in OpenSSL library not found.])]
-               )
-         fi
-
          AC_DEFINE(USE_SSL, 1, [Use OpenSSL SSL library])
       fi
-      if test "$SSL_LIB" = "polarssl"; then
+      if test "${with_ssl_type}" = "polarssl"; then
          AC_CHECKING([for PolarSSL SSL Library and Header files])
          AC_CHECK_HEADER(polarssl/ssl.h,
               [AC_CHECK_LIB(polarssl, ssl_init,
@@ -844,120 +857,66 @@ if test "$CRYPTO" = "yes"; then
    fi
 fi
 
-dnl enable --x509-username-field feature if requested
-if test "$X509ALTUSERNAME" = "yes"; then
-   if test "$SSL_LIB" = "polarssl" ; then
-      AC_MSG_ERROR([PolarSSL does not support the --x509-username-field feature])
-   fi
-
-   AC_DEFINE(ENABLE_X509ALTUSERNAME, 1, [Enable --x509-username-field feature])
-fi
-
-dnl enable multi-client mode
-if test "$MULTI" = "yes"; then
-   AC_DEFINE(ENABLE_CLIENT_SERVER, 1, [Enable client/server capability])
-fi
-
-dnl enable client mode only, not server
-if test "$MULTI_SERVER" = "no"; then
-   AC_DEFINE(ENABLE_CLIENT_ONLY, 1, [Enable client capability only])
-fi
-
-dnl enable management server capability
-if test "$MANAGEMENT" = "yes"; then
-   AC_DEFINE(ENABLE_MANAGEMENT, 1, [Enable management server capability])
-fi
-
-dnl enable socks 
-if test "$SOCKS" = "yes"; then
-   AC_DEFINE(ENABLE_SOCKS, 1, [Enable Socks proxy support])
-fi
-
-dnl enable HTTP proxy
-if test "$HTTP_PROXY" = "yes"; then
-   AC_DEFINE(ENABLE_HTTP_PROXY, 1, [Enable HTTP proxy support])
-fi
-
-dnl compile --multihome option
-if test "$MULTIHOME" = "yes"; then
-   AC_DEFINE(ENABLE_MULTIHOME, 1, [Enable multi-homed UDP server capability])
-fi
-
-dnl enable debugging
-if test "$DEBUG" = "yes"; then
-   AC_DEFINE(ENABLE_DEBUG, 1, [Enable debugging support])
-fi
-
-dnl enable small size optimizations
-if test "$SMALL" = "yes"; then
-   AC_DEFINE(ENABLE_SMALL, 1, [Enable smaller executable size])
-fi
-
-dnl enable --fragment
-if test "$FRAGMENT" = "yes"; then
-   AC_DEFINE(ENABLE_FRAGMENT, 1, [Enable internal fragmentation support])
-fi
-
-dnl enable --port-share
-if test "$PORT_SHARE" = "yes"; then
-   AC_DEFINE(ENABLE_PORT_SHARE, 1, [Enable TCP Server port sharing])
-fi
-
-dnl enable deferred auth
-if test "$DEF_AUTH" = "yes"; then
-   AC_DEFINE(CONFIGURE_DEF_AUTH, 1, [Enable deferred authentication])
-fi
-
-dnl enable internal packet filter
-if test "$PF" = "yes"; then
-   AC_DEFINE(CONFIGURE_PF, 1, [Enable internal packet filter])
-fi
-
-dnl enable strict compiler warnings
-if test "$STRICT" = "yes"; then
-   CFLAGS="$CFLAGS -Wall -Wno-unused-parameter -Wno-unused-function"
-fi
-
-dnl enable pedantic compiler warnings
-if test "$PEDANTIC" = "yes"; then
-   CFLAGS="$CFLAGS -ansi -pedantic"
-fi
-
-dnl enable profiling
-if test "$PROFILE" = "yes"; then
-   CFLAGS="$CFLAGS -pg -DENABLE_PROFILING"
-fi
-
-dnl enable strict options check between peers
-if test "$STRICT_OPTIONS" = "yes"; then
-   AC_DEFINE(STRICT_OPTIONS_CHECK, 1, [Enable strict options check between peers])
-fi
-
-dnl enable password save
-if test "$PASSWORD_SAVE" = "yes"; then
-   AC_DEFINE(ENABLE_PASSWORD_SAVE, 1, [Allow --askpass and --auth-user-pass passwords to be read from a file])
-fi
-
-dnl enable systemd support
-if test "$SYSTEMD" = "yes"; then
-   AC_DEFINE(ENABLE_SYSTEMD, 1, [Enable systemd support])
-fi
-
 dnl
 dnl check for SELinux library and headers
 dnl
-if test "$SELINUX" = "yes"; then
-   AC_CHECKING([for libselinux Library and Header files])
-   AC_CHECK_HEADER(selinux/selinux.h,
-      [AC_CHECK_LIB(selinux, setcon,
-         [
-            OPENVPN_ADD_LIBS(-lselinux)
-            AC_DEFINE(HAVE_SETCON, 1, [SELinux support])
-         ],
-            [AC_MSG_RESULT([SELinux library not found.])]
-         )],
-      [AC_MSG_RESULT([SELinux headers not found.])]
-   )
+if test "${enable_selinux}" = "yes"; then
+       AC_CHECK_HEADER(
+               [selinux/selinux.h],
+               [AC_CHECK_LIB(
+                       [selinux],
+                       [setcon],
+                       [
+                               OPENVPN_ADD_LIBS(-lselinux)
+                               AC_DEFINE(HAVE_SETCON, 1, [SELinux support])
+                       ],
+                       [AC_MSG_RESULT([SELinux library not found.])]
+               )],
+               [AC_MSG_ERROR([SELinux headers not found.])]
+       )
+fi
+
+if test -n "${SP_PLATFORM_WINDOWS}"; then
+       AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ['\\\\'], [Path separator]) #"
+       AC_DEFINE_UNQUOTED([PATH_SEPARATOR_STR], ["\\\\"], [Path separator]) #"
+else
+       AC_DEFINE_UNQUOTED([PATH_SEPARATOR], ['/'], [Path separator])
+       AC_DEFINE_UNQUOTED([PATH_SEPARATOR_STR], ["/"], [Path separator])
+fi
+
+dnl enable --x509-username-field feature if requested
+if test "${enable_x509_alt_username}" = "yes"; then
+       if test "${with_ssl_type}" = "polarssl" ; then
+               AC_MSG_ERROR([PolarSSL does not support the --x509-username-field feature])
+       fi
+
+       AC_DEFINE([ENABLE_X509ALTUSERNAME], [1], [Enable --x509-username-field feature])
+fi
+
+test "${ac_cv_header_sys_uio_h}" = "yes" && AC_DEFINE([HAVE_IOVEC], [1], [struct iovec needed for IPv6 support])
+test "${enable_multi}" = "yes" && AC_DEFINE([ENABLE_CLIENT_SERVER], [1], [Enable client/server capability])
+test "${enable_server}" = "no" && AC_DEFINE([ENABLE_CLIENT_ONLY], [1], [Enable client capability only])
+test "${enable_management}" = "yes" && AC_DEFINE([ENABLE_MANAGEMENT], [1], [Enable management server capability])
+test "${enable_socks}" = "yes" && AC_DEFINE([ENABLE_SOCKS], [1], [Enable Socks proxy support])
+test "${enable_http_proxy}" = "yes" && AC_DEFINE([ENABLE_HTTP_PROXY], [1], [Enable HTTP proxy support])
+test "${enable_multihome}" = "yes" && AC_DEFINE([ENABLE_MULTIHOME], [1], [Enable multi-homed UDP server capability])
+test "${enable_debug}" = "yes" && AC_DEFINE([ENABLE_DEBUG], [1], [Enable debugging support])
+test "${enable_small}" = "yes" && AC_DEFINE([ENABLE_SMALL], [1], [Enable smaller executable size])
+test "${enable_fragment}" = "yes" && AC_DEFINE([ENABLE_FRAGMENT], [1], [Enable internal fragmentation support])
+test "${enable_port_share}" = "yes" && AC_DEFINE([ENABLE_PORT_SHARE], [1], [Enable TCP Server port sharing])
+test "${enable_def_auth}" = "yes" && AC_DEFINE([ENABLE_DEF_AUTH], [1], [Enable deferred authentication])
+test "${enable_pf}" = "yes" && AC_DEFINE([ENABLE_PF], [1], [Enable internal packet filter])
+test "${enable_strict_options}" = "yes" && AC_DEFINE([ENABLE_STRICT_OPTIONS_CHECK], [1], [Enable strict options check between peers])
+test "${enable_password_save}" = "yes" && AC_DEFINE([ENABLE_PASSWORD_SAVE], [1], [Allow --askpass and --auth-user-pass passwords to be read from a file])
+test "${enable_systemd}" = "yes" && AC_DEFINE([ENABLE_SYSTEMD], [1], [Enable systemd support])
+test "${enable_iproute2}" = "yes" && AC_DEFINE([ENABLE_IPROUTE], [1], [enable iproute2 support])
+
+if test "${enable_pedantic}" = "yes"; then
+       enable_strict="yes"
+       CFLAGS="${CFLAGS} -ansi -pedantic"
+fi
+if test "${enable_strict}" = "yes"; then
+       CFLAGS="${CFLAGS} -Wall -Wno-unused-parameter -Wno-unused-function"
 fi
 
 TAP_WIN_COMPONENT_ID="PRODUCT_TAP_WIN_COMPONENT_ID"
@@ -970,24 +929,12 @@ AC_SUBST([TAP_WIN_COMPONENT_ID])
 AC_SUBST([TAP_WIN_MIN_MAJOR])
 AC_SUBST([TAP_WIN_MIN_MINOR])
 
-win32datadir="\${datadir}/${PACKAGE}-win32"
-AC_SUBST(win32datadir)
-AM_CONDITIONAL(WIN32, test "${WIN32}" = "yes")
-
-# workaround for <autoconf-2.60
-if test -z "${docdir}"; then
-       docdir="\$(datadir)/doc/\$(PACKAGE_NAME)"
-       AC_SUBST([docdir])
-fi
-if test -z "${htmldir}"; then
-       htmldir="\$(docdir)"
-       AC_SUBST([htmldir])
-fi
-# end workaround
+AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
 
 AC_CONFIG_FILES([t_client.sh], [chmod +x t_client.sh])
-AC_OUTPUT([
+AC_CONFIG_FILES([
        Makefile
        openvpn.spec
        service-win32/Makefile
 ])
+AC_OUTPUT
index 7aefdba31fb71d88ff6a13344e968e0140fa8852..fc01b63e64d12b083761298e2e12a83176d332e6 100644 (file)
--- a/lladdr.c
+++ b/lladdr.c
@@ -16,7 +16,7 @@ int set_lladdr(const char *ifname, const char *lladdr,
     return -1;
   
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   argv_printf (&argv,
                    "%s link set addr %s dev %s",
                    iproute_path, lladdr, ifname);
diff --git a/misc.c b/misc.c
index 2a1c1c95ab59d636dd3590a4614c160695d44965..fb20980c7cef4048e88cba03788c3b410ecedb1b 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -39,7 +39,7 @@
 
 #include "memdbg.h"
 
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
 const char *iproute_path = IPROUTE_PATH; /* GLOBAL */
 #endif
 
@@ -519,7 +519,7 @@ openvpn_execve (const struct argv *a, const struct env_set *es, const unsigned i
 
   if (a && a->argv[0])
     {
-#if defined(ENABLE_EXECVE)
+#if defined(ENABLE_FEATURE_EXECVE)
       if (openvpn_execve_allowed (flags))
        {
          if (script_method == SM_EXECVE)
@@ -651,7 +651,7 @@ openvpn_popen (const struct argv *a,  const struct env_set *es)
 
   if (a && a->argv[0])
     {
-#if defined(ENABLE_EXECVE)
+#if defined(ENABLE_FEATURE_EXECVE)
       if (script_security >= SSEC_BUILT_IN)
        {
              const char *cmd = a->argv[0];
@@ -1785,28 +1785,6 @@ get_auth_challenge (const char *auth_challenge, struct gc_arena *gc)
 
 #if AUTO_USERID
 
-static const char *
-get_platform_prefix (void)
-{
-#if defined(TARGET_LINUX)
-  return "L";
-#elif defined(TARGET_SOLARIS)
-  return "S";
-#elif defined(TARGET_OPENBSD)
-  return "O";
-#elif defined(TARGET_DARWIN)
-  return "M";
-#elif defined(TARGET_NETBSD)
-  return "N";
-#elif defined(TARGET_FREEBSD)
-  return "F";
-#elif defined(WIN32)
-  return "W";
-#else
-  return "X";
-#endif
-}
-
 void
 get_user_pass_auto_userid (struct user_pass *up, const char *tag)
 {
@@ -1821,7 +1799,7 @@ get_user_pass_auto_userid (struct user_pass *up, const char *tag)
 
   CLEAR (*up);
   buf_set_write (&buf, (uint8_t*)up->username, USER_PASS_LEN);
-  buf_printf (&buf, "%s", get_platform_prefix ());
+  buf_printf (&buf, "%s", TARGET_PREFIX);
   if (get_default_gateway_mac_addr (macaddr))
     {
       dmsg (D_AUTO_USERID, "GUPAU: macaddr=%s", format_hex_ex (macaddr, sizeof (macaddr), 0, 1, ":", &gc));
diff --git a/misc.h b/misc.h
index a9548c57cbc00c652fb179a61f9595fe58d8dc40..107048ddf641f18f7f7825b6fa2d05cdb02e4dff 100644 (file)
--- a/misc.h
+++ b/misc.h
@@ -396,7 +396,7 @@ void get_user_pass_auto_userid (struct user_pass *up, const char *tag);
 /*
  * /sbin/ip path, may be overridden
  */
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
 extern const char *iproute_path;
 #endif
 
index a2f0cb10fe94cf761a5fdafef4b575a90a17aea4..6283d625632e308e1fbc10231c2bcff3c9fd4e24 100644 (file)
@@ -120,14 +120,7 @@ popd
 
 %install
 [ %{buildroot} != "/" ] && rm -rf %{buildroot}
-
-# Install man page
-%__install -c -d -m 755 %{buildroot}%{_mandir}/man8
-%__install -c -m 755 %{name}.8 %{buildroot}%{_mandir}/man8
-
-# Install binary
-%__install -c -d -m 755 %{buildroot}%{_sbindir}
-%__install -c -m 755 %{name} %{buildroot}%{_sbindir}
+%__make install DESTDIR="%{buildroot}"
 
 # Install init script
 %if "%{VENDOR}" == "SuSE"
@@ -211,7 +204,7 @@ fi
 %files
 %defattr(-,root,root)
 %doc AUTHORS ChangeLog COPYING COPYRIGHT.GPL INSTALL NEWS PORTS README 
-%{_mandir}/man8/%{name}.8*
+%{_mandir}
 %{_sbindir}/%{name}
 %{_datadir}/%{name}
 %dir /etc/%{name}
index cd7aba4abccc653dc3684959bf77bd8f1db44f38..b0ae7fd77dcf83bac1fc3fc7885a1e274081d59c 100644 (file)
--- a/options.c
+++ b/options.c
@@ -181,7 +181,7 @@ static const char usage_message[] =
   "--lladdr hw     : Set the link layer address of the tap device.\n"
   "--topology t    : Set --dev tun topology: 'net30', 'p2p', or 'subnet'.\n"
   "--tun-ipv6      : Build tun link capable of forwarding IPv6 traffic.\n"
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   "--iproute cmd   : Use this command instead of default " IPROUTE_PATH ".\n"
 #endif
   "--ifconfig l rn : TUN: configure device to use IP address l as a local\n"
@@ -292,7 +292,7 @@ static const char usage_message[] =
   "                  or --fragment max value, whichever is lower.\n"
   "--sndbuf size   : Set the TCP/UDP send buffer size.\n"
   "--rcvbuf size   : Set the TCP/UDP receive buffer size.\n"
-#if defined(TARGET_LINUX) && defined(HAVE_SO_MARK)
+#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
   "--mark value    : Mark encrypted packets being sent with value. The mark value\n"
   "                  can be matched in policy routing and packetfilter rules.\n"
 #endif
@@ -1506,7 +1506,7 @@ show_settings (const struct options *o)
 #endif
   SHOW_INT (rcvbuf);
   SHOW_INT (sndbuf);
-#if defined(TARGET_LINUX) && defined(HAVE_SO_MARK)
+#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
   SHOW_INT (mark);
 #endif
   SHOW_INT (sockflags);
@@ -3188,7 +3188,7 @@ options_cmp_equal_safe (char *actual, const char *expected, size_t actual_n)
   if (actual_n > 0)
     {
       actual[actual_n - 1] = 0;
-#ifndef STRICT_OPTIONS_CHECK
+#ifndef ENABLE_STRICT_OPTIONS_CHECK
       if (strncmp (actual, expected, 2))
        {
          msg (D_SHOW_OCC, "NOTE: Options consistency check may be skewed by version differences");
@@ -4307,7 +4307,7 @@ add_option (struct options *options,
       VERIFY_PERMISSION (OPT_P_UP);
       options->tun_ipv6 = true;
     }
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   else if (streq (p[0], "iproute") && p[1])
     {
       VERIFY_PERMISSION (OPT_P_GENERAL);
@@ -4798,7 +4798,7 @@ add_option (struct options *options,
     }
   else if (streq (p[0], "mark") && p[1])
     {
-#if defined(TARGET_LINUX) && defined(HAVE_SO_MARK)
+#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
       VERIFY_PERMISSION (OPT_P_GENERAL);
       options->mark = atoi(p[1]);
 #endif
diff --git a/route.c b/route.c
index cf9a5ea8b5f4439245a2e8e4b15b57374982f39d..ca8f1da883078a960c51ebd5417eb18709ab5306 100644 (file)
--- a/route.c
+++ b/route.c
@@ -1308,8 +1308,8 @@ add_route (struct route *r,
     goto done;
 
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
-  /* FIXME -- add on-link support for CONFIG_FEATURE_IPROUTE */
+#ifdef ENABLE_IPROUTE
+  /* FIXME -- add on-link support for ENABLE_IPROUTE */
   argv_printf (&argv, "%s route add %s/%d via %s",
              iproute_path,
              network,
@@ -1330,7 +1330,7 @@ add_route (struct route *r,
   else
     argv_printf_cat (&argv, "gw %s", gateway);
 
-#endif  /*CONFIG_FEATURE_IPROUTE*/
+#endif  /*ENABLE_IPROUTE*/
   argv_msg (D_ROUTE, &argv);
   status = openvpn_execve_check (&argv, es, 0, "ERROR: Linux route add command failed");
 
@@ -1566,7 +1566,7 @@ add_route_ipv6 (struct route_ipv6 *r6, const struct tuntap *tt, unsigned int fla
    */
 
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   argv_printf (&argv, "%s -6 route add %s/%d dev %s",
              iproute_path,
              network,
@@ -1583,7 +1583,7 @@ add_route_ipv6 (struct route_ipv6 *r6, const struct tuntap *tt, unsigned int fla
              device);
   if (r6->metric_defined)
     argv_printf_cat (&argv, " metric %d", r6->metric);
-#endif  /*CONFIG_FEATURE_IPROUTE*/
+#endif  /*ENABLE_IPROUTE*/
   argv_msg (D_ROUTE, &argv);
   status = openvpn_execve_check (&argv, es, 0, "ERROR: Linux route -6/-A inet6 add command failed");
 
@@ -1717,7 +1717,7 @@ delete_route (struct route *r,
     goto done;
 
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   argv_printf (&argv, "%s route del %s/%d",
              iproute_path,
              network,
@@ -1727,7 +1727,7 @@ delete_route (struct route *r,
               ROUTE_PATH,
               network,
               netmask);
-#endif /*CONFIG_FEATURE_IPROUTE*/
+#endif /*ENABLE_IPROUTE*/
   if (r->flags & RT_METRIC_DEFINED)
     argv_printf_cat (&argv, "metric %d", r->metric);
   argv_msg (D_ROUTE, &argv);
@@ -1876,7 +1876,7 @@ delete_route_ipv6 (const struct route_ipv6 *r6, const struct tuntap *tt, unsigne
   msg( M_INFO, "delete_route_ipv6(%s/%d)", network, r6->netbits );
 
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
   argv_printf (&argv, "%s -6 route del %s/%d dev %s",
              iproute_path,
              network,
@@ -1888,7 +1888,7 @@ delete_route_ipv6 (const struct route_ipv6 *r6, const struct tuntap *tt, unsigne
              network,
              r6->netbits,
              device);
-#endif  /*CONFIG_FEATURE_IPROUTE*/
+#endif  /*ENABLE_IPROUTE*/
   argv_msg (D_ROUTE, &argv);
   openvpn_execve_check (&argv, es, 0, "ERROR: Linux route -6/-A inet6 del command failed");
 
diff --git a/sig.c b/sig.c
index df8035e96db7630e919e3fcee958166a3d043c4e..33958b09f17b1841dfd78ad628d59e7eb5781444 100644 (file)
--- a/sig.c
+++ b/sig.c
@@ -199,6 +199,7 @@ static int signal_mode; /* GLOBAL */
 void
 pre_init_signal_catch (void)
 {
+#ifndef WIN32
 #ifdef HAVE_SIGNAL_H
   signal_mode = SM_PRE_INIT;
   signal (SIGINT, signal_handler);
@@ -208,11 +209,13 @@ pre_init_signal_catch (void)
   signal (SIGUSR2, SIG_IGN);
   signal (SIGPIPE, SIG_IGN);
 #endif /* HAVE_SIGNAL_H */
+#endif /* WIN32 */
 }
 
 void
 post_init_signal_catch (void)
 {
+#ifndef WIN32
 #ifdef HAVE_SIGNAL_H
   signal_mode = SM_POST_INIT;
   signal (SIGINT, signal_handler);
@@ -222,6 +225,7 @@ post_init_signal_catch (void)
   signal (SIGUSR2, signal_handler);
   signal (SIGPIPE, SIG_IGN);
 #endif /* HAVE_SIGNAL_H */
+#endif
 }
 
 /* called after daemonization to retain signal settings */
index 61265e4f6026bf9b98966dd06d0de482474e79eb..0df58d189ae31d41fb3f500428710a9fc0ba6d73 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -782,7 +782,7 @@ socket_set_tcp_nodelay (int sd, int state)
 static inline void
 socket_set_mark (int sd, int mark)
 {
-#if defined(TARGET_LINUX) && defined(HAVE_SO_MARK)
+#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
   if (mark && setsockopt (sd, SOL_SOCKET, SO_MARK, &mark, sizeof (mark)) != 0)
     msg (M_WARN, "NOTE: setsockopt SO_MARK=%d failed", mark);
 #endif
index e8e70d28052d775df32642c6fa37e6f394ffdd35..b30566031727aade0e173a66a0c19c962e8d4d77 100644 (file)
--- a/syshead.h
+++ b/syshead.h
 # define unlikely(x)    (x)
 #endif
 
-#if defined(_WIN32) && !defined(WIN32)
-#define WIN32
-#endif
-
 #ifdef WIN32
 #include <windows.h>
 #include <winsock2.h>
 #endif
 #endif
 
-#ifdef TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# ifdef HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_TIME_H
+#include <time.h>
 #endif
 
 #ifdef HAVE_SYS_SOCKET_H
-# if defined(TARGET_LINUX) && !defined(_GNU_SOURCE)
-   /* needed for peercred support on glibc-2.8 */
-#  define _GNU_SOURCE
-# endif
 #include <sys/socket.h>
 #endif
 
 #include <stdlib.h>
 #endif
 
-#ifdef HAVE_STDINT_H
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#elif defined(HAVE_STDINT_H)
 #include <stdint.h>
 #endif
 
@@ -487,7 +478,7 @@ socket_defined (const socket_descriptor_t sd)
  * instead of system()?
  */
 #if defined(HAVE_EXECVE) && defined(HAVE_FORK)
-#define ENABLE_EXECVE
+#define ENABLE_FEATURE_EXECVE
 #endif
 
 /*
@@ -525,14 +516,14 @@ socket_defined (const socket_descriptor_t sd)
 /*
  * Enable deferred authentication?
  */
-#if defined(CONFIGURE_DEF_AUTH) && P2MP_SERVER && defined(ENABLE_PLUGIN)
+#if defined(ENABLE_DEF_AUTH) && P2MP_SERVER && defined(ENABLE_PLUGIN)
 #define PLUGIN_DEF_AUTH
 #endif
-#if defined(CONFIGURE_DEF_AUTH) && P2MP_SERVER && defined(ENABLE_MANAGEMENT)
+#if defined(ENABLE_DEF_AUTH) && P2MP_SERVER && defined(ENABLE_MANAGEMENT)
 #define MANAGEMENT_DEF_AUTH
 #endif
-#if defined(PLUGIN_DEF_AUTH) || defined(MANAGEMENT_DEF_AUTH)
-#define ENABLE_DEF_AUTH
+#if !defined(PLUGIN_DEF_AUTH) && !defined(MANAGEMENT_DEF_AUTH)
+#undef ENABLE_DEF_AUTH
 #endif
 
 /*
@@ -553,14 +544,14 @@ socket_defined (const socket_descriptor_t sd)
 /*
  * Enable packet filter?
  */
-#if defined(CONFIGURE_PF) && P2MP_SERVER && defined(ENABLE_PLUGIN) && defined(HAVE_STAT)
+#if defined(ENABLE_PF) && P2MP_SERVER && defined(ENABLE_PLUGIN) && defined(HAVE_STAT)
 #define PLUGIN_PF
 #endif
-#if defined(CONFIGURE_PF) && P2MP_SERVER && defined(MANAGEMENT_DEF_AUTH)
+#if defined(ENABLE_PF) && P2MP_SERVER && defined(MANAGEMENT_DEF_AUTH)
 #define MANAGEMENT_PF
 #endif
-#if defined(PLUGIN_PF) || defined(MANAGEMENT_PF)
-#define ENABLE_PF
+#if !defined(PLUGIN_PF) && !defined(MANAGEMENT_PF)
+#undef ENABLE_PF
 #endif
 
 /*
diff --git a/tun.c b/tun.c
index b3df14e9b5e7ec323560166caa9d71c7af1ae342..7b74ebdb2d039b74cef3b6582836cfe0bf891dd3 100644 (file)
--- a/tun.c
+++ b/tun.c
@@ -673,7 +673,7 @@ do_ifconfig (struct tuntap *tt,
 
 
 #if defined(TARGET_LINUX)
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
        /*
         * Set the MTU for the device
         */
@@ -761,7 +761,7 @@ do_ifconfig (struct tuntap *tt,
        }
       tt->did_ifconfig = true;
 
-#endif /*CONFIG_FEATURE_IPROUTE*/
+#endif /*ENABLE_IPROUTE*/
 #elif defined(TARGET_SOLARIS)
 
       /* Solaris 2.6 (and 7?) cannot set all parameters in one go...
@@ -1574,7 +1574,7 @@ close_tun (struct tuntap *tt)
            struct gc_arena gc = gc_new ();
            argv_init (&argv);
 
-#ifdef CONFIG_FEATURE_IPROUTE
+#ifdef ENABLE_IPROUTE
            if (is_tun_p2p (tt))
              {
                argv_printf (&argv,
index bfdbf4f83ae1ae3f41191698426bc4a1a645bc9d..29ec0472bd6ccceaef2fa0a8177b8092e72674e2 100644 (file)
@@ -1,6 +1,9 @@
 dnl define the OpenVPN version
-define(PRODUCT_VERSION,[2.3_alpha1])
+define([PRODUCT_NAME], [OpenVPN])
+define([PRODUCT_TARNAME], [openvpn])
+define([PRODUCT_VERSION], [2.3_alpha1])
+define([PRODUCT_BUGREPORT], [openvpn-users@lists.sourceforge.net])
 dnl define the TAP version
-define(PRODUCT_TAP_WIN_COMPONENT_ID,[tap0901])
-define(PRODUCT_TAP_WIN_MIN_MAJOR,[9])
-define(PRODUCT_TAP_WIN_MIN_MINOR,[9])
+define([PRODUCT_TAP_WIN_COMPONENT_ID], [tap0901])
+define([PRODUCT_TAP_WIN_MIN_MAJOR], [9])
+define([PRODUCT_TAP_WIN_MIN_MINOR], [9])
diff --git a/win32.h b/win32.h
index 2492e35572573ebe3613e4f603a0cfedfe4107da..09f897a4887e401c00d76a43c98ccbd6083f3a36 100644 (file)
--- a/win32.h
+++ b/win32.h
@@ -51,17 +51,6 @@ void uninit_win32 (void);
 
 void set_pause_exit_win32 (void);
 
-/*
- * Use keyboard input or events
- * to simulate incoming signals
- */
-
-#define SIGUSR1   1
-#define SIGUSR2   2
-#define SIGHUP    3
-#define SIGTERM   4
-#define SIGINT    5
-
 struct security_attributes
 {
   SECURITY_ATTRIBUTES sa;