diff --git a/src/openvpn.c b/src/openvpn.c index d446e9957b68..ef5bf1078285 100644 --- a/src/openvpn.c +++ b/src/openvpn.c @@ -70,6 +70,7 @@ static const char *config_keys[] = }; static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); +static int version_detect (const char *filename); /* Helper function * copy-n-pasted from common.c - changed delim to "," */ @@ -540,6 +541,11 @@ static int openvpn_read (void) continue; } + // If the version was not detected yet, we try to guess again + if (vpn_list[i]->version == 0) { + vpn_list[i]->version = version_detect(vpn_list[i]->file); + } + switch (vpn_list[i]->version) { case SINGLE: @@ -567,7 +573,7 @@ static int openvpn_read (void) read += vpn_read; } - return (read ? 0 : -1); + return 0; } /* int openvpn_read */ static int version_detect (const char *filename) @@ -630,16 +636,6 @@ static int version_detect (const char *filename) } } - if (version == 0) - { - /* This is only reached during configuration, so complaining to - * the user is in order. */ - NOTICE ("openvpn plugin: %s: Unknown file format, please " - "report this as bug. Make sure to include " - "your status file, so the plugin can " - "be adapted.", filename); - } - fclose (fh); return version; @@ -656,13 +652,6 @@ static int openvpn_config (const char *key, const char *value) /* try to detect the status file format */ status_version = version_detect (value); - if (status_version == 0) - { - WARNING ("openvpn plugin: unable to detect status version, \ - discarding status file \"%s\".", value); - return (1); - } - status_file = sstrdup (value); if (status_file == NULL) {