diff --git a/src/mail/ngx_mail_imap_handler.c b/src/mail/ngx_mail_imap_handler.c
index 0c88d1a..4c55157 100644
--- a/src/mail/ngx_mail_imap_handler.c
+++ b/src/mail/ngx_mail_imap_handler.c
@@ -43,7 +43,7 @@
 
     c->read->handler = ngx_mail_imap_init_protocol;
 
-    ngx_add_timer(c->read, cscf->timeout); 
+    ngx_add_timer(c->read, cscf->timeout);
 
     if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
         ngx_mail_close_connection(c);
diff --git a/src/mail/ngx_mail_pop3_handler.c b/src/mail/ngx_mail_pop3_handler.c
index 02e4101..065536a 100644
--- a/src/mail/ngx_mail_pop3_handler.c
+++ b/src/mail/ngx_mail_pop3_handler.c
@@ -62,7 +62,7 @@
 
     c->read->handler = ngx_mail_pop3_init_protocol;
 
-    ngx_add_timer(c->read, cscf->timeout); 
+    ngx_add_timer(c->read, cscf->timeout);
 
     if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
         ngx_mail_close_connection(c);
diff --git a/src/mail/ngx_mail_smtp_handler.c b/src/mail/ngx_mail_smtp_handler.c
index 9fad459..a7aae0e 100644
--- a/src/mail/ngx_mail_smtp_handler.c
+++ b/src/mail/ngx_mail_smtp_handler.c
@@ -48,7 +48,7 @@
 
     timeout = cscf->smtp_greeting_delay ? cscf->smtp_greeting_delay:
                                           cscf->timeout;
-    ngx_add_timer(c->read, timeout); 
+    ngx_add_timer(c->read, timeout);
 
     if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
         ngx_mail_close_connection(c);
@@ -89,7 +89,7 @@
 
         c->read->handler = ngx_mail_smtp_init_protocol;
 
-        ngx_add_timer(c->read, cscf->timeout); 
+        ngx_add_timer(c->read, cscf->timeout);
 
         if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
             ngx_mail_close_connection(c);
@@ -288,7 +288,7 @@
 
     case NGX_MAIL_PARSE_INVALID_COMMAND:
         s->mail_state = ngx_smtp_start;
-        s->state = 0; 
+        s->state = 0;
 
         s->out.len = sizeof(smtp_invalid_command) - 1;
         s->out.data = smtp_invalid_command;
@@ -490,7 +490,7 @@
     if (n > 0) {
         s->buffer->last += n;
     }
-    
+
     if (n == NGX_AGAIN) {
         if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
             ngx_mail_session_internal_server_error(s);
