Lines 41-47
Link Here
|
41 |
|
41 |
|
42 |
#define BMCHECK_BMF 0 |
42 |
#define BMCHECK_BMF 0 |
43 |
#define BMCHECK_BMT 1 |
43 |
#define BMCHECK_BMT 1 |
44 |
#define AUTHCRAM |
44 |
//#define AUTHCRAM |
45 |
#define MAXHOPS 100 |
45 |
#define MAXHOPS 100 |
46 |
unsigned int databytes = 0; |
46 |
unsigned int databytes = 0; |
47 |
int timeout = 1200; |
47 |
int timeout = 1200; |
Lines 483-497
Link Here
|
483 |
void smtp_ehlo(arg) char *arg; |
483 |
void smtp_ehlo(arg) char *arg; |
484 |
{ |
484 |
{ |
485 |
smtp_greet("250-"); |
485 |
smtp_greet("250-"); |
486 |
#ifdef AUTHCRAM |
|
|
487 |
out("\r\n250-AUTH LOGIN CRAM-MD5 PLAIN"); |
488 |
out("\r\n250-AUTH=LOGIN CRAM-MD5 PLAIN"); |
489 |
#else |
490 |
out("\r\n250-AUTH LOGIN PLAIN"); |
491 |
out("\r\n250-AUTH=LOGIN PLAIN"); |
492 |
#endif |
493 |
#ifdef TLS |
486 |
#ifdef TLS |
494 |
if (!ssl) out("\r\n250-STARTTLS"); |
487 |
if (!ssl) out("\r\n250-STARTTLS"); |
|
|
488 |
else |
489 |
#endif |
490 |
#ifdef AUTHCRAM |
491 |
out("\r\n250-AUTH LOGIN CRAM-MD5 PLAIN" |
492 |
"\r\n250-AUTH=LOGIN CRAM-MD5 PLAIN"); |
493 |
#else |
494 |
out("\r\n250-AUTH LOGIN PLAIN" |
495 |
"\r\n250-AUTH=LOGIN PLAIN"); |
495 |
#endif |
496 |
#endif |
496 |
smtp_size(); |
497 |
smtp_size(); |
497 |
out("\r\n250-PIPELINING\r\n250 8BITMIME\r\n"); |
498 |
out("\r\n250-PIPELINING\r\n250 8BITMIME\r\n"); |
Lines 879-884
Link Here
|
879 |
{ |
880 |
{ |
880 |
int r; |
881 |
int r; |
881 |
|
882 |
|
|
|
883 |
#ifdef TLS |
884 |
if (!ssl) { |
885 |
out("530 Must issue a STARTTLS command first (#5.7.0)\r\n"); |
886 |
return -1; |
887 |
} |
888 |
#endif |
882 |
if (*arg) { |
889 |
if (*arg) { |
883 |
if (r = b64decode(arg,str_len(arg),&user) == 1) return err_input(); |
890 |
if (r = b64decode(arg,str_len(arg),&user) == 1) return err_input(); |
884 |
} |
891 |
} |
Lines 903-908
Link Here
|
903 |
{ |
910 |
{ |
904 |
int r, id = 0; |
911 |
int r, id = 0; |
905 |
|
912 |
|
|
|
913 |
#ifdef TLS |
914 |
if (!ssl) { |
915 |
out("530 Must issue a STARTTLS command first (#5.7.0)\r\n"); |
916 |
return -1; |
917 |
} |
918 |
#endif |
906 |
if (*arg) { |
919 |
if (*arg) { |
907 |
if (r = b64decode(arg,str_len(arg),&slop) == 1) return err_input(); |
920 |
if (r = b64decode(arg,str_len(arg),&slop) == 1) return err_input(); |
908 |
} |
921 |
} |