Mercurial > hg > nginx-mail
comparison src/mail/ngx_mail_parse.c @ 398:f9e6413396d4 PATCH_NGINX_MAIL_0_2
Mail: IMAP AUTHENTICATE command support.
Supported auth methods: PLAIN, LOGIN, CRAM-MD5.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 19 Jul 2007 02:43:59 +0000 |
parents | a96157df5186 |
children | 98c752b41cbc |
comparison
equal
deleted
inserted
replaced
397:1aac47be9772 | 398:f9e6413396d4 |
---|---|
352 } else { | 352 } else { |
353 goto invalid; | 353 goto invalid; |
354 } | 354 } |
355 break; | 355 break; |
356 | 356 |
357 case 12: | |
358 if ((c[0] == 'A'|| c[0] == 'a') | |
359 && (c[1] == 'U'|| c[1] == 'u') | |
360 && (c[2] == 'T'|| c[2] == 't') | |
361 && (c[3] == 'H'|| c[3] == 'h') | |
362 && (c[4] == 'E'|| c[4] == 'e') | |
363 && (c[5] == 'N'|| c[5] == 'n') | |
364 && (c[6] == 'T'|| c[6] == 't') | |
365 && (c[7] == 'I'|| c[7] == 'i') | |
366 && (c[8] == 'C'|| c[8] == 'c') | |
367 && (c[9] == 'A'|| c[9] == 'a') | |
368 && (c[10] == 'T'|| c[10] == 't') | |
369 && (c[11] == 'E'|| c[11] == 'e')) | |
370 { | |
371 s->command = NGX_IMAP_AUTHENTICATE; | |
372 | |
373 } else { | |
374 goto invalid; | |
375 } | |
376 break; | |
377 | |
357 default: | 378 default: |
358 goto invalid; | 379 goto invalid; |
359 } | 380 } |
360 | 381 |
361 switch (ch) { | 382 switch (ch) { |
571 s->quoted = 0; | 592 s->quoted = 0; |
572 s->no_sync_literal = 0; | 593 s->no_sync_literal = 0; |
573 s->literal_len = 0; | 594 s->literal_len = 0; |
574 } | 595 } |
575 | 596 |
576 s->state = sw_start; | 597 s->state = (s->command != NGX_IMAP_AUTHENTICATE) ? sw_start : sw_argument; |
577 | 598 |
578 return NGX_OK; | 599 return NGX_OK; |
579 | 600 |
580 invalid: | 601 invalid: |
581 | 602 |