0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-20 12:02:28 +02:00
OpenVPN is an open source VPN daemon
Go to file
Steffan Karger b064b8111c Fix potential null-pointer dereference
Commit a070f75b (master branch only) changed the openvpn_encrypt logic and
now prepends the contents of the work buffer to buf if no encryption is
used (which is the case for tls-auth packets).  In that case, the code
would potentially dereference a null-pointer in a memcpy(some-dest, 0, 0)
call.  Fortunately, memcpy() inplementations usually do not actually
derefence the src (or dst) pointer for zero-length copies.

And since I'm touching this code now anyway, remove a slightly confusing
jump back to a cleanup label in openvpn_encrypt_aead().

Issue spotted by Daniel Hirche.

Signed-off-by: Steffan Karger <steffan@karger.me>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1459528980-8304-1-git-send-email-steffan@karger.me>
URL: http://article.gmane.org/gmane.network.openvpn.devel/11372
Signed-off-by: Gert Doering <gert@greenie.muc.de>
2016-04-01 20:35:14 +02:00
build Generate openvpn-plugin.h for MSVC build 2015-10-22 19:47:28 +02:00
contrib Fix OCSP_check.sh 2016-02-25 16:03:19 +01:00
debug build: standard directory layout 2012-03-22 22:07:08 +01:00
distro Include systemd units in the source tarball (make dist) 2014-12-02 21:42:11 +01:00
doc Add AEAD cipher support (GCM) 2016-02-15 20:19:19 +01:00
include Add support for block-outside-dns through the interactive service 2016-03-06 19:28:25 +01:00
m4 build: ax_varargs.m4: fixups 2012-03-26 14:33:15 +02:00
sample sample-plugin: TLS Keying Material Exporter [RFC-5705] demonstration plug-in 2015-10-10 00:03:07 +02:00
src Fix potential null-pointer dereference 2016-04-01 20:35:14 +02:00
tests Revert "Enforce "serial-tests" behaviour for tests/Makefile" 2015-05-28 11:09:50 +02:00
.gitattributes cleanup: add .gitattributes to control eol style explicitly 2012-04-26 20:54:26 +02:00
.gitignore Ignore stamp-h2 we generate during build process 2016-01-08 15:10:20 +01:00
.mailmap Added mapping files from SVN commit ID to more descriptive commit IDs. 2010-10-21 11:31:26 +02:00
.svncommitters Added mapping files from SVN commit ID to more descriptive commit IDs. 2010-10-21 11:31:26 +02:00
AUTHORS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
ChangeLog Preparing for v2.3_beta1 2012-09-12 16:12:28 +02:00
Changes.rst Add AEAD cipher support (GCM) 2016-02-15 20:19:19 +01:00
compat.m4 build: add git revision to --version output if build from git repository 2012-06-01 15:34:49 +02:00
config-msvc-version.h.in build: win-msvc: msbuild format 2012-03-22 22:53:39 +01:00
config-msvc.h Add lz4 support to MSVC. 2016-02-26 08:36:24 +01:00
configure.ac Add AEAD cipher support (GCM) 2016-02-15 20:19:19 +01:00
CONTRIBUTING.rst Add CONTRIBUTING.rst 2015-10-10 15:48:55 +02:00
COPYING Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
COPYRIGHT.GPL This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
INSTALL configure.ac: simplify crypto library configuration 2016-01-16 21:27:11 +01:00
INSTALL-win32.txt Added cross-compilation information INSTALL-win32.txt 2013-02-03 14:47:19 +01:00
Makefile.am Minor t_client.sh cleanups 2014-04-21 13:58:11 +02:00
msvc-build.bat build: msvc: chdir with change drive to script location 2012-06-29 10:26:15 +02:00
msvc-dev.bat build: msvc: chdir with change drive to script location 2012-06-29 10:26:15 +02:00
msvc-env.bat Continuation of MSVS fixes 2015-10-06 13:17:34 +02:00
NEWS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
openvpn.sln build: msvc: upgrade to Visual Studio 2010 + fixups 2012-03-29 12:31:10 +02:00
PORTS Updated copyright date to 2010. 2010-04-28 16:31:36 +00:00
README Updated README 2013-02-03 14:47:28 +01:00
README.ec Add support for elliptic curve diffie-hellmann key exchange (ECDH) 2014-04-25 19:36:52 +02:00
README.IPv6 Update IPv6 related readme files 2014-01-03 16:01:12 +01:00
README.polarssl Update README.polarssl 2014-06-24 22:51:27 +02:00
TODO.IPv6 Update IPv6 related readme files 2014-01-03 16:01:12 +01:00
version.m4 Provide compile time OpenVPN version information to plug-ins 2015-07-27 20:48:46 +02:00
version.sh.in build: windows: install version.sh to allow installer read version 2012-03-24 00:14:23 +01:00

OpenVPN -- A Secure tunneling daemon

Copyright (C) 2002-2010 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.

*************************************************************************

For the latest version of OpenVPN, go to:

	http://openvpn.net/

To Build and Install,

	./configure
	make
	make install

or see the file INSTALL for more info.

*************************************************************************

For detailed information on OpenVPN, including examples, see the man page
  http://openvpn.net/man.html

For a sample VPN configuration, see
  http://openvpn.net/howto.html

For a description of OpenVPN's underlying protocol,
  see the file ssl.h included in the source distribution.

*************************************************************************

Other Files & Directories:

* INSTALL-win32.txt -- installation instructions
  for Windows

* configure.ac -- script to rebuild our configure
  script and makefile.

* sample/sample-scripts/verify-cn

  A sample perl script which can be used with OpenVPN's
  --tls-verify option to provide a customized authentication
  test on embedded X509 certificate fields.

* sample/sample-keys/

  Sample RSA keys and certificates.  DON'T USE THESE FILES
  FOR ANYTHING OTHER THAN TESTING BECAUSE THEY ARE TOTALLY INSECURE.

* sample/sample-config-files/

  A collection of OpenVPN config files and scripts from
  the HOWTO at http://openvpn.net/howto.html

*************************************************************************

Note that easy-rsa and tap-windows are now maintained in their own subprojects.
Their source code is available here:

  https://github.com/OpenVPN/easy-rsa
  https://github.com/OpenVPN/tap-windows

The old cross-compilation environment (domake-win) and the Python-based
buildsystem have been replaced with openvpn-build:

  https://github.com/OpenVPN/openvpn-build

See the INSTALL file for usage information.