diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2001-05-07 11:11:27 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2001-05-07 11:11:27 +0000 |
commit | 06fa03f98f35fef666af19a76928fb0ded9ca6b0 (patch) | |
tree | 9b028bde364b28ad5d69f1a4a0b0139ce31b899d /mail/cyrus-imapd | |
parent | Add tcl82 to BUILD_DEPENDS. (diff) |
Fix a bug that imaps didn't work correctly.
This patch will be applied in next cyrus-imapd release.
Reported by: Nick Sayer <nsayer@quack.kfu.com>
Notes
Notes:
svn path=/head/; revision=42349
Diffstat (limited to 'mail/cyrus-imapd')
-rw-r--r-- | mail/cyrus-imapd/Makefile | 2 | ||||
-rw-r--r-- | mail/cyrus-imapd/files/patch-dh | 85 |
2 files changed, 86 insertions, 1 deletions
diff --git a/mail/cyrus-imapd/Makefile b/mail/cyrus-imapd/Makefile index 7fd770755aab..6c3771741af9 100644 --- a/mail/cyrus-imapd/Makefile +++ b/mail/cyrus-imapd/Makefile @@ -7,7 +7,7 @@ PORTNAME= cyrus-imapd PORTVERSION= 2.0.13 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail ipv6 MASTER_SITES= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \ ftp://ftp.hanse.de/sites/transit/mirror/ftp.andrew.cmu.edu/pub/cyrus-mail/ diff --git a/mail/cyrus-imapd/files/patch-dh b/mail/cyrus-imapd/files/patch-dh new file mode 100644 index 000000000000..23a4e67bcc2e --- /dev/null +++ b/mail/cyrus-imapd/files/patch-dh @@ -0,0 +1,85 @@ +Index: imap/imapd.c +diff -u imap/imapd.c.orig imap/imapd.c +--- imap/imapd.c.orig Mon May 7 02:45:36 2001 ++++ imap/imapd.c Mon May 7 03:31:46 2001 +@@ -394,6 +394,9 @@ + imapd_exists = -1; + } + ++static int imaps = 0; ++static sasl_ssf_t extprops_ssf = 0; ++ + /* + * run once when process is forked; + * MUST NOT exit directly; must return with non-zero error code +@@ -401,6 +404,7 @@ + int service_init(int argc, char **argv, char **envp) + { + int r; ++ int opt; + + config_changeident("imapd"); + +@@ -447,6 +451,26 @@ + snmp_connect(); /* ignore return code */ + snmp_set_str(SERVER_NAME_VERSION,CYRUS_VERSION); + ++ while ((opt = getopt(argc, argv, "C:sp:")) != EOF) { ++ switch (opt) { ++ case 'C': /* alt config file - handled by service::main() */ ++ break; ++ case 's': /* imaps (do starttls right away) */ ++ imaps = 1; ++ if (!starttls_enabled()) { ++ syslog(LOG_ERR, "imaps: required OpenSSL options not present"); ++ fatal("imaps: required OpenSSL options not present", ++ EC_CONFIG); ++ } ++ break; ++ case 'p': /* external protection */ ++ extprops_ssf = atoi(optarg); ++ break; ++ default: ++ break; ++ } ++ } ++ + return 0; + } + +@@ -455,8 +479,6 @@ + */ + int service_main(int argc, char **argv, char **envp) + { +- int imaps = 0; +- int opt; + socklen_t salen; + struct hostent *hp; + int timeout; +@@ -478,25 +500,7 @@ + #endif + + memset(&extprops, 0, sizeof(sasl_external_properties_t)); +- while ((opt = getopt(argc, argv, "C:sp:")) != EOF) { +- switch (opt) { +- case 'C': /* alt config file - handled by service::main() */ +- break; +- case 's': /* imaps (do starttls right away) */ +- imaps = 1; +- if (!starttls_enabled()) { +- syslog(LOG_ERR, "imaps: required OpenSSL options not present"); +- fatal("imaps: required OpenSSL options not present", +- EC_CONFIG); +- } +- break; +- case 'p': /* external protection */ +- extprops.ssf = atoi(optarg); +- break; +- default: +- break; +- } +- } ++ extprops.ssf = extprops_ssf; + + imapd_in = prot_new(0, 0); + imapd_out = prot_new(1, 1); |