Adding d/p/36_check_smtp_adding_proxy_header from upstream
This commit is contained in:
parent
aebd2cce94
commit
a20810f737
129
debian/patches/36_check_smtp_adding_proxy_header
vendored
Normal file
129
debian/patches/36_check_smtp_adding_proxy_header
vendored
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
From ce85affd208cd8c873dd88c17b8d3d0540c8872e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Patrick Uiterwijk <patrick@puiterwijk.org>
|
||||||
|
Date: Thu, 13 Dec 2018 18:24:53 +0100
|
||||||
|
Subject: [PATCH 1/5] check_smtp: Add option to prefix PROXY header
|
||||||
|
|
||||||
|
This enables checks of SMTP servers that expect the haproxy
|
||||||
|
PROXY protocol: -o smtpd_upstream_proxy_protocol=haproxy.
|
||||||
|
|
||||||
|
Backported from nagios-plugins:
|
||||||
|
https://github.com/nagios-plugins/nagios-plugins/commit/3246efe923b5482c5024c40e593ce942e628a3cb
|
||||||
|
---
|
||||||
|
plugins/check_smtp.c | 17 ++++++++++++++++-
|
||||||
|
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
|
||||||
|
index eaa7eebab..addabfc66 100644
|
||||||
|
--- a/plugins/check_smtp.c
|
||||||
|
+++ b/plugins/check_smtp.c
|
||||||
|
@@ -52,6 +52,7 @@ int days_till_exp_warn, days_till_exp_crit;
|
||||||
|
enum {
|
||||||
|
SMTP_PORT = 25
|
||||||
|
};
|
||||||
|
+#define PROXY_PREFIX "PROXY TCP4 0.0.0.0 0.0.0.0 25 25\r\n"
|
||||||
|
#define SMTP_EXPECT "220"
|
||||||
|
#define SMTP_HELO "HELO "
|
||||||
|
#define SMTP_EHLO "EHLO "
|
||||||
|
@@ -102,6 +103,7 @@ double critical_time = 0;
|
||||||
|
int check_critical_time = FALSE;
|
||||||
|
int verbose = 0;
|
||||||
|
int use_ssl = FALSE;
|
||||||
|
+short use_proxy_prefix = FALSE;
|
||||||
|
short use_ehlo = FALSE;
|
||||||
|
short use_lhlo = FALSE;
|
||||||
|
short ssl_established = 0;
|
||||||
|
@@ -184,6 +186,13 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
|
if (result == STATE_OK) { /* we connected */
|
||||||
|
|
||||||
|
+ /* If requested, send PROXY header */
|
||||||
|
+ if (use_proxy_prefix) {
|
||||||
|
+ if (verbose)
|
||||||
|
+ printf ("Sending header %s\n", PROXY_PREFIX);
|
||||||
|
+ send(sd, PROXY_PREFIX, strlen(PROXY_PREFIX), 0);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* watch for the SMTP connection string and */
|
||||||
|
/* return a WARNING status if we couldn't read any data */
|
||||||
|
if (recvlines(buffer, MAX_INPUT_BUFFER) <= 0) {
|
||||||
|
@@ -478,6 +487,7 @@ process_arguments (int argc, char **argv)
|
||||||
|
{"starttls",no_argument,0,'S'},
|
||||||
|
{"certificate",required_argument,0,'D'},
|
||||||
|
{"ignore-quit-failure",no_argument,0,'q'},
|
||||||
|
+ {"proxy",no_argument,0,'r'},
|
||||||
|
{0, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -494,7 +504,7 @@ process_arguments (int argc, char **argv)
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
- c = getopt_long (argc, argv, "+hVv46Lt:p:f:e:c:w:H:C:R:SD:F:A:U:P:q",
|
||||||
|
+ c = getopt_long (argc, argv, "+hVv46Lrt:p:f:e:c:w:H:C:R:SD:F:A:U:P:q",
|
||||||
|
longopts, &option);
|
||||||
|
|
||||||
|
if (c == -1 || c == EOF)
|
||||||
|
@@ -621,6 +631,9 @@ process_arguments (int argc, char **argv)
|
||||||
|
use_ssl = TRUE;
|
||||||
|
use_ehlo = TRUE;
|
||||||
|
break;
|
||||||
|
+ case 'r':
|
||||||
|
+ use_proxy_prefix = TRUE;
|
||||||
|
+ break;
|
||||||
|
case 'L':
|
||||||
|
use_lhlo = TRUE;
|
||||||
|
break;
|
||||||
|
@@ -819,6 +832,8 @@ print_help (void)
|
||||||
|
printf (" %s\n", _("FROM-address to include in MAIL command, required by Exchange 2000")),
|
||||||
|
printf (" %s\n", "-F, --fqdn=STRING");
|
||||||
|
printf (" %s\n", _("FQDN used for HELO"));
|
||||||
|
+ printf (" %s\n", "-r, --proxy");
|
||||||
|
+ printf (" %s\n", _("Use PROXY protocol prefix for the connection."));
|
||||||
|
#ifdef HAVE_SSL
|
||||||
|
printf (" %s\n", "-D, --certificate=INTEGER[,INTEGER]");
|
||||||
|
printf (" %s\n", _("Minimum number of days a certificate has to be valid."));
|
||||||
|
|
||||||
|
From 6d5e81fcbadbef557cf3f61ce7fd6ef73e25683e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Franz Schwartau <franz@electromail.org>
|
||||||
|
Date: Mon, 12 Jun 2023 15:55:32 +0200
|
||||||
|
Subject: [PATCH 2/5] check_smtp: add missing -r option in usage
|
||||||
|
|
||||||
|
---
|
||||||
|
plugins/check_smtp.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
|
||||||
|
index addabfc66..a1debd25f 100644
|
||||||
|
--- a/plugins/check_smtp.c
|
||||||
|
+++ b/plugins/check_smtp.c
|
||||||
|
@@ -875,6 +875,6 @@ print_usage (void)
|
||||||
|
printf ("%s\n", _("Usage:"));
|
||||||
|
printf ("%s -H host [-p port] [-4|-6] [-e expect] [-C command] [-R response] [-f from addr]\n", progname);
|
||||||
|
printf ("[-A authtype -U authuser -P authpass] [-w warn] [-c crit] [-t timeout] [-q]\n");
|
||||||
|
- printf ("[-F fqdn] [-S] [-L] [-D warn days cert expire[,crit days cert expire]] [-v] \n");
|
||||||
|
+ printf ("[-F fqdn] [-S] [-L] [-D warn days cert expire[,crit days cert expire]] [-r] [-v] \n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
From d762fb137401491270c898febe07e34ba200e388 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Franz Schwartau <franz@electromail.org>
|
||||||
|
Date: Mon, 12 Jun 2023 22:09:54 +0200
|
||||||
|
Subject: [PATCH 5/5] check_smtp: update year in copyright header
|
||||||
|
|
||||||
|
---
|
||||||
|
plugins/check_smtp.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
|
||||||
|
index a1debd25f..70191ad92 100644
|
||||||
|
--- a/plugins/check_smtp.c
|
||||||
|
+++ b/plugins/check_smtp.c
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
* Monitoring check_smtp plugin
|
||||||
|
*
|
||||||
|
* License: GPL
|
||||||
|
-* Copyright (c) 2000-2007 Monitoring Plugins Development Team
|
||||||
|
+* Copyright (c) 2000-2023 Monitoring Plugins Development Team
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
*
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
|
@ -22,3 +22,4 @@
|
||||||
32_check_disk_add_ignore_missing
|
32_check_disk_add_ignore_missing
|
||||||
33_check_procs_exclude-process
|
33_check_procs_exclude-process
|
||||||
34_check_curl_fix_compare_warning
|
34_check_curl_fix_compare_warning
|
||||||
|
36_check_smtp_adding_proxy_header
|
||||||
|
|
Loading…
Reference in a new issue