summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/pppd
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-10-08 08:04:59 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-10-08 15:03:29 +0200
commit573b4cd62f60197438b092343a2b988743682adc (patch)
tree21d582739f80527be51233ef144d50c4402532f3 /rtemsbsd/pppd
parentppp: Import from RTEMS sources (diff)
downloadrtems-libbsd-573b4cd62f60197438b092343a2b988743682adc.tar.bz2
ppp: Port to new stack
Diffstat (limited to 'rtemsbsd/pppd')
-rw-r--r--rtemsbsd/pppd/ipcp.c37
-rw-r--r--rtemsbsd/pppd/namespace.h147
-rw-r--r--rtemsbsd/pppd/pathnames.h2
-rw-r--r--rtemsbsd/pppd/pppd.h27
-rw-r--r--rtemsbsd/pppd/rtemsmain.c2
-rw-r--r--rtemsbsd/pppd/rtemspppd.c8
-rw-r--r--rtemsbsd/pppd/sys-rtems.c5
7 files changed, 174 insertions, 54 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);
}
/*
diff --git a/rtemsbsd/pppd/namespace.h b/rtemsbsd/pppd/namespace.h
new file mode 100644
index 00000000..32a2aa0c
--- /dev/null
+++ b/rtemsbsd/pppd/namespace.h
@@ -0,0 +1,147 @@
+#define abort_next rtems_pppd_abort_next
+#define abort_string rtems_pppd_abort_string
+#define allow_any_ip rtems_pppd_allow_any_ip
+#define auth_linkdown_hook rtems_pppd_auth_linkdown_hook
+#define auth_linkup_hook rtems_pppd_auth_linkup_hook
+#define auth_options rtems_pppd_auth_options
+#define auth_required rtems_pppd_auth_required
+#define baud_rate rtems_pppd_baud_rate
+#define callback_script rtems_pppd_callback_script
+#define ccp_allowoptions rtems_pppd_ccp_allowoptions
+#define ccp_fsm rtems_pppd_ccp_fsm
+#define ccp_gotoptions rtems_pppd_ccp_gotoptions
+#define ccp_hisoptions rtems_pppd_ccp_hisoptions
+#define ccp_protent rtems_pppd_ccp_protent
+#define ccp_wantoptions rtems_pppd_ccp_wantoptions
+#define chap rtems_pppd_chap
+#define chap_protent rtems_pppd_chap_protent
+#define clear_abort_next rtems_pppd_clear_abort_next
+#define clear_report_next rtems_pppd_clear_report_next
+#define connect_delay rtems_pppd_connect_delay
+#define connect_script rtems_pppd_connect_script
+#define connect_script_info rtems_pppd_connect_script_info
+#define crtscts rtems_pppd_crtscts
+#define cryptpap rtems_pppd_cryptpap
+#define current_option rtems_pppd_current_option
+#define debug rtems_pppd_debug
+#define default_device rtems_pppd_default_device
+#define demand rtems_pppd_demand
+#define detached rtems_pppd_detached
+#define devnam rtems_pppd_devnam
+#define devnam_fixed rtems_pppd_devnam_fixed
+#define devnam_info rtems_pppd_devnam_info
+#define devstat rtems_pppd_devstat
+#define disable_defaultip rtems_pppd_disable_defaultip
+#define disconnect_script rtems_pppd_disconnect_script
+#define disconnect_script_info rtems_pppd_disconnect_script_info
+#define do_callback rtems_pppd_do_callback
+#define doing_callback rtems_pppd_doing_callback
+#define echo_next rtems_pppd_echo_next
+#define explicit_remote rtems_pppd_explicit_remote
+#define fail_buffer rtems_pppd_fail_buffer
+#define fail_reason rtems_pppd_fail_reason
+#define general_options rtems_pppd_general_options
+#define holdoff rtems_pppd_holdoff
+#define holdoff_hook rtems_pppd_holdoff_hook
+#define holdoff_specified rtems_pppd_holdoff_specified
+#define hostname rtems_pppd_hostname
+#define hungup rtems_pppd_hungup
+#define hup_next rtems_pppd_hup_next
+#define idle_time_hook rtems_pppd_idle_time_hook
+#define idle_time_limit rtems_pppd_idle_time_limit
+#define ifname rtems_pppd_ifname
+#define initializer rtems_pppd_initializer
+#define initializer_info rtems_pppd_initializer_info
+#define inpacket_buf rtems_pppd_inpacket_buf
+#define inspeed rtems_pppd_inspeed
+#define ipcp_allowoptions rtems_pppd_ipcp_allowoptions
+#define ipcp_fsm rtems_pppd_ipcp_fsm
+#define ipcp_gotoptions rtems_pppd_ipcp_gotoptions
+#define ipcp_hisoptions rtems_pppd_ipcp_hisoptions
+#define ipcp_protent rtems_pppd_ipcp_protent
+#define ipcp_wantoptions rtems_pppd_ipcp_wantoptions
+#define ip_down_hook rtems_pppd_ip_down_hook
+#define ipparam rtems_pppd_ipparam
+#define ip_up_hook rtems_pppd_ip_up_hook
+#define kdebugflag rtems_pppd_kdebugflag
+#define lcp_allowoptions rtems_pppd_lcp_allowoptions
+#define lcp_fsm rtems_pppd_lcp_fsm
+#define lcp_gotoptions rtems_pppd_lcp_gotoptions
+#define lcp_hisoptions rtems_pppd_lcp_hisoptions
+#define lcp_loopbackfail rtems_pppd_lcp_loopbackfail
+#define lcp_protent rtems_pppd_lcp_protent
+#define lcp_wantoptions rtems_pppd_lcp_wantoptions
+#define line rtems_pppd_line
+#define linep rtems_pppd_linep
+#define link_connect_time rtems_pppd_link_connect_time
+#define linkname rtems_pppd_linkname
+#define link_stats rtems_pppd_link_stats
+#define link_stats_valid rtems_pppd_link_stats_valid
+#define lockflag rtems_pppd_lockflag
+#define log_to_fd rtems_pppd_log_to_fd
+#define log_to_file rtems_pppd_log_to_file
+#define maxconnect rtems_pppd_maxconnect
+#define maxfail rtems_pppd_maxfail
+#define modem rtems_pppd_modem
+#define n_aborts rtems_pppd_n_aborts
+#define need_holdoff rtems_pppd_need_holdoff
+#define netmask rtems_pppd_netmask
+#define new_phase_hook rtems_pppd_new_phase_hook
+#define nodetach rtems_pppd_nodetach
+#define no_ppp_msg rtems_pppd_no_ppp_msg
+#define notty rtems_pppd_notty
+#define n_reports rtems_pppd_n_reports
+#define open_ccp_flag rtems_pppd_open_ccp_flag
+#define option_source rtems_pppd_option_source
+#define our_name rtems_pppd_our_name
+#define outpacket_buf rtems_pppd_outpacket_buf
+#define pap_auth_hook rtems_pppd_pap_auth_hook
+#define pap_check_hook rtems_pppd_pap_check_hook
+#define pap_logout_hook rtems_pppd_pap_logout_hook
+#define pap_passwd_hook rtems_pppd_pap_passwd_hook
+#define pap_protent rtems_pppd_pap_protent
+#define passwd rtems_pppd_passwd
+#define peer_authname rtems_pppd_peer_authname
+#define peer_mru rtems_pppd_peer_mru
+#define pend_q rtems_pppd_pend_q
+#define pend_qtail rtems_pppd_pend_qtail
+#define persist rtems_pppd_persist
+#define pppd_dialer rtems_pppd_pppd_dialer
+#define pppd_kill_link rtems_pppd_pppd_kill_link
+#define pppd_phase rtems_pppd_pppd_phase
+#define pppd_status rtems_pppd_pppd_status
+#define pppd_ttyfd rtems_pppd_pppd_ttyfd
+#define pppifunit rtems_pppd_pppifunit
+#define prepass rtems_pppd_prepass
+#define privileged rtems_pppd_privileged
+#define privileged_option rtems_pppd_privileged_option
+#define protocol_list rtems_pppd_protocol_list
+#define protocols rtems_pppd_protocols
+#define ptycommand rtems_pppd_ptycommand
+#define ptycommand_info rtems_pppd_ptycommand_info
+#define record_file rtems_pppd_record_file
+#define refuse_chap rtems_pppd_refuse_chap
+#define refuse_pap rtems_pppd_refuse_pap
+#define remote_name rtems_pppd_remote_name
+#define report_buffer rtems_pppd_report_buffer
+#define report_gathering rtems_pppd_report_gathering
+#define report_next rtems_pppd_report_next
+#define report_string rtems_pppd_report_string
+#define saved_tty_parameters rtems_pppd_saved_tty_parameters
+#define say_next rtems_pppd_say_next
+#define script_env rtems_pppd_script_env
+#define s_env_nalloc rtems_pppd_s_env_nalloc
+#define sync_serial rtems_pppd_sync_serial
+#define temp2 rtems_pppd_temp2
+#define timeout_next rtems_pppd_timeout_next
+#define tune_kernel rtems_pppd_tune_kernel
+#define unsuccess rtems_pppd_unsuccess
+#define upap rtems_pppd_upap
+#define updetach rtems_pppd_updetach
+#define usehostname rtems_pppd_usehostname
+#define uselogin rtems_pppd_uselogin
+#define user rtems_pppd_user
+#define using_pty rtems_pppd_using_pty
+#define welcomer rtems_pppd_welcomer
+#define welcomer_info rtems_pppd_welcomer_info
+#define xmit_accm rtems_pppd_xmit_accm
diff --git a/rtemsbsd/pppd/pathnames.h b/rtemsbsd/pppd/pathnames.h
index 0a4f6e69..e3c8166f 100644
--- a/rtemsbsd/pppd/pathnames.h
+++ b/rtemsbsd/pppd/pathnames.h
@@ -28,7 +28,7 @@
#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
+#define _PATH_RESOLV _ROOT_PATH "/etc/resolv.conf"
#define _PATH_USEROPT ".ppprc"
diff --git a/rtemsbsd/pppd/pppd.h b/rtemsbsd/pppd/pppd.h
index 8655f827..39e69150 100644
--- a/rtemsbsd/pppd/pppd.h
+++ b/rtemsbsd/pppd/pppd.h
@@ -31,6 +31,8 @@
#include <net/ppp_defs.h>
#include <rtems/rtemsdialer.h>
#include <stdint.h>
+#include <arpa/nameser.h>
+#include <arpa/nameser_compat.h>
#if defined(__STDC__)
#include <stdarg.h>
@@ -46,6 +48,8 @@
#include "eui64.h"
#endif
+#include "namespace.h"
+
/*
* Limits.
*/
@@ -502,29 +506,6 @@ extern void (*auth_linkdown_hook)(void);
*(cp)++ = (u_char) (c); \
}
-
-#define GETSHORT(s, cp) { \
- (s) = *(cp)++ << 8; \
- (s) |= *(cp)++; \
-}
-#define PUTSHORT(s, cp) { \
- *(cp)++ = (u_char) ((s) >> 8); \
- *(cp)++ = (u_char) (s); \
-}
-
-#define GETLONG(l, cp) { \
- (l) = *(cp)++ << 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; (l) <<= 8; \
- (l) |= *(cp)++; \
-}
-#define PUTLONG(l, cp) { \
- *(cp)++ = (u_char) ((l) >> 24); \
- *(cp)++ = (u_char) ((l) >> 16); \
- *(cp)++ = (u_char) ((l) >> 8); \
- *(cp)++ = (u_char) (l); \
-}
-
#define INCPTR(n, cp) ((cp) += (n))
#define DECPTR(n, cp) ((cp) -= (n))
diff --git a/rtemsbsd/pppd/rtemsmain.c b/rtemsbsd/pppd/rtemsmain.c
index 89ed7768..b620de32 100644
--- a/rtemsbsd/pppd/rtemsmain.c
+++ b/rtemsbsd/pppd/rtemsmain.c
@@ -41,6 +41,7 @@
#include <rtems.h>
#include <rtems/rtems_bsdnet.h>
+#include <rtems/rtemsdialer.h>
#include "pppd.h"
#include "magic.h"
@@ -55,7 +56,6 @@
#include "ccp.h"
#include "pathnames.h"
#include "patchlevel.h"
-#include "rtemsdialer.h"
#ifdef CBCP_SUPPORT
#include "cbcp.h"
diff --git a/rtemsbsd/pppd/rtemspppd.c b/rtemsbsd/pppd/rtemspppd.c
index 64e42841..cf237a81 100644
--- a/rtemsbsd/pppd/rtemspppd.c
+++ b/rtemsbsd/pppd/rtemspppd.c
@@ -10,10 +10,9 @@
* $Id$
*/
+#include <rtems/rtemspppd.h>
#include <rtems.h>
-#include <rtems/rtems_bsdnet.h>
#include "pppd.h"
-#include "rtemspppd.h"
/* define pppd function prototypes */
@@ -82,11 +81,6 @@ int rtems_pppd_initialize(void)
rtems_status_code status;
rtems_name taskName;
- /* determine priority value */
- if ( rtems_bsdnet_config.network_task_priority ) {
- priority = rtems_bsdnet_config.network_task_priority;
- }
-
/* initialize the exit hook */
rtems_pppd_exitfp = (rtems_pppd_hookfunction)0;
diff --git a/rtemsbsd/pppd/sys-rtems.c b/rtemsbsd/pppd/sys-rtems.c
index ac87957c..3e2fbb6d 100644
--- a/rtemsbsd/pppd/sys-rtems.c
+++ b/rtemsbsd/pppd/sys-rtems.c
@@ -59,7 +59,6 @@
#include <rtems.h>
#include <rtems/rtems_bsdnet.h>
#include <rtems/termiostypes.h>
-extern int rtems_bsdnet_microseconds_per_tick;
extern rtems_id rtems_pppd_taskid;
#include "pppd.h"
@@ -500,7 +499,7 @@ ppp_delay(void)
rtems_interval ticks;
/* recommended delay to help negotiation */
- ticks = 300000/rtems_bsdnet_microseconds_per_tick;
+ ticks = 300000/rtems_configuration_get_microseconds_per_tick();
rtems_task_wake_after(ticks);
}
@@ -522,7 +521,7 @@ wait_input(
wait = RTEMS_NO_WAIT;
else {
ticks = (timo->tv_sec * 1000000 + timo->tv_usec) /
- rtems_bsdnet_microseconds_per_tick;
+ rtems_configuration_get_microseconds_per_tick();
if(ticks <= 0)
ticks = 1;
}