]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch
Merge branch 'master' into next
[ipfire-2.x.git] / src / patches / collectd / 0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch
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