mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-11-27 03:33:55 +08:00
b8b2d17f47
Anonymous unions/structs are technically a custom GNU C99 feature but was already widely supported by other compilers. With C11 this feature has become a standard feature so all compilers nowadays support it. Change-Id: I1ef5f6f21f0135a628a63553c39515fa4549ce87 Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Frank Lichtenheld <frank@lichtenheld.com> Message-Id: <20240710160238.190189-1-frank@lichtenheld.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg28914.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
471 lines
12 KiB
CMake
471 lines
12 KiB
CMake
|
|
/* Configuration settings */
|
|
#define CONFIGURE_DEFINES "N/A"
|
|
|
|
/* Enable async push */
|
|
#cmakedefine ENABLE_ASYNC_PUSH
|
|
|
|
/* Use mbed TLS library */
|
|
#cmakedefine ENABLE_CRYPTO_MBEDTLS
|
|
|
|
/* Use Openssl */
|
|
#cmakedefine ENABLE_CRYPTO_OPENSSL
|
|
|
|
/* Use wolfSSL crypto library */
|
|
#cmakedefine ENABLE_CRYPTO_WOLFSSL
|
|
|
|
/* Enable shared data channel offload */
|
|
#cmakedefine ENABLE_DCO
|
|
|
|
/* Enable debugging support (needed for verb>=4) */
|
|
#define ENABLE_DEBUG 1
|
|
|
|
/* We have persist tun capability */
|
|
#cmakedefine ENABLE_FEATURE_TUN_PERSIST
|
|
|
|
/* Enable internal fragmentation support */
|
|
#define ENABLE_FRAGMENT 1
|
|
|
|
/* Enable linux data channel offload */
|
|
#cmakedefine ENABLE_LINUXDCO
|
|
|
|
/* Enable LZ4 compression library */
|
|
#cmakedefine ENABLE_LZ4
|
|
|
|
/* Enable LZO compression library */
|
|
#cmakedefine ENABLE_LZO
|
|
|
|
/* Enable NTLMv2 proxy support */
|
|
#define ENABLE_NTLM 1
|
|
|
|
/* Enable management server capability */
|
|
#define ENABLE_MANAGEMENT 1
|
|
|
|
/* Enable OFB and CFB cipher modes */
|
|
#define ENABLE_OFB_CFB_MODE
|
|
|
|
/* Enable PKCS11 */
|
|
#cmakedefine ENABLE_PKCS11
|
|
|
|
/* Enable plug-in support */
|
|
#define ENABLE_PLUGIN 1
|
|
|
|
/* Enable TCP Server port sharing */
|
|
#cmakedefine ENABLE_PORT_SHARE
|
|
|
|
/* SELinux support */
|
|
#cmakedefine ENABLE_SELINUX
|
|
|
|
/* enable sitnl support */
|
|
#cmakedefine ENABLE_SITNL
|
|
|
|
/* Enable systemd integration */
|
|
/* #undef ENABLE_SYSTEMD */
|
|
|
|
/* Enable --x509-username-field feature */
|
|
#cmakedefine ENABLE_X509ALTUSERNAME
|
|
|
|
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
|
#cmakedefine HAVE_ARPA_INET_H 1
|
|
|
|
/* Define to 1 if you have the `basename' function. */
|
|
#cmakedefine HAVE_BASENAME
|
|
|
|
/* Define to 1 if you have the `chdir' function. */
|
|
#cmakedefine HAVE_CHDIR
|
|
|
|
/* Define to 1 if you have the `chroot' function. */
|
|
#cmakedefine HAVE_CHROOT
|
|
|
|
/* Define to 1 if you have the `chsize' function. */
|
|
#cmakedefine HAVE_CHSIZE
|
|
|
|
/* struct cmsghdr needed for extended socket error support */
|
|
#cmakedefine HAVE_CMSGHDR
|
|
|
|
/* git version information in config-version.h */
|
|
#cmakedefine HAVE_CONFIG_VERSION_H
|
|
|
|
/* Define to 1 if you have the `daemon' function. */
|
|
#cmakedefine HAVE_DAEMON
|
|
|
|
/* Define to 1 if you have the declaration of `SO_MARK', and to 0 if you
|
|
don't. */
|
|
#cmakedefine01 HAVE_DECL_SO_MARK
|
|
|
|
/* Define to 1 if you have the <direct.h> header file. */
|
|
#cmakedefine HAVE_DIRECT_H
|
|
|
|
/* Define to 1 if you have the `dirname' function. */
|
|
#cmakedefine HAVE_DIRNAME
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#cmakedefine HAVE_DLFCN_H
|
|
|
|
/* Define to 1 if you have the <dmalloc.h> header file. */
|
|
#cmakedefine HAVE_DMALLOC_H
|
|
|
|
/* Define to 1 if you have the `dup' function. */
|
|
#cmakedefine HAVE_DUP
|
|
|
|
/* Define to 1 if you have the `dup2' function. */
|
|
#cmakedefine HAVE_DUP2
|
|
|
|
/* Define to 1 if you have the `epoll_create' function. */
|
|
#cmakedefine HAVE_EPOLL_CREATE
|
|
|
|
/* Define to 1 if you have the <err.h> header file. */
|
|
#cmakedefine HAVE_ERR_H
|
|
|
|
/* Crypto library supports keying material exporter */
|
|
#define HAVE_EXPORT_KEYING_MATERIAL 1
|
|
|
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
#cmakedefine HAVE_FCNTL_H
|
|
|
|
/* Define to 1 if you have the `fork' function. */
|
|
#cmakedefine HAVE_FORK
|
|
#cmakedefine HAVE_EXECVE
|
|
|
|
/* Define to 1 if you have the `ftruncate' function. */
|
|
#cmakedefine HAVE_FTRUNCATE
|
|
|
|
/* Define to 1 if you have the `getgrnam' function. */
|
|
#cmakedefine HAVE_GETGRNAM
|
|
|
|
/* Define to 1 if you have the `getpeereid' function. */
|
|
#cmakedefine HAVE_GETPEEREID
|
|
|
|
/* Define to 1 if you have the `getpwnam' function. */
|
|
#cmakedefine HAVE_GETPWNAM
|
|
|
|
/* Define to 1 if you have the `getrlimit' function. */
|
|
#cmakedefine HAVE_GETRLIMIT
|
|
|
|
/* Define to 1 if you have the `getsockname' function. */
|
|
#cmakedefine HAVE_GETSOCKNAME
|
|
|
|
/* Define to 1 if you have the `gettimeofday' function. */
|
|
#cmakedefine HAVE_GETTIMEOFDAY
|
|
|
|
/* Define to 1 if you have the <grp.h> header file. */
|
|
#cmakedefine HAVE_GRP_H
|
|
|
|
/* struct in_pktinfo needed for IP_PKTINFO support */
|
|
#cmakedefine HAVE_IN_PKTINFO
|
|
|
|
/* Define to 1 if you have the <io.h> header file. */
|
|
#cmakedefine HAVE_IO_H
|
|
|
|
/* struct in_pktinfo.ipi_spec_dst needed for IP_PKTINFO support */
|
|
#cmakedefine HAVE_IPI_SPEC_DST
|
|
|
|
/* Define to 1 if you have the <libgen.h> header file. */
|
|
#cmakedefine HAVE_LIBGEN_H
|
|
|
|
/* Define to 1 if you have the <limits.h> header file. */
|
|
#define HAVE_LIMITS_H 1
|
|
|
|
/* Define to 1 if you have the <linux/if_tun.h> header file. */
|
|
#cmakedefine HAVE_LINUX_IF_TUN_H
|
|
|
|
/* Define to 1 if you have the <linux/sockios.h> header file. */
|
|
#cmakedefine HAVE_LINUX_SOCKIOS_H
|
|
|
|
/* Define to 1 if you have the <linux/types.h> header file. */
|
|
#cmakedefine HAVE_LINUX_TYPES_H
|
|
|
|
/* Define to 1 if you have the <lzo1x.h> header file. */
|
|
#define HAVE_LZO1X_H 1
|
|
|
|
/* Define to 1 if you have the `mlockall' function. */
|
|
#cmakedefine HAVE_MLOCKALL
|
|
|
|
/* struct msghdr needed for extended socket error support */
|
|
#cmakedefine HAVE_MSGHDR
|
|
|
|
/* Define to 1 if you have the <netdb.h> header file. */
|
|
#cmakedefine HAVE_NETDB_H
|
|
|
|
/* Define to 1 if you have the <netinet/in.h> header file. */
|
|
#cmakedefine HAVE_NETINET_IN_H
|
|
|
|
/* Define to 1 if you have the <netinet/ip.h> header file. */
|
|
#cmakedefine HAVE_NETINET_IP_H
|
|
|
|
/* Define to 1 if you have the <netinet/tcp.h> header file. */
|
|
#undef HAVE_NETINET_TCP_H
|
|
|
|
/* Define to 1 if you have the <net/if.h> header file. */
|
|
#cmakedefine HAVE_NET_IF_H
|
|
|
|
/* Define to 1 if you have the <net/if_tun.h> header file. */
|
|
#cmakedefine HAVE_NET_IF_TUN_H
|
|
|
|
/* Define to 1 if you have the <net/if_utun.h> header file. */
|
|
#cmakedefine01 HAVE_NET_IF_UTUN_H
|
|
|
|
/* Define to 1 if you have the <net/tun/if_tun.h> header file. */
|
|
#cmakedefine HAVE_NET_TUN_IF_TUN_H
|
|
|
|
/* Define to 1 if you have the `nice' function. */
|
|
#cmakedefine HAVE_NICE
|
|
|
|
/* Define to 1 if you have the `openlog' function. */
|
|
#cmakedefine HAVE_OPENLOG
|
|
|
|
/* OpenSSL engine support available */
|
|
#undef HAVE_OPENSSL_ENGINE
|
|
|
|
/* Define to 1 if you have the `poll' function. */
|
|
#undef HAVE_POLL
|
|
|
|
/* Define to 1 if you have the <poll.h> header file. */
|
|
#cmakedefine HAVE_POLL_H
|
|
|
|
/* Define to 1 if you have the `putenv' function. */
|
|
#undef HAVE_PUTENV
|
|
|
|
/* Define to 1 if you have the <pwd.h> header file. */
|
|
#cmakedefine HAVE_PWD_H
|
|
|
|
|
|
/* Define to 1 if you have the `recvmsg' function. */
|
|
#cmakedefine HAVE_RECVMSG
|
|
#cmakedefine HAVE_SENDMSG
|
|
|
|
/* Define to 1 if you have the <resolv.h> header file. */
|
|
#cmakedefine HAVE_RESOLV_H
|
|
|
|
/* sa_family_t, needed to hold AF_* info */
|
|
#cmakedefine HAVE_SA_FAMILY_T
|
|
|
|
/* Define to 1 if you have the `sd_booted' function. */
|
|
#undef HAVE_SD_BOOTED
|
|
|
|
/* Define to 1 if you have the `setgid' function. */
|
|
#cmakedefine HAVE_SETGID
|
|
|
|
/* Define to 1 if you have the `setgroups' function. */
|
|
#undef HAVE_SETGROUPS
|
|
|
|
/* Define to 1 if you have the `setsid' function. */
|
|
#cmakedefine HAVE_SETSID
|
|
|
|
/* Define to 1 if you have the `setsockopt' function. */
|
|
#define HAVE_SETSOCKOPT 1
|
|
|
|
/* Define to 1 if you have the `setuid' function. */
|
|
#cmakedefine HAVE_SETUID
|
|
|
|
/* Define to 1 if you have the <signal.h> header file. */
|
|
#undef HAVE_SIGNAL_H
|
|
|
|
/* Define to 1 if you have the `socket' function. */
|
|
#undef HAVE_SOCKET
|
|
|
|
/* struct sock_extended_err needed for extended socket error support */
|
|
#undef HAVE_SOCK_EXTENDED_ERR
|
|
|
|
/* Define to 1 if you have the `stat' function. */
|
|
#define HAVE_STAT 1
|
|
|
|
/* Define to 1 if you have the <stdarg.h> header file. */
|
|
#define HAVE_STDARG_H 1
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#define HAVE_STDINT_H 1
|
|
|
|
/* Define to 1 if you have the <stdio.h> header file. */
|
|
#define HAVE_STDIO_H 1
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#define HAVE_STDLIB_H 1
|
|
|
|
/* Define to 1 if you have the `strdup' function. */
|
|
#undef HAVE_STRDUP
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#define HAVE_STRINGS_H 1
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#define HAVE_STRING_H 1
|
|
|
|
/* Define to 1 if you have the `strsep' function. */
|
|
#undef HAVE_STRSEP
|
|
|
|
/* Define to 1 if you have the `syslog' function. */
|
|
#cmakedefine HAVE_SYSLOG
|
|
|
|
/* Define to 1 if you have the <syslog.h> header file. */
|
|
#cmakedefine HAVE_SYSLOG_H
|
|
|
|
/* Define to 1 if you have the `system' function. */
|
|
#undef HAVE_SYSTEM
|
|
|
|
/* Define to 1 if you have the <systemd/sd-daemon.h> header file. */
|
|
#undef HAVE_SYSTEMD_SD_DAEMON_H
|
|
|
|
/* Define to 1 if you have the <sys/epoll.h> header file. */
|
|
#cmakedefine HAVE_SYS_EPOLL_H
|
|
|
|
/* Define to 1 if you have the <sys/file.h> header file. */
|
|
#undef HAVE_SYS_FILE_H
|
|
|
|
/* Define to 1 if you have the <sys/inotify.h> header file. */
|
|
#cmakedefine HAVE_SYS_INOTIFY_H
|
|
|
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
|
#cmakedefine HAVE_SYS_IOCTL_H
|
|
|
|
/* Define to 1 if you have the <sys/kern_control.h> header file. */
|
|
#undef HAVE_SYS_KERN_CONTROL_H
|
|
|
|
/* Define to 1 if you have the <sys/mman.h> header file. */
|
|
#cmakedefine HAVE_SYS_MMAN_H
|
|
|
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
|
#cmakedefine HAVE_SYS_SOCKET_H
|
|
|
|
/* Define to 1 if you have the <sys/sockio.h> header file. */
|
|
#cmakedefine HAVE_SYS_SOCKIO_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#define HAVE_SYS_STAT_H 1
|
|
|
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
|
#cmakedefine HAVE_SYS_TIME_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the <sys/uio.h> header file. */
|
|
#cmakedefine HAVE_SYS_UIO_H
|
|
|
|
/* Define to 1 if you have the <sys/un.h> header file. */
|
|
#cmakedefine HAVE_SYS_UN_H
|
|
|
|
/* Define to 1 if you have the <sys/wait.h> header file. */
|
|
#cmakedefine HAVE_SYS_WAIT_H
|
|
|
|
/* Define to 1 if you have the <tap-windows.h> header file. */
|
|
#undef HAVE_TAP_WINDOWS_H
|
|
|
|
/* Define to 1 if you have the `time' function. */
|
|
#define HAVE_TIME 1
|
|
|
|
/* Define to 1 if you have the <time.h> header file. */
|
|
#define HAVE_TIME_H 1
|
|
|
|
/* Define to 1 if you have the <uapi.h> header file. */
|
|
#undef HAVE_UAPI_H
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#cmakedefine HAVE_UNISTD_H
|
|
|
|
/* Define to 1 if you have the <valgrind/memcheck.h> header file. */
|
|
#undef HAVE_VALGRIND_MEMCHECK_H
|
|
|
|
/* Define to 1 if you have the `vfork' function. */
|
|
#undef HAVE_VFORK
|
|
|
|
/* Define to 1 if you have the <vfork.h> header file. */
|
|
#undef HAVE_VFORK_H
|
|
|
|
/* Availability of different mbed TLS features and APIs */
|
|
#cmakedefine01 HAVE_MBEDTLS_PSA_CRYPTO_H
|
|
#define HAVE_MBEDTLS_SSL_TLS_PRF 1
|
|
#cmakedefine01 HAVE_MBEDTLS_SSL_SET_EXPORT_KEYS_CB
|
|
#cmakedefine01 HAVE_MBEDTLS_CTR_DRBG_UPDATE_RET
|
|
|
|
/* Path to ifconfig tool */
|
|
#define IFCONFIG_PATH "@IFCONFIG_PATH@"
|
|
|
|
/* Path to iproute tool */
|
|
#define IPROUTE_PATH "@IPROUTE_PATH@"
|
|
|
|
/* Path to route tool */
|
|
#define ROUTE_PATH "@ROUTE_PATH@"
|
|
|
|
/* OpenVPN version in Windows resource format - string */
|
|
#define OPENVPN_VERSION_RESOURCE @OPENVPN_VERSION_RESOURCE@
|
|
|
|
/* Name of package */
|
|
#define PACKAGE "openvpn"
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#define PACKAGE_NAME "OpenVPN"
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#define PACKAGE_STRING "OpenVPN @OPENVPN_VERSION_MAJOR@.@OPENVPN_VERSION_MINOR@@OPENVPN_VERSION_PATCH@"
|
|
|
|
/* Define to the version of this package. */
|
|
#define PACKAGE_VERSION "@OPENVPN_VERSION_MAJOR@.@OPENVPN_VERSION_MINOR@@OPENVPN_VERSION_PATCH@"
|
|
|
|
/* Path to systemd-ask-password tool */
|
|
#undef SYSTEMD_ASK_PASSWORD_PATH
|
|
|
|
/* systemd is newer than v216 */
|
|
#define SYSTEMD_NEWER_THAN_216
|
|
|
|
/* The tap-windows id */
|
|
#define TAP_WIN_COMPONENT_ID "tap0901"
|
|
|
|
/* The tap-windows version number is required for OpenVPN */
|
|
#define TAP_WIN_MIN_MAJOR 9
|
|
|
|
/* The tap-windows version number is required for OpenVPN */
|
|
#define TAP_WIN_MIN_MINOR 9
|
|
|
|
/* Are we running on Mac OS X? */
|
|
#cmakedefine TARGET_DARWIN
|
|
|
|
/* Are we running on FreeBSD? */
|
|
#cmakedefine TARGET_FREEBSD
|
|
|
|
/* Are we running on Linux? */
|
|
#cmakedefine TARGET_LINUX
|
|
|
|
/* Are we running on Solaris/OpenIndiana? */
|
|
#cmakedefine TARGET_SOLARIS
|
|
|
|
/* Are we running WIN32? */
|
|
#cmakedefine TARGET_WIN32
|
|
|
|
#define TARGET_ALIAS "@CMAKE_SYSTEM_NAME@"
|
|
|
|
/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# define _GNU_SOURCE 1
|
|
#endif
|
|
|
|
|
|
#if defined(_WIN32)
|
|
#include <inttypes.h>
|
|
typedef uint32_t in_addr_t;
|
|
typedef uint16_t in_port_t;
|
|
|
|
#define SIGHUP 1
|
|
#define SIGINT 2
|
|
#define SIGUSR1 10
|
|
#define SIGUSR2 12
|
|
#define SIGTERM 15
|
|
#endif
|
|
|
|
#if defined(_MSC_VER)
|
|
#include <BaseTsd.h>
|
|
typedef SSIZE_T ssize_t;
|
|
#define strncasecmp strnicmp
|
|
#define strcasecmp _stricmp
|
|
|
|
#define S_IRUSR _S_IREAD
|
|
#define S_IWUSR _S_IWRITE
|
|
#define R_OK 4
|
|
#define W_OK 2
|
|
#define X_OK 1
|
|
#define F_OK 0
|
|
#endif
|