Software / code / prosody
Comparison
net/connect.lua @ 11901:26406ce35e20
net.connect: Propagate last error message from resolvers
Previously it would only say "unable to resolve server" for all DNS
problems. While "NoError in A lookup" might not make much sense to
users, it should help in debugging more than the previous generic error.
Friendlier errors will be future work.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 12 Nov 2021 16:52:55 +0100 |
| parent | 10945:2edb72ef312a |
| child | 11903:baf69f254753 |
comparison
equal
deleted
inserted
replaced
| 11900:60676b607b6d | 11901:26406ce35e20 |
|---|---|
| 33 p.conn = nil; | 33 p.conn = nil; |
| 34 end | 34 end |
| 35 p.target_resolver:next(function (conn_type, ip, port, extra) | 35 p.target_resolver:next(function (conn_type, ip, port, extra) |
| 36 if not conn_type then | 36 if not conn_type then |
| 37 -- No more targets to try | 37 -- No more targets to try |
| 38 p:log("debug", "No more connection targets to try"); | 38 p:log("debug", "No more connection targets to try", p.target_resolver.last_error); |
| 39 if p.listeners.onfail then | 39 if p.listeners.onfail then |
| 40 p.listeners.onfail(p.data, p.last_error or "unable to resolve service"); | 40 p.listeners.onfail(p.data, p.target_resolver.last_error or p.last_error or "unable to resolve service"); |
| 41 end | 41 end |
| 42 return; | 42 return; |
| 43 end | 43 end |
| 44 p:log("debug", "Next target to try is %s:%d", ip, port); | 44 p:log("debug", "Next target to try is %s:%d", ip, port); |
| 45 local conn, err = server.addclient(ip, port, pending_connection_listeners, p.options.pattern or "*a", p.options.sslctx, conn_type, extra); | 45 local conn, err = server.addclient(ip, port, pending_connection_listeners, p.options.pattern or "*a", p.options.sslctx, conn_type, extra); |