aboutsummaryrefslogtreecommitdiffstats
path: root/extcap/ssh-base.h
diff options
context:
space:
mode:
Diffstat (limited to 'extcap/ssh-base.h')
-rw-r--r--extcap/ssh-base.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/extcap/ssh-base.h b/extcap/ssh-base.h
index 55565646d9..6a2f523a01 100644
--- a/extcap/ssh-base.h
+++ b/extcap/ssh-base.h
@@ -15,6 +15,25 @@
#include <libssh/libssh.h>
+/*
+ * Sigh.
+ *
+ * libssh 1.0 and 2.0 define LIBSSH_VERSION as a string.
+ *
+ * libssh 3.0 and later define it as three numbers with periods
+ * between them, so that you have to do SSH_STRINGIFY(LIBSSH_VERSION)
+ * to get the SSH version as a string.
+ *
+ * Fortunately, "needs SSH_STRINGIFY()" is true iff SSH_STRINGIFY is
+ * defined, so we can define LIBSSH_VERSION_STRING differently,
+ * depending on whether SSH_STRINGIFY is defined.
+ */
+#ifdef SSH_STRINGIFY
+#define LIBSSH_VERSION_STRING SSH_STRINGIFY(LIBSSH_VERSION)
+#else
+#define LIBSSH_VERSION_STRING LIBSSH_VERSION
+#endif
+
#include <glib.h>
#ifndef STDERR_FILENO