Hi,

On 31-01-18 10:53, Arne Schwabe wrote:
> 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);
> 

'The right' here means 'what was in the config' instead of 'what we use
internally'.  But I agree that's better UX, so:

Acked-by: Steffan Karger <stef...@karger.me>
Tested-by: Steffan Karger <stef...@karger.me>

-Steffan

------------------------------------------------------------------------------
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