summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoritojun <>2000-05-15 10:49:55 +0000
committeritojun <>2000-05-15 10:49:55 +0000
commitb7b4ba04fa9a2ae7989a918cf5a3e6f6fd0ebd77 (patch)
treea7b3d4a53b1166750e72fce8956a85056307d7eb
parente71289f71fad3f153975fd8fbf1f0f35dbda7f28 (diff)
downloadopenbsd-b7b4ba04fa9a2ae7989a918cf5a3e6f6fd0ebd77.tar.gz
openbsd-b7b4ba04fa9a2ae7989a918cf5a3e6f6fd0ebd77.tar.bz2
openbsd-b7b4ba04fa9a2ae7989a918cf5a3e6f6fd0ebd77.zip
translate DNS error code into getaddrinfo error code (EAI_xxx). PR 1229.
-rw-r--r--src/lib/libc/net/getaddrinfo.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/lib/libc/net/getaddrinfo.c b/src/lib/libc/net/getaddrinfo.c
index 5ab29a97cc..9cc9314327 100644
--- a/src/lib/libc/net/getaddrinfo.c
+++ b/src/lib/libc/net/getaddrinfo.c
@@ -1,5 +1,5 @@
1/* $OpenBSD: getaddrinfo.c,v 1.22 2000/04/27 05:30:23 itojun Exp $ */ 1/* $OpenBSD: getaddrinfo.c,v 1.23 2000/05/15 10:49:55 itojun Exp $ */
2/* $KAME: getaddrinfo.c,v 1.16 2000/04/27 03:37:43 itojun Exp $ */ 2/* $KAME: getaddrinfo.c,v 1.21 2000/05/05 07:40:51 itojun Exp $ */
3 3
4/* 4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -558,6 +558,31 @@ explore_fqdn(pai, hostname, servname, res)
558 } 558 }
559 *res = result; 559 *res = result;
560 return 0; 560 return 0;
561 } else {
562 /* translate error code */
563 switch (h_errno) {
564 case NETDB_SUCCESS:
565 error = EAI_FAIL; /*XXX strange */
566 break;
567 case HOST_NOT_FOUND:
568 error = EAI_NODATA;
569 break;
570 case TRY_AGAIN:
571 error = EAI_AGAIN;
572 break;
573 case NO_RECOVERY:
574 error = EAI_FAIL;
575 break;
576 case NO_DATA:
577#if NO_ADDRESS != NO_DATA
578 case NO_ADDRESS:
579#endif
580 error = EAI_NODATA;
581 break;
582 default: /* unknown ones */
583 error = EAI_FAIL;
584 break;
585 }
561 } 586 }
562 587
563free: 588free: