diff options
Diffstat (limited to 'rtemsbsd/pppd/ipcp.c')
-rw-r--r-- | rtemsbsd/pppd/ipcp.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/rtemsbsd/pppd/ipcp.c b/rtemsbsd/pppd/ipcp.c index fd23dddf..3db53bb5 100644 --- a/rtemsbsd/pppd/ipcp.c +++ b/rtemsbsd/pppd/ipcp.c @@ -38,8 +38,6 @@ #include "ipcp.h" #include "pathnames.h" -#include <rtems/bsdnet/servers.h> - static const char rcsid[] = RCSID; /* global vars */ @@ -1577,23 +1575,24 @@ static void create_resolv( uint32_t peerdns1, uint32_t peerdns2) { - /* initialize values */ - rtems_bsdnet_nameserver_count = 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(); + 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); } /* |