From 1e5c5242fd806abed5a84a32ae8c25951d43ec1a Mon Sep 17 00:00:00 2001 From: Shuanglei Tao Date: Sun, 8 Aug 2021 21:37:18 +0800 Subject: [PATCH] protocol: check basic auth on ws connection --- src/protocol.c | 4 ++++ 1 file changed, 4 insertions(+) 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) -- 2.43.4