diff options
author | itojun <> | 2000-05-15 10:49:55 +0000 |
---|---|---|
committer | itojun <> | 2000-05-15 10:49:55 +0000 |
commit | b7b4ba04fa9a2ae7989a918cf5a3e6f6fd0ebd77 (patch) | |
tree | a7b3d4a53b1166750e72fce8956a85056307d7eb | |
parent | e71289f71fad3f153975fd8fbf1f0f35dbda7f28 (diff) | |
download | openbsd-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.c | 29 |
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 | ||
563 | free: | 588 | free: |