Comparison

net/http.lua @ 12273:c0f49a4026f8

net.http: Allow using DANE via options or per request settings Dare to enable by default?
author Kim Alvefur <zash@zash.se>
date Sat, 05 Feb 2022 01:32:08 +0100
parent 11749:83d6d6a70edf
child 12881:91baddaeea84
comparison
equal deleted inserted replaced
12272:fe0f5c47fda3 12273:c0f49a4026f8
285 if using_https and not ssl_available then 285 if using_https and not ssl_available then
286 error("SSL not available, unable to contact https URL"); 286 error("SSL not available, unable to contact https URL");
287 end 287 end
288 local port_number = port and tonumber(port) or (using_https and 443 or 80); 288 local port_number = port and tonumber(port) or (using_https and 443 or 80);
289 289
290 local use_dane = self.options and self.options.use_dane;
290 local sslctx = false; 291 local sslctx = false;
291 if using_https then 292 if using_https then
292 sslctx = ex and ex.sslctx or self.options and self.options.sslctx; 293 sslctx = ex and ex.sslctx or self.options and self.options.sslctx;
293 end 294 if ex and ex.use_dane ~= nil then
294 295 use_dane = ex.use_dane;
295 local http_service = basic_resolver.new(host, port_number, "tcp", { servername = req.host }); 296 end
297 end
298
299 local http_service = basic_resolver.new(host, port_number, "tcp", { servername = req.host; use_dane = use_dane });
296 connect(http_service, listener, { sslctx = sslctx }, req); 300 connect(http_service, listener, { sslctx = sslctx }, req);
297 301
298 self.events.fire_event("request", { http = self, request = req, url = u }); 302 self.events.fire_event("request", { http = self, request = req, url = u });
299 return req; 303 return req;
300 end 304 end