For all cryptography-related functions, tinc uses the functions provided by the LibreSSL or the OpenSSL library.
If this library is not installed, you will get an error when configuring tinc for build. Support for running tinc with other cryptographic libraries installed may be added in the future.
You can use your operating system’s package manager to install this if available. Make sure you install the development AND runtime versions of this package.
If your operating system comes neither with LibreSSL or OpenSSL, you have to install one manually. It is recommended that you get the latest version of LibreSSL from https://www.libressl.org/. Instructions on how to configure, build and install this package are included within the package. Please make sure you build development and runtime libraries (which is the default).
If you installed the LibreSSL or OpenSSL libraries from source, it may be necessary to let configure know where they are, by passing configure one of the –with-openssl-* parameters. Note that you even have to use –with-openssl-* if you are using LibreSSL.
--with-openssl=DIR LibreSSL/OpenSSL library and headers prefix --with-openssl-include=DIR LibreSSL/OpenSSL headers directory (Default is OPENSSL_DIR/include) --with-openssl-lib=DIR LibreSSL/OpenSSL library directory (Default is OPENSSL_DIR/lib)
The complete source code of tinc is covered by the GNU GPL version 2. Since the license under which OpenSSL is distributed is not directly compatible with the terms of the GNU GPL https://www.openssl.org/support/faq.html#LEGAL2, we include an exemption to the GPL (see also the file COPYING.README) to allow everyone to create a statically or dynamically linked executable:
This program is released under the GPL with the additional exemption that compiling, linking, and/or using OpenSSL is allowed. You may provide binary packages linked to the OpenSSL libraries, provided that all other requirements of the GPL are met.
Since the LZO library used by tinc is also covered by the GPL, we also present the following exemption:
Hereby I grant a special exception to the tinc VPN project (https://www.tinc-vpn.org/) to link the LZO library with the OpenSSL library (https://www.openssl.org).
Markus F.X.J. Oberhumer