Annotate

spec/net_http_server_spec.lua @ 11590:5aafb832c91b

core.portmanager: Fix race condition in initialization of SNI cert map Under some circumstances when hosts and modules are loaded in some certain order, entries end up missing from the SNI map. This manifests in e.g. `curl https://localhost:5281/` giving an error about "unrecognized name". The `service` argument is `nil` when invoked from the "host-activated" event, leading it to iterating over every service. And then it would not be fetching e.g. `http_host` from the config, which explains why https would sometimes not work due to the missing name entry. Because when `service` is included, this limits the iteration to matching entries, while also returning the same value as the `name` loop variable. Because `name == service when service != nil` we can use name instead in the body of the loop.
author Kim Alvefur <zash@zash.se>
date Fri, 28 May 2021 17:09:22 +0200
parent 8687:ee01578c67cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8413
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 describe("net.http.server", function ()
8687
ee01578c67cb net.http.server: Prevent loading of net.server in tests (breaks unrelated tests for some reason)
Kim Alvefur <zash@zash.se>
parents: 8413
diff changeset
2 package.loaded["net.server"] = {}
8413
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local server = require "net.http.server";
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 describe("events", function ()
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 it("should work with util.helpers", function ()
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 -- See #1044
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 server.add_handler("GET host/foo/*", function () end, 0);
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 server.add_handler("GET host/foo/bar", function () end, 0);
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 local helpers = require "util.helpers";
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 assert.is.string(helpers.show_events(server._events));
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 end);
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end);
9a234e25b35b spec/net.http.server: Add test for #1044
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 end);