SMTP lines are officially terminated with CRLF, ssl_mail_client fixed
diff --git a/programs/ssl/ssl_mail_client.c b/programs/ssl/ssl_mail_client.c
index fb2f822..eaa44b6 100644
--- a/programs/ssl/ssl_mail_client.c
+++ b/programs/ssl/ssl_mail_client.c
@@ -625,7 +625,7 @@
fflush( stdout );
gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "EHLO %s\n", hostname );
+ len = sprintf( (char *) buf, "EHLO %s\r\n", hostname );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 200 || ret > 299 )
{
@@ -651,7 +651,7 @@
fflush( stdout );
gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "EHLO %s\n", hostname );
+ len = sprintf( (char *) buf, "EHLO %s\r\n", hostname );
ret = write_and_get_response( server_fd, buf, len );
if( ret < 200 || ret > 299 )
{
@@ -665,7 +665,7 @@
fflush( stdout );
gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "STARTTLS\n" );
+ len = sprintf( (char *) buf, "STARTTLS\r\n" );
ret = write_and_get_response( server_fd, buf, len );
if( ret < 200 || ret > 299 )
{
@@ -685,7 +685,7 @@
printf( " > Write AUTH LOGIN to server:" );
fflush( stdout );
- len = sprintf( (char *) buf, "AUTH LOGIN\n" );
+ len = sprintf( (char *) buf, "AUTH LOGIN\r\n" );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 200 || ret > 399 )
{
@@ -701,7 +701,7 @@
n = sizeof( buf );
len = base64_encode( base, &n, (const unsigned char *) opt.user_name,
strlen( opt.user_name ) );
- len = sprintf( (char *) buf, "%s\n", base );
+ len = sprintf( (char *) buf, "%s\r\n", base );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 300 || ret > 399 )
{
@@ -716,7 +716,7 @@
len = base64_encode( base, &n, (const unsigned char *) opt.user_pwd,
strlen( opt.user_pwd ) );
- len = sprintf( (char *) buf, "%s\n", base );
+ len = sprintf( (char *) buf, "%s\r\n", base );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 200 || ret > 399 )
{
@@ -731,7 +731,7 @@
printf( " > Write MAIL FROM to server:" );
fflush( stdout );
- len = sprintf( (char *) buf, "MAIL FROM:<%s>\n", opt.mail_from );
+ len = sprintf( (char *) buf, "MAIL FROM:<%s>\r\n", opt.mail_from );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 200 || ret > 299 )
{
@@ -744,7 +744,7 @@
printf( " > Write RCPT TO to server:" );
fflush( stdout );
- len = sprintf( (char *) buf, "RCPT TO:<%s>\n", opt.mail_to );
+ len = sprintf( (char *) buf, "RCPT TO:<%s>\r\n", opt.mail_to );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 200 || ret > 299 )
{
@@ -757,7 +757,7 @@
printf( " > Write DATA to server:" );
fflush( stdout );
- len = sprintf( (char *) buf, "DATA\n" );
+ len = sprintf( (char *) buf, "DATA\r\n" );
ret = write_ssl_and_get_response( &ssl, buf, len );
if( ret < 300 || ret > 399 )
{
@@ -770,10 +770,10 @@
printf( " > Write content to server:" );
fflush( stdout );
- len = sprintf( (char *) buf, "From: %s\nSubject: PolarSSL Test mail\n\n"
+ len = sprintf( (char *) buf, "From: %s\r\nSubject: PolarSSL Test mail\r\n\r\n"
"This is a simple test mail from the "
- "PolarSSL mail client example.\n"
- "\n"
+ "PolarSSL mail client example.\r\n"
+ "\r\n"
"Enjoy!", opt.mail_from );
ret = write_ssl_data( &ssl, buf, len );