"Fossies" - the Fresh Open Source Software Archive

Member "ipfire-2.x-2.27-core174/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch" (7 Apr 2023, 1449 Bytes) of package /linux/misc/ipfire-2.x-2.27-core174.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Diff source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 From 8516f9abb625fa7b9321e62307305aa6499be4e8 Mon Sep 17 00:00:00 2001
    2 From: Florian Forster <octo@collectd.org>
    3 Date: Sun, 14 Sep 2014 19:28:05 +0200
    4 Subject: [PATCH 17/22] openvpn plugin: Don't signal an error when no clients
    5  are connected.
    6 
    7 In the multi1_read() function, an error (zero) was returned when no
    8 clients were currently connected to the OpenVPN server, because the
    9 "read" variable was initialized to zero and the while loop exited before
   10 it was set to one. This is not the intended behavior.
   11 
   12 Thanks to @srix for reporting this issue!
   13 
   14 Fixes: #731
   15 ---
   16  src/openvpn.c | 12 +++++-------
   17  1 file changed, 5 insertions(+), 7 deletions(-)
   18 
   19 diff --git a/src/openvpn.c b/src/openvpn.c
   20 index d2b6f17..7d4e4a0 100644
   21 --- a/src/openvpn.c
   22 +++ b/src/openvpn.c
   23 @@ -267,7 +267,7 @@ static int multi1_read (char *name, FILE *fh)
   24  {
   25     char buffer[1024];
   26     char *fields[10];
   27 -   int  fields_num, read = 0, found_header = 0;
   28 +   int  fields_num, found_header = 0;
   29     long long sum_users = 0;
   30  
   31     /* read the file until the "ROUTING TABLE" line is found (no more info after) */
   32 @@ -314,17 +314,15 @@ static int multi1_read (char *name, FILE *fh)
   33                         atoll (fields[3])); /* "Bytes Sent" */
   34             }
   35         }
   36 -
   37 -       read = 1;
   38     }
   39  
   40 +   if (ferror (fh))
   41 +       return (0);
   42 +
   43     if (collect_user_count)
   44 -   {
   45         numusers_submit(name, name, sum_users);
   46 -       read = 1;
   47 -   }
   48  
   49 -   return (read);
   50 +   return (1);
   51  } /* int multi1_read */
   52  
   53  /* for reading status version 2 */
   54 -- 
   55 1.9.3
   56