From: Shuanglei Tao Date: Sun, 8 Aug 2021 13:37:18 +0000 (+0800) Subject: protocol: check basic auth on ws connection X-Git-Url: http://git.prime8.dev/?a=commitdiff_plain;h=1e5c5242fd806abed5a84a32ae8c25951d43ec1a;p=ttyd.git protocol: check basic auth on ws connection --- diff --git a/src/protocol.c b/src/protocol.c index 8aa2021..43dc441 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -155,6 +155,10 @@ int callback_tty(struct lws *wsi, enum lws_callback_reasons reason, void *user, lwsl_warn("refuse to serve WS client due to the --max-clients option.\n"); return 1; } + if (server->credential != NULL) { + n = lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_HTTP_AUTHORIZATION); + if (n < 7 || !strstr(buf, "Basic ") || strcmp(buf +6, server->credential)) return 1; + } n = lws_hdr_copy(wsi, pss->path, sizeof(pss->path), WSI_TOKEN_GET_URI); #if defined(LWS_ROLE_H2)