summaryrefslogtreecommitdiffstats
path: root/plugins/check_smtp.d/config.h
blob: 0a6511ef19bb7b639954676a3c8291b197e2e7df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#pragma once

#include "../../config.h"
#include <stddef.h>
#include <string.h>

enum {
	SMTP_PORT = 25,
	SMTPS_PORT = 465
};

#define SMTP_EXPECT "220"

typedef struct {
	int server_port;
	char *server_address;
	char *localhostname;
	char *server_expect;
	bool ignore_send_quit_failure;

	double warning_time;
	bool check_warning_time;
	double critical_time;
	bool check_critical_time;
	bool use_ehlo;
	bool use_lhlo;

	char *from_arg;
	bool send_mail_from;

	int ncommands;
	char **commands;

	int nresponses;
	char **responses;

	char *authtype;
	char *authuser;
	char *authpass;

	bool use_proxy_prefix;
#ifdef HAVE_SSL
	bool check_cert;
	int days_till_exp_warn;
	int days_till_exp_crit;
	bool use_ssl;
	bool use_starttls;
	bool use_sni;
#endif
} check_smtp_config;

check_smtp_config check_smtp_config_init() {
	check_smtp_config tmp = {
		.server_port = SMTP_PORT,
		.server_address = NULL,
		.localhostname = NULL,

		.server_expect = SMTP_EXPECT,
		.ignore_send_quit_failure = false,

		.warning_time = 0,
		.check_warning_time = false,
		.critical_time = 0,
		.check_critical_time = false,
		.use_ehlo = false,
		.use_lhlo = false,

		.from_arg = strdup(" "),
		.send_mail_from = false,

		.ncommands = 0,
		.commands = NULL,

		.nresponses = 0,
		.responses = NULL,

		.authtype = NULL,
		.authuser = NULL,
		.authpass = NULL,

		.use_proxy_prefix = false,
#ifdef HAVE_SSL
		.check_cert = false,
		.days_till_exp_warn = 0,
		.days_till_exp_crit = 0,
		.use_ssl = false,
		.use_starttls = false,
		.use_sni = false,
#endif
	};
	return tmp;
}