]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_smtp.c
Observe CC->nologin (too many users already online) for SMTP sessions
[citadel.git] / citadel / serv_smtp.c
index cc05b14db57964360aeeaf08112c18d14a8d34bd..56d1fb90a35e2244cdb7abb5fc3e99c68a23ceb3 100644 (file)
@@ -155,6 +155,16 @@ void smtp_greeting(void)
        }
 
        /* Otherwise we're either clean or we check later. */
+
+       if (CC->nologin==1) {
+               cprintf("500 Too many users are already online (maximum is %d)\r\n",
+                       config.c_maxsessions
+               );
+               CC->kill_me = 1;
+               /* no need to free(valid), it's not allocated yet */
+               return;
+       }
+
        cprintf("220 %s ESMTP Citadel server ready.\r\n", config.c_fqdn);
 }