Go to file
Fabian Knittel 0c8c50ca93 client-connect: Split multi_connection_established into separate functions
This patch splits up the multi_connection_established() function.  Each new
helper function does a specific job.  Functions that do a similar job
receive a similar calling interface.

The patch tries not to reindent code, so that the real changes are as
clearly visible as possible.  (A follow-up patch will only do indentation
changes.)

Signed-off-by: Fabian Knittel <fabian.knittel@lettink.de>

PATCH v3: Since the code has changed enough from the time the original
patch to the current master, the splitting has been redone from the
current code.  Also some style and minor code changes have been added
doing this patch.  This and the big reformatting done before eliminates
the follow up patch with only indentation changes.

The original patch already replaced some instances of
option_permission_mask with CLIENT_CONNECT_OPT_MASK. The V3 version does
this more consistently.

Patch v4: Move config -> mi->cc_config into its own commit

Patch v5: Clean up some minor issues, add one missing check on
temporary file deletion, rebase on latest master.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Antonio Quartulli <antonio@openvpn.net>
Message-Id: <20200711093655.23686-2-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20289.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
2020-07-14 10:45:47 +02:00
.github github: Add PR template with contributor related information 2017-02-06 11:26:05 +01:00
.travis Fetch OpenSSL versions via source/old links 2020-04-01 14:49:46 +02:00
build win: support for Visual Studio 2017 2018-10-01 08:16:29 +02:00
contrib Update copyright to include 2018 plus company name change 2018-02-01 08:29:21 +01:00
debug build: standard directory layout 2012-03-22 22:07:08 +01:00
dev-tools uncrustify openvpn/ sources 2018-12-12 13:43:17 +01:00
distro cleanup: Remove RPM openvpn.spec build approach 2019-02-28 16:54:02 +01:00
doc Make compression asymmetric by default and add warnings 2020-06-26 14:34:47 +02:00
include Set the correct mtu on windows based systems 2020-06-10 17:06:06 +02:00
m4 Fix various spelling mistakes 2019-02-06 19:07:34 +01:00
sample Change client side of t_lpback.sh configs to use inline material. 2020-05-13 17:09:53 +02:00
src client-connect: Split multi_connection_established into separate functions 2020-07-14 10:45:47 +02:00
tests t_client.sh: correctly report all failed instances in summary 2020-07-03 23:50:44 +02:00
.git-blame-ignore-revs Add c1ff8f247f (engine, pool, SSO) to .git-blame-ignore-revs 2020-06-26 15:03:39 +02:00
.gitattributes cleanup: add .gitattributes to control eol style explicitly 2012-04-26 20:54:26 +02:00
.gitignore cmocka: use relative paths 2019-04-17 22:04:53 +02:00
.mailmap Update .mailmap to unify and clean up odd names and e-mail addresses 2016-10-18 13:46:04 +02:00
.svncommitters Added mapping files from SVN commit ID to more descriptive commit IDs. 2010-10-21 11:31:26 +02:00
.travis.yml travis-ci: add arm64, s390x builds. 2020-03-24 16:32:55 +01:00
AUTHORS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
ChangeLog Update copyright to include 2018 plus company name change 2018-02-01 08:29:21 +01:00
Changes.rst Deprecate ncp-disable and add improved ncp to Changes.rst 2020-07-09 17:45:03 +02:00
compat.m4 copyright: Update GPLv2 license texts 2017-06-16 10:38:03 +02:00
config-msvc-version.h.in Fix Building Using MSVC 2017-03-16 08:55:33 +01:00
config-msvc.h msvc: OpenSSL 1.1.x support 2019-11-02 21:31:53 +01:00
configure.ac Add unit tests for engine keys 2020-06-23 08:16:35 +02:00
CONTRIBUTING.rst Update CONTRIBUTING.rst to allow GitHub PRs for code review purposes 2016-05-19 11:22:50 +02:00
COPYING Update copyright to include 2018 plus company name change 2018-02-01 08:29:21 +01:00
COPYRIGHT.GPL copyright: Update GPLv2 license texts 2017-06-16 10:38:03 +02:00
INSTALL Implement --genkey type keyfile syntax and migrate tls-crypt-v2 2019-07-05 12:32:49 +02:00
Makefile.am Remove cmocka submodule, rely on system-wide installation instead. 2019-06-24 20:43:58 +02:00
msvc-build.bat win: support for Visual Studio 2017 2018-10-01 08:16:29 +02:00
msvc-dev.bat win: support for Visual Studio 2017 2018-10-01 08:16:29 +02:00
msvc-env.bat win: support for Visual Studio 2017 2018-10-01 08:16:29 +02:00
NEWS This is the start of the BETA21 branch. 2005-09-26 05:28:27 +00:00
openvpn.sln Introduce tapctl.exe utility and openvpnmsica.dll MSI CA 2019-01-17 15:31:18 +01:00
PORTS Update copyright to include 2018 plus company name change 2018-02-01 08:29:21 +01:00
README Update copyright to include 2018 plus company name change 2018-02-01 08:29:21 +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.mbedtls docs: Replace all PolarSSL references to mbed TLS 2017-09-06 23:42:55 +02:00
TODO.IPv6 Fix various spelling mistakes 2019-02-06 19:07:34 +01:00
version.m4 Bump master to version 2.5_git 2016-12-21 21:59:35 +01: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-2018 OpenVPN 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.

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

To get the latest release of OpenVPN, go to:

	https://openvpn.net/index.php/download/community-downloads.html

To Build and Install,

	tar -zxf openvpn-<version>.tar.gz
	cd openvpn-<version>
	./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

To report an issue, see
  https://community.openvpn.net/openvpn/report

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

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

Other Files & Directories:

* 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.