Skip to content

Commit

Permalink
protocol: fix request path for h2
Browse files Browse the repository at this point in the history
  • Loading branch information
tsl0922 committed Jul 28, 2020
1 parent 8302039 commit f7c171f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/protocol.c
Expand Up @@ -236,8 +236,12 @@ 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 (lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI) <= 0 ||
strcmp(buf, endpoints.ws) != 0) {

n = lws_hdr_copy(wsi, pss->path, sizeof(pss->path), WSI_TOKEN_GET_URI);
#if defined(LWS_ROLE_H2)
if (n <= 0) n = lws_hdr_copy(wsi, pss->path, sizeof(pss->path), WSI_TOKEN_HTTP_COLON_PATH);
#endif
if (strncmp(pss->path, endpoints.ws, n) != 0) {
lwsl_warn("refuse to serve WS client for illegal ws path: %s\n", buf);
return 1;
}
Expand Down Expand Up @@ -276,16 +280,14 @@ int callback_tty(struct lws *wsi, enum lws_callback_reasons reason, void *user,
LIST_INSERT_HEAD(&server->procs, proc, entry);
server->client_count++;

lws_hdr_copy(wsi, buf, sizeof(buf), WSI_TOKEN_GET_URI);

#if LWS_LIBRARY_VERSION_NUMBER >= 2004000
lws_get_peer_simple(lws_get_network_wsi(wsi), pss->address, sizeof(pss->address));
#else
char name[100];
lws_get_peer_addresses(wsi, lws_get_socket_fd(wsi), name, sizeof(name), pss->address,
sizeof(pss->address));
#endif
lwsl_notice("WS %s - %s, clients: %d\n", buf, pss->address, server->client_count);
lwsl_notice("WS %s - %s, clients: %d\n", pss->path, pss->address, server->client_count);
break;

case LWS_CALLBACK_SERVER_WRITEABLE:
Expand Down
1 change: 1 addition & 0 deletions src/server.h
Expand Up @@ -57,6 +57,7 @@ struct pss_tty {
int initial_cmd_index;
bool authenticated;
char address[50];
char path[20];

struct lws *wsi;
char *buffer;
Expand Down

0 comments on commit f7c171f

Please sign in to comment.