V2: print also a nice string if direction is not set
V3: really include V2 changes
---
 src/openvpn/crypto.c  | 11 +++++++++--
 src/openvpn/crypto.h  |  2 +-
 src/openvpn/options.c |  4 ++--
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/openvpn/crypto.c b/src/openvpn/crypto.c
index 3096f3b0..b3021d4f 100644
--- a/src/openvpn/crypto.c
+++ b/src/openvpn/crypto.c
@@ -1545,11 +1545,18 @@ ascii2keydirection(int msglevel, const char *str)
 }
 
 const char *
-keydirection2ascii(int kd, bool remote)
+keydirection2ascii(int kd, bool remote, bool humanreadable)
 {
     if (kd == KEY_DIRECTION_BIDIRECTIONAL)
     {
-        return NULL;
+        if (humanreadable)
+        {
+            return "not set";
+        }
+        else
+        {
+            return NULL;
+        }
     }
     else if (kd == KEY_DIRECTION_NORMAL)
     {
diff --git a/src/openvpn/crypto.h b/src/openvpn/crypto.h
index 8e8ee8f5..e1e318eb 100644
--- a/src/openvpn/crypto.h
+++ b/src/openvpn/crypto.h
@@ -470,7 +470,7 @@ void must_have_n_keys(const char *filename, const char 
*option, const struct key
 
 int ascii2keydirection(int msglevel, const char *str);
 
-const char *keydirection2ascii(int kd, bool remote);
+const char *keydirection2ascii(int kd, bool remote, bool humanreadable);
 
 /* print keys */
 void key2_print(const struct key2 *k,
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 66e1f9d1..9f5cd6ed 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -1706,7 +1706,7 @@ show_settings(const struct options *o)
 #endif
 
     SHOW_STR(shared_secret_file);
-    SHOW_INT(key_direction);
+    SHOW_PARM(key_direction, keydirection2ascii(o->key_direction, false, 
true), "%s");
     SHOW_STR(ciphername);
     SHOW_BOOL(ncp_enabled);
     SHOW_STR(ncp_ciphers);
@@ -3583,7 +3583,7 @@ options_string(const struct options *o,
      * Key direction
      */
     {
-        const char *kd = keydirection2ascii(o->key_direction, remote);
+        const char *kd = keydirection2ascii(o->key_direction, remote, false);
         if (kd)
         {
             buf_printf(&out, ",keydir %s", kd);
-- 
2.15.1


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to