From 573b4cd62f60197438b092343a2b988743682adc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 8 Oct 2014 08:04:59 +0200 Subject: ppp: Port to new stack --- rtemsbsd/pppd/ipcp.c | 37 ++++++------ rtemsbsd/pppd/namespace.h | 147 ++++++++++++++++++++++++++++++++++++++++++++++ rtemsbsd/pppd/pathnames.h | 2 +- rtemsbsd/pppd/pppd.h | 27 ++------- rtemsbsd/pppd/rtemsmain.c | 2 +- rtemsbsd/pppd/rtemspppd.c | 8 +-- rtemsbsd/pppd/sys-rtems.c | 5 +- 7 files changed, 174 insertions(+), 54 deletions(-) create mode 100644 rtemsbsd/pppd/namespace.h (limited to 'rtemsbsd/pppd') 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 - 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 #include #include +#include +#include #if defined(__STDC__) #include @@ -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 #include +#include #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 #include -#include #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 #include #include -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; } -- cgit v1.2.3