--- MailSvr.cpp.orig2	2010-05-01 08:15:34.000000000 +0200
+++ MailSvr.cpp	2010-05-01 08:26:33.000000000 +0200
@@ -29,7 +29,9 @@
 #include "BuffSock.h"
 #include "MailConfig.h"
 #include "MiscUtils.h"
+#ifdef WITH_SSL
 #include "SSLBind.h"
+#endif
 #include "ResLocks.h"
 #include "POP3Svr.h"
 #include "SMTPSvr.h"
@@ -85,15 +87,19 @@
 enum SvrServices {
 	SVC_SMAIL = 0,
 	SVC_CTRL,
+#ifdef WITH_SSL
 	SVC_CRTLS,
+#endif
 	SVC_POP3,
 	SVC_SMTP,
 	SVC_FING,
 	SVC_LMAIL,
 	SVC_PSYNC,
+#ifdef WITH_SSL
 	SVC_SMTPS,
 	SVC_POP3S,
 	SVC_CTRLS,
+#endif
 
 	SVC_MAX
 };
@@ -137,18 +143,24 @@
 static int iNumLMAILThreads;
 static SYS_THREAD hCTRLThread;
 static ThreadConfig ThCfgCTRL;
+#ifdef WITH_SSL
 static SYS_THREAD hCTRLSThread;
 static ThreadConfig ThCfgCTRLS;
+#endif
 static SYS_THREAD hFINGThread;
 static ThreadConfig ThCfgFING;
 static SYS_THREAD hPOP3Thread;
 static ThreadConfig ThCfgPOP3;
+#ifdef WITH_SSL
 static SYS_THREAD hPOP3SThread;
 static ThreadConfig ThCfgPOP3S;
+#endif
 static SYS_THREAD hSMTPThread;
 static ThreadConfig ThCfgSMTP;
+#ifdef WITH_SSL
 static SYS_THREAD hSMTPSThread;
 static ThreadConfig ThCfgSMTPS;
+#endif
 static SYS_THREAD hSMAILThreads[MAX_SMAIL_THREADS];
 static SYS_THREAD hLMAILThreads[MAX_LMAIL_THREADS];
 static SYS_THREAD hPSYNCThread;
@@ -355,6 +367,7 @@
 	return 0;
 }
 
+#ifdef WITH_SSL
 static int SvrSetupCTRLS(int iArgCount, char *pszArgs[])
 {
 	int iPort = STD_CTRLS_PORT, iFamily = AF_INET;
@@ -426,6 +439,7 @@
 	for (; ThCfgCTRLS.iNumSockFDs > 0; ThCfgCTRLS.iNumSockFDs--)
 		SysCloseSocket(ThCfgCTRLS.SockFDs[ThCfgCTRLS.iNumSockFDs - 1]);
 }
+#endif
 
 static long SvrThreadCntFING(ThreadConfig const *pThCfg)
 {
@@ -685,6 +699,7 @@
 	return 0;
 }
 
+#ifdef WITH_SSL
 static int SvrSetupPOP3S(int iArgCount, char *pszArgs[])
 {
 	int iPort = STD_POP3S_PORT, iFamily = AF_INET;
@@ -757,6 +772,7 @@
 	for (; ThCfgPOP3S.iNumSockFDs > 0; ThCfgPOP3S.iNumSockFDs--)
 		SysCloseSocket(ThCfgPOP3S.SockFDs[ThCfgPOP3S.iNumSockFDs - 1]);
 }
+#endif
 
 static long SvrThreadCntSMTP(ThreadConfig const *pThCfg)
 {
@@ -901,6 +917,7 @@
 	return 0;
 }
 
+#ifdef WITH_SSL
 static int SvrSetupSMTPS(int iArgCount, char *pszArgs[])
 {
 	int iPort = STD_SMTPS_PORT, iFamily = AF_INET;
@@ -973,6 +990,7 @@
 	for (; ThCfgSMTPS.iNumSockFDs > 0; ThCfgSMTPS.iNumSockFDs--)
 		SysCloseSocket(ThCfgSMTPS.SockFDs[ThCfgSMTPS.iNumSockFDs - 1]);
 }
+#endif
 
 static void SvrShutdown__SMAIL(void *pPrivate)
 {
@@ -1411,8 +1429,12 @@
 		return ErrorPop();
 	}
 	/* Initialize DNS cache */
-	if (CDNS_Initialize(iDnsCacheDirs) < 0 ||
-	    BSslInit() < 0) {
+	if (CDNS_Initialize(iDnsCacheDirs) < 0
+#ifdef WITH_SSL
+	    ||
+	    BSslInit() < 0
+#endif
+	    ) {
 		ErrorPush();
 		RLckCleanupLockers();
 
@@ -1424,7 +1446,9 @@
 
 static void SvrCleanup(void)
 {
+#ifdef WITH_SSL
 	BSslCleanup();
+#endif
 	RLckCleanupLockers();
 	SvrShutdownCleanup();
 }
@@ -1490,11 +1514,17 @@
 	ArrayInit(iSvcI, -1);
 	if ((iSvcI[SVC_SMAIL] = SvrSetupSMAIL(iMergeArgsCount, ppszMergeArgs)) < 0 ||
 	    (iSvcI[SVC_CTRL] = SvrSetupCTRL(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#ifdef WITH_SSL
 	    (iSvcI[SVC_CTRLS] = SvrSetupCTRLS(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#endif
 	    (iSvcI[SVC_POP3] = SvrSetupPOP3(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#ifdef WITH_SSL
 	    (iSvcI[SVC_POP3S] = SvrSetupPOP3S(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#endif
 	    (iSvcI[SVC_SMTP] = SvrSetupSMTP(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#ifdef WITH_SSL
 	    (iSvcI[SVC_SMTPS] = SvrSetupSMTPS(iMergeArgsCount, ppszMergeArgs)) < 0 ||
+#endif
 	    (iSvcI[SVC_PSYNC] = SvrSetupPSYNC(iMergeArgsCount, ppszMergeArgs)) < 0 ||
 	    (iSvcI[SVC_FING] = SvrSetupFING(iMergeArgsCount, ppszMergeArgs)) < 0 ||
 	    (iSvcI[SVC_LMAIL] = SvrSetupLMAIL(iMergeArgsCount, ppszMergeArgs)) < 0) {
@@ -1530,16 +1560,22 @@
 		SvrCleanupFING();
 	if (iSvcI[SVC_PSYNC] == 0)
 		SvrCleanupPSYNC();
+#ifdef WITH_SSL
 	if (iSvcI[SVC_SMTPS] == 0)
 		SvrCleanupSMTPS();
+#endif
 	if (iSvcI[SVC_SMTP] == 0)
 		SvrCleanupSMTP();
+#ifdef WITH_SSL
 	if (iSvcI[SVC_POP3S] == 0)
 		SvrCleanupPOP3S();
+#endif
 	if (iSvcI[SVC_POP3] == 0)
 		SvrCleanupPOP3();
+#ifdef WITH_SSL
 	if (iSvcI[SVC_CTRLS] == 0)
 		SvrCleanupCTRLS();
+#endif
 	if (iSvcI[SVC_CTRL] == 0)
 		SvrCleanupCTRL();
 	if (iSvcI[SVC_SMAIL] == 0)
