summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/sstp
diff options
context:
space:
mode:
authorxebd <xeb@mail.ru>2020-03-10 13:35:47 +0300
committerGitHub <noreply@github.com>2020-03-10 13:35:47 +0300
commit7afe0f075676219ab4b9e8dbfed294992e9f360b (patch)
tree4a7349449ac2072e52b441c813df42be4fec0ae1 /accel-pppd/ctrl/sstp
parent5db4429c75352b636cb8bb441216c4816ee8421f (diff)
parent58b41703427284ca849bed7d11087b76ef16a46f (diff)
downloadaccel-ppp-7afe0f075676219ab4b9e8dbfed294992e9f360b.tar.gz
accel-ppp-7afe0f075676219ab4b9e8dbfed294992e9f360b.zip
Merge pull request #121 from themiron/max-starting-cleanup
Add global [common]max-starting option
Diffstat (limited to 'accel-pppd/ctrl/sstp')
-rw-r--r--accel-pppd/ctrl/sstp/sstp.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/sstp/sstp.c b/accel-pppd/ctrl/sstp/sstp.c
index 5bf8fd82..7574a789 100644
--- a/accel-pppd/ctrl/sstp/sstp.c
+++ b/accel-pppd/ctrl/sstp/sstp.c
@@ -2196,10 +2196,20 @@ static int sstp_connect(struct triton_md_handler_t *h)
continue;
}
+ if (conf_max_starting && ap_session_stat.starting >= conf_max_starting) {
+ close(sock);
+ continue;
+ }
+
+ if (conf_max_sessions && ap_session_stat.active + ap_session_stat.starting >= conf_max_sessions) {
+ close(sock);
+ continue;
+ }
+
ip = conf_proxyproto ? INADDR_ANY : sockaddr_ipv4(&addr);
if (ip && triton_module_loaded("connlimit") && connlimit_check(cl_key_from_ipv4(ip))) {
close(sock);
- return 0;
+ continue;
}
sockaddr_ntop(&addr, addr_buf, sizeof(addr_buf), 0);