[monitoring-plugins] check_real.c: split send and receive buffers for ...
Lorenz Kästle
git at monitoring-plugins.org
Sun Jul 26 11:10:13 CEST 2026
Module: monitoring-plugins
Branch: master
Commit: d05c5221181acc0b55089aff0b98b3aedc3741d8
Author: Lorenz Kästle <lorenz at vulgrim.de>
Date: Wed Jul 15 17:22:38 2026 +0200
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=d05c5221
check_real.c: split send and receive buffers for readability
---
plugins/check_real.c | 41 +++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 20 deletions(-)
diff --git a/plugins/check_real.c b/plugins/check_real.c
index 0dd649e1..841f9d67 100644
--- a/plugins/check_real.c
+++ b/plugins/check_real.c
@@ -107,9 +107,9 @@ int main(int argc, char **argv) {
mp_subcheck sc_send = mp_subcheck_init();
/* send the OPTIONS request */
- char buffer[MAX_INPUT_BUFFER];
- sprintf(buffer, "OPTIONS rtsp://%s:%d RTSP/1.0\r\n", config.host_name, config.server_port);
- ssize_t sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ char send_buffer[MAX_INPUT_BUFFER];
+ sprintf(send_buffer, "OPTIONS rtsp://%s:%d RTSP/1.0\r\n", config.host_name, config.server_port);
+ ssize_t sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
xasprintf(&sc_send.output, _("Sending options to %s failed"), config.host_name);
sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -118,8 +118,8 @@ int main(int argc, char **argv) {
}
/* send the header sync */
- sprintf(buffer, "CSeq: 1\r\n");
- sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ sprintf(send_buffer, "CSeq: 1\r\n");
+ sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
xasprintf(&sc_send.output, _("Sending header sync to %s failed"), config.host_name);
sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -128,8 +128,8 @@ int main(int argc, char **argv) {
}
/* send a newline so the server knows we're done with the request */
- sprintf(buffer, "\r\n");
- sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ sprintf(send_buffer, "\r\n");
+ sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
xasprintf(&sc_send.output, _("Sending newline to %s failed"), config.host_name);
sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -138,7 +138,8 @@ int main(int argc, char **argv) {
}
/* watch for the REAL connection string */
- ssize_t received_bytes = recv(socket, buffer, MAX_INPUT_BUFFER - 1, 0);
+ char recv_buffer[MAX_INPUT_BUFFER];
+ ssize_t received_bytes = recv(socket, recv_buffer, MAX_INPUT_BUFFER - 1, 0);
/* return a CRITICAL status if we couldn't read any data */
if (received_bytes == -1) {
@@ -153,7 +154,7 @@ int main(int argc, char **argv) {
mp_subcheck sc_options_request = mp_subcheck_init();
mp_state_enum options_result = STATE_OK;
/* make sure we find the response we are looking for */
- if (!strstr(buffer, config.server_expect)) {
+ if (!strstr(recv_buffer, config.server_expect)) {
if (config.server_port == PORT) {
xasprintf(&sc_options_request.output, "invalid REAL response received from host");
} else {
@@ -167,7 +168,7 @@ int main(int argc, char **argv) {
options_result = STATE_OK;
- char *status_line = strtok(buffer, "\n");
+ char *status_line = strtok(recv_buffer, "\n");
xasprintf(&sc_options_request.output, "status line: %s", status_line);
if (strstr(status_line, "200")) {
@@ -213,10 +214,10 @@ int main(int argc, char **argv) {
mp_subcheck sc_describe = mp_subcheck_init();
/* send the DESCRIBE request */
- sprintf(buffer, "DESCRIBE rtsp://%s:%d%s RTSP/1.0\r\n", config.host_name,
+ sprintf(send_buffer, "DESCRIBE rtsp://%s:%d%s RTSP/1.0\r\n", config.host_name,
config.server_port, config.server_url);
- ssize_t sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ ssize_t sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -226,8 +227,8 @@ int main(int argc, char **argv) {
}
/* send the header sync */
- sprintf(buffer, "CSeq: 2\r\n");
- sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ sprintf(send_buffer, "CSeq: 2\r\n");
+ sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -237,8 +238,8 @@ int main(int argc, char **argv) {
}
/* send a newline so the server knows we're done with the request */
- sprintf(buffer, "\r\n");
- sent_bytes = send(socket, buffer, strlen(buffer), 0);
+ sprintf(send_buffer, "\r\n");
+ sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
if (sent_bytes == -1) {
sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -248,7 +249,7 @@ int main(int argc, char **argv) {
}
/* watch for the REAL connection string */
- ssize_t recv_bytes = recv(socket, buffer, MAX_INPUT_BUFFER - 1, 0);
+ ssize_t recv_bytes = recv(socket, recv_buffer, MAX_INPUT_BUFFER - 1, 0);
if (recv_bytes == -1) {
/* return a CRITICAL status if we couldn't read any data */
sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
@@ -256,9 +257,9 @@ int main(int argc, char **argv) {
mp_add_subcheck_to_check(&overall, sc_describe);
mp_exit(overall);
} else {
- buffer[recv_bytes] = '\0'; /* null terminate received buffer */
+ recv_buffer[recv_bytes] = '\0'; /* null terminate received buffer */
/* make sure we find the response we are looking for */
- if (!strstr(buffer, config.server_expect)) {
+ if (!strstr(recv_buffer, config.server_expect)) {
if (config.server_port == PORT) {
xasprintf(&sc_describe.output, "invalid REAL response received from host");
} else {
@@ -275,7 +276,7 @@ int main(int argc, char **argv) {
time(&end_time);
- char *status_line = strtok(buffer, "\n");
+ char *status_line = strtok(recv_buffer, "\n");
xasprintf(&sc_describe.output, "status line: %s", status_line);
mp_state_enum describe_result;
More information about the Commits
mailing list