Mercurial > hg > nginx
comparison src/mail/ngx_mail_parse.c @ 1322:27f2299e0d80
SMTP STARTTLS
patch by Maxim Dounin
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 20 Jul 2007 18:36:04 +0000 |
parents | 68f30ab68bb7 |
children | c4b2c893989d |
comparison
equal
deleted
inserted
replaced
1321:8eb4dfcb89a6 | 1322:27f2299e0d80 |
---|---|
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) { |