[monitoring-plugins] sslutils: Linter fixes and streamlining symbol ...
GitHub
git at monitoring-plugins.org
Thu Sep 3 12:00:14 CEST 2026
Module: monitoring-plugins
Branch: master
Commit: 3d9051ce1a77042f0cb1a5b639dc50cf71d805f1
Author: Lorenz Kästle <12514511+RincewindsHat at users.noreply.github.com>
Committer: GitHub <noreply at github.com>
Date: Thu Sep 3 05:03:28 2026 +0200
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=3d9051ce
sslutils: Linter fixes and streamlining symbol names (#2333)
* netutils/sslutils:
* Linter fixes
* rename all the symbols to have the mopl_net_ prefix
* Style fixes
* netutils: remove unused process_tcp_request2 function
* Remove function without implementation
* Remove useless include
---------
Co-authored-by: Lorenz Kästle <lorenz.kaestle+gitub-mopl at mailbox.org>
---
plugins/check_dbi.c | 2 +-
plugins/check_dig.c | 4 +-
plugins/check_dns.c | 6 +-
plugins/check_fping.c | 6 +-
plugins/check_hpjd.c | 4 +-
plugins/check_http.c | 28 ++++----
plugins/check_ldap.c | 4 +-
plugins/check_mysql.c | 4 +-
plugins/check_mysql_query.c | 2 +-
plugins/check_ntp_peer.c | 6 +-
plugins/check_ntp_time.c | 4 +-
plugins/check_pgsql.c | 2 +-
plugins/check_ping.c | 6 +-
plugins/check_radius.c | 4 +-
plugins/check_real.c | 8 +--
plugins/check_smtp.c | 26 +++----
plugins/check_ssh.c | 8 +--
plugins/check_tcp.c | 18 ++---
plugins/check_time.c | 10 +--
plugins/check_ups.c | 8 +--
plugins/netutils.c | 139 ++++++++++++------------------------
plugins/netutils.h | 104 ++++++++++++---------------
plugins/sslutils.c | 162 ++++++++++++++++++++++--------------------
plugins/tests/test_sslutils.c | 22 +++---
24 files changed, 270 insertions(+), 317 deletions(-)
diff --git a/plugins/check_dbi.c b/plugins/check_dbi.c
index 9c5c8574..4b02c79b 100644
--- a/plugins/check_dbi.c
+++ b/plugins/check_dbi.c
@@ -533,7 +533,7 @@ check_dbi_config_wrapper process_arguments(int argc, char **argv) {
}
break;
case 'H': /* host */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
} else {
result.config.host = optarg;
diff --git a/plugins/check_dig.c b/plugins/check_dig.c
index 9ec8028a..687976c6 100644
--- a/plugins/check_dig.c
+++ b/plugins/check_dig.c
@@ -296,7 +296,7 @@ check_dig_config_wrapper process_arguments(int argc, char **argv) {
print_revision(progname, NP_VERSION);
exit(STATE_UNKNOWN);
case 'H': /* hostname */
- host_or_die(optarg);
+ mopl_net_host_or_die(optarg);
result.config.dns_server = optarg;
break;
case 'p': /* server port */
@@ -362,7 +362,7 @@ check_dig_config_wrapper process_arguments(int argc, char **argv) {
int index = optind;
if (result.config.dns_server == NULL) {
if (index < argc) {
- host_or_die(argv[index]);
+ mopl_net_host_or_die(argv[index]);
result.config.dns_server = argv[index];
} else {
if (strcmp(result.config.query_transport, "-6") == 0) {
diff --git a/plugins/check_dns.c b/plugins/check_dns.c
index 56f91dae..8b17e067 100644
--- a/plugins/check_dns.c
+++ b/plugins/check_dns.c
@@ -512,7 +512,7 @@ check_dns_config_wrapper process_arguments(int argc, char **argv) {
case 's': /* server name */
/* TODO: this host_or_die check is probably unnecessary.
* Better to confirm nslookup response matches */
- host_or_die(optarg);
+ mopl_net_host_or_die(optarg);
if (strlen(optarg) >= ADDRESS_LENGTH) {
die(STATE_UNKNOWN, _("Input buffer overflow\n"));
}
@@ -521,7 +521,7 @@ check_dns_config_wrapper process_arguments(int argc, char **argv) {
case 'r': /* reverse server name */
/* TODO: Is this host_or_die necessary? */
// TODO This does not do anything!!! 2025-03-08 rincewind
- host_or_die(optarg);
+ mopl_net_host_or_die(optarg);
if (strlen(optarg) >= ADDRESS_LENGTH) {
die(STATE_UNKNOWN, _("Input buffer overflow\n"));
}
@@ -587,7 +587,7 @@ check_dns_config_wrapper process_arguments(int argc, char **argv) {
if (strlen(result.config.dns_server) == 0 && index < argc) {
/* TODO: See -s option */
- host_or_die(argv[index]);
+ mopl_net_host_or_die(argv[index]);
if (strlen(argv[index]) >= ADDRESS_LENGTH) {
die(STATE_UNKNOWN, _("Input buffer overflow\n"));
}
diff --git a/plugins/check_fping.c b/plugins/check_fping.c
index 86ef64a4..7915903a 100644
--- a/plugins/check_fping.c
+++ b/plugins/check_fping.c
@@ -83,7 +83,7 @@ int main(int argc, char **argv) {
char *fping_prog = NULL;
/* First determine if the target is dualstack or ipv6 only. */
- bool server_is_inet6_addr = is_inet6_addr(server);
+ bool server_is_inet6_addr = mopl_net_is_inet6_addr(server);
/*
* If the user requested -6 OR the user made no assertion and the address is v6 or dualstack
@@ -381,13 +381,13 @@ check_fping_config_wrapper process_arguments(int argc, char **argv) {
verbose = true;
break;
case 'H': /* hostname */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_name = optarg;
break;
case 'S': /* sourceip */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.sourceip = optarg;
diff --git a/plugins/check_hpjd.c b/plugins/check_hpjd.c
index 883f1df0..fa3eab92 100644
--- a/plugins/check_hpjd.c
+++ b/plugins/check_hpjd.c
@@ -305,7 +305,7 @@ check_hpjd_config_wrapper process_arguments(int argc, char **argv) {
switch (option_index) {
case 'H': /* hostname */
- if (is_host(optarg)) {
+ if (mopl_net_is_host(optarg)) {
result.config.address = strscpy(result.config.address, optarg);
} else {
usage2(_("Invalid hostname/address"), optarg);
@@ -337,7 +337,7 @@ check_hpjd_config_wrapper process_arguments(int argc, char **argv) {
int c = optind;
if (result.config.address == NULL) {
- if (is_host(argv[c])) {
+ if (mopl_net_is_host(argv[c])) {
result.config.address = argv[c++];
} else {
usage2(_("Invalid hostname/address"), argv[c]);
diff --git a/plugins/check_http.c b/plugins/check_http.c
index f402aa1b..30908ea9 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -60,10 +60,10 @@ enum {
#ifdef HAVE_SSL
static bool check_cert = false;
static bool continue_after_check_cert = false;
-static int ssl_version = 0;
+static int ssl_version = MOPL_NET_TLS_DEFAULT_VERSION;
static int days_till_exp_warn, days_till_exp_crit;
-# define my_recv(buf, len) ((use_ssl) ? np_net_ssl_read(buf, len) : read(sd, buf, len))
-# define my_send(buf, len) ((use_ssl) ? np_net_ssl_write(buf, len) : send(sd, buf, len, 0))
+# define my_recv(buf, len) ((use_ssl) ? mopl_net_ssl_read(buf, len) : read(sd, buf, len))
+# define my_send(buf, len) ((use_ssl) ? mopl_net_ssl_write(buf, len) : send(sd, buf, len, 0))
#else /* ifndef HAVE_SSL */
# define my_recv(buf, len) read(sd, buf, len)
# define my_send(buf, len) send(sd, buf, len, 0)
@@ -177,7 +177,7 @@ int main(int argc, char **argv) {
}
/* initialize alarm signal handling, set socket timeout, start timer */
- (void)signal(SIGALRM, socket_timeout_alarm_handler);
+ (void)signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
(void)alarm(socket_timeout);
gettimeofday(&tv, NULL);
@@ -393,15 +393,15 @@ bool process_arguments(int argc, char **argv) {
int got_plus = strchr(optarg, '+') != NULL;
if (!strncmp(optarg, "1.2", 3)) {
- ssl_version = got_plus ? MP_TLSv1_2_OR_NEWER : MP_TLSv1_2;
+ ssl_version = got_plus ? MOPL_NET_TLSv1_2_OR_NEWER : MOPL_NET_TLSv1_2;
} else if (!strncmp(optarg, "1.1", 3)) {
- ssl_version = got_plus ? MP_TLSv1_1_OR_NEWER : MP_TLSv1_1;
+ ssl_version = got_plus ? MOPL_NET_TLSv1_1_OR_NEWER : MOPL_NET_TLSv1_1;
} else if (optarg[0] == '1') {
- ssl_version = got_plus ? MP_TLSv1_OR_NEWER : MP_TLSv1;
+ ssl_version = got_plus ? MOPL_NET_TLSv1_OR_NEWER : MOPL_NET_TLSv1;
} else if (optarg[0] == '3') {
- ssl_version = got_plus ? MP_SSLv3_OR_NEWER : MP_SSLv3;
+ ssl_version = got_plus ? MOPL_NET_SSLv3_OR_NEWER : MOPL_NET_SSLv3;
} else if (optarg[0] == '2') {
- ssl_version = got_plus ? MP_SSLv2_OR_NEWER : MP_SSLv2;
+ ssl_version = got_plus ? MOPL_NET_SSLv2_OR_NEWER : MOPL_NET_SSLv2;
} else {
usage4(_("Invalid option - Valid SSL/TLS versions: 2, 3, 1, 1.1, 1.2 (with "
"optional '+' suffix)"));
@@ -991,7 +991,7 @@ int check_http(void) {
/* try to connect to the host at the given port number */
gettimeofday(&tv_temp, NULL);
- if (my_tcp_connect(server_address, server_port, &sd) != STATE_OK) {
+ if (mopl_net_tcp_connect(server_address, server_port, &sd) != STATE_OK) {
die(STATE_CRITICAL, _("HTTP CRITICAL - Unable to open TCP socket\n"));
}
microsec_connect = deltime(tv_temp);
@@ -1048,7 +1048,7 @@ int check_http(void) {
elapsed_time_connect = (double)microsec_connect / 1.0e6;
if (use_ssl) {
gettimeofday(&tv_temp, NULL);
- result = np_net_ssl_init_with_hostname_version_and_cert(
+ result = mopl_net_tls_init_with_hostname_version_and_cert(
sd, (use_sni ? host_name : NULL), ssl_version, client_cert, client_privkey);
if (verbose) {
printf("SSL initialized\n");
@@ -1059,12 +1059,12 @@ int check_http(void) {
microsec_ssl = deltime(tv_temp);
elapsed_time_ssl = (double)microsec_ssl / 1.0e6;
if (check_cert) {
- result = np_net_ssl_check_cert(days_till_exp_warn, days_till_exp_crit);
+ result = mopl_net_ssl_check_cert(days_till_exp_warn, days_till_exp_crit);
if (!continue_after_check_cert) {
if (sd) {
close(sd);
}
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
return result;
}
}
@@ -1207,7 +1207,7 @@ int check_http(void) {
close(sd);
}
#ifdef HAVE_SSL
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
#endif
/* Save check time */
diff --git a/plugins/check_ldap.c b/plugins/check_ldap.c
index ea4b3b1e..bb3a950a 100644
--- a/plugins/check_ldap.c
+++ b/plugins/check_ldap.c
@@ -87,7 +87,7 @@ int main(int argc, char *argv[]) {
}
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
@@ -484,7 +484,7 @@ check_ldap_config_wrapper process_arguments(int argc, char **argv) {
}
int index = optind;
- if ((result.config.ld_host == NULL) && is_host(argv[index])) {
+ if ((result.config.ld_host == NULL) && mopl_net_is_host(argv[index])) {
result.config.ld_host = strdup(argv[index++]);
}
diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c
index 2b70926c..b3506804 100644
--- a/plugins/check_mysql.c
+++ b/plugins/check_mysql.c
@@ -512,7 +512,7 @@ check_mysql_config_wrapper process_arguments(int argc, char **argv) {
switch (option_index) {
case 'H': /* hostname */
- if (is_host(optarg)) {
+ if (mopl_net_is_host(optarg)) {
result.config.db_host = optarg;
} else if (*optarg == '/') {
result.config.db_socket = optarg;
@@ -617,7 +617,7 @@ check_mysql_config_wrapper process_arguments(int argc, char **argv) {
while (argc > index) {
if (result.config.db_host == NULL) {
- if (is_host(argv[index])) {
+ if (mopl_net_is_host(argv[index])) {
result.config.db_host = argv[index++];
} else {
usage2(_("Invalid hostname/address"), argv[index]);
diff --git a/plugins/check_mysql_query.c b/plugins/check_mysql_query.c
index 8d46eaae..c637ebd6 100644
--- a/plugins/check_mysql_query.c
+++ b/plugins/check_mysql_query.c
@@ -239,7 +239,7 @@ check_mysql_query_config_wrapper process_arguments(int argc, char **argv) {
switch (option_char) {
case 'H': /* hostname */
- if (is_host(optarg)) {
+ if (mopl_net_is_host(optarg)) {
result.config.db_host = optarg;
} else {
usage2(_("Invalid hostname/address"), optarg);
diff --git a/plugins/check_ntp_peer.c b/plugins/check_ntp_peer.c
index db5e89f8..5bc56ef4 100644
--- a/plugins/check_ntp_peer.c
+++ b/plugins/check_ntp_peer.c
@@ -232,7 +232,7 @@ ntp_request_result ntp_request(const check_ntp_peer_config config) {
* (it's ASCII)
*/
int conn = -1;
- my_udp_connect(config.server_address, config.port, &conn);
+ mopl_net_udp_connect(config.server_address, config.port, &conn);
/* keep sending requests until the server stops setting the
* REM_MORE bit, though usually this is only 1 packet. */
@@ -591,7 +591,7 @@ check_ntp_peer_config_wrapper process_arguments(int argc, char **argv) {
mp_thresholds_set_crit(result.config.truechimer_thresholds, tmp.range);
} break;
case 'H':
- if (!is_host(optarg) && (optarg[0] != '/')) {
+ if (!mopl_net_is_host(optarg) && (optarg[0] != '/')) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_address = strdup(optarg);
@@ -665,7 +665,7 @@ int main(int argc, char *argv[]) {
}
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
diff --git a/plugins/check_ntp_time.c b/plugins/check_ntp_time.c
index b0e0bb79..f04ff4ea 100644
--- a/plugins/check_ntp_time.c
+++ b/plugins/check_ntp_time.c
@@ -621,7 +621,7 @@ static check_ntp_time_config_wrapper process_arguments(int argc, char **argv) {
mp_thresholds_set_crit(result.config.offset_thresholds, tmp.range);
} break;
case 'H':
- if (!is_host(optarg) && (optarg[0] != '/')) {
+ if (!mopl_net_is_host(optarg) && (optarg[0] != '/')) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_address = strdup(optarg);
@@ -699,7 +699,7 @@ int main(int argc, char *argv[]) {
}
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
diff --git a/plugins/check_pgsql.c b/plugins/check_pgsql.c
index 9e6b0f41..22c73aee 100644
--- a/plugins/check_pgsql.c
+++ b/plugins/check_pgsql.c
@@ -436,7 +436,7 @@ static check_pgsql_config_wrapper process_arguments(int argc, char **argv) {
mp_thresholds_set_warn(result.config.qthresholds, tmp.range);
} break;
case 'H': /* host */
- if ((*optarg != '/') && (!is_host(optarg))) {
+ if ((*optarg != '/') && (!mopl_net_is_host(optarg))) {
usage2(_("Invalid hostname/address"), optarg);
} else {
result.config.pghost = optarg;
diff --git a/plugins/check_ping.c b/plugins/check_ping.c
index d3c13f0b..80885754 100644
--- a/plugins/check_ping.c
+++ b/plugins/check_ping.c
@@ -100,7 +100,7 @@ int main(int argc, char **argv) {
char *rawcmd = NULL;
for (size_t i = 0; i < config.n_addresses; i++) {
#ifdef PING6_COMMAND
- if (address_family != AF_INET && is_inet6_addr(config.addresses[i])) {
+ if (address_family != AF_INET && mopl_net_is_inet6_addr(config.addresses[i])) {
rawcmd = strdup(PING6_COMMAND);
} else {
rawcmd = strdup(PING_COMMAND);
@@ -294,7 +294,7 @@ check_ping_config_wrapper process_arguments(int argc, char **argv) {
}
if (result.config.addresses[0] == NULL) {
- if (!is_host(argv[arg_counter])) {
+ if (!mopl_net_is_host(argv[arg_counter])) {
usage2(_("Invalid hostname/address"), argv[arg_counter]);
} else {
result.config.addresses[0] = argv[arg_counter++];
@@ -433,7 +433,7 @@ check_ping_config_wrapper validate_arguments(check_ping_config_wrapper config_wr
}
for (size_t i = 0; i < config_wrapper.config.n_addresses; i++) {
- if (!is_host(config_wrapper.config.addresses[i])) {
+ if (!mopl_net_is_host(config_wrapper.config.addresses[i])) {
usage2(_("Invalid hostname/address"), config_wrapper.config.addresses[i]);
}
}
diff --git a/plugins/check_radius.c b/plugins/check_radius.c
index 9f9af3cc..5315e501 100644
--- a/plugins/check_radius.c
+++ b/plugins/check_radius.c
@@ -225,7 +225,7 @@ int main(int argc, char **argv) {
}
struct sockaddr_storage radius_server_socket;
- if (!dns_lookup(config.nas_ip_address, &radius_server_socket, AF_UNSPEC)) {
+ if (!mopl_net_dns_lookup(config.nas_ip_address, &radius_server_socket, AF_UNSPEC)) {
xasprintf(&sc_configuring.output, "invalid NAS IP address. Lookup failed");
sc_configuring = mp_set_subcheck_state(sc_configuring, STATE_UNKNOWN);
mp_add_subcheck_to_check(&overall, sc_configuring);
@@ -354,7 +354,7 @@ check_radius_config_wrapper process_arguments(int argc, char **argv) {
verbose = true;
break;
case 'H': /* hostname */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server = optarg;
diff --git a/plugins/check_real.c b/plugins/check_real.c
index 6a4c8f1c..34c505b1 100644
--- a/plugins/check_real.c
+++ b/plugins/check_real.c
@@ -75,7 +75,7 @@ int main(int argc, char **argv) {
}
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
@@ -90,7 +90,7 @@ int main(int argc, char **argv) {
/* try to connect to the host at the given port number */
int socket;
- if (my_tcp_connect(config.server_address, config.server_port, &socket) != STATE_OK) {
+ if (mopl_net_tcp_connect(config.server_address, config.server_port, &socket) != STATE_OK) {
xasprintf(&sc_connect.output, _("unable to connect to %s on port %d"),
config.server_address, config.server_port);
sc_connect = mp_set_subcheck_state(sc_connect, STATE_CRITICAL);
@@ -398,7 +398,7 @@ check_real_config_wrapper process_arguments(int argc, char **argv) {
case 'H': /* hostname */
if (result.config.server_address) {
break;
- } else if (is_host(optarg)) {
+ } else if (mopl_net_is_host(optarg)) {
result.config.server_address = optarg;
} else {
usage2(_("Invalid hostname/address"), optarg);
@@ -470,7 +470,7 @@ check_real_config_wrapper process_arguments(int argc, char **argv) {
int option_char = optind;
if (result.config.server_address == NULL && argc > option_char) {
- if (is_host(argv[option_char])) {
+ if (mopl_net_is_host(argv[option_char])) {
result.config.server_address = argv[option_char++];
} else {
usage2(_("Invalid hostname/address"), argv[option_char]);
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index a1b14e8f..02831a0b 100644
--- a/plugins/check_smtp.c
+++ b/plugins/check_smtp.c
@@ -66,7 +66,7 @@ int my_recv(check_smtp_config config, void *buf, int num, int socket_descriptor,
bool ssl_established) {
#ifdef HAVE_SSL
if ((config.use_starttls || config.use_ssl) && ssl_established) {
- return np_net_ssl_read(buf, num);
+ return mopl_net_ssl_read(buf, num);
}
return (int)read(socket_descriptor, buf, (size_t)num);
#else /* ifndef HAVE_SSL */
@@ -79,7 +79,7 @@ int my_send(check_smtp_config config, void *buf, int num, int socket_descriptor,
#ifdef HAVE_SSL
if ((config.use_starttls || config.use_ssl) && ssl_established) {
- return np_net_ssl_write(buf, num);
+ return mopl_net_ssl_write(buf, num);
}
return (int)send(socket_descriptor, buf, (size_t)num, 0);
#else /* ifndef HAVE_SSL */
@@ -171,7 +171,7 @@ int main(int argc, char **argv) {
(void)signal(SIGPIPE, SIG_IGN);
/* initialize alarm signal handling */
- (void)signal(SIGALRM, socket_timeout_alarm_handler);
+ (void)signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
(void)alarm(socket_timeout);
@@ -184,7 +184,7 @@ int main(int argc, char **argv) {
/* try to connect to the host at the given port number */
mp_state_enum tcp_result =
- my_tcp_connect(config.server_address, config.server_port, &socket_descriptor);
+ mopl_net_tcp_connect(config.server_address, config.server_port, &socket_descriptor);
mp_check overall = mp_check_init();
@@ -213,14 +213,14 @@ int main(int argc, char **argv) {
#ifdef HAVE_SSL
if (config.use_ssl) {
- int tls_result = np_net_ssl_init_with_hostname(
+ int tls_result = mopl_net_tls_init_with_hostname(
socket_descriptor, (config.use_sni ? config.server_address : NULL));
mp_subcheck sc_tls_connection = mp_subcheck_init();
if (tls_result != STATE_OK) {
close(socket_descriptor);
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
sc_tls_connection = mp_set_subcheck_state(sc_tls_connection, STATE_CRITICAL);
xasprintf(&sc_tls_connection.output, "cannot create TLS context");
@@ -295,11 +295,11 @@ int main(int argc, char **argv) {
mp_exit(overall);
}
- mp_state_enum starttls_result = np_net_ssl_init_with_hostname(
+ mp_state_enum starttls_result = mopl_net_tls_init_with_hostname(
socket_descriptor, (config.use_sni ? config.server_address : NULL));
if (starttls_result != STATE_OK) {
close(socket_descriptor);
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
sc_starttls_init = mp_set_subcheck_state(sc_starttls_init, STATE_CRITICAL);
xasprintf(&sc_starttls_init.output, "failed to create StartTLS context");
@@ -355,8 +355,8 @@ int main(int argc, char **argv) {
# ifdef MOPL_USE_OPENSSL
if (ssl_established) {
- net_ssl_check_cert_result cert_check_result =
- np_net_ssl_check_cert2(config.days_till_exp_warn, config.days_till_exp_crit);
+ mopl_net_ssl_check_cert_result cert_check_result =
+ mopl_net_ssl_check_cert2(config.days_till_exp_warn, config.days_till_exp_crit);
mp_subcheck sc_cert_check = mp_subcheck_init();
@@ -676,7 +676,7 @@ check_smtp_config_wrapper process_arguments(int argc, char **argv) {
switch (opt_index) {
case 'H': /* hostname */
- if (is_host(optarg)) {
+ if (mopl_net_is_host(optarg)) {
result.config.server_address = optarg;
} else {
usage2(_("Invalid hostname/address"), optarg);
@@ -856,7 +856,7 @@ check_smtp_config_wrapper process_arguments(int argc, char **argv) {
int c = optind;
if (result.config.server_address == NULL) {
if (argv[c]) {
- if (is_host(argv[c])) {
+ if (mopl_net_is_host(argv[c])) {
result.config.server_address = argv[c];
} else {
usage2(_("Invalid hostname/address"), argv[c]);
@@ -990,7 +990,7 @@ int my_close(int socket_descriptor) {
int result;
result = close(socket_descriptor);
#ifdef HAVE_SSL
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
#endif
return result;
}
diff --git a/plugins/check_ssh.c b/plugins/check_ssh.c
index df85b815..320840ab 100644
--- a/plugins/check_ssh.c
+++ b/plugins/check_ssh.c
@@ -96,7 +96,7 @@ int main(int argc, char **argv) {
mp_set_ok_summary(&overall, "SSH check was successful");
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
alarm(socket_timeout);
/* ssh_connect exits if error is found */
@@ -184,7 +184,7 @@ process_arguments_wrapper process_arguments(int argc, char **argv) {
result.config.remote_protocol = optarg;
break;
case 'H': /* host */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_name = optarg;
@@ -213,7 +213,7 @@ process_arguments_wrapper process_arguments(int argc, char **argv) {
option_char = optind;
if (result.config.server_name == NULL && option_char < argc) {
- if (is_host(argv[option_char])) {
+ if (mopl_net_is_host(argv[option_char])) {
result.config.server_name = argv[option_char++];
}
}
@@ -247,7 +247,7 @@ int ssh_connect(mp_check *overall, char *haddr, int hport, char *desired_remote_
gettimeofday(&tv, NULL);
int socket;
- int result = my_tcp_connect(haddr, hport, &socket);
+ int result = mopl_net_tcp_connect(haddr, hport, &socket);
mp_subcheck connection_sc = mp_subcheck_init();
if (result != STATE_OK) {
diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c
index 8f1044ea..c4aaf67b 100644
--- a/plugins/check_tcp.c
+++ b/plugins/check_tcp.c
@@ -46,7 +46,7 @@ const char *email = "devel at monitoring-plugins.org";
ssize_t my_recv(int socket_descriptor, char *buf, size_t len, bool use_tls) {
#ifdef HAVE_SSL
if (use_tls) {
- return np_net_ssl_read(buf, (int)len);
+ return mopl_net_ssl_read(buf, (int)len);
}
#endif
return read(socket_descriptor, buf, len);
@@ -55,7 +55,7 @@ ssize_t my_recv(int socket_descriptor, char *buf, size_t len, bool use_tls) {
ssize_t my_send(int socket_descriptor, char *buf, size_t len, bool use_tls) {
#ifdef HAVE_SSL
if (use_tls) {
- return np_net_ssl_write(buf, (int)len);
+ return mopl_net_ssl_write(buf, (int)len);
}
#endif
return write(socket_descriptor, buf, len);
@@ -252,7 +252,7 @@ int main(int argc, char **argv) {
mp_set_ok_summary(&overall, "Connection succeeded");
/* set up the timer */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
alarm(socket_timeout);
/* try to connect to the host at the given port number */
@@ -263,7 +263,7 @@ int main(int argc, char **argv) {
mp_subcheck inital_connect_result = mp_subcheck_init();
// Try initial connection
- if (np_net_connect(config.server_address, config.server_port, &socket_descriptor,
+ if (mopl_net_connect(config.server_address, config.server_port, &socket_descriptor,
config.protocol) == STATE_CRITICAL) {
// Early exit here, we got connection refused
inital_connect_result =
@@ -282,7 +282,7 @@ int main(int argc, char **argv) {
#ifdef HAVE_SSL
if (config.use_tls) {
mp_subcheck tls_connection_result = mp_subcheck_init();
- mp_state_enum result = np_net_ssl_init_with_hostname(
+ mp_state_enum result = mopl_net_tls_init_with_hostname(
socket_descriptor, (config.sni_specified ? config.sni : NULL));
tls_connection_result = mp_set_subcheck_default_state(tls_connection_result, result);
@@ -291,7 +291,7 @@ int main(int argc, char **argv) {
if (config.check_cert) {
result =
- np_net_ssl_check_cert(config.days_till_exp_warn, config.days_till_exp_crit);
+ mopl_net_ssl_check_cert(config.days_till_exp_warn, config.days_till_exp_crit);
mp_subcheck tls_certificate_lifetime_result = mp_subcheck_init();
tls_certificate_lifetime_result =
@@ -325,7 +325,7 @@ int main(int argc, char **argv) {
if (socket_descriptor) {
close(socket_descriptor);
}
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
mp_exit(overall);
}
@@ -433,7 +433,7 @@ int main(int argc, char **argv) {
close(socket_descriptor);
}
#ifdef HAVE_SSL
- np_net_ssl_cleanup();
+ mopl_net_tls_cleanup();
#endif
long microsec = deltime(start_time);
@@ -754,7 +754,7 @@ static check_tcp_config_wrapper process_arguments(int argc, char **argv, check_t
if (config.server_address == NULL) {
usage4(_("You must provide a server address"));
- } else if (config.server_address[0] != '/' && !is_host(config.server_address)) {
+ } else if (config.server_address[0] != '/' && !mopl_net_is_host(config.server_address)) {
die(STATE_CRITICAL, "%s %s - %s: %s\n", config.service, state_text(STATE_CRITICAL),
_("Invalid hostname, address or socket"), config.server_address);
}
diff --git a/plugins/check_time.c b/plugins/check_time.c
index aec995d4..3dc35ec6 100644
--- a/plugins/check_time.c
+++ b/plugins/check_time.c
@@ -64,7 +64,7 @@ int main(int argc, char **argv) {
const check_time_config config = tmp_config.config;
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
@@ -75,9 +75,9 @@ int main(int argc, char **argv) {
mp_state_enum result = STATE_UNKNOWN;
/* try to connect to the host at the given port number */
if (config.use_udp) {
- result = my_udp_connect(config.server_address, config.server_port, &socket);
+ result = mopl_net_udp_connect(config.server_address, config.server_port, &socket);
} else {
- result = my_tcp_connect(config.server_address, config.server_port, &socket);
+ result = mopl_net_tcp_connect(config.server_address, config.server_port, &socket);
}
if (result != STATE_OK) {
@@ -227,7 +227,7 @@ check_time_config_wrapper process_arguments(int argc, char **argv) {
print_revision(progname, NP_VERSION);
exit(STATE_UNKNOWN);
case 'H': /* hostname */
- if (!is_host(optarg)) {
+ if (!mopl_net_is_host(optarg)) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_address = optarg;
@@ -302,7 +302,7 @@ check_time_config_wrapper process_arguments(int argc, char **argv) {
option_char = optind;
if (result.config.server_address == NULL) {
if (argc > option_char) {
- if (!is_host(argv[option_char])) {
+ if (!mopl_net_is_host(argv[option_char])) {
usage2(_("Invalid hostname/address"), optarg);
}
result.config.server_address = argv[option_char];
diff --git a/plugins/check_ups.c b/plugins/check_ups.c
index ba58994e..39c822d9 100644
--- a/plugins/check_ups.c
+++ b/plugins/check_ups.c
@@ -84,7 +84,7 @@ int main(int argc, char **argv) {
check_ups_config config = tmp_config.config;
/* initialize alarm signal handling */
- signal(SIGALRM, socket_timeout_alarm_handler);
+ signal(SIGALRM, mopl_net_socket_timeout_alarm_handler);
/* set socket timeout */
alarm(socket_timeout);
@@ -449,7 +449,7 @@ int get_ups_variable(const char *varname, char *buf, const check_ups_config conf
char temp_buffer[MAX_INPUT_BUFFER];
/* send the command to the daemon and get a response back */
- if (process_tcp_request(config.server_address, config.server_port, send_buffer, temp_buffer,
+ if (mopl_net_process_tcp_request(config.server_address, config.server_port, send_buffer, temp_buffer,
sizeof(temp_buffer)) != STATE_OK) {
printf("%s\n", _("Invalid response received from host"));
return ERROR;
@@ -552,7 +552,7 @@ check_ups_config_wrapper process_arguments(int argc, char **argv) {
case '?': /* help */
usage5();
case 'H': /* hostname */
- if (is_host(optarg)) {
+ if (mopl_net_is_host(optarg)) {
result.config.server_address = optarg;
} else {
usage2(_("Invalid hostname/address"), optarg);
@@ -628,7 +628,7 @@ check_ups_config_wrapper process_arguments(int argc, char **argv) {
}
if (result.config.server_address == NULL && argc > optind) {
- if (is_host(argv[optind])) {
+ if (mopl_net_is_host(argv[optind])) {
result.config.server_address = argv[optind++];
} else {
usage2(_("Invalid hostname/address"), optarg);
diff --git a/plugins/netutils.c b/plugins/netutils.c
index 29b31366..9e8bc416 100644
--- a/plugins/netutils.c
+++ b/plugins/netutils.c
@@ -30,9 +30,15 @@
#include "common.h"
#include "output.h"
#include "states.h"
+#include <netinet/in.h>
+#include <sys/socket.h>
#include <sys/types.h>
#include "netutils.h"
+mp_state_enum mopl_net_send_request(int socket, int proto, const char *send_buffer,
+ char *recv_buffer, int recv_size);
+bool mopl_net_is_addr(const char *);
+
unsigned int socket_timeout = DEFAULT_SOCKET_TIMEOUT;
mp_state_enum socket_timeout_state = STATE_CRITICAL;
mp_state_enum econn_refuse_state = STATE_CRITICAL;
@@ -41,7 +47,7 @@ bool was_refused = false;
int address_family = AF_UNSPEC;
/* handles socket timeouts */
-void socket_timeout_alarm_handler(int sig) {
+void mopl_net_socket_timeout_alarm_handler(int sig) {
mp_subcheck timeout_sc = mp_subcheck_init();
timeout_sc = mp_set_subcheck_state(timeout_sc, socket_timeout_state);
@@ -57,95 +63,20 @@ void socket_timeout_alarm_handler(int sig) {
mp_exit(overall);
}
-/* connects to a host on a specified tcp port, sends a string, and gets a
- response. loops on select-recv until timeout or eof to get all of a
- multi-packet answer */
-mp_state_enum process_tcp_request2(const char *server_address, const int server_port,
- const char *send_buffer, char *recv_buffer,
- const int recv_size) {
-
- int socket;
-
- mp_state_enum connect_result =
- np_net_connect(server_address, server_port, &socket, IPPROTO_TCP);
- if (connect_result != STATE_OK) {
- return STATE_CRITICAL;
- }
-
- mp_state_enum result;
- ssize_t send_result = send(socket, send_buffer, strlen(send_buffer), 0);
- if (send_result < 0 || (size_t)send_result != strlen(send_buffer)) {
- // printf("%s\n", _("Send failed"));
- result = STATE_WARNING;
- }
-
- fd_set readfds;
- ssize_t recv_length = 0;
- while (true) {
- /* wait up to the number of seconds for socket timeout
- minus one for data from the host */
- struct timeval timeout = {
- .tv_sec = socket_timeout - 1,
- .tv_usec = 0,
- };
- FD_ZERO(&readfds);
- FD_SET(socket, &readfds);
- select(socket + 1, &readfds, NULL, NULL, &timeout);
-
- /* make sure some data has arrived */
- if (!FD_ISSET(socket, &readfds)) { /* it hasn't */
- if (!recv_length) {
- strcpy(recv_buffer, "");
- // printf("%s\n", _("No data was received from host!"));
- result = STATE_WARNING;
- } else { /* this one failed, but previous ones worked */
- recv_buffer[recv_length] = 0;
- }
- break;
- } /* it has */
-
- ssize_t recv_result =
- recv(socket, recv_buffer + recv_length, (size_t)(recv_size - recv_length - 1), 0);
- if (recv_result == -1) {
- /* recv failed, bail out */
- strcpy(recv_buffer + recv_length, "");
- result = STATE_WARNING;
- break;
- }
-
- if (recv_result == 0) {
- /* end of file ? */
- recv_buffer[recv_length] = 0;
- break;
- }
-
- /* we got data! */
- recv_length += recv_result;
- if (recv_length >= recv_size - 1) {
- /* buffer full, we're done */
- recv_buffer[recv_size - 1] = 0;
- break;
- }
- /* end if(!FD_ISSET(sd,&readfds)) */
- }
-
- close(socket);
- return result;
-}
-
/* connects to a host on a specified port, sends a string, and gets a
response */
-mp_state_enum process_request(const char *server_address, const int server_port, const int proto,
- const char *send_buffer, char *recv_buffer, const int recv_size) {
+mp_state_enum mopl_net_process_request(const char *server_address, const int server_port,
+ const int proto, const char *send_buffer, char *recv_buffer,
+ const int recv_size) {
mp_state_enum result = STATE_OK;
int socket;
- result = np_net_connect(server_address, server_port, &socket, proto);
+ result = mopl_net_connect(server_address, server_port, &socket, proto);
if (result != STATE_OK) {
return STATE_CRITICAL;
}
- result = send_request(socket, proto, send_buffer, recv_buffer, recv_size);
+ result = mopl_net_send_request(socket, proto, send_buffer, recv_buffer, recv_size);
close(socket);
@@ -153,8 +84,8 @@ mp_state_enum process_request(const char *server_address, const int server_port,
}
/* opens a tcp or udp connection to a remote host or local socket */
-mp_state_enum np_net_connect(const char *host_name, int port, int *socketDescriptor,
- const int proto) {
+mp_state_enum mopl_net_connect(const char *host_name, int port, int *socketDescriptor,
+ const int proto) {
/* send back STATE_UNKOWN if there's an error
send back STATE_OK if we connect
send back STATE_CRITICAL if we can't connect.
@@ -284,8 +215,8 @@ mp_state_enum np_net_connect(const char *host_name, int port, int *socketDescrip
}
}
-mp_state_enum send_request(const int socket, const int proto, const char *send_buffer,
- char *recv_buffer, const int recv_size) {
+mp_state_enum mopl_net_send_request(const int socket, const int proto, const char *send_buffer,
+ char *recv_buffer, const int recv_size) {
mp_state_enum result = STATE_OK;
ssize_t send_result = send(socket, send_buffer, strlen(send_buffer), 0);
@@ -329,33 +260,33 @@ mp_state_enum send_request(const int socket, const int proto, const char *send_b
return result;
}
-bool is_host(const char *address) {
- if (is_addr(address) || is_hostname(address)) {
+bool mopl_net_is_host(const char *address) {
+ if (mopl_net_is_addr(address) || mopl_net_is_hostname(address)) {
return (true);
}
return (false);
}
-void host_or_die(const char *str) {
- if (!str || (!is_addr(str) && !is_hostname(str))) {
+void mopl_net_host_or_die(const char *str) {
+ if (!str || (!mopl_net_is_addr(str) && !mopl_net_is_hostname(str))) {
usage_va(_("Invalid hostname/address - %s"), str);
}
}
-bool is_addr(const char *address) {
- if (address_family == AF_INET && is_inet_addr(address)) {
+bool mopl_net_is_addr(const char *address) {
+ if (address_family == AF_INET && mopl_net_is_inet_addr(address)) {
return true;
}
- if (address_family == AF_INET6 && is_inet6_addr(address)) {
+ if (address_family == AF_INET6 && mopl_net_is_inet6_addr(address)) {
return true;
}
return false;
}
-bool dns_lookup(const char *node_string, struct sockaddr_storage *ss, const int family) {
+bool mopl_net_dns_lookup(const char *node_string, struct sockaddr_storage *ss, const int family) {
struct addrinfo hints;
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = family;
@@ -374,3 +305,25 @@ bool dns_lookup(const char *node_string, struct sockaddr_storage *ss, const int
return true;
}
+
+mp_state_enum mopl_net_udp_connect(const char *host_name, int port, int *socketDescriptor) {
+ return mopl_net_connect(host_name, port, socketDescriptor, IPPROTO_UDP);
+}
+
+mp_state_enum mopl_net_tcp_connect(const char *host_name, int port, int *socketDescriptor) {
+ return mopl_net_connect(host_name, port, socketDescriptor, IPPROTO_TCP);
+}
+
+mp_state_enum mopl_net_process_tcp_request(const char *server_address, int server_port,
+ const char *send_buffer, char *recv_buffer,
+ int recv_size) {
+ return mopl_net_process_request(server_address, server_port, IPPROTO_TCP, send_buffer,
+ recv_buffer, recv_size);
+}
+
+bool resolve_host_or_addr(const char *addr, int family) {
+ return mopl_net_dns_lookup(addr, NULL, family);
+}
+bool mopl_net_is_inet_addr(const char *addr) { return resolve_host_or_addr(addr, AF_INET); }
+bool mopl_net_is_inet6_addr(const char *addr) { return resolve_host_or_addr(addr, AF_INET6); }
+bool mopl_net_is_hostname(const char *addr) { return resolve_host_or_addr(addr, address_family); }
diff --git a/plugins/netutils.h b/plugins/netutils.h
index a74930b8..650aa81b 100644
--- a/plugins/netutils.h
+++ b/plugins/netutils.h
@@ -31,7 +31,6 @@
#ifndef _NETUTILS_H_
#define _NETUTILS_H_
-#include "output.h"
#include "states.h"
#include "utils.h"
#include <netinet/in.h>
@@ -50,36 +49,25 @@
# define HOST_MAX_BYTES 255
#endif
-/* process_request and wrapper macros */
-#define process_tcp_request(addr, port, sbuf, rbuf, rsize) \
- process_request(addr, port, IPPROTO_TCP, sbuf, rbuf, rsize)
-#define process_udp_request(addr, port, sbuf, rbuf, rsize) \
- process_request(addr, port, IPPROTO_UDP, sbuf, rbuf, rsize)
-mp_state_enum process_tcp_request2(const char *server_address, int server_port,
- const char *send_buffer, char *recv_buffer, int recv_size);
-mp_state_enum process_request(const char *server_address, int server_port, int proto,
- const char *send_buffer, char *recv_buffer, int recv_size);
+/* process_requests */
+mp_state_enum mopl_net_process_request(const char *server_address, int server_port, int proto,
+ const char *send_buffer, char *recv_buffer, int recv_size);
+mp_state_enum mopl_net_process_tcp_request(const char *server_address, int server_port,
+ const char *send_buffer, char *recv_buffer,
+ int recv_size);
-/* my_connect and wrapper macros */
-#define my_tcp_connect(addr, port, s) np_net_connect(addr, port, s, IPPROTO_TCP)
-#define my_udp_connect(addr, port, s) np_net_connect(addr, port, s, IPPROTO_UDP)
-mp_state_enum np_net_connect(const char *host_name, int port, int *socketDescriptor, int proto);
-
-/* send_request and wrapper macros */
-#define send_tcp_request(s, sbuf, rbuf, rsize) send_request(s, IPPROTO_TCP, sbuf, rbuf, rsize)
-#define send_udp_request(s, sbuf, rbuf, rsize) send_request(s, IPPROTO_UDP, sbuf, rbuf, rsize)
-mp_state_enum send_request(int socket, int proto, const char *send_buffer, char *recv_buffer,
- int recv_size);
+/* net_connect and wrapper macros */
+mp_state_enum mopl_net_connect(const char *host_name, int port, int *socketDescriptor, int proto);
+mp_state_enum mopl_net_udp_connect(const char *host_name, int port, int *socketDescriptor);
+mp_state_enum mopl_net_tcp_connect(const char *host_name, int port, int *socketDescriptor);
/* "is_*" wrapper macros and functions */
-bool is_host(const char *);
-bool is_addr(const char *);
-bool dns_lookup(const char *, struct sockaddr_storage *, int);
-void host_or_die(const char *str);
-#define resolve_host_or_addr(addr, family) dns_lookup(addr, NULL, family)
-#define is_inet_addr(addr) resolve_host_or_addr(addr, AF_INET)
-#define is_inet6_addr(addr) resolve_host_or_addr(addr, AF_INET6)
-#define is_hostname(addr) resolve_host_or_addr(addr, address_family)
+bool mopl_net_is_host(const char *);
+bool mopl_net_dns_lookup(const char *, struct sockaddr_storage *, int);
+void mopl_net_host_or_die(const char *str);
+bool mopl_net_is_inet_addr(const char *addr);
+bool mopl_net_is_inet6_addr(const char *addr);
+bool mopl_net_is_hostname(const char *addr);
extern unsigned int socket_timeout;
extern mp_state_enum socket_timeout_state;
@@ -87,51 +75,53 @@ extern mp_state_enum econn_refuse_state;
extern bool was_refused;
extern int address_family;
-void socket_timeout_alarm_handler(int) __attribute__((noreturn));
+void mopl_net_socket_timeout_alarm_handler(int) __attribute__((noreturn));
/* SSL-Related functionality */
#ifdef HAVE_SSL
-# define MP_SSLv2 1
-# define MP_SSLv3 2
-# define MP_TLSv1 3
-# define MP_TLSv1_1 4
-# define MP_TLSv1_2 5
-# define MP_SSLv2_OR_NEWER 6
-# define MP_SSLv3_OR_NEWER 7
-# define MP_TLSv1_OR_NEWER 8
-# define MP_TLSv1_1_OR_NEWER 9
-# define MP_TLSv1_2_OR_NEWER 10
-/* maybe this could be merged with the above np_net_connect, via some flags */
-int np_net_ssl_init(int socket);
-int np_net_ssl_init_with_hostname(int socket, char *host_name);
-int np_net_ssl_init_with_hostname_and_version(int socket, char *host_name, int version);
-int np_net_ssl_init_with_hostname_version_and_cert(int socket, char *host_name, int version,
- char *cert, char *privkey);
-void np_net_ssl_cleanup(void);
-int np_net_ssl_write(const void *buf, int num);
-int np_net_ssl_read(void *buf, int num);
+typedef enum {
+ MOPL_NET_SSLv2,
+ MOPL_NET_SSLv3,
+ MOPL_NET_TLSv1,
+ MOPL_NET_TLSv1_1,
+ MOPL_NET_TLSv1_2,
+ MOPL_NET_SSLv2_OR_NEWER,
+ MOPL_NET_SSLv3_OR_NEWER,
+ MOPL_NET_TLSv1_OR_NEWER,
+ MOPL_NET_TLSv1_1_OR_NEWER,
+ MOPL_NET_TLSv1_2_OR_NEWER,
+ MOPL_NET_TLS_DEFAULT_VERSION,
+} mopl_tls_version;
+
+int mopl_net_tls_init(int socket);
+int mopl_net_tls_init_with_hostname(int socket, char *host_name);
+int mopl_net_tls_init_with_hostname_and_version(int socket, char *host_name, mopl_tls_version version);
+int mopl_net_tls_init_with_hostname_version_and_cert(int socket, char *host_name, mopl_tls_version version,
+ char *cert, char *privkey);
+void mopl_net_tls_cleanup(void);
+int mopl_net_ssl_write(const void *buf, int num);
+int mopl_net_ssl_read(void *buf, int num);
typedef enum {
ALL_OK,
NO_SERVER_CERTIFICATE_PRESENT,
UNABLE_TO_RETRIEVE_CERTIFICATE_SUBJECT,
WRONG_TIME_FORMAT_IN_CERTIFICATE,
-} retrieve_expiration_date_errors;
+} mopl_net_retrieve_expiration_date_errors;
typedef struct {
double remaining_seconds;
- retrieve_expiration_date_errors errors;
-} retrieve_expiration_time_result;
+ mopl_net_retrieve_expiration_date_errors errors;
+} mopl_net_retrieve_expiration_time_result;
typedef struct {
mp_state_enum result_state;
double remaining_seconds;
- retrieve_expiration_date_errors errors;
-} net_ssl_check_cert_result;
-net_ssl_check_cert_result np_net_ssl_check_cert2(unsigned int days_till_exp_warn,
- unsigned int days_till_exp_crit);
+ mopl_net_retrieve_expiration_date_errors errors;
+} mopl_net_ssl_check_cert_result;
+mopl_net_ssl_check_cert_result mopl_net_ssl_check_cert2(unsigned int days_till_exp_warn,
+ unsigned int days_till_exp_crit);
-mp_state_enum np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit);
-mp_subcheck mp_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit);
+mp_state_enum mopl_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit);
#endif /* HAVE_SSL */
#endif /* _NETUTILS_H_ */
diff --git a/plugins/sslutils.c b/plugins/sslutils.c
index baf7c65a..1b32d61b 100644
--- a/plugins/sslutils.c
+++ b/plugins/sslutils.c
@@ -35,48 +35,50 @@
#ifdef HAVE_SSL
static SSL_CTX *ctx = NULL;
-static SSL *s = NULL;
+static SSL *SSL_context = NULL;
-int np_net_ssl_init(int sd) { return np_net_ssl_init_with_hostname(sd, NULL); }
+int mopl_net_tls_init(int socket) { return mopl_net_tls_init_with_hostname(socket, NULL); }
-int np_net_ssl_init_with_hostname(int sd, char *host_name) {
- return np_net_ssl_init_with_hostname_and_version(sd, host_name, 0);
+int mopl_net_tls_init_with_hostname(int socket, char *host_name) {
+ return mopl_net_tls_init_with_hostname_and_version(socket, host_name, MOPL_NET_TLS_DEFAULT_VERSION);
}
-int np_net_ssl_init_with_hostname_and_version(int sd, char *host_name, int version) {
- return np_net_ssl_init_with_hostname_version_and_cert(sd, host_name, version, NULL, NULL);
+int mopl_net_tls_init_with_hostname_and_version(int socket, char *host_name,
+ mopl_tls_version version) {
+ return mopl_net_tls_init_with_hostname_version_and_cert(socket, host_name, version, NULL, NULL);
}
# ifdef MOPL_USE_OPENSSL
-int np_net_asn1_time_to_time_t(const ASN1_TIME *asn1_time, time_t *out) {
- struct tm tm = {};
- if (!ASN1_TIME_to_tm(asn1_time, &tm)) {
+int mopl_net_asn1_time_to_time_t(const ASN1_TIME *asn1_time, time_t *out) {
+ struct tm time_marker = {};
+ if (!ASN1_TIME_to_tm(asn1_time, &time_marker)) {
return 0;
}
- *out = timegm(&tm);
+ *out = timegm(&time_marker);
if (*out == (time_t)-1) {
return 0;
}
return 1;
}
-void np_net_format_timestamp(time_t t, char *buf, size_t buflen) {
- char *tz = getenv("TZ");
+void mopl_net_format_timestamp(time_t timestamp, char *buf, size_t buflen) {
+ char *time_zone_setting = getenv("TZ");
setenv("TZ", "GMT", 1);
tzset();
- strftime(buf, buflen, "%c %z", localtime(&t));
- if (tz) {
- setenv("TZ", tz, 1);
+ strftime(buf, buflen, "%c %z", localtime(×tamp));
+ if (time_zone_setting) {
+ setenv("TZ", time_zone_setting, 1);
} else {
unsetenv("TZ");
}
tzset();
}
-#endif /* MOPL_USE_OPENSSL */
+# endif /* MOPL_USE_OPENSSL */
-int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int version, char *cert,
- char *privkey) {
- long options = 0;
+int mopl_net_tls_init_with_hostname_version_and_cert(int socket, char *host_name,
+ mopl_tls_version version, char *cert,
+ char *privkey) {
+ unsigned long options = 0;
if ((ctx = SSL_CTX_new(TLS_client_method())) == NULL) {
printf("%s\n", _("CRITICAL - Cannot create SSL context."));
@@ -84,10 +86,10 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
}
switch (version) {
- case MP_SSLv2: /* SSLv2 protocol */
+ case MOPL_NET_SSLv2: /* SSLv2 protocol */
printf("%s\n", _("UNKNOWN - SSL protocol version 2 is not supported by your SSL library."));
return STATE_UNKNOWN;
- case MP_SSLv3: /* SSLv3 protocol */
+ case MOPL_NET_SSLv3: /* SSLv3 protocol */
# if defined(OPENSSL_NO_SSL3)
printf("%s\n", _("UNKNOWN - SSL protocol version 3 is not supported by your SSL library."));
return STATE_UNKNOWN;
@@ -96,7 +98,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_max_proto_version(ctx, SSL3_VERSION);
break;
# endif
- case MP_TLSv1: /* TLSv1 protocol */
+ case MOPL_NET_TLSv1: /* TLSv1 protocol */
# if defined(OPENSSL_NO_TLS1)
printf("%s\n", _("UNKNOWN - TLS protocol version 1 is not supported by your SSL library."));
return STATE_UNKNOWN;
@@ -105,7 +107,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_max_proto_version(ctx, TLS1_VERSION);
break;
# endif
- case MP_TLSv1_1: /* TLSv1.1 protocol */
+ case MOPL_NET_TLSv1_1: /* TLSv1.1 protocol */
# if !defined(SSL_OP_NO_TLSv1_1)
printf("%s\n",
_("UNKNOWN - TLS protocol version 1.1 is not supported by your SSL library."));
@@ -115,7 +117,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_max_proto_version(ctx, TLS1_1_VERSION);
break;
# endif
- case MP_TLSv1_2: /* TLSv1.2 protocol */
+ case MOPL_NET_TLSv1_2: /* TLSv1.2 protocol */
# if !defined(SSL_OP_NO_TLSv1_2)
printf("%s\n",
_("UNKNOWN - TLS protocol version 1.2 is not supported by your SSL library."));
@@ -125,7 +127,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_max_proto_version(ctx, TLS1_2_VERSION);
break;
# endif
- case MP_TLSv1_2_OR_NEWER:
+ case MOPL_NET_TLSv1_2_OR_NEWER:
# if !defined(SSL_OP_NO_TLSv1_1)
printf("%s\n", _("UNKNOWN - Disabling TLSv1.1 is not supported by your SSL library."));
return STATE_UNKNOWN;
@@ -133,7 +135,7 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_min_proto_version(ctx, TLS1_2_VERSION);
break;
# endif
- case MP_TLSv1_1_OR_NEWER:
+ case MOPL_NET_TLSv1_1_OR_NEWER:
# if !defined(SSL_OP_NO_TLSv1)
printf("%s\n", _("UNKNOWN - Disabling TLSv1 is not supported by your SSL library."));
return STATE_UNKNOWN;
@@ -141,16 +143,24 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
SSL_CTX_set_min_proto_version(ctx, TLS1_1_VERSION);
break;
# endif
- case MP_TLSv1_OR_NEWER:
+ case MOPL_NET_TLSv1_OR_NEWER:
# if defined(SSL_OP_NO_SSLv3)
SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION);
break;
# endif
- case MP_SSLv3_OR_NEWER:
+ case MOPL_NET_SSLv2_OR_NEWER:
# if defined(SSL_OP_NO_SSLv2)
+ SSL_CTX_set_min_proto_version(ctx, SSL2_VERSION);
+ break;
+# endif
+ case MOPL_NET_SSLv3_OR_NEWER:
+# if defined(SSL_OP_NO_SSLv3)
SSL_CTX_set_min_proto_version(ctx, SSL3_VERSION);
break;
# endif
+ case MOPL_NET_TLS_DEFAULT_VERSION: {
+ // do nothing special here
+ }
}
if (cert && privkey) {
@@ -177,45 +187,45 @@ int np_net_ssl_init_with_hostname_version_and_cert(int sd, char *host_name, int
# endif
SSL_CTX_set_options(ctx, options);
SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY);
- if ((s = SSL_new(ctx)) != NULL) {
+ if ((SSL_context = SSL_new(ctx)) != NULL) {
# ifdef SSL_set_tlsext_host_name
if (host_name != NULL) {
- SSL_set_tlsext_host_name(s, host_name);
+ SSL_set_tlsext_host_name(SSL_context, host_name);
}
# endif
- SSL_set_fd(s, sd);
- if (SSL_connect(s) == 1) {
+ SSL_set_fd(SSL_context, socket);
+ if (SSL_connect(SSL_context) == 1) {
return OK;
- } else {
- printf("%s\n", _("CRITICAL - Cannot make SSL connection."));
+ }
+ printf("%s\n", _("CRITICAL - Cannot make SSL connection."));
# ifdef MOPL_USE_OPENSSL /* XXX look into ERR_error_string */
- ERR_print_errors_fp(stdout);
+ ERR_print_errors_fp(stdout);
# endif /* MOPL_USE_OPENSSL */
- }
+
} else {
printf("%s\n", _("CRITICAL - Cannot initiate SSL handshake."));
}
return STATE_CRITICAL;
}
-void np_net_ssl_cleanup() {
- if (s) {
+void mopl_net_tls_cleanup(void) {
+ if (SSL_context) {
# ifdef SSL_set_tlsext_host_name
- SSL_set_tlsext_host_name(s, NULL);
+ SSL_set_tlsext_host_name(SSL_context, NULL);
# endif
- SSL_shutdown(s);
- SSL_free(s);
+ SSL_shutdown(SSL_context);
+ SSL_free(SSL_context);
if (ctx) {
SSL_CTX_free(ctx);
ctx = NULL;
}
- s = NULL;
+ SSL_context = NULL;
}
}
-int np_net_ssl_write(const void *buf, int num) { return SSL_write(s, buf, num); }
+int mopl_net_ssl_write(const void *buf, int num) { return SSL_write(SSL_context, buf, num); }
-int np_net_ssl_read(void *buf, int num) { return SSL_read(s, buf, num); }
+int mopl_net_ssl_read(void *buf, int num) { return SSL_read(SSL_context, buf, num); }
mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_warn,
int days_till_exp_crit) {
@@ -233,29 +243,30 @@ mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_
return STATE_CRITICAL;
}
- char cn[MAX_CN_LENGTH] = "";
- int cnlen = X509_NAME_get_text_by_NID(subj, NID_commonName, cn, sizeof(cn));
+ char common_name[MAX_CN_LENGTH] = "";
+ int cnlen = X509_NAME_get_text_by_NID(subj, NID_commonName, common_name, sizeof(common_name));
if (cnlen == -1) {
- strcpy(cn, _("Unknown CN"));
+ strcpy(common_name, _("Unknown CN"));
}
/* Retrieve timestamp of certificate */
const ASN1_TIME *asn1_not_after = X509_get_notAfter(certificate);
time_t expiry_time;
- if (!np_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
+ if (!mopl_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
printf("%s\n", _("CRITICAL - Wrong time format in certificate."));
return STATE_CRITICAL;
}
- float time_left = difftime(expiry_time, time(NULL));
- int days_left = time_left / 86400;
+ double time_left = difftime(expiry_time, time(NULL));
+ int days_left = (int)(time_left / 86400);
char timestamp[50] = "";
- np_net_format_timestamp(expiry_time, timestamp, sizeof(timestamp));
+ mopl_net_format_timestamp(expiry_time, timestamp, sizeof(timestamp));
int time_remaining;
mp_state_enum status = STATE_UNKNOWN;
if (days_left > 0 && days_left <= days_till_exp_warn) {
printf(_("%s - Certificate '%s' expires in %d day(s) (%s).\n"),
- (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", cn, days_left, timestamp);
+ (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", common_name, days_left,
+ timestamp);
if (days_left > days_till_exp_crit) {
status = STATE_WARNING;
} else {
@@ -263,14 +274,14 @@ mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_
}
} else if (days_left == 0 && time_left > 0) {
if (time_left >= 3600) {
- time_remaining = (int)time_left / 3600;
+ time_remaining = (int)(time_left / 3600);
} else {
- time_remaining = (int)time_left / 60;
+ time_remaining = (int)(time_left / 60);
}
printf(_("%s - Certificate '%s' expires in %u %s (%s)\n"),
- (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", cn, time_remaining,
- time_left >= 3600 ? "hours" : "minutes", timestamp);
+ (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", common_name,
+ time_remaining, time_left >= 3600 ? "hours" : "minutes", timestamp);
if (days_left > days_till_exp_crit) {
status = STATE_WARNING;
@@ -278,18 +289,18 @@ mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_
status = STATE_CRITICAL;
}
} else if (time_left < 0) {
- printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), cn, timestamp);
+ printf(_("CRITICAL - Certificate '%s' expired on %s.\n"), common_name, timestamp);
status = STATE_CRITICAL;
} else if (days_left == 0) {
printf(_("%s - Certificate '%s' just expired (%s).\n"),
- (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", cn, timestamp);
+ (days_left > days_till_exp_crit) ? "WARNING" : "CRITICAL", common_name, timestamp);
if (days_left > days_till_exp_crit) {
status = STATE_WARNING;
} else {
status = STATE_CRITICAL;
}
} else {
- printf(_("OK - Certificate '%s' will expire on %s.\n"), cn, timestamp);
+ printf(_("OK - Certificate '%s' will expire on %s.\n"), common_name, timestamp);
status = STATE_OK;
}
X509_free(certificate);
@@ -300,15 +311,14 @@ mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_
# endif /* MOPL_USE_OPENSSL */
}
-retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate) {
+mopl_net_retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate) {
# ifdef MOPL_USE_OPENSSL
- retrieve_expiration_time_result result = {
+ mopl_net_retrieve_expiration_time_result result = {
.errors = ALL_OK,
.remaining_seconds = 0,
};
if (!certificate) {
- // printf("%s\n", _("CRITICAL - No server certificate present to inspect."));
result.errors = NO_SERVER_CERTIFICATE_PRESENT;
return result;
}
@@ -317,21 +327,20 @@ retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate
X509_NAME *subj = X509_get_subject_name(certificate);
if (!subj) {
- // printf("%s\n", _("CRITICAL - Cannot retrieve certificate subject."));
result.errors = UNABLE_TO_RETRIEVE_CERTIFICATE_SUBJECT;
return result;
}
- char cn[MAX_CN_LENGTH] = "";
- int cnlen = X509_NAME_get_text_by_NID(subj, NID_commonName, cn, sizeof(cn));
+ char common_name[MAX_CN_LENGTH] = "";
+ int cnlen = X509_NAME_get_text_by_NID(subj, NID_commonName, common_name, sizeof(common_name));
if (cnlen == -1) {
- strcpy(cn, _("Unknown CN"));
+ strcpy(common_name, _("Unknown CN"));
}
/* Retrieve timestamp of certificate */
const ASN1_TIME *asn1_not_after = X509_get_notAfter(certificate);
time_t expiry_time;
- if (!np_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
+ if (!mopl_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
result.errors = WRONG_TIME_FORMAT_IN_CERTIFICATE;
return result;
}
@@ -347,15 +356,16 @@ retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate
# endif /* MOPL_USE_OPENSSL */
}
-net_ssl_check_cert_result np_net_ssl_check_cert2(unsigned int days_till_exp_warn,
- unsigned int days_till_exp_crit) {
+mopl_net_ssl_check_cert_result mopl_net_ssl_check_cert2(unsigned int days_till_exp_warn,
+ unsigned int days_till_exp_crit) {
# ifdef MOPL_USE_OPENSSL
X509 *certificate = NULL;
- certificate = SSL_get_peer_certificate(s);
+ certificate = SSL_get_peer_certificate(SSL_context);
- retrieve_expiration_time_result expiration_date = np_net_ssl_get_cert_expiration(certificate);
+ mopl_net_retrieve_expiration_time_result expiration_date =
+ np_net_ssl_get_cert_expiration(certificate);
- net_ssl_check_cert_result result = {
+ mopl_net_ssl_check_cert_result result = {
.result_state = STATE_UNKNOWN,
.remaining_seconds = expiration_date.remaining_seconds,
.errors = expiration_date.errors,
@@ -382,10 +392,10 @@ net_ssl_check_cert_result np_net_ssl_check_cert2(unsigned int days_till_exp_warn
# endif /* MOPL_USE_OPENSSL */
}
-mp_state_enum np_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit) {
+mp_state_enum mopl_net_ssl_check_cert(int days_till_exp_warn, int days_till_exp_crit) {
# ifdef MOPL_USE_OPENSSL
X509 *certificate = NULL;
- certificate = SSL_get_peer_certificate(s);
+ certificate = SSL_get_peer_certificate(SSL_context);
return (np_net_ssl_check_certificate(certificate, days_till_exp_warn, days_till_exp_crit));
# else /* ifndef MOPL_USE_OPENSSL */
printf("%s\n", _("WARNING - Plugin does not support checking certificates."));
@@ -421,7 +431,7 @@ mp_subcheck mp_net_ssl_check_certificate(X509 *certificate, int days_till_exp_wa
/* Retrieve timestamp of certificate */
const ASN1_TIME *asn1_not_after = X509_get_notAfter(certificate);
time_t expiry_time;
- if (!np_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
+ if (!mopl_net_asn1_time_to_time_t(asn1_not_after, &expiry_time)) {
xasprintf(&sc_cert.output, _("Wrong time format in certificate"));
sc_cert = mp_set_subcheck_state(sc_cert, STATE_CRITICAL);
return sc_cert;
@@ -429,7 +439,7 @@ mp_subcheck mp_net_ssl_check_certificate(X509 *certificate, int days_till_exp_wa
double time_left = difftime(expiry_time, time(NULL));
int days_left = (int)(time_left / 86400);
char timestamp[50] = "";
- np_net_format_timestamp(expiry_time, timestamp, sizeof(timestamp));
+ mopl_net_format_timestamp(expiry_time, timestamp, sizeof(timestamp));
int time_remaining;
if (days_left > 0 && days_left <= days_till_exp_warn) {
diff --git a/plugins/tests/test_sslutils.c b/plugins/tests/test_sslutils.c
index 3bb0c3bd..0c846907 100644
--- a/plugins/tests/test_sslutils.c
+++ b/plugins/tests/test_sslutils.c
@@ -16,7 +16,6 @@
*
*****************************************************************************/
-#include "common.h"
#include "netutils.h"
#include "../tap/tap.h"
#include "../../lib/output.h"
@@ -27,11 +26,11 @@
# include <openssl/err.h>
/* prototypes for internal functions*/
-int np_net_asn1_time_to_time_t(const ASN1_TIME *asn1_time, time_t *out);
-void np_net_format_timestamp(time_t t, char *buf, size_t buflen);
+int mopl_net_asn1_time_to_time_t(const ASN1_TIME *asn1_time, time_t *out);
+void mopl_net_format_timestamp(time_t t, char *buf, size_t buflen);
mp_state_enum np_net_ssl_check_certificate(X509 *certificate, int days_till_exp_warn,
int days_till_exp_crit);
-retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate);
+mopl_net_retrieve_expiration_time_result np_net_ssl_get_cert_expiration(X509 *certificate);
mp_subcheck mp_net_ssl_check_certificate(X509 *certificate, int days_till_exp_warn,
int days_till_exp_crit);
#endif
@@ -79,7 +78,7 @@ static X509 *create_test_cert(long seconds) {
}
#endif
-int main(int argc, char **argv) {
+int main(void) {
#ifdef HAVE_SSL
plan_tests(44);
# define TIME_DELTA 5
@@ -150,7 +149,8 @@ int main(int argc, char **argv) {
}
/* np_net_ssl_get_cert_expiration - NULL certificate */
- retrieve_expiration_time_result expiration_time_result = np_net_ssl_get_cert_expiration(NULL);
+ mopl_net_retrieve_expiration_time_result expiration_time_result =
+ np_net_ssl_get_cert_expiration(NULL);
ok(expiration_time_result.errors == NO_SERVER_CERTIFICATE_PRESENT,
"NULL certificate returns NO_SERVER_CERTIFICATE_PRESENT error");
@@ -243,7 +243,7 @@ int main(int argc, char **argv) {
ASN1_TIME *asn1_time = ASN1_TIME_new();
ASN1_TIME_set_string(asn1_time, "301128210211Z"); /* Nov 28, 2030 21:02:11 UTC */
time_t result;
- ok(np_net_asn1_time_to_time_t(asn1_time, &result) == 1,
+ ok(mopl_net_asn1_time_to_time_t(asn1_time, &result) == 1,
"np_net_asn1_time_to_time_t succeeds with valid UTCTIME");
struct tm *tm = gmtime(&result);
ok(tm->tm_year == 130 && tm->tm_mon == 10 && tm->tm_mday == 28 && tm->tm_hour == 21 &&
@@ -254,7 +254,7 @@ int main(int argc, char **argv) {
/* np_net_asn1_time_to_time_t with valid GENERALIZEDTIME */
asn1_time = ASN1_TIME_new();
ASN1_TIME_set_string(asn1_time, "20510701120000Z"); /* Jul 1, 2051 12:00:00 UTC */
- ok(np_net_asn1_time_to_time_t(asn1_time, &result) == 1,
+ ok(mopl_net_asn1_time_to_time_t(asn1_time, &result) == 1,
"np_net_asn1_time_to_time_t succeeds with valid GENERALIZEDTIME");
tm = gmtime(&result);
ok(tm->tm_year == 151 && tm->tm_mon == 6 && tm->tm_mday == 1 && tm->tm_hour == 12 &&
@@ -264,7 +264,7 @@ int main(int argc, char **argv) {
/* np_net_asn1_time_to_time_t fails with empty ASN1_TIME */
asn1_time = ASN1_TIME_new();
- ok(np_net_asn1_time_to_time_t(asn1_time, &result) == 0,
+ ok(mopl_net_asn1_time_to_time_t(asn1_time, &result) == 0,
"np_net_asn1_time_to_time_t fails with empty ASN1_TIME");
ASN1_TIME_free(asn1_time);
@@ -272,9 +272,9 @@ int main(int argc, char **argv) {
asn1_time = ASN1_TIME_new();
ASN1_TIME_set_string(asn1_time, "301128210211Z"); /* Nov 28, 2030 21:02:11 UTC */
time_t t;
- np_net_asn1_time_to_time_t(asn1_time, &t);
+ mopl_net_asn1_time_to_time_t(asn1_time, &t);
char buf[100] = "";
- np_net_format_timestamp(t, buf, sizeof(buf));
+ mopl_net_format_timestamp(t, buf, sizeof(buf));
ok(strlen(buf) > 0, "np_net_format_timestamp produces non-empty output");
ok(strstr(buf, "+0000") != NULL,
"np_net_format_timestamp output contains +0000 for GMT timezone");
More information about the Commits
mailing list