LGTM.

Without this patch and with Linux DCO peer stats openvpn crashes, with
this patch it doesn't.

Acked-by: Lev Stipakov <lstipa...@gmail.com>

ti 21. maalisk. 2023 klo 12.30 Antonio Quartulli (a...@unstable.cc) kirjoitti:
>
> The agreement with the DCO submodule is that no API should be called if
> DCO is actually disabled. For this reason, every invocation must happen
> only after having checked that dco_enabled() returns true.
>
> Add missing checks before invoking dco_get_peer_stats_multi()
>
> Reported-by: Lev Stipakov <l...@openvpn.net>
> Signed-off-by: Antonio Quartulli <a...@unstable.cc>
> ---
>  src/openvpn/multi.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c
> index 53c17b3a..1f0a9c01 100644
> --- a/src/openvpn/multi.c
> +++ b/src/openvpn/multi.c
> @@ -549,7 +549,10 @@ multi_del_iroutes(struct multi_context *m,
>  static void
>  setenv_stats(struct multi_context *m, struct context *c)
>  {
> -    dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m);
> +    if (dco_enabled(&m->top.options))
> +    {
> +        dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m);
> +    }
>
>      setenv_counter(c->c2.es, "bytes_received", c->c2.link_read_bytes + 
> c->c2.dco_read_bytes);
>      setenv_counter(c->c2.es, "bytes_sent", c->c2.link_write_bytes + 
> c->c2.dco_write_bytes);
> @@ -849,7 +852,10 @@ multi_print_status(struct multi_context *m, struct 
> status_output *so, const int
>
>          status_reset(so);
>
> -        dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m);
> +        if (dco_enabled(&m->top.options))
> +        {
> +            dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m);
> +        }
>
>          if (version == 1)
>          {
> --
> 2.39.2
>
>
>
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel



-- 
-Lev


_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to