File tree Expand file tree Collapse file tree 1 file changed +5
-15
lines changed
Expand file tree Collapse file tree 1 file changed +5
-15
lines changed Original file line number Diff line number Diff line change @@ -242,21 +242,11 @@ static inline bool parse_endpoint(struct sockaddr *endpoint, const char *value)
242242 ret = getaddrinfo (begin , end , & hints , & resolved );
243243 if (!ret )
244244 break ;
245- /* The set of return codes that are "permanent failures". All other possibilities are potentially transient.
246- *
247- * This is according to https://sourceware.org/glibc/wiki/NameResolver which states:
248- * "From the perspective of the application that calls getaddrinfo() it perhaps
249- * doesn't matter that much since EAI_FAIL, EAI_NONAME and EAI_NODATA are all
250- * permanent failure codes and the causes are all permanent failures in the
251- * sense that there is no point in retrying later."
252- *
253- * So this is what we do, except FreeBSD removed EAI_NODATA some time ago, so that's conditional.
254- */
255- if (ret == EAI_NONAME || ret == EAI_FAIL ||
256- #ifdef EAI_NODATA
257- ret == EAI_NODATA ||
258- #endif
259- (retries >= 0 && !retries -- )) {
245+ /*
246+ Treating all errors as possibly temporary.
247+ Armbian has been reported to not distinguish between a temporary and a permanent DNS resolution error
248+ */
249+ if (retries >= 0 && !retries -- ) {
260250 free (mutable );
261251 fprintf (stderr , "%s: `%s'\n" , ret == EAI_SYSTEM ? strerror (errno ) : gai_strerror (ret ), value );
262252 return false;
You can’t perform that action at this time.
0 commit comments