Mercurial > prosody-hg
comparison net/resolvers/basic.lua @ 11007:1d8e1f7a587c 0.11
net.resolvers.basic: Default conn_type to 'tcp' consistently if unspecified (thanks marc0s)
Fixes a traceback when passed an IP address with no conn_type.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 10 Jul 2020 13:00:02 +0100 |
| parents | 97c0f5fe5f41 |
| children | fd735fe2fc50 |
comparison
equal
deleted
inserted
replaced
| 10994:e2ce067bb59a | 11007:1d8e1f7a587c |
|---|---|
| 56 end | 56 end |
| 57 | 57 |
| 58 local function new(hostname, port, conn_type, extra) | 58 local function new(hostname, port, conn_type, extra) |
| 59 local ascii_host = idna_to_ascii(hostname); | 59 local ascii_host = idna_to_ascii(hostname); |
| 60 local targets = nil; | 60 local targets = nil; |
| 61 conn_type = conn_type or "tcp"; | |
| 61 | 62 |
| 62 local is_ip = inet_pton(hostname); | 63 local is_ip = inet_pton(hostname); |
| 63 if not is_ip and hostname:sub(1,1) == '[' then | 64 if not is_ip and hostname:sub(1,1) == '[' then |
| 64 is_ip = inet_pton(hostname:sub(2,-2)); | 65 is_ip = inet_pton(hostname:sub(2,-2)); |
| 65 end | 66 end |
| 73 end | 74 end |
| 74 | 75 |
| 75 return setmetatable({ | 76 return setmetatable({ |
| 76 hostname = ascii_host; | 77 hostname = ascii_host; |
| 77 port = port; | 78 port = port; |
| 78 conn_type = conn_type or "tcp"; | 79 conn_type = conn_type; |
| 79 extra = extra; | 80 extra = extra; |
| 80 targets = targets; | 81 targets = targets; |
| 81 }, resolver_mt); | 82 }, resolver_mt); |
| 82 end | 83 end |
| 83 | 84 |
