diff options
author | kstailey <> | 1997-04-03 02:15:16 +0000 |
---|---|---|
committer | kstailey <> | 1997-04-03 02:15:16 +0000 |
commit | ccb1db54d45b97082406e2af284bcc19f4a36b15 (patch) | |
tree | ab83f96f56681e13f05991e6e635a497e34f18cf /src/lib | |
parent | 0a3e53c40ac2db1546db9899430e0b0468dbf3fb (diff) | |
download | openbsd-ccb1db54d45b97082406e2af284bcc19f4a36b15.tar.gz openbsd-ccb1db54d45b97082406e2af284bcc19f4a36b15.tar.bz2 openbsd-ccb1db54d45b97082406e2af284bcc19f4a36b15.zip |
a start a making getnetbyaddr() respect "lookup" keyword in resolv.conf
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libc/net/getnetnamadr.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/lib/libc/net/getnetnamadr.c b/src/lib/libc/net/getnetnamadr.c index cc6ccc4275..7a5ff39cbb 100644 --- a/src/lib/libc/net/getnetnamadr.c +++ b/src/lib/libc/net/getnetnamadr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: getnetnamadr.c,v 1.1 1997/03/13 19:07:27 downsj Exp $ */ | 1 | /* $OpenBSD: getnetnamadr.c,v 1.2 1997/04/03 02:15:16 kstailey Exp $ */ |
2 | 2 | ||
3 | /* Copyright (c) 1993 Carlos Leandro and Rui Salgueiro | 3 | /* Copyright (c) 1993 Carlos Leandro and Rui Salgueiro |
4 | * Dep. Matematica Universidade de Coimbra, Portugal, Europe | 4 | * Dep. Matematica Universidade de Coimbra, Portugal, Europe |
@@ -46,7 +46,7 @@ static char sccsid[] = "@(#)getnetbyaddr.c 8.1 (Berkeley) 6/4/93"; | |||
46 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; | 46 | static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03"; |
47 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; | 47 | static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $"; |
48 | #else | 48 | #else |
49 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.1 1997/03/13 19:07:27 downsj Exp $"; | 49 | static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.2 1997/04/03 02:15:16 kstailey Exp $"; |
50 | #endif | 50 | #endif |
51 | #endif /* LIBC_SCCS and not lint */ | 51 | #endif /* LIBC_SCCS and not lint */ |
52 | 52 | ||
@@ -214,10 +214,32 @@ getnetbyaddr(net, net_type) | |||
214 | char qbuf[MAXDNAME]; | 214 | char qbuf[MAXDNAME]; |
215 | unsigned long net2; | 215 | unsigned long net2; |
216 | struct netent *net_entry; | 216 | struct netent *net_entry; |
217 | char lookups[MAXDNSLUS]; | ||
218 | int i; | ||
217 | 219 | ||
218 | if (net_type != AF_INET) | 220 | if (net_type != AF_INET) |
219 | return (_getnetbyaddr(net, net_type)); | 221 | return (_getnetbyaddr(net, net_type)); |
220 | 222 | ||
223 | bcopy(_res.lookups, lookups, sizeof lookups); | ||
224 | if (lookups[0] == '\0') | ||
225 | strncpy(lookups, "bf", sizeof lookups); | ||
226 | |||
227 | for (i = 0; i < MAXDNSLUS && lookups[i]; i++) { | ||
228 | switch (lookups[i]) { | ||
229 | #if 0 /* def YP */ | ||
230 | case 'y': | ||
231 | /* YP only supports AF_INET. */ | ||
232 | if (af == AF_INET) | ||
233 | hp = _yp_gethtbyaddr(addr); | ||
234 | break; | ||
235 | #endif | ||
236 | case 'b': | ||
237 | break; | ||
238 | case 'f': | ||
239 | return (_getnetbyaddr(net, net_type)); | ||
240 | } | ||
241 | } | ||
242 | |||
221 | for (nn = 4, net2 = net; net2; net2 >>= 8) | 243 | for (nn = 4, net2 = net; net2; net2 >>= 8) |
222 | netbr[--nn] = net2 & 0xff; | 244 | netbr[--nn] = net2 & 0xff; |
223 | switch (nn) { | 245 | switch (nn) { |