comparison src/mail/ngx_mail_parse.c @ 1501:4d3113e06df1 stable-0.5

r1323 merge: SMTP STARTTLS patch by Maxim Dounin
author Igor Sysoev <igor@sysoev.ru>
date Sat, 22 Sep 2007 18:35:18 +0000
parents 68f30ab68bb7
children c4b2c893989d
comparison
equal deleted inserted replaced
1500:c9c4e96421f1 1501:4d3113e06df1
644 644
645 } else if (c0 == 'R' && c1 == 'S' && c2 == 'E' && c3 == 'T') 645 } else if (c0 == 'R' && c1 == 'S' && c2 == 'E' && c3 == 'T')
646 { 646 {
647 s->command = NGX_SMTP_RSET; 647 s->command = NGX_SMTP_RSET;
648 648
649 } else if (c0 == 'R' && c1 == 'C' && c2 == 'P' && c3 == 'T')
650 {
651 s->command = NGX_SMTP_RCPT;
652
653 } else if (c0 == 'V' && c1 == 'R' && c2 == 'F' && c3 == 'Y')
654 {
655 s->command = NGX_SMTP_VRFY;
656
657 } else if (c0 == 'E' && c1 == 'X' && c2 == 'P' && c3 == 'N')
658 {
659 s->command = NGX_SMTP_EXPN;
660
661 } else if (c0 == 'H' && c1 == 'E' && c2 == 'L' && c3 == 'P')
662 {
663 s->command = NGX_SMTP_HELP;
664
649 } else { 665 } else {
650 goto invalid; 666 goto invalid;
651 } 667 }
652 668 #if (NGX_MAIL_SSL)
669 } else if (p - c == 8) {
670
671 if ((c[0] == 'S'|| c[0] == 's')
672 && (c[1] == 'T'|| c[1] == 't')
673 && (c[2] == 'A'|| c[2] == 'a')
674 && (c[3] == 'R'|| c[3] == 'r')
675 && (c[4] == 'T'|| c[4] == 't')
676 && (c[5] == 'T'|| c[5] == 't')
677 && (c[6] == 'L'|| c[6] == 'l')
678 && (c[7] == 'S'|| c[7] == 's'))
679 {
680 s->command = NGX_SMTP_STARTTLS;
681
682 } else {
683 goto invalid;
684 }
685 #endif
653 } else { 686 } else {
654 goto invalid; 687 goto invalid;
655 } 688 }
656 689
657 switch (ch) { 690 switch (ch) {