[-]
[+]
|
Changed |
openvpn.spec
|
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/COPYING
^
|
@@ -1,6 +1,6 @@
OpenVPN (TM) -- An Open Source VPN daemon
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
This distribution contains multiple components, some
of which fall under different licenses. By using OpenVPN
@@ -52,7 +52,7 @@
Damion K. Wilson.
The source and object code of the TAP-Win32/TAP-Win64 driver
- is Copyright (C) 2002-2008 OpenVPN Technologies, Inc., and is released under
+ is Copyright (C) 2002-2009 OpenVPN Technologies, Inc., and is released under
the GPL version 2 (see below), however due to the extra costs of
supporting Windows Vista, OpenVPN Technologies, Inc. reserves the right to
change the terms of the TAP-Win32/TAP-Win64 license for versions 9.1
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ChangeLog
^
|
@@ -1,7 +1,122 @@
-OpenVPN
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+OpenVPN Change Log
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
-$Id: ChangeLog 3525 2008-11-19 18:17:39Z james $
+2009.07.16 -- Version 2.1_rc19
+
+* In Windows TAP driver, refactor DHCP/ARP packet injection code to
+ use a DPC (deferred procedure call) to defer packet injection until
+ IRQL < DISPATCH_LEVEL, rather than calling NdisMEthIndicateReceive
+ in the context of AdapterTransmit. This is an attempt to reduce kernel
+ stack usage, and prevent EXCEPTION_DOUBLE_FAULT BSODs that have been
+ observed on Vista. Updated TAP driver version number to 9.6.
+
+* In configure.ac, use datadir instead of datarootdir for compatibility
+ with <autoconf-2.60.
+
+2009.06.07 -- Version 2.1_rc18
+
+* Fixed compile error on ./configure --enable-small
+
+* Fixed issue introduced in r4475 (2.1-rc17) where cryptoapi.c change
+ does not build on Windows on non-MINGW32.
+
+2009.05.30 -- Version 2.1_rc17
+
+* Reduce the debug level (--verb) at which received management interface
+ commands are echoed from 7 to 3. Passwords will be filtered.
+
+* Fixed race condition in management interface recv code on
+ Windows, where sending a set of several commands to the
+ management interface in quick succession might cause the
+ latter commands in the set to be ignored.
+
+* Increased management interface input command buffer size
+ from 256 to 1024 bytes.
+
+* Minor tweaks to Windows build system.
+
+* Added "redirect-private" option which allows private subnets
+ to be pushed to the client in such a way that they don't accidently
+ obscure critical local addresses such as the DHCP server address and
+ DNS server addresses.
+
+* Added new 'autolocal' redirect-gateway flag. When enabled, the OpenVPN
+ client will examine the routing table and determine whether (a) the
+ OpenVPN server is reachable via a locally connected interface, or (b)
+ traffic to the server must be forwarded through the default router.
+ Only add a special bypass route for the OpenVPN server if (b) is true.
+ If (a) is true, behave as if the 'local' flag is specified, and do not
+ add a bypass route.
+
+ The new 'autolocal' flag depends on the non-portable test_local_addr()
+ function in route.c, which is currently only implemented for Windows.
+ The 'autolocal' flag will act as a no-op on platforms that have not
+ yet defined a test_local_addr() function.
+
+* Increased TLS_CHANNEL_BUF_SIZE to 2048 from 1024 (this will allow for
+ more option content to be pushed from server to client).
+
+* Raised D_MULTI_DROPPED debug level to 4 from 3 to filter out (at debug
+ levels <=3) a common and usually innocuous warning.
+
+* Fixed issue of symbol conflicts interfering with Windows CryptoAPI
+ functionality (Alon Bar-Lev).
+
+* Fixed bug where the remote_X environmental variables were not being
+ set correctly when the 'local' option is specifed.
+
+2009.05.17 -- Version 2.1_rc16
+
+* Windows installer changes:
+
+ 1. ifdefed out the check Windows version code which is causing
+ problems on Windows 7
+
+ 2. don't define SF_SELECTED if it is already defined
+
+ 3. Use LZMA instead of BZIP2 compression for better compression
+
+ 4. Upgraded OpenSSL to 0.9.8k
+
+* Added the ability to read the configuration file
+ from stdin, when "stdin" is given as the config
+ file name.
+
+* Allow "management-client" directive to be used
+ with unix domain sockets.
+
+* Added errors-to-stderr option. When enabled, fatal errors
+ that result in the termination of the daemon will be written
+ to stderr.
+
+* Added optional "nogw" (no gateway) flag to --server-bridge
+ to inhibit the pushing of the route-gateway parameter to
+ clients.
+
+* Added new management interface command "pid" to show the
+ process ID of the current OpenVPN process (Angelo Laub).
+
+* Fixed issue where SIGUSR1 restarts would fail if private
+ key was specified as an inline file.
+
+* Added daemon_start_time and daemon_pid environmental variables.
+
+* In management interface, added new ">CLIENT:ESTABLISHED" notification.
+
+* Build fixes:
+
+ 1. Fixed some issues with C++ style comments that leaked into the code.
+
+ 2. Updated configure.ac to work on MinGW64.
+
+ 3. Updated common.h types for _WIN64.
+
+ 4. Fixed issue involving an #ifdef in a macro reference that breaks early gcc
+ compilers.
+
+ 5. In cryptoapi.c, renamed CryptAcquireCertificatePrivateKey to
+ OpenVPNCryptAcquireCertificatePrivateKey to work around
+ a symbol conflict in MinGW-5.1.4.
2008.11.19 -- Version 2.1_rc15
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/INSTALL
^
|
@@ -1,6 +1,6 @@
Installation instructions for OpenVPN, a Secure Tunneling Daemon
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. This program is free software;
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. This program is free software;
you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/Makefile.am
^
|
@@ -5,7 +5,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/Makefile.in
^
|
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,7 +21,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
@@ -41,15 +41,11 @@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -66,6 +62,7 @@
target_triplet = @target@
sbin_PROGRAMS = openvpn$(EXEEXT)
@WIN32_TRUE@am__append_1 = openvpn.8
+subdir = .
DIST_COMMON = README $(am__configure_deps) \
$(am__dist_noinst_DATA_DIST) $(dist_man_MANS) \
$(dist_noinst_HEADERS) $(dist_noinst_SCRIPTS) \
@@ -74,14 +71,13 @@
$(srcdir)/openvpn.spec.in $(top_srcdir)/configure AUTHORS \
COPYING ChangeLog INSTALL NEWS config.guess config.sub depcomp \
install-sh memcmp.c missing
-subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/version.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
+ configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = openvpn.spec config-win32.h
@@ -111,7 +107,7 @@
openvpn_LDADD = $(LDADD)
openvpn_DEPENDENCIES = @LIBOBJS@
SCRIPTS = $(dist_noinst_SCRIPTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
+DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -122,10 +118,11 @@
DIST_SOURCES = $(openvpn_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(dist_man_MANS)
@@ -140,6 +137,8 @@
nodist_htmlDATA_INSTALL = $(INSTALL_DATA)
DATA = $(dist_noinst_DATA) $(nodist_html_DATA)
HEADERS = $(dist_noinst_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -155,8 +154,6 @@
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -177,6 +174,7 @@
EXEEXT = @EXEEXT@
GREP = @GREP@
IFCONFIG = @IFCONFIG@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -188,6 +186,7 @@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -207,11 +206,11 @@
TAP_WIN32_MIN_MAJOR = @TAP_WIN32_MIN_MAJOR@
TAP_WIN32_MIN_MINOR = @TAP_WIN32_MIN_MINOR@
VERSION = @VERSION@
-WIN32_FALSE = @WIN32_FALSE@
-WIN32_TRUE = @WIN32_TRUE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -223,6 +222,7 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -250,12 +250,15 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
win32datadir = @win32datadir@
LDADD = @LIBOBJS@
@@ -410,7 +413,7 @@
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@@ -429,7 +432,7 @@
cd $(top_builddir) && $(SHELL) ./config.status $@
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)"
+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
@@ -452,7 +455,7 @@
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
openvpn$(EXEEXT): $(openvpn_OBJECTS) $(openvpn_DEPENDENCIES)
@rm -f openvpn$(EXEEXT)
- $(LINK) $(openvpn_LDFLAGS) $(openvpn_OBJECTS) $(openvpn_LDADD) $(LIBS)
+ $(LINK) $(openvpn_OBJECTS) $(openvpn_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -519,22 +522,21 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-uninstall-info-am:
install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)"
+ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
@@ -579,7 +581,7 @@
done
install-nodist_htmlDATA: $(nodist_html_DATA)
@$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(mkdir_p) "$(DESTDIR)$(htmldir)"
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
@list='$(nodist_html_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -626,8 +628,7 @@
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
+$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -671,8 +672,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -697,8 +698,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -708,13 +709,12 @@
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -728,9 +728,9 @@
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
srcdir=$(srcdir); export srcdir; \
- list='$(TESTS)'; \
+ list=' $(TESTS) '; \
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
@@ -739,7 +739,7 @@
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
+ *$$ws$$tst$$ws*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
@@ -751,7 +751,7 @@
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *" $$tst "*) \
+ *$$ws$$tst$$ws*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
@@ -802,24 +802,22 @@
distdir: $(DISTFILES)
$(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/. $(distdir)/install-win32
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ test -d $(distdir) || mkdir $(distdir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -833,7 +831,7 @@
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -841,6 +839,8 @@
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -851,7 +851,7 @@
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
@@ -861,6 +861,10 @@
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -887,6 +891,8 @@
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
@@ -926,7 +932,7 @@
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@@ -953,7 +959,7 @@
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(htmldir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -1004,12 +1010,20 @@
install-data-am: install-man install-nodist_htmlDATA
+install-dvi: install-dvi-recursive
+
install-exec-am: install-sbinPROGRAMS
+install-html: install-html-recursive
+
install-info: install-info-recursive
install-man: install-man8
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -1031,29 +1045,30 @@
ps-am:
-uninstall-am: uninstall-info-am uninstall-man \
- uninstall-nodist_htmlDATA uninstall-sbinPROGRAMS
-
-uninstall-info: uninstall-info-recursive
+uninstall-am: uninstall-man uninstall-nodist_htmlDATA \
+ uninstall-sbinPROGRAMS
uninstall-man: uninstall-man8
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
- check-TESTS check-am clean clean-generic clean-recursive \
- clean-sbinPROGRAMS ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-compile distclean-generic \
- distclean-hdr distclean-recursive distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-man8 \
- install-nodist_htmlDATA install-sbinPROGRAMS install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am \
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-TESTS check-am clean \
+ clean-generic clean-sbinPROGRAMS ctags ctags-recursive dist \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \
+ dist-tarZ dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-data install-data-am \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-man8 install-nodist_htmlDATA install-pdf \
+ install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-man uninstall-man8 uninstall-nodist_htmlDATA \
uninstall-sbinPROGRAMS
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/PORTS
^
|
@@ -1,5 +1,5 @@
OpenVPN
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
OpenVPN has been written to try to avoid features
that are not standardized well across different
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/README
^
|
@@ -1,6 +1,6 @@
OpenVPN -- A Secure tunneling daemon
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. This program is free software;
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. This program is free software;
you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/aclocal.m4
^
|
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,7 +11,15 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(AC_AUTOCONF_VERSION, [2.61],,
+[m4_warning([this file was generated for autoconf 2.61.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -21,14 +29,31 @@
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -85,14 +110,14 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 7
+# serial 8
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -101,8 +126,10 @@
[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
@@ -116,15 +143,14 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
+# serial 9
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -152,6 +178,7 @@
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
@@ -217,6 +244,7 @@
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -269,7 +297,8 @@
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
@@ -294,8 +323,9 @@
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
@@ -354,14 +384,14 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
+# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -378,16 +408,20 @@
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
+[AC_PREREQ([2.60])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
fi
# test whether we have cygpath
@@ -407,6 +441,9 @@
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
@@ -442,6 +479,10 @@
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
])
@@ -455,16 +496,17 @@
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
+_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $1 | $1:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
@@ -477,7 +519,7 @@
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -555,14 +597,14 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# serial 5
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -578,6 +620,7 @@
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
@@ -588,7 +631,7 @@
fi
])
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -596,60 +639,23 @@
# AM_PROG_MKDIR_P
# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
+# Check for `mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
# Helper functions for option handling. -*- Autoconf -*-
@@ -761,9 +767,21 @@
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/basic.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/buffer.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/buffer.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/circ_list.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/common.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -53,14 +53,22 @@
/*
* Printf formats for special types
*/
+#ifdef _WIN64
+#define ptr_format "0x%I64x"
+#else
#define ptr_format "0x%08lx"
+#endif
#define time_format "%lu"
#define fragment_header_format "0x%08x"
/* these are used to cast the arguments
* and MUST match the formats above */
typedef unsigned long time_type;
+#ifdef _WIN64
+typedef unsigned long long ptr_type;
+#else
typedef unsigned long ptr_type;
+#endif
/* the --client-config-dir default file */
#define CCD_DEFAULT "DEFAULT"
@@ -71,7 +79,7 @@
* the full --push/--pull list. If you increase it, do so
* on both server and client.
*/
-#define TLS_CHANNEL_BUF_SIZE 1024
+#define TLS_CHANNEL_BUF_SIZE 2048
/*
* A sort of pseudo-filename for data provided inline within
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/config-win32.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -228,7 +228,7 @@
#define PACKAGE_TARNAME openvpn
/* Define to the version of this package. */
-#define PACKAGE_VERSION 2.1_rc15
+#define PACKAGE_VERSION 2.1_rc19
/* Define to the full name and version of this package. */
#ifdef DEBUG_LABEL
@@ -318,7 +318,6 @@
#define S_IRUSR 0
#define S_IWUSR 0
typedef int intptr_t;
-#undef S_NORMAL
/* Visual Studio 2005 supports vararg macros */
#if _MSC_VER >= 1400
#define HAVE_CPP_VARARG_MACRO_ISO 1
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/config-win32.h.in
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -318,7 +318,6 @@
#define S_IRUSR 0
#define S_IWUSR 0
typedef int intptr_t;
-#undef S_NORMAL
/* Visual Studio 2005 supports vararg macros */
#if _MSC_VER >= 1400
#define HAVE_CPP_VARARG_MACRO_ISO 1
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/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_rc15.
+# Generated by GNU Autoconf 2.61 for OpenVPN 2.1_rc19.
#
# Report bugs to <openvpn-users@lists.sourceforge.net>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='OpenVPN'
PACKAGE_TARNAME='openvpn'
-PACKAGE_VERSION='2.1_rc15'
-PACKAGE_STRING='OpenVPN 2.1_rc15'
+PACKAGE_VERSION='2.1_rc19'
+PACKAGE_STRING='OpenVPN 2.1_rc19'
PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net'
ac_unique_file="syshead.h"
@@ -667,6 +667,7 @@
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
+am__isrc
CYGPATH_W
PACKAGE
VERSION
@@ -1232,7 +1233,7 @@
# 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_rc15 to adapt to many kinds of systems.
+\`configure' configures OpenVPN 2.1_rc19 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1303,7 +1304,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenVPN 2.1_rc15:";;
+ short | recursive ) echo "Configuration of OpenVPN 2.1_rc19:";;
esac
cat <<\_ACEOF
@@ -1425,7 +1426,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenVPN configure 2.1_rc15
+OpenVPN configure 2.1_rc19
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1439,7 +1440,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 $as_me 2.1_rc15, which was
+It was created by OpenVPN $as_me 2.1_rc19, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -1953,7 +1954,8 @@
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-am__api_version="1.9"
+am__api_version='1.10'
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -2105,38 +2107,53 @@
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
else
- mkdir_p='$(install_sh) -d'
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
fi
fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
for ac_prog in gawk mawk nawk awk
do
@@ -2219,12 +2236,16 @@
fi
rmdir .tst 2>/dev/null
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
+ fi
fi
# test whether we have cygpath
@@ -2267,7 +2288,7 @@
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
@@ -2371,7 +2392,7 @@
fi
fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -2399,7 +2420,7 @@
WIN32="no"
CYGWIN="no"
case "${host}" in
- *-mingw32*)
+ *-mingw*)
WIN32="yes"
cross_compiling="yes"
;;
@@ -3913,9 +3934,7 @@
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
+ if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
@@ -3925,7 +3944,6 @@
-
depcc="$CC" am_compiler_list=
{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
@@ -3993,6 +4011,7 @@
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -4022,9 +4041,7 @@
echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-if
+ if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
@@ -11485,13 +11502,24 @@
fi
if test $ac_cv_header_openssl_evp_h = yes; then
- { echo "$as_me:$LINENO: checking for EVP_CIPHER_CTX_init in -lcrypto" >&5
-echo $ECHO_N "checking for EVP_CIPHER_CTX_init in -lcrypto... $ECHO_C" >&6; }
-if test "${ac_cv_lib_crypto_EVP_CIPHER_CTX_init+set}" = set; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: OpenSSL Crypto headers not found." >&5
+echo "$as_me: error: OpenSSL Crypto headers not found." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+ for lib in crypto eay32; do
+ as_ac_Lib=`echo "ac_cv_lib_$lib''_EVP_CIPHER_CTX_init" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for EVP_CIPHER_CTX_init in -l$lib" >&5
+echo $ECHO_N "checking for EVP_CIPHER_CTX_init in -l$lib... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcrypto $LIBS"
+LIBS="-l$lib $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -11532,54 +11560,62 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
- ac_cv_lib_crypto_EVP_CIPHER_CTX_init=yes
+ eval "$as_ac_Lib=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_lib_crypto_EVP_CIPHER_CTX_init=no
+ eval "$as_ac_Lib=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_crypto_EVP_CIPHER_CTX_init" >&5
-echo "${ECHO_T}$ac_cv_lib_crypto_EVP_CIPHER_CTX_init" >&6; }
-if test $ac_cv_lib_crypto_EVP_CIPHER_CTX_init = yes; then
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+
+ cryptofound=1
+
+ LIBS="-l$lib $LIBS"
+
+
+
+fi
+
+ done
- { echo "$as_me:$LINENO: checking that OpenSSL Library is at least version 0.9.6..." >&5
-echo "$as_me: checking that OpenSSL Library is at least version 0.9.6..." >&6;}
- cat >conftest.$ac_ext <<_ACEOF
+ test -n "$cryptofound" || { { echo "$as_me:$LINENO: error: OpenSSL Crypto library not found." >&5
+echo "$as_me: error: OpenSSL Crypto library not found." >&2;}
+ { (exit 1); exit 1; }; }
+
+ { echo "$as_me:$LINENO: checking that OpenSSL Library is at least version 0.9.6" >&5
+echo $ECHO_N "checking that OpenSSL Library is at least version 0.9.6... $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 <openssl/evp.h>
- #if SSLEAY_VERSION_NUMBER >= 0x00906000L
- yes
- #endif
+ #include <openssl/evp.h>
+ #if SSLEAY_VERSION_NUMBER >= 0x00906000L
+ yes
+ #endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "yes" >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
cat >>confdefs.h <<\_ACEOF
#define USE_CRYPTO 1
_ACEOF
- if test "${WIN32}" = "yes"; then
-
- LIBS="-leay32 $LIBS"
-
- else
-
- LIBS="-lcrypto $LIBS"
-
- fi
for ac_func in EVP_CIPHER_CTX_set_key_length
do
@@ -12112,22 +12148,6 @@
rm -f conftest*
-else
- { { echo "$as_me:$LINENO: error: OpenSSL Crypto library not found." >&5
-echo "$as_me: error: OpenSSL Crypto library not found." >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-
-else
- { { echo "$as_me:$LINENO: error: OpenSSL Crypto headers not found." >&5
-echo "$as_me: error: OpenSSL Crypto headers not found." >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-
-
-
if test "$SSL" = "yes"; then
{ echo "$as_me:$LINENO: checking for OpenSSL SSL Library and Header files..." >&5
@@ -12263,13 +12283,25 @@
fi
if test $ac_cv_header_openssl_ssl_h = yes; then
- { echo "$as_me:$LINENO: checking for SSL_CTX_new in -lssl" >&5
-echo $ECHO_N "checking for SSL_CTX_new in -lssl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_ssl_SSL_CTX_new+set}" = set; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: OpenSSL SSL headers not found." >&5
+echo "$as_me: error: OpenSSL SSL headers not found." >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+
+
+ for lib in ssl ssl32; do
+ as_ac_Lib=`echo "ac_cv_lib_$lib''_SSL_CTX_new" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for SSL_CTX_new in -l$lib" >&5
+echo $ECHO_N "checking for SSL_CTX_new in -l$lib... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl $LIBS"
+LIBS="-l$lib $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -12310,26 +12342,41 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
- ac_cv_lib_ssl_SSL_CTX_new=yes
+ eval "$as_ac_Lib=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_lib_ssl_SSL_CTX_new=no
+ eval "$as_ac_Lib=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_ssl_SSL_CTX_new" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_CTX_new" >&6; }
-if test $ac_cv_lib_ssl_SSL_CTX_new = yes; then
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+
+ sslfound=1
+
+ LIBS="-l$lib $LIBS"
+
+
+
+fi
- if test "$MEMCHECK" = "ssl"; then
- { echo "$as_me:$LINENO: checking for Memory Debugging Capabilities in OpenSSL Library..." >&5
+ done
+
+ test -n "${sslfound}" || { { echo "$as_me:$LINENO: error: OpenSSL SSL library not found." >&5
+echo "$as_me: error: OpenSSL SSL library not found." >&2;}
+ { (exit 1); exit 1; }; }
+
+ if test "$MEMCHECK" = "ssl"; then
+ { echo "$as_me:$LINENO: checking for Memory Debugging Capabilities in OpenSSL Library..." >&5
echo "$as_me: checking for Memory Debugging Capabilities in OpenSSL Library..." >&6;}
- { echo "$as_me:$LINENO: checking for CRYPTO_mem_ctrl in -lssl" >&5
+ { echo "$as_me:$LINENO: checking for CRYPTO_mem_ctrl in -lssl" >&5
echo $ECHO_N "checking for CRYPTO_mem_ctrl in -lssl... $ECHO_C" >&6; }
if test "${ac_cv_lib_ssl_CRYPTO_mem_ctrl+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -12397,7 +12444,7 @@
#define CRYPTO_MDEBUG 1
_ACEOF
- { echo "$as_me:$LINENO: result: NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG" >&5
+ { echo "$as_me:$LINENO: result: NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG" >&5
echo "${ECHO_T}NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG" >&6; }
else
@@ -12407,37 +12454,13 @@
fi
- fi
-
-else
- { { echo "$as_me:$LINENO: error: OpenSSL SSL library not found." >&5
-echo "$as_me: error: OpenSSL SSL library not found." >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-
-else
- { { echo "$as_me:$LINENO: error: OpenSSL SSL headers not found." >&5
-echo "$as_me: error: OpenSSL SSL headers not found." >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-
+ fi
cat >>confdefs.h <<\_ACEOF
#define USE_SSL 1
_ACEOF
- if test "${WIN32}" = "yes"; then
-
- LIBS="-lssl32 $LIBS"
-
- else
-
- LIBS="-lssl $LIBS"
-
- fi
fi
fi
@@ -12794,9 +12817,7 @@
win32datadir="\${datadir}/${PACKAGE}-win32"
-
-
-if test "${WIN32}" = "yes"; then
+ if test "${WIN32}" = "yes"; then
WIN32_TRUE=
WIN32_FALSE='#'
else
@@ -12807,7 +12828,7 @@
# workaround for <autoconf-2.60
if test -z "${docdir}"; then
- docdir="\$(datarootdir)/doc/\$(PACKAGE_NAME)"
+ docdir="\$(datadir)/doc/\$(PACKAGE_NAME)"
fi
if test -z "${htmldir}"; then
@@ -13235,7 +13256,7 @@
# 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_rc15, which was
+This file was extended by OpenVPN $as_me 2.1_rc19, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13288,7 +13309,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-OpenVPN config.status 2.1_rc15
+OpenVPN config.status 2.1_rc19
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -13299,6 +13320,7 @@
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -13524,6 +13546,7 @@
INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
CYGPATH_W!$CYGPATH_W$ac_delim
PACKAGE!$PACKAGE$ac_delim
VERSION!$VERSION$ac_delim
@@ -13568,7 +13591,6 @@
LIBOBJS!$LIBOBJS$ac_delim
PTHREAD_CC!$PTHREAD_CC$ac_delim
PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
-PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -13610,6 +13632,7 @@
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim
TAP_ID!$TAP_ID$ac_delim
TAP_WIN32_MIN_MAJOR!$TAP_WIN32_MIN_MAJOR$ac_delim
TAP_WIN32_MIN_MINOR!$TAP_WIN32_MIN_MINOR$ac_delim
@@ -13619,7 +13642,7 @@
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 7; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 8; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -13846,6 +13869,11 @@
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -13899,6 +13927,7 @@
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
@@ -14014,21 +14043,22 @@
fi
rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers.
+_am_arg=$ac_file
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $ac_file | $ac_file:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-echo X$ac_file |
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -14063,8 +14093,9 @@
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/configure.ac
^
|
@@ -4,7 +4,7 @@
dnl packet encryption, packet authentication, and
dnl packet compression.
dnl
-dnl Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+dnl Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
WIN32="no"
CYGWIN="no"
case "${host}" in
- *-mingw32*)
+ *-mingw*)
WIN32="yes"
cross_compiling="yes"
;;
@@ -679,38 +679,40 @@
if test "$CRYPTO" = "yes"; then
AC_CHECKING([for OpenSSL Crypto Library and Header files])
- AC_CHECK_HEADER(openssl/evp.h,
- [AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_init,
+ AC_CHECK_HEADER(openssl/evp.h,,
+ [AC_MSG_ERROR([OpenSSL Crypto headers not found.])])
+
+ for lib in crypto eay32; do
+ AC_CHECK_LIB($lib, EVP_CIPHER_CTX_init,
[
- AC_CHECKING([that OpenSSL Library is at least version 0.9.6])
- AC_EGREP_CPP(yes,
- [
- #include <openssl/evp.h>
- #if SSLEAY_VERSION_NUMBER >= 0x00906000L
- yes
- #endif
- ],
- [
- AC_DEFINE(USE_CRYPTO, 1, [Use OpenSSL crypto library])
- if test "${WIN32}" = "yes"; then
- OPENVPN_ADD_LIBS(-leay32)
- else
- OPENVPN_ADD_LIBS(-lcrypto)
- fi
- AC_CHECK_FUNCS(EVP_CIPHER_CTX_set_key_length)
-
- dnl check for OpenSSL crypto acceleration capability
- AC_CHECK_HEADERS(openssl/engine.h)
- AC_CHECK_FUNCS(ENGINE_load_builtin_engines)
- AC_CHECK_FUNCS(ENGINE_register_all_complete)
- AC_CHECK_FUNCS(ENGINE_cleanup)
- ],
- [AC_MSG_ERROR([OpenSSL crypto Library is too old.])]
- )
- ],
- [AC_MSG_ERROR([OpenSSL Crypto library not found.])]
- )],
- [AC_MSG_ERROR([OpenSSL Crypto headers not found.])]
+ cryptofound=1
+ OPENVPN_ADD_LIBS(-l$lib)
+ ]
+ )
+ done
+
+ test -n "$cryptofound" || AC_MSG_ERROR([OpenSSL Crypto library not found.])
+
+ AC_MSG_CHECKING([that OpenSSL Library is at least version 0.9.6])
+ AC_EGREP_CPP(yes,
+ [
+ #include <openssl/evp.h>
+ #if SSLEAY_VERSION_NUMBER >= 0x00906000L
+ yes
+ #endif
+ ],
+ [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(USE_CRYPTO, 1, [Use OpenSSL crypto library])
+ AC_CHECK_FUNCS(EVP_CIPHER_CTX_set_key_length)
+
+ dnl check for OpenSSL crypto acceleration capability
+ AC_CHECK_HEADERS(openssl/engine.h)
+ AC_CHECK_FUNCS(ENGINE_load_builtin_engines)
+ AC_CHECK_FUNCS(ENGINE_register_all_complete)
+ AC_CHECK_FUNCS(ENGINE_cleanup)
+ ],
+ [AC_MSG_ERROR([OpenSSL crypto Library is too old.])]
)
dnl
@@ -719,30 +721,33 @@
if test "$SSL" = "yes"; then
AC_CHECKING([for OpenSSL SSL Library and Header files])
- AC_CHECK_HEADER(openssl/ssl.h,
- [AC_CHECK_LIB(ssl, SSL_CTX_new,
- [
- if test "$MEMCHECK" = "ssl"; then
- AC_CHECKING([for Memory Debugging Capabilities in OpenSSL Library])
- AC_CHECK_LIB(ssl, CRYPTO_mem_ctrl,
- [
- AC_DEFINE(CRYPTO_MDEBUG, 1, [Use memory debugging function in OpenSSL])
- AC_MSG_RESULT([NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG])
- ],
- [AC_MSG_ERROR([Memory Debugging function in OpenSSL library not found.])]
- )
- fi
- ],
- [AC_MSG_ERROR([OpenSSL SSL library not found.])]
- )],
+ AC_CHECK_HEADER(openssl/ssl.h,,
[AC_MSG_ERROR([OpenSSL SSL headers not found.])]
)
- AC_DEFINE(USE_SSL, 1, [Use OpenSSL SSL library])
- if test "${WIN32}" = "yes"; then
- OPENVPN_ADD_LIBS(-lssl32)
- else
- OPENVPN_ADD_LIBS(-lssl)
+
+ for lib in ssl ssl32; do
+ AC_CHECK_LIB($lib, SSL_CTX_new,
+ [
+ sslfound=1
+ OPENVPN_ADD_LIBS(-l$lib)
+ ]
+ )
+ done
+
+ test -n "${sslfound}" || AC_MSG_ERROR([OpenSSL SSL library not found.])
+
+ if test "$MEMCHECK" = "ssl"; then
+ AC_CHECKING([for Memory Debugging Capabilities in OpenSSL Library])
+ AC_CHECK_LIB(ssl, CRYPTO_mem_ctrl,
+ [
+ AC_DEFINE(CRYPTO_MDEBUG, 1, [Use memory debugging function in OpenSSL])
+ AC_MSG_RESULT([NOTE: OpenSSL library must be compiled with CRYPTO_MDEBUG])
+ ],
+ [AC_MSG_ERROR([Memory Debugging function in OpenSSL library not found.])]
+ )
fi
+
+ AC_DEFINE(USE_SSL, 1, [Use OpenSSL SSL library])
fi
fi
@@ -852,7 +857,7 @@
# workaround for <autoconf-2.60
if test -z "${docdir}"; then
- docdir="\$(datarootdir)/doc/\$(PACKAGE_NAME)"
+ docdir="\$(datadir)/doc/\$(PACKAGE_NAME)"
AC_SUBST([docdir])
fi
if test -z "${htmldir}"; then
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/contrib/pull-resolv-conf/client.down
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (c) 2005-2008 OpenVPN Technologies, Inc.
+# Copyright (c) 2005-2009 OpenVPN Technologies, Inc.
# Licensed under the GPL version 2
# First version by Jesse Adelman
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/contrib/pull-resolv-conf/client.up
^
|
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright (c) 2005-2008 OpenVPN Technologies, Inc.
+# Copyright (c) 2005-2009 OpenVPN Technologies, Inc.
# Licensed under the GPL version 2
# First version by Jesse Adelman
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/crypto.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -1158,8 +1158,11 @@
error_filename, count, onekeylen, keylen);
}
- /* zero file read buffer */
- buf_clear (&in);
+ /* zero file read buffer if not an inline file */
+#if ENABLE_INLINE_FILES
+ if (!(flags & RKF_INLINE))
+#endif
+ buf_clear (&in);
if (key2->n)
warn_if_group_others_accessible (error_filename);
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/crypto.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/cryptoapi.c
^
|
@@ -51,8 +51,10 @@
#define CERT_STORE_OPEN_EXISTING_FLAG 0x00004000
#define CRYPT_ACQUIRE_COMPARE_KEY_FLAG 0x00000004
static HINSTANCE crypt32dll = NULL;
-static BOOL WINAPI (*CryptAcquireCertificatePrivateKey) (PCCERT_CONTEXT pCert, DWORD dwFlags,
- void *pvReserved, HCRYPTPROV *phCryptProv, DWORD *pdwKeySpec, BOOL *pfCallerFreeProv) = NULL;
+static BOOL WINAPI (*OpenVPNCryptAcquireCertificatePrivateKey) (PCCERT_CONTEXT pCert, DWORD dwFlags,
+ void *pvReserved, HCRYPTPROV *phCryptProv, DWORD *pdwKeySpec, BOOL *pfCallerFreeProv) = NULL;
+#else
+#define OpenVPNCryptAcquireCertificatePrivateKey CryptAcquireCertificatePrivateKey
#endif
/* Size of an SSL signature: MD5+SHA1 */
@@ -387,16 +389,16 @@
goto err;
}
}
- if (CryptAcquireCertificatePrivateKey == NULL) {
- CryptAcquireCertificatePrivateKey = GetProcAddress(crypt32dll,
+ if (OpenVPNCryptAcquireCertificatePrivateKey == NULL) {
+ OpenVPNCryptAcquireCertificatePrivateKey = GetProcAddress(crypt32dll,
"CryptAcquireCertificatePrivateKey");
- if (CryptAcquireCertificatePrivateKey == NULL) {
+ if (OpenVPNCryptAcquireCertificatePrivateKey == NULL) {
CRYPTOAPIerr(CRYPTOAPI_F_GET_PROC_ADDRESS);
goto err;
}
}
#endif
- if (!CryptAcquireCertificatePrivateKey(cd->cert_context, CRYPT_ACQUIRE_COMPARE_KEY_FLAG,
+ if (!OpenVPNCryptAcquireCertificatePrivateKey(cd->cert_context, CRYPT_ACQUIRE_COMPARE_KEY_FLAG,
NULL, &cd->crypt_prov, &cd->key_spec, &cd->free_crypt_prov)) {
/* if we don't have a smart card reader here, and we try to access a
* smart card certificate, we get:
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/depcomp
^
|
@@ -1,9 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2005-07-09.11
+scriptversion=2007-03-29.01
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
+# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -91,7 +92,20 @@
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
stat=$?
if test $stat -eq 0; then :
else
@@ -201,34 +215,39 @@
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
- outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
@@ -276,6 +295,46 @@
rm -f "$tmpdepfile"
;;
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@@ -288,13 +347,13 @@
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
- # static library. This mecanism is used in libtool 1.4 series to
+ # static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in in $dir.libs/$base.o.d and
+ # compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/dhcp.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/dhcp.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/domake-win
^
|
@@ -96,7 +96,7 @@
# These settings will then drive the rest of the build process.
install-win32/winconfig
-# Delete the GENOUT directory if CLEAN="yes"
+# clean all generated files
install-win32/doclean
# Load a pre-built GENOUT directory if GENOUT_PREBUILT is defined
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/easy-rsa/2.0/pkitool
^
|
@@ -6,7 +6,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/errlevel.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -88,14 +88,13 @@
#define D_BACKTRACK LOGLEV(3, 36, 0) /* show replay backtracks */
#define D_AUTH LOGLEV(3, 37, 0) /* show user/pass auth info */
#define D_MULTI_LOW LOGLEV(3, 38, 0) /* show point-to-multipoint low-freq debug info */
-#define D_MULTI_DROPPED LOGLEV(3, 39, 0) /* show point-to-multipoint packet drops */
-#define D_PLUGIN LOGLEV(3, 40, 0) /* show plugin calls */
-#define D_MANAGEMENT LOGLEV(3, 41, 0) /* show --management info */
-#define D_SCHED_EXIT LOGLEV(3, 42, 0) /* show arming of scheduled exit */
-#define D_ROUTE_QUOTA LOGLEV(3, 43, 0) /* show route quota exceeded messages */
-#define D_OSBUF LOGLEV(3, 44, 0) /* show socket/tun/tap buffer sizes */
-#define D_PS_PROXY LOGLEV(3, 45, 0) /* messages related to --port-share option */
-#define D_PF_INFO LOGLEV(3, 46, 0) /* packet filter informational messages */
+#define D_PLUGIN LOGLEV(3, 39, 0) /* show plugin calls */
+#define D_MANAGEMENT LOGLEV(3, 40, 0) /* show --management info */
+#define D_SCHED_EXIT LOGLEV(3, 41, 0) /* show arming of scheduled exit */
+#define D_ROUTE_QUOTA LOGLEV(3, 42, 0) /* show route quota exceeded messages */
+#define D_OSBUF LOGLEV(3, 43, 0) /* show socket/tun/tap buffer sizes */
+#define D_PS_PROXY LOGLEV(3, 44, 0) /* messages related to --port-share option */
+#define D_PF_INFO LOGLEV(3, 45, 0) /* packet filter informational messages */
#define D_SHOW_PARMS LOGLEV(4, 50, 0) /* show all parameters on program initiation */
#define D_SHOW_OCC LOGLEV(4, 51, 0) /* show options compatibility string */
@@ -104,6 +103,7 @@
#define D_MBUF LOGLEV(4, 54, 0) /* mbuf.[ch] routines */
#define D_PACKET_TRUNC_ERR LOGLEV(4, 55, 0) /* PACKET_TRUNCATION_CHECK */
#define D_PF_DROPPED LOGLEV(4, 56, 0) /* packet filter dropped a packet */
+#define D_MULTI_DROPPED LOGLEV(4, 57, 0) /* show point-to-multipoint packet drops */
#define D_LOG_RW LOGLEV(5, 0, 0) /* Print 'R' or 'W' to stdout for read/write */
@@ -129,7 +129,7 @@
#define D_SEMAPHORE_LOW LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits (low freq) */
#define D_SEMAPHORE LOGLEV(7, 70, M_DEBUG) /* show Win32 semaphore waits */
#define D_TEST_FILE LOGLEV(7, 70, M_DEBUG) /* show test_file() calls */
-#define D_MANAGEMENT_DEBUG LOGLEV(7, 70, M_DEBUG) /* show --management debug info */
+#define D_MANAGEMENT_DEBUG LOGLEV(3, 70, M_DEBUG) /* show --management debug info */
#define D_PLUGIN_DEBUG LOGLEV(7, 70, M_DEBUG) /* show verbose plugin calls */
#define D_SOCKET_DEBUG LOGLEV(7, 70, M_DEBUG) /* show socket.[ch] debugging info */
#define D_SHOW_PKCS11 LOGLEV(7, 70, M_DEBUG) /* show PKCS#11 actions */
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/error.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -88,6 +88,10 @@
/* If true, we forked from main OpenVPN process */
static bool forked; /* GLOBAL */
+/* our default output targets */
+static FILE *default_out; /* GLOBAL */
+static FILE *default_err; /* GLOBAL */
+
void
msg_forked (void)
{
@@ -151,6 +155,8 @@
mute_cutoff = 0;
mute_count = 0;
mute_category = 0;
+ default_out = OPENVPN_MSG_FP;
+ default_err = OPENVPN_MSG_FP;
#ifdef OPENVPN_DEBUG_COMMAND_LINE
msgfp = fopen (OPENVPN_DEBUG_FILE, "w");
@@ -161,15 +167,21 @@
#endif
}
+void
+errors_to_stderr (void)
+{
+ default_err = OPENVPN_ERROR_FP;
+}
+
/*
* Return a file to print messages to before syslog is opened.
*/
FILE *
-msg_fp()
+msg_fp(const unsigned int flags)
{
FILE *fp = msgfp;
if (!fp)
- fp = OPENVPN_MSG_FP;
+ fp = (flags & (M_FATAL|M_USAGE_SMALL)) ? default_err : default_out;
if (!fp)
openvpn_exit (OPENVPN_EXIT_STATUS_CANNOT_OPEN_DEBUG_FILE); /* exit point */
return fp;
@@ -305,7 +317,7 @@
}
else
{
- FILE *fp = msg_fp();
+ FILE *fp = msg_fp(flags);
const bool show_usec = check_debug_level (DEBUG_LEVEL_USEC_TIME);
if ((flags & M_NOPREFIX) || suppress_timestamps)
@@ -577,7 +589,7 @@
struct link_socket *sock,
struct tuntap *tt)
{
- const int my_errno = (sock ? openvpn_errno_socket () : openvpn_errno ());
+ const int my_errno = (sock ? openvpn_errno_socket () : (int)openvpn_errno ());
const char *extended_msg = NULL;
msg (x_cs_verbose_level, "%s %s returned %d",
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/error.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -42,7 +42,8 @@
* Where should messages be printed before syslog is opened?
* Not used if OPENVPN_DEBUG_COMMAND_LINE is defined.
*/
-#define OPENVPN_MSG_FP stdout
+#define OPENVPN_MSG_FP stdout
+#define OPENVPN_ERROR_FP stderr
/*
* Exit status codes
@@ -183,6 +184,10 @@
*/
void error_reset (void);
+
+/* route errors to stderr that would normally go to stdout */
+void errors_to_stderr (void);
+
void set_suppress_timestamps (bool suppressed);
#define SDL_CONSTRAIN (1<<0)
@@ -198,7 +203,7 @@
/*
* File to print messages to before syslog is opened.
*/
-FILE *msg_fp(void);
+FILE *msg_fp(const unsigned int flags);
/* Fatal logic errors */
#define ASSERT(x) do { if (!(x)) assert_failed(__FILE__, __LINE__); } while (false)
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/event.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/event.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/fdmisc.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/fdmisc.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/forward-inline.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/forward.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/forward.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/fragment.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/fragment.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/gremlin.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/gremlin.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/helper.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -320,7 +320,8 @@
* mode server
* tls-server
*
- * push "route-gateway dhcp"
+ * if !nogw:
+ * push "route-gateway dhcp"
*/
else if (o->server_bridge_defined | o->server_bridge_proxy_dhcp)
{
@@ -355,7 +356,7 @@
o->ifconfig_pool_netmask = o->server_bridge_netmask;
push_option (o, print_opt_route_gateway (o->server_bridge_ip, &o->gc), M_USAGE);
}
- else if (o->server_bridge_proxy_dhcp)
+ else if (o->server_bridge_proxy_dhcp && !(o->server_flags & SF_NO_PUSH_ROUTE_GATEWAY))
{
push_option (o, print_opt_route_gateway_dhcp (&o->gc), M_USAGE);
}
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/helper.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/images/Makefile.am
^
|
@@ -5,7 +5,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/images/Makefile.in
^
|
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,7 +21,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
@@ -38,15 +38,11 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -87,8 +83,6 @@
DATA = $(dist_image_DATA) $(dist_noinst_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -109,6 +103,7 @@
EXEEXT = @EXEEXT@
GREP = @GREP@
IFCONFIG = @IFCONFIG@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -120,6 +115,7 @@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -139,11 +135,11 @@
TAP_WIN32_MIN_MAJOR = @TAP_WIN32_MIN_MAJOR@
TAP_WIN32_MIN_MINOR = @TAP_WIN32_MIN_MINOR@
VERSION = @VERSION@
-WIN32_FALSE = @WIN32_FALSE@
-WIN32_TRUE = @WIN32_TRUE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -155,6 +151,7 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -182,12 +179,15 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
win32datadir = @win32datadir@
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
images = \
@@ -229,10 +229,9 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-uninstall-info-am:
install-dist_imageDATA: $(dist_image_DATA)
@$(NORMAL_INSTALL)
- test -z "$(imagedir)" || $(mkdir_p) "$(DESTDIR)$(imagedir)"
+ test -z "$(imagedir)" || $(MKDIR_P) "$(DESTDIR)$(imagedir)"
@list='$(dist_image_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -255,22 +254,21 @@
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -286,7 +284,7 @@
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(imagedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -333,12 +331,20 @@
install-data-am: install-dist_imageDATA
+install-dvi: install-dvi-am
+
install-exec-am:
+install-html: install-html-am
+
install-info: install-info-am
install-man:
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -357,17 +363,21 @@
ps-am:
-uninstall-am: uninstall-dist_imageDATA uninstall-info-am
+uninstall-am: uninstall-dist_imageDATA
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
- install-dist_imageDATA install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
+ install-dist_imageDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am \
- uninstall-dist_imageDATA uninstall-info-am
+ uninstall-dist_imageDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/init.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -35,6 +35,7 @@
#include "pkcs11.h"
#include "ps.h"
#include "lladdr.h"
+#include "ping.h"
#include "memdbg.h"
@@ -1680,7 +1681,7 @@
flags);
}
-#if ENABLE_INLINE_FILES
+#if 0 /* was: #if ENABLE_INLINE_FILES -- Note that enabling this code will break restarts */
if (options->priv_key_file_inline)
{
string_clear (c->options.priv_key_file_inline);
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/init.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-sh
^
|
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2005-05-14.22
+scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,38 +39,68 @@
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
-# put in absolute paths if you don't have them in your path; or use env. vars.
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
-chmodcmd="$chmodprog 0755"
-chowncmd=
chgrpcmd=
-stripcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
src=
dst=
dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
no_target_directory=
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -80,81 +110,86 @@
In the 4th, create DIRECTORIES.
Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
"
-while test -n "$1"; do
+while test $# -ne 0; do
case $1 in
- -c) shift
- continue;;
+ -c) ;;
- -d) dir_arg=true
- shift
- continue;;
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
+ shift;;
--help) echo "$usage"; exit $?;;
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t) dstarg=$2
- shift
- shift
- continue;;
-
- -T) no_target_directory=true
- shift
- continue;;
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ shift;;
+
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- *) # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- test -n "$dir_arg$dstarg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
+ --) shift
break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
esac
+ shift
done
-if test -z "$1"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ done
+fi
+
+if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
@@ -164,24 +199,47 @@
exit 0
fi
+if test -z "$dir_arg"; then
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
for src
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src ;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
- src=
-
- if test -d "$dst"; then
- mkdircmd=:
- chmodcmd=
- else
- mkdircmd=$mkdirprog
- fi
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
else
+
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
@@ -190,71 +248,199 @@
exit 1
fi
- if test -z "$dstarg"; then
+ if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dstarg
+ dst=$dst_arg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst ;;
+ -*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
+ echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
- dst=$dst/`basename "$src"`
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
fi
fi
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
-
- # Make sure that the destination directory exists.
+ obsolete_mkdir_used=false
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
-
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- shift
- IFS=$oIFS
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
- pathcomp=
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp"
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test -d "$pathcomp" || exit
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
- pathcomp=$pathcomp/
- done
+ fi
fi
if test -n "$dir_arg"; then
- $doit $mkdircmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
- dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
@@ -262,10 +448,9 @@
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
- trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
- $doit $cpprog "$src" "$dsttmp" &&
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -273,47 +458,58 @@
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- }
- }
- fi || { (exit 1); exit 1; }
-done
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit 0
-}
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/Makefile.am
^
|
@@ -5,7 +5,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/Makefile.in
^
|
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,7 +21,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
@@ -38,15 +38,11 @@
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -101,8 +97,6 @@
$(nodist_doc_DATA) $(nodist_easyrsa_DATA) $(nodist_keys_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -123,6 +117,7 @@
EXEEXT = @EXEEXT@
GREP = @GREP@
IFCONFIG = @IFCONFIG@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -134,6 +129,7 @@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -153,11 +149,11 @@
TAP_WIN32_MIN_MAJOR = @TAP_WIN32_MIN_MAJOR@
TAP_WIN32_MIN_MINOR = @TAP_WIN32_MIN_MINOR@
VERSION = @VERSION@
-WIN32_FALSE = @WIN32_FALSE@
-WIN32_TRUE = @WIN32_TRUE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -169,6 +165,7 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -196,12 +193,15 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
win32datadir = @win32datadir@
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
dist_noinst_DATA = openssl GetWindowsVersion.nsi \
@@ -262,10 +262,9 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
settings: $(top_builddir)/config.status $(srcdir)/settings.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-uninstall-info-am:
install-dist_confDATA: $(dist_conf_DATA)
@$(NORMAL_INSTALL)
- test -z "$(confdir)" || $(mkdir_p) "$(DESTDIR)$(confdir)"
+ test -z "$(confdir)" || $(MKDIR_P) "$(DESTDIR)$(confdir)"
@list='$(dist_conf_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -282,7 +281,7 @@
done
install-nodist_confDATA: $(nodist_conf_DATA)
@$(NORMAL_INSTALL)
- test -z "$(confdir)" || $(mkdir_p) "$(DESTDIR)$(confdir)"
+ test -z "$(confdir)" || $(MKDIR_P) "$(DESTDIR)$(confdir)"
@list='$(nodist_conf_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -299,7 +298,7 @@
done
install-nodist_docDATA: $(nodist_doc_DATA)
@$(NORMAL_INSTALL)
- test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)"
+ test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
@list='$(nodist_doc_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -316,7 +315,7 @@
done
install-nodist_easyrsaDATA: $(nodist_easyrsa_DATA)
@$(NORMAL_INSTALL)
- test -z "$(easyrsadir)" || $(mkdir_p) "$(DESTDIR)$(easyrsadir)"
+ test -z "$(easyrsadir)" || $(MKDIR_P) "$(DESTDIR)$(easyrsadir)"
@list='$(nodist_easyrsa_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -333,7 +332,7 @@
done
install-nodist_keysDATA: $(nodist_keys_DATA)
@$(NORMAL_INSTALL)
- test -z "$(keysdir)" || $(mkdir_p) "$(DESTDIR)$(keysdir)"
+ test -z "$(keysdir)" || $(MKDIR_P) "$(DESTDIR)$(keysdir)"
@list='$(nodist_keys_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
@@ -356,22 +355,21 @@
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -387,7 +385,7 @@
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(confdir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(easyrsadir)" "$(DESTDIR)$(keysdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -437,12 +435,20 @@
install-nodist_docDATA install-nodist_easyrsaDATA \
install-nodist_keysDATA
+install-dvi: install-dvi-am
+
install-exec-am:
+install-html: install-html-am
+
install-info: install-info-am
install-man:
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -461,23 +467,26 @@
ps-am:
-uninstall-am: uninstall-dist_confDATA uninstall-info-am \
- uninstall-nodist_confDATA uninstall-nodist_docDATA \
- uninstall-nodist_easyrsaDATA uninstall-nodist_keysDATA
+uninstall-am: uninstall-dist_confDATA uninstall-nodist_confDATA \
+ uninstall-nodist_docDATA uninstall-nodist_easyrsaDATA \
+ uninstall-nodist_keysDATA
+
+.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-local \
distclean distclean-generic distdir dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
- install-dist_confDATA install-exec install-exec-am \
- install-info install-info-am install-man \
- install-nodist_confDATA install-nodist_docDATA \
- install-nodist_easyrsaDATA install-nodist_keysDATA \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-dist_confDATA uninstall-info-am \
- uninstall-nodist_confDATA uninstall-nodist_docDATA \
- uninstall-nodist_easyrsaDATA uninstall-nodist_keysDATA
+ install-dist_confDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-nodist_confDATA \
+ install-nodist_docDATA install-nodist_easyrsaDATA \
+ install-nodist_keysDATA install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+ uninstall-am uninstall-dist_confDATA uninstall-nodist_confDATA \
+ uninstall-nodist_docDATA uninstall-nodist_easyrsaDATA \
+ uninstall-nodist_keysDATA
@WIN32_TRUE@tmp:
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/getgui
^
|
@@ -7,7 +7,7 @@
GUI="$OPENVPN_GUI_DIR/$OPENVPN_GUI"
-if [ -e "$GUI" ]; then
+if [ -f "$GUI" ]; then
mkdir -p $GENOUT/bin &>/dev/null
cp $GUI $GENOUT/bin
if [ -d "$SIGNTOOL" ]; then
@@ -15,7 +15,7 @@
fi
fi
-if [ -e "$GENOUT/bin/$OPENVPN_GUI" ]; then
+if [ -f "$GENOUT/bin/$OPENVPN_GUI" ]; then
echo '!define OPENVPN_GUI_DEFINED' >autodefs/guidefs.nsi
else
cat /dev/null >autodefs/guidefs.nsi
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/maketap
^
|
@@ -40,6 +40,7 @@
for mode in "$w2ktarget" "$amdtarget"; do
echo '**********' build TAP $mode
cmd //c "C:\\WINDDK\\$DDKVER\\bin\\setenv.bat C:\\WINDDK\\$DDKVER $mode && cd `perl install-win32/dosname.pl $t` && build -cef"
+ mv tap-win32/tapdrvr.cod "tap-win32/tapdrvr-$(echo $mode | tr ' ' '-').cod"
done
title openvpn-build &>/dev/null
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/maketext
^
|
@@ -40,6 +40,10 @@
cp install-win32/setpath.nsi $n
cp install-win32/GetWindowsVersion.nsi $n
+if [ -n "$EXTRACT_FILES" ]; then
+ cp "$EXTRACT_FILES/MultiFileExtract.nsi" $n
+fi
+
# get OpenVPN client config files
if [ -n "$SAMPCONF_DIR" ]; then
c=$GENOUT/conf
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/openssl/README.txt
^
|
@@ -2,20 +2,20 @@
it can be extracted on Windows (run on Unix):
[download tarball and .asc sig]
- gpg --verify openssl-0.9.8i.tar.gz.asc
- tar xfz openssl-0.9.8i.tar.gz
- tar cfzh openssl-0.9.8i-nolinks.tar.gz openssl-0.9.8i
+ gpg --verify openssl-0.9.8k.tar.gz.asc
+ tar xfz openssl-0.9.8k.tar.gz
+ tar cfzh openssl-0.9.8k-nolinks.tar.gz openssl-0.9.8k
To apply patch (in MSYS shell):
- cd /c/src/openssl-0.9.8i
+ cd /c/src/openssl-0.9.8k
patch -p1 <../21/install-win32/openssl/openssl098.patch
To build OpenSSL, open a command prompt window, then:
- cd \src\openssl-0.9.8i
+ cd \src\openssl-0.9.8k
ms\mw
To build a new patch (optional):
- diff -urw openssl-0.9.8i.orig openssl-0.9.8i | grep -v '^Only in' >openssl098.patch
+ diff -urw openssl-0.9.8k.orig openssl-0.9.8k | grep -v '^Only in' >openssl098.patch
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/openvpn.nsi
^
|
@@ -1,5 +1,5 @@
; ****************************************************************************
-; * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. *
+; * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. *
; * This program is free software; you can redistribute it and/or modify *
; * it under the terms of the GNU General Public License version 2 *
; * as published by the Free Software Foundation. *
@@ -7,6 +7,8 @@
; OpenVPN install script for Windows, using NSIS
+SetCompressor lzma
+
!include "MUI.nsh"
!include "defs.nsi"
@@ -15,6 +17,10 @@
!include "setpath.nsi"
!include "GetWindowsVersion.nsi"
+!ifdef EXTRACT_FILES
+!include "MultiFileExtract.nsi"
+!endif
+
!define GEN ".."
!define BIN "${GEN}\bin"
!define LIB "${GEN}\lib"
@@ -73,8 +79,6 @@
OutFile "${GEN}\${PRODUCT_UNIX_NAME}-${VERSION}${OUTFILE_LABEL}-install.exe"
- SetCompressor bzip2
-
ShowInstDetails show
ShowUninstDetails show
@@ -230,6 +234,7 @@
# Delete previous start menu
RMDir /r $SMPROGRAMS\${PRODUCT_NAME}
+!ifdef CHECK_WINDOWS_VERSION
# Check windows version
Call GetWindowsVersion
Pop $1
@@ -259,9 +264,13 @@
init32bits:
+!endif
+
FunctionEnd
+!ifndef SF_SELECTED
!define SF_SELECTED 1
+!endif
;--------------------
;Pre-install section
@@ -528,6 +537,17 @@
!endif
!endif
+ ; Try to extract files if present
+ !ifdef EXTRACT_FILES
+ Push "$INSTDIR"
+ Call MultiFileExtract
+ Pop $R0
+ IntCmp $R0 0 +3 +1 +1
+ DetailPrint "MultiFileExtract Failed status=$R0"
+ goto +2
+ DetailPrint "MultiFileExtract Succeeded"
+ !endif
+
;
; install/upgrade TAP driver if selected, using tapinstall.exe
;
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/install-win32/settings.in
^
|
@@ -22,7 +22,7 @@
;!define OPENVPN_XGUI_DIR "../ovpnxml"
# Prebuilt libraries. DMALLOC is optional.
-!define OPENSSL_DIR "../openssl-0.9.8i"
+!define OPENSSL_DIR "../openssl-0.9.8k"
!define LZO_DIR "../lzo-2.02"
!define PKCS11_HELPER_DIR "../pkcs11-helper"
;!define DMALLOC_DIR "../dmalloc-5.4.2"
@@ -30,7 +30,7 @@
# Optional directory of prebuilt OpenVPN binary components,
# to be used as a source when build-from-scratch prerequisites
# are not met.
-!define GENOUT_PREBUILT "../gen-prebuilt"
+;!define GENOUT_PREBUILT "../gen-prebuilt"
# tapinstall.exe source code.
# Not needed if DRVBINSRC is defined
@@ -42,8 +42,8 @@
!define PRODUCT_TAP_DEVICE_DESCRIPTION "TAP-Win32 Adapter V9"
!define PRODUCT_TAP_PROVIDER "TAP-Win32 Provider V9"
!define PRODUCT_TAP_MAJOR_VER 9
-!define PRODUCT_TAP_MINOR_VER 4
-!define PRODUCT_TAP_RELDATE "01/22/2008"
+!define PRODUCT_TAP_MINOR_VER 6
+!define PRODUCT_TAP_RELDATE "06/22/2009"
# TAP adapter icon -- visible=0x81 or hidden=0x89
!define PRODUCT_TAP_CHARACTERISTICS 0x81
@@ -53,7 +53,7 @@
# DDK Version.
# DDK distribution is assumed to be in C:\WINDDK\${DDKVER}
-!define DDKVER 6001.17121
+!define DDKVER 6001.18002
!define DDKVER_MAJOR 6001
# Code Signing.
@@ -89,3 +89,6 @@
;!define SAMPCONF_CA "ca.crt"
;!define SAMPCONF_CRT "test.crt"
;!define SAMPCONF_KEY "test.key"
+
+# Extract files embedded in installer
+;!define EXTRACT_FILES
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/integer.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/interval.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/interval.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/list.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/list.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/lzo.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/lzo.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/manage.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -84,6 +84,7 @@
msg (M_CLIENT, " where action is reply string.");
msg (M_CLIENT, "net : (Windows only) Show network info and routing table.");
msg (M_CLIENT, "password type p : Enter password p for a queried OpenVPN password.");
+ msg (M_CLIENT, "pid : Show process ID of the current OpenVPN process.");
#ifdef ENABLE_PKCS11
msg (M_CLIENT, "pkcs11-id-count : Get number of available PKCS#11 identities.");
msg (M_CLIENT, "pkcs11-id-get index : Get PKCS#11 identity at index.");
@@ -229,7 +230,7 @@
man_delete_unix_socket (struct management *man)
{
#if UNIX_SOCK_SUPPORT
- if (man->settings.flags & MF_LISTEN_UNIX)
+ if ((man->settings.flags & (MF_UNIX_SOCK|MF_CONNECT_AS_CLIENT)) == MF_UNIX_SOCK)
socket_delete_unix (&man->settings.local_unix);
#endif
}
@@ -915,6 +916,20 @@
}
}
+static void
+man_client_n_clients (struct management *man)
+{
+ if (man->persist.callback.n_clients)
+ {
+ const int nclients = (*man->persist.callback.n_clients) (man->persist.callback.arg);
+ msg (M_CLIENT, "SUCCESS: nclients=%d", nclients);
+ }
+ else
+ {
+ msg (M_CLIENT, "ERROR: The nclients command is not supported by the current daemon mode");
+ }
+}
+
#ifdef MANAGEMENT_PF
static void
@@ -976,6 +991,14 @@
msg (M_CLIENT, "Management Version: %d", MANAGEMENT_VERSION);
msg (M_CLIENT, "END");
}
+ else if (streq (p[0], "pid"))
+ {
+ msg (M_CLIENT, "SUCCESS: pid=%d", openvpn_getpid ());
+ }
+ else if (streq (p[0], "nclients"))
+ {
+ man_client_n_clients (man);
+ }
else if (streq (p[0], "signal"))
{
if (man_need (man, p, 1, 0))
@@ -1264,7 +1287,7 @@
#endif
#if UNIX_SOCK_SUPPORT
- if (man->settings.flags & MF_LISTEN_UNIX)
+ if (man->settings.flags & MF_UNIX_SOCK)
{
msg (D_MANAGEMENT, "MANAGEMENT: %s %s",
description,
@@ -1286,6 +1309,39 @@
gc_free (&gc);
}
+#if UNIX_SOCK_SUPPORT
+static bool
+man_verify_unix_peer_uid_gid (struct management *man, const socket_descriptor_t sd)
+{
+ if (socket_defined (sd) && (man->settings.client_uid != -1 || man->settings.client_gid != -1))
+ {
+ static const char err_prefix[] = "MANAGEMENT: unix domain socket client connection rejected --";
+ int uid, gid;
+ if (unix_socket_get_peer_uid_gid (man->connection.sd_cli, &uid, &gid))
+ {
+ if (man->settings.client_uid != -1 && man->settings.client_uid != uid)
+ {
+ msg (D_MANAGEMENT, "%s UID of socket peer (%d) doesn't match required value (%d) as given by --management-client-user",
+ err_prefix, uid, man->settings.client_uid);
+ return false;
+ }
+ if (man->settings.client_gid != -1 && man->settings.client_gid != gid)
+ {
+ msg (D_MANAGEMENT, "%s GID of socket peer (%d) doesn't match required value (%d) as given by --management-client-group",
+ err_prefix, gid, man->settings.client_gid);
+ return false;
+ }
+ }
+ else
+ {
+ msg (D_MANAGEMENT, "%s cannot get UID/GID of socket peer", err_prefix);
+ return false;
+ }
+ }
+ return true;
+}
+#endif
+
static void
man_accept (struct management *man)
{
@@ -1296,35 +1352,12 @@
* Accept the TCP or Unix domain socket client.
*/
#if UNIX_SOCK_SUPPORT
- if (man->settings.flags & MF_LISTEN_UNIX)
+ if (man->settings.flags & MF_UNIX_SOCK)
{
struct sockaddr_un remote;
man->connection.sd_cli = socket_accept_unix (man->connection.sd_top, &remote);
- if (socket_defined (man->connection.sd_cli) && (man->settings.client_uid != -1 || man->settings.client_gid != -1))
- {
- static const char err_prefix[] = "MANAGEMENT: unix domain socket client connection rejected --";
- int uid, gid;
- if (unix_socket_get_peer_uid_gid (man->connection.sd_cli, &uid, &gid))
- {
- if (man->settings.client_uid != -1 && man->settings.client_uid != uid)
- {
- msg (D_MANAGEMENT, "%s UID of socket peer (%d) doesn't match required value (%d) as given by --management-client-user",
- err_prefix, uid, man->settings.client_uid);
- sd_close (&man->connection.sd_cli);
- }
- if (man->settings.client_gid != -1 && man->settings.client_gid != gid)
- {
- msg (D_MANAGEMENT, "%s GID of socket peer (%d) doesn't match required value (%d) as given by --management-client-group",
- err_prefix, gid, man->settings.client_gid);
- sd_close (&man->connection.sd_cli);
- }
- }
- else
- {
- msg (D_MANAGEMENT, "%s cannot get UID/GID of socket peer", err_prefix);
- sd_close (&man->connection.sd_cli);
- }
- }
+ if (!man_verify_unix_peer_uid_gid (man, man->connection.sd_cli))
+ sd_close (&man->connection.sd_cli);
}
else
#endif
@@ -1362,7 +1395,7 @@
if (man->connection.sd_top == SOCKET_UNDEFINED)
{
#if UNIX_SOCK_SUPPORT
- if (man->settings.flags & MF_LISTEN_UNIX)
+ if (man->settings.flags & MF_UNIX_SOCK)
{
man_delete_unix_socket (man);
man->connection.sd_top = create_socket_unix ();
@@ -1388,7 +1421,7 @@
set_cloexec (man->connection.sd_top);
#if UNIX_SOCK_SUPPORT
- if (man->settings.flags & MF_LISTEN_UNIX)
+ if (man->settings.flags & MF_UNIX_SOCK)
{
msg (D_MANAGEMENT, "MANAGEMENT: unix domain socket listening on %s",
sockaddr_unix_name (&man->settings.local_unix, "NULL"));
@@ -1419,12 +1452,30 @@
man->connection.state = MS_INITIAL;
man->connection.sd_top = SOCKET_UNDEFINED;
- man->connection.sd_cli = create_socket_tcp ();
-
- status = openvpn_connect (man->connection.sd_cli,
- &man->settings.local,
- 5,
- &signal_received);
+#if UNIX_SOCK_SUPPORT
+ if (man->settings.flags & MF_UNIX_SOCK)
+ {
+ man->connection.sd_cli = create_socket_unix ();
+ status = socket_connect_unix (man->connection.sd_cli, &man->settings.local_unix);
+ if (!status && !man_verify_unix_peer_uid_gid (man, man->connection.sd_cli))
+ {
+#ifdef EPERM
+ status = EPERM;
+#else
+ status = 1;
+#endif
+ sd_close (&man->connection.sd_cli);
+ }
+ }
+ else
+#endif
+ {
+ man->connection.sd_cli = create_socket_tcp ();
+ status = openvpn_connect (man->connection.sd_cli,
+ &man->settings.local,
+ 5,
+ &signal_received);
+ }
if (signal_received)
{
@@ -1434,6 +1485,16 @@
if (status)
{
+#if UNIX_SOCK_SUPPORT
+ if (man->settings.flags & MF_UNIX_SOCK)
+ {
+ msg (D_LINK_ERRORS,
+ "MANAGEMENT: connect to unix socket %s failed: %s",
+ sockaddr_unix_name (&man->settings.local_unix, "NULL"),
+ strerror_ts (status, &gc));
+ }
+ else
+#endif
msg (D_LINK_ERRORS,
"MANAGEMENT: connect to %s failed: %s",
print_sockaddr (&man->settings.local, &gc),
@@ -1782,7 +1843,7 @@
ms->write_peer_info_file = string_alloc (write_peer_info_file, NULL);
#if UNIX_SOCK_SUPPORT
- if (ms->flags & MF_LISTEN_UNIX)
+ if (ms->flags & MF_UNIX_SOCK)
sockaddr_unix_init (&ms->local_unix, addr);
else
#endif
@@ -1853,7 +1914,7 @@
* Allocate helper objects for command line input and
* command output from/to the socket.
*/
- man->connection.in = command_line_new (256);
+ man->connection.in = command_line_new (1024);
man->connection.out = buffer_list_new (0);
/*
@@ -2043,7 +2104,7 @@
#ifdef MANAGEMENT_DEF_AUTH
static void
-man_output_env (const struct env_set *es)
+man_output_env (const struct env_set *es, const bool tail)
{
if (es)
{
@@ -2054,7 +2115,22 @@
msg (M_CLIENT, ">CLIENT:ENV,%s", e->string);
}
}
- msg (M_CLIENT, ">CLIENT:ENV,END");
+ if (tail)
+ msg (M_CLIENT, ">CLIENT:ENV,END");
+}
+
+static void
+man_output_extra_env (struct management *man)
+{
+ struct gc_arena gc = gc_new ();
+ struct env_set *es = env_set_create (&gc);
+ if (man->persist.callback.n_clients)
+ {
+ const int nclients = (*man->persist.callback.n_clients) (man->persist.callback.arg);
+ setenv_int (es, "n_clients", nclients);
+ }
+ man_output_env (es, false);
+ gc_free (&gc);
}
void
@@ -2069,16 +2145,21 @@
if (mdac->flags & DAF_CONNECTION_ESTABLISHED)
mode = "REAUTH";
msg (M_CLIENT, ">CLIENT:%s,%lu,%u", mode, mdac->cid, mda_key_id);
- man_output_env (es);
+ man_output_extra_env (management);
+ man_output_env (es, true);
mdac->flags |= DAF_INITIAL_AUTH;
}
}
void
management_connection_established (struct management *management,
- struct man_def_auth_context *mdac)
+ struct man_def_auth_context *mdac,
+ const struct env_set *es)
{
mdac->flags |= DAF_CONNECTION_ESTABLISHED;
+ msg (M_CLIENT, ">CLIENT:ESTABLISHED,%lu", mdac->cid);
+ man_output_extra_env (management);
+ man_output_env (es, true);
}
void
@@ -2089,7 +2170,7 @@
if ((mdac->flags & DAF_INITIAL_AUTH) && !(mdac->flags & DAF_CONNECTION_CLOSED))
{
msg (M_CLIENT, ">CLIENT:DISCONNECT,%lu", mdac->cid);
- man_output_env (es);
+ man_output_env (es, true);
mdac->flags |= DAF_CONNECTION_CLOSED;
}
}
@@ -2242,7 +2323,8 @@
{
if (net_events & FD_READ)
{
- man_read (man);
+ while (man_read (man) > 0)
+ ;
net_event_win32_clear_selected_events (&man->connection.ne32, FD_READ);
}
}
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/manage.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -154,6 +154,7 @@
int (*kill_by_cn) (void *arg, const char *common_name);
int (*kill_by_addr) (void *arg, const in_addr_t addr, const int port);
void (*delete_event) (void *arg, event_t event);
+ int (*n_clients) (void *arg);
#ifdef MANAGEMENT_DEF_AUTH
bool (*kill_by_cid) (void *arg, const unsigned long cid);
bool (*client_auth) (void *arg,
@@ -306,7 +307,7 @@
#ifdef MANAGEMENT_PF
# define MF_CLIENT_PF (1<<7)
#endif
-# define MF_LISTEN_UNIX (1<<8)
+# define MF_UNIX_SOCK (1<<8)
bool management_open (struct management *man,
const char *addr,
@@ -354,7 +355,8 @@
const struct env_set *es);
void management_connection_established (struct management *management,
- struct man_def_auth_context *mdac);
+ struct man_def_auth_context *mdac,
+ const struct env_set *es);
void management_notify_client_close (struct management *management,
struct man_def_auth_context *mdac,
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mbuf.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mbuf.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/memcmp.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/memdbg.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/misc.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/misc.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/missing
^
|
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@@ -33,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mroute.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mroute.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mss.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mss.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mtcp.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mtcp.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mtu.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mtu.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mudp.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/mudp.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/multi.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -503,6 +503,10 @@
dmsg (D_MULTI_DEBUG, "MULTI: multi_close_instance called");
+ /* adjust current client connection count */
+ m->n_clients += mi->n_clients_delta;
+ mi->n_clients_delta = 0;
+
/* prevent dangling pointers */
if (m->pending == mi)
multi_set_pending (m, NULL);
@@ -1688,9 +1692,13 @@
/* set flag so we don't get called again */
mi->connection_established_flag = true;
+ /* increment number of current authenticated clients */
+ ++m->n_clients;
+ --mi->n_clients_delta;
+
#ifdef MANAGEMENT_DEF_AUTH
if (management)
- management_connection_established (management, &mi->context.c2.mda_context);
+ management_connection_established (management, &mi->context.c2.mda_context, mi->context.c2.es);
#endif
gc_free (&gc);
@@ -2437,6 +2445,13 @@
}
static int
+management_callback_n_clients (void *arg)
+{
+ struct multi_context *m = (struct multi_context *) arg;
+ return m->n_clients;
+}
+
+static int
management_callback_kill_by_cn (void *arg, const char *del_cn)
{
struct multi_context *m = (struct multi_context *) arg;
@@ -2598,6 +2613,7 @@
cb.kill_by_cn = management_callback_kill_by_cn;
cb.kill_by_addr = management_callback_kill_by_addr;
cb.delete_event = management_delete_event;
+ cb.n_clients = management_callback_n_clients;
#ifdef MANAGEMENT_DEF_AUTH
cb.kill_by_cid = management_kill_by_cid;
cb.client_auth = management_client_auth;
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/multi.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -83,6 +83,7 @@
#endif
bool connection_established_flag;
bool did_iroutes;
+ int n_clients_delta; /* added to multi_context.n_clients when instance is closed */
struct context context;
};
@@ -114,6 +115,7 @@
int max_clients;
int tcp_queue_limit;
int status_file_version;
+ int n_clients; /* current number of authenticated clients */
#ifdef MANAGEMENT_DEF_AUTH
struct hash *cid_hash;
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ntlm.c
^
|
@@ -207,7 +207,7 @@
char *ntlmv2_blob = ntlmv2_response + 16; /* inside ntlmv2_response, length: 128 */
int ntlmv2_blob_size=0;
int phase3_bufpos = 0x40; /* offset to next security buffer data to be added */
- int len;
+ size_t len;
char domain[128];
char username[128];
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/occ-inline.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/occ.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/occ.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/openvpn-plugin.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/openvpn.8
^
|
@@ -4,7 +4,7 @@
.\" packet encryption, packet authentication, and
.\" packet compression.
.\"
-.\" Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+.\" Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License version 2
@@ -21,25 +21,28 @@
.\" 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
.\"
.\" Manual page for openvpn
+.\
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
+.\
+.\" .nf -- no formatting
+.\" .fi -- resume formatting
+.\" .ft 3 -- boldface
+.\" .ft -- normal face
+.\" .in +|-{n} -- indent
+.\"
.TH openvpn 8 "17 November 2008"
.\"*********************************************************
.SH NAME
openvpn \- secure IP tunnel daemon.
.\"*********************************************************
.SH SYNOPSIS
-.LP
-.nh
-.in +4
-.ti -4
-.B openvpn [ options ... ]
-.in -4
-.ti +4
-.hy
+.ft 3
+openvpn [ options ... ]
+.ft
.\"*********************************************************
.SH INTRODUCTION
.LP
@@ -128,31 +131,27 @@
escaping for characters not in single quotations,
so the following mappings should be observed:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
\\\\ Maps to a single backslash character (\\).
\\" Pass a literal doublequote character ("), don't
interpret it as enclosing a parameter.
\\[SPACE] Pass a literal space or tab character, don't
interpret it as a parameter delimiter.
+.in -4
.ft
-.LP
-.RE
.fi
For example on Windows, use double backslashes to
represent pathnames:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
secret "c:\\\\OpenVPN\\\\secret.key"
+.in -4
.ft
-.LP
-.RE
.fi
For examples of configuration files,
@@ -160,10 +159,10 @@
.I http://openvpn.net/examples.html
Here is an example configuration file:
-.RS
-.ft 3
+
.nf
-.sp
+.ft 3
+.in +4
#
# Sample OpenVPN configuration file for
# using a pre-shared static key.
@@ -182,9 +181,8 @@
# Our pre-shared static key
secret static.key
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.SS Tunnel Options:
@@ -291,10 +289,9 @@
Here is an example of connection profile usage:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
client
dev tun
@@ -323,9 +320,8 @@
pkcs12 client.p12
ns-cert-type server
verb 3
+.in -4
.ft
-.LP
-.RE
.fi
First we try to connect to a server at 198.19.34.56:1194 using UDP.
@@ -671,12 +667,12 @@
You must use either tun devices on both ends of the connection
or tap devices on both ends. You cannot mix them, as they
-represent different underlying protocols.
+represent different underlying network layers.
.B tun
-devices encapsulate IPv4 or IPv6 while
+devices encapsulate IPv4 or IPv6 (OSI Layer 3) while
.B tap
-devices encapsulate Ethernet 802.3.
+devices encapsulate Ethernet 802.3 (OSI Layer 2).
.\"*********************************************************
.TP
.B --dev-type device-type
@@ -684,8 +680,10 @@
.B device-type
should be
.B tun
+(OSI Layer 3)
or
-.B tap.
+.B tap
+(OSI Layer 2).
Use this option only if the TUN/TAP device used with
.B --dev
does not begin with
@@ -1482,10 +1480,9 @@
.B --keepalive 10 60
expands as follows:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
if mode server:
ping 10
ping-restart 120
@@ -1494,9 +1491,8 @@
else
ping 10
ping-restart 60
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.TP
@@ -2177,15 +2173,13 @@
file, specify the compression setting for the client,
for example:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
comp-lzo yes
push "comp-lzo yes"
+.in -4
.ft
-.LP
-.RE
.fi
The first line sets the
@@ -2383,10 +2377,9 @@
.B --server 10.8.0.0 255.255.255.0
expands as follows:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
mode server
tls-server
push "topology [topology]"
@@ -2406,9 +2399,8 @@
if !nopool:
ifconfig-pool 10.8.0.2 10.8.0.254 255.255.255.0
push "route-gateway 10.8.0.1"
+.in -4
.ft
-.LP
-.RE
.fi
Don't use
@@ -2418,7 +2410,9 @@
instead.
.\"*********************************************************
.TP
-.B --server-bridge [ gateway netmask pool-start-IP pool-end-IP ]
+.B --server-bridge gateway netmask pool-start-IP pool-end-IP
+.TP
+.B --server-bridge ['nogw']
A helper directive similar to
.B --server
@@ -2433,7 +2427,10 @@
on the OpenVPN server-side LAN.
Note that only clients that support
the binding of a DHCP client with the TAP adapter (such as
-Windows) can support this mode.
+Windows) can support this mode. The optional
+.B nogw
+flag (advanced) indicates that gateway information should not be
+pushed to the client.
To configure ethernet bridging, you
must first use your OS's bridging capability
@@ -2470,35 +2467,44 @@
.B server-bridge 10.8.0.4 255.255.255.0 10.8.0.128 10.8.0.254
expands as follows:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
mode server
tls-server
ifconfig-pool 10.8.0.128 10.8.0.254 255.255.255.0
push "route-gateway 10.8.0.4"
+.in -4
.ft
-.LP
-.RE
.fi
In another example,
.B --server-bridge
(without parameters) expands as follows:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
mode server
tls-server
push "route-gateway dhcp"
+.in -4
+.ft
+.fi
+
+Or
+.B --server-bridge nogw
+expands as follows:
+
+.nf
+.ft 3
+.in +4
+mode server
+tls-server
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.TP
@@ -2878,16 +2884,14 @@
The macro expands as follows:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
if mode server:
socket-flags TCP_NODELAY
push "socket-flags TCP_NODELAY"
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.TP
@@ -3148,15 +3152,13 @@
A helper directive designed to simplify the configuration
of OpenVPN's client mode. This directive is equivalent to:
-.RS
-.ft 3
.nf
-.sp
+.ft 3
+.in +4
pull
tls-client
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.TP
@@ -3364,7 +3366,9 @@
.B --show-ciphers
option.
-OpenVPN supports the CBC, CFB, and OFB cipher modes.
+OpenVPN supports the CBC, CFB, and OFB cipher modes,
+however CBC is recommended and CFB and OFB should
+be considered advanced modes.
Set
.B alg=none
@@ -3412,7 +3416,7 @@
.\"*********************************************************
.TP
.B --no-replay
-Disable OpenVPN's protection against replay attacks.
+(Advanced) Disable OpenVPN's protection against replay attacks.
Don't use this option unless you are prepared to make
a tradeoff of greater efficiency in exchange for less
security.
@@ -3575,7 +3579,7 @@
.\"*********************************************************
.TP
.B --no-iv
-Disable OpenVPN's use of IV (cipher initialization vector).
+(Advanced) Disable OpenVPN's use of IV (cipher initialization vector).
Don't use this option unless you are prepared to make
a tradeoff of greater efficiency in exchange for less
security.
@@ -4834,6 +4838,14 @@
saved in the environment, used as a common name, translated to a filename,
etc.
+.B Q:
+Can string remapping be disabled?
+
+.B A:
+Yes, by using the
+.B --no-name-remapping
+option, however this should be considered an advanced option.
+
Here is a brief rundown of OpenVPN's current string types and the
permitted character class for each string:
@@ -5327,10 +5339,10 @@
in sample-keys (client.crt).
Note that the verification level is 0 for the client certificate
and 1 for the CA certificate.
-.RS
-.ft 3
+
.nf
-.sp
+.ft 3
+.in +4
X509_0_emailAddress=me@myhost.mydomain
X509_0_CN=Test-Client
X509_0_O=OpenVPN-TEST
@@ -5341,9 +5353,8 @@
X509_1_L=BISHKEK
X509_1_ST=NA
X509_1_C=KG
+.in -4
.ft
-.LP
-.RE
.fi
.\"*********************************************************
.SH SIGNALS
@@ -5736,12 +5747,10 @@
Go here to download the latest version of OpenVPN, subscribe
to the mailing lists, read the mailing list
-archives, or browse the CVS repository.
+archives, or browse the SVN repository.
.\"*********************************************************
.SH BUGS
-Report all bugs to the OpenVPN users list <openvpn-users@lists.sourceforge.net>.
-To subscribe to the list or see the archives, go to
-.I http://openvpn.net/mail.html
+Report all bugs to the OpenVPN team <info@openvpn.net>.
.\"*********************************************************
.SH "SEE ALSO"
.BR dhcpcd (8),
@@ -5765,7 +5774,7 @@
.I http://www.oberhumer.com/opensource/lzo/
.\"*********************************************************
.SH COPYRIGHT
-Copyright (C) 2002-2008 OpenVPN Technologies, Inc. This program is free software;
+Copyright (C) 2002-2009 OpenVPN Technologies, Inc. This program is free software;
you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/openvpn.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/openvpn.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/openvpn.spec
^
|
@@ -16,7 +16,7 @@
Summary: OpenVPN is a robust and highly flexible VPN daemon by James Yonan.
Name: openvpn
-Version: 2.1_rc15
+Version: 2.1_rc19
Release: 1
URL: http://openvpn.net/
Source0: http://prdownloads.sourceforge.net/openvpn/%{name}-%{version}.tar.gz
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/options.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -182,7 +182,7 @@
" by server EXCEPT for routes.\n"
"--allow-pull-fqdn : Allow client to pull DNS names from server for\n"
" --ifconfig, --route, and --route-gateway.\n"
- "--redirect-gateway [flags]: (Experimental) Automatically execute routing\n"
+ "--redirect-gateway [flags]: Automatically execute routing\n"
" commands to redirect all outgoing IP traffic through the\n"
" VPN. Add 'local' flag if both " PACKAGE_NAME " servers are directly\n"
" connected via a common subnet, such as with WiFi.\n"
@@ -190,6 +190,8 @@
" and 128.0.0.0/1 rather than 0.0.0.0/0. Add 'bypass-dhcp'\n"
" flag to add a direct route to DHCP server, bypassing tunnel.\n"
" Add 'bypass-dns' flag to similarly bypass tunnel for DNS.\n"
+ "--redirect-private [flags]: Like --redirect-gateway, but omit actually changing\n"
+ " the default gateway. Useful when pushing private subnets.\n"
"--setenv name value : Set a custom environmental variable to pass to script.\n"
"--setenv FORWARD_COMPATIBLE 1 : Relax config file syntax checking to allow\n"
" directives for future OpenVPN versions to be ignored.\n"
@@ -769,8 +771,8 @@
setenv_str_i (es, "proto", proto2ascii (e->proto, false), i);
setenv_str_i (es, "local", e->local, i);
setenv_int_i (es, "local_port", e->local_port, i);
- setenv_str_i (es, "remote", e->local, i);
- setenv_int_i (es, "remote_port", e->local_port, i);
+ setenv_str_i (es, "remote", e->remote, i);
+ setenv_int_i (es, "remote_port", e->remote_port, i);
#ifdef ENABLE_HTTP_PROXY
if (e->http_proxy_options)
@@ -795,6 +797,8 @@
setenv_int (es, "verb", o->verbosity);
setenv_int (es, "daemon", o->daemon);
setenv_int (es, "daemon_log_redirect", o->log);
+ setenv_unsigned (es, "daemon_start_time", time(NULL));
+ setenv_int (es, "daemon_pid", openvpn_getpid());
#ifdef ENABLE_CONNECTION
if (o->connection_list)
@@ -1583,12 +1587,8 @@
|| options->management_log_history_cache != defaults.management_log_history_cache))
msg (M_USAGE, "--management is not specified, however one or more options which modify the behavior of --management were specified");
- if ((options->management_flags & (MF_LISTEN_UNIX|MF_CONNECT_AS_CLIENT))
- == (MF_LISTEN_UNIX|MF_CONNECT_AS_CLIENT))
- msg (M_USAGE, "--management-client does not support unix domain sockets");
-
if ((options->management_client_user || options->management_client_group)
- && !(options->management_flags & MF_LISTEN_UNIX))
+ && !(options->management_flags & MF_UNIX_SOCK))
msg (M_USAGE, "--management-client-(user|group) can only be used on unix domain sockets");
#endif
@@ -2671,7 +2671,7 @@
static void
usage (void)
{
- FILE *fp = msg_fp();
+ FILE *fp = msg_fp(0);
#ifdef ENABLE_SMALL
@@ -2729,7 +2729,7 @@
{
msg (M_INFO|M_NOPREFIX, "%s", title_string);
msg (M_INFO|M_NOPREFIX, "Developed by James Yonan");
- msg (M_INFO|M_NOPREFIX, "Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>");
+ msg (M_INFO|M_NOPREFIX, "Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>");
openvpn_exit (OPENVPN_EXIT_STATUS_USAGE); /* exit point */
}
@@ -3056,7 +3056,10 @@
++level;
if (level <= max_recursive_levels)
{
- fp = fopen (file, "r");
+ if (streq (file, "stdin"))
+ fp = stdin;
+ else
+ fp = fopen (file, "r");
if (fp)
{
line_num = 0;
@@ -3073,7 +3076,8 @@
add_option (options, p, file, line_num, level, msglevel, permission_mask, option_types_found, es);
}
}
- fclose (fp);
+ if (fp != stdin)
+ fclose (fp);
}
else
{
@@ -3385,7 +3389,7 @@
if (streq (p[2], "unix"))
{
#if UNIX_SOCK_SUPPORT
- options->management_flags |= MF_LISTEN_UNIX;
+ options->management_flags |= MF_UNIX_SOCK;
#else
msg (msglevel, "MANAGEMENT: this platform does not support unix domain sockets");
goto err;
@@ -3857,6 +3861,11 @@
VERIFY_PERMISSION (OPT_P_MESSAGES);
options->mute = positive_atoi (p[1]);
}
+ else if (streq (p[0], "errors-to-stderr"))
+ {
+ VERIFY_PERMISSION (OPT_P_MESSAGES);
+ errors_to_stderr();
+ }
else if (streq (p[0], "status") && p[1])
{
VERIFY_PERMISSION (OPT_P_GENERAL);
@@ -4384,15 +4393,19 @@
VERIFY_PERMISSION (OPT_P_GENERAL);
options->allow_pull_fqdn = true;
}
- else if (streq (p[0], "redirect-gateway"))
+ else if (streq (p[0], "redirect-gateway") || streq (p[0], "redirect-private"))
{
int j;
VERIFY_PERMISSION (OPT_P_ROUTE);
rol_check_alloc (options);
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"))
+ options->routes->flags |= RG_AUTO_LOCAL;
else if (streq (p[j], "def1"))
options->routes->flags |= RG_DEF1;
else if (streq (p[j], "bypass-dhcp"))
@@ -4401,7 +4414,7 @@
options->routes->flags |= RG_BYPASS_DNS;
else
{
- msg (msglevel, "unknown --redirect-gateway flag: %s", p[j]);
+ msg (msglevel, "unknown --%s flag: %s", p[0], p[j]);
goto err;
}
}
@@ -4512,6 +4525,12 @@
options->server_bridge_pool_start = pool_start;
options->server_bridge_pool_end = pool_end;
}
+ else if (streq (p[0], "server-bridge") && p[1] && streq (p[1], "nogw"))
+ {
+ VERIFY_PERMISSION (OPT_P_GENERAL);
+ options->server_bridge_proxy_dhcp = true;
+ options->server_flags |= SF_NO_PUSH_ROUTE_GATEWAY;
+ }
else if (streq (p[0], "server-bridge") && !p[1])
{
VERIFY_PERMISSION (OPT_P_GENERAL);
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/options.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -347,6 +347,7 @@
# define SF_NOPOOL (1<<0)
# define SF_TCP_NODELAY_HELPER (1<<1)
+# define SF_NO_PUSH_ROUTE_GATEWAY (1<<2)
unsigned int server_flags;
bool server_bridge_proxy_dhcp;
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/otime.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/otime.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/packet_id.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/packet_id.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/perf.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/perf.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pf-inline.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pf.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pf.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ping-inline.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ping.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ping.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pkcs11.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -148,6 +148,8 @@
va_list args
) {
char Buffer[10*1024];
+
+ (void)global_data;
vsnprintf (Buffer, sizeof (Buffer), szFormat, args);
Buffer[sizeof (Buffer)-1] = 0;
@@ -441,7 +443,7 @@
#endif
pkcs11h_certificate_t certificate = NULL;
CK_RV rv = CKR_OK;
- char *certificate_blob = NULL;
+ unsigned char *certificate_blob = NULL;
size_t certificate_blob_size = 0;
size_t max;
char *internal_id = NULL;
@@ -541,7 +543,7 @@
goto cleanup;
}
- if ((certificate_blob = (char *)malloc (certificate_blob_size)) == NULL) {
+ if ((certificate_blob = (unsigned char *)malloc (certificate_blob_size)) == NULL) {
msg (M_FATAL, "PKCS#11: Cannot allocate memory");
goto cleanup;
}
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pkcs11.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin/auth-pam/auth-pam.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin/defer/simple.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin/down-root/down-root.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin/examples/log.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/plugin/examples/simple.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pool.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/pool.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/proto.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/proto.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -66,15 +66,15 @@
struct openvpn_arp {
# define ARP_MAC_ADDR_TYPE 0x0001
- uint16_t mac_addr_type; // 0x0001
+ uint16_t mac_addr_type; /* 0x0001 */
- uint16_t proto_addr_type; // 0x0800
- uint8_t mac_addr_size; // 0x06
- uint8_t proto_addr_size; // 0x04
+ uint16_t proto_addr_type; /* 0x0800 */
+ uint8_t mac_addr_size; /* 0x06 */
+ uint8_t proto_addr_size; /* 0x04 */
# define ARP_REQUEST 0x0001
# define ARP_REPLY 0x0002
- uint16_t arp_command; // 0x0001 for ARP request, 0x0002 for ARP reply
+ uint16_t arp_command; /* 0x0001 for ARP request, 0x0002 for ARP reply */
uint8_t mac_src[OPENVPN_ETH_ALEN];
in_addr_t ip_src;
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/proxy.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/proxy.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ps.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ps.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/push.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/push.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/reliable.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/reliable.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/route.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -50,7 +50,7 @@
int i;
for (i = 0; i < rb->n_bypass; ++i)
{
- msg (D_ROUTE_DEBUG, "ROUTE DEBUG: bypass_host_route[%d]=%s",
+ msg (D_ROUTE, "ROUTE: bypass_host_route[%d]=%s",
i,
print_in_addr_t (rb->bypass[i], 0, &gc));
}
@@ -379,7 +379,7 @@
}
else
{
- dmsg (D_ROUTE_DEBUG, "ROUTE DEBUG: default_gateway=UNDEF");
+ dmsg (D_ROUTE, "ROUTE: default_gateway=UNDEF");
}
if (rl->flags & RG_ENABLE)
@@ -531,30 +531,115 @@
}
else
{
- /* route remote host to original default gateway */
- if (!(rl->flags & RG_LOCAL))
- add_route3 (rl->spec.remote_host,
- ~0,
- rl->spec.net_gateway,
- tt,
- flags,
- es);
+ bool local = BOOL_CAST(rl->flags & RG_LOCAL);
+ if (rl->flags & RG_AUTO_LOCAL) {
+ const int tla = test_local_addr (rl->spec.remote_host);
+ if (tla == TLA_NONLOCAL)
+ {
+ dmsg (D_ROUTE, "ROUTE remote_host is NOT LOCAL");
+ local = false;
+ }
+ else if (tla == TLA_LOCAL)
+ {
+ dmsg (D_ROUTE, "ROUTE remote_host is LOCAL");
+ local = true;
+ }
+ }
+ if (!local)
+ {
+ /* route remote host to original default gateway */
+ add_route3 (rl->spec.remote_host,
+ ~0,
+ rl->spec.net_gateway,
+ tt,
+ flags,
+ es);
+ rl->did_local = true;
+ }
/* route DHCP/DNS server traffic through original default gateway */
add_bypass_routes (&rl->spec.bypass, rl->spec.net_gateway, tt, flags, es);
+ if (rl->flags & RG_REROUTE_GW)
+ {
+ if (rl->flags & RG_DEF1)
+ {
+ /* add new default route (1st component) */
+ add_route3 (0x00000000,
+ 0x80000000,
+ rl->spec.remote_endpoint,
+ tt,
+ flags,
+ es);
+
+ /* add new default route (2nd component) */
+ add_route3 (0x80000000,
+ 0x80000000,
+ rl->spec.remote_endpoint,
+ tt,
+ flags,
+ es);
+ }
+ else
+ {
+ /* delete default route */
+ del_route3 (0,
+ 0,
+ rl->spec.net_gateway,
+ tt,
+ flags,
+ es);
+
+ /* add new default route */
+ add_route3 (0,
+ 0,
+ rl->spec.remote_endpoint,
+ tt,
+ flags,
+ es);
+ }
+ }
+
+ /* set a flag so we can undo later */
+ rl->did_redirect_default_gateway = true;
+ }
+ }
+}
+
+static void
+undo_redirect_default_route_to_vpn (struct route_list *rl, const struct tuntap *tt, unsigned int flags, const struct env_set *es)
+{
+ if (rl->did_redirect_default_gateway)
+ {
+ /* delete remote host route */
+ if (rl->did_local)
+ {
+ del_route3 (rl->spec.remote_host,
+ ~0,
+ rl->spec.net_gateway,
+ tt,
+ flags,
+ es);
+ rl->did_local = false;
+ }
+
+ /* delete special DHCP/DNS bypass route */
+ del_bypass_routes (&rl->spec.bypass, rl->spec.net_gateway, tt, flags, es);
+
+ if (rl->flags & RG_REROUTE_GW)
+ {
if (rl->flags & RG_DEF1)
{
- /* add new default route (1st component) */
- add_route3 (0x00000000,
+ /* delete default route (1st component) */
+ del_route3 (0x00000000,
0x80000000,
rl->spec.remote_endpoint,
tt,
flags,
es);
- /* add new default route (2nd component) */
- add_route3 (0x80000000,
+ /* delete default route (2nd component) */
+ del_route3 (0x80000000,
0x80000000,
rl->spec.remote_endpoint,
tt,
@@ -566,78 +651,19 @@
/* delete default route */
del_route3 (0,
0,
- rl->spec.net_gateway,
+ rl->spec.remote_endpoint,
tt,
flags,
es);
- /* add new default route */
+ /* restore original default route */
add_route3 (0,
0,
- rl->spec.remote_endpoint,
+ rl->spec.net_gateway,
tt,
flags,
es);
}
-
- /* set a flag so we can undo later */
- rl->did_redirect_default_gateway = true;
- }
- }
-}
-
-static void
-undo_redirect_default_route_to_vpn (struct route_list *rl, const struct tuntap *tt, unsigned int flags, const struct env_set *es)
-{
- if (rl->did_redirect_default_gateway)
- {
- /* delete remote host route */
- if (!(rl->flags & RG_LOCAL))
- del_route3 (rl->spec.remote_host,
- ~0,
- rl->spec.net_gateway,
- tt,
- flags,
- es);
-
- /* delete special DHCP/DNS bypass route */
- del_bypass_routes (&rl->spec.bypass, rl->spec.net_gateway, tt, flags, es);
-
- if (rl->flags & RG_DEF1)
- {
- /* delete default route (1st component) */
- del_route3 (0x00000000,
- 0x80000000,
- rl->spec.remote_endpoint,
- tt,
- flags,
- es);
-
- /* delete default route (2nd component) */
- del_route3 (0x80000000,
- 0x80000000,
- rl->spec.remote_endpoint,
- tt,
- flags,
- es);
- }
- else
- {
- /* delete default route */
- del_route3 (0,
- 0,
- rl->spec.remote_endpoint,
- tt,
- flags,
- es);
-
- /* restore original default route */
- add_route3 (0,
- 0,
- rl->spec.net_gateway,
- tt,
- flags,
- es);
}
rl->did_redirect_default_gateway = false;
@@ -1530,7 +1556,7 @@
*gateway = best_gw;
if (netmask)
{
- *netmask = 0xFFFFFF00; // FIXME -- get the real netmask of the adapter containing the default gateway
+ *netmask = 0xFFFFFF00; /* FIXME -- get the real netmask of the adapter containing the default gateway */
}
ret = true;
}
@@ -2074,14 +2100,14 @@
#if defined(WIN32)
static void
-add_host_route_if_nonlocal (struct route_bypass *rb, const in_addr_t addr, const IP_ADAPTER_INFO *dgi)
+add_host_route_if_nonlocal (struct route_bypass *rb, const in_addr_t addr)
{
- if (!is_ip_in_adapter_subnet (dgi, addr, NULL) && addr != 0 && addr != ~0)
+ if (test_local_addr(addr) == TLA_NONLOCAL && addr != 0 && addr != ~0)
add_bypass_address (rb, addr);
}
static void
-add_host_route_array (struct route_bypass *rb, const IP_ADAPTER_INFO *dgi, const IP_ADDR_STRING *iplist)
+add_host_route_array (struct route_bypass *rb, const IP_ADDR_STRING *iplist)
{
while (iplist)
{
@@ -2089,7 +2115,7 @@
const in_addr_t ip = getaddr (GETADDR_HOST_ORDER, iplist->IpAddress.String, 0, &succeed, NULL);
if (succeed)
{
- add_host_route_if_nonlocal (rb, ip, dgi);
+ add_host_route_if_nonlocal (rb, ip);
}
iplist = iplist->Next;
}
@@ -2117,11 +2143,11 @@
/* Bypass DHCP server address */
if ((flags & RG_BYPASS_DHCP) && dgi && dgi->DhcpEnabled)
- add_host_route_array (rb, dgi, &dgi->DhcpServer);
+ add_host_route_array (rb, &dgi->DhcpServer);
/* Bypass DNS server addresses */
if ((flags & RG_BYPASS_DNS) && pai)
- add_host_route_array (rb, dgi, &pai->DnsServerList);
+ add_host_route_array (rb, &pai->DnsServerList);
}
gc_free (&gc);
@@ -2284,3 +2310,54 @@
#endif
#endif /* AUTO_USERID */
+
+/*
+ * Test if addr is reachable via a local interface (return ILA_LOCAL),
+ * or if it needs to be routed via the default gateway (return
+ * ILA_NONLOCAL). If the target platform doesn't implement this
+ * function, return ILA_NOT_IMPLEMENTED.
+ *
+ * Used by redirect-gateway autolocal feature
+ */
+
+#if defined(WIN32)
+
+int
+test_local_addr (const in_addr_t addr)
+{
+ struct gc_arena gc = gc_new ();
+ const in_addr_t nonlocal_netmask = 0x80000000L; /* routes with netmask <= to this are considered non-local */
+ bool ret = TLA_NONLOCAL;
+
+ /* get full routing table */
+ const MIB_IPFORWARDTABLE *rt = get_windows_routing_table (&gc);
+ if (rt)
+ {
+ int i;
+ for (i = 0; i < rt->dwNumEntries; ++i)
+ {
+ const MIB_IPFORWARDROW *row = &rt->table[i];
+ const in_addr_t net = ntohl (row->dwForwardDest);
+ const in_addr_t mask = ntohl (row->dwForwardMask);
+ if (mask > nonlocal_netmask && (addr & mask) == net)
+ {
+ ret = TLA_LOCAL;
+ break;
+ }
+ }
+ }
+
+ gc_free (&gc);
+ return ret;
+}
+
+#else
+
+
+int
+test_local_addr (const in_addr_t addr)
+{
+ return TLA_NOT_IMPLEMENTED;
+}
+
+#endif
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/route.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -82,6 +82,8 @@
#define RG_DEF1 (1<<2)
#define RG_BYPASS_DHCP (1<<3)
#define RG_BYPASS_DNS (1<<4)
+#define RG_REROUTE_GW (1<<5)
+#define RG_AUTO_LOCAL (1<<6)
struct route_option_list {
int n;
@@ -104,6 +106,7 @@
struct route_special_addr spec;
unsigned int flags;
bool did_redirect_default_gateway;
+ bool did_local;
int n;
struct route routes[MAX_ROUTES];
};
@@ -158,6 +161,17 @@
bool get_default_gateway (in_addr_t *ip, in_addr_t *netmask);
+/*
+ * Test if addr is reachable via a local interface (return ILA_LOCAL),
+ * or if it needs to be routed via the default gateway (return
+ * ILA_NONLOCAL). If the current platform doesn't implement this
+ * function, return ILA_NOT_IMPLEMENTED.
+ */
+#define TLA_NOT_IMPLEMENTED 0
+#define TLA_NONLOCAL 1
+#define TLA_LOCAL 2
+int test_local_addr (const in_addr_t addr);
+
#if AUTO_USERID
bool get_default_gateway_mac_addr (unsigned char *macaddr);
#endif
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/schedule.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/schedule.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/service-win32/Makefile.am
^
|
@@ -5,7 +5,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/service-win32/Makefile.in
^
|
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -21,7 +21,7 @@
# packet encryption, packet authentication, and
# packet compression.
#
-# Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+# Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
@@ -39,15 +39,11 @@
#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -82,7 +78,7 @@
@WIN32_TRUE@ service.$(OBJEXT)
openvpnserv_OBJECTS = $(am_openvpnserv_OBJECTS)
openvpnserv_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -97,8 +93,6 @@
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -119,6 +113,7 @@
EXEEXT = @EXEEXT@
GREP = @GREP@
IFCONFIG = @IFCONFIG@
+INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -130,6 +125,7 @@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
+MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -149,11 +145,11 @@
TAP_WIN32_MIN_MAJOR = @TAP_WIN32_MIN_MAJOR@
TAP_WIN32_MIN_MINOR = @TAP_WIN32_MIN_MINOR@
VERSION = @VERSION@
-WIN32_FALSE = @WIN32_FALSE@
-WIN32_TRUE = @WIN32_TRUE@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -165,6 +161,7 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
+builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -192,12 +189,15 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
win32datadir = @win32datadir@
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
@WIN32_TRUE@openvpnserv_SOURCES = \
@@ -243,7 +243,7 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)"
+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
@@ -266,7 +266,7 @@
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
openvpnserv$(EXEEXT): $(openvpnserv_OBJECTS) $(openvpnserv_DEPENDENCIES)
@rm -f openvpnserv$(EXEEXT)
- $(LINK) $(openvpnserv_LDFLAGS) $(openvpnserv_OBJECTS) $(openvpnserv_LDADD) $(LIBS)
+ $(LINK) $(openvpnserv_OBJECTS) $(openvpnserv_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -278,27 +278,26 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/service.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -310,8 +309,8 @@
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -321,13 +320,12 @@
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -341,22 +339,21 @@
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -372,7 +369,7 @@
all-am: Makefile $(PROGRAMS) $(DATA)
installdirs:
for dir in "$(DESTDIR)$(sbindir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
@@ -421,12 +418,20 @@
install-data-am:
+install-dvi: install-dvi-am
+
install-exec-am: install-sbinPROGRAMS
+install-html: install-html-am
+
install-info: install-info-am
install-man:
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -446,18 +451,22 @@
ps-am:
-uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS
+uninstall-am: uninstall-sbinPROGRAMS
+
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-sbinPROGRAMS ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-sbinPROGRAMS install-strip \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-sbinPROGRAMS install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am uninstall-sbinPROGRAMS
+ uninstall-am uninstall-sbinPROGRAMS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/service-win32/openvpnserv.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/session_id.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/session_id.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/shaper.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/shaper.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/sig.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/sig.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/socket.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -2703,6 +2703,16 @@
return ret;
}
+int
+socket_connect_unix (socket_descriptor_t sd,
+ struct sockaddr_un *remote)
+{
+ int status = connect (sd, (struct sockaddr *) remote, sizeof (struct sockaddr_un));
+ if (status)
+ status = openvpn_errno_socket ();
+ return status;
+}
+
void
sockaddr_unix_init (struct sockaddr_un *local, const char *path)
{
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/socket.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -421,6 +421,9 @@
socket_descriptor_t socket_accept_unix (socket_descriptor_t sd,
struct sockaddr_un *remote);
+int socket_connect_unix (socket_descriptor_t sd,
+ struct sockaddr_un *remote);
+
void sockaddr_unix_init (struct sockaddr_un *local, const char *path);
const char *sockaddr_unix_name (const struct sockaddr_un *local, const char *null);
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/socks.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/socks.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ssl.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -1716,8 +1716,8 @@
return "S_GOT_KEY";
case S_ACTIVE:
return "S_ACTIVE";
- case S_NORMAL:
- return "S_NORMAL";
+ case S_NORMAL_OP:
+ return "S_NORMAL_OP";
case S_ERROR:
return "S_ERROR";
default:
@@ -3398,14 +3398,17 @@
if ((session->opt->ssl_flags & SSLF_USERNAME_AS_COMMON_NAME))
set_common_name (session, up->username);
- msg (D_HANDSHAKE, "TLS: Username/Password authentication %s for username '%s' %s",
#ifdef ENABLE_DEF_AUTH
+ msg (D_HANDSHAKE, "TLS: Username/Password authentication %s for username '%s' %s",
ks->auth_deferred ? "deferred" : "succeeded",
+ up->username,
+ (session->opt->ssl_flags & SSLF_USERNAME_AS_COMMON_NAME) ? "[CN SET]" : "");
#else
+ msg (D_HANDSHAKE, "TLS: Username/Password authentication %s for username '%s' %s",
"succeeded",
-#endif
up->username,
(session->opt->ssl_flags & SSLF_USERNAME_AS_COMMON_NAME) ? "[CN SET]" : "");
+#endif
}
else
{
@@ -3639,8 +3642,8 @@
}
else /* assume that ks->state == S_ACTIVE */
{
- dmsg (D_TLS_DEBUG_MED, "STATE S_NORMAL");
- ks->state = S_NORMAL;
+ dmsg (D_TLS_DEBUG_MED, "STATE S_NORMAL_OP");
+ ks->state = S_NORMAL_OP;
ks->must_negotiate = 0;
}
}
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/ssl.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -230,7 +230,7 @@
#define S_SENT_KEY 4 /* client does S_SENT_KEY -> S_GOT_KEY */
#define S_GOT_KEY 5 /* server does S_GOT_KEY -> S_SENT_KEY */
#define S_ACTIVE 6 /* ready to exchange data channel packets */
-#define S_NORMAL 7 /* normal operations */
+#define S_NORMAL_OP 7 /* normal operations */
/*
* Are we ready to receive data channel packets?
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/status.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/status.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/syshead.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/common.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/constants.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
@@ -51,5 +51,6 @@
#define PACKET_QUEUE_SIZE 64 // tap -> userspace queue size
#define IRP_QUEUE_SIZE 16 // max number of simultaneous i/o operations from userspace
+#define INJECT_QUEUE_SIZE 16 // DHCP/ARP -> tap injection queue
#define TAP_LITTLE_ENDIAN // affects ntohs, htonl, etc. functions
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/dhcp.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
@@ -379,9 +379,9 @@
DHCPMSG_LEN_FULL (pkt));
// Return DHCP response to kernel
- InjectPacket (a,
- DHCPMSG_BUF (pkt),
- DHCPMSG_LEN_FULL (pkt));
+ InjectPacketDeferred (a,
+ DHCPMSG_BUF (pkt),
+ DHCPMSG_LEN_FULL (pkt));
}
else
{
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/dhcp.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/endian.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/error.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/error.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/hexdump.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/hexdump.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/i386/OemWin2k.inf.in
^
|
@@ -1,5 +1,5 @@
; ****************************************************************************
-; * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. *
+; * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. *
; * This program is free software; you can redistribute it and/or modify *
; * it under the terms of the GNU General Public License version 2 *
; * as published by the Free Software Foundation. *
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/instance.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/lock.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/macinfo.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/macinfo.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/mem.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/proto.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/prototypes.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
@@ -171,13 +171,32 @@
BOOLEAN state
);
-VOID InjectPacket
+VOID InjectPacketDeferred
(
TapAdapterPointer p_Adapter,
UCHAR *packet,
const unsigned int len
);
+VOID InjectPacketNow
+ (
+ TapAdapterPointer p_Adapter,
+ UCHAR *packet,
+ const unsigned int len
+ );
+
+// for KDEFERRED_ROUTINE and Static Driver Verifier
+//#include <wdm.h>
+//KDEFERRED_ROUTINE InjectPacketDpc;
+
+VOID InjectPacketDpc
+ (
+ KDPC *Dpc,
+ PVOID DeferredContext,
+ PVOID SystemArgument1,
+ PVOID SystemArgument2
+ );
+
VOID CheckIfDhcpAndTunMode
(
TapAdapterPointer p_Adapter
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/resource.rc
^
|
@@ -36,7 +36,7 @@
#define VER_COMPANYNAME_STR "The OpenVPN Project"
#define VER_FILEDESCRIPTION_STR "TAP-Win32 Virtual Network Driver"
#define VER_ORIGINALFILENAME_STR TAP_COMPONENT_ID ".sys"
-#define VER_LEGALCOPYRIGHT_YEARS "2003-2008"
+#define VER_LEGALCOPYRIGHT_YEARS "2003-2009"
#define VER_LEGALCOPYRIGHT_STR "OpenVPN Technologies, Inc."
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/tapdrvr.c
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
@@ -692,6 +692,8 @@
QueueFree (p_Extension->m_PacketQueue);
if (p_Extension->m_IrpQueue)
QueueFree (p_Extension->m_IrpQueue);
+ if (p_Extension->m_InjectQueue)
+ QueueFree (p_Extension->m_InjectQueue);
if (p_Extension->m_CreatedUnicodeLinkName)
RtlFreeUnicodeString (&p_Extension->m_UnicodeLinkName);
@@ -717,8 +719,14 @@
if (p_Extension->m_TapName)
MemFree (p_Extension->m_TapName, NAME_BUFFER_SIZE);
+ if (p_Extension->m_InjectDpcInitialized)
+ KeRemoveQueueDpc (&p_Extension->m_InjectDpc);
+
if (p_Extension->m_AllocatedSpinlocks)
- NdisFreeSpinLock (&p_Extension->m_QueueLock);
+ {
+ NdisFreeSpinLock (&p_Extension->m_QueueLock);
+ NdisFreeSpinLock (&p_Extension->m_InjectLock);
+ }
}
//========================================================================
@@ -932,19 +940,28 @@
//========================================================
NdisAllocateSpinLock (&p_Extension->m_QueueLock);
+ NdisAllocateSpinLock (&p_Extension->m_InjectLock);
p_Extension->m_AllocatedSpinlocks = TRUE;
p_Extension->m_PacketQueue = QueueInit (PACKET_QUEUE_SIZE);
p_Extension->m_IrpQueue = QueueInit (IRP_QUEUE_SIZE);
-
+ p_Extension->m_InjectQueue = QueueInit (INJECT_QUEUE_SIZE);
if (!p_Extension->m_PacketQueue
- || !p_Extension->m_IrpQueue)
+ || !p_Extension->m_IrpQueue
+ || !p_Extension->m_InjectQueue)
{
DEBUGP (("[%s] couldn't alloc TAP queues\n", p_Name));
l_Return = NDIS_STATUS_RESOURCES;
goto cleanup;
}
+ //=================================================================
+ // Initialize deferred procedure call for DHCP/ARP packet injection
+ //=================================================================
+
+ KeInitializeDpc (&p_Extension->m_InjectDpc, InjectPacketDpc, NULL);
+ p_Extension->m_InjectDpcInitialized = TRUE;
+
//========================
// Finalize initialization
//========================
@@ -1808,9 +1825,9 @@
NULL,
STRSAFE_FILL_BEHIND_NULL | STRSAFE_IGNORE_NULLS,
#if PACKET_TRUNCATION_CHECK
- "State=%s Err=[%s/%d] #O=%d Tx=[%d,%d,%d] Rx=[%d,%d,%d] IrpQ=[%d,%d,%d] PktQ=[%d,%d,%d]",
+ "State=%s Err=[%s/%d] #O=%d Tx=[%d,%d,%d] Rx=[%d,%d,%d] IrpQ=[%d,%d,%d] PktQ=[%d,%d,%d] InjQ=[%d,%d,%d]",
#else
- "State=%s Err=[%s/%d] #O=%d Tx=[%d,%d] Rx=[%d,%d] IrpQ=[%d,%d,%d] PktQ=[%d,%d,%d]",
+ "State=%s Err=[%s/%d] #O=%d Tx=[%d,%d] Rx=[%d,%d] IrpQ=[%d,%d,%d] PktQ=[%d,%d,%d] InjQ=[%d,%d,%d]",
#endif
state,
g_LastErrorFilename,
@@ -1831,7 +1848,10 @@
(int)IRP_QUEUE_SIZE,
(int)l_Adapter->m_Extension.m_PacketQueue->size,
(int)l_Adapter->m_Extension.m_PacketQueue->max_size,
- (int)PACKET_QUEUE_SIZE
+ (int)PACKET_QUEUE_SIZE,
+ (int)l_Adapter->m_Extension.m_InjectQueue->size,
+ (int)l_Adapter->m_Extension.m_InjectQueue->max_size,
+ (int)INJECT_QUEUE_SIZE
);
p_IRP->IoStatus.Information
@@ -2519,15 +2539,16 @@
IoCompleteRequest (p_IRP, IO_NO_INCREMENT);
}
-//====================================
-// Exhaust packet and IRP queues.
-//====================================
+//===========================================
+// Exhaust packet, IRP, and injection queues.
+//===========================================
VOID
FlushQueues (TapExtensionPointer p_Extension)
{
PIRP l_IRP;
TapPacketPointer l_PacketBuffer;
- int n_IRP=0, n_Packet=0;
+ InjectPacketPointer l_InjectBuffer;
+ int n_IRP=0, n_Packet=0, n_Inject=0;
MYASSERT (p_Extension);
MYASSERT (p_Extension->m_TapDevice);
@@ -2560,15 +2581,32 @@
break;
}
+ while (TRUE)
+ {
+ NdisAcquireSpinLock (&p_Extension->m_InjectLock);
+ l_InjectBuffer = QueuePop (p_Extension->m_InjectQueue);
+ NdisReleaseSpinLock (&p_Extension->m_InjectLock);
+ if (l_InjectBuffer)
+ {
+ ++n_Inject;
+ INJECT_PACKET_FREE(l_InjectBuffer);
+ }
+ else
+ break;
+ }
+
DEBUGP ((
- "[%s] [TAP] FlushQueues n_IRP=[%d,%d,%d] n_Packet=[%d,%d,%d]\n",
+ "[%s] [TAP] FlushQueues n_IRP=[%d,%d,%d] n_Packet=[%d,%d,%d] n_Inject=[%d,%d,%d]\n",
p_Extension->m_TapName,
n_IRP,
p_Extension->m_IrpQueue->max_size,
IRP_QUEUE_SIZE,
n_Packet,
p_Extension->m_PacketQueue->max_size,
- PACKET_QUEUE_SIZE
+ PACKET_QUEUE_SIZE,
+ n_Inject,
+ p_Extension->m_InjectQueue->max_size,
+ INJECT_QUEUE_SIZE
));
}
@@ -2667,7 +2705,7 @@
(unsigned char *) arp,
sizeof (ARP_PACKET));
- InjectPacket (p_Adapter, (UCHAR *) arp, sizeof (ARP_PACKET));
+ InjectPacketDeferred (p_Adapter, (UCHAR *) arp, sizeof (ARP_PACKET));
MemFree (arp, sizeof (ARP_PACKET));
}
@@ -2684,10 +2722,60 @@
// seen as an incoming packet "arriving" on the interface.
//===============================================================
+// Defer packet injection till IRQL < DISPATCH_LEVEL
+VOID
+InjectPacketDeferred (TapAdapterPointer p_Adapter,
+ UCHAR *packet,
+ const unsigned int len)
+{
+ InjectPacketPointer l_InjectBuffer;
+ PVOID result;
+
+ if (NdisAllocateMemoryWithTag (&l_InjectBuffer,
+ INJECT_PACKET_SIZE (len),
+ 'IPAT') == NDIS_STATUS_SUCCESS)
+ {
+ l_InjectBuffer->m_Size = len;
+ NdisMoveMemory (l_InjectBuffer->m_Data, packet, len);
+ NdisAcquireSpinLock (&p_Adapter->m_Extension.m_InjectLock);
+ result = QueuePush (p_Adapter->m_Extension.m_InjectQueue, l_InjectBuffer);
+ NdisReleaseSpinLock (&p_Adapter->m_Extension.m_InjectLock);
+ if (result)
+ KeInsertQueueDpc (&p_Adapter->m_Extension.m_InjectDpc, p_Adapter, NULL);
+ else
+ INJECT_PACKET_FREE(l_InjectBuffer);
+ }
+}
+
+// Handle the injection of previously deferred packets
VOID
-InjectPacket (TapAdapterPointer p_Adapter,
- UCHAR *packet,
- const unsigned int len)
+InjectPacketDpc(KDPC *Dpc,
+ PVOID DeferredContext,
+ PVOID SystemArgument1,
+ PVOID SystemArgument2)
+{
+ InjectPacketPointer l_InjectBuffer;
+ TapAdapterPointer l_Adapter = (TapAdapterPointer)SystemArgument1;
+ while (TRUE)
+ {
+ NdisAcquireSpinLock (&l_Adapter->m_Extension.m_InjectLock);
+ l_InjectBuffer = QueuePop (l_Adapter->m_Extension.m_InjectQueue);
+ NdisReleaseSpinLock (&l_Adapter->m_Extension.m_InjectLock);
+ if (l_InjectBuffer)
+ {
+ InjectPacketNow(l_Adapter, l_InjectBuffer->m_Data, l_InjectBuffer->m_Size);
+ INJECT_PACKET_FREE(l_InjectBuffer);
+ }
+ else
+ break;
+ }
+}
+
+// Do packet injection now
+VOID
+InjectPacketNow (TapAdapterPointer p_Adapter,
+ UCHAR *packet,
+ const unsigned int len)
{
MYASSERT (len >= ETHERNET_HEADER_SIZE);
@@ -2699,6 +2787,9 @@
// TapDeviceHook/IRP_MJ_WRITE.
//
// The DDK docs imply that this is okay.
+ //
+ // Note that reentrant behavior could only occur if the
+ // non-deferred version of InjectPacket is used.
//------------------------------------------------------------
NdisMEthIndicateReceive
(p_Adapter->m_MiniportAdapterHandle,
@@ -2713,7 +2804,7 @@
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
- DEBUGP (("[%s] NdisMEthIndicateReceive failed in InjectPacket\n",
+ DEBUGP (("[%s] NdisMEthIndicateReceive failed in InjectPacketNow\n",
NAME (p_Adapter)));
NOTE_ERROR ();
}
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tap-win32/types.h
^
|
@@ -4,7 +4,7 @@
*
* This code was inspired by the CIPE-Win32 driver by Damion K. Wilson.
*
- * This source code is Copyright (C) 2002-2008 OpenVPN Technologies, Inc.,
+ * This source code is Copyright (C) 2002-2009 OpenVPN Technologies, Inc.,
* and is released under the GPL version 2 (see below), however due
* to the extra costs of supporting Windows Vista, OpenVPN Solutions
* LLC reserves the right to change the terms of the TAP-Win32/TAP-Win64
@@ -86,6 +86,12 @@
// Flags
BOOLEAN m_TapIsRunning;
BOOLEAN m_CalledTapDeviceFreeResources;
+
+ // DPC queue for deferred packet injection
+ BOOLEAN m_InjectDpcInitialized;
+ KDPC m_InjectDpc;
+ NDIS_SPIN_LOCK m_InjectLock;
+ Queue *m_InjectQueue;
}
TapExtension, *TapExtensionPointer;
@@ -99,6 +105,15 @@
}
TapPacket, *TapPacketPointer;
+typedef struct _InjectPacket
+ {
+# define INJECT_PACKET_SIZE(data_size) (sizeof (InjectPacket) + (data_size))
+# define INJECT_PACKET_FREE(ib) NdisFreeMemory ((ib), INJECT_PACKET_SIZE ((ib)->m_Size), 0)
+ ULONG m_Size;
+ UCHAR m_Data []; // m_Data must be the last struct member
+ }
+InjectPacket, *InjectPacketPointer;
+
typedef struct _TapAdapter
{
# define NAME(a) ((a)->m_NameAnsi.Buffer)
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/thread.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/thread.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tun.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/tun.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/version.m4
^
|
@@ -1,5 +1,5 @@
dnl define the OpenVPN version
-define(PRODUCT_VERSION,[2.1_rc15])
+define(PRODUCT_VERSION,[2.1_rc19])
dnl define the TAP version
define(PRODUCT_TAP_ID,[tap0901])
define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9])
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/win32.c
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
|
[-]
[+]
|
Changed |
openvpn-2.1_rc19.tar.gz/win32.h
^
|
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2002-2008 OpenVPN Technologies, Inc. <sales@openvpn.net>
+ * Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -112,7 +112,7 @@
void net_event_win32_stop (struct net_event_win32 *ne);
void net_event_win32_close (struct net_event_win32 *ne);
-static bool
+static inline bool
net_event_win32_defined (const struct net_event_win32 *ne)
{
return defined_net_event_win32 (&ne->handle);
|