]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_smtp.c
* Did the server port hooks etc. for SSL listeners. For some reason it
[citadel.git] / citadel / serv_smtp.c
index 5c0767acd1d8cfe2f351458b14665d7ee33ee579..16cac0173db43b5ac540fc36abb185a006f9f485 100644 (file)
@@ -139,6 +139,18 @@ void smtp_greeting(void) {
        cprintf("220 %s ESMTP Citadel server ready.\r\n", config.c_fqdn);
 }
 
+
+/*
+ * SMTPS is just like SMTP, except it goes crypto right away.
+ */
+#ifdef HAVE_OPENSSL
+void smtps_greeting(void) {
+       CtdlStartTLS(NULL, NULL, NULL);
+       smtp_greeting();
+}
+#endif
+
+
 /*
  * SMTP MSA port requires authentication.
  */
@@ -1651,6 +1663,14 @@ char *serv_smtp_init(void)
                                smtp_command_loop,
                                NULL);
 
+#ifdef HAVE_OPENSSL
+       CtdlRegisterServiceHook(config.c_smtps_port,
+                               NULL,
+                               smtps_greeting,
+                               smtp_command_loop,
+                               NULL);
+#endif
+
        CtdlRegisterServiceHook(config.c_msa_port,      /* SMTP MSA */
                                NULL,
                                smtp_msa_greeting,