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 /src/lib/libc | |
| 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.
Diffstat (limited to 'src/lib/libc')
| -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: |
