summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/check_smtp.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index 58367a3..3758fd9 100644
--- a/plugins/check_smtp.c
+++ b/plugins/check_smtp.c
@@ -87,9 +87,7 @@ int errcode, excode;
87int server_port = SMTP_PORT; 87int server_port = SMTP_PORT;
88char *server_address = NULL; 88char *server_address = NULL;
89char *server_expect = NULL; 89char *server_expect = NULL;
90int smtp_use_dummycmd = 0; 90int send_mail_from=0;
91char *mail_command = NULL;
92char *from_arg = NULL;
93int ncommands=0; 91int ncommands=0;
94int command_size=0; 92int command_size=0;
95int nresponses=0; 93int nresponses=0;
@@ -166,7 +164,7 @@ main (int argc, char **argv)
166 /* initialize the MAIL command with optional FROM command */ 164 /* initialize the MAIL command with optional FROM command */
167 xasprintf (&cmd_str, "%sFROM:<%s>%s", mail_command, from_arg, "\r\n"); 165 xasprintf (&cmd_str, "%sFROM:<%s>%s", mail_command, from_arg, "\r\n");
168 166
169 if (verbose && smtp_use_dummycmd) 167 if (verbose && send_mail_from)
170 printf ("FROM CMD: %s", cmd_str); 168 printf ("FROM CMD: %s", cmd_str);
171 169
172 /* initialize alarm signal handling */ 170 /* initialize alarm signal handling */
@@ -283,16 +281,7 @@ main (int argc, char **argv)
283 } 281 }
284#endif 282#endif
285 283
286 /* sendmail will syslog a "NOQUEUE" error if session does not attempt 284 if (send_mail_from) {
287 * to do something useful. This can be prevented by giving a command
288 * even if syntax is illegal (MAIL requires a FROM:<...> argument)
289 *
290 * According to rfc821 you can include a null reversepath in the from command
291 * - but a log message is generated on the smtp server.
292 *
293 * Use the -f option to provide a FROM address
294 */
295 if (smtp_use_dummycmd) {
296 my_send(cmd_str, strlen(cmd_str)); 285 my_send(cmd_str, strlen(cmd_str));
297 if (recvlines(buffer, MAX_INPUT_BUFFER) >= 1 && verbose) 286 if (recvlines(buffer, MAX_INPUT_BUFFER) >= 1 && verbose)
298 printf("%s", buffer); 287 printf("%s", buffer);
@@ -521,7 +510,7 @@ process_arguments (int argc, char **argv)
521 case 'f': /* from argument */ 510 case 'f': /* from argument */
522 from_arg = optarg + strspn(optarg, "<"); 511 from_arg = optarg + strspn(optarg, "<");
523 from_arg = strndup(from_arg, strcspn(from_arg, ">")); 512 from_arg = strndup(from_arg, strcspn(from_arg, ">"));
524 smtp_use_dummycmd = 1; 513 send_mail_from = 1;
525 break; 514 break;
526 case 'A': 515 case 'A':
527 authtype = optarg; 516 authtype = optarg;