From c6d6d25dbf2dab8cdd1f711869a6f000e5a36fe0 Mon Sep 17 00:00:00 2001 From: Keith Moyer Date: Sun, 4 Oct 2009 11:43:16 -0500 Subject: [PATCH] Upgrade to OpenVPN-2.1rc20 --- release/src/router/openvpn/ChangeLog | 50 + release/src/router/openvpn/Makefile | 7 +- release/src/router/openvpn/Makefile.am | 1 + release/src/router/openvpn/Makefile.in | 1 + release/src/router/openvpn/buffer.c | 6 +- release/src/router/openvpn/buffer.h | 15 +- release/src/router/openvpn/common.h | 8 +- release/src/router/openvpn/config-win32.h | 2 +- release/src/router/openvpn/config.h | 15 +- release/src/router/openvpn/config.h.in | 9 + release/src/router/openvpn/config.log | 2578 +++++++++++--------- release/src/router/openvpn/config.status | 18 +- release/src/router/openvpn/configure | 285 ++- release/src/router/openvpn/configure.ac | 45 + release/src/router/openvpn/crypto.c | 45 + .../src/router/openvpn/{crypto.c => crypto.c.orig} | 0 release/src/router/openvpn/crypto.h | 19 + release/src/router/openvpn/error.h | 2 +- release/src/router/openvpn/forward-inline.h | 11 + release/src/router/openvpn/forward.c | 43 +- release/src/router/openvpn/forward.h | 2 +- release/src/router/openvpn/images/Makefile | 6 +- release/src/router/openvpn/init.c | 65 +- release/src/router/openvpn/install-win32/Makefile | 6 +- .../openvpn/install-win32/openssl/.svn/entries | 8 +- release/src/router/openvpn/interval.h | 8 + release/src/router/openvpn/manage.c | 36 +- release/src/router/openvpn/manage.h | 1 + release/src/router/openvpn/misc.c | 38 + release/src/router/openvpn/misc.h | 3 + release/src/router/openvpn/multi.c | 7 +- release/src/router/openvpn/openvpn.8 | 47 + release/src/router/openvpn/openvpn.h | 13 +- release/src/router/openvpn/openvpn.spec | 2 +- release/src/router/openvpn/options.c | 102 +- release/src/router/openvpn/options.h | 23 +- release/src/router/openvpn/push.c | 242 +- release/src/router/openvpn/push.h | 9 +- release/src/router/openvpn/{push.h => pushlist.h} | 48 +- release/src/router/openvpn/route.c | 52 +- release/src/router/openvpn/route.h | 18 +- release/src/router/openvpn/service-win32/Makefile | 6 +- release/src/router/openvpn/socket.c | 33 +- release/src/router/openvpn/socket.h | 2 + release/src/router/openvpn/ssl.c | 25 +- release/src/router/openvpn/ssl.h | 25 +- release/src/router/openvpn/syshead.h | 6 +- release/src/router/openvpn/tun.c | 16 +- release/src/router/openvpn/version.m4 | 2 +- 49 files changed, 2638 insertions(+), 1373 deletions(-) copy release/src/router/openvpn/{crypto.c => crypto.c.orig} (100%) copy release/src/router/openvpn/{push.h => pushlist.h} (51%) diff --git a/release/src/router/openvpn/ChangeLog b/release/src/router/openvpn/ChangeLog index 48f6fd8be9..2822b5b14e 100644 --- a/release/src/router/openvpn/ChangeLog +++ b/release/src/router/openvpn/ChangeLog @@ -1,6 +1,56 @@ OpenVPN Change Log Copyright (C) 2002-2009 OpenVPN Technologies, Inc. +2009.10.01 -- Version 2.1_rc20 + +* Fixed a bug introduced in 2.1_rc17 (svn r4436) where using the + redirect-gateway option by itself, without any extra parameters, + would cause the option to be ignored. + +* Fixed build problem when ./configure --disable-server is used. + +* Fixed ifconfig command for "topology subnet" on FreeBSD (Stefan Bethke). + +* Added --remote-random-hostname option. + +* Added "load-stats" management interface command to get global server + load statistics. + +* Added new ./configure flags: + + --disable-def-auth Disable deferred authentication + --disable-pf Disable internal packet filter + +* Added "setcon" directive for interoperability with SELinux (Sebastien + Raveau). + +* Optimized PUSH_REQUEST handshake sequence to shave several seconds + off of a typical client connection initiation. + +* The maximum number of "route" directives (specified in the config + file or pulled from a server) can now be configured via the new + "max-routes" directive. + +* Eliminated the limitation on the number of options that can be pushed + to clients, including routes. Previously, all pushed options needed + to fit within a 1024 byte options string. + +* Added --server-poll-timeout option : when polling possible remote + servers to connect to in a round-robin fashion, spend no more than + n seconds waiting for a response before trying the next server. + +* Added the ability for the server to provide a custom reason string + when an AUTH_FAILED message is returned to the client. This + string can be set by the server-side managment interface and read + by the client-side management interface. + +* client-kill management interface command, when issued on server, will + now send a RESTART message to client. + This feature is intended to make UDP clients respond the same as TCP + clients in the case where the server issues a RESTART message in + order to force the client to reconnect and pull a new options/route + list. + 2009.07.16 -- Version 2.1_rc19 * In Windows TAP driver, refactor DHCP/ARP packet injection code to diff --git a/release/src/router/openvpn/Makefile b/release/src/router/openvpn/Makefile index 3846e89527..b3eb2ee776 100644 --- a/release/src/router/openvpn/Makefile +++ b/release/src/router/openvpn/Makefile @@ -191,9 +191,9 @@ OBJEXT = o PACKAGE = openvpn PACKAGE_BUGREPORT = openvpn-users@lists.sourceforge.net PACKAGE_NAME = OpenVPN -PACKAGE_STRING = OpenVPN 2.1_rc19 +PACKAGE_STRING = OpenVPN 2.1_rc20 PACKAGE_TARNAME = openvpn -PACKAGE_VERSION = 2.1_rc19 +PACKAGE_VERSION = 2.1_rc20 PATH_SEPARATOR = : PTHREAD_CC = PTHREAD_CFLAGS = @@ -205,7 +205,7 @@ STRIP = mipsel-uclibc-strip TAP_ID = tap0901 TAP_WIN32_MIN_MAJOR = 9 TAP_WIN32_MIN_MINOR = 1 -VERSION = 2.1_rc19 +VERSION = 2.1_rc20 abs_builddir = /home/keith/firmware/release/src/router/openvpn abs_srcdir = /home/keith/firmware/release/src/router/openvpn abs_top_builddir = /home/keith/firmware/release/src/router/openvpn @@ -353,6 +353,7 @@ openvpn_SOURCES = \ ieproxy.h ieproxy.c \ ps.c ps.h \ push.c push.h \ + pushlist.h \ reliable.c reliable.h \ route.c route.h \ schedule.c schedule.h \ diff --git a/release/src/router/openvpn/Makefile.am b/release/src/router/openvpn/Makefile.am index 5d90b838a2..e1b28afc42 100644 --- a/release/src/router/openvpn/Makefile.am +++ b/release/src/router/openvpn/Makefile.am @@ -123,6 +123,7 @@ openvpn_SOURCES = \ ieproxy.h ieproxy.c \ ps.c ps.h \ push.c push.h \ + pushlist.h \ reliable.c reliable.h \ route.c route.h \ schedule.c schedule.h \ diff --git a/release/src/router/openvpn/Makefile.in b/release/src/router/openvpn/Makefile.in index f51af6622b..073b592f98 100644 --- a/release/src/router/openvpn/Makefile.in +++ b/release/src/router/openvpn/Makefile.in @@ -353,6 +353,7 @@ openvpn_SOURCES = \ ieproxy.h ieproxy.c \ ps.c ps.h \ push.c push.h \ + pushlist.h \ reliable.c reliable.h \ route.c route.h \ schedule.c schedule.h \ diff --git a/release/src/router/openvpn/buffer.c b/release/src/router/openvpn/buffer.c index 15ab776401..d448e5d754 100644 --- a/release/src/router/openvpn/buffer.c +++ b/release/src/router/openvpn/buffer.c @@ -33,11 +33,11 @@ #include "memdbg.h" size_t -array_mult_safe (const size_t m1, const size_t m2) +array_mult_safe (const size_t m1, const size_t m2, const size_t extra) { const size_t limit = 0xFFFFFFFF; - unsigned long long res = (unsigned long long)m1 * (unsigned long long)m2; - if (unlikely(m1 > limit) || unlikely(m2 > limit) || unlikely(res > (unsigned long long)limit)) + unsigned long long res = (unsigned long long)m1 * (unsigned long long)m2 + (unsigned long long)extra; + if (unlikely(m1 > limit) || unlikely(m2 > limit) || unlikely(extra > limit) || unlikely(res > (unsigned long long)limit)) msg (M_FATAL, "attemped allocation of excessively large array"); return (size_t) res; } diff --git a/release/src/router/openvpn/buffer.h b/release/src/router/openvpn/buffer.h index 91b3cc6aad..b046a5cf57 100644 --- a/release/src/router/openvpn/buffer.h +++ b/release/src/router/openvpn/buffer.h @@ -88,7 +88,7 @@ bool buf_assign (struct buffer *dest, const struct buffer *src); void string_clear (char *str); int string_array_len (const char **array); -size_t array_mult_safe (const size_t m1, const size_t m2); +size_t array_mult_safe (const size_t m1, const size_t m2, const size_t extra); #define PA_BRACKET (1<<0) char *print_argv (const char **p, struct gc_arena *gc, const unsigned int flags); @@ -776,23 +776,28 @@ void out_of_memory (void); #define ALLOC_ARRAY(dptr, type, n) \ { \ - check_malloc_return ((dptr) = (type *) malloc (array_mult_safe (sizeof (type), (n)))); \ + check_malloc_return ((dptr) = (type *) malloc (array_mult_safe (sizeof (type), (n), 0))); \ } #define ALLOC_ARRAY_GC(dptr, type, n, gc) \ { \ - (dptr) = (type *) gc_malloc (array_mult_safe (sizeof (type), (n)), false, (gc)); \ + (dptr) = (type *) gc_malloc (array_mult_safe (sizeof (type), (n), 0), false, (gc)); \ } #define ALLOC_ARRAY_CLEAR(dptr, type, n) \ { \ ALLOC_ARRAY (dptr, type, n); \ - memset ((dptr), 0, (array_mult_safe (sizeof(type), (n)))); \ + memset ((dptr), 0, (array_mult_safe (sizeof(type), (n), 0))); \ } #define ALLOC_ARRAY_CLEAR_GC(dptr, type, n, gc) \ { \ - (dptr) = (type *) gc_malloc (array_mult_safe (sizeof (type), (n)), true, (gc)); \ + (dptr) = (type *) gc_malloc (array_mult_safe (sizeof (type), (n), 0), true, (gc)); \ +} + +#define ALLOC_VAR_ARRAY_CLEAR_GC(dptr, type, atype, n, gc) \ +{ \ + (dptr) = (type *) gc_malloc (array_mult_safe (sizeof (atype), (n), sizeof (type)), true, (gc)); \ } #define ALLOC_OBJ_GC(dptr, type, gc) \ diff --git a/release/src/router/openvpn/common.h b/release/src/router/openvpn/common.h index 03a8d50d7d..94da09e5b5 100644 --- a/release/src/router/openvpn/common.h +++ b/release/src/router/openvpn/common.h @@ -74,12 +74,10 @@ typedef unsigned long ptr_type; #define CCD_DEFAULT "DEFAULT" /* - * This parameter controls the TLS channel buffer size. Among - * other things, this buffer must be large enough to contain - * the full --push/--pull list. If you increase it, do so - * on both server and client. + * This parameter controls the TLS channel buffer size and the + * maximum size of a single TLS message (cleartext). */ -#define TLS_CHANNEL_BUF_SIZE 2048 +#define TLS_CHANNEL_BUF_SIZE 1024 /* * A sort of pseudo-filename for data provided inline within diff --git a/release/src/router/openvpn/config-win32.h b/release/src/router/openvpn/config-win32.h index cd0c407487..cfee25b8ac 100644 --- a/release/src/router/openvpn/config-win32.h +++ b/release/src/router/openvpn/config-win32.h @@ -228,7 +228,7 @@ typedef unsigned long in_addr_t; #define PACKAGE_TARNAME openvpn /* Define to the version of this package. */ -#define PACKAGE_VERSION 2.1_rc19 +#define PACKAGE_VERSION 2.1_rc20 /* Define to the full name and version of this package. */ #ifdef DEBUG_LABEL diff --git a/release/src/router/openvpn/config.h b/release/src/router/openvpn/config.h index a4559ed61d..33a25a6b4c 100644 --- a/release/src/router/openvpn/config.h +++ b/release/src/router/openvpn/config.h @@ -1,6 +1,12 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Enable deferred authentication */ +#define CONFIGURE_DEF_AUTH 1 + +/* Enable internal packet filter */ +#define CONFIGURE_PF 1 + /* enable iproute2 support */ /* #undef CONFIG_FEATURE_IPROUTE */ @@ -280,6 +286,9 @@ /* Define to 1 if you have the `sendto' function. */ #define HAVE_SENDTO 1 +/* SELinux support */ +/* #undef HAVE_SETCON */ + /* Define to 1 if you have the `setgid' function. */ #define HAVE_SETGID 1 @@ -437,13 +446,13 @@ #define PACKAGE_NAME "OpenVPN" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "OpenVPN 2.1_rc19" +#define PACKAGE_STRING "OpenVPN 2.1_rc20" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "openvpn" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.1_rc19" +#define PACKAGE_VERSION "2.1_rc20" /* Define to the necessary symbol if this constant uses a non-standard name on your system. */ @@ -534,7 +543,7 @@ /* #undef USE_VALGRIND */ /* Version number of package */ -#define VERSION "2.1_rc19" +#define VERSION "2.1_rc20" /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE diff --git a/release/src/router/openvpn/config.h.in b/release/src/router/openvpn/config.h.in index 52b8e2a6f7..32d292c6c3 100644 --- a/release/src/router/openvpn/config.h.in +++ b/release/src/router/openvpn/config.h.in @@ -1,5 +1,11 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Enable deferred authentication */ +#undef CONFIGURE_DEF_AUTH + +/* Enable internal packet filter */ +#undef CONFIGURE_PF + /* enable iproute2 support */ #undef CONFIG_FEATURE_IPROUTE @@ -279,6 +285,9 @@ /* Define to 1 if you have the `sendto' function. */ #undef HAVE_SENDTO +/* SELinux support */ +#undef HAVE_SETCON + /* Define to 1 if you have the `setgid' function. */ #undef HAVE_SETGID diff --git a/release/src/router/openvpn/config.log b/release/src/router/openvpn/config.log index 50434625a2..7448f35d1e 100644 --- a/release/src/router/openvpn/config.log +++ b/release/src/router/openvpn/config.log @@ -1,7 +1,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenVPN configure 2.1_rc19, which was +It was created by OpenVPN configure 2.1_rc20, which was generated by GNU Autoconf 2.61. Invocation command line was $ ./configure --host=mipsel-linux CFLAGS=-mips2 -O3 -Wall --disable-plugins --disable-socks --disable-debug --enable-small --enable-password-save --with-ssl-lib=../openssl/ --with-ssl-headers=../openssl/include/ --with-lzo-lib=../lzo/src/.libs/ --with-lzo-headers=../lzo/include @@ -12,9 +12,9 @@ generated by GNU Autoconf 2.61. Invocation command line was hostname = keith-laptop uname -m = i686 -uname -r = 2.6.28-14-generic +uname -r = 2.6.28-15-generic uname -s = Linux -uname -v = #47-Ubuntu SMP Sat Jul 25 00:28:35 UTC 2009 +uname -v = #52-Ubuntu SMP Wed Sep 9 10:49:34 UTC 2009 /usr/bin/uname -p = unknown /bin/uname -X = unknown @@ -43,47 +43,47 @@ PATH: /opt/brcm/hndtools-mipsel-linux/bin ## Core tests. ## ## ----------- ## -configure:1837: checking build system type -configure:1855: result: i686-pc-linux-gnu -configure:1877: checking host system type -configure:1892: result: mipsel-unknown-linux-gnu -configure:1914: checking target system type -configure:1929: result: mipsel-unknown-linux-gnu -configure:1972: checking for a BSD-compatible install -configure:2028: result: /usr/bin/install -c -configure:2039: checking whether build environment is sane -configure:2082: result: yes -configure:2110: checking for a thread-safe mkdir -p -configure:2149: result: /bin/mkdir -p -configure:2162: checking for gawk -configure:2192: result: no -configure:2162: checking for mawk -configure:2178: found /usr/bin/mawk -configure:2189: result: mawk -configure:2200: checking whether make sets $(MAKE) -configure:2221: result: yes -configure:2301: checking for mipsel-linux-strip -configure:2328: result: mipsel-uclibc-strip -configure:2703: checking for ifconfig -configure:2722: found /sbin/ifconfig -configure:2735: result: /sbin/ifconfig -configure:2759: checking for ip -configure:2778: found /sbin/ip -configure:2791: result: /sbin/ip -configure:2816: checking for route -configure:2835: found /sbin/route -configure:2848: result: /sbin/route -configure:2974: checking for mipsel-linux-gcc -configure:3001: result: mipsel-uclibc-gcc -configure:3279: checking for C compiler version -configure:3286: mipsel-uclibc-gcc --version >&5 +configure:1840: checking build system type +configure:1858: result: i686-pc-linux-gnu +configure:1880: checking host system type +configure:1895: result: mipsel-unknown-linux-gnu +configure:1917: checking target system type +configure:1932: result: mipsel-unknown-linux-gnu +configure:1975: checking for a BSD-compatible install +configure:2031: result: /usr/bin/install -c +configure:2042: checking whether build environment is sane +configure:2085: result: yes +configure:2113: checking for a thread-safe mkdir -p +configure:2152: result: /bin/mkdir -p +configure:2165: checking for gawk +configure:2195: result: no +configure:2165: checking for mawk +configure:2181: found /usr/bin/mawk +configure:2192: result: mawk +configure:2203: checking whether make sets $(MAKE) +configure:2224: result: yes +configure:2304: checking for mipsel-linux-strip +configure:2331: result: mipsel-uclibc-strip +configure:2733: checking for ifconfig +configure:2752: found /sbin/ifconfig +configure:2765: result: /sbin/ifconfig +configure:2789: checking for ip +configure:2808: found /sbin/ip +configure:2821: result: /sbin/ip +configure:2846: checking for route +configure:2865: found /sbin/route +configure:2878: result: /sbin/route +configure:3004: checking for mipsel-linux-gcc +configure:3031: result: mipsel-uclibc-gcc +configure:3309: checking for C compiler version +configure:3316: mipsel-uclibc-gcc --version >&5 mipsel-linux-gcc (GCC) 3.2.3 with Broadcom modifications Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -configure:3289: $? = 0 -configure:3296: mipsel-uclibc-gcc -v >&5 +configure:3319: $? = 0 +configure:3326: mipsel-uclibc-gcc -v >&5 Invoked as mipsel-uclibc-gcc arg[ 0] = /opt/brcm/hndtools-mipsel-linux/bin/mipsel-linux-gcc arg[ 1] = -v @@ -91,62 +91,62 @@ Reading specs from /opt/brcm/hndtools-mipsel-linux/bin/../lib/gcc-lib/mipsel-lin Configured with: /opt/brcm/org/tools-src/gnu/gcc/configure -v --target=mipsel-linux --prefix=/opt/brcm/hndtools-mipsel-linux-3.2.3 --with-bcm4710a0 --with-headers=/opt/brcm/hndtools-mipsel-linux-3.2.3/mipsel-linux/include --enable-languages=c,c++ Thread model: posix gcc version 3.2.3 with Broadcom modifications -configure:3299: $? = 0 -configure:3306: mipsel-uclibc-gcc -V >&5 +configure:3329: $? = 0 +configure:3336: mipsel-uclibc-gcc -V >&5 mipsel-linux-gcc: argument to `-V' is missing -configure:3309: $? = 1 -configure:3332: checking for C compiler default output file name -configure:3359: mipsel-uclibc-gcc -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:3362: $? = 0 -configure:3400: result: a.out -configure:3417: checking whether the C compiler works -configure:3427: ./a.out -./configure: line 3428: ./a.out: cannot execute binary file -configure:3430: $? = 126 -configure:3447: result: yes -configure:3454: checking whether we are cross compiling -configure:3456: result: yes -configure:3459: checking for suffix of executables -configure:3466: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:3469: $? = 0 -configure:3493: result: -configure:3499: checking for suffix of object files -configure:3525: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:3528: $? = 0 -configure:3551: result: o -configure:3555: checking whether we are using the GNU C compiler -configure:3584: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:3590: $? = 0 -configure:3607: result: yes -configure:3612: checking whether mipsel-uclibc-gcc accepts -g -configure:3642: mipsel-uclibc-gcc -c -g -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:3648: $? = 0 -configure:3747: result: yes -configure:3764: checking for mipsel-uclibc-gcc option to accept ISO C89 -configure:3838: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:3844: $? = 0 -configure:3867: result: none needed -configure:3896: checking for style of include used by make -configure:3924: result: GNU -configure:3949: checking dependency style of mipsel-uclibc-gcc -configure:4040: result: gcc3 -configure:4068: checking for a BSD-compatible install -configure:4124: result: /usr/bin/install -c -configure:4141: checking how to run the C preprocessor -configure:4181: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:4187: $? = 0 -configure:4218: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:3339: $? = 1 +configure:3362: checking for C compiler default output file name +configure:3389: mipsel-uclibc-gcc -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:3392: $? = 0 +configure:3430: result: a.out +configure:3447: checking whether the C compiler works +configure:3457: ./a.out +./configure: line 3458: ./a.out: cannot execute binary file +configure:3460: $? = 126 +configure:3477: result: yes +configure:3484: checking whether we are cross compiling +configure:3486: result: yes +configure:3489: checking for suffix of executables +configure:3496: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:3499: $? = 0 +configure:3523: result: +configure:3529: checking for suffix of object files +configure:3555: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:3558: $? = 0 +configure:3581: result: o +configure:3585: checking whether we are using the GNU C compiler +configure:3614: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:3620: $? = 0 +configure:3637: result: yes +configure:3642: checking whether mipsel-uclibc-gcc accepts -g +configure:3672: mipsel-uclibc-gcc -c -g -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:3678: $? = 0 +configure:3777: result: yes +configure:3794: checking for mipsel-uclibc-gcc option to accept ISO C89 +configure:3868: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:3874: $? = 0 +configure:3897: result: none needed +configure:3926: checking for style of include used by make +configure:3954: result: GNU +configure:3979: checking dependency style of mipsel-uclibc-gcc +configure:4070: result: gcc3 +configure:4098: checking for a BSD-compatible install +configure:4154: result: /usr/bin/install -c +configure:4171: checking how to run the C preprocessor +configure:4211: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:4217: $? = 0 +configure:4248: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:15:28: ac_nonexistent.h: No such file or directory -configure:4224: $? = 1 +configure:4254: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -154,21 +154,21 @@ configure: failed program was: | #define TARGET_LINUX 1 | /* end confdefs.h. */ | #include -configure:4257: result: mipsel-uclibc-gcc -E -configure:4286: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:4292: $? = 0 -configure:4323: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:4287: result: mipsel-uclibc-gcc -E +configure:4316: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:4322: $? = 0 +configure:4353: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:15:28: ac_nonexistent.h: No such file or directory -configure:4329: $? = 1 +configure:4359: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -176,295 +176,295 @@ configure: failed program was: | #define TARGET_LINUX 1 | /* end confdefs.h. */ | #include -configure:4367: checking for grep that handles long lines and -e -configure:4441: result: /bin/grep -configure:4446: checking for egrep -configure:4524: result: /bin/grep -E -configure:4530: checking whether mipsel-uclibc-gcc needs -traditional -configure:4572: result: no -configure:4635: checking for ANSI C header files -configure:4665: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:4671: $? = 0 -configure:4799: result: yes -configure:4810: checking for an ANSI C-conforming const -configure:4885: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:4397: checking for grep that handles long lines and -e +configure:4471: result: /bin/grep +configure:4476: checking for egrep +configure:4554: result: /bin/grep -E +configure:4560: checking whether mipsel-uclibc-gcc needs -traditional +configure:4602: result: no +configure:4665: checking for ANSI C header files +configure:4695: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:4701: $? = 0 +configure:4829: result: yes +configure:4840: checking for an ANSI C-conforming const +configure:4915: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:43: warning: `t' might be used uninitialized in this function conftest.c:62: warning: `b' might be used uninitialized in this function -configure:4891: $? = 0 -configure:4906: result: yes -configure:4916: checking for inline -configure:4942: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:4948: $? = 0 -configure:4966: result: inline -configure:4985: checking for working volatile -configure:5014: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5020: $? = 0 -configure:5035: result: yes -configure:5059: checking for sys/types.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for sys/stat.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for stdlib.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for string.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for memory.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for strings.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for inttypes.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for stdint.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5059: checking for unistd.h -configure:5080: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5086: $? = 0 -configure:5102: result: yes -configure:5114: checking for off_t -configure:5144: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5150: $? = 0 -configure:5165: result: yes -configure:5177: checking for pid_t -configure:5207: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5213: $? = 0 -configure:5228: result: yes -configure:5240: checking for size_t -configure:5270: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5276: $? = 0 -configure:5291: result: yes -configure:5303: checking for uid_t in sys/types.h -configure:5326: result: yes -configure:5342: checking for socklen_t -configure:5374: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5380: $? = 0 -configure:5395: result: yes -configure:5494: checking whether time.h and sys/time.h may both be included -configure:5524: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5530: $? = 0 -configure:5545: result: yes -configure:5555: checking for ISO C 1999 vararg macro support -configure:5573: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5579: $? = 0 -configure:5594: result: yes -configure:5604: checking for GNU GCC vararg macro support -configure:5622: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5628: $? = 0 -configure:5643: result: yes -configure:5654: result: checking for C compiler empty array support -configure:5667: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5673: $? = 0 -configure:5760: checking fcntl.h usability -configure:5777: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5783: $? = 0 -configure:5797: result: yes -configure:5801: checking fcntl.h presence -configure:5816: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:5822: $? = 0 -configure:5836: result: yes -configure:5869: checking for fcntl.h -configure:5877: result: yes -configure:5750: checking for stdlib.h -configure:5756: result: yes -configure:5760: checking stdarg.h usability -configure:5777: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5783: $? = 0 -configure:5797: result: yes -configure:5801: checking stdarg.h presence -configure:5816: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:5822: $? = 0 -configure:5836: result: yes -configure:5869: checking for stdarg.h -configure:5877: result: yes -configure:5760: checking stdio.h usability -configure:5777: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5783: $? = 0 -configure:5797: result: yes -configure:5801: checking stdio.h presence -configure:5816: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:5822: $? = 0 -configure:5836: result: yes -configure:5869: checking for stdio.h -configure:5877: result: yes -configure:5750: checking for string.h -configure:5756: result: yes -configure:5750: checking for strings.h -configure:5756: result: yes -configure:5760: checking ctype.h usability -configure:5777: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5783: $? = 0 -configure:5797: result: yes -configure:5801: checking ctype.h presence -configure:5816: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:5822: $? = 0 -configure:5836: result: yes -configure:5869: checking for ctype.h -configure:5877: result: yes -configure:5760: checking errno.h usability -configure:5777: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5783: $? = 0 -configure:5797: result: yes -configure:5801: checking errno.h presence -configure:5816: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:5822: $? = 0 -configure:5836: result: yes -configure:5869: checking for errno.h -configure:5877: result: yes -configure:5892: checking for sys/wait.h that is POSIX.1 compatible -configure:5928: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:5934: $? = 0 -configure:5949: result: yes -configure:6010: checking sys/time.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/time.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/time.h -configure:6127: result: yes -configure:6010: checking sys/socket.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/socket.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/socket.h -configure:6127: result: yes -configure:6010: checking sys/un.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/un.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/un.h -configure:6127: result: yes -configure:6010: checking sys/ioctl.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/ioctl.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/ioctl.h -configure:6127: result: yes -configure:6000: checking for sys/stat.h -configure:6006: result: yes -configure:6010: checking sys/mman.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/mman.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/mman.h -configure:6127: result: yes -configure:6000: checking for fcntl.h -configure:6006: result: yes -configure:6010: checking sys/file.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/file.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/file.h -configure:6127: result: yes -configure:6000: checking for stdlib.h -configure:6006: result: yes -configure:6000: checking for stdint.h -configure:6006: result: yes -configure:6000: checking for stdarg.h -configure:6006: result: yes -configure:6000: checking for unistd.h -configure:6006: result: yes -configure:6010: checking signal.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking signal.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for signal.h -configure:6127: result: yes -configure:6000: checking for stdio.h -configure:6006: result: yes -configure:6000: checking for string.h -configure:6006: result: yes -configure:6000: checking for strings.h -configure:6006: result: yes -configure:6000: checking for ctype.h -configure:6006: result: yes -configure:6000: checking for errno.h -configure:6006: result: yes -configure:6010: checking syslog.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking syslog.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for syslog.h -configure:6127: result: yes -configure:6010: checking pwd.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking pwd.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for pwd.h -configure:6127: result: yes -configure:6010: checking grp.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking grp.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for grp.h -configure:6127: result: yes -configure:6010: checking net/if_tun.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:4921: $? = 0 +configure:4936: result: yes +configure:4946: checking for inline +configure:4972: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:4978: $? = 0 +configure:4996: result: inline +configure:5015: checking for working volatile +configure:5044: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5050: $? = 0 +configure:5065: result: yes +configure:5089: checking for sys/types.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for sys/stat.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for stdlib.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for string.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for memory.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for strings.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for inttypes.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for stdint.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5089: checking for unistd.h +configure:5110: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5116: $? = 0 +configure:5132: result: yes +configure:5144: checking for off_t +configure:5174: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5180: $? = 0 +configure:5195: result: yes +configure:5207: checking for pid_t +configure:5237: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5243: $? = 0 +configure:5258: result: yes +configure:5270: checking for size_t +configure:5300: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5306: $? = 0 +configure:5321: result: yes +configure:5333: checking for uid_t in sys/types.h +configure:5356: result: yes +configure:5372: checking for socklen_t +configure:5404: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5410: $? = 0 +configure:5425: result: yes +configure:5524: checking whether time.h and sys/time.h may both be included +configure:5554: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5560: $? = 0 +configure:5575: result: yes +configure:5585: checking for ISO C 1999 vararg macro support +configure:5603: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5609: $? = 0 +configure:5624: result: yes +configure:5634: checking for GNU GCC vararg macro support +configure:5652: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5658: $? = 0 +configure:5673: result: yes +configure:5684: result: checking for C compiler empty array support +configure:5697: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5703: $? = 0 +configure:5790: checking fcntl.h usability +configure:5807: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5813: $? = 0 +configure:5827: result: yes +configure:5831: checking fcntl.h presence +configure:5846: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:5852: $? = 0 +configure:5866: result: yes +configure:5899: checking for fcntl.h +configure:5907: result: yes +configure:5780: checking for stdlib.h +configure:5786: result: yes +configure:5790: checking stdarg.h usability +configure:5807: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5813: $? = 0 +configure:5827: result: yes +configure:5831: checking stdarg.h presence +configure:5846: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:5852: $? = 0 +configure:5866: result: yes +configure:5899: checking for stdarg.h +configure:5907: result: yes +configure:5790: checking stdio.h usability +configure:5807: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5813: $? = 0 +configure:5827: result: yes +configure:5831: checking stdio.h presence +configure:5846: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:5852: $? = 0 +configure:5866: result: yes +configure:5899: checking for stdio.h +configure:5907: result: yes +configure:5780: checking for string.h +configure:5786: result: yes +configure:5780: checking for strings.h +configure:5786: result: yes +configure:5790: checking ctype.h usability +configure:5807: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5813: $? = 0 +configure:5827: result: yes +configure:5831: checking ctype.h presence +configure:5846: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:5852: $? = 0 +configure:5866: result: yes +configure:5899: checking for ctype.h +configure:5907: result: yes +configure:5790: checking errno.h usability +configure:5807: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5813: $? = 0 +configure:5827: result: yes +configure:5831: checking errno.h presence +configure:5846: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:5852: $? = 0 +configure:5866: result: yes +configure:5899: checking for errno.h +configure:5907: result: yes +configure:5922: checking for sys/wait.h that is POSIX.1 compatible +configure:5958: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:5964: $? = 0 +configure:5979: result: yes +configure:6040: checking sys/time.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/time.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/time.h +configure:6157: result: yes +configure:6040: checking sys/socket.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/socket.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/socket.h +configure:6157: result: yes +configure:6040: checking sys/un.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/un.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/un.h +configure:6157: result: yes +configure:6040: checking sys/ioctl.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/ioctl.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/ioctl.h +configure:6157: result: yes +configure:6030: checking for sys/stat.h +configure:6036: result: yes +configure:6040: checking sys/mman.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/mman.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/mman.h +configure:6157: result: yes +configure:6030: checking for fcntl.h +configure:6036: result: yes +configure:6040: checking sys/file.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/file.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/file.h +configure:6157: result: yes +configure:6030: checking for stdlib.h +configure:6036: result: yes +configure:6030: checking for stdint.h +configure:6036: result: yes +configure:6030: checking for stdarg.h +configure:6036: result: yes +configure:6030: checking for unistd.h +configure:6036: result: yes +configure:6040: checking signal.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking signal.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for signal.h +configure:6157: result: yes +configure:6030: checking for stdio.h +configure:6036: result: yes +configure:6030: checking for string.h +configure:6036: result: yes +configure:6030: checking for strings.h +configure:6036: result: yes +configure:6030: checking for ctype.h +configure:6036: result: yes +configure:6030: checking for errno.h +configure:6036: result: yes +configure:6040: checking syslog.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking syslog.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for syslog.h +configure:6157: result: yes +configure:6040: checking pwd.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking pwd.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for pwd.h +configure:6157: result: yes +configure:6040: checking grp.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking grp.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for grp.h +configure:6157: result: yes +configure:6040: checking net/if_tun.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:93:24: net/if_tun.h: No such file or directory -configure:6033: $? = 1 +configure:6063: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -550,20 +550,20 @@ configure: failed program was: | # include | #endif | #include -configure:6047: result: no -configure:6051: checking net/if_tun.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6077: result: no +configure:6081: checking net/if_tun.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:60:24: net/if_tun.h: No such file or directory -configure:6072: $? = 1 +configure:6102: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -616,22 +616,22 @@ configure: failed program was: | #define HAVE_GRP_H 1 | /* end confdefs.h. */ | #include -configure:6086: result: no -configure:6119: checking for net/if_tun.h -configure:6127: result: no -configure:6010: checking net/tun/if_tun.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6116: result: no +configure:6149: checking for net/if_tun.h +configure:6157: result: no +configure:6040: checking net/tun/if_tun.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:93:28: net/tun/if_tun.h: No such file or directory -configure:6033: $? = 1 +configure:6063: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -717,20 +717,20 @@ configure: failed program was: | # include | #endif | #include -configure:6047: result: no -configure:6051: checking net/tun/if_tun.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6077: result: no +configure:6081: checking net/tun/if_tun.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:60:28: net/tun/if_tun.h: No such file or directory -configure:6072: $? = 1 +configure:6102: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -783,32 +783,32 @@ configure: failed program was: | #define HAVE_GRP_H 1 | /* end confdefs.h. */ | #include -configure:6086: result: no -configure:6119: checking for net/tun/if_tun.h -configure:6127: result: no -configure:6010: checking stropts.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking stropts.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for stropts.h -configure:6127: result: yes -configure:6010: checking sys/sockio.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6116: result: no +configure:6149: checking for net/tun/if_tun.h +configure:6157: result: no +configure:6040: checking stropts.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking stropts.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for stropts.h +configure:6157: result: yes +configure:6040: checking sys/sockio.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:94:24: sys/sockio.h: No such file or directory -configure:6033: $? = 1 +configure:6063: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -895,20 +895,20 @@ configure: failed program was: | # include | #endif | #include -configure:6047: result: no -configure:6051: checking sys/sockio.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6077: result: no +configure:6081: checking sys/sockio.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:61:24: sys/sockio.h: No such file or directory -configure:6072: $? = 1 +configure:6102: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -962,122 +962,122 @@ configure: failed program was: | #define HAVE_STROPTS_H 1 | /* end confdefs.h. */ | #include -configure:6086: result: no -configure:6119: checking for sys/sockio.h -configure:6127: result: no -configure:6010: checking netinet/in.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking netinet/in.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for netinet/in.h -configure:6127: result: yes -configure:6010: checking netinet/in_systm.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking netinet/in_systm.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for netinet/in_systm.h -configure:6127: result: yes -configure:6010: checking netinet/tcp.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking netinet/tcp.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for netinet/tcp.h -configure:6127: result: yes -configure:6010: checking arpa/inet.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking arpa/inet.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for arpa/inet.h -configure:6127: result: yes -configure:6010: checking netdb.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking netdb.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for netdb.h -configure:6127: result: yes -configure:6010: checking sys/uio.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/uio.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/uio.h -configure:6127: result: yes -configure:6010: checking linux/if_tun.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking linux/if_tun.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for linux/if_tun.h -configure:6127: result: yes -configure:6010: checking linux/sockios.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking linux/sockios.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for linux/sockios.h -configure:6127: result: yes -configure:6010: checking linux/types.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking linux/types.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for linux/types.h -configure:6127: result: yes -configure:6010: checking sys/poll.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking sys/poll.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for sys/poll.h -configure:6127: result: yes -configure:6010: checking sys/epoll.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6116: result: no +configure:6149: checking for sys/sockio.h +configure:6157: result: no +configure:6040: checking netinet/in.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking netinet/in.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for netinet/in.h +configure:6157: result: yes +configure:6040: checking netinet/in_systm.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking netinet/in_systm.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for netinet/in_systm.h +configure:6157: result: yes +configure:6040: checking netinet/tcp.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking netinet/tcp.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for netinet/tcp.h +configure:6157: result: yes +configure:6040: checking arpa/inet.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking arpa/inet.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for arpa/inet.h +configure:6157: result: yes +configure:6040: checking netdb.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking netdb.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for netdb.h +configure:6157: result: yes +configure:6040: checking sys/uio.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/uio.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/uio.h +configure:6157: result: yes +configure:6040: checking linux/if_tun.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking linux/if_tun.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for linux/if_tun.h +configure:6157: result: yes +configure:6040: checking linux/sockios.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking linux/sockios.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for linux/sockios.h +configure:6157: result: yes +configure:6040: checking linux/types.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking linux/types.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for linux/types.h +configure:6157: result: yes +configure:6040: checking sys/poll.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking sys/poll.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for sys/poll.h +configure:6157: result: yes +configure:6040: checking sys/epoll.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:104:23: sys/epoll.h: No such file or directory -configure:6033: $? = 1 +configure:6063: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1174,20 +1174,20 @@ configure: failed program was: | # include | #endif | #include -configure:6047: result: no -configure:6051: checking sys/epoll.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6077: result: no +configure:6081: checking sys/epoll.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:71:23: sys/epoll.h: No such file or directory -configure:6072: $? = 1 +configure:6102: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1251,103 +1251,103 @@ configure: failed program was: | #define HAVE_SYS_POLL_H 1 | /* end confdefs.h. */ | #include -configure:6086: result: no -configure:6119: checking for sys/epoll.h -configure:6127: result: no -configure:6010: checking err.h usability -configure:6027: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6033: $? = 0 -configure:6047: result: yes -configure:6051: checking err.h presence -configure:6066: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:6072: $? = 0 -configure:6086: result: yes -configure:6119: checking for err.h -configure:6127: result: yes -configure:6144: checking for net/if.h -configure:6168: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6174: $? = 0 -configure:6190: result: yes -configure:6205: checking for netinet/ip.h -configure:6235: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6241: $? = 0 -configure:6257: result: yes -configure:6272: checking for netinet/if_ether.h -configure:6302: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6308: $? = 0 -configure:6324: result: yes -configure:6339: checking for resolv.h -configure:6363: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6369: $? = 0 -configure:6385: result: yes -configure:6400: checking for linux/errqueue.h -configure:6424: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6430: $? = 0 -configure:6446: result: yes -configure:6533: checking for in_addr_t -configure:6564: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6570: $? = 0 -configure:6585: result: yes -configure:6598: checking for uint8_t -configure:6629: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6635: $? = 0 -configure:6650: result: yes -configure:6662: checking for uint16_t -configure:6693: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6699: $? = 0 -configure:6714: result: yes -configure:6726: checking for uint32_t -configure:6757: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6763: $? = 0 -configure:6778: result: yes -configure:6791: checking for struct tun_pi -configure:6822: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6828: $? = 0 -configure:6843: result: yes -configure:6853: checking for struct iphdr -configure:6884: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6890: $? = 0 -configure:6905: result: yes -configure:6915: checking for struct iovec -configure:6946: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:6952: $? = 0 -configure:6967: result: yes -configure:6978: checking for struct sock_extended_err -configure:7009: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7015: $? = 0 -configure:7030: result: yes -configure:7040: checking for struct msghdr -configure:7071: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7077: $? = 0 -configure:7092: result: yes -configure:7102: checking for struct cmsghdr -configure:7133: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7139: $? = 0 -configure:7154: result: yes -configure:7164: checking for struct in_pktinfo -configure:7195: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7201: $? = 0 -configure:7216: result: yes -configure:7227: checking for unsigned int -configure:7257: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7263: $? = 0 -configure:7278: result: yes -configure:7285: checking size of unsigned int -configure:7316: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7322: $? = 0 -configure:7353: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6116: result: no +configure:6149: checking for sys/epoll.h +configure:6157: result: no +configure:6040: checking err.h usability +configure:6057: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6063: $? = 0 +configure:6077: result: yes +configure:6081: checking err.h presence +configure:6096: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:6102: $? = 0 +configure:6116: result: yes +configure:6149: checking for err.h +configure:6157: result: yes +configure:6174: checking for net/if.h +configure:6198: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6204: $? = 0 +configure:6220: result: yes +configure:6235: checking for netinet/ip.h +configure:6265: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6271: $? = 0 +configure:6287: result: yes +configure:6302: checking for netinet/if_ether.h +configure:6332: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6338: $? = 0 +configure:6354: result: yes +configure:6369: checking for resolv.h +configure:6393: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6399: $? = 0 +configure:6415: result: yes +configure:6430: checking for linux/errqueue.h +configure:6454: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6460: $? = 0 +configure:6476: result: yes +configure:6563: checking for in_addr_t +configure:6594: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6600: $? = 0 +configure:6615: result: yes +configure:6628: checking for uint8_t +configure:6659: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6665: $? = 0 +configure:6680: result: yes +configure:6692: checking for uint16_t +configure:6723: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6729: $? = 0 +configure:6744: result: yes +configure:6756: checking for uint32_t +configure:6787: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6793: $? = 0 +configure:6808: result: yes +configure:6821: checking for struct tun_pi +configure:6852: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6858: $? = 0 +configure:6873: result: yes +configure:6883: checking for struct iphdr +configure:6914: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6920: $? = 0 +configure:6935: result: yes +configure:6945: checking for struct iovec +configure:6976: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:6982: $? = 0 +configure:6997: result: yes +configure:7008: checking for struct sock_extended_err +configure:7039: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7045: $? = 0 +configure:7060: result: yes +configure:7070: checking for struct msghdr +configure:7101: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7107: $? = 0 +configure:7122: result: yes +configure:7132: checking for struct cmsghdr +configure:7163: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7169: $? = 0 +configure:7184: result: yes +configure:7194: checking for struct in_pktinfo +configure:7225: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7231: $? = 0 +configure:7246: result: yes +configure:7257: checking for unsigned int +configure:7287: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7293: $? = 0 +configure:7308: result: yes +configure:7315: checking size of unsigned int +configure:7346: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7352: $? = 0 +configure:7383: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:121: size of array `test_array' is negative -configure:7359: $? = 1 +configure:7389: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1466,19 +1466,19 @@ configure: failed program was: | ; | return 0; | } -configure:7353: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7383: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:121: size of array `test_array' is negative -configure:7359: $? = 1 +configure:7389: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1597,19 +1597,19 @@ configure: failed program was: | ; | return 0; | } -configure:7353: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7383: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:121: size of array `test_array' is negative -configure:7359: $? = 1 +configure:7389: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1728,33 +1728,33 @@ configure: failed program was: | ; | return 0; | } -configure:7353: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7359: $? = 0 -configure:7508: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7514: $? = 0 -configure:7508: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7514: $? = 0 -configure:7622: result: 4 -configure:7632: checking for unsigned long -configure:7662: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7668: $? = 0 -configure:7683: result: yes -configure:7690: checking size of unsigned long -configure:7721: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7727: $? = 0 -configure:7758: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7383: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7389: $? = 0 +configure:7538: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7544: $? = 0 +configure:7538: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7544: $? = 0 +configure:7652: result: 4 +configure:7662: checking for unsigned long +configure:7692: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7698: $? = 0 +configure:7713: result: yes +configure:7720: checking size of unsigned long +configure:7751: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7757: $? = 0 +configure:7788: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:122: size of array `test_array' is negative -configure:7764: $? = 1 +configure:7794: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -1874,19 +1874,19 @@ configure: failed program was: | ; | return 0; | } -configure:7758: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7788: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:122: size of array `test_array' is negative -configure:7764: $? = 1 +configure:7794: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2006,19 +2006,19 @@ configure: failed program was: | ; | return 0; | } -configure:7758: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7788: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:122: size of array `test_array' is negative -configure:7764: $? = 1 +configure:7794: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2138,153 +2138,153 @@ configure: failed program was: | ; | return 0; | } -configure:7758: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7764: $? = 0 -configure:7913: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7919: $? = 0 -configure:7913: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:7919: $? = 0 -configure:8027: result: 4 -configure:8119: checking for ctime -configure:8175: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8181: $? = 0 -configure:8199: result: yes -configure:8119: checking for memset -configure:8175: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:7788: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7794: $? = 0 +configure:7943: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7949: $? = 0 +configure:7943: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:7949: $? = 0 +configure:8057: result: 4 +configure:8149: checking for ctime +configure:8205: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8211: $? = 0 +configure:8229: result: yes +configure:8149: checking for memset +configure:8205: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 conftest.c:110: warning: conflicting types for built-in function `memset' -configure:8181: $? = 0 -configure:8199: result: yes -configure:8119: checking for vsnprintf -configure:8175: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8181: $? = 0 -configure:8199: result: yes -configure:8119: checking for strdup -configure:8175: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8181: $? = 0 -configure:8199: result: yes -configure:8248: checking for daemon -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for chroot -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getpwnam -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for setuid -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for nice -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for system -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getpid -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for dup -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for dup2 -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getpass -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for strerror -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for syslog -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for openlog -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for mlockall -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getgrnam -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for setgid -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for setgroups -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for stat -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for flock -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for readv -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for writev -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for time -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for setsid -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for chdir -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for putenv -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getpeername -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for unlink -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for chsize -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -/tmp/cc41eIZl.o: In function `main': -/tmp/cc41eIZl.o(.text+0x1c): undefined reference to `chsize' +configure:8211: $? = 0 +configure:8229: result: yes +configure:8149: checking for vsnprintf +configure:8205: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8211: $? = 0 +configure:8229: result: yes +configure:8149: checking for strdup +configure:8205: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8211: $? = 0 +configure:8229: result: yes +configure:8278: checking for daemon +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for chroot +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getpwnam +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for setuid +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for nice +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for system +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getpid +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for dup +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for dup2 +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getpass +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for strerror +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for syslog +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for openlog +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for mlockall +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getgrnam +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for setgid +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for setgroups +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for stat +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for flock +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for readv +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for writev +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for time +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for setsid +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for chdir +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for putenv +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getpeername +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for unlink +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for chsize +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +/tmp/ccGp7jLN.o: In function `main': +/tmp/ccGp7jLN.o(.text+0x1c): undefined reference to `chsize' collect2: ld returned 1 exit status -configure:8310: $? = 1 +configure:8340: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2431,30 +2431,30 @@ configure: failed program was: | ; | return 0; | } -configure:8328: result: no -configure:8248: checking for ftruncate -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for execve -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8248: checking for getpeereid -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -/tmp/ccmQmPhH.o: In function `main': -/tmp/ccmQmPhH.o(.text+0x1c): undefined reference to `getpeereid' +configure:8358: result: no +configure:8278: checking for ftruncate +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for execve +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8278: checking for getpeereid +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +/tmp/ccIvck4a.o: In function `main': +/tmp/ccIvck4a.o(.text+0x1c): undefined reference to `getpeereid' collect2: ld returned 1 exit status -configure:8310: $? = 1 +configure:8340: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2603,25 +2603,25 @@ configure: failed program was: | ; | return 0; | } -configure:8328: result: no -configure:8248: checking for umask -configure:8304: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8310: $? = 0 -configure:8328: result: yes -configure:8434: checking return type of signal handlers -configure:8462: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:8358: result: no +configure:8278: checking for umask +configure:8334: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8340: $? = 0 +configure:8358: result: yes +configure:8464: checking return type of signal handlers +configure:8492: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c: In function `main': conftest.c:126: void value not ignored as it ought to be -configure:8468: $? = 1 +configure:8498: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2743,32 +2743,32 @@ configure: failed program was: | ; | return 0; | } -configure:8483: result: void -configure:8492: checking for library containing socket -configure:8533: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8539: $? = 0 -configure:8567: result: none required -configure:8576: checking for library containing inet_ntoa -configure:8617: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8623: $? = 0 -configure:8651: result: none required -configure:8660: checking for library containing gethostbyname -configure:8701: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8707: $? = 0 -configure:8735: result: none required -configure:8759: checking vfork.h usability -configure:8776: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:8513: result: void +configure:8522: checking for library containing socket +configure:8563: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8569: $? = 0 +configure:8597: result: none required +configure:8606: checking for library containing inet_ntoa +configure:8647: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8653: $? = 0 +configure:8681: result: none required +configure:8690: checking for library containing gethostbyname +configure:8731: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8737: $? = 0 +configure:8765: result: none required +configure:8789: checking vfork.h usability +configure:8806: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:154:19: vfork.h: No such file or directory -configure:8782: $? = 1 +configure:8812: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -2915,20 +2915,20 @@ configure: failed program was: | # include | #endif | #include -configure:8796: result: no -configure:8800: checking vfork.h presence -configure:8815: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:8826: result: no +configure:8830: checking vfork.h presence +configure:8845: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:121:19: vfork.h: No such file or directory -configure:8821: $? = 1 +configure:8851: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -3042,119 +3042,119 @@ configure: failed program was: | #define RETSIGTYPE void | /* end confdefs.h. */ | #include -configure:8835: result: no -configure:8868: checking for vfork.h -configure:8876: result: no -configure:8894: checking for fork -configure:8950: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8956: $? = 0 -configure:8974: result: yes -configure:8894: checking for vfork -configure:8950: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:8956: $? = 0 -configure:8974: result: yes -configure:8985: checking for working fork -configure:9045: result: cross -configure:9061: WARNING: result yes guessed because of cross compilation -configure:9066: checking for working vfork -configure:9204: result: yes -configure:9240: checking for gettimeofday -configure:9296: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9302: $? = 0 -configure:9320: result: yes -configure:9346: checking for socket -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for recv -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for recvfrom -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for send -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for sendto -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for listen -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for accept -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for connect -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for bind -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for select -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for gethostbyname -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9346: checking for inet_ntoa -configure:9402: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9408: $? = 0 -configure:9426: result: yes -configure:9449: checking for setsockopt -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9449: checking for getsockopt -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9449: checking for getsockname -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9449: checking for poll -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9449: checking for sendmsg -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9449: checking for recvmsg -configure:9505: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9511: $? = 0 -configure:9529: result: yes -configure:9542: checking for working memcmp -configure:9623: result: no -configure:9658: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 -configure:9664: $? = 0 -configure:9671: result: res_init DEFINED -configure:9693: checking for working epoll implementation... -configure:9697: checking for epoll_create -configure:9753: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ -Wl,--fatal-warnings conftest.c >&5 -/tmp/ccg9eqfN.o: In function `main': -/tmp/ccg9eqfN.o(.text+0x1c): undefined reference to `epoll_create' +configure:8865: result: no +configure:8898: checking for vfork.h +configure:8906: result: no +configure:8924: checking for fork +configure:8980: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8986: $? = 0 +configure:9004: result: yes +configure:8924: checking for vfork +configure:8980: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:8986: $? = 0 +configure:9004: result: yes +configure:9015: checking for working fork +configure:9075: result: cross +configure:9091: WARNING: result yes guessed because of cross compilation +configure:9096: checking for working vfork +configure:9234: result: yes +configure:9270: checking for gettimeofday +configure:9326: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9332: $? = 0 +configure:9350: result: yes +configure:9376: checking for socket +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for recv +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for recvfrom +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for send +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for sendto +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for listen +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for accept +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for connect +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for bind +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for select +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for gethostbyname +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9376: checking for inet_ntoa +configure:9432: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9438: $? = 0 +configure:9456: result: yes +configure:9479: checking for setsockopt +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9479: checking for getsockopt +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9479: checking for getsockname +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9479: checking for poll +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9479: checking for sendmsg +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9479: checking for recvmsg +configure:9535: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9541: $? = 0 +configure:9559: result: yes +configure:9572: checking for working memcmp +configure:9653: result: no +configure:9688: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c >&5 +configure:9694: $? = 0 +configure:9701: result: res_init DEFINED +configure:9723: checking for working epoll implementation... +configure:9727: checking for epoll_create +configure:9783: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ -Wl,--fatal-warnings conftest.c >&5 +/tmp/ccobcBGq.o: In function `main': +/tmp/ccobcBGq.o(.text+0x1c): undefined reference to `epoll_create' collect2: ld returned 1 exit status -configure:9759: $? = 1 +configure:9789: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -3329,51 +3329,51 @@ configure: failed program was: | ; | return 0; | } -configure:9776: result: no -configure:10984: checking for LZO Library and Header files... -configure:10996: checking lzo/lzo1x.h usability -configure:11013: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:11019: $? = 0 -configure:11033: result: yes -configure:11037: checking lzo/lzo1x.h presence -configure:11052: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:11058: $? = 0 -configure:11072: result: yes -configure:11105: checking for lzo/lzo1x.h -configure:11112: result: yes -configure:11271: checking for lzo1x_1_15_compress in -llzo2 -configure:11306: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -llzo2 >&5 -configure:11312: $? = 0 -configure:11331: result: yes -configure:11372: checking for OpenSSL Crypto Library and Header files... -configure:11384: checking openssl/evp.h usability -configure:11401: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:11407: $? = 0 -configure:11421: result: yes -configure:11425: checking openssl/evp.h presence -configure:11440: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:11446: $? = 0 -configure:11460: result: yes -configure:11493: checking for openssl/evp.h -configure:11500: result: yes -configure:11516: checking for EVP_CIPHER_CTX_init in -lcrypto -configure:11551: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 -configure:11557: $? = 0 -configure:11576: result: yes -configure:11516: checking for EVP_CIPHER_CTX_init in -leay32 -configure:11551: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -leay32 -lcrypto -llzo2 >&5 +configure:9806: result: no +configure:11014: checking for LZO Library and Header files... +configure:11026: checking lzo/lzo1x.h usability +configure:11043: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:11049: $? = 0 +configure:11063: result: yes +configure:11067: checking lzo/lzo1x.h presence +configure:11082: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:11088: $? = 0 +configure:11102: result: yes +configure:11135: checking for lzo/lzo1x.h +configure:11142: result: yes +configure:11301: checking for lzo1x_1_15_compress in -llzo2 +configure:11336: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -llzo2 >&5 +configure:11342: $? = 0 +configure:11361: result: yes +configure:11402: checking for OpenSSL Crypto Library and Header files... +configure:11414: checking openssl/evp.h usability +configure:11431: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:11437: $? = 0 +configure:11451: result: yes +configure:11455: checking openssl/evp.h presence +configure:11470: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:11476: $? = 0 +configure:11490: result: yes +configure:11523: checking for openssl/evp.h +configure:11530: result: yes +configure:11546: checking for EVP_CIPHER_CTX_init in -lcrypto +configure:11581: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 +configure:11587: $? = 0 +configure:11606: result: yes +configure:11546: checking for EVP_CIPHER_CTX_init in -leay32 +configure:11581: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -leay32 -lcrypto -llzo2 >&5 /opt/brcm/hndtools-mipsel-linux/bin/../lib/gcc-lib/mipsel-linux/3.2.3/../../../../mipsel-linux/bin/ld: cannot find -leay32 collect2: ld returned 1 exit status -configure:11557: $? = 1 +configure:11587: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -3528,26 +3528,26 @@ configure: failed program was: | ; | return 0; | } -configure:11576: result: no -configure:11594: checking that OpenSSL Library is at least version 0.9.6 -configure:11612: result: yes -configure:11623: checking for EVP_CIPHER_CTX_set_key_length -configure:11679: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 -configure:11685: $? = 0 -configure:11703: result: yes -configure:11729: checking openssl/engine.h usability -configure:11746: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:11606: result: no +configure:11624: checking that OpenSSL Library is at least version 0.9.6 +configure:11642: result: yes +configure:11653: checking for EVP_CIPHER_CTX_set_key_length +configure:11709: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 +configure:11715: $? = 0 +configure:11733: result: yes +configure:11759: checking openssl/engine.h usability +configure:11776: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:183:28: openssl/engine.h: No such file or directory -configure:11752: $? = 1 +configure:11782: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -3723,20 +3723,20 @@ configure: failed program was: | # include | #endif | #include -configure:11766: result: no -configure:11770: checking openssl/engine.h presence -configure:11785: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:11796: result: no +configure:11800: checking openssl/engine.h presence +configure:11815: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:150:28: openssl/engine.h: No such file or directory -configure:11791: $? = 1 +configure:11821: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -3879,24 +3879,24 @@ configure: failed program was: | #define HAVE_EVP_CIPHER_CTX_SET_KEY_LENGTH 1 | /* end confdefs.h. */ | #include -configure:11805: result: no -configure:11838: checking for openssl/engine.h -configure:11846: result: no -configure:11863: checking for ENGINE_load_builtin_engines -configure:11919: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 -/tmp/ccATEKuU.o: In function `main': -/tmp/ccATEKuU.o(.text+0x1c): undefined reference to `ENGINE_load_builtin_engines' +configure:11835: result: no +configure:11868: checking for openssl/engine.h +configure:11876: result: no +configure:11893: checking for ENGINE_load_builtin_engines +configure:11949: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 +/tmp/cckSO7D2.o: In function `main': +/tmp/cckSO7D2.o(.text+0x1c): undefined reference to `ENGINE_load_builtin_engines' collect2: ld returned 1 exit status -configure:11925: $? = 1 +configure:11955: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -4076,22 +4076,22 @@ configure: failed program was: | ; | return 0; | } -configure:11943: result: no -configure:11957: checking for ENGINE_register_all_complete -configure:12013: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 -/tmp/cceb7ta1.o: In function `main': -/tmp/cceb7ta1.o(.text+0x1c): undefined reference to `ENGINE_register_all_complete' +configure:11973: result: no +configure:11987: checking for ENGINE_register_all_complete +configure:12043: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 +/tmp/ccYFRLga.o: In function `main': +/tmp/ccYFRLga.o(.text+0x1c): undefined reference to `ENGINE_register_all_complete' collect2: ld returned 1 exit status -configure:12019: $? = 1 +configure:12049: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -4271,22 +4271,22 @@ configure: failed program was: | ; | return 0; | } -configure:12037: result: no -configure:12051: checking for ENGINE_cleanup -configure:12107: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 -/tmp/cc2d5eT8.o: In function `main': -/tmp/cc2d5eT8.o(.text+0x1c): undefined reference to `ENGINE_cleanup' +configure:12067: result: no +configure:12081: checking for ENGINE_cleanup +configure:12137: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lcrypto -llzo2 >&5 +/tmp/cc0cqp5j.o: In function `main': +/tmp/cc0cqp5j.o(.text+0x1c): undefined reference to `ENGINE_cleanup' collect2: ld returned 1 exit status -configure:12113: $? = 1 +configure:12143: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -4466,36 +4466,36 @@ configure: failed program was: | ; | return 0; | } -configure:12131: result: no -configure:12153: checking for OpenSSL SSL Library and Header files... -configure:12165: checking openssl/ssl.h usability -configure:12182: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 -configure:12188: $? = 0 -configure:12202: result: yes -configure:12206: checking openssl/ssl.h presence -configure:12221: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c -configure:12227: $? = 0 -configure:12241: result: yes -configure:12274: checking for openssl/ssl.h -configure:12281: result: yes -configure:12298: checking for SSL_CTX_new in -lssl -configure:12333: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lssl -lcrypto -llzo2 >&5 -configure:12339: $? = 0 -configure:12358: result: yes -configure:12298: checking for SSL_CTX_new in -lssl32 -configure:12333: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lssl32 -lssl -lcrypto -llzo2 >&5 +configure:12161: result: no +configure:12183: checking for OpenSSL SSL Library and Header files... +configure:12195: checking openssl/ssl.h usability +configure:12212: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:12218: $? = 0 +configure:12232: result: yes +configure:12236: checking openssl/ssl.h presence +configure:12251: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:12257: $? = 0 +configure:12271: result: yes +configure:12304: checking for openssl/ssl.h +configure:12311: result: yes +configure:12328: checking for SSL_CTX_new in -lssl +configure:12363: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lssl -lcrypto -llzo2 >&5 +configure:12369: $? = 0 +configure:12388: result: yes +configure:12328: checking for SSL_CTX_new in -lssl32 +configure:12363: mipsel-uclibc-gcc -o conftest -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. -L../openssl/ -L../lzo/src/.libs/ conftest.c -lssl32 -lssl -lcrypto -llzo2 >&5 /opt/brcm/hndtools-mipsel-linux/bin/../lib/gcc-lib/mipsel-linux/3.2.3/../../../../mipsel-linux/bin/ld: cannot find -lssl32 collect2: ld returned 1 exit status -configure:12339: $? = 1 +configure:12369: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -4652,21 +4652,21 @@ configure: failed program was: | ; | return 0; | } -configure:12358: result: no -configure:12468: checking for pkcs11-helper Library and Header files... -configure:12480: checking pkcs11-helper-1.0/pkcs11h-core.h usability -configure:12497: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +configure:12388: result: no +configure:12498: checking for pkcs11-helper Library and Header files... +configure:12510: checking pkcs11-helper-1.0/pkcs11h-core.h usability +configure:12527: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 conftest.c:184:44: pkcs11-helper-1.0/pkcs11h-core.h: No such file or directory -configure:12503: $? = 1 +configure:12533: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -4843,20 +4843,20 @@ configure: failed program was: | # include | #endif | #include -configure:12517: result: no -configure:12521: checking pkcs11-helper-1.0/pkcs11h-core.h presence -configure:12536: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +configure:12547: result: no +configure:12551: checking pkcs11-helper-1.0/pkcs11h-core.h presence +configure:12566: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c conftest.c:151:44: pkcs11-helper-1.0/pkcs11h-core.h: No such file or directory -configure:12542: $? = 1 +configure:12572: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenVPN" | #define PACKAGE_TARNAME "openvpn" -| #define PACKAGE_VERSION "2.1_rc19" -| #define PACKAGE_STRING "OpenVPN 2.1_rc19" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" | #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" | #define PACKAGE "openvpn" -| #define VERSION "2.1_rc19" +| #define VERSION "2.1_rc20" | #define IFCONFIG_PATH "/sbin/ifconfig" | #define IPROUTE_PATH "/sbin/ip" | #define ROUTE_PATH "/sbin/route" @@ -5000,17 +5000,388 @@ configure: failed program was: | #define USE_SSL 1 | /* end confdefs.h. */ | #include -configure:12556: result: no -configure:12589: checking for pkcs11-helper-1.0/pkcs11h-core.h -configure:12596: result: no -configure:12680: result: pkcs11-helper headers not found. -configure:12963: creating ./config.status +configure:12586: result: no +configure:12619: checking for pkcs11-helper-1.0/pkcs11h-core.h +configure:12626: result: no +configure:12710: result: pkcs11-helper headers not found. +configure:12843: checking for libselinux Library and Header files... +configure:12855: checking selinux/selinux.h usability +configure:12872: mipsel-uclibc-gcc -c -mips2 -O3 -Wall -I../openssl/include/ -I../lzo/include -I. conftest.c >&5 +conftest.c:194:29: selinux/selinux.h: No such file or directory +configure:12878: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "OpenVPN" +| #define PACKAGE_TARNAME "openvpn" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" +| #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" +| #define PACKAGE "openvpn" +| #define VERSION "2.1_rc20" +| #define IFCONFIG_PATH "/sbin/ifconfig" +| #define IPROUTE_PATH "/sbin/ip" +| #define ROUTE_PATH "/sbin/route" +| #define TARGET_ALIAS "mipsel-unknown-linux-gnu" +| #define TARGET_LINUX 1 +| #define _GNU_SOURCE 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_CPP_VARARG_MACRO_ISO 1 +| #define HAVE_CPP_VARARG_MACRO_GCC 1 +| #define EMPTY_ARRAY_SIZE 0 +| #define HAVE_FCNTL_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDARG_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_UN_H 1 +| #define HAVE_SYS_IOCTL_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDARG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_SIGNAL_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_PWD_H 1 +| #define HAVE_GRP_H 1 +| #define HAVE_STROPTS_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_NETINET_IN_SYSTM_H 1 +| #define HAVE_NETINET_TCP_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_SYS_UIO_H 1 +| #define HAVE_LINUX_IF_TUN_H 1 +| #define HAVE_LINUX_SOCKIOS_H 1 +| #define HAVE_LINUX_TYPES_H 1 +| #define HAVE_SYS_POLL_H 1 +| #define HAVE_ERR_H 1 +| #define HAVE_NET_IF_H 1 +| #define HAVE_NETINET_IP_H 1 +| #define HAVE_NETINET_IF_ETHER_H 1 +| #define HAVE_RESOLV_H 1 +| #define HAVE_LINUX_ERRQUEUE_H 1 +| #define HAVE_TUN_PI 1 +| #define HAVE_IPHDR 1 +| #define HAVE_IOVEC 1 +| #define HAVE_SOCK_EXTENDED_ERR 1 +| #define HAVE_MSGHDR 1 +| #define HAVE_CMSGHDR 1 +| #define HAVE_IN_PKTINFO 1 +| #define SIZEOF_UNSIGNED_INT 4 +| #define SIZEOF_UNSIGNED_LONG 4 +| #define HAVE_CTIME 1 +| #define HAVE_MEMSET 1 +| #define HAVE_VSNPRINTF 1 +| #define HAVE_STRDUP 1 +| #define HAVE_DAEMON 1 +| #define HAVE_CHROOT 1 +| #define HAVE_GETPWNAM 1 +| #define HAVE_SETUID 1 +| #define HAVE_NICE 1 +| #define HAVE_SYSTEM 1 +| #define HAVE_GETPID 1 +| #define HAVE_DUP 1 +| #define HAVE_DUP2 1 +| #define HAVE_GETPASS 1 +| #define HAVE_STRERROR 1 +| #define HAVE_SYSLOG 1 +| #define HAVE_OPENLOG 1 +| #define HAVE_MLOCKALL 1 +| #define HAVE_GETGRNAM 1 +| #define HAVE_SETGID 1 +| #define HAVE_SETGROUPS 1 +| #define HAVE_STAT 1 +| #define HAVE_FLOCK 1 +| #define HAVE_READV 1 +| #define HAVE_WRITEV 1 +| #define HAVE_TIME 1 +| #define HAVE_SETSID 1 +| #define HAVE_CHDIR 1 +| #define HAVE_PUTENV 1 +| #define HAVE_GETPEERNAME 1 +| #define HAVE_UNLINK 1 +| #define HAVE_FTRUNCATE 1 +| #define HAVE_EXECVE 1 +| #define HAVE_UMASK 1 +| #define RETSIGTYPE void +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_WORKING_FORK 1 +| #define HAVE_GETTIMEOFDAY 1 +| #define HAVE_SOCKET 1 +| #define HAVE_RECV 1 +| #define HAVE_RECVFROM 1 +| #define HAVE_SEND 1 +| #define HAVE_SENDTO 1 +| #define HAVE_LISTEN 1 +| #define HAVE_ACCEPT 1 +| #define HAVE_CONNECT 1 +| #define HAVE_BIND 1 +| #define HAVE_SELECT 1 +| #define HAVE_GETHOSTBYNAME 1 +| #define HAVE_INET_NTOA 1 +| #define HAVE_SETSOCKOPT 1 +| #define HAVE_GETSOCKOPT 1 +| #define HAVE_GETSOCKNAME 1 +| #define HAVE_POLL 1 +| #define HAVE_SENDMSG 1 +| #define HAVE_RECVMSG 1 +| #define HAVE_RES_INIT 1 +| #define LZO_HEADER_DIR 1 +| #define USE_LZO 1 +| #define LZO_VERSION_NUM "2" +| #define USE_CRYPTO 1 +| #define HAVE_EVP_CIPHER_CTX_SET_KEY_LENGTH 1 +| #define USE_SSL 1 +| #define ENABLE_CLIENT_SERVER 1 +| #define ENABLE_MANAGEMENT 1 +| #define ENABLE_HTTP_PROXY 1 +| #define ENABLE_MULTIHOME 1 +| #define ENABLE_SMALL 1 +| #define ENABLE_FRAGMENT 1 +| #define ENABLE_PORT_SHARE 1 +| #define CONFIGURE_DEF_AUTH 1 +| #define CONFIGURE_PF 1 +| #define ENABLE_PASSWORD_SAVE 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| #include +configure:12892: result: no +configure:12896: checking selinux/selinux.h presence +configure:12911: mipsel-uclibc-gcc -E -I../openssl/include/ -I../lzo/include -I. conftest.c +conftest.c:161:29: selinux/selinux.h: No such file or directory +configure:12917: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "OpenVPN" +| #define PACKAGE_TARNAME "openvpn" +| #define PACKAGE_VERSION "2.1_rc20" +| #define PACKAGE_STRING "OpenVPN 2.1_rc20" +| #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" +| #define PACKAGE "openvpn" +| #define VERSION "2.1_rc20" +| #define IFCONFIG_PATH "/sbin/ifconfig" +| #define IPROUTE_PATH "/sbin/ip" +| #define ROUTE_PATH "/sbin/route" +| #define TARGET_ALIAS "mipsel-unknown-linux-gnu" +| #define TARGET_LINUX 1 +| #define _GNU_SOURCE 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_CPP_VARARG_MACRO_ISO 1 +| #define HAVE_CPP_VARARG_MACRO_GCC 1 +| #define EMPTY_ARRAY_SIZE 0 +| #define HAVE_FCNTL_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDARG_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_UN_H 1 +| #define HAVE_SYS_IOCTL_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDARG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_SIGNAL_H 1 +| #define HAVE_STDIO_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_CTYPE_H 1 +| #define HAVE_ERRNO_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_PWD_H 1 +| #define HAVE_GRP_H 1 +| #define HAVE_STROPTS_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_NETINET_IN_SYSTM_H 1 +| #define HAVE_NETINET_TCP_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_SYS_UIO_H 1 +| #define HAVE_LINUX_IF_TUN_H 1 +| #define HAVE_LINUX_SOCKIOS_H 1 +| #define HAVE_LINUX_TYPES_H 1 +| #define HAVE_SYS_POLL_H 1 +| #define HAVE_ERR_H 1 +| #define HAVE_NET_IF_H 1 +| #define HAVE_NETINET_IP_H 1 +| #define HAVE_NETINET_IF_ETHER_H 1 +| #define HAVE_RESOLV_H 1 +| #define HAVE_LINUX_ERRQUEUE_H 1 +| #define HAVE_TUN_PI 1 +| #define HAVE_IPHDR 1 +| #define HAVE_IOVEC 1 +| #define HAVE_SOCK_EXTENDED_ERR 1 +| #define HAVE_MSGHDR 1 +| #define HAVE_CMSGHDR 1 +| #define HAVE_IN_PKTINFO 1 +| #define SIZEOF_UNSIGNED_INT 4 +| #define SIZEOF_UNSIGNED_LONG 4 +| #define HAVE_CTIME 1 +| #define HAVE_MEMSET 1 +| #define HAVE_VSNPRINTF 1 +| #define HAVE_STRDUP 1 +| #define HAVE_DAEMON 1 +| #define HAVE_CHROOT 1 +| #define HAVE_GETPWNAM 1 +| #define HAVE_SETUID 1 +| #define HAVE_NICE 1 +| #define HAVE_SYSTEM 1 +| #define HAVE_GETPID 1 +| #define HAVE_DUP 1 +| #define HAVE_DUP2 1 +| #define HAVE_GETPASS 1 +| #define HAVE_STRERROR 1 +| #define HAVE_SYSLOG 1 +| #define HAVE_OPENLOG 1 +| #define HAVE_MLOCKALL 1 +| #define HAVE_GETGRNAM 1 +| #define HAVE_SETGID 1 +| #define HAVE_SETGROUPS 1 +| #define HAVE_STAT 1 +| #define HAVE_FLOCK 1 +| #define HAVE_READV 1 +| #define HAVE_WRITEV 1 +| #define HAVE_TIME 1 +| #define HAVE_SETSID 1 +| #define HAVE_CHDIR 1 +| #define HAVE_PUTENV 1 +| #define HAVE_GETPEERNAME 1 +| #define HAVE_UNLINK 1 +| #define HAVE_FTRUNCATE 1 +| #define HAVE_EXECVE 1 +| #define HAVE_UMASK 1 +| #define RETSIGTYPE void +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_WORKING_FORK 1 +| #define HAVE_GETTIMEOFDAY 1 +| #define HAVE_SOCKET 1 +| #define HAVE_RECV 1 +| #define HAVE_RECVFROM 1 +| #define HAVE_SEND 1 +| #define HAVE_SENDTO 1 +| #define HAVE_LISTEN 1 +| #define HAVE_ACCEPT 1 +| #define HAVE_CONNECT 1 +| #define HAVE_BIND 1 +| #define HAVE_SELECT 1 +| #define HAVE_GETHOSTBYNAME 1 +| #define HAVE_INET_NTOA 1 +| #define HAVE_SETSOCKOPT 1 +| #define HAVE_GETSOCKOPT 1 +| #define HAVE_GETSOCKNAME 1 +| #define HAVE_POLL 1 +| #define HAVE_SENDMSG 1 +| #define HAVE_RECVMSG 1 +| #define HAVE_RES_INIT 1 +| #define LZO_HEADER_DIR 1 +| #define USE_LZO 1 +| #define LZO_VERSION_NUM "2" +| #define USE_CRYPTO 1 +| #define HAVE_EVP_CIPHER_CTX_SET_KEY_LENGTH 1 +| #define USE_SSL 1 +| #define ENABLE_CLIENT_SERVER 1 +| #define ENABLE_MANAGEMENT 1 +| #define ENABLE_HTTP_PROXY 1 +| #define ENABLE_MULTIHOME 1 +| #define ENABLE_SMALL 1 +| #define ENABLE_FRAGMENT 1 +| #define ENABLE_PORT_SHARE 1 +| #define CONFIGURE_DEF_AUTH 1 +| #define CONFIGURE_PF 1 +| #define ENABLE_PASSWORD_SAVE 1 +| /* end confdefs.h. */ +| #include +configure:12931: result: no +configure:12964: checking for selinux/selinux.h +configure:12971: result: no +configure:13055: result: SELinux headers not found. +configure:13230: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## -This file was extended by OpenVPN config.status 2.1_rc19, which was +This file was extended by OpenVPN config.status 2.1_rc20, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = @@ -5029,7 +5400,7 @@ config.status:669: creating service-win32/Makefile config.status:669: creating install-win32/Makefile config.status:669: creating install-win32/settings config.status:669: creating config.h -config.status:1108: executing depfiles commands +config.status:1110: executing depfiles commands ## ---------------- ## ## Cache variables. ## @@ -5153,6 +5524,7 @@ ac_cv_header_openssl_ssl_h=yes ac_cv_header_pkcs11_helper_1_0_pkcs11h_core_h=no ac_cv_header_pwd_h=yes ac_cv_header_resolv_h=yes +ac_cv_header_selinux_selinux_h=no ac_cv_header_signal_h=yes ac_cv_header_stdarg_h=yes ac_cv_header_stdc=yes @@ -5273,9 +5645,9 @@ OBJEXT='o' PACKAGE='openvpn' PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net' PACKAGE_NAME='OpenVPN' -PACKAGE_STRING='OpenVPN 2.1_rc19' +PACKAGE_STRING='OpenVPN 2.1_rc20' PACKAGE_TARNAME='openvpn' -PACKAGE_VERSION='2.1_rc19' +PACKAGE_VERSION='2.1_rc20' PATH_SEPARATOR=':' PTHREAD_CC='' PTHREAD_CFLAGS='' @@ -5287,7 +5659,7 @@ STRIP='mipsel-uclibc-strip' TAP_ID='tap0901' TAP_WIN32_MIN_MAJOR='9' TAP_WIN32_MIN_MINOR='1' -VERSION='2.1_rc19' +VERSION='2.1_rc20' WIN32_FALSE='' WIN32_TRUE='#' ac_ct_CC='' @@ -5346,11 +5718,11 @@ win32datadir='${datadir}/openvpn-win32' #define PACKAGE_NAME "OpenVPN" #define PACKAGE_TARNAME "openvpn" -#define PACKAGE_VERSION "2.1_rc19" -#define PACKAGE_STRING "OpenVPN 2.1_rc19" +#define PACKAGE_VERSION "2.1_rc20" +#define PACKAGE_STRING "OpenVPN 2.1_rc20" #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net" #define PACKAGE "openvpn" -#define VERSION "2.1_rc19" +#define VERSION "2.1_rc20" #define IFCONFIG_PATH "/sbin/ifconfig" #define IPROUTE_PATH "/sbin/ip" #define ROUTE_PATH "/sbin/route" @@ -5499,6 +5871,8 @@ win32datadir='${datadir}/openvpn-win32' #define ENABLE_SMALL 1 #define ENABLE_FRAGMENT 1 #define ENABLE_PORT_SHARE 1 +#define CONFIGURE_DEF_AUTH 1 +#define CONFIGURE_PF 1 #define ENABLE_PASSWORD_SAVE 1 #define TAP_ID "tap0901" #define TAP_WIN32_MIN_MAJOR 9 diff --git a/release/src/router/openvpn/config.status b/release/src/router/openvpn/config.status index 45a52056ef..e2c6ff63ff 100755 --- a/release/src/router/openvpn/config.status +++ b/release/src/router/openvpn/config.status @@ -288,7 +288,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenVPN $as_me 2.1_rc19, which was +This file was extended by OpenVPN $as_me 2.1_rc20, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -333,7 +333,7 @@ $config_commands Report bugs to ." ac_cs_version="\ -OpenVPN config.status 2.1_rc19 +OpenVPN config.status 2.1_rc20 configured by ./configure, generated by GNU Autoconf 2.61, with options \"'--host=mipsel-linux' 'CFLAGS=-mips2 -O3 -Wall' '--disable-plugins' '--disable-socks' '--disable-debug' '--enable-small' '--enable-password-save' '--with-ssl-lib=../openssl/' '--with-ssl-headers=../openssl/include/' '--with-lzo-lib=../lzo/src/.libs/' '--with-lzo-headers=../lzo/include' 'host_alias=mipsel-linux' 'CC=mipsel-uclibc-gcc'\" @@ -505,8 +505,8 @@ s,@SHELL@,|#_!!_#|/bin/sh,g s,@PATH_SEPARATOR@,|#_!!_#|:,g s,@PACKAGE_NAME@,|#_!!_#|OpenVPN,g s,@PACKAGE_TARNAME@,|#_!!_#|openvpn,g -s,@PACKAGE_VERSION@,|#_!!_#|2.1_rc19,g -s,@PACKAGE_STRING@,|#_!!_#|OpenVPN 2.1_rc19,g +s,@PACKAGE_VERSION@,|#_!!_#|2.1_rc20,g +s,@PACKAGE_STRING@,|#_!!_#|OpenVPN 2.1_rc20,g s,@PACKAGE_BUGREPORT@,|#_!!_#|openvpn-users@|#_!!_#|lists.sourceforge.net,g s,@exec_prefix@,|#_!!_#|${prefix},g s,@prefix@,|#_!!_#|/usr/local,g @@ -556,7 +556,7 @@ s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g s,@am__isrc@,|#_!!_#|,g s,@CYGPATH_W@,|#_!!_#|echo,g s,@PACKAGE@,|#_!!_#|openvpn,g -s,@VERSION@,|#_!!_#|2.1_rc19,g +s,@VERSION@,|#_!!_#|2.1_rc20,g s,@ACLOCAL@,|#_!!_#|${SHELL} /home/keith/firmware/release/src/router/openvpn/missing --run aclocal-1.10,g s,@AUTOCONF@,|#_!!_#|${SHELL} /home/keith/firmware/release/src/router/openvpn/missing --run autoconf,g s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/keith/firmware/release/src/router/openvpn/missing --run automake-1.10,g @@ -868,11 +868,11 @@ b s/$/ / s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "OpenVPN" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "openvpn" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "2.1_rc19" , -s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "OpenVPN 2.1_rc19" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "2.1_rc20" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "OpenVPN 2.1_rc20" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "openvpn-users@lists.sourceforge.net" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE\)[ (].*,\1define\2 "openvpn" , -s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "2.1_rc19" , +s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "2.1_rc20" , s,^\([ #]*\)[^ ]*\([ ]*IFCONFIG_PATH\)[ (].*,\1define\2 "/sbin/ifconfig" , s,^\([ #]*\)[^ ]*\([ ]*IPROUTE_PATH\)[ (].*,\1define\2 "/sbin/ip" , s,^\([ #]*\)[^ ]*\([ ]*ROUTE_PATH\)[ (].*,\1define\2 "/sbin/route" , @@ -1045,6 +1045,8 @@ s,^\([ #]*\)[^ ]*\([ ]*ENABLE_MULTIHOME\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*ENABLE_SMALL\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*ENABLE_FRAGMENT\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*ENABLE_PORT_SHARE\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*CONFIGURE_DEF_AUTH\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*CONFIGURE_PF\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*ENABLE_PASSWORD_SAVE\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*TAP_ID\)[ (].*,\1define\2 "tap0901" , s,^\([ #]*\)[^ ]*\([ ]*TAP_WIN32_MIN_MAJOR\)[ (].*,\1define\2 9 , diff --git a/release/src/router/openvpn/configure b/release/src/router/openvpn/configure index c6db710e97..5556946be6 100755 --- a/release/src/router/openvpn/configure +++ b/release/src/router/openvpn/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for OpenVPN 2.1_rc19. +# Generated by GNU Autoconf 2.61 for OpenVPN 2.1_rc20. # # Report bugs to . # @@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenVPN' PACKAGE_TARNAME='openvpn' -PACKAGE_VERSION='2.1_rc19' -PACKAGE_STRING='OpenVPN 2.1_rc19' +PACKAGE_VERSION='2.1_rc20' +PACKAGE_STRING='OpenVPN 2.1_rc20' PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net' ac_unique_file="syshead.h" @@ -1233,7 +1233,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenVPN 2.1_rc19 to adapt to many kinds of systems. +\`configure' configures OpenVPN 2.1_rc20 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1304,7 +1304,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenVPN 2.1_rc19:";; + short | recursive ) echo "Configuration of OpenVPN 2.1_rc20:";; esac cat <<\_ACEOF @@ -1329,10 +1329,13 @@ Optional Features: --enable-pthread Enable pthread support (Experimental for OpenVPN 2.0) --enable-password-save Allow --askpass and --auth-user-pass passwords to be read from a file --enable-iproute2 Enable support for iproute2 + --disable-def-auth Disable deferred authentication + --disable-pf Disable internal packet filter --enable-strict Enable strict compiler warnings (debugging option) --enable-pedantic Enable pedantic compiler warnings, will not generate a working executable (debugging option) --enable-profiling Enable profiling (debugging option) --enable-strict-options Enable strict options check between peers (debugging option) + --disable-selinux Disable SELinux support --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors @@ -1426,7 +1429,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenVPN configure 2.1_rc19 +OpenVPN configure 2.1_rc20 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1440,7 +1443,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenVPN $as_me 2.1_rc19, which was +It was created by OpenVPN $as_me 2.1_rc20, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2606,6 +2609,24 @@ _ACEOF fi +# Check whether --enable-def-auth was given. +if test "${enable_def_auth+set}" = set; then + enableval=$enable_def_auth; DEF_AUTH="$enableval" +else + DEF_AUTH="yes" + +fi + + +# Check whether --enable-pf was given. +if test "${enable_pf+set}" = set; then + enableval=$enable_pf; PF="$enableval" +else + PF="yes" + +fi + + # Check whether --enable-strict was given. if test "${enable_strict+set}" = set; then enableval=$enable_strict; STRICT="$enableval" @@ -2642,6 +2663,15 @@ else fi +# Check whether --enable-selinux was given. +if test "${enable_selinux+set}" = set; then + enableval=$enable_selinux; SELINUX="$enableval" +else + SELINUX="yes" + +fi + + # Check whether --with-ssl-headers was given. if test "${with_ssl_headers+set}" = set; then @@ -12765,6 +12795,22 @@ _ACEOF fi +if test "$DEF_AUTH" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define CONFIGURE_DEF_AUTH 1 +_ACEOF + +fi + +if test "$PF" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define CONFIGURE_PF 1 +_ACEOF + +fi + if test "$STRICT" = "yes"; then CFLAGS="$CFLAGS -Wall -Wno-unused-parameter -Wno-unused-function" fi @@ -12793,6 +12839,227 @@ _ACEOF fi +if test "$SELINUX" = "yes"; then + { echo "$as_me:$LINENO: checking for libselinux Library and Header files..." >&5 +echo "$as_me: checking for libselinux Library and Header files..." >&6;} + if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + { echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 +echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } +if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 +echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking selinux/selinux.h usability" >&5 +echo $ECHO_N "checking selinux/selinux.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking selinux/selinux.h presence" >&5 +echo $ECHO_N "checking selinux/selinux.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: selinux/selinux.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: selinux/selinux.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------------------------- ## +## Report this to openvpn-users@lists.sourceforge.net ## +## -------------------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 +echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } +if test "${ac_cv_header_selinux_selinux_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_selinux_selinux_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 +echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } + +fi +if test $ac_cv_header_selinux_selinux_h = yes; then + { echo "$as_me:$LINENO: checking for setcon in -lselinux" >&5 +echo $ECHO_N "checking for setcon in -lselinux... $ECHO_C" >&6; } +if test "${ac_cv_lib_selinux_setcon+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lselinux $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char setcon (); +int +main () +{ +return setcon (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_selinux_setcon=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_selinux_setcon=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_setcon" >&5 +echo "${ECHO_T}$ac_cv_lib_selinux_setcon" >&6; } +if test $ac_cv_lib_selinux_setcon = yes; then + + + LIBS="-lselinux $LIBS" + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SETCON 1 +_ACEOF + + +else + { echo "$as_me:$LINENO: result: SELinux library not found." >&5 +echo "${ECHO_T}SELinux library not found." >&6; } + +fi + +else + { echo "$as_me:$LINENO: result: SELinux headers not found." >&5 +echo "${ECHO_T}SELinux headers not found." >&6; } + +fi + + +fi + TAP_ID="tap0901" TAP_WIN32_MIN_MAJOR="9" TAP_WIN32_MIN_MINOR="1" @@ -13256,7 +13523,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenVPN $as_me 2.1_rc19, which was +This file was extended by OpenVPN $as_me 2.1_rc20, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13309,7 +13576,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenVPN config.status 2.1_rc19 +OpenVPN config.status 2.1_rc20 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/release/src/router/openvpn/configure.ac b/release/src/router/openvpn/configure.ac index c6d19f96b0..116ff7c9bc 100644 --- a/release/src/router/openvpn/configure.ac +++ b/release/src/router/openvpn/configure.ac @@ -170,6 +170,18 @@ AC_ARG_ENABLE(iproute2, test $enableval = "yes" && AC_DEFINE(CONFIG_FEATURE_IPROUTE, 1, [enable iproute2 support]) ) +AC_ARG_ENABLE(def-auth, + [ --disable-def-auth Disable deferred authentication], + [DEF_AUTH="$enableval"], + [DEF_AUTH="yes"] +) + +AC_ARG_ENABLE(pf, + [ --disable-pf Disable internal packet filter], + [PF="$enableval"], + [PF="yes"] +) + AC_ARG_ENABLE(strict, [ --enable-strict Enable strict compiler warnings (debugging option)], [STRICT="$enableval"], @@ -194,6 +206,12 @@ AC_ARG_ENABLE(strict-options, [STRICT_OPTIONS="no"] ) +AC_ARG_ENABLE(selinux, + [ --disable-selinux Disable SELinux support], + [SELINUX="$enableval"], + [SELINUX="yes"] +) + AC_ARG_WITH(ssl-headers, [ --with-ssl-headers=DIR Crypto/SSL Include files location], [CS_HDR_DIR="$withval"] @@ -816,6 +834,16 @@ 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" @@ -841,6 +869,23 @@ 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 +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.])] + ) +fi + TAP_ID="PRODUCT_TAP_ID" TAP_WIN32_MIN_MAJOR="PRODUCT_TAP_WIN32_MIN_MAJOR" TAP_WIN32_MIN_MINOR="PRODUCT_TAP_WIN32_MIN_MINOR" diff --git a/release/src/router/openvpn/crypto.c b/release/src/router/openvpn/crypto.c index b56038aac2..bf6a86dbfd 100644 --- a/release/src/router/openvpn/crypto.c +++ b/release/src/router/openvpn/crypto.c @@ -1795,4 +1795,49 @@ free_ssl_lib (void) } #endif /* USE_SSL */ + +/* + * md5 functions + */ + +void +md5_state_init (struct md5_state *s) +{ + MD5_Init (&s->ctx); +} + +void +md5_state_update (struct md5_state *s, void *data, size_t len) +{ + MD5_Update (&s->ctx, data, len); +} + +void +md5_state_final (struct md5_state *s, struct md5_digest *out) +{ + MD5_Final (out->digest, &s->ctx); +} + +void +md5_digest_clear (struct md5_digest *digest) +{ + CLEAR (*digest); +} + +bool +md5_digest_defined (const struct md5_digest *digest) +{ + int i; + for (i = 0; i < MD5_DIGEST_LENGTH; ++i) + if (digest->digest[i]) + return true; + return false; +} + +bool +md5_digest_equal (const struct md5_digest *d1, const struct md5_digest *d2) +{ + return memcmp(d1->digest, d2->digest, MD5_DIGEST_LENGTH) == 0; +} + #endif /* USE_CRYPTO */ diff --git a/release/src/router/openvpn/crypto.c b/release/src/router/openvpn/crypto.c.orig similarity index 100% copy from release/src/router/openvpn/crypto.c copy to release/src/router/openvpn/crypto.c.orig diff --git a/release/src/router/openvpn/crypto.h b/release/src/router/openvpn/crypto.h index f0b49bbd08..3a5d5f2e03 100644 --- a/release/src/router/openvpn/crypto.h +++ b/release/src/router/openvpn/crypto.h @@ -398,5 +398,24 @@ key_ctx_bi_defined(const struct key_ctx_bi* key) return key->encrypt.cipher || key->encrypt.hmac || key->decrypt.cipher || key->decrypt.hmac; } +/* + * md5 functions + */ + +struct md5_state { + MD5_CTX ctx; +}; + +struct md5_digest { + uint8_t digest [MD5_DIGEST_LENGTH]; +}; + +void md5_state_init (struct md5_state *s); +void md5_state_update (struct md5_state *s, void *data, size_t len); +void md5_state_final (struct md5_state *s, struct md5_digest *out); +void md5_digest_clear (struct md5_digest *digest); +bool md5_digest_defined (const struct md5_digest *digest); +bool md5_digest_equal (const struct md5_digest *d1, const struct md5_digest *d2); + #endif /* USE_CRYPTO */ #endif /* CRYPTO_H */ diff --git a/release/src/router/openvpn/error.h b/release/src/router/openvpn/error.h index 368aa623d5..5c6659bd0a 100644 --- a/release/src/router/openvpn/error.h +++ b/release/src/router/openvpn/error.h @@ -33,7 +33,7 @@ #ifdef ENABLE_PKCS11 #define ERR_BUF_SIZE 8192 #else -#define ERR_BUF_SIZE 1024 +#define ERR_BUF_SIZE 1280 #endif struct gc_arena; diff --git a/release/src/router/openvpn/forward-inline.h b/release/src/router/openvpn/forward-inline.h index c87996d02d..bb8f542858 100644 --- a/release/src/router/openvpn/forward-inline.h +++ b/release/src/router/openvpn/forward-inline.h @@ -119,6 +119,17 @@ check_inactivity_timeout (struct context *c) } #if P2MP + +static inline void +check_server_poll_timeout (struct context *c) +{ + void check_server_poll_timeout_dowork (struct context *c); + + if (c->options.server_poll_timeout + && event_timeout_trigger (&c->c2.server_poll_interval, &c->c2.timeval, ETT_DEFAULT)) + check_server_poll_timeout_dowork (c); +} + /* * Scheduled exit? */ diff --git a/release/src/router/openvpn/forward.c b/release/src/router/openvpn/forward.c index e4063d21b9..661ac5c0a3 100644 --- a/release/src/router/openvpn/forward.c +++ b/release/src/router/openvpn/forward.c @@ -32,6 +32,7 @@ #include "event.h" #include "ps.h" #include "dhcp.h" +#include "common.h" #include "memdbg.h" @@ -39,6 +40,9 @@ #include "occ-inline.h" #include "ping-inline.h" +counter_type link_read_bytes_global; /* GLOBAL */ +counter_type link_write_bytes_global; /* GLOBAL */ + /* show event wait debugging info */ #ifdef ENABLE_DEBUG @@ -153,6 +157,8 @@ check_incoming_control_channel_dowork (struct context *c) receive_auth_failed (c, &buf); else if (buf_string_match_head_str (&buf, "PUSH_")) incoming_push_message (c, &buf); + else if (buf_string_match_head_str (&buf, "RESTART")) + server_pushed_restart (c, &buf); else msg (D_PUSH_ERRORS, "WARNING: Received unknown control message: %s", BSTR (&buf)); } @@ -172,9 +178,12 @@ void check_push_request_dowork (struct context *c) { send_push_request (c); + + /* if no response to first push_request, retry at 5 second intervals */ + event_timeout_modify_wakeup (&c->c2.push_request_interval, 5); } -#endif +#endif /* P2MP */ /* * Things that need to happen immediately after connection initiation should go here. @@ -200,10 +209,8 @@ check_connection_established_dowork (struct context *c) 0); } #endif - send_push_request (c); - - /* if no reply, try again in 5 sec */ - event_timeout_init (&c->c2.push_request_interval, 5, now); + /* send push request in 1 sec */ + event_timeout_init (&c->c2.push_request_interval, 1, now); reset_coarse_timers (c); } else @@ -309,16 +316,30 @@ check_inactivity_timeout_dowork (struct context *c) #if P2MP +void +check_server_poll_timeout_dowork (struct context *c) +{ + event_timeout_reset (&c->c2.server_poll_interval); + if (!tls_initial_packet_received (c->c2.tls_multi)) + { + msg (M_INFO, "Server poll timeout, restarting"); + c->sig->signal_received = SIGUSR1; + c->sig->signal_text = "server_poll"; + c->persist.restart_sleep_seconds = -1; + } +} + /* - * Schedule a SIGTERM n_seconds from now. + * Schedule a signal n_seconds from now. */ void -schedule_exit (struct context *c, const int n_seconds) +schedule_exit (struct context *c, const int n_seconds, const int signal) { tls_set_single_session (c->c2.tls_multi); update_time (); reset_coarse_timers (c); event_timeout_init (&c->c2.scheduled_exit, n_seconds, now); + c->c2.scheduled_exit_signal = signal; msg (D_SCHED_EXIT, "Delayed exit in %d seconds", n_seconds); } @@ -328,7 +349,7 @@ schedule_exit (struct context *c, const int n_seconds) void check_scheduled_exit_dowork (struct context *c) { - c->sig->signal_received = SIGTERM; + c->sig->signal_received = c->c2.scheduled_exit_signal; c->sig->signal_text = "delayed-exit"; } @@ -511,6 +532,10 @@ process_coarse_timers (struct context *c) return; #if P2MP + check_server_poll_timeout (c); + if (c->sig->signal_received) + return; + check_scheduled_exit (c); if (c->sig->signal_received) return; @@ -704,6 +729,7 @@ process_incoming_link (struct context *c) if (c->c2.buf.len > 0) { c->c2.link_read_bytes += c->c2.buf.len; + link_read_bytes_global += c->c2.buf.len; c->c2.original_recv_size = c->c2.buf.len; #ifdef ENABLE_MANAGEMENT if (management) @@ -1103,6 +1129,7 @@ process_outgoing_link (struct context *c) { c->c2.max_send_size_local = max_int (size, c->c2.max_send_size_local); c->c2.link_write_bytes += size; + link_write_bytes_global += size; #ifdef ENABLE_MANAGEMENT if (management) { diff --git a/release/src/router/openvpn/forward.h b/release/src/router/openvpn/forward.h index 8361f5b098..671cd849c0 100644 --- a/release/src/router/openvpn/forward.h +++ b/release/src/router/openvpn/forward.h @@ -80,7 +80,7 @@ bool send_control_channel_string (struct context *c, const char *str, int msglev void process_ipv4_header (struct context *c, unsigned int flags, struct buffer *buf); #if P2MP -void schedule_exit (struct context *c, const int n_seconds); +void schedule_exit (struct context *c, const int n_seconds, const int signal); #endif #endif /* FORWARD_H */ diff --git a/release/src/router/openvpn/images/Makefile b/release/src/router/openvpn/images/Makefile index 70299d6276..c048795d06 100644 --- a/release/src/router/openvpn/images/Makefile +++ b/release/src/router/openvpn/images/Makefile @@ -120,9 +120,9 @@ OBJEXT = o PACKAGE = openvpn PACKAGE_BUGREPORT = openvpn-users@lists.sourceforge.net PACKAGE_NAME = OpenVPN -PACKAGE_STRING = OpenVPN 2.1_rc19 +PACKAGE_STRING = OpenVPN 2.1_rc20 PACKAGE_TARNAME = openvpn -PACKAGE_VERSION = 2.1_rc19 +PACKAGE_VERSION = 2.1_rc20 PATH_SEPARATOR = : PTHREAD_CC = PTHREAD_CFLAGS = @@ -134,7 +134,7 @@ STRIP = mipsel-uclibc-strip TAP_ID = tap0901 TAP_WIN32_MIN_MAJOR = 9 TAP_WIN32_MIN_MINOR = 1 -VERSION = 2.1_rc19 +VERSION = 2.1_rc20 abs_builddir = /home/keith/firmware/release/src/router/openvpn/images abs_srcdir = /home/keith/firmware/release/src/router/openvpn/images abs_top_builddir = /home/keith/firmware/release/src/router/openvpn diff --git a/release/src/router/openvpn/init.c b/release/src/router/openvpn/init.c index c94cfe25d5..20ca0a5503 100644 --- a/release/src/router/openvpn/init.c +++ b/release/src/router/openvpn/init.c @@ -667,7 +667,7 @@ possibly_become_daemon (const struct options *options, const bool first_time) } /* - * Actually do UID/GID downgrade, and chroot, if requested. + * Actually do UID/GID downgrade, chroot and SELinux context switching, if requested. */ static void do_uid_gid_chroot (struct context *c, bool no_delay) @@ -697,6 +697,26 @@ do_uid_gid_chroot (struct context *c, bool no_delay) { msg (M_INFO, "NOTE: UID/GID downgrade %s", why_not); } + +#ifdef HAVE_SETCON + /* Apply a SELinux context in order to restrict what OpenVPN can do + * to _only_ what it is supposed to do after initialization is complete + * (basically just network I/O operations). Doing it after chroot + * requires /proc to be mounted in the chroot (which is annoying indeed + * but doing it before requires more complex SELinux policies. + */ + if (c->options.selinux_context) + { + if (no_delay) { + if (-1 == setcon (c->options.selinux_context)) + msg (M_ERR, "setcon to '%s' failed; is /proc accessible?", c->options.selinux_context); + else + msg (M_INFO, "setcon to '%s' succeeded", c->options.selinux_context); + } + else + msg (M_INFO, "NOTE: setcon %s", why_not); + } +#endif } } @@ -772,6 +792,11 @@ do_init_timers (struct context *c, bool deferred) if (c->options.ping_rec_timeout) event_timeout_init (&c->c2.ping_rec_interval, c->options.ping_rec_timeout, now); +#if P2MP + if (c->options.server_poll_timeout) + event_timeout_init (&c->c2.server_poll_interval, c->options.server_poll_timeout, now); +#endif + if (!deferred) { /* initialize connection establishment timer */ @@ -827,7 +852,7 @@ static void do_alloc_route_list (struct context *c) { if (c->options.routes && !c->c1.route_list) - c->c1.route_list = new_route_list (&c->gc); + c->c1.route_list = new_route_list (c->options.max_routes, &c->gc); } @@ -972,15 +997,12 @@ do_route (const struct options *options, */ #if P2MP static void -save_pulled_options_string (struct context *c, const char *newstring) +save_pulled_options_digest (struct context *c, const struct md5_digest *newdigest) { - if (c->c1.pulled_options_string_save) - free (c->c1.pulled_options_string_save); - - c->c1.pulled_options_string_save = NULL; - - if (newstring) - c->c1.pulled_options_string_save = string_alloc (newstring, NULL); + if (newdigest) + c->c1.pulled_options_digest_save = *newdigest; + else + md5_digest_clear (&c->c1.pulled_options_digest_save); } #endif @@ -1124,7 +1146,7 @@ do_close_tun_simple (struct context *c) c->c1.tuntap = NULL; c->c1.tuntap_owned = false; #if P2MP - save_pulled_options_string (c, NULL); /* delete C1-saved pulled_options_string */ + save_pulled_options_digest (c, NULL); /* delete C1-saved pulled_options_digest */ #endif } @@ -1224,8 +1246,8 @@ do_up (struct context *c, bool pulled_options, unsigned int option_types_found) if (!c->c2.did_open_tun && PULL_DEFINED (&c->options) && c->c1.tuntap - && (!c->c1.pulled_options_string_save || !c->c2.pulled_options_string - || strcmp (c->c1.pulled_options_string_save, c->c2.pulled_options_string))) + && (!md5_digest_defined (&c->c1.pulled_options_digest_save) || !md5_digest_defined (&c->c2.pulled_options_digest) + || !md5_digest_equal (&c->c1.pulled_options_digest_save, &c->c2.pulled_options_digest))) { /* if so, close tun, delete routes, then reinitialize tun and add routes */ msg (M_INFO, "NOTE: Pulled options changed on restart, will need to close and reopen TUN/TAP device."); @@ -1240,7 +1262,7 @@ do_up (struct context *c, bool pulled_options, unsigned int option_types_found) if (c->c2.did_open_tun) { #if P2MP - save_pulled_options_string (c, c->c2.pulled_options_string); + save_pulled_options_digest (c, &c->c2.pulled_options_digest); #endif /* if --route-delay was specified, start timer */ @@ -1427,10 +1449,15 @@ socket_restart_pause (struct context *c) #if P2MP if (auth_retry_get () == AR_NOINTERACT) sec = 10; + + if (c->options.server_poll_timeout && sec > 1) + sec = 1; #endif if (c->persist.restart_sleep_seconds > 0 && c->persist.restart_sleep_seconds > sec) sec = c->persist.restart_sleep_seconds; + else if (c->persist.restart_sleep_seconds == -1) + sec = 0; c->persist.restart_sleep_seconds = 0; /* do managment hold on context restart, i.e. second, third, fourth, etc. initialization */ @@ -1964,16 +1991,20 @@ do_option_warnings (struct context *c) if (o->ping_send_timeout && !o->ping_rec_timeout) msg (M_WARN, "WARNING: --ping should normally be used with --ping-restart or --ping-exit"); - if (o->username || o->groupname || o->chroot_dir) + if (o->username || o->groupname || o->chroot_dir +#ifdef HAVE_SETCON + || o->selinux_context +#endif + ) { if (!o->persist_tun) - msg (M_WARN, "WARNING: you are using user/group/chroot without persist-tun -- this may cause restarts to fail"); + msg (M_WARN, "WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail"); if (!o->persist_key #ifdef ENABLE_PKCS11 && !o->pkcs11_id #endif ) - msg (M_WARN, "WARNING: you are using user/group/chroot without persist-key -- this may cause restarts to fail"); + msg (M_WARN, "WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail"); } if (o->chroot_dir && !(o->username && o->groupname)) diff --git a/release/src/router/openvpn/install-win32/Makefile b/release/src/router/openvpn/install-win32/Makefile index 92b2347e55..7345448bcf 100644 --- a/release/src/router/openvpn/install-win32/Makefile +++ b/release/src/router/openvpn/install-win32/Makefile @@ -134,9 +134,9 @@ OBJEXT = o PACKAGE = openvpn PACKAGE_BUGREPORT = openvpn-users@lists.sourceforge.net PACKAGE_NAME = OpenVPN -PACKAGE_STRING = OpenVPN 2.1_rc19 +PACKAGE_STRING = OpenVPN 2.1_rc20 PACKAGE_TARNAME = openvpn -PACKAGE_VERSION = 2.1_rc19 +PACKAGE_VERSION = 2.1_rc20 PATH_SEPARATOR = : PTHREAD_CC = PTHREAD_CFLAGS = @@ -148,7 +148,7 @@ STRIP = mipsel-uclibc-strip TAP_ID = tap0901 TAP_WIN32_MIN_MAJOR = 9 TAP_WIN32_MIN_MINOR = 1 -VERSION = 2.1_rc19 +VERSION = 2.1_rc20 abs_builddir = /home/keith/firmware/release/src/router/openvpn/install-win32 abs_srcdir = /home/keith/firmware/release/src/router/openvpn/install-win32 abs_top_builddir = /home/keith/firmware/release/src/router/openvpn diff --git a/release/src/router/openvpn/install-win32/openssl/.svn/entries b/release/src/router/openvpn/install-win32/openssl/.svn/entries index 118f811ea6..26e909b073 100644 --- a/release/src/router/openvpn/install-win32/openssl/.svn/entries +++ b/release/src/router/openvpn/install-win32/openssl/.svn/entries @@ -1,7 +1,7 @@ 8 dir -4707 +5019 https://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn/install-win32/openssl https://svn.openvpn.net/projects/openvpn @@ -32,7 +32,7 @@ file -2008-09-30T02:34:06.000000Z +2009-10-01T18:02:16.000000Z 686b9f53674fe4132af89cdc7aea5344 2008-06-04T10:53:57.832544Z 2982 @@ -44,7 +44,7 @@ file -2008-09-30T02:34:06.000000Z +2009-10-01T18:02:16.000000Z 6f2e5ab0b37296726fbbd4dbc59df49c 2008-07-31T22:03:38.310201Z 3149 @@ -56,7 +56,7 @@ file -2009-05-16T08:16:16.000000Z +2009-10-01T18:02:16.000000Z fccb41da0fec42fe0b0cd08ce147510a 2009-05-13T13:36:23.481742Z 4318 diff --git a/release/src/router/openvpn/interval.h b/release/src/router/openvpn/interval.h index afba9480f1..f0e5875fb0 100644 --- a/release/src/router/openvpn/interval.h +++ b/release/src/router/openvpn/interval.h @@ -177,6 +177,14 @@ event_timeout_reset (struct event_timeout* et) et->last = now; } +static inline void +event_timeout_modify_wakeup (struct event_timeout* et, interval_t n) +{ + /* note that you might need to call reset_coarse_timers after this */ + if (et->defined) + et->n = (n >= 0) ? n : 0; +} + /* * This is the principal function for testing and triggering recurring * timers and will return true on a timer signal event. diff --git a/release/src/router/openvpn/manage.c b/release/src/router/openvpn/manage.c index 79141fbde1..0f72f64051 100644 --- a/release/src/router/openvpn/manage.c +++ b/release/src/router/openvpn/manage.c @@ -35,6 +35,7 @@ #include "integer.h" #include "misc.h" #include "ssl.h" +#include "common.h" #include "manage.h" #include "memdbg.h" @@ -75,6 +76,7 @@ man_help () msg (M_CLIENT, " release current hold and start tunnel."); msg (M_CLIENT, "kill cn : Kill the client instance(s) having common name cn."); msg (M_CLIENT, "kill IP:port : Kill the client instance connecting from IP:port."); + msg (M_CLIENT, "load-stats : Show global server load stats."); msg (M_CLIENT, "log [on|off] [N|all] : Turn on/off realtime log display"); msg (M_CLIENT, " + show last N lines or 'all' for entire history."); msg (M_CLIENT, "mute [n] : Set log mute level to n, or show level if n is absent."); @@ -92,7 +94,8 @@ man_help () #ifdef MANAGEMENT_DEF_AUTH msg (M_CLIENT, "client-auth CID KID : Authenticate client-id/key-id CID/KID (MULTILINE)"); msg (M_CLIENT, "client-auth-nt CID KID : Authenticate client-id/key-id CID/KID"); - msg (M_CLIENT, "client-deny CID KID R : Deny auth client-id/key-id CID/KID with reason text R"); + msg (M_CLIENT, "client-deny CID KID R [CR] : Deny auth client-id/key-id CID/KID with log reason"); + msg (M_CLIENT, " text R and optional client reason text CR"); msg (M_CLIENT, "client-kill CID : Kill client instance CID"); #ifdef MANAGEMENT_PF msg (M_CLIENT, "client-pf CID : Define packet filter for client CID (MULTILINE)"); @@ -799,6 +802,7 @@ in_extra_dispatch (struct management *man) man->connection.in_extra_kid, true, NULL, + NULL, man->connection.in_extra); man->connection.in_extra = NULL; if (status) @@ -860,7 +864,7 @@ man_client_auth (struct management *man, const char *cid_str, const char *kid_st } static void -man_client_deny (struct management *man, const char *cid_str, const char *kid_str, const char *reason) +man_client_deny (struct management *man, const char *cid_str, const char *kid_str, const char *reason, const char *client_reason) { unsigned long cid = 0; unsigned int kid = 0; @@ -874,6 +878,7 @@ man_client_deny (struct management *man, const char *cid_str, const char *kid_st kid, false, reason, + client_reason, NULL); if (status) { @@ -948,6 +953,21 @@ man_client_pf (struct management *man, const char *cid_str) #endif #endif +static void +man_load_stats (struct management *man) +{ + extern counter_type link_read_bytes_global; + extern counter_type link_write_bytes_global; + int nclients = 0; + + if (man->persist.callback.n_clients) + nclients = (*man->persist.callback.n_clients) (man->persist.callback.arg); + msg (M_CLIENT, "SUCCESS: nclients=%d,bytesin=" counter_format ",bytesout=" counter_format, + nclients, + link_read_bytes_global, + link_write_bytes_global); +} + #define MN_AT_LEAST (1<<0) static bool @@ -995,15 +1015,21 @@ man_dispatch_command (struct management *man, struct status_output *so, const ch { msg (M_CLIENT, "SUCCESS: pid=%d", openvpn_getpid ()); } +#ifdef MANAGEMENT_DEF_AUTH else if (streq (p[0], "nclients")) { man_client_n_clients (man); } +#endif else if (streq (p[0], "signal")) { if (man_need (man, p, 1, 0)) man_signal (man, p[1]); } + else if (streq (p[0], "load-stats")) + { + man_load_stats (man); + } else if (streq (p[0], "status")) { int version = 0; @@ -1137,8 +1163,8 @@ man_dispatch_command (struct management *man, struct status_output *so, const ch } else if (streq (p[0], "client-deny")) { - if (man_need (man, p, 3, 0)) - man_client_deny (man, p[1], p[2], p[3]); + if (man_need (man, p, 3, MN_AT_LEAST)) + man_client_deny (man, p[1], p[2], p[3], p[4]); } else if (streq (p[0], "client-auth-nt")) { @@ -1575,7 +1601,7 @@ man_process_command (struct management *man, const char *line) nparms = parse_line (line, parms, MAX_PARMS, "TCP", 0, M_CLIENT, &gc); if (parms[0] && streq (parms[0], "password")) msg (D_MANAGEMENT_DEBUG, "MANAGEMENT: CMD 'password [...]'"); - else + else if (!streq (line, "load-stats")) msg (D_MANAGEMENT_DEBUG, "MANAGEMENT: CMD '%s'", line); #if 0 diff --git a/release/src/router/openvpn/manage.h b/release/src/router/openvpn/manage.h index 23c1fbc753..6d6d710cf3 100644 --- a/release/src/router/openvpn/manage.h +++ b/release/src/router/openvpn/manage.h @@ -162,6 +162,7 @@ struct management_callback const unsigned int mda_key_id, const bool auth, const char *reason, + const char *client_reason, struct buffer_list *cc_config); /* ownership transferred */ #endif #ifdef MANAGEMENT_PF diff --git a/release/src/router/openvpn/misc.c b/release/src/router/openvpn/misc.c index d9735bc114..33e676213d 100644 --- a/release/src/router/openvpn/misc.c +++ b/release/src/router/openvpn/misc.c @@ -1186,6 +1186,44 @@ create_temp_filename (const char *directory, const char *prefix, struct gc_arena return gen_path (directory, BSTR (&fname), gc); } +/* + * Add a random string to first DNS label of hostname to prevent DNS caching. + * For example, foo.bar.gov would be modified to .foo.bar.gov. + * Of course, this requires explicit support in the DNS server. + */ +const char * +hostname_randomize(const char *hostname, struct gc_arena *gc) +{ + const int n_rnd_bytes = 6; + + char *hst = string_alloc(hostname, gc); + char *dot = strchr(hst, '.'); + + if (dot) + { + uint8_t rnd_bytes[n_rnd_bytes]; + const char *rnd_str; + struct buffer hname = alloc_buf_gc (strlen(hostname)+sizeof(rnd_bytes)*2+4, gc); + + *dot++ = '\0'; + prng_bytes (rnd_bytes, sizeof (rnd_bytes)); + rnd_str = format_hex_ex (rnd_bytes, sizeof (rnd_bytes), 40, 0, NULL, gc); + buf_printf(&hname, "%s-0x%s.%s", hst, rnd_str, dot); + return BSTR(&hname); + } + else + return hostname; +} + +#else + +const char * +hostname_randomize(const char *hostname, struct gc_arena *gc) +{ + msg (M_WARN, "WARNING: hostname randomization disabled when crypto support is not compiled"); + return hostname; +} + #endif /* diff --git a/release/src/router/openvpn/misc.h b/release/src/router/openvpn/misc.h index 8bc1e8f848..bf51e897ae 100644 --- a/release/src/router/openvpn/misc.h +++ b/release/src/router/openvpn/misc.h @@ -230,6 +230,9 @@ bool delete_file (const char *filename); /* return true if pathname is absolute */ bool absolute_pathname (const char *pathname); +/* prepend a random prefix to hostname (need USE_CRYPTO) */ +const char *hostname_randomize(const char *hostname, struct gc_arena *gc); + /* * Get and store a username/password */ diff --git a/release/src/router/openvpn/multi.c b/release/src/router/openvpn/multi.c index 7173d66d9e..628da4688a 100644 --- a/release/src/router/openvpn/multi.c +++ b/release/src/router/openvpn/multi.c @@ -2539,7 +2539,7 @@ management_kill_by_cid (void *arg, const unsigned long cid) struct multi_instance *mi = lookup_by_cid (m, cid); if (mi) { - multi_signal_instance (m, mi, SIGTERM); + send_restart (&mi->context); /* was: multi_signal_instance (m, mi, SIGTERM); */ return true; } else @@ -2552,6 +2552,7 @@ management_client_auth (void *arg, const unsigned int mda_key_id, const bool auth, const char *reason, + const char *client_reason, struct buffer_list *cc_config) /* ownership transferred */ { struct multi_context *m = (struct multi_context *) arg; @@ -2561,7 +2562,7 @@ management_client_auth (void *arg, if (mi) { - ret = tls_authenticate_key (mi->context.c2.tls_multi, mda_key_id, auth); + ret = tls_authenticate_key (mi->context.c2.tls_multi, mda_key_id, auth, client_reason); if (ret) { if (auth && !mi->connection_established_flag) @@ -2570,7 +2571,7 @@ management_client_auth (void *arg, cc_config_owned = false; } if (!auth && reason) - msg (D_MULTI_LOW, "MULTI: connection rejected: %s", reason); + msg (D_MULTI_LOW, "MULTI: connection rejected: %s, CLI:%s", reason, np(client_reason)); } } if (cc_config_owned && cc_config) diff --git a/release/src/router/openvpn/openvpn.8 b/release/src/router/openvpn/openvpn.8 index 9f31f204d9..6f6138b70a 100644 --- a/release/src/router/openvpn/openvpn.8 +++ b/release/src/router/openvpn/openvpn.8 @@ -946,6 +946,13 @@ table (not supported on all OSes). address if OpenVPN is being run in client mode, and is undefined in server mode. .\"********************************************************* .TP +.B --max-routes n +Allow a maximum number of n +.B --route +options to be specified, either in the local configuration file, +or pulled from an OpenVPN server. By default, n=100. +.\"********************************************************* +.TP .B --route-gateway gw|'dhcp' Specify a default gateway .B gw @@ -1889,6 +1896,39 @@ complications can result when scripts or restarts are executed after the chroot operation. .\"********************************************************* .TP +.B --setcon context +Apply SELinux +.B context +after initialization. This +essentially provides the ability to restrict OpenVPN's +rights to only network I/O operations, thanks to +SELinux. This goes further than +.B --user +and +.B --chroot +in that those two, while being great security features, +unfortunately do not protect against privilege escalation +by exploitation of a vulnerable system call. You can of +course combine all three, but please note that since +setcon requires access to /proc you will have to provide +it inside the chroot directory (e.g. with mount --bind). + +Since the setcon operation is delayed until after +initialization, OpenVPN can be restricted to just +network-related system calls, whereas by applying the +context before startup (such as the OpenVPN one provided +in the SELinux Reference Policies) you will have to +allow many things required only during initialization. + +Like with chroot, complications can result when scripts +or restarts are executed after the setcon operation, +which is why you should really consider using the +.B --persist-key +and +.B --persist-tun +options. +.\"********************************************************* +.TP .B --daemon [progname] Become a daemon after all initialization functions are completed. This option will cause all message and error output to @@ -3239,6 +3279,13 @@ Note that while this option cannot be pushed, it can be controlled from the management interface. .\"********************************************************* .TP +.B --server-poll-timeout n +when polling possible remote servers to connect to +in a round-robin fashion, spend no more than +.B n +seconds waiting for a response before trying the next server. +.\"********************************************************* +.TP .B --explicit-exit-notify [n] In UDP client mode or point-to-point mode, send server/peer an exit notification if tunnel is restarted or OpenVPN process is exited. In client mode, on diff --git a/release/src/router/openvpn/openvpn.h b/release/src/router/openvpn/openvpn.h index d7e8c5645c..1df46a1a36 100644 --- a/release/src/router/openvpn/openvpn.h +++ b/release/src/router/openvpn/openvpn.h @@ -189,8 +189,8 @@ struct context_1 bool ifconfig_pool_persist_owned; #endif - /* if client mode, option strings we pulled from server */ - char *pulled_options_string_save; + /* if client mode, hash of option strings we pulled from server */ + struct md5_digest pulled_options_digest_save; /* save user/pass for authentication */ struct user_pass *auth_user_pass; @@ -427,9 +427,16 @@ struct context_2 #endif struct event_timeout push_request_interval; - const char *pulled_options_string; + bool did_pre_pull_restore; + + /* hash of pulled options, so we can compare when options change */ + struct md5_state pulled_options_state; + struct md5_digest pulled_options_digest; + + struct event_timeout server_poll_interval; struct event_timeout scheduled_exit; + int scheduled_exit_signal; #endif /* packet filter */ diff --git a/release/src/router/openvpn/openvpn.spec b/release/src/router/openvpn/openvpn.spec index 5a5203782a..46359b558b 100644 --- a/release/src/router/openvpn/openvpn.spec +++ b/release/src/router/openvpn/openvpn.spec @@ -16,7 +16,7 @@ Summary: OpenVPN is a robust and highly flexible VPN daemon by James Yonan. Name: openvpn -Version: 2.1_rc19 +Version: 2.1_rc20 Release: 1 URL: http://openvpn.net/ Source0: http://prdownloads.sourceforge.net/openvpn/%{name}-%{version}.tar.gz diff --git a/release/src/router/openvpn/options.c b/release/src/router/openvpn/options.c index a83c6a2e10..acbb036609 100644 --- a/release/src/router/openvpn/options.c +++ b/release/src/router/openvpn/options.c @@ -90,6 +90,7 @@ static const char usage_message[] = "--local host : Local host name or ip address. Implies --bind.\n" "--remote host [port] : Remote host name or ip address.\n" "--remote-random : If multiple --remote options specified, choose one randomly.\n" + "--remote-random-hostname : Add a random string to remote DNS name.\n" "--mode m : Major mode, m = 'p2p' (default, point-to-point) or 'server'.\n" "--proto p : Use protocol p for communicating with peer.\n" " p = udp (default), tcp-server, or tcp-client\n" @@ -169,6 +170,8 @@ static const char usage_message[] = " netmask default: 255.255.255.255\n" " gateway default: taken from --route-gateway or --ifconfig\n" " Specify default by leaving blank or setting to \"nil\".\n" + "--max-routes n : Specify the maximum number of routes that may be defined\n" + " or pulled from a server.\n" "--route-gateway gw|'dhcp' : Specify a default gateway for use with --route.\n" "--route-metric m : Specify a default metric for use with --route.\n" "--route-delay n [w] : Delay n seconds after connection initiation before\n" @@ -264,6 +267,9 @@ static const char usage_message[] = "--user user : Set UID to user after initialization.\n" "--group group : Set GID to group after initialization.\n" "--chroot dir : Chroot to this directory after initialization.\n" +#ifdef HAVE_SETCON + "--setcon context: Apply this SELinux context after initialization.\n" +#endif "--cd dir : Change to this directory before initialization.\n" "--daemon [name] : Become a daemon after initialization.\n" " The optional 'name' parameter will be passed\n" @@ -426,6 +432,9 @@ static const char usage_message[] = " when connecting to a '--mode server' remote host.\n" "--auth-retry t : How to handle auth failures. Set t to\n" " none (default), interact, or nointeract.\n" + "--server-poll-timeout n : when polling possible remote servers to connect to\n" + " in a round-robin fashion, spend no more than n seconds\n" + " waiting for a response before trying the next server.\n" #endif #ifdef ENABLE_OCC "--explicit-exit-notify [n] : On exit/restart, send exit signal to\n" @@ -676,6 +685,7 @@ init_options (struct options *o, const bool init_gc) o->mtu_discover_type = -1; o->mssfix = MSSFIX_DEFAULT; o->route_delay_window = 30; + o->max_routes = MAX_ROUTES_DEFAULT; o->resolve_retry_seconds = RESOLV_RETRY_INFINITE; #ifdef ENABLE_OCC o->occ = true; @@ -719,6 +729,7 @@ init_options (struct options *o, const bool init_gc) #endif #if P2MP o->scheduled_exit_interval = 5; + o->server_poll_timeout = 0; #endif #ifdef USE_CRYPTO o->ciphername = "BF-CBC"; @@ -953,11 +964,15 @@ show_p2mp_parms (const struct options *o) msg (D_SHOW_PARMS, " server_bridge_netmask = %s", print_in_addr_t (o->server_bridge_netmask, 0, &gc)); msg (D_SHOW_PARMS, " server_bridge_pool_start = %s", print_in_addr_t (o->server_bridge_pool_start, 0, &gc)); msg (D_SHOW_PARMS, " server_bridge_pool_end = %s", print_in_addr_t (o->server_bridge_pool_end, 0, &gc)); - if (o->push_list) + if (o->push_list.head) { - const struct push_list *l = o->push_list; - const char *printable_push_list = l->options; - msg (D_SHOW_PARMS, " push_list = '%s'", printable_push_list); + const struct push_entry *e = o->push_list.head; + while (e) + { + if (e->enable) + msg (D_SHOW_PARMS, " push_entry = '%s'", e->option); + e = e->next; + } } SHOW_BOOL (ifconfig_pool_defined); msg (D_SHOW_PARMS, " ifconfig_pool_start = %s", print_in_addr_t (o->ifconfig_pool_start, 0, &gc)); @@ -1058,12 +1073,7 @@ options_detach (struct options *o) gc_detach (&o->gc); o->routes = NULL; #if P2MP_SERVER - if (o->push_list) /* clone push_list */ - { - const struct push_list *old = o->push_list; - ALLOC_OBJ_GC (o->push_list, struct push_list, &o->gc); - strcpy (o->push_list->options, old->options); - } + clone_push_list(o); #endif } @@ -1071,7 +1081,7 @@ void rol_check_alloc (struct options *options) { if (!options->routes) - options->routes = new_route_option_list (&options->gc); + options->routes = new_route_option_list (options->max_routes, &options->gc); } #ifdef ENABLE_DEBUG @@ -1215,6 +1225,9 @@ show_settings (const struct options *o) SHOW_STR (groupname); SHOW_STR (chroot_dir); SHOW_STR (cd_dir); +#ifdef HAVE_SETCON + SHOW_STR (selinux_context); +#endif SHOW_STR (writepid); SHOW_STR (up_script); SHOW_STR (down_script); @@ -1257,6 +1270,7 @@ show_settings (const struct options *o) SHOW_BOOL (route_delay_defined); SHOW_BOOL (route_nopull); SHOW_BOOL (route_gateway_via_dhcp); + SHOW_INT (max_routes); SHOW_BOOL (allow_pull_fqdn); if (o->routes) print_route_options (o->routes, D_SHOW_PARMS); @@ -2153,7 +2167,7 @@ pre_pull_save (struct options *o) o->pre_pull->foreign_option_index = o->foreign_option_index; if (o->routes) { - o->pre_pull->routes = *o->routes; + o->pre_pull->routes = clone_route_option_list(o->routes, &o->gc); o->pre_pull->routes_defined = true; } } @@ -2172,13 +2186,15 @@ pre_pull_restore (struct options *o) if (pp->routes_defined) { rol_check_alloc (o); - *o->routes = pp->routes; + copy_route_option_list (o->routes, pp->routes); } else o->routes = NULL; o->foreign_option_index = pp->foreign_option_index; } + + o->push_continuation = 0; } #endif @@ -3709,6 +3725,13 @@ add_option (struct options *options, } options->cd_dir = p[1]; } +#ifdef HAVE_SETCON + else if (streq (p[0], "setcon") && p[1]) + { + VERIFY_PERMISSION (OPT_P_GENERAL); + options->selinux_context = p[1]; + } +#endif else if (streq (p[0], "writepid") && p[1]) { VERIFY_PERMISSION (OPT_P_GENERAL); @@ -4329,6 +4352,19 @@ add_option (struct options *options, } add_route_to_option_list (options->routes, p[1], p[2], p[3], p[4]); } + else if (streq (p[0], "max-routes") && p[1]) + { + int max_routes; + + VERIFY_PERMISSION (OPT_P_GENERAL); + max_routes = atoi (p[1]); + if (max_routes < 0 || max_routes > 100000000) + { + msg (msglevel, "--max-routes parameter is out of range"); + goto err; + } + options->max_routes = max_routes; + } else if (streq (p[0], "route-gateway") && p[1]) { VERIFY_PERMISSION (OPT_P_ROUTE_EXTRAS); @@ -4398,10 +4434,10 @@ add_option (struct options *options, int j; VERIFY_PERMISSION (OPT_P_ROUTE); rol_check_alloc (options); + if (streq (p[0], "redirect-gateway")) + options->routes->flags |= RG_REROUTE_GW; for (j = 1; j < MAX_PARMS && p[j] != NULL; ++j) { - if (streq (p[0], "redirect-gateway")) - options->routes->flags |= RG_REROUTE_GW; if (streq (p[j], "local")) options->routes->flags |= RG_LOCAL; else if (streq (p[j], "autolocal")) @@ -4420,15 +4456,33 @@ add_option (struct options *options, } options->routes->flags |= RG_ENABLE; } + else if (streq (p[0], "remote-random-hostname")) + { + VERIFY_PERMISSION (OPT_P_GENERAL); + options->sockflags |= SF_HOST_RANDOMIZE; + } else if (streq (p[0], "setenv") && p[1]) { VERIFY_PERMISSION (OPT_P_GENERAL); - if (streq (p[1], "FORWARD_COMPATIBLE") && p[2] && streq (p[2], "1")) + if (streq (p[1], "REMOTE_RANDOM_HOSTNAME")) { - options->forward_compatible = true; - msglevel_fc = msglevel_forward_compatible (options, msglevel); + options->sockflags |= SF_HOST_RANDOMIZE; + } +#if P2MP + else if (streq (p[1], "SERVER_POLL_TIMEOUT") && p[2]) + { + options->server_poll_timeout = positive_atoi(p[2]); + } +#endif + else + { + if (streq (p[1], "FORWARD_COMPATIBLE") && p[2] && streq (p[2], "1")) + { + options->forward_compatible = true; + msglevel_fc = msglevel_forward_compatible (options, msglevel); + } + setenv_str (es, p[1], p[2] ? p[2] : ""); } - setenv_str (es, p[1], p[2] ? p[2] : ""); } else if (streq (p[0], "setenv-safe") && p[1]) { @@ -4838,6 +4892,16 @@ add_option (struct options *options, VERIFY_PERMISSION (OPT_P_GENERAL); options->pull = true; } + else if (streq (p[0], "push-continuation") && p[1]) + { + VERIFY_PERMISSION (OPT_P_PULL_MODE); + options->push_continuation = atoi(p[1]); + } + else if (streq (p[0], "server-poll-timeout") && p[1]) + { + VERIFY_PERMISSION (OPT_P_GENERAL); + options->server_poll_timeout = positive_atoi(p[1]); + } else if (streq (p[0], "auth-user-pass")) { VERIFY_PERMISSION (OPT_P_GENERAL); diff --git a/release/src/router/openvpn/options.h b/release/src/router/openvpn/options.h index 5b4ad8c8d4..740e18ed7f 100644 --- a/release/src/router/openvpn/options.h +++ b/release/src/router/openvpn/options.h @@ -40,6 +40,7 @@ #include "manage.h" #include "proxy.h" #include "lzo.h" +#include "pushlist.h" /* * Maximum number of parameters associated with an option, @@ -57,17 +58,6 @@ extern const char title_string[]; #if P2MP -#if P2MP_SERVER -/* parameters to be pushed to peer */ - -#define MAX_PUSH_LIST_LEN TLS_CHANNEL_BUF_SIZE /* This parm is related to PLAINTEXT_BUFFER_SIZE in ssl.h */ - -struct push_list { - /* newline delimited options, like config file */ - char options[MAX_PUSH_LIST_LEN]; -}; -#endif - /* certain options are saved before --pull modifications are applied */ struct options_pre_pull { @@ -75,7 +65,7 @@ struct options_pre_pull struct tuntap_options tuntap_options; bool routes_defined; - struct route_option_list routes; + struct route_option_list *routes; int foreign_option_index; }; @@ -253,6 +243,9 @@ struct options const char *groupname; const char *chroot_dir; const char *cd_dir; +#ifdef HAVE_SETCON + char *selinux_context; +#endif const char *writepid; const char *up_script; const char *down_script; @@ -303,6 +296,7 @@ struct options int route_delay; int route_delay_window; bool route_delay_defined; + int max_routes; struct route_option_list *routes; bool route_nopull; bool route_gateway_via_dhcp; @@ -358,7 +352,7 @@ struct options in_addr_t server_bridge_pool_start; in_addr_t server_bridge_pool_end; - struct push_list *push_list; + struct push_list push_list; bool ifconfig_pool_defined; in_addr_t ifconfig_pool_start; in_addr_t ifconfig_pool_end; @@ -401,9 +395,12 @@ struct options bool client; bool pull; /* client pull of config options from server */ + int push_continuation; const char *auth_user_pass_file; struct options_pre_pull *pre_pull; + int server_poll_timeout; + int scheduled_exit_interval; #endif diff --git a/release/src/router/openvpn/push.c b/release/src/router/openvpn/push.c index cbc3c10ec3..f817c870e4 100644 --- a/release/src/router/openvpn/push.c +++ b/release/src/router/openvpn/push.c @@ -61,21 +61,70 @@ receive_auth_failed (struct context *c, const struct buffer *buffer) c->sig->signal_text = "auth-failure"; #ifdef ENABLE_MANAGEMENT if (management) - management_auth_failure (management, UP_TYPE_AUTH); + { + const char *reason = UP_TYPE_AUTH; + struct buffer buf = *buffer; + if (buf_string_compare_advance (&buf, "AUTH_FAILED,") && BLEN (&buf)) + reason = BSTR (&buf); + management_auth_failure (management, reason); + } #endif } } +/* + * Act on received restart message from server + */ +void +server_pushed_restart (struct context *c, const struct buffer *buffer) +{ + if (c->options.pull) + { + msg (D_STREAM_ERRORS, "Connection reset command was pushed by server"); + c->sig->signal_received = SIGUSR1; /* SOFT-SIGUSR1 -- server-pushed connection reset */ + c->sig->signal_text = "server-pushed-connection-reset"; + } +} + #if P2MP_SERVER + /* * Send auth failed message from server to client. */ void -send_auth_failed (struct context *c) +send_auth_failed (struct context *c, const char *client_reason) { - schedule_exit (c, c->options.scheduled_exit_interval); - send_control_channel_string (c, "AUTH_FAILED", D_PUSH); + struct gc_arena gc = gc_new (); + static const char auth_failed[] = "AUTH_FAILED"; + size_t len; + + schedule_exit (c, c->options.scheduled_exit_interval, SIGTERM); + + len = (client_reason ? strlen(client_reason)+1 : 0) + sizeof(auth_failed); + if (len > TLS_CHANNEL_BUF_SIZE) + len = TLS_CHANNEL_BUF_SIZE; + + { + struct buffer buf = alloc_buf_gc (len, &gc); + buf_printf (&buf, auth_failed); + if (client_reason) + buf_printf (&buf, ",%s", client_reason); + send_control_channel_string (c, BSTR (&buf), D_PUSH); + } + + gc_free (&gc); } + +/* + * Send restart message from server to client. + */ +void +send_restart (struct context *c) +{ + schedule_exit (c, c->options.scheduled_exit_interval, SIGTERM); + send_control_channel_string (c, "RESTART", D_PUSH); +} + #endif /* @@ -99,9 +148,10 @@ incoming_push_message (struct context *c, const struct buffer *buffer) if (status == PUSH_MSG_ERROR) msg (D_PUSH_ERRORS, "WARNING: Received bad push/pull message: %s", BSTR (buffer)); - else if (status == PUSH_MSG_REPLY) + else if (status == PUSH_MSG_REPLY || status == PUSH_MSG_CONTINUATION) { - do_up (c, true, option_types_found); /* delay bringing tun/tap up until --push parms received from remote */ + if (status == PUSH_MSG_REPLY) + do_up (c, true, option_types_found); /* delay bringing tun/tap up until --push parms received from remote */ event_timeout_clear (&c->c2.push_request_interval); } @@ -115,60 +165,114 @@ send_push_request (struct context *c) } #if P2MP_SERVER + bool send_push_reply (struct context *c) { struct gc_arena gc = gc_new (); - struct buffer buf = alloc_buf_gc (MAX_PUSH_LIST_LEN + 256, &gc); - bool ret = false; + struct buffer buf = alloc_buf_gc (TLS_CHANNEL_BUF_SIZE, &gc); + struct push_entry *e = c->options.push_list.head; + bool multi_push = false; + static char cmd[] = "PUSH_REPLY"; + const int extra = 64; /* extra space for possible trailing ifconfig and push-continuation */ + const int safe_cap = BCAP (&buf) - extra; - buf_printf (&buf, "PUSH_REPLY"); + buf_printf (&buf, cmd); - if (c->options.push_list && strlen (c->options.push_list->options)) - buf_printf (&buf, ",%s", c->options.push_list->options); + while (e) + { + if (e->enable) + { + const int l = strlen (e->option); + if (BLEN (&buf) + l >= safe_cap) + { + buf_printf (&buf, ",push-continuation 2"); + { + const bool status = send_control_channel_string (c, BSTR (&buf), D_PUSH); + if (!status) + goto fail; + multi_push = true; + buf_reset_len (&buf); + buf_printf (&buf, cmd); + } + } + if (BLEN (&buf) + l >= safe_cap) + { + msg (M_WARN, "--push option is too long"); + goto fail; + } + buf_printf (&buf, ",%s", e->option); + } + e = e->next; + } if (c->c2.push_ifconfig_defined && c->c2.push_ifconfig_local && c->c2.push_ifconfig_remote_netmask) buf_printf (&buf, ",ifconfig %s %s", print_in_addr_t (c->c2.push_ifconfig_local, 0, &gc), print_in_addr_t (c->c2.push_ifconfig_remote_netmask, 0, &gc)); + if (multi_push) + buf_printf (&buf, ",push-continuation 1"); - if (strlen (BSTR (&buf)) < MAX_PUSH_LIST_LEN) - ret = send_control_channel_string (c, BSTR (&buf), D_PUSH); - else - msg (M_WARN, "Maximum length of --push buffer (%d) has been exceeded", MAX_PUSH_LIST_LEN); + if (BLEN (&buf) > sizeof(cmd)-1) + { + const bool status = send_control_channel_string (c, BSTR (&buf), D_PUSH); + if (!status) + goto fail; + } gc_free (&gc); - return ret; + return true; + + fail: + gc_free (&gc); + return false; } -void -push_option (struct options *o, const char *opt, int msglevel) +static void +push_option_ex (struct options *o, const char *opt, bool enable, int msglevel) { - int len; - bool first = false; - if (!string_class (opt, CC_ANY, CC_COMMA)) { msg (msglevel, "PUSH OPTION FAILED (illegal comma (',') in string): '%s'", opt); } else { - if (!o->push_list) + struct push_entry *e; + ALLOC_OBJ_CLEAR_GC (e, struct push_entry, &o->gc); + e->enable = true; + e->option = opt; + if (o->push_list.head) { - ALLOC_OBJ_CLEAR_GC (o->push_list, struct push_list, &o->gc); - first = true; + ASSERT(o->push_list.tail); + o->push_list.tail->next = e; + o->push_list.tail = e; } - - len = strlen (o->push_list->options); - if (len + strlen (opt) + 2 >= MAX_PUSH_LIST_LEN) + else { - msg (msglevel, "Maximum length of --push buffer (%d) has been exceeded", MAX_PUSH_LIST_LEN); + ASSERT(!o->push_list.tail); + o->push_list.head = e; + o->push_list.tail = e; } - else + } +} + +void +push_option (struct options *o, const char *opt, int msglevel) +{ + push_option_ex (o, opt, true, msglevel); +} + +void +clone_push_list (struct options *o) +{ + if (o->push_list.head) + { + const struct push_entry *e = o->push_list.head; + push_reset (o); + while (e) { - if (!first) - strcat (o->push_list->options, ","); - strcat (o->push_list->options, opt); + push_option_ex (o, string_alloc (e->option, &o->gc), true, M_FATAL); + e = e->next; } } } @@ -184,7 +288,7 @@ push_options (struct options *o, char **p, int msglevel, struct gc_arena *gc) void push_reset (struct options *o) { - o->push_list = NULL; + CLEAR (o->push_list); } #endif @@ -203,7 +307,8 @@ process_incoming_push_msg (struct context *c, { if (tls_authentication_status (c->c2.tls_multi, 0) == TLS_AUTHENTICATION_FAILED || c->c2.context_auth == CAS_FAILED) { - send_auth_failed (c); + const char *client_reason = tls_client_reason (c->c2.tls_multi); + send_auth_failed (c, client_reason); ret = PUSH_MSG_AUTH_FAILURE; } else if (!c->c2.push_reply_deferred && c->c2.context_auth == CAS_SUCCEEDED) @@ -224,14 +329,31 @@ process_incoming_push_msg (struct context *c, const uint8_t ch = buf_read_u8 (&buf); if (ch == ',') { - pre_pull_restore (&c->options); - c->c2.pulled_options_string = string_alloc (BSTR (&buf), &c->c2.gc); + struct buffer buf_orig = buf; + if (!c->c2.did_pre_pull_restore) + { + pre_pull_restore (&c->options); + md5_state_init (&c->c2.pulled_options_state); + c->c2.did_pre_pull_restore = true; + } if (apply_push_options (&c->options, &buf, permission_mask, option_types_found, c->c2.es)) - ret = PUSH_MSG_REPLY; + switch (c->options.push_continuation) + { + case 0: + case 1: + md5_state_update (&c->c2.pulled_options_state, BPTR(&buf_orig), BLEN(&buf_orig)); + md5_state_final (&c->c2.pulled_options_state, &c->c2.pulled_options_digest); + ret = PUSH_MSG_REPLY; + break; + case 2: + md5_state_update (&c->c2.pulled_options_state, BPTR(&buf_orig), BLEN(&buf_orig)); + ret = PUSH_MSG_CONTINUATION; + break; + } } else if (ch == '\0') { @@ -243,36 +365,27 @@ process_incoming_push_msg (struct context *c, } #if P2MP_SERVER + /* * Remove iroutes from the push_list. */ void remove_iroutes_from_push_route_list (struct options *o) { - if (o && o->push_list && o->iroutes) + if (o && o->push_list.head && o->iroutes) { struct gc_arena gc = gc_new (); - struct push_list *pl; - struct buffer in, out; - char *line; - bool first = true; - - /* prepare input and output buffers */ - ALLOC_OBJ_CLEAR_GC (pl, struct push_list, &gc); - ALLOC_ARRAY_CLEAR_GC (line, char, MAX_PUSH_LIST_LEN, &gc); - - buf_set_read (&in, (const uint8_t*) o->push_list->options, strlen (o->push_list->options)); - buf_set_write (&out, (uint8_t*) pl->options, sizeof (pl->options)); + struct push_entry *e = o->push_list.head; /* cycle through the push list */ - while (buf_parse (&in, ',', line, MAX_PUSH_LIST_LEN)) + while (e) { char *p[MAX_PARMS]; - bool copy = true; + bool enable = true; /* parse the push item */ CLEAR (p); - if (parse_line (line, p, SIZE (p), "[PUSH_ROUTE_REMOVE]", 1, D_ROUTE_DEBUG, &gc)) + if (parse_line (e->option, p, SIZE (p), "[PUSH_ROUTE_REMOVE]", 1, D_ROUTE_DEBUG, &gc)) { /* is the push item a route directive? */ if (p[0] && !strcmp (p[0], "route") && !p[3]) @@ -292,7 +405,7 @@ remove_iroutes_from_push_route_list (struct options *o) { if (network == ir->network && netmask == netbits_to_netmask (ir->netbits >= 0 ? ir->netbits : 32)) { - copy = false; + enable = false; break; } } @@ -301,28 +414,17 @@ remove_iroutes_from_push_route_list (struct options *o) } /* should we copy the push item? */ - if (copy) - { - if (!first) - buf_printf (&out, ","); - buf_printf (&out, "%s", line); - first = false; - } - else - msg (D_PUSH, "REMOVE PUSH ROUTE: '%s'", line); - } + e->enable = enable; + if (!enable) + msg (D_PUSH, "REMOVE PUSH ROUTE: '%s'", e->option); -#if 0 - msg (M_INFO, "BEFORE: '%s'", o->push_list->options); - msg (M_INFO, "AFTER: '%s'", pl->options); -#endif - - /* copy new push list back to options */ - *o->push_list = *pl; + e = e->next; + } gc_free (&gc); } } + #endif #endif diff --git a/release/src/router/openvpn/push.h b/release/src/router/openvpn/push.h index 30ecb6a3f7..914b119421 100644 --- a/release/src/router/openvpn/push.h +++ b/release/src/router/openvpn/push.h @@ -34,6 +34,7 @@ #define PUSH_MSG_REPLY 2 #define PUSH_MSG_REQUEST_DEFERRED 3 #define PUSH_MSG_AUTH_FAILURE 4 +#define PUSH_MSG_CONTINUATION 5 void incoming_push_message (struct context *c, const struct buffer *buffer); @@ -48,8 +49,12 @@ bool send_push_request (struct context *c); void receive_auth_failed (struct context *c, const struct buffer *buffer); +void server_pushed_restart (struct context *c, const struct buffer *buffer); + #if P2MP_SERVER +void clone_push_list (struct options *o); + void push_option (struct options *o, const char *opt, int msglevel); void push_options (struct options *o, char **p, int msglevel, struct gc_arena *gc); @@ -59,7 +64,9 @@ bool send_push_reply (struct context *c); void remove_iroutes_from_push_route_list (struct options *o); -void send_auth_failed (struct context *c); +void send_auth_failed (struct context *c, const char *client_reason); + +void send_restart (struct context *c); #endif #endif diff --git a/release/src/router/openvpn/push.h b/release/src/router/openvpn/pushlist.h similarity index 51% copy from release/src/router/openvpn/push.h copy to release/src/router/openvpn/pushlist.h index 30ecb6a3f7..1c2f4e0f36 100644 --- a/release/src/router/openvpn/push.h +++ b/release/src/router/openvpn/pushlist.h @@ -22,45 +22,21 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef PUSH_H -#define PUSH_H +#if !defined(PUSHLIST_H) && P2MP && P2MP_SERVER +#define PUSHLIST_H -#if P2MP +/* parameters to be pushed to peer */ -#include "forward.h" +struct push_entry { + struct push_entry *next; + bool enable; + const char *option; +}; -#define PUSH_MSG_ERROR 0 -#define PUSH_MSG_REQUEST 1 -#define PUSH_MSG_REPLY 2 -#define PUSH_MSG_REQUEST_DEFERRED 3 -#define PUSH_MSG_AUTH_FAILURE 4 +struct push_list { + struct push_entry *head; + struct push_entry *tail; +}; -void incoming_push_message (struct context *c, - const struct buffer *buffer); -int process_incoming_push_msg (struct context *c, - const struct buffer *buffer, - bool honor_received_options, - unsigned int permission_mask, - unsigned int *option_types_found); - -bool send_push_request (struct context *c); - -void receive_auth_failed (struct context *c, const struct buffer *buffer); - -#if P2MP_SERVER - -void push_option (struct options *o, const char *opt, int msglevel); -void push_options (struct options *o, char **p, int msglevel, struct gc_arena *gc); - -void push_reset (struct options *o); - -bool send_push_reply (struct context *c); - -void remove_iroutes_from_push_route_list (struct options *o); - -void send_auth_failed (struct context *c); - -#endif -#endif #endif diff --git a/release/src/router/openvpn/route.c b/release/src/router/openvpn/route.c index f7ec601add..24d4bd8f7a 100644 --- a/release/src/router/openvpn/route.c +++ b/release/src/router/openvpn/route.c @@ -80,18 +80,38 @@ add_bypass_address (struct route_bypass *rb, const in_addr_t a) } struct route_option_list * -new_route_option_list (struct gc_arena *a) +new_route_option_list (const int max_routes, struct gc_arena *a) { struct route_option_list *ret; - ALLOC_OBJ_CLEAR_GC (ret, struct route_option_list, a); + ALLOC_VAR_ARRAY_CLEAR_GC (ret, struct route_option_list, struct route_option, max_routes, a); + ret->capacity = max_routes; return ret; } +struct route_option_list * +clone_route_option_list (const struct route_option_list *src, struct gc_arena *a) +{ + const size_t rl_size = array_mult_safe (sizeof(struct route_option), src->capacity, sizeof(struct route_option_list)); + struct route_option_list *ret = gc_malloc (rl_size, false, a); + memcpy (ret, src, rl_size); + return ret; +} + +void +copy_route_option_list (struct route_option_list *dest, const struct route_option_list *src) +{ + const size_t src_size = array_mult_safe (sizeof(struct route_option), src->capacity, sizeof(struct route_option_list)); + if (src->n > dest->capacity) + msg (M_FATAL, PACKAGE_NAME " ROUTE: (copy) number of route options in src (%d) is greater than route list capacity in dest (%d)", src->n, dest->capacity); + memcpy (dest, src, src_size); +} + struct route_list * -new_route_list (struct gc_arena *a) +new_route_list (const int max_routes, struct gc_arena *a) { struct route_list *ret; - ALLOC_OBJ_CLEAR_GC (ret, struct route_list, a); + ALLOC_VAR_ARRAY_CLEAR_GC (ret, struct route_list, struct route, max_routes, a); + ret->capacity = max_routes; return ret; } @@ -317,9 +337,9 @@ add_route_to_option_list (struct route_option_list *l, const char *metric) { struct route_option *ro; - if (l->n >= MAX_ROUTES) - msg (M_FATAL, PACKAGE_NAME " ROUTE: cannot add more than %d routes", - MAX_ROUTES); + if (l->n >= l->capacity) + msg (M_FATAL, PACKAGE_NAME " ROUTE: cannot add more than %d routes -- please increase the max-routes option in the client configuration file", + l->capacity); ro = &l->routes[l->n]; ro->network = network; ro->netmask = netmask; @@ -331,7 +351,10 @@ add_route_to_option_list (struct route_option_list *l, void clear_route_list (struct route_list *rl) { - CLEAR (*rl); + const int capacity = rl->capacity; + const size_t rl_size = array_mult_safe (sizeof(struct route), capacity, sizeof(struct route_list)); + memset(rl, 0, rl_size); + rl->capacity = capacity; } void @@ -415,7 +438,8 @@ init_route_list (struct route_list *rl, else rl->spec.remote_endpoint_defined = false; - ASSERT (opt->n >= 0 && opt->n < MAX_ROUTES); + if (!(opt->n >= 0 && opt->n <= rl->capacity)) + msg (M_FATAL, PACKAGE_NAME " ROUTE: (init) number of route options (%d) is greater than route list capacity (%d)", opt->n, rl->capacity); /* parse the routes from opt to rl */ { @@ -716,7 +740,7 @@ delete_routes (struct route_list *rl, const struct tuntap *tt, unsigned int flag } undo_redirect_default_route_to_vpn (rl, tt, flags, es); - CLEAR (*rl); + clear_route_list (rl); } #ifdef ENABLE_DEBUG @@ -2060,7 +2084,7 @@ get_default_gateway (in_addr_t *ret, in_addr_t *netmask) #else bool -get_default_gateway (in_addr_t *ret, in_addr_t *netmask) +get_default_gateway (in_addr_t *ret, in_addr_t *netmask) /* PLATFORM-SPECIFIC */ { return false; } @@ -2156,7 +2180,7 @@ get_bypass_addresses (struct route_bypass *rb, const unsigned int flags) #else static void -get_bypass_addresses (struct route_bypass *rb, const unsigned int flags) +get_bypass_addresses (struct route_bypass *rb, const unsigned int flags) /* PLATFORM-SPECIFIC */ { } @@ -2303,7 +2327,7 @@ get_default_gateway_mac_addr (unsigned char *macaddr) #else bool -get_default_gateway_mac_addr (unsigned char *macaddr) +get_default_gateway_mac_addr (unsigned char *macaddr) /* PLATFORM-SPECIFIC */ { return false; } @@ -2355,7 +2379,7 @@ test_local_addr (const in_addr_t addr) int -test_local_addr (const in_addr_t addr) +test_local_addr (const in_addr_t addr) /* PLATFORM-SPECIFIC */ { return TLA_NOT_IMPLEMENTED; } diff --git a/release/src/router/openvpn/route.h b/release/src/router/openvpn/route.h index d8278012b0..6f713ca8f2 100644 --- a/release/src/router/openvpn/route.h +++ b/release/src/router/openvpn/route.h @@ -32,7 +32,7 @@ #include "tun.h" #include "misc.h" -#define MAX_ROUTES 100 +#define MAX_ROUTES_DEFAULT 100 #ifdef WIN32 /* @@ -86,9 +86,10 @@ struct route_option { #define RG_AUTO_LOCAL (1<<6) struct route_option_list { - int n; unsigned int flags; - struct route_option routes[MAX_ROUTES]; + int capacity; + int n; + struct route_option routes[EMPTY_ARRAY_SIZE]; }; struct route { @@ -107,8 +108,9 @@ struct route_list { unsigned int flags; bool did_redirect_default_gateway; bool did_local; + int capacity; int n; - struct route routes[MAX_ROUTES]; + struct route routes[EMPTY_ARRAY_SIZE]; }; #if P2MP @@ -120,9 +122,11 @@ struct iroute { }; #endif -struct route_option_list *new_route_option_list (struct gc_arena *a); +struct route_option_list *new_route_option_list (const int max_routes, struct gc_arena *a); +struct route_option_list *clone_route_option_list (const struct route_option_list *src, struct gc_arena *a); +void copy_route_option_list (struct route_option_list *dest, const struct route_option_list *src); -struct route_list *new_route_list (struct gc_arena *a); +struct route_list *new_route_list (const int max_routes, struct gc_arena *a); void add_route (struct route *r, const struct tuntap *tt, unsigned int flags, const struct env_set *es); @@ -132,8 +136,6 @@ void add_route_to_option_list (struct route_option_list *l, const char *gateway, const char *metric); -void clear_route_list (struct route_list *rl); - bool init_route_list (struct route_list *rl, const struct route_option_list *opt, const char *remote_endpoint, diff --git a/release/src/router/openvpn/service-win32/Makefile b/release/src/router/openvpn/service-win32/Makefile index 2c49931ed7..3f6b0a1f73 100644 --- a/release/src/router/openvpn/service-win32/Makefile +++ b/release/src/router/openvpn/service-win32/Makefile @@ -130,9 +130,9 @@ OBJEXT = o PACKAGE = openvpn PACKAGE_BUGREPORT = openvpn-users@lists.sourceforge.net PACKAGE_NAME = OpenVPN -PACKAGE_STRING = OpenVPN 2.1_rc19 +PACKAGE_STRING = OpenVPN 2.1_rc20 PACKAGE_TARNAME = openvpn -PACKAGE_VERSION = 2.1_rc19 +PACKAGE_VERSION = 2.1_rc20 PATH_SEPARATOR = : PTHREAD_CC = PTHREAD_CFLAGS = @@ -144,7 +144,7 @@ STRIP = mipsel-uclibc-strip TAP_ID = tap0901 TAP_WIN32_MIN_MAJOR = 9 TAP_WIN32_MIN_MINOR = 1 -VERSION = 2.1_rc19 +VERSION = 2.1_rc20 abs_builddir = /home/keith/firmware/release/src/router/openvpn/service-win32 abs_srcdir = /home/keith/firmware/release/src/router/openvpn/service-win32 abs_top_builddir = /home/keith/firmware/release/src/router/openvpn diff --git a/release/src/router/openvpn/socket.c b/release/src/router/openvpn/socket.c index f3407bb647..fecc39837b 100644 --- a/release/src/router/openvpn/socket.c +++ b/release/src/router/openvpn/socket.c @@ -32,6 +32,7 @@ #include "plugin.h" #include "ps.h" #include "manage.h" +#include "misc.h" #include "memdbg.h" @@ -43,6 +44,19 @@ const int proto_overhead[] = { /* indexed by PROTO_x */ }; /* + * Convert sockflags/getaddr_flags into getaddr_flags + */ +static unsigned int +sf2gaf(const unsigned int getaddr_flags, + const unsigned int sockflags) +{ + if (sockflags & SF_HOST_RANDOMIZE) + return getaddr_flags | GETADDR_RANDOMIZE; + else + return getaddr_flags; +} + +/* * Functions related to the translation of DNS names to IP addresses. */ @@ -79,6 +93,10 @@ getaddr (unsigned int flags, int status; int sigrec = 0; int msglevel = (flags & GETADDR_FATAL) ? M_FATAL : D_RESOLVE_ERRORS; + struct gc_arena gc = gc_new (); + + if (flags & GETADDR_RANDOMIZE) + hostname = hostname_randomize(hostname, &gc); if (flags & GETADDR_MSG_VIRT_OUT) msglevel |= M_MSG_VIRT_OUT; @@ -225,6 +243,7 @@ getaddr (unsigned int flags, msg (level, "RESOLVE: signal received during DNS resolution attempt"); } + gc_free (&gc); return (flags & GETADDR_HOST_ORDER) ? ntohl (ia.s_addr) : ia.s_addr; } @@ -359,12 +378,13 @@ mac_addr_safe (const char *mac_addr) static void update_remote (const char* host, struct openvpn_sockaddr *addr, - bool *changed) + bool *changed, + const unsigned int sockflags) { if (host && addr) { const in_addr_t new_addr = getaddr ( - GETADDR_RESOLVE|GETADDR_UPDATE_MANAGEMENT_STATE, + sf2gaf(GETADDR_RESOLVE|GETADDR_UPDATE_MANAGEMENT_STATE, sockflags), host, 1, NULL, @@ -728,7 +748,7 @@ socket_listen_accept (socket_descriptor_t sd, if (socket_defined (new_sd)) { - update_remote (remote_dynamic, &remote_verify, remote_changed); + update_remote (remote_dynamic, &remote_verify, remote_changed, 0); if (addr_defined (&remote_verify) && !addr_match (&remote_verify, &act->dest)) { @@ -858,6 +878,7 @@ socket_connect (socket_descriptor_t *sd, const int connect_retry_seconds, const int connect_timeout, const int connect_retry_max, + const unsigned int sockflags, volatile int *signal_received) { struct gc_arena gc = gc_new (); @@ -919,7 +940,7 @@ socket_connect (socket_descriptor_t *sd, *sd = create_socket_tcp (); if (bind_local) socket_bind (*sd, local, "TCP Client"); - update_remote (remote_dynamic, remote, remote_changed); + update_remote (remote_dynamic, remote, remote_changed, sockflags); } msg (M_INFO, "TCP connection established with %s", @@ -1023,7 +1044,7 @@ resolve_remote (struct link_socket *sock, if (sock->remote_host) { - unsigned int flags = GETADDR_RESOLVE|GETADDR_UPDATE_MANAGEMENT_STATE; + unsigned int flags = sf2gaf(GETADDR_RESOLVE|GETADDR_UPDATE_MANAGEMENT_STATE, sock->sockflags); int retry = 0; bool status = false; @@ -1384,6 +1405,7 @@ link_socket_init_phase2 (struct link_socket *sock, sock->connect_retry_seconds, sock->connect_timeout, sock->connect_retry_max, + sock->sockflags, signal_received); if (*signal_received) @@ -1432,6 +1454,7 @@ link_socket_init_phase2 (struct link_socket *sock, sock->connect_retry_seconds, sock->connect_timeout, sock->connect_retry_max, + sock->sockflags, signal_received); if (*signal_received) diff --git a/release/src/router/openvpn/socket.h b/release/src/router/openvpn/socket.h index e412f032b3..6877e665a7 100644 --- a/release/src/router/openvpn/socket.h +++ b/release/src/router/openvpn/socket.h @@ -198,6 +198,7 @@ struct link_socket # define SF_USE_IP_PKTINFO (1<<0) # define SF_TCP_NODELAY (1<<1) # define SF_PORT_SHARE (1<<2) +# define SF_HOST_RANDOMIZE (1<<3) unsigned int sockflags; /* for stream sockets */ @@ -447,6 +448,7 @@ bool unix_socket_get_peer_uid_gid (const socket_descriptor_t sd, int *uid, int * #define GETADDR_MSG_VIRT_OUT (1<<6) #define GETADDR_TRY_ONCE (1<<7) #define GETADDR_UPDATE_MANAGEMENT_STATE (1<<8) +#define GETADDR_RANDOMIZE (1<<9) in_addr_t getaddr (unsigned int flags, const char *hostname, diff --git a/release/src/router/openvpn/ssl.c b/release/src/router/openvpn/ssl.c index 687c3f3dd2..bc8b2daf1f 100644 --- a/release/src/router/openvpn/ssl.c +++ b/release/src/router/openvpn/ssl.c @@ -908,6 +908,18 @@ tls_lock_common_name (struct tls_multi *multi) #endif #ifdef MANAGEMENT_DEF_AUTH +static void +man_def_auth_set_client_reason (struct tls_multi *multi, const char *client_reason) +{ + if (multi->client_reason) + { + free (multi->client_reason); + multi->client_reason = NULL; + } + if (client_reason && strlen (client_reason)) + multi->client_reason = string_alloc (client_reason, NULL); +} + static inline unsigned int man_def_auth_test (const struct key_state *ks) { @@ -1077,12 +1089,13 @@ tls_authentication_status (struct tls_multi *multi, const int latency) #ifdef MANAGEMENT_DEF_AUTH bool -tls_authenticate_key (struct tls_multi *multi, const unsigned int mda_key_id, const bool auth) +tls_authenticate_key (struct tls_multi *multi, const unsigned int mda_key_id, const bool auth, const char *client_reason) { bool ret = false; if (multi) { int i; + man_def_auth_set_client_reason (multi, client_reason); for (i = 0; i < KEY_SCAN_SIZE; ++i) { struct key_state *ks = multi->key_scan[i]; @@ -2069,8 +2082,8 @@ key_state_init (struct tls_session *session, struct key_state *ks) ALLOC_OBJ_CLEAR (ks->rec_ack, struct reliable_ack); /* allocate buffers */ - ks->plaintext_read_buf = alloc_buf (PLAINTEXT_BUFFER_SIZE); - ks->plaintext_write_buf = alloc_buf (PLAINTEXT_BUFFER_SIZE); + ks->plaintext_read_buf = alloc_buf (TLS_CHANNEL_BUF_SIZE); + ks->plaintext_write_buf = alloc_buf (TLS_CHANNEL_BUF_SIZE); ks->ack_write_buf = alloc_buf (BUF_SIZE (&session->opt->frame)); reliable_init (ks->send_reliable, BUF_SIZE (&session->opt->frame), FRAME_HEADROOM (&session->opt->frame), TLS_RELIABLE_N_SEND_BUFFERS, @@ -2397,6 +2410,10 @@ tls_multi_free (struct tls_multi *multi, bool clear) ASSERT (multi); +#ifdef MANAGEMENT_DEF_AUTH + man_def_auth_set_client_reason(multi, NULL); +#endif + if (multi->locked_cn) free (multi->locked_cn); @@ -3750,7 +3767,7 @@ tls_process (struct tls_multi *multi, int status; ASSERT (buf_init (buf, 0)); - status = key_state_read_plaintext (multi, ks, buf, PLAINTEXT_BUFFER_SIZE); + status = key_state_read_plaintext (multi, ks, buf, TLS_CHANNEL_BUF_SIZE); update_time (); if (status == -1) { diff --git a/release/src/router/openvpn/ssl.h b/release/src/router/openvpn/ssl.h index 7d4404baf2..06cd246f3b 100644 --- a/release/src/router/openvpn/ssl.h +++ b/release/src/router/openvpn/ssl.h @@ -278,8 +278,6 @@ * Buffer sizes (also see mtu.h). */ -#define PLAINTEXT_BUFFER_SIZE TLS_CHANNEL_BUF_SIZE - /* Maximum length of common name */ #define TLS_CN_LEN 64 @@ -596,6 +594,11 @@ struct tls_multi char *locked_cn; #ifdef ENABLE_DEF_AUTH + /* + * An error message to send to client on AUTH_FAILED + */ + char *client_reason; + /* Time of last call to tls_authentication_status */ time_t tas_last; #endif @@ -697,7 +700,7 @@ int tls_authentication_status (struct tls_multi *multi, const int latency); void tls_deauthenticate (struct tls_multi *multi); #ifdef MANAGEMENT_DEF_AUTH -bool tls_authenticate_key (struct tls_multi *multi, const unsigned int mda_key_id, const bool auth); +bool tls_authenticate_key (struct tls_multi *multi, const unsigned int mda_key_id, const bool auth, const char *client_reason); #endif /* @@ -705,6 +708,12 @@ bool tls_authenticate_key (struct tls_multi *multi, const unsigned int mda_key_i */ static inline bool +tls_initial_packet_received (const struct tls_multi *multi) +{ + return multi->n_sessions > 0; +} + +static inline bool tls_test_auth_deferred_interval (const struct tls_multi *multi) { if (multi) @@ -734,6 +743,16 @@ tls_set_single_session (struct tls_multi *multi) multi->opt.single_session = true; } +static inline const char * +tls_client_reason (struct tls_multi *multi) +{ +#ifdef ENABLE_DEF_AUTH + return multi->client_reason; +#else + return NULL; +#endif +} + #ifdef ENABLE_PF static inline bool diff --git a/release/src/router/openvpn/syshead.h b/release/src/router/openvpn/syshead.h index 6d9d5f8cb2..6e81103b29 100644 --- a/release/src/router/openvpn/syshead.h +++ b/release/src/router/openvpn/syshead.h @@ -180,6 +180,10 @@ #include #endif +#ifdef HAVE_SETCON +#include +#endif + #ifdef TARGET_SOLARIS #ifdef HAVE_STRINGS_H #include @@ -494,7 +498,6 @@ socket_defined (const socket_descriptor_t sd) /* * Enable deferred authentication? */ -#define CONFIGURE_DEF_AUTH /* this should be set by autoconf and config.h */ #if defined(CONFIGURE_DEF_AUTH) && P2MP_SERVER && defined(ENABLE_PLUGIN) #define PLUGIN_DEF_AUTH #endif @@ -508,7 +511,6 @@ socket_defined (const socket_descriptor_t sd) /* * Enable packet filter? */ -#define CONFIGURE_PF /* this should be set by autoconf and config.h */ #if defined(CONFIGURE_PF) && P2MP_SERVER && defined(ENABLE_PLUGIN) && defined(HAVE_STAT) #define PLUGIN_PF #endif diff --git a/release/src/router/openvpn/tun.c b/release/src/router/openvpn/tun.c index 6ad1cb00ea..29278b84f5 100644 --- a/release/src/router/openvpn/tun.c +++ b/release/src/router/openvpn/tun.c @@ -863,11 +863,10 @@ do_ifconfig (struct tuntap *tt, else { if (tt->topology == TOP_SUBNET) argv_printf (&argv, - "%s %s %s %s netmask %s mtu %d up", + "%s %s %s netmask %s mtu %d up", IFCONFIG_PATH, actual, ifconfig_local, - ifconfig_local, ifconfig_remote_netmask, tun_mtu ); @@ -1745,14 +1744,19 @@ open_tun (const char *dev, const char *dev_type, const char *dev_node, bool ipv6 { open_tun_generic (dev, dev_type, dev_node, ipv6, true, true, tt); - if (tt->fd >= 0) + if (tt->fd >= 0 && tt->type == DEV_TYPE_TUN) { int i = 0; - /* Disable extended modes */ - ioctl (tt->fd, TUNSLMODE, &i); + i = tt->topology == TOP_SUBNET ? IFF_BROADCAST : IFF_POINTOPOINT; + i |= IFF_MULTICAST; + if (ioctl (tt->fd, TUNSIFMODE, &i) < 0) { + msg (M_WARN | M_ERRNO, "ioctl(TUNSIFMODE): %s", strerror(errno)); + } i = 1; - ioctl (tt->fd, TUNSIFHEAD, &i); + if (ioctl (tt->fd, TUNSIFHEAD, &i) < 0) { + msg (M_WARN | M_ERRNO, "ioctl(TUNSIFHEAD): %s", strerror(errno)); + } } } diff --git a/release/src/router/openvpn/version.m4 b/release/src/router/openvpn/version.m4 index 5c84929e36..84f7da9841 100644 --- a/release/src/router/openvpn/version.m4 +++ b/release/src/router/openvpn/version.m4 @@ -1,5 +1,5 @@ dnl define the OpenVPN version -define(PRODUCT_VERSION,[2.1_rc19]) +define(PRODUCT_VERSION,[2.1_rc20]) dnl define the TAP version define(PRODUCT_TAP_ID,[tap0901]) define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9]) -- 2.11.4.GIT