diff options
| author | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2002-08-14 19:04:56 +0000 |
|---|---|---|
| committer | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2002-08-14 19:04:56 +0000 |
| commit | 325e642ae83045f15a3b19e9f8754a46a0d68ac0 (patch) | |
| tree | b9b23484892d1f86920ab2cf1dda380fe1df08ff /plugins | |
| parent | c62d37646b45b0a67bb4b3a0bf509ec898942075 (diff) | |
| download | monitoring-plugins-325e642ae83045f15a3b19e9f8754a46a0d68ac0.tar.gz | |
added HELO command
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@77 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_smtp.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c index 2000c620..2d2e2891 100644 --- a/plugins/check_smtp.c +++ b/plugins/check_smtp.c | |||
| @@ -43,6 +43,8 @@ | |||
| 43 | 43 | ||
| 44 | #define SMTP_PORT 25 | 44 | #define SMTP_PORT 25 |
| 45 | #define SMTP_EXPECT "220" | 45 | #define SMTP_EXPECT "220" |
| 46 | #define SMTP_HELO "HELO " | ||
| 47 | |||
| 46 | /* sendmail will syslog a "NOQUEUE" error if session does not attempt | 48 | /* sendmail will syslog a "NOQUEUE" error if session does not attempt |
| 47 | * to do something useful. This can be prevented by giving a command | 49 | * to do something useful. This can be prevented by giving a command |
| 48 | * even if syntax is illegal (MAIL requires a FROM:<...> argument) | 50 | * even if syntax is illegal (MAIL requires a FROM:<...> argument) |
| @@ -74,10 +76,18 @@ main (int argc, char **argv) | |||
| 74 | int sd; | 76 | int sd; |
| 75 | int result; | 77 | int result; |
| 76 | char buffer[MAX_INPUT_BUFFER] = ""; | 78 | char buffer[MAX_INPUT_BUFFER] = ""; |
| 79 | char helocmd[255] = SMTP_HELO ; | ||
| 80 | char myhostname[248]; | ||
| 81 | |||
| 77 | 82 | ||
| 78 | if (process_arguments (argc, argv) != OK) | 83 | if (process_arguments (argc, argv) != OK) |
| 79 | usage ("Invalid command arguments supplied\n"); | 84 | usage ("Invalid command arguments supplied\n"); |
| 80 | 85 | ||
| 86 | /* initalize the HELO command with the localhostname */ | ||
| 87 | gethostname(myhostname, sizeof(myhostname)); | ||
| 88 | strcat(helocmd, myhostname); | ||
| 89 | strcat(helocmd, "\r\n"); | ||
| 90 | |||
| 81 | /* initialize alarm signal handling */ | 91 | /* initialize alarm signal handling */ |
| 82 | signal (SIGALRM, socket_timeout_alarm_handler); | 92 | signal (SIGALRM, socket_timeout_alarm_handler); |
| 83 | 93 | ||
| @@ -138,12 +148,18 @@ main (int argc, char **argv) | |||
| 138 | } | 148 | } |
| 139 | 149 | ||
| 140 | /* close the connection */ | 150 | /* close the connection */ |
| 151 | /* first send the HELO command */ | ||
| 152 | send(sd,helocmd,strlen(helocmd),0); | ||
| 153 | /* allow for response to helo command to reach us */ | ||
| 154 | recv(sd,buffer,MAX_INPUT_BUFFER-1,0); | ||
| 155 | |||
| 141 | #ifdef SMTP_USE_DUMMYCMD | 156 | #ifdef SMTP_USE_DUMMYCMD |
| 142 | send(sd,SMTP_DUMMYCMD,strlen(SMTP_DUMMYCMD),0); | 157 | send(sd,SMTP_DUMMYCMD,strlen(SMTP_DUMMYCMD),0); |
| 143 | /* allow for response to DUMMYCMD to reach us */ | 158 | /* allow for response to DUMMYCMD to reach us */ |
| 144 | recv(sd,buffer,MAX_INPUT_BUFFER-1,0); | 159 | recv(sd,buffer,MAX_INPUT_BUFFER-1,0); |
| 145 | #endif /* SMTP_USE_DUMMYCMD */ | 160 | #endif /* SMTP_USE_DUMMYCMD */ |
| 146 | 161 | ||
| 162 | /* finally close the connection */ | ||
| 147 | send (sd, SMTP_QUIT, strlen (SMTP_QUIT), 0); | 163 | send (sd, SMTP_QUIT, strlen (SMTP_QUIT), 0); |
| 148 | close (sd); | 164 | close (sd); |
| 149 | } | 165 | } |
