#include "serv_pop3.h"
#include "md5.h"
-#ifdef HAVE_OPENSSL
-#include "serv_crypto.h"
-#endif
#include "ctdl_module.h"
/*
* POP3S is just like POP3, except it goes crypto right away.
*/
-#ifdef HAVE_OPENSSL
void pop3s_greeting(void) {
- CtdlStartTLS(NULL, NULL, NULL);
+ CtdlModuleStartCryptoMsgs(NULL, NULL, NULL);
+#ifdef HAVE_OPENSSL
+ if (!CC->redirect_ssl) CC->kill_me = 1; /* kill session if no crypto */
+#endif
pop3_greeting();
}
-#endif
/*
* implements the STLS command (Citadel API version)
*/
-#ifdef HAVE_OPENSSL
void pop3_stls(void)
{
char ok_response[SIZ];
"-ERR TLS not supported here\r\n");
sprintf(error_response,
"-ERR Internal error\r\n");
- CtdlStartTLS(ok_response, nosup_response, error_response);
+ CtdlModuleStartCryptoMsgs(ok_response, nosup_response, error_response);
}
-#endif
}
+const char *CitadelServicePop3="POP3";
+const char *CitadelServicePop3S="POP3S";
CTDL_MODULE_INIT(pop3)
NULL,
pop3_greeting,
pop3_command_loop,
- NULL);
+ NULL,
+ CitadelServicePop3);
#ifdef HAVE_OPENSSL
CtdlRegisterServiceHook(config.c_pop3s_port,
NULL,
pop3s_greeting,
pop3_command_loop,
- NULL);
+ NULL,
+ CitadelServicePop3S);
#endif
CtdlRegisterSessionHook(pop3_cleanup_function, EVT_STOP);