[Openvpn-devel] ssl_verify: define label only when required

Message ID 20180815051540.25118-1-a@unstable.cc
State Rejected
Headers show
Series
  • [Openvpn-devel] ssl_verify: define label only when required
Related show

Commit Message

Antonio Quartulli Aug. 15, 2018, 5:15 a.m.
The "cleanup" label in ssl_verify.c:verify_user_pass_plugin() is used
only when PLUGIN_DEF_AUTH is defined, therefore make the label
definition dependent on the same define.

At the moment, gcc throws an error for unused label if PLUGIN_DEF_AUTH
is not defined.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
---
 src/openvpn/ssl_verify.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Antonio Quartulli Aug. 15, 2018, 5:32 a.m. | #1
Hi,

On 15/08/18 13:15, Antonio Quartulli wrote:
> The "cleanup" label in ssl_verify.c:verify_user_pass_plugin() is used
> only when PLUGIN_DEF_AUTH is defined, therefore make the label
> definition dependent on the same define.
> 
> At the moment, gcc throws an error for unused label if PLUGIN_DEF_AUTH
> is not defined.
> 
> Signed-off-by: Antonio Quartulli <a@unstable.cc>
> ---
>  src/openvpn/ssl_verify.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/openvpn/ssl_verify.c b/src/openvpn/ssl_verify.c
> index 61872251..9dfe23f8 100644
> --- a/src/openvpn/ssl_verify.c
> +++ b/src/openvpn/ssl_verify.c
> @@ -1220,7 +1220,9 @@ verify_user_pass_plugin(struct tls_session *session, const struct user_pass *up,
>          msg(D_TLS_ERRORS, "TLS Auth Error (verify_user_pass_plugin): peer provided a blank username");
>      }
>  
> +#ifdef PLUGIN_DEF_AUT
>  cleanup:
> +#endif
>      return retval;
>  }
>  


Not sure which gcc version is being used on Gitlab-CI, but my jobs are
failing with:

ssl_verify.c:1197:13: error: label 'cleanup' used but not defined
             goto cleanup;
             ^~~~
Makefile:680: recipe for target 'ssl_verify.o' failed
make[3]: *** [ssl_verify.o] Error 1

It seems this is not just a warning anymore.


Regards,
Antonio Quartulli Aug. 15, 2018, 5:41 a.m. | #2
On 15/08/18 13:32, Antonio Quartulli wrote:
> Hi,
> 
> On 15/08/18 13:15, Antonio Quartulli wrote:
>> The "cleanup" label in ssl_verify.c:verify_user_pass_plugin() is used
>> only when PLUGIN_DEF_AUTH is defined, therefore make the label
>> definition dependent on the same define.
>>
>> At the moment, gcc throws an error for unused label if PLUGIN_DEF_AUTH
>> is not defined.
>>
>> Signed-off-by: Antonio Quartulli <a@unstable.cc>
>> ---
>>  src/openvpn/ssl_verify.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/src/openvpn/ssl_verify.c b/src/openvpn/ssl_verify.c
>> index 61872251..9dfe23f8 100644
>> --- a/src/openvpn/ssl_verify.c
>> +++ b/src/openvpn/ssl_verify.c
>> @@ -1220,7 +1220,9 @@ verify_user_pass_plugin(struct tls_session *session, const struct user_pass *up,
>>          msg(D_TLS_ERRORS, "TLS Auth Error (verify_user_pass_plugin): peer provided a blank username");
>>      }
>>  
>> +#ifdef PLUGIN_DEF_AUT
>>  cleanup:
>> +#endif
>>      return retval;
>>  }
>>  
> 
> 
> Not sure which gcc version is being used on Gitlab-CI, but my jobs are
> failing with:
> 
> ssl_verify.c:1197:13: error: label 'cleanup' used but not defined
>              goto cleanup;
>              ^~~~
> Makefile:680: recipe for target 'ssl_verify.o' failed
> make[3]: *** [ssl_verify.o] Error 1
> 
> It seems this is not just a warning anymore.

Sorry, I acted before being fully awake.

This is obviously not a warning because it tries to use a label that
does not exist...

Indeed my patch is wrong and I messed it up.

Forget about this. I'll send a proper v2.

Cheers,

Patch

diff --git a/src/openvpn/ssl_verify.c b/src/openvpn/ssl_verify.c
index 61872251..9dfe23f8 100644
--- a/src/openvpn/ssl_verify.c
+++ b/src/openvpn/ssl_verify.c
@@ -1220,7 +1220,9 @@  verify_user_pass_plugin(struct tls_session *session, const struct user_pass *up,
         msg(D_TLS_ERRORS, "TLS Auth Error (verify_user_pass_plugin): peer provided a blank username");
     }
 
+#ifdef PLUGIN_DEF_AUT
 cleanup:
+#endif
     return retval;
 }