diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-01-31 21:42:11 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-01-31 21:42:11 +0000 |
commit | 0286b9f6145f9664f6b0e196e24daee8be46b538 (patch) | |
tree | 5cdf87997238653f4083fe1c1326213040183044 /c/src/libnetworking/pppd/ipcp.c | |
parent | 2002-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-0286b9f6145f9664f6b0e196e24daee8be46b538.tar.bz2 |
2001-01-31 Mike Siers <mikes@poliac.com>
* Nice Update of PPPD support which eliminates the
requiremetn that drivers be in the termios TASK_DRIVEN mode.
Mike did significant testing and reports that it seems to be
more stable and handle larger packets better. This patch
replaces the termios tasks with more general pppd network
driver tasks. The functions pppinput() and pppstart() get
called from the interrupt service routine.
* Makefile.am, configure.ac, net/Makefile.am, net/bpf.h,
net/ethernet.h, net/if.c, net/if.h, net/if_arp.h, net/if_dl.h,
net/if_ethersubr.c, net/if_llc.h, net/if_loop.c, net/if_ppp.h,
net/if_pppvar.h, net/if_types.h, net/netisr.h, net/ppp-comp.h,
net/ppp_defs.h, net/pppcompress.h, net/radix.c, net/radix.h,
net/raw_cb.c, net/raw_cb.h, net/raw_usrreq.c, net/route.c,
net/route.h, net/rtsock.c, pppd/Makefile.am, pppd/README,
pppd/STATUS, pppd/auth.c, pppd/cbcp.c, pppd/ccp.c, pppd/ccp.h,
pppd/chap.c, pppd/chap.h, pppd/chap_ms.c, pppd/chap_ms.h,
pppd/chat.c, pppd/demand.c, pppd/fsm.c, pppd/fsm.h, pppd/ipcp.c,
pppd/ipcp.h, pppd/ipxcp.c, pppd/ipxcp.h, pppd/lcp.c, pppd/lcp.h,
pppd/magic.c, pppd/magic.h, pppd/options.c, pppd/patchlevel.h,
pppd/pathnames.h, pppd/pppd.8, pppd/pppd.h, pppd/rtemsmain.c,
pppd/rtemspppd.c, pppd/rtemspppd.h, pppd/sys-rtems.c, pppd/upap.c,
pppd/upap.h, pppd/utils.c, pppd/example/README,
pppd/example/netconfig.h, wrapup/Makefile.am: Modified.
* net/bsd-comp.c, net/if_ppp.c, net/ppp-deflate.c, net/ppp.h,
net/ppp_tty.c, net/pppcompress.c, net/zlib.c, net/zlib.h: New file.
* modem/, modem/.cvsignore, modem/Makefile.am, modem/ppp.c,
modem/ppp.h, modem/ppp_tty.c, modem/pppcompress.c: Subdirectory removed.
Diffstat (limited to '')
-rw-r--r-- | c/src/libnetworking/pppd/ipcp.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/c/src/libnetworking/pppd/ipcp.c b/c/src/libnetworking/pppd/ipcp.c index 57245721fa..680409c5c8 100644 --- a/c/src/libnetworking/pppd/ipcp.c +++ b/c/src/libnetworking/pppd/ipcp.c @@ -1570,24 +1570,26 @@ static void create_resolv(peerdns1, peerdns2) u_int32_t peerdns1, peerdns2; { - FILE *f; - - f = fopen(_PATH_RESOLV, "w"); - if (f == NULL) { - error("Failed to create %s: %m", _PATH_RESOLV); - return; - } - - if (peerdns1) - fprintf(f, "nameserver %s\n", ip_ntoa(peerdns1)); - - if (peerdns2) - fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2)); - - if (ferror(f)) - error("Write failed to %s: %m", _PATH_RESOLV); - - fclose(f); + extern int rtems_bsdnet_nameserver_count; + extern struct in_addr rtems_bsdnet_nameserver[]; + + /* initialize values */ + rtems_bsdnet_nameserver_count = (int)0; + + /* check to see if primary was specified */ + if ( peerdns1 ) { + rtems_bsdnet_nameserver[rtems_bsdnet_nameserver_count].s_addr = peerdns1; + rtems_bsdnet_nameserver_count++; + } + + /* check to see if secondary was specified */ + if ( peerdns2 ) { + rtems_bsdnet_nameserver[rtems_bsdnet_nameserver_count].s_addr = peerdns2; + rtems_bsdnet_nameserver_count++; + } + + /* initialize resolver */ + __res_init(); } /* |