diff --git a/internal/logging/line.go b/internal/logging/line.go index 3e8d98e1..cfd3e20d 100644 --- a/internal/logging/line.go +++ b/internal/logging/line.go @@ -51,6 +51,9 @@ func PostProcessLine(s string) (filtered string, level logging.Level) { level = logging.ErrorLevel case s == "openvpn: Initialization Sequence Completed": return color.HiGreenString(s), logging.InfoLevel + case s == "openvpn: AUTH: Received control message: AUTH_FAILED": + filtered = s + "\n\n (IF YOU ARE USING PIA V4 servers, MAYBE CHECK OUT https://github.com/qdm12/gluetun/issues/265)\n" //nolint:lll + level = logging.ErrorLevel default: filtered = s level = logging.InfoLevel diff --git a/internal/logging/line_test.go b/internal/logging/line_test.go index 97ec9dc5..9c965310 100644 --- a/internal/logging/line_test.go +++ b/internal/logging/line_test.go @@ -104,6 +104,10 @@ func Test_PostProcessLine(t *testing.T) { "openvpn: Initialization Sequence Completed", "openvpn: Initialization Sequence Completed", logging.InfoLevel}, + "openvpn auth failed": { + "openvpn: AUTH: Received control message: AUTH_FAILED", + "openvpn: AUTH: Received control message: AUTH_FAILED\n\n (IF YOU ARE USING PIA V4 servers, MAYBE CHECK OUT https://github.com/qdm12/gluetun/issues/265)\n", //nolint:lll + logging.ErrorLevel}, } for name, tc := range tests { tc := tc