diff options
Diffstat (limited to 'testsuite/smtpsend.c')
-rw-r--r-- | testsuite/smtpsend.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/testsuite/smtpsend.c b/testsuite/smtpsend.c index e831968f5..2fe2d9f52 100644 --- a/testsuite/smtpsend.c +++ b/testsuite/smtpsend.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <unistd.h> | 20 | #include <unistd.h> |
21 | #include <stdio.h> | 21 | #include <stdio.h> |
22 | #include <stdlib.h> | 22 | #include <stdlib.h> |
23 | #include <netdb.h> | ||
23 | #include <mailutils/cctype.h> | 24 | #include <mailutils/cctype.h> |
24 | #include <mailutils/mailutils.h> | 25 | #include <mailutils/mailutils.h> |
25 | #include <mailutils/smtp.h> | 26 | #include <mailutils/smtp.h> |
@@ -85,7 +86,7 @@ main (int argc, char **argv) | |||
85 | int i; | 86 | int i; |
86 | char *host = NULL; | 87 | char *host = NULL; |
87 | char *infile = NULL; | 88 | char *infile = NULL; |
88 | int port = 25; | 89 | char *port = NULL; |
89 | int tls = 0; | 90 | int tls = 0; |
90 | int raw = 1; | 91 | int raw = 1; |
91 | int flags = 0; | 92 | int flags = 0; |
@@ -96,6 +97,8 @@ main (int argc, char **argv) | |||
96 | mu_list_t rcpt_list = NULL; | 97 | mu_list_t rcpt_list = NULL; |
97 | mu_list_t meth_list = NULL; | 98 | mu_list_t meth_list = NULL; |
98 | mu_list_t skiphdr_list = NULL; | 99 | mu_list_t skiphdr_list = NULL; |
100 | struct mu_sockaddr *sa; | ||
101 | struct mu_sockaddr_hints hints; | ||
99 | 102 | ||
100 | mu_set_program_name (argv[0]); | 103 | mu_set_program_name (argv[0]); |
101 | mu_stdstream_setup (); | 104 | mu_stdstream_setup (); |
@@ -111,14 +114,7 @@ main (int argc, char **argv) | |||
111 | for (i = 1; i < argc; i++) | 114 | for (i = 1; i < argc; i++) |
112 | { | 115 | { |
113 | if (strncmp (argv[i], "port=", 5) == 0) | 116 | if (strncmp (argv[i], "port=", 5) == 0) |
114 | { | 117 | port = argv[i] + 5; |
115 | port = atoi (argv[i] + 5); | ||
116 | if (port == 0) | ||
117 | { | ||
118 | mu_error ("invalid port"); | ||
119 | return 1; | ||
120 | } | ||
121 | } | ||
122 | else if (strncmp (argv[i], "trace=", 6) == 0) | 118 | else if (strncmp (argv[i], "trace=", 6) == 0) |
123 | { | 119 | { |
124 | char *arg = argv[i] + 6; | 120 | char *arg = argv[i] + 6; |
@@ -194,7 +190,16 @@ main (int argc, char **argv) | |||
194 | MU_ASSERT (mu_stdio_stream_create (&instr, MU_STDIN_FD, flags)); | 190 | MU_ASSERT (mu_stdio_stream_create (&instr, MU_STDIN_FD, flags)); |
195 | 191 | ||
196 | host = argv[1]; | 192 | host = argv[1]; |
197 | MU_ASSERT (mu_tcp_stream_create (&stream, host, port, MU_STREAM_RDWR)); | 193 | |
194 | memset (&hints, 0, sizeof (hints)); | ||
195 | hints.flags = MU_AH_DETECT_FAMILY; | ||
196 | hints.port = 25; | ||
197 | hints.protocol = IPPROTO_TCP; | ||
198 | hints.socktype = SOCK_STREAM; | ||
199 | MU_ASSERT (mu_sockaddr_from_node (&sa, host, port, &hints)); | ||
200 | |||
201 | MU_ASSERT (mu_tcp_stream_create_from_sa (&stream, sa, NULL, MU_STREAM_RDWR)); | ||
202 | |||
198 | mu_smtp_set_carrier (smtp, stream); | 203 | mu_smtp_set_carrier (smtp, stream); |
199 | mu_stream_unref (stream); | 204 | mu_stream_unref (stream); |
200 | 205 | ||