|
@@ -169,7 +169,7 @@ main (int argc, char **argv)
|
|
|
int result = STATE_UNKNOWN;
|
|
int result = STATE_UNKNOWN;
|
|
|
char *cmd_str = NULL;
|
|
char *cmd_str = NULL;
|
|
|
char *helocmd = NULL;
|
|
char *helocmd = NULL;
|
|
|
- char *error_msg = NULL;
|
|
|
|
|
|
|
+ char *error_msg = "";
|
|
|
struct timeval tv;
|
|
struct timeval tv;
|
|
|
|
|
|
|
|
setlocale (LC_ALL, "");
|
|
setlocale (LC_ALL, "");
|
|
@@ -380,12 +380,12 @@ main (int argc, char **argv)
|
|
|
do {
|
|
do {
|
|
|
if (authuser == NULL) {
|
|
if (authuser == NULL) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("no authuser specified, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("no authuser specified, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
if (authpass == NULL) {
|
|
if (authpass == NULL) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("no authpass specified, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("no authpass specified, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -395,7 +395,7 @@ main (int argc, char **argv)
|
|
|
printf (_("sent %s\n"), "AUTH LOGIN");
|
|
printf (_("sent %s\n"), "AUTH LOGIN");
|
|
|
|
|
|
|
|
if((ret = my_recv(buffer, MAXBUF - 1)) < 0){
|
|
if((ret = my_recv(buffer, MAXBUF - 1)) < 0){
|
|
|
- error_msg = _("recv() failed after AUTH LOGIN, \n");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("recv() failed after AUTH LOGIN, "));
|
|
|
result = STATE_WARNING;
|
|
result = STATE_WARNING;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -405,7 +405,7 @@ main (int argc, char **argv)
|
|
|
|
|
|
|
|
if (strncmp (buffer, "334", 3) != 0) {
|
|
if (strncmp (buffer, "334", 3) != 0) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("invalid response received after AUTH LOGIN, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("invalid response received after AUTH LOGIN, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -418,7 +418,7 @@ main (int argc, char **argv)
|
|
|
|
|
|
|
|
if ((ret = my_recv(buffer, MAX_INPUT_BUFFER-1)) == -1) {
|
|
if ((ret = my_recv(buffer, MAX_INPUT_BUFFER-1)) == -1) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("recv() failed after sending authuser, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("recv() failed after sending authuser, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
buffer[ret] = 0;
|
|
buffer[ret] = 0;
|
|
@@ -427,7 +427,7 @@ main (int argc, char **argv)
|
|
|
}
|
|
}
|
|
|
if (strncmp (buffer, "334", 3) != 0) {
|
|
if (strncmp (buffer, "334", 3) != 0) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("invalid response received after authuser, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("invalid response received after authuser, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
/* encode authpass with base64 */
|
|
/* encode authpass with base64 */
|
|
@@ -439,7 +439,7 @@ main (int argc, char **argv)
|
|
|
}
|
|
}
|
|
|
if ((ret = my_recv(buffer, MAX_INPUT_BUFFER-1)) == -1) {
|
|
if ((ret = my_recv(buffer, MAX_INPUT_BUFFER-1)) == -1) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("recv() failed after sending authpass, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("recv() failed after sending authpass, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
buffer[ret] = 0;
|
|
buffer[ret] = 0;
|
|
@@ -448,14 +448,14 @@ main (int argc, char **argv)
|
|
|
}
|
|
}
|
|
|
if (strncmp (buffer, "235", 3) != 0) {
|
|
if (strncmp (buffer, "235", 3) != 0) {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("invalid response received after authpass, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("invalid response received after authpass, "));
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
} while (0);
|
|
} while (0);
|
|
|
} else {
|
|
} else {
|
|
|
result = STATE_CRITICAL;
|
|
result = STATE_CRITICAL;
|
|
|
- error_msg = _("only authtype LOGIN is supported, ");
|
|
|
|
|
|
|
+ asprintf(&error_msg, _("only authtype LOGIN is supported, "));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -481,7 +481,7 @@ main (int argc, char **argv)
|
|
|
|
|
|
|
|
printf (_("SMTP %s - %s%.3f sec. response time%s%s|%s\n"),
|
|
printf (_("SMTP %s - %s%.3f sec. response time%s%s|%s\n"),
|
|
|
state_text (result),
|
|
state_text (result),
|
|
|
- (error_msg == NULL ? "" : error_msg),
|
|
|
|
|
|
|
+ error_msg,
|
|
|
elapsed_time,
|
|
elapsed_time,
|
|
|
verbose?", ":"", verbose?buffer:"",
|
|
verbose?", ":"", verbose?buffer:"",
|
|
|
fperfdata ("time", elapsed_time, "s",
|
|
fperfdata ("time", elapsed_time, "s",
|