List supported features in tinc/tincd --version
authorKirill Isakov <is-kir@ya.ru>
Tue, 20 Jul 2021 08:49:46 +0000 (14:49 +0600)
committerGuus Sliepen <guus@tinc-vpn.org>
Tue, 20 Jul 2021 17:42:15 +0000 (19:42 +0200)
m4/libgcrypt.m4
m4/openssl.m4
src/tincctl.c
src/tincd.c

index 01c7478..42efd60 100644 (file)
@@ -30,4 +30,6 @@ AC_DEFUN([tinc_LIBGCRYPT],
     [LIBS="-lgcrypt $LIBS"],
     [AC_MSG_ERROR([libgcrypt libraries not found.])]
   )
+
+  AC_DEFINE(HAVE_LIBGCRYPT, 1, [enable libgcrypt support])
 ])
index 0ff939b..01768ce 100644 (file)
@@ -56,4 +56,6 @@ AC_DEFUN([tinc_OPENSSL],
 
   AC_CHECK_FUNCS([BN_GENCB_new ERR_remove_state RSA_set0_key], , , [#include <openssl/rsa.h>])
   AC_CHECK_FUNCS([HMAC_CTX_new], , , [#include <openssl/hmac.h>])
+
+  AC_DEFINE(HAVE_OPENSSL, 1, [enable OpenSSL support])
 ])
index 8b49c44..a6b400b 100644 (file)
@@ -93,6 +93,17 @@ static struct option const long_options[] = {
 static void version(void) {
        printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,
               BUILD_VERSION, BUILD_DATE, BUILD_TIME, PROT_MAJOR, PROT_MINOR);
+       printf("Features:"
+#ifdef HAVE_READLINE
+              " readline"
+#endif
+#ifdef HAVE_CURSES
+              " curses"
+#endif
+#ifndef DISABLE_LEGACY
+              " legacy_protocol"
+#endif
+              "\n\n");
        printf("Copyright (C) 1998-2018 Ivo Timmermans, Guus Sliepen and others.\n"
               "See the AUTHORS file for a complete list.\n\n"
               "tinc comes with ABSOLUTELY NO WARRANTY.  This is free software,\n"
index 3a3703c..bb928b0 100644 (file)
@@ -382,6 +382,41 @@ int main(int argc, char **argv) {
        if(show_version) {
                printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,
                       BUILD_VERSION, BUILD_DATE, BUILD_TIME, PROT_MAJOR, PROT_MINOR);
+               printf("Features:"
+#ifdef HAVE_OPENSSL
+                      " openssl"
+#endif
+#ifdef HAVE_LIBGCRYPT
+                      " libgcrypt"
+#endif
+#ifdef HAVE_LZO
+                      " comp_lzo"
+#endif
+#ifdef HAVE_ZLIB
+                      " comp_zlib"
+#endif
+#ifdef HAVE_LZ4
+                      " comp_lz4"
+#endif
+#ifndef DISABLE_LEGACY
+                      " legacy_protocol"
+#endif
+#ifdef ENABLE_JUMBOGRAMS
+                      " jumbograms"
+#endif
+#ifdef ENABLE_TUNEMU
+                      " tunemu"
+#endif
+#ifdef HAVE_MINIUPNPC
+                      " miniupnpc"
+#endif
+#ifdef ENABLE_UML
+                      " uml"
+#endif
+#ifdef ENABLE_VDE
+                      " vde"
+#endif
+                      "\n\n");
                printf("Copyright (C) 1998-2021 Ivo Timmermans, Guus Sliepen and others.\n"
                       "See the AUTHORS file for a complete list.\n\n"
                       "tinc comes with ABSOLUTELY NO WARRANTY.  This is free software,\n"