[Openvpn-devel] options: fix inlining auth-gen-token-secret file

Message ID 20200508211434.27545-1-a@unstable.cc
State Accepted
Headers show
Series
  • [Openvpn-devel] options: fix inlining auth-gen-token-secret file
Related show

Commit Message

Antonio Quartulli May 8, 2020, 9:14 p.m.
With commit ("convert *_inline attributes to bool") the logic for
signaling when a certain option is inline has been changed.
Due to an overlook, the auth-gen-token-secret was not converted, thus
making it impossible to be inlined.

Fix parsing logic and allow auth-gen-token-secret to be inlined as well.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 src/openvpn/options.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

David Sommerseth May 10, 2020, 1:49 p.m. | #1
On 08/05/2020 23:14, Antonio Quartulli wrote:
> With commit ("convert *_inline attributes to bool") the logic for
> signaling when a certain option is inline has been changed.
> Due to an overlook, the auth-gen-token-secret was not converted, thus
> making it impossible to be inlined.
> 
> Fix parsing logic and allow auth-gen-token-secret to be inlined as well.
> 
> Signed-off-by: Antonio Quartulli <a@unstable.cc>
> ---
>  src/openvpn/options.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/src/openvpn/options.c b/src/openvpn/options.c
> index 56c9e411..2d2089e3 100644
> --- a/src/openvpn/options.c
> +++ b/src/openvpn/options.c
> @@ -6981,16 +6981,12 @@ add_option(struct options *options,
>          }
>  
>      }
> -    else if (streq(p[0], "auth-gen-token-secret") && p[1] && (!p[2]
> -                                                              || (p[2] && streq(p[1], INLINE_FILE_TAG))))
> +    else if (streq(p[0], "auth-gen-token-secret") && p[1] && !p[2])
>      {
> -        VERIFY_PERMISSION(OPT_P_GENERAL);
> +        VERIFY_PERMISSION(OPT_P_GENERAL|OPT_P_INLINE);
>          options->auth_token_secret_file = p[1];
> +        options->auth_token_secret_file_inline = is_inline;
>  
> -        if (streq(p[1], INLINE_FILE_TAG) && p[2])
> -        {
> -            options->auth_token_secret_file_inline = p[2];
> -        }
>      }
>      else if (streq(p[0], "client-connect") && p[1])
>      {
> 

Good to see that braintwister of boolean logic go away.  I've only done a
quick compile test and glared at the code change, which all makes sense.

Acked-By: David Sommerseth <davids@openvpn.net>
Gert Doering May 11, 2020, 7:14 a.m. | #2
Your patch has been applied to the master branch.

I have just done a compile test.  Code change looks good.

commit 416162c5b66055da24e6e7b8acde4e7bb8f67522
Author: Antonio Quartulli
Date:   Fri May 8 23:14:34 2020 +0200

     options: fix inlining auth-gen-token-secret file

     Signed-off-by: Antonio Quartulli <a@unstable.cc>
     Acked-by: David Sommerseth <davids@openvpn.net>
     Message-Id: <20200508211434.27545-1-a@unstable.cc>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg19862.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 56c9e411..2d2089e3 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -6981,16 +6981,12 @@  add_option(struct options *options,
         }
 
     }
-    else if (streq(p[0], "auth-gen-token-secret") && p[1] && (!p[2]
-                                                              || (p[2] && streq(p[1], INLINE_FILE_TAG))))
+    else if (streq(p[0], "auth-gen-token-secret") && p[1] && !p[2])
     {
-        VERIFY_PERMISSION(OPT_P_GENERAL);
+        VERIFY_PERMISSION(OPT_P_GENERAL|OPT_P_INLINE);
         options->auth_token_secret_file = p[1];
+        options->auth_token_secret_file_inline = is_inline;
 
-        if (streq(p[1], INLINE_FILE_TAG) && p[2])
-        {
-            options->auth_token_secret_file_inline = p[2];
-        }
     }
     else if (streq(p[0], "client-connect") && p[1])
     {